AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf

上传人:wealthynice100 文档编号:427399 上传时间:2018-11-07 格式:PDF 页数:32 大小:255.33KB
下载 相关 举报
AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf_第1页
第1页 / 共32页
AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf_第2页
第2页 / 共32页
AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf_第3页
第3页 / 共32页
AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf_第4页
第4页 / 共32页
AIR FORCE FIPS-PUB-180-3-2008 Secure Hash Standard (SHS).pdf_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、FIPS PUB 180-3 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION Secure Hash Standard (SHS) CATEGORY: COMPUTER SECURITY SUBCATEGORY: CRYPTOGRAPHY Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8900 October 2008 U.S. Department of Commerce C

2、arlos M. Gutierrez, Secretary National Institute of Standards and Technology Patrick Gallagher, Acting Director Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-FOREWORD The Federal Information Processing Standards Publication Series of the National I

3、nstitute of Standards and Technology (NIST) is the official series of publications relating to standards and guidelines adopted and promulgated under the provisions of the Federal Information Security Management Act (FISMA) of 2002. Comments concerning FIPS publications are welcomed and should be ad

4、dressed to the Director, Information Technology Laboratory, National Institute of Standards and Technology, 100 Bureau Drive, Stop 8900, Gaithersburg, MD 20899-8900. Cita Furlani, Director Information Technology Laboratory iiProvided by IHSNot for ResaleNo reproduction or networking permitted withou

5、t license from IHS-,-,-iiiAbstract This standard specifies five hash algorithms that can be used to generate digests of messages. The digests are used to detect whether messages have been changed since the digests were generated. Key words: computer security, cryptography, message digest, hash funct

6、ion, hash algorithm, Federal Information Processing Standards, Secure Hash Standard. Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Federal Information Processing Standards Publication 180-3 October 2008 Announcing the SECURE HASH STANDARD Federal I

7、nformation Processing Standards Publications (FIPS PUBS) are issued by the National Institute of Standards and Technology (NIST) after approval by the Secretary of Commerce pursuant to Section 5131 of the Information Technology Management Reform Act of 1996 (Public Law 104-106), and the Computer Sec

8、urity Act of 1987 (Public Law 100-235). 1. Name of Standard: Secure Hash Standard (SHS) (FIPS PUB 180-3). 2. Category of Standard: Computer Security Standard, Cryptography. 3. Explanation: This Standard specifies five secure hash algorithms - SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 - for compu

9、ting a condensed representation of electronic data (message). When a message of any length less than 264bits (for SHA-1, SHA-224 and SHA-256) or less than 2128bits (for SHA-384 and SHA-512) is input to a hash algorithm, the result is an output called a message digest. The message digests range in le

10、ngth from 160 to 512 bits, depending on the algorithm. Secure hash algorithms are typically used with other cryptographic algorithms, such as digital signature algorithms and keyed-hash message authentication codes, or in the generation of random numbers (bits). The five hash algorithms specified in

11、 this Standard are called secure because, for a given algorithm, it is computationally infeasible 1) to find a message that corresponds to a given message digest, or 2) to find two different messages that produce the same message digest. Any change to a message will, with a very high probability, re

12、sult in a different message digest. This will result in a verification failure when the secure hash algorithm is used with a digital signature algorithm or a keyed-hash message authentication algorithm. This Standard supersedes FIPS 180-2 FIPS 180-2. 4. Approving Authority: Secretary of Commerce. 5.

13、 Maintenance Agency: U.S. Department of Commerce, National Institute of Standards and Technology (NIST), Information Technology Laboratory (ITL). 6. Applicability: This Standard is applicable to all Federal departments and agencies for the protection of sensitive unclassified information that is not

