ImageVerifierCode 换一换
格式:PDF , 页数:36 ,大小:1.27MB ,
资源ID:588561      下载积分:10000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-588561.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BS ISO IEC 9797-3-2012 Information technology Security techniques Message Authentication Codes (MACs) Mechanisms using a universal hash-function《信息技术 安全技术 电文鉴别代码(MACs) 用通用散列函数的机制》.pdf)为本站会员(花仙子)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

BS ISO IEC 9797-3-2012 Information technology Security techniques Message Authentication Codes (MACs) Mechanisms using a universal hash-function《信息技术 安全技术 电文鉴别代码(MACs) 用通用散列函数的机制》.pdf

1、raising standards worldwideNO COPYING WITHOUT BSI PERMISSION EXCEPT AS PERMITTED BY COPYRIGHT LAWBSI Standards PublicationBS ISO/IEC 9797-3:2011Information technology Security techniques Message Authentication Codes (MACs)Part 3: Mechanisms using a universal hash-functionBS ISO/IEC 9797-3:2011 BRITI

2、SH STANDARDNational forewordThis British Standard is the UK implementation of ISO/IEC 9797-3:2011.The UK participation in its preparation was entrusted to T e c h n i c a l Committee IST/33, IT - Security techniques.A list of organizations represented on this committee can be obtained on request to

3、its secretary.This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its correct application. The British Standards Institution 2012 ISBN 978 0 580 55477 3 ICS 35.040 Compliance with a British Standard cannot confer immunity fromlegal oblig

4、ations.This British Standard was published under the authority of the Standards Policy and Strategy Committee on 31 January 2012.Amendments issued since publicationDate T e x t a f f e c t e dBS ISO/IEC 9797-3:2011Reference numberISO/IEC 9797-3:2011(E)ISO/IEC 2011INTERNATIONAL STANDARD ISO/IEC9797-3

5、First edition2011-11-15Information technology Security techniques Message Authentication Codes (MACs) Part 3: Mechanisms using a universal hash-function Technologies de linformation Techniques de scurit Codes dauthentification de message (MAC) Partie 3: Mcanismes utilisant une fonction de hachage un

6、iverselle BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2011 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, wit

7、hout permission in writing from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2011 Al

8、l rights reservedBS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) ISO/IEC 2011 All rights reserved iiiContents Page Foreword iv Introduction . v 1 Scope 1 2 Normative references 1 3 Terms and definitions . 1 4 Symbols and abbreviated terms 2 5 General model 4 6 Mechanisms . 5 6.1 Introduction 5 6.2 UMAC

9、 5 6.2.1 Description of UMAC . 5 6.2.2 Requirements . 5 6.2.3 Notation and auxiliary functions 5 6.2.4 Key preprocessing 9 6.2.5 Message preprocessing 9 6.2.6 Message hashing . 9 6.2.7 Layered hash-functions 10 6.2.8 Finalization . 12 6.3 Badger 12 6.3.1 Description of Badger . 12 6.3.2 Requirements

10、 . 12 6.3.3 Notation and auxiliary functions 13 6.3.4 Key preprocessing 13 6.3.5 Message preprocessing 14 6.3.6 Message hashing . 14 6.3.7 Finalization . 16 6.4 Poly1305-AES 16 6.4.1 Description of Poly1305-AES . 16 6.4.2 Requirements . 16 6.4.3 Key preprocessing 16 6.4.4 Message preprocessing 16 6.

11、4.5 Message hashing . 17 6.4.6 Finalization . 17 6.5 GMAC 18 6.5.1 Description of GMAC 18 6.5.2 Requirements . 18 6.5.3 Notation and auxiliary functions 18 6.5.4 Key preprocessing 19 6.5.5 Message preprocessing 19 6.5.6 Message hashing . 19 6.5.7 Finalization . 19 Annex A (normative) Object Identifi

12、ers 20 Annex B (informative) Test Vectors 22 Annex C (informative) Security Information . 24 Bibliography 25 BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) iv ISO/IEC 2011 All rights reservedForeword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical C

13、ommission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity.

14、 ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee,

15、 ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to nat

16、ional bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible

17、for identifying any or all such patent rights. ISO/IEC 9797-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 27, IT Security techniques. ISO/IEC 9797 consists of the following parts, under the general title Information technology Security techniques

18、Message Authentication Codes (MACs): Part 1: Mechanisms using a block cipher Part 2: Mechanisms using a dedicated hash-function Part 3: Mechanisms using a universal hash-function BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) ISO/IEC 2011 All rights reserved vIntroduction In an IT environment, it is o

