过敏性鼻炎吃什么| 羊肉和什么一起炖最好| 鼻涕倒流吃什么药效果好| 醋泡花生米有什么功效| 自理是什么意思| 硼酸是什么| 吃什么补血补气效果好| cathy什么意思| 良辰吉日什么意思| 口角是什么意思| 牛肉饺子配什么菜好吃| 人生苦短什么意思| 电场是什么| 副科是什么级别| ky什么意思| 杜鹃花是什么颜色| 牛皮癣用什么药膏| 10月19是什么星座| 月经时间长是什么原因| 肌肉抖动是什么原因| lam是什么意思| 苡字取名寓意是什么| 感冒吃什么食物好得快| 满江红属于什么植物| 什么饺子馅好吃| 四级警长是什么级别| 润滑油可以用什么代替| 什么松鼠| 豆工念什么| 奇花异草的异是什么意思| 男人下巴有痣代表什么| l5s1椎间盘突出是什么意思| 嘴唇轻微发麻什么病兆| face是什么意思| 5月2日是什么星座| 梦见发面是什么意思| 符号代表什么| 翰字五行属什么| abby是什么意思| 手足口病涂抹什么药膏| 什么球会自己长大| 翡翠和玉有什么不同| 713是什么星座| 上火为什么会牙疼| 嘴上起泡是什么原因| 玉米什么时候传入中国| 天衣无缝是什么意思| 老年人吃什么营养品好| 1978年出生是什么命| 小人难防前一句是什么| 什么先什么后| 白术适合什么地方种植| 氧化锆是什么材料| 梅花什么颜色| 什么人招蚊子| 技压群雄的意思是什么| 7.1是什么星座| 8月29号是什么日子| 紫米和小米什么关系| 骨折挂什么科| 知柏地黄丸适合什么人吃| 开口腔诊所需要什么条件| 仙人掌煎鸡蛋治什么病| 闰六月是什么意思| 今日什么冲什么生肖| 带刺的玫瑰是什么意思| 盐城有什么特产| 燕窝是什么| 月经量多是什么原因引起的| 男人阴囊潮湿吃什么药| 唐筛是检查什么的| 什么人不能吃海参| 天体是什么| 定坤丹什么时候吃最好| 吉数是什么生肖| 大什么大什么| 五味子不适合什么人喝| 细胞角蛋白19片段是什么意思| 换床有什么讲究| 覆水难收什么意思| 清油是什么油| 十一月二十五是什么星座| 电视剧靠什么赚钱| 美国的国宝是什么动物| 甸是什么意思| 任督二脉是什么意思| 果酸有什么作用| 醋酸是什么面料| 职位是什么意思| 卯木代表什么| 不宁腿综合症是什么原因引起的| lc是什么意思| 维生素k是什么| 龋齿和蛀牙有什么区别| 手上掉皮什么原因| 裙带菜是什么| 总是放屁是什么原因| 绿卡需要什么条件| 井木犴是什么动物| 给女生送礼物送什么好| 水瓜有什么作用和功效| 牛标志的车是什么牌子| 暗送秋波什么意思| 晚上总是睡不着觉是什么原因| 嘱托是什么意思| 什么补蛋白最快的食物| 孩子嗓子疼吃什么药| 南京为什么那么多梧桐树| 5月5日什么星座| 玉五行属性是什么| 除了胃镜还有什么检查胃的方法吗| 一起共勉是什么意思| 84年属鼠是什么命| 轩字属于五行属什么| 六月一日什么星座| 人为什么会有胎记| 后脑勺疼是什么原因| 30岁属什么| 肝实质回声细密是什么意思| ivf是什么意思| 含义是什么意思| 茉莉花茶属于什么茶类| 补钙吃什么食物| 花洒不出水什么原因| 梦见肉是什么意思| 刘彻是刘邦的什么人| 站着说话不腰疼是什么意思| 藩台是什么官| 口臭胃火大吃什么药好| 利空是什么意思| 索条影是什么意思| 鲤鱼旗的含义是什么| 喝茉莉花茶有什么好处| 辰砂和朱砂有什么区别| 长颈鹿代表什么生肖| 双肺条索是什么意思| 肺部疼痛是什么原因| la是什么意思| 小孩晚上睡不着是什么原因| 喉炎吃什么药最有效| 什么叫市级以上医院| 亚麻籽油和胡麻油有什么区别| 吃什么可以化掉息肉| 性病是什么病| 流口水是什么病| land rover是什么车| 打篮球有什么好处| 无公害什么意思| hennessy是什么酒价格多少| 消炎药都有什么| gps是什么意思| 经期头疼是什么原因怎么办| 情趣什么意思| 走胎是什么意思| 什么宽带网速快又便宜| 早上吃什么早餐最好| 老人说胡话是什么征兆| 钙化影是什么意思| 深v是什么意思| 舌头白苔厚是什么原因| 癫痫是什么病| 白细胞阴性什么意思| 金童玉女是什么意思| 为什么健身后体重反而重了| sds是什么意思| 胜造七级浮屠是什么意思| 疟疾是什么意思| 冰箱发热是什么原因| eb病毒感染是什么病| 胆结石挂什么科| 真狗是什么意思| 股市pe是什么意思| 毛孔粗大用什么洗面奶好| 骨感是什么意思| 低密度结节是什么意思| 为什么会腰疼| 吃桑葚有什么好处| 1999年属什么生肖| 甲醇和乙醇有什么区别| 蒙羞是什么意思| 鳄龟吃什么| 36周岁属什么| 全套是什么| 处级干部是什么级别| 经常扁桃体发炎是什么原因| 尼泊尔人是什么人种| 吃什么水果补肝养肝最有效| 白天咳嗽晚上不咳嗽是什么原因| 每天喝牛奶有什么好处| 消化道出血吃什么药| 膀胱炎挂什么科| 7月16日是什么星座| 广基息肉是什么意思| 干黄酱是什么酱| 哮喘是什么| 为什么一低头就晕| 蜂胶是什么| 瘟神是什么意思| 痛风可以吃什么肉| 天条是什么意思| 梦见很多小孩是什么意思| 吃茄子有什么好处和坏处| 宋徽宗叫什么| 歆五行属什么| 睡觉喉咙干燥是什么原因| 低脂高钙牛奶适合什么人群| 血压高吃什么菜和水果能降血压| 眼睛突然红了是什么原因| 做梦梦见地震是什么意思| 欢愉是什么意思| 鸡壳是什么| 黄瓜吃多了有什么坏处| 胃炎有什么症状| 边字是什么结构| 什么叫自慰| 蹒跚什么意思| 乌冬面是什么做的| 搀扶是什么意思| aki是什么意思| 子宫下垂吃什么药| 猪血炒什么好吃| 与会是什么意思| 18年是什么婚| 什么节气开始凉快| 樱桃红是什么颜色| 7月22日是什么星座| 卡地亚属于什么档次| 肉偿是什么意思| 木元念什么| 1月11是什么星座| 什么是新鲜感| 柠檬水喝多了有什么坏处| 乳房检查挂什么科| 什么茶不影响睡眠| 鲁迅是什么样的人| 左什么结构| 转氨酶是什么意思| 一月十号是什么星座| 三伏天吃什么好| 狗狗吐是什么原因| 骨裂什么症状| 煲鸡汤放什么材料好| 心脏不好挂什么科室| 春天可以干什么| 总经理是什么级别| 尿什么味道| 慢热是什么意思| 色是什么结构| 包皮红肿瘙痒用什么药| 面部填充用什么填充效果好| 什么虫咬了起水泡| 鲜牛奶和纯牛奶有什么区别| 什么牌子的大米好吃| 阑尾有什么作用| 身主天机是什么意思| 促甲状腺激素偏高有什么症状| 脚后跟疼什么原因| 1990属马佩戴什么最佳| 冠心病需要做什么检查| 十二生肖代表什么花| 牙齿疼是什么原因引起的| 俄罗斯为什么要打乌克兰| 3.3是什么星座| 师夷长技以制夷是什么意思| 百度Jump to content

