宫外孕是什么导致的| 天冬氨酸氨基转移酶高是什么原因| 什么姿势最舒服| 脑梗吃什么中药| 苦瓜干泡水喝有什么功效| 虎头虎脑是什么生肖| 站着腰疼是什么原因引起的| 什么茶叶好喝| 糖原是什么| pgi是什么意思| 什么是纤维化| yq是什么意思| 中秋节送什么水果好| ab型血为什么容易得精神病| 乏力没精神容易疲劳是什么原因| 一什么扇子| 舌苔厚口臭吃什么药好| 桑葚泡水喝有什么功效| 夏季喝什么茶好| 戊申五行属什么| 张牙舞爪是什么生肖| 上传下达什么意思| 做梦掉牙齿是什么意思周公解梦| 吃什么化痰| 右手长痣代表什么| 什么花在什么时间开| 什么是体液| 青鱼用什么饵料好钓| 茶叶含有什么成分| 喉咙长息肉有什么症状| 便溏什么意思| 山丘是什么意思| 老舍原名是什么| 密云有什么好玩的地方| 吃什么能降血糖| 肺部有空洞是什么病症| 十面埋伏是什么生肖| 梦见狗死了是什么预兆| 蓝色搭配什么颜色| 伟五行属性是什么| 八婆什么意思| 晚上睡觉遗精是什么原因| 糖醋鱼用什么鱼做好吃| 上海市委书记什么级别| 羟苯乙酯是什么| 屁股痛是什么原因| 珐琅是什么| 升阳是什么意思| 佛心是什么意思| 是什么表情包| 鱼有念什么| 梦见梅花鹿是什么预兆| 转氨酶高不能吃什么| 血小板为什么会高| 便秘应该挂什么科室| 忘恩负义的负是什么意思| 多梦是什么原因| 优生四项是检查什么| 伤口增生是什么原因造成的| 花匠是什么意思| 子宫肌瘤是什么原因引起的| 拔罐出水是什么原因| 儿茶是什么中药| 学海无涯苦作舟的上一句是什么| 为什么手臂上有很多很小的点| 圣大保罗属于什么档次| 5月24日是什么星座| 硬脂酸镁是什么| 小孩积食发烧吃什么药| 灯火葳蕤是什么意思| 身上长红色痣是什么原因| 女人吃生蚝有什么好处| 声音沙哑是什么原因| 孔子是什么家| 糖原是什么| 瞬息什么| 清热败火的败是什么意思| 健康证都检查什么项目| 357是什么意思| dvt是什么意思| 头上出汗多是什么原因| 得不到的永远在骚动什么意思| 什么是肺腺瘤| 什么是繁体字| 竖心旁的字与什么有关| 童心未眠什么意思| 乙肝三项检查什么| 大力念什么| 6月6是什么节日| 什么人不能吃蜂蜜| 查肝胆胰脾肾挂什么科| 尾款是什么意思| 少年班是什么意思| 地漏什么牌子的好| 白发越来越多是什么原因造成的| 英国为什么叫日不落帝国| 莲雾是什么水果| 田园生活是什么意思| 怀疑心梗做什么检查| 精神病吃什么药| 吉利丁片是什么东西| 肺纹理增粗是什么意思| 香膏是什么| 灰指甲挂什么科| 鳄鱼为什么会流泪| 贼是什么生肖| 喝茶叶茶有什么好处| 电磁炉什么牌子好| 猕猴桃什么季节成熟| 什么人不能吃洋葱| 经常性偏头疼是什么原因| 西兰花不能和什么一起吃| 杏和什么不能一起吃| 服兵役是什么意思| 乳腺导管扩张是什么意思严重吗| 精神衰弱吃什么能改善| 吃羊肉不能吃什么东西| 男人脖子后面有痣代表什么| 廷字五行属什么| 出虚汗吃什么中成药| 为什么辰不能见亥| 妊娠是什么意思| 女鼠配什么属相最好| 刘璋和刘备什么关系| 感冒了能吃什么水果| hpv81低危型阳性是什么意思| 梦见考试是什么预兆| 梦见抓鸟是什么征兆| 苹果和生姜煮水喝有什么功效| 纯净水是什么水| 腰突然疼是什么原因| 毛主席女儿为什么姓李| 备货是什么意思| 流金岁月什么意思| 起诉离婚需要什么材料| 鬼市是什么意思| 吃螃蟹不能吃什么| 知觉是什么意思| 肚子胀气放屁吃什么药| 感冒可以吃什么水果好| 外阴白斑瘙痒抹什么药| 发生什么事了| 用什么方法止咳| 化疗中的病人应该吃什么| 门诊号是什么意思| 云肖是什么生肖| 逆商是什么| 乳腺术后吃什么最好| 手指上长毛是什么原因| 食物不耐受是什么意思| 总是低烧是什么原因造成的| 职业规划是什么| 属鼠的幸运色是什么颜色| 荨麻疹吃什么药好的快| 放疗期间吃什么食物最好| 马超属什么生肖| 腿麻挂什么科| 用一什么就什么造句| 性欲什么意思| 又什么又什么的花朵| 人瘦肚子大是什么原因| 幼字五行属什么| 什么茶最好喝| 营养神经吃什么药效果好| 三高人群适合吃什么水果| 卧是什么意思| 阴枣是什么| 23号来月经什么时候是排卵期| 总恶心是什么原因| 提炼是什么意思| sec是什么意思| 78是什么意思| 手掌上的三条线分别代表什么| 海绵体充血不足吃什么药| 大姨妈吃什么水果最好| 什么的面目| 原始分是什么意思| 一代明君功千秋是什么生肖| 发低烧是什么原因| 哦买噶什么意思| scj是什么意思| 肠易激综合征中医叫什么| 为什么痛风就痛一只脚| 吃什么东西去湿气| 伤口拆线挂什么科| 7月15什么星座| 衰是什么意思| 一什么鼓| 月经为什么会推迟| 胰尾显示不清什么意思| 1月25号什么星座| 野鸡吃什么食物| 西洋参可以和什么一起泡水喝| 治骨质疏松打什么针| 硅胶是什么材料做的| mm什么意思| 急性扁桃体发炎吃什么药| 无故流鼻血是什么原因| 光明磊落是什么生肖| 戒指中指代表什么意思| 吃什么增强抵抗力和免疫力| 走马灯是什么意思| 茶毫是什么| 什么是血液病| 动脉夹层什么意思| 吃三七粉不能吃什么| 额头上长痘痘是什么原因引起的| 于谦为什么加入国民党| 汗蒸和桑拿有什么区别| 睡觉后腰疼是什么原因引起的| 梅毒阳性是什么意思| 宝宝咳嗽吃什么药好| 脚踝肿什么原因| 煲蛇汤放什么材料好| 龙井是什么茶| 山昆读什么| 脸上痣多是什么原因| 寿司是什么| 什么门比较好| 主动脉夹层是什么原因引起的| 一月四号是什么星座| 上善若水下一句是什么| 肾b超能检查出什么| 莱猪是什么| 女人喝黄连有什么好处| y谷氨酰基转移酶高是什么原因| 公元400年是什么朝代| 肚脐中间疼是什么原因| 左侧上颌窦囊肿是什么意思| studio什么牌子| 乳腺癌ki67是什么意思| 手指爆皮是什么原因| 特需门诊是什么意思| 什么的寒冷| 电解质氯高是什么原因| 乌龟能吃什么水果| 菜心是什么菜的心| 什么叫打飞机| 庸人什么意思| 手发痒是什么原因| 尿比重1.030是什么意思| 左边小腹疼是什么原因| 杜比全景声是什么意思| 百合花语是什么意思| 班长是什么军衔| 流产后吃什么食物| 夏至是什么意思| 存在是什么| 右肩膀疼痛预示什么病| fredperry是什么牌子| 山大王是什么意思| 怀孕前有什么症状| 夏天脸上皮肤痒是什么原因| 甲五行属什么| 右是什么结构| 四月四号是什么星座| 什么是概念车| 女人为什么要少吃鳝鱼| 夺嫡是什么意思| 精索静脉曲张是什么| 放量十字星是什么意思| 孕妇吃什么补铁| 96166是什么电话| 霸气是什么意思| 百度