14、 subject to Title 10 United States Code ivProvided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-vSection 2315 (10 USC 2315) and that is not within a national security system as defined in Title 44 United States Code Section 3502(2) (44 USC 3502(2). This st

15、andard shall be implemented whenever a secure hash algorithm is required for Federal applications, including use by other cryptographic algorithms and protocols. The adoption and use of this Standard is available to private and commercial organizations. 7. Specifications: Federal Information Process

16、ing Standard (FIPS) 180-3, Secure Hash Standard (SHS) (affixed). 8. Implementations: The secure hash algorithms specified herein may be implemented in software, firmware, hardware or any combination thereof. Only algorithm implementations that are validated by NIST will be considered as complying wi

17、th this standard. Information about the validation program can be obtained at http:/csrc.nist.gov/groups/STM/index.html. 9. Implementation Schedule: Guidance regarding the testing and validation to FIPS 180-3 and its relationship to FIPS 140-2 can be found in IG 1.10 of the Implementation Guidance f

18、or FIPS PUB 140-2 and the Cryptographic Module Validation Program at http:/csrc.nist.gov/groups/STM/cmvp/index.html. 10. Patents: Implementations of the secure hash algorithms in this standard may be covered by U.S. or foreign patents. 11. Export Control: Certain cryptographic devices and technical

19、data regarding them are subject to Federal export controls. Exports of cryptographic modules implementing this standard and technical data regarding them must comply with these Federal regulations and be licensed by the Bureau of Export Administration of the U.S. Department of Commerce. Information

20、about export regulations is available at: http:/www.bis.doc.gov/index.htm. 12. Qualifications: While it is the intent of this Standard to specify general security requirements for generating a message digest, conformance to this Standard does not assure that a particular implementation is secure. Th

21、e responsible authority in each agency or department shall assure that an overall implementation provides an acceptable level of security. This Standard will be reviewed every five years in order to assess its adequacy. 13. Waiver Procedure: The Federal Information Security Management Act (FISMA) do

22、es not allow for waivers to Federal Information Processing Standards (FIPS) that are made mandatory by the Secretary of Commerce. 14. Where to Obtain Copies of the Standard: This publication is available electronically by accessing http:/csrc.nist.gov/publications/. Other computer security publicati

23、ons are available at the same web site. Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-Federal Information Processing Standards Publication 180-3 Specifications for the SECURE HASH STANDARD Table of Contents 1. INTRODUCTION .3 2. DEFINITIONS.4 2.1 G

24、LOSSARY OF TERMS AND ACRONYMS .4 2.2 ALGORITHM PARAMETERS, SYMBOLS, AND TERMS.4 2.2.1 Parameters .4 2.2.2 Symbols and Operations.5 3. NOTATION AND CONVENTIONS .7 3.1 BIT STRINGS AND INTEGERS 7 3.2 OPERATIONS ON WORDS8 4. FUNCTIONS AND CONSTANTS.10 4.1 FUNCTIONS 10 4.1.1 SHA-1 Functions 10 4.1.2 SHA-

25、224 and SHA-256 Functions10 4.1.3 SHA-384 and SHA-512 Functions10 4.2 CONSTANTS .11 4.2.1 SHA-1 Constants 11 4.2.2 SHA-224 and SHA-256 Constants11 4.2.3 SHA-384 and SHA-512 Constants11 5. PREPROCESSING .13 5.1 PADDING THE MESSAGE 13 5.1.1 SHA-1, SHA-224 and SHA-256 13 5.1.2 SHA-384 and SHA-512.13 5.

26、2 PARSING THE PADDED MESSAGE .14 5.2.1 SHA-1, SHA-224 and SHA-256 14 5.2.2 SHA-384 and SHA-512.14 5.3 SETTING THE INITIAL HASH VALUE (H(0)14 5.3.1 SHA-1 .14 5.3.2 SHA-224.14 5.3.3 SHA-256 .15 5.3.4 SHA-384 .15 5.3.5 SHA-512 .15 6. SECURE HASH ALGORITHMS17 6.1 SHA-1 .17 6.1.1 SHA-1 Preprocessing .17

27、6.1.2 SHA-1 Hash Computation17 6.1.3 Alternate Method for Computing a SHA-1 Message Digest.19 1Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-6.2 SHA-256 .20 6.2.1 SHA-256 Preprocessing .20 6.2.2 SHA-256 Hash Computation 21 6.3 SHA-224 .22 6.4 SHA-5

28、12 .23 6.4.1 SHA-512 Preprocessing .23 6.4.2 SHA-512 Hash Computation 23 6.5 SHA-384 .25 7. TRUNCATION OF A MESSAGE DIGEST 25 APPENDIX A: ADDITIONAL INFORMATION26 A.1 SECURITY OF THE SECURE HASH ALGORITHMS.26 A.2 IMPLEMENTATION NOTES 26 A.3 OBJECT IDENTIFIERS26 APPENDIX B: REFERENCES27 2Provided by

29、IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-1. INTRODUCTION This Standard specifies five secure hash algorithms, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512. All five of the algorithms are iterative, one-way hash functions that can process a message to pro

30、duce a condensed representation called a message digest. These algorithms enable the determination of a messages integrity: any change to the message will, with a very high probability, result in a different message digest. This property is useful in the generation and verification of digital signat

31、ures and message authentication codes, and in the generation of random numbers or bits. Each algorithm can be described in two stages: preprocessing and hash computation. Preprocessing involves padding a message, parsing the padded message into m-bit blocks, and setting initialization values to be u

32、sed in the hash computation. The hash computation generates a message schedule from the padded message and uses that schedule, along with functions, constants, and word operations to iteratively generate a series of hash values. The final hash value generated by the hash computation is used to deter

33、mine the message digest. The five algorithms differ most significantly in the security strengths that are provided for the data being hashed. The security strengths of these five hash functions and the system as a whole when each of them is used with other cryptographic algorithms, such as digital s

34、ignature algorithms and keyed-hash message authentication codes, can be found in SP 800-57 and SP 800-107. Additionally, the five algorithms differ in terms of the size of the blocks and words of data that are used during hashing. Figure 1 presents the basic properties of these hash algorithms. Algo

35、rithm Message Size (bits) Block Size (bits) Word Size (bits) Message Digest Size (bits) SHA-1 Right-shift operation, where x n is obtained by discarding the right-most n bits of the word x and then padding the result with n zeroes on the left. The following operations are used in the secure hash alg

36、orithm specifications: ROTLn(x) The rotate left (circular left shift) operation, where x is a w-bit word and n is an integer with 0 n w - n). ROTRn(x) The rotate right (circular right shift) operation, where x is a w-bit word and n is an integer with 0 n n) (x n. 6Provided by IHSNot for ResaleNo rep

37、roduction or networking permitted without license from IHS-,-,-3. NOTATION AND CONVENTIONS 3.1 Bit Strings and Integers The following terminology related to bit strings and integers will be used. 1. A hex digit is an element of the set 0, 1, 9, a, f. A hex digit is the representation of a 4-bit stri

38、ng. For example, the hex digit “7” represents the 4-bit string “0111”, and the hex digit “a” represents the 4-bit string “1010”. 2. A word is a w-bit string that may be represented as a sequence of hex digits. To convert a word to hex digits, each 4-bit string is converted to its hex digit equivalen

39、t, as described in (1) above. For example, the 32-bit string 1010 0001 0000 0011 1111 1110 0010 0011 can be expressed as “a103fe23”, and the 64-bit string 1010 0001 0000 0011 1111 1110 0010 0011 0011 0010 1110 1111 0011 0000 0001 1010 can be expressed as “a103fe2332ef301a”. Throughout this specifica

40、tion, the “big-endian” convention is used when expressing both 32- and 64-bit words, so that within each word, the most significant bit is stored in the left-most bit position. 3. An integer may be represented as a word or pair of words. A word representation of the message length, l, in bits, is re

41、quired for the padding techniques of Sec. 5.1. An integer between 0 and 232-1 inclusive may be represented as a 32-bit word. The least significant four bits of the integer are represented by the right-most hex digit of the word representation. For example, the integer 291=28+ 25+ 21+ 20=256+32+2+1 i

42、s represented by the hex word “00000123”. The same holds true for an integer between 0 and 264-1 inclusive, which may be represented as a 64-bit word. If Z is an integer, 0 Z n. This operation is used in the SHA-224, SHA-256, SHA-384, and SHA-512 algorithms. 4. The rotate right (circular right shift

43、) operation ROTRn(x), where x is a w-bit word and n is an integer with 0 n n) (x w - n). Thus, ROTLn(x) is equivalent to a circular shift (rotation) of x by n positions to the left. This operation is used only in the SHA-1 algorithm. 6. Note the following equivalence relationships, where w is fixed