明基发布首款可自动亮屏显示器:轻松使用一整天

From Wikipedia, the free encyclopedia
百度 可在前线刚正面,也可在后排高速输出。

In cryptography, a message authentication code (MAC), sometimes known as an authentication tag, is a short piece of information used for authenticating and integrity-checking a message. In other words, it is used to confirm that the message came from the stated sender (its authenticity) and has not been changed (its integrity). The MAC value allows verifiers (who also possess a secret key) to detect any changes to the message content.

Terminology

[edit]

The term message integrity code (MIC) is frequently substituted for the term MAC, especially in communications[1] to distinguish it from the use of the latter as media access control address (MAC address). However, some authors[2] use MIC to refer to a message digest, which aims only to uniquely but opaquely identify a single message. RFC 4949 recommends avoiding the term message integrity code (MIC), and instead using checksum, error detection code, hash, keyed hash, message authentication code, or protected checksum.

Definitions

[edit]

Informally, a message authentication code system consists of three algorithms:

  • A key generation algorithm selects a key from the key space uniformly at random.
  • A MAC generation algorithm efficiently returns a tag given the key and the message.
  • A verifying algorithm efficiently verifies the authenticity of the message given the same key and the tag. That is, return accepted when the message and tag are not tampered with or forged, and otherwise return rejected.