深交所举办第十五届3·15投资者维权网上咨询活动

百度 节目专门为心动未行动的年轻人特别设立的征集活动心动告白计划一经发布便收到了全网的热切关注,许多网友都争相评论转发,为自己争取说爱机会。

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
10月12号是什么星座 charleskeith什么牌子 上嘴角有痣代表什么 搪塞是什么意思 胃底腺息肉什么意思
男人做梦梦到蛇是什么意思 喝脱脂牛奶有什么好处 什么减肥药有效果 6月22是什么星座 增加免疫力吃什么好
月经崩漏吃什么止血 迅雷不及掩耳之势是什么意思 好景不长是什么意思 榄仁叶是什么树的叶子 什么是红外线
棚改是什么意思 葫芦代表什么寓意 舌头什么颜色正常 大红袍茶属于什么茶 不什么其什么
侄子叫我什么hcv8jop0ns5r.cn 老抽和生抽有什么区别hcv8jop8ns3r.cn 精尽人亡什么意思hcv9jop5ns3r.cn 压抑是什么意思adwl56.com 卡拉胶是什么hcv9jop7ns5r.cn
10月12号是什么星座hcv9jop0ns2r.cn 从良是什么意思hcv8jop4ns0r.cn 蜘蛛属于什么类动物hcv8jop0ns6r.cn 师傅是什么意思hcv8jop3ns0r.cn 吃什么补肾虚hcv9jop8ns3r.cn
拉肚子拉水吃什么药mmeoe.com 小孩子坐飞机需要什么证件hcv8jop9ns3r.cn 心梗是什么症状hcv8jop7ns1r.cn 色达在四川什么地方wmyky.com hpv会有什么症状hcv8jop1ns7r.cn
医生为什么用肥皂洗手hcv8jop2ns9r.cn 胃发热是什么原因hcv9jop7ns2r.cn 阴虚火旺吃什么调理jiuxinfghf.com 前列腺炎有些什么症状hcv8jop5ns6r.cn 电饭煲什么牌子好hanqikai.com
百度