44、in each relationship: ROTLn(x) ROTR w-n(x) ROTRn(x) ROTL w-n(x) 9Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-4. FUNCTIONS AND CONSTANTS 4.1 Functions This section defines the functions that are used by each of the algorithms. Although the SHA-224

45、, SHA-256, SHA-384, and SHA-512 algorithms all use similar functions, their descriptions are separated into sections for SHA-224 and SHA-256 (Sec. 4.1.2) and for SHA-384 and SHA-512 (Sec. 4.1.3), since the input and output for these functions are words of different sizes. Each of the algorithms incl

46、ude Ch(x, y, z) and Maj(x, y, z) functions; the exclusive-OR operation () in these functions may be replaced by a bitwise OR operation () and produce identical results. 4.1.1 SHA-1 Functions SHA-1 uses a sequence of logical functions, f0, f1, f79. Each function ft, where 0 t 79, operates on three 32

47、-bit words, x, y, and z, and produces a 32-bit word as output. The function ft(x, y, z) is defined as follows: Ch(x, y, z)=(xy) (xz) 0 t 19 Parity(x, y, z)=x y z 20 t 39 ft(x, y, z) = (4.1) Maj(x, y, z)=(xy) (xz) (yz) 40 t 59 Parity(x, y, z)=x y z 60 t 79. 4.1.2 SHA-224 and SHA-256 Functions SHA-224

48、 and SHA-256 both use six logical functions, where each function operates on 32-bit words, which are represented as x, y, and z. The result of each function is a new 32-bit word. = ),( zyxCh )()( zxyx (4.2) = ),( zyxMaj )()()( zyzxyx (4.3) = ROTR 2(x) 2560)(x ROTR13(x) ROTR22(x) (4.4) = ROTR6(x) 2561)(x ROTR11(x) ROTR25(x) (4.5) = ROTR7(x) )(2560x ROTR18(x) SHR3(x) (4.6) ) = ROTR17(x) (2561x ROTR19(x) SHR10(x) (4.7) 4.1.3 SHA-384 and SHA-512 Functions SHA-384 and SHA-512 both use six logical functio

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国际标准 > 其他

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