19、ften required that one can verify that electronic data has not been altered in an unauthorized manner and that one can provide assurance that a message has been originated by an entity in possession of the secret key. A MAC (Message Authentication Code) algorithm is a commonly used data integrity me

20、chanism that can satisfy these requirements. This part of ISO/IEC 9797 specifies four MAC algorithms using universal hash-functions: UMAC, Badger, Poly1305-AES and GMAC. These mechanisms can be used as data integrity mechanisms to verify that data has not been altered in an unauthorized manner. They

21、 can also be used as message authentication mechanisms to provide assurance that a message has been originated by an entity in possession of the secret key. The strength of the data integrity mechanism and message authentication mechanism is dependent on the length (in bits) and secrecy of the key,

22、on the length (in bits) of a hash-code produced by the hash-function, on the strength of the hash-function, on the length (in bits) of the MAC, and on the specific mechanism. NOTE A general framework for the provision of integrity services is specified in ISO/IEC 10181-67. BS ISO/IEC 9797-3:2011BS I

23、SO/IEC 9797-3:2011INTERNATIONAL STANDARD ISO/IEC 9797-3:2011(E) ISO/IEC 2011 All rights reserved 1Information technology Security techniques Message Authentication Codes (MACs) Part 3: Mechanisms using a universal hash-function 1 Scope This part of ISO/IEC 9797 specifies the following MAC algorithms

24、 that use a secret key and a universal hash-function with an n-bit result to calculate an m-bit MAC based on the block ciphers specified in ISO/IEC 18033-3 and the stream ciphers specified in ISO/IEC 18033-4: a) UMAC; b) Badger; c) Poly1305-AES; d) GMAC. 2 Normative references The following referenc

25、ed documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 9797-1, Information technology Security techniques Message Auth

26、entication Codes (MACs) Part 1: Mechanisms using a block cipher ISO/IEC 18031, Information technology Security techniques Random bit generation ISO/IEC 18033-3, Information technology Security techniques Encryption algorithms Part 3: Block ciphers ISO/IEC 18033-4, Information technology Security tec

27、hniques Encryption algorithms Part 4: Stream ciphers 3 Terms and definitions For the purposes of this document, the terms and definitions given in ISO/IEC 9797-1 and the following apply. 3.1 empty string string of symbols of length zero BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) 2 ISO/IEC 2011 All

28、 rights reserved3.2 key sequence of symbols that controls the operation of a cryptographic transformation 3.3 nonce number used once 3.4 prime number positive integer greater than 1 which has no integer divisors other than 1 and itself 3.5 tag result of a MAC algorithm, adjoined to a possibly encryp

29、ted message to provide integrity protection 3.6 universal hash-function function mapping strings of bits to fixed-length strings of bits, indexed by a parameter called the key, satisfying the property that for all distinct inputs, the probability over all keys that the outputs collide is small NOTE

30、Universal hash-functions were introduced by Carter and Wegman4, and their application in MAC algorithms was first described by Wegman and Carter 10. 4 Symbols and abbreviated terms The following notation is used in this part of ISO/IEC 9797: bit(S,n) Returns the integer 1 if the nthbit of the string

31、 S is 1, otherwise returns the integer 0 (indices begin at 1). bitlength(S) Length of a string S in bits. bitstr2uint(S) The non-negative integer whose binary representation is the string S. More formally, if S is t bits long then bitstr2uint(S) = 2t-1* bit(S,1) + 2t-2* bit(S,2) + . + 21* bit(S,t-1)

32、 + bit(S,t). NOTE Bit strings are treated big-endian, i.e. the first bit is the most significant. blocklen Block length of the underlying block cipher in octets. ceil Rounding-up operation, i.e. if x is a floating-point number, then ceil(x) is the smallest integer n with n x. Enc(K, X) Encryption of

33、 a plaintext block X under a key K using a block cipher Enc. floor Rounding-down operation, i.e. if x is a floating-point number, then floor(x) is the largest integer n with n x. H Hash value. K Master key. KEEncryption key. KHHash key. keylen Block cipher key length in octets. BS ISO/IEC 9797-3:201

34、1ISO/IEC 9797-3:2011(E) ISO/IEC 2011 All rights reserved 3log2Binary logarithm function. M Message. MAC Message authentication code. max Largest value amongst those given as argument. N Nonce. octetlength(S) Length of a string S in octets (where S is assumed to have bitlength a multiple of 8). octet

35、str2uint(S) The non-negative integer defined as S0 + 28* S1 + 216* S2 + . + 28n-8* Sn-1, where n = octetlength(S). NOTE Octet strings are treated little-endian, i.e. the first octet is the least significant. prime(n) Largest prime number smaller than 2n, for any positive integer n. NOTE The prime nu