A secure message authentication code must resist attempts by an adversary to forge tags, for arbitrary, selected, or all messages, including under conditions of known- or chosen-message. It should be computationally infeasible to compute a valid tag of the given message without knowledge of the key, even if for the worst case, we assume the adversary knows the tag of any message but the one in question.[3]

Formally, a message authentication code (MAC) system is a triple of efficient[4] algorithms (G, S, V) satisfying:

  • G (key-generator) gives the key k on input 1n, where n is the security parameter.
  • S (signing) outputs a tag t on the key k and the input string x.
  • V (verifying) outputs accepted or rejected on inputs: the key k, the string x and the tag t.

S and V must satisfy the following:

Pr [ kG(1n), V( k, x, S(k, x) ) = accepted ] = 1.[5]

A MAC is unforgeable if for every efficient adversary A

Pr [ kG(1n), (x, t) ← AS(k, · )(1n), x ? Query(AS(k, · ), 1n), V(k, x, t) = accepted] < negl(n),

where AS(k, · ) denotes that A has access to the oracle S(k, · ), and Query(AS(k, · ), 1n) denotes the set of the queries on S made by A, which knows n. Clearly we require that any adversary cannot directly query the string x on S, since otherwise a valid tag can be easily obtained by that adversary.[6]

Security

[edit]

While MAC functions are similar to cryptographic hash functions, they possess different security requirements. To be considered secure, a MAC function must resist existential forgery under chosen-message attacks. This means that even if an attacker has access to an oracle which possesses the secret key and generates MACs for messages of the attacker's choosing, the attacker cannot guess the MAC for other messages (which were not used to query the oracle) without performing infeasible amounts of computation.

MACs differ from digital signatures as MAC values are both generated and verified using the same secret key. This implies that the sender and receiver of a message must agree on the same key before initiating communications, as is the case with symmetric encryption. For the same reason, MACs do not provide the property of non-repudiation offered by signatures specifically in the case of a network-wide shared secret key: any user who can verify a MAC is also capable of generating MACs for other messages. In contrast, a digital signature is generated using the private key of a key pair, which is public-key cryptography.[4] Since this private key is only accessible to its holder, a digital signature proves that a document was signed by none other than that holder. Thus, digital signatures do offer non-repudiation. However, non-repudiation can be provided by systems that securely bind key usage information to the MAC key; the same key is in the possession of two people, but one has a copy of the key that can be used for MAC generation while the other has a copy of the key in a hardware security module that only permits MAC verification. This is commonly done in the finance industry.[citation needed]

While the primary goal of a MAC is to prevent forgery by adversaries without knowledge of the secret key, this is insufficient in certain scenarios. When an adversary is able to control the MAC key, stronger guarantees are needed, akin to collision resistance or preimage security in hash functions. For MACs, these concepts are known as commitment and context-discovery security.[7]

Implementation

[edit]

MAC algorithms can be constructed from other cryptographic primitives, like cryptographic hash functions (as in the case of HMAC) or from block cipher algorithms (OMAC, CCM, GCM, and PMAC). However many of the fastest MAC algorithms, like UMAC-VMAC and Poly1305-AES, are constructed based on universal hashing.[8]

Intrinsically keyed hash algorithms such as SipHash are also by definition MACs; they can be even faster than universal-hashing based MACs.[9]

Additionally, the MAC algorithm can deliberately combine two or more cryptographic primitives, so as to maintain protection even if one of them is later found to be vulnerable. For instance, in Transport Layer Security (TLS) versions before 1.2, the input data is split in halves that are each processed with a different hashing primitive (SHA-1 and SHA-2) then XORed together to output the MAC.

One-time MAC

[edit]

Universal hashing and in particular pairwise independent hash functions provide a secure message authentication code as long as the key is used at most once. This can be seen as the one-time pad for authentication.[10]

The simplest such pairwise independent hash function is defined by the random key, key = (a, b), and the MAC tag for a message m is computed as tag = (am + b) mod p, where p is prime.

More generally, k-independent hashing functions provide a secure message authentication code as long as the key is used less than k times for k-ways independent hashing functions.

Message authentication codes and data origin authentication have been also discussed in the framework of quantum cryptography. By contrast to other cryptographic tasks, such as key distribution, for a rather broad class of quantum MACs it has been shown that quantum resources do not offer any advantage over unconditionally secure one-time classical MACs.[11]

Standards

[edit]

Various standards exist that define MAC algorithms. These include:

  • FIPS PUB 113 Computer Data Authentication,[12] withdrawn in 2002,[13] defines an algorithm based on DES.
  • FIPS PUB 198-1 The Keyed-Hash Message Authentication Code (HMAC)[14]
  • NIST SP800-185 SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash[15]
  • ISO/IEC 9797-1 Mechanisms using a block cipher[16]
  • ISO/IEC 9797-2 Mechanisms using a dedicated hash-function[17]
  • ISO/IEC 9797-3 Mechanisms using a universal hash-function[18]
  • ISO/IEC 29192-6 Lightweight cryptography - Message authentication codes[19]

ISO/IEC 9797-1 and -2 define generic models and algorithms that can be used with any block cipher or hash function, and a variety of different parameters. These models and parameters allow more specific algorithms to be defined by nominating the parameters. For example, the FIPS PUB 113 algorithm is functionally equivalent to ISO/IEC 9797-1 MAC algorithm 1 with padding method 1 and a block cipher algorithm of DES.

An example of MAC use

[edit]

[20] In this example, the sender of a message runs it through a MAC algorithm to produce a MAC data tag. The message and the MAC tag are then sent to the receiver. The receiver in turn runs the message portion of the transmission through the same MAC algorithm using the same key, producing a second MAC data tag. The receiver then compares the first MAC tag received in the transmission to the second generated MAC tag. If they are identical, the receiver can safely assume that the message was not altered or tampered with during transmission (data integrity).

However, to allow the receiver to be able to detect replay attacks, the message itself must contain data that assures that this same message can only be sent once (e.g. time stamp, sequence number or use of a one-time MAC). Otherwise an attacker could – without even understanding its content – record this message and play it back at a later time, producing the same result as the original sender.

See also

[edit]

Notes