36、mbers used in this part of ISO/IEC 9797 are listed in Table 1. Table 1 Prime numbers n prime(n) prime(n) in hexadecimal format32 232- 5 0x FFFFFFFB36 236- 5 0x 0000000F FFFFFFFB64 264- 59 0x FFFFFFFF FFFFFFC5128 2128- 159 0x FFFFFFFF FFFFFFFF FFFFFFFF FFFFFF61 130 2130- 5 0x 00000003 FFFFFFFF FFFFFF

37、FF FFFFFFFF FFFFFFFB Si The i-th octet of the string S (indices begin at 0). NOTE The specification for UMAC in 6.2 uses a starting index of 1 rather than 0. Si.j The substring of S consisting of octets i through j. taglen Length of the tag, in octets. uint2bitstr(x,n) The n-octet string S such that

38、 bitstr2uint(S) = x. uint2octetstr(x,n) The n-octet string S such that x = octetstr2uint(S). X|sLeft-truncation of the block of bits X: if X has bit-length greater than or equal to s, then X|sis the s-bit block consisting of the left-most s bits of X. X|sRight-truncation of the block of bits X: if X

39、 has bit-length greater than or equal to s, then X|sis the s-bit block consisting of the right-most s bits of X. X1 Right shift of a block of bits X by one position: the leftmost bit of Y = X1 will always be set to zero. |X| The length of X in bits. zeropad(S,n) For positive integer n, the string S

40、is padded with zero-bits to the nearest positive multiple of n octets. Formally, zeropad(S,n) = S | T, where T is the shortest string of zero-bits (possibly empty) so that S | T is non-empty and n divides octetlength(S | T). BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) 4 ISO/IEC 2011 All rights rese

41、rved Bit-wise exclusive-OR operation on bit-strings. If A, B are strings of the same length then AB is the string equal to the bit-wise logical exclusive-OR of A and B. Bit-wise logical AND operation on bit-strings. If A, B are strings of the same length then AB is the string equal to the bit-wise l

42、ogical AND of A and B. +32Addition of two 32-bit strings, resulting in a 32-bit string. More formally, S +32T = uint2bitstr(bitstr2uint(S) + bitstr2uint(T) mod 232, 4). +64Addition of two 64-bit strings, resulting in a 64-bit string. More formally, S +64T = uint2bitstr(bitstr2uint(S) + bitstr2uint(T

43、) mod 264, 8). * Multiplication operator on integers. *64Multiplication of two 64-bit strings, resulting in a 64-bit string. More formally, S *64T = uint2bitstr(bitstr2uint(S) * bitstr2uint(T) mod 264, 8). NOTE The operations +32, +64and *64correspond well with the addition and multiplication operat

44、ions that are performed efficiently by modern computers. | Concatenation of two bit strings. If A and B are bit strings of lengths a and b respectively, then A | B is the bit string of length a+b whose left most (first) a bits are the bits of A, and whose rightmost (last) b bits are the bits of B. 0

45、nString consisting of n zero-bits. 1nString consisting of n one-bits. A bit-string with zero length. Multiplication in the field GF(2128). The defining polynomial that determines the representation of GF(2128) is . 128721 NOTE Let U and V be 128-bit blocks. Then the 128-bit block W = U V can be comp

46、uted as follows: a) Let W = 0128and Z = U. b) For i = 1, 2, , 128, perform the following two steps: 1) If bit(V,i) = 1 then let W = W Z; 2) If bit(Z,128) = 0 then let Z = Z1; otherwise let Z = (Z1) (11100001 | 0120). Variables in capital letters denote strings; variables in small letters are integer

47、s. 5 General model Message authentication codes based on universal hashing makes use of an encryption algorithm (block cipher or stream cipher). This type of message authentication codes has the special property that their security can be proven under the assumption that the encryption algorithm is

48、secure. MAC algorithms based on universal hashing require a master key K, a message M and a nonce value N as input. A MAC is computed using the following sequence of steps: 1) Key preprocessing. The master key K is used to generate a hash key KHand an encryption key KE. 2) Message preprocessing. The

49、 input message M is encoded into the necessary input format for the hash-function. BS ISO/IEC 9797-3:2011ISO/IEC 9797-3:2011(E) ISO/IEC 2011 All rights reserved 53) Message hashing. The encoded message is hashed under the control of the hash key KH, using a universal hash-function. The result is a hash value H of fixed, short length. 4) Finalization. The hash value H is encrypted under the control of the encryption key KE. The

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1