[edit]
  1. ^ IEEE Standard for Information Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications (PDF). (2007 revision). IEEE-SA. 12 June 2007. doi:10.1109/IEEESTD.2007.373646. ISBN 978-0-7381-5656-9. Archived from the original (PDF) on 13 October 2008.
  2. ^ "CS 513 System Security -- Hashes and Message Digests". www.cs.cornell.edu. Retrieved 20 December 2023.
  3. ^ The strongest adversary is assumed to have access to the signing algorithm without knowing the key. However, her final forged message must be different from any message she chose to query the signing algorithm before. See Pass's discussions before def 134.2.
  4. ^ a b Theoretically, an efficient algorithm runs within probabilistic polynomial time.
  5. ^ Pass, def 134.1
  6. ^ Pass, def 134.2
  7. ^ Bhaumik, Ritam; Chakraborty, Bishwajit; Choi, Wonseok; Dutta, Avijit; Govinden, Jér?me; Shen, Yaobin (2024). "The Committing Security of MACs with Applications to Generic Composition". In Reyzin, Leonid; Stebila, Douglas (eds.). Advances in Cryptology – CRYPTO 2024. Lecture Notes in Computer Science. Vol. 14923. Cham: Springer Nature Switzerland. pp. 425–462. doi:10.1007/978-3-031-68385-5_14. ISBN 978-3-031-68385-5.
  8. ^ "VMAC: Message Authentication Code using Universal Hashing". CFRG Working Group. Retrieved 16 March 2010.
  9. ^ Jean-Philippe Aumasson & Daniel J. Bernstein (18 September 2012). "SipHash: a fast short-input PRF" (PDF).
  10. ^ Simmons, Gustavus (1985). "Authentication theory/coding theory". Advances in Cryptology – Proceedings of CRYPTO 84. Berlin: Springer. pp. 411–431.
  11. ^ Nikolopoulos, Georgios M.; Fischlin, Marc (2020). "Information-Theoretically Secure Data Origin Authentication with Quantum and Classical Resources". Cryptography. 4 (4): 31. arXiv:2011.06849. doi:10.3390/cryptography4040031. S2CID 226956062.
  12. ^ "FIPS PUB 113 Computer Data Authentication". Archived from the original on 27 September 2011. Retrieved 10 October 2010.
  13. ^ "Federal Information Processing Standards Publications, Withdrawn FIPS Listed by Number". Archived from the original on 1 August 2010. Retrieved 10 October 2010.
  14. ^ "The Keyed-Hash Message Authentication Code (HMAC)" (PDF). Retrieved 20 December 2023.
  15. ^ SHA-3 Derived Functions nvlpubs.nist.gov
  16. ^ "ISO/IEC 9797-1:2011". ISO. Retrieved 20 December 2023.
  17. ^ "ISO/IEC 9797-2:2011". ISO. Retrieved 20 December 2023.
  18. ^ "ISO/IEC 9797-3:2011". ISO. Retrieved 20 December 2023.
  19. ^ "ISO/IEC 29192-6:2019". ISO. Retrieved 20 December 2023.
  20. ^ "Mac Security Overview", Mac? Security Bible, Wiley Publishing, Inc., 1 November 2011, pp. 1–26, doi:10.1002/9781118257739.ch1, ISBN 9781118257739

References

[edit]
  • Goldreich, Oded (2001), Foundations of cryptography I: Basic Tools, Cambridge: Cambridge University Press, ISBN 978-0-511-54689-1
  • Goldreich, Oded (2004), Foundations of cryptography II: Basic Applications (1. publ. ed.), Cambridge [u.a.]: Cambridge Univ. Press, ISBN 978-0-521-83084-3
  • Pass, Rafael, A Course in Cryptography (PDF), retrieved 31 December 2015[1]
[edit]
  1. ^ 11-12-20C8
1009是什么星座 前白蛋白低是什么意思 mva是什么单位 看书有什么好处 拉肚子胃疼吃什么药
脑萎缩吃什么药最好 起水泡痒是什么原因 什么是补铁的食物 桂林山水下一句是什么 尿毒症是什么原因导致的
老花镜什么品牌好 为什么订婚后容易分手 什么是性上瘾 脑疝是什么意思 爱是什么东西
口蘑是什么 什么是汛期 神经损伤吃什么药 幽门螺杆菌什么药最好 文曲星下凡是什么意思
为什么母乳妈妈会便秘hcv7jop7ns1r.cn 舒张压和收缩压是什么hcv8jop6ns5r.cn 养胃早餐吃什么好hcv8jop2ns1r.cn 什么时候需要打破伤风针hcv8jop9ns5r.cn cmv是什么病毒hcv8jop8ns1r.cn
什么是引产hcv9jop4ns0r.cn 肾阴虚的症状吃什么药hcv7jop9ns5r.cn 湿化瓶内放什么水hcv7jop6ns6r.cn 治标不治本是什么意思hcv9jop0ns6r.cn 精液是什么组成的hcv8jop2ns9r.cn
大乌龙是什么意思hcv8jop0ns3r.cn 体态是什么意思hcv7jop6ns5r.cn 西洋参跟花旗参有什么区别hcv9jop4ns4r.cn 细水长流是什么生肖hcv8jop9ns4r.cn 遗忘的遗是什么意思hcv9jop4ns6r.cn
女人眼睛干涩吃什么药hcv8jop5ns2r.cn 转铁蛋白阳性什么意思hcv9jop4ns1r.cn 0.618是什么意思hcv9jop3ns3r.cn 吃什么能降血压最有效wzqsfys.com 香蕉什么时候吃最好hcv7jop7ns1r.cn
百度