modified: makefile
[GalaxyCodeBases.git] / c_cpp / etc / md5_sha / README.sha1
bloba2ccd2b533b4933b3e16aa46eaebe3f187b3e78e
2 @(#) $Revision: 13.1 $
3 @(#) $Id: README.sha1,v 13.1 2006/08/14 03:16:33 chongo Exp $
4 @(#) $Source: /usr/local/src/cmd/hash/RCS/README.sha1,v $
6 The sha1 utility implements the Secure Hash Standard-1 (SHS1).
7 The Secure Hash Standard-1 (SHS1) is a United States Department
8 of Commerce National Institute of Standards and Technology approved
9 standard (FIPS Pub 180-1) for secure hashing.
11 The name, shs1 is a link to sha1 and is given for backward compatibility.
13 The shs utility implements the old Secure Hash Algorithm
14 as specified by (FIPS Pub 180).  This utility is provided for back-
15 ward compatibility with versions at or before 2.10.1.
17 This code is based on code by Peter C. Gutmann.  Much thanks goes
18 to Peter C. Gutman (pgut1@cs.aukuni.ac.nz) , Shawn A. Clifford
19 (sac@eng.ufl.edu), Pat Myrto (pat@rwing.uucp), Colin Plumb
20 (colin@nyx10.cs.du.edu), Rich Schroeppel (rcs@cs.arizona.edu)
21 and others who wrote and/or worked on the original code.
23 The digests produced from strings (-s string), files or stdin are
24 identical to the Gutmann's program.  The command line and output
25 interface are upward compatible as well.  Users of the original shs
26 program may replace it with this version has their existing use
27 and digests will be preserved.
29 See shs1drvr.c (or shsdrvr.c) for version information.  See the man
30 page sha(1) for other details.
32 Landon Curt Noll (chongo was here) /\../\
33 http://www.isthe.com/chongo/index.html
35 Share and enjoy! :-)
37 =-=
39                                                      FIPS PUB 180-1
41                                               FEDERAL INFORMATION
42                                  PROCESSING STANDARDS PUBLICATION
44                                                     1994 May 31
46 U.S. DEPARTMENT OF COMMERCE/National Institute of Standards and Technology
48                       SECURE HASH STANDARD
50    /*** NOTE: NOT OFFICIAL. HARD COPY IS THE OFFICIAL VERSION.
51         ^ is used for exponentiation or superscript. ***/
53                   CATEGORY:  COMPUTER SECURITY
55     U.S. DEPARTMENT OF COMMERCE, Ronald H. Brown, Secretary
56          NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY
58                                Foreword
60    The Federal Information Processing Standards Publication Series
61 of the National Institute of Standards and Technology (NIST) is the
62 official series of publications relating to standards and
63 guidelines adopted and promulgated under the provisions of Section
64 111(d) of the Federal Property and Administrative Services Act of
65 1949 as amended by the Computer Security Act of 1987, Public Law
66 100-235.  These mandates have given the Secretary of Commerce and
67 NIST important responsibilities for improving the utilization and
68 management of computer and related telecommunications systems in
69 the Federal Government.  The NIST, through the Computer Systems
70 Laboratory, provides leadership, technical guidance, and
71 coordination of Government efforts in the development of standards
72 and guidelines in these areas.
74    Comments concerning Federal Information Processing Standards
75 Publications are welcomed and should be addressed to the Director,
76 Computer Systems Laboratory, National Institute of Standards and
77 Technology, Gaithersburg, MD 20899.
79                            James H. Burrows, Director
80                            Computer Systems Laboratory
82                                Abstract
84    This standard specifies a Secure Hash Algorithm (SHA-1) which can
85 be used to generate a condensed representation of a message called
86 a message digest. The SHA-1 is required for use with the Digital
87 Signature Algorithm (DSA) as specified in the Digital Signature Standard (DSS)
88 and whenever a secure hash algorithm is required for federal applications.
89 The SHA-1 is used by both the transmitter and intended receiver of a message in
90 computing and verifying a digital signature.
92 Key words: Computer security, digital signatures,
93 Federal Information Processing Standard, hash algorithm.
95                                                   FIPS PUB 180-1
97                           Federal Information
98                   Processing Standards Publication 180-1
100                              1994 MAY 31
102                             ANNOUNCING THE
104                          SECURE HASH STANDARD
106 Federal Information Processing Standards Publications (FIPS PUBS)
107 are issued by the National Institute of Standards and Technology
108 (NIST) after approval by the Secretary of Commerce pursuant to
109 Section 111(d) of the Federal Property and Administrative Services
110 Act of 1949 as amended by the Computer Security Act of 1987, Public
111 Law 100-235.
113 Name of Standard: Secure Hash Standard.
115 Category of Standard: Computer Security.
117 Explanation: This Standard specifies a Secure Hash Algorithm, SHA-1,
118 for computing a condensed representation of a message or a data file. When a
119 message of any length < 2^64 bits is input, the SHA-1 produces a 160-bit output
120 called a message digest.  The message digest can
121 then be input to the Digital Signature Algorithm (DSA) which generates or
122 verifies the signature for the message.  Signing the
123 message digest rather than the message often
124 improves the efficiency of the process because the message digest is
125 usually much smaller in size than the message.  The same hash algorithm
126 must be used by the verifier of a digital signature
127 as was used by the creator of the digital signature.
128 The SHA-1 is called secure
129 because it is computationally infeasible to find a message which corresponds
130 to a given message digest, or to find two different messages which produce the
131 same message digest.  Any change to a message
132 in transit will, with very high probability, result in a different message
133 digest, and the signature will fail to verify.  SHA-1
134 is a technical revision of SHA (FIPS 180). A circular left
135 shift operation has been added to the specifications in section
136 7, line b, page 9 of FIPS 180 and its equivalent in section 8, line c,
137 page 10 of FIPS 180. This revision improves the security provided by
138 this standard. The SHA-1 is based on principles
139 similar to those used by Professor Ronald L. Rivest of MIT when designing
140 the MD4 message digest algorithm ("The MD4 Message Digest
141 Algorithm," Advances in Cryptology - CRYPTO '90 Proceedings,
142 Springer-Verlag, 1991, pp. 303-311), and is
143 closely modelled after that algorithm.
145 Approving Authority: Secretary of Commerce.
147 Maintenance  Agency:  U.S. Department of Commerce,
148 National Institute of Standards and Technology, Computer Systems Laboratory.
150 Applicability: This standard is applicable to all Federal
151 departments and agencies for the protection of unclassified
152 information that is not subject to section 2315 of Title 10, United
153 States Code, or section 3502(2) of Title 44, United States Code.
154 This standard is required for use with the Digital Signature Algorithm
155 (DSA) as specified in the Digital Signature Standard (DSS)
156 and whenever a secure hash algorithm is required for
157 federal applications.  Private and commercial organizations are
158 encouraged to adopt and use this standard.
160 Applications: The SHA-1 may be used with the DSA in electronic mail,
161 electronic funds transfer, software distribution, data storage, and other
162 applications which require data integrity assurance
163 and data origin authentication.  The SHA-1 may also be used whenever it is
164 necessary to generate a condensed version of a message.
166 Implementations: The SHA-1 may be implemented in software, firmware,
167 hardware, or any combination thereof.  Only implementations of the
168 SHA-1 that are validated by NIST will be considered as complying with
169 this standard.  Information about the requirements for validating
170 implementations of this standard can be obtained from the National
171 Institute of Standards and Technology, Computer Systems Laboratory,
172 Attn: SHS Validation, Gaithersburg, MD 20899.
174 Export Control: Implementations of this standard are subject to
175 Federal Government export controls as specified in Title 15, Code
176 of Federal Regulations, Parts 768 through 799.  Exporters are
177 advised to contact the Department of Commerce, Bureau of Export
178 Administration for more information.
180 Patents: Implementations of the SHA-1 in this standard may be covered
181 by U.S. and foreign patents.
183 Implementation Schedule: This standard becomes effective 90 days after
184 approval by the Secterary of Commerce.
186 Specifications: Federal Information Processing Standard (FIPS 180-1)
187 Secure Hash Standard (affixed).
189 Cross Index:
191    a. FIPS PUB 46-1, Data Encryption Standard.
193    b. FIPS PUB 73, Guidelines for Security of Computer Applications.
195    c. FIPS PUB 140-1, Security Requirements for Cryptographic Modules.
197    d. FIPS PUB 186, Digital Signature Standard.
199    e. Federal Informations Resources Management Regulations (FIRMR) subpart
200       201.20.303, Standards, and subpart 201.39.1002, Federal Standards.
202 Objectives: The objectives of this standard are to:
204    a. Specify the secure hash algorithm required for use with the
205       Digital Signature Standard (FIPS 186)  in the generation and
206       verification of digital signatures.
208    b. Specify the secure hash algorithm to be used whenever
209       a secure hash algorithm is required for federal applications.
211    c. Encourage the adoption and use of the specified secure hash algorithm by
212       private and commercial organizations.
214 Qualifications: While it is the intent of this standard to specify
215 a secure hash algorithm, conformance to this standard does not
216 assure that a particular implementation is secure.  The responsible
217 authority in each agency or department shall assure that an overall
218 implementation provides an acceptable level of security.  This
219 standard will be reviewed every five years in order to assess its
220 adequacy.
222 Waiver Procedure: Under certain exceptional circumstances, the
223 heads of Federal departments and agencies may approve waivers to
224 Federal Information Processing Standards (FIPS).  The head of such
225 agency may redelegate such authority only to a senior official
226 designated pursuant to section 3506(b) of Title 44, United States
227 Code.  Waiver shall be granted only when:
229    a. Compliance with a standard would adversely affect the
230       accomplishment of the mission of an operator of a Federal
231       computer system; or
233    b. Compliance with a standard would cause a major adverse
234       financial impact on the operator which is not offset by
235       Government-wide savings.
237 Agency heads may act upon a written waiver request containing the
238 information detailed above.  Agency heads may also act without a
239 written waiver request when they determine that conditions for
240 meeting the standard cannot be met.  Agency heads may approve
241 waivers only by a written decision which explains the basis on
242 which the agency head made the required finding(s).  A copy of
243 each decision, with procurement sensitive or classified portions
244 clearly identified, shall be sent to: National Institute of
245 Standards and Technology; ATTN: FIPS Waiver Decisions, Technology
246 Building, Room B-154, Gaithersburg, MD 20899.
248 In addition, notice of each waiver granted and each delegation of
249 authority to approve waivers shall be sent promptly to the
250 Committee on Government Operations of the House of Representatives
251 and the Committee on Government Affairs of the Senate and shall be
252 published promptly in the Federal Register.
254 When the determination on a waiver applies to the procurement of
255 equipment and/or services, a notice of the waiver determination
256 must be published in the Commerce Business Daily as a part of the
257 notice of solicitation for offers of an acquisition or, if the
258 waiver determination is made after that notice is published, by
259 amendment to such notice.
261 A copy of the waiver, any supporting documents, the document
262 approving the waiver and any accompanying documents, with such
263 deletions as the agency is authorized and decides to make under 5
264 United States Code Section 552(b), shall be part of the procurement
265 documentation and retained by the agency.
267 Where to Obtain Copies of the Standard: Copies of this publication
268 are for sale by the National Technical Information Service, U.S.
269 Department of Commerce, Springfield, VA 22161.  When ordering,
270 refer to Federal Information Processing Standards Publication 180-1
271 (FIPS PUB  180-1), and identify the title.  When microfiche is desired,
272 this should be specified.  Prices are published by NTIS in current
273 catalogs and other issuances.  Payment may be made by check, money
274 order, deposit account or charged to a credit card accepted by
275 NTIS.
277 Federal Information Processing Standards Publication 180-1
279 1994 May 31
281 Specifications for the
283 SECURE HASH STANDARD
285 1. INTRODUCTION
287 The Secure Hash Algorithm (SHA-1) is required for use with the Digital
288 Signature Algorithm (DSA) as specified in the Digital Signature Standard (DSS)
289 and whenever a secure hash algorithm is required for federal applications.
290 For a message of length < 2^64 bits, the SHA-1
291 produces a 160-bit condensed representation of the message called a message
292 digest.  The message digest is used during generation of a signature for the
293 message.  The SHA-1 is also used
294 to compute a message digest for the received version of the message during the
295 process of verifying the signature.  Any change to the message in transit
296 will, with very high probability,
297 result in a different message digest, and the signature will fail to verify.
299 The SHA-1 is designed to have the following properties: it is computationally
300 infeasible to find a message which corresponds to a given message digest, or
301 to find two different messages which produce the same message digest.
303                    2. BIT STRINGS AND INTEGERS
305 The following terminology related to bit strings and integers will be used:
307  a.  A hex digit is an element of the set {0, 1, ... , 9, A, ... , F}.  A
308      hex digit is the representation of a 4-bit string.  Examples: 7 = 0111,
309      A = 1010.
311  b.  A word equals a 32-bit string which may be represented as a sequence of 8
312      hex digits. To convert a word to 8 hex digits each 4-bit string is
313      converted to its hex equivalent as described in (a) above. Example:
315         1010 0001 0000 0011 1111 1110 0010 0011 = A103FE23.
317  c.  An integer between 0 and 2^32 - 1 inclusive may be represented as a word.
318      The least significant four bits of the integer are represented by the
319      right-most hex digit of the word representation.  Example: the integer
320      291 = 2^8+2^5+2^1+2^0 = 256+32+2+1
321      is represented by the hex word, 00000123.
323      If z is an integer, 0 <= z < 2^64, then z = 2^32x + y where 0 <=
324      x < 2^32 and 0 <= y < 2^32. Since x and y can be represented as words
325      X and Y, respectively, z can be represented as the pair of words (X,Y).
327  d.  block = 512-bit string. A block (e.g., B) may be represented as a
328      sequence of 16 words.
330                      3. OPERATIONS ON WORDS
332 The following logical operators will be applied to words:
334  a.  Bitwise logical word operations
336      X AND Y         =  bitwise logical "and" of  X and Y.
338      X OR Y          =  bitwise logical "inclusive-or" of X and Y.
340      X XOR Y         =  bitwise logical "exclusive-or" of X and Y.
342      NOT X           =  bitwise logical "complement" of X.
344      Example:
346             01101100101110011101001001111011
347       XOR   01100101110000010110100110110111
348             --------------------------------
349         =   00001001011110001011101111001100.
351  b.  The operation X + Y is defined as follows: words X and Y represent
352      integers x and y, where 0 <= x < 2^32 and 0 <= y < 2^32.  For positive
353      integers n and m, let n mod m be the remainder upon dividing n by
354      m.  Compute
356           z  =  (x + y) mod 2^32.
358      Then 0 <= z < 2^32. Convert z to a word,  Z, and define Z = X + Y.
360  c.  The circular left shift operation S^n(X), where X is a word and n is an
361      integer with 0 <= n < 32, is defined by
363           S^n(X)  =  (X << n) OR (X >> 32-n).
365      In the above, X << n is obtained as follows: discard the left-most n bits
366      of X and then pad the result with n zeroes on the right (the result
367      will still be 32 bits).  X >> n is obtained by discarding the right-most
368      n bits of X and then padding the result with n
369      zeroes on the left.  Thus S^n(X) is equivalent to a circular shift of X by
370      n positions to the left.
372                        4. MESSAGE PADDING
374 The SHA-1 is used to compute a message digest for a message or data file that
375 is provided as input.  The message or data file should be considered to be
376 a bit string.  The length of the message is the number of bits in the message
377 (the empty message has length 0).  If the number of bits in a message is a
378 multiple of 8, for compactness we can represent the message in hex.
379 The purpose of message padding is to make the total length of a padded message
380 a multiple of 512.  The SHA-1 sequentially processes blocks of 512
381 bits when computing the message digest.
382 The following specifies how this padding shall be performed.  As a summary,
383 a "1" followed by m "0"s followed by a 64-bit integer are appended to the end
384 of the message to produce a padded
385 message of length 512 * n.  The 64-bit integer is l, the length of the
386 original message.  The padded message is then processed by the SHA-1 as n
387 512-bit blocks.
389 Suppose a message has length l < 2^64.  Before it is input to the SHA-1, the
390 message is padded on the right as follows:
392  a.  "1" is appended.  Example: if the original message is "01010000", this is
393      padded to "010100001".
395  b.  "0"s are appended.  The number of "0"s will depend on the original length
396      of the message.  The last 64 bits of the last 512-bit block are reserved
397      for the length l of the original message.
399      Example:  Suppose the original message is the bit string
401           01100001 01100010 01100011 01100100 01100101.
403      After step (a) this gives
405           01100001 01100010 01100011 01100100 01100101 1.
407      Since l = 40, the number of bits in the above is 41 and 407 "0"s are
408      appended, making the total now 448. This gives (in hex)
410           61626364 65800000 00000000 00000000
411           00000000 00000000 00000000 00000000
412           00000000 00000000 00000000 00000000
413           00000000 00000000.
415  c.  Obtain the 2-word representation of l, the number of bits in the original
416      message.  If l < 2^32 then the first word is all zeroes.  Append these two
417      words to the padded message.
419      Example: Suppose the original message is as in (b). Then l = 40 (note
420      that l is computed before any padding). The two-word representation of 40
421      is hex 00000000 00000028. Hence the final padded message is hex
423           61626364 65800000 00000000 00000000
424           00000000 00000000 00000000 00000000
425           00000000 00000000 00000000 00000000
426           00000000 00000000 00000000 00000028.
428 The padded message will contain 16 * n words for some n > 0.  The padded
429 message
430 is regarded as a sequence of n blocks M(1) , M(2), ... , M(n), where each M(i)
431 contains 16 words and M(1)
432 contains the first characters (or bits) of the message.
434                         5. FUNCTIONS USED
436 A sequence of logical functions f(t;B,C,D), 0 <= t <= 79,
437 is used in the SHA-1.  Each f operates on three 32-bit words B, C, D
438 and produces a 32-bit word as output.  f(t;B,C,D) is defined as follows: for
439 words B, C, D,
441      f(t;B,C,D) = (B AND C)  OR  ((NOT B) AND D)              (0 <= t <= 19)
443      f(t;B,C,D) = B  XOR   C   XOR   D                        (20 <= t <= 39)
445      f(t;B,C,D) = (B AND C)  OR  (B AND D)  OR  (C AND D)     (40 <= t <= 59)
447      f(t;B,C,D) = B   XOR   C   XOR  D                        (60 <= t <= 79).
449                           6. CONSTANTS USED
451    A sequence of constant words K(0), K(1), ... , K(79) is used in the SHA.
452 In hex these are given by
454       K(t) = 5A827999         (0  <= t <= 19)
456       K(t) = 6ED9EBA1         (20 <= t <= 39)
458       K(t) = 8F1BBCDC         (40 <= t <= 59)
460       K(t) = CA62C1D6         (60 <= t <= 79).
462                      7. COMPUTING THE MESSAGE DIGEST
464    The message digest is computed using the final padded message.
465 The computation uses two buffers, each consisting of five 32-bit
466 words, and a sequence of eighty 32-bit words.  The words of the
467 first 5-word buffer are labeled A,B,C,D,E.  The words of the second
468 5-word buffer are labeled H0, H1, H2, H3, H4.  The words of the 80-
469 word sequence are labeled W(0), W(1), ... , W(79).  A single word buffer
470 TEMP is also employed.
472    To generate the message digest, the 16-word blocks M(1), M(2), ...
473 , M(n) defined in Section 4 are processed in order.  The processing
474 of each M(i) involves 80 steps.
476    Before processing any blocks, the H's are initialized as
477 follows: in hex,
479       H0 = 67452301
481       H1 = EFCDAB89
483       H2 = 98BADCFE
485       H3 = 10325476
487       H4 = C3D2E1F0.
489    Now M(1), M(2), ... , M(n) are processed.  To process M(i), we proceed as
490 follows:
492    a. Divide M(i) into 16 words W(0), W(1), ... , W(15), where W(0) is the
493       leftmost word.
495    b. For t = 16 to 79 let
496           W(t) = S^1(W(t-3) XOR W(t-8) XOR W(t-14) XOR W(t-16)).
498    c. Let A = H0, B = H1, C = H2, D = H3, E = H4.
500    d. For t = 0 to 79 do
502         TEMP = S^5(A) + f(t;B,C,D) + E + W(t) + K(t);
504         E = D;  D = C;  C = S^30(B);  B = A; A = TEMP;
506    e. Let H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4
507       = H4 + E.
509    After processing M(n), the message digest is the 160-bit string
510 represented by the 5 words
512       H0 H1 H2 H3 H4.
514    The above assumes that the sequence W(0), ... , W(79) is implemented
515 as an array of eighty 32-bit words.  This is efficient from the
516 standpoint of minimization of execution time, since the addresses
517 of W(t-3), ... , W(t-16) in step (b) are easily computed.  If space is at
518 a premium, an alternative is to regard { W(t) } as a circular queue,
519 which may be implemented using an array of sixteen 32-bit words
520 W[0], ... W[15].  In this case, in hex let MASK = 0000000F.  Then
521 processing of M(i) is as follows:
523    a. Divide M(i) into 16 words W[0], ... , W[15], where W[0] is the
524        leftmost word.
526    b. Let A = H0, B = H1, C = H2, D = H3, E = H4.
528    c. For t = 0 to 79 do
530          s = t AND MASK;
532          if (t >= 16) W[s] = S^1(W[(s + 13) AND MASK] XOR W[(s + 8) AND
534             MASK] XOR W[(s + 2) AND MASK] XOR W[s]);
536          TEMP = S^5(A) + f(t;B,C,D) + E + W[s] + K(t);
538          E = D; D = C; C = S^30(B); B = A; A = TEMP;
540    d. Let H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4
541        = H4 + E.
543 The methods of Sections 7 and 8 yield the same message digest.
544 Although using the method of Section 8 saves sixty-four 32-bit words of
545 storage, it is likely to lengthen execution time due to the
546 increased complexity of the address computations for the { W[t] }
547 in step (c).  Other computation methods which give identical
548 results may be implemented in conformance with the standard.
551                     APPENDIX A.  A SAMPLE MESSAGE AND ITS MESSAGE DIGEST
553 This appendix is for informational purposes only and is not required to meet
554 the standard.
556 Let the message be the ASCII binary-coded form of "abc", i.e.,
558        01100001  01100010  01100011.
560 This message has length l = 24.  In step (a) of Section 4, we append "1".  In
561 step (b) we append 423 "0"s.  In step (c) we append hex 00000000 00000018,
562 the 2-word representation of 24.
563 Thus the final padded message consists of one block, so that n = 1 in the
564 notation of Section 4.
566 The initial hex values of {Hi} are
568 H0 = 67452301
570 H1 = EFCDAB89
572 H2 = 98BADCFE
574 H3 = 10325476
576 H4 = C3D2E1F0.
578 Start processing block 1. The words of block 1 are
580 W[0]  = 61626380
581 W[1]  = 00000000
582 W[2]  = 00000000
583 W[3]  = 00000000
584 W[4]  = 00000000
585 W[5]  = 00000000
586 W[6]  = 00000000
587 W[7]  = 00000000
588 W[8]  = 00000000
589 W[9]  = 00000000
590 W[10] = 00000000
591 W[11] = 00000000
592 W[12] = 00000000
593 W[13] = 00000000
594 W[14] = 00000000
595 W[15] = 00000018.
597 The hex values of A,B,C,D,E after pass t of the "for t = 0 to 79" loop
598 (step (d) of Section 7 or step (c) of Section 8) are
600             A           B           C           D           E
602 t =  0: 0116FC33    67452301    7BF36AE2    98BADCFE    10325476
603 t =  1: 8990536D    0116FC33    59D148C0    7BF36AE2    98BADCFE
604 t =  2: A1390F08    8990536D    C045BF0C    59D148C0    7BF36AE2
605 t =  3: CDD8E11B    A1390F08    626414DB    C045BF0C    59D148C0
606 t =  4: CFD499DE    CDD8E11B    284E43C2    626414DB    C045BF0C
607 t =  5: 3FC7CA40    CFD499DE    F3763846    284E43C2    626414DB
608 t =  6: 993E30C1    3FC7CA40    B3F52677    F3763846    284E43C2
609 t =  7: 9E8C07D4    993E30C1    0FF1F290    B3F52677    F3763846
610 t =  8: 4B6AE328    9E8C07D4    664F8C30    0FF1F290    B3F52677
611 t =  9: 8351F929    4B6AE328    27A301F5    664F8C30    0FF1F290
612 t = 10: FBDA9E89    8351F929    12DAB8CA    27A301F5    664F8C30
613 t = 11: 63188FE4    FBDA9E89    60D47E4A    12DAB8CA    27A301F5
614 t = 12: 4607B664    63188FE4    7EF6A7A2    60D47E4A    12DAB8CA
615 t = 13: 9128F695    4607B664    18C623F9    7EF6A7A2    60D47E4A
616 t = 14: 196BEE77    9128F695    1181ED99    18C623F9    7EF6A7A2
617 t = 15: 20BDD62F    196BEE77    644A3DA5    1181ED99    18C623F9
618 t = 16: 4E925823    20BDD62F    C65AFB9D    644A3DA5    1181ED99
619 t = 17: 82AA6728    4E925823    C82F758B    C65AFB9D    644A3DA5
620 t = 18: DC64901D    82AA6728    D3A49608    C82F758B    C65AFB9D
621 t = 19: FD9E1D7D    DC64901D    20AA99CA    D3A49608    C82F758B
622 t = 20: 1A37B0CA    FD9E1D7D    77192407    20AA99CA    D3A49608
623 t = 21: 33A23BFC    1A37B0CA    7F67875F    77192407    20AA99CA
624 t = 22: 21283486    33A23BFC    868DEC32    7F67875F    77192407
625 t = 23: D541F12D    21283486    0CE88EFF    868DEC32    7F67875F
626 t = 24: C7567DC6    D541F12D    884A0D21    0CE88EFF    868DEC32
627 t = 25: 48413BA4    C7567DC6    75507C4B    884A0D21    0CE88EFF
628 t = 26: BE35FBD5    48413BA4    B1D59F71    75507C4B    884A0D21
629 t = 27: 4AA84D97    BE35FBD5    12104EE9    B1D59F71    75507C4B
630 t = 28: 8370B52E    4AA84D97    6F8D7EF5    12104EE9    B1D59F71
631 t = 29: C5FBAF5D    8370B52E    D2AA1365    6F8D7EF5    12104EE9
632 t = 30: 1267B407    C5FBAF5D    A0DC2D4B    D2AA1365    6F8D7EF5
633 t = 31: 3B845D33    1267B407    717EEBD7    A0DC2D4B    D2AA1365
634 t = 32: 046FAA0A    3B845D33    C499ED01    717EEBD7    A0DC2D4B
635 t = 33: 2C0EBC11    046FAA0A    CEE1174C    C499ED01    717EEBD7
636 t = 34: 21796AD4    2C0EBC11    811BEA82    CEE1174C    C499ED01
637 t = 35: DCBBB0CB    21796AD4    4B03AF04    811BEA82    CEE1174C
638 t = 36: 0F511FD8    DCBBB0CB    085E5AB5    4B03AF04    811BEA82
639 t = 37: DC63973F    0F511FD8    F72EEC32    085E5AB5    4B03AF04
640 t = 38: 4C986405    DC63973F    03D447F6    F72EEC32    085E5AB5
641 t = 39: 32DE1CBA    4C986405    F718E5CF    03D447F6    F72EEC32
642 t = 40: FC87DEDF    32DE1CBA    53261901    F718E5CF    03D447F6
643 t = 41: 970A0D5C    FC87DEDF    8CB7872E    53261901    F718E5CF
644 t = 42: 7F193DC5    970A0D5C    FF21F7B7    8CB7872E    53261901
645 t = 43: EE1B1AAF    7F193DC5    25C28357    FF21F7B7    8CB7872E
646 t = 44: 40F28E09    EE1B1AAF    5FC64F71    25C28357    FF21F7B7
647 t = 45: 1C51E1F2    40F28E09    FB86C6AB    5FC64F71    25C28357
648 t = 46: A01B846C    1C51E1F2    503CA382    FB86C6AB    5FC64F71
649 t = 47: BEAD02CA    A01B846C    8714787C    503CA382    FB86C6AB
650 t = 48: BAF39337    BEAD02CA    2806E11B    8714787C    503CA382
651 t = 49: 120731C5    BAF39337    AFAB40B2    2806E11B    8714787C
652 t = 50: 641DB2CE    120731C5    EEBCE4CD    AFAB40B2    2806E11B
653 t = 51: 3847AD66    641DB2CE    4481CC71    EEBCE4CD    AFAB40B2
654 t = 52: E490436D    3847AD66    99076CB3    4481CC71    EEBCE4CD
655 t = 53: 27E9F1D8    E490436D    8E11EB59    99076CB3    4481CC71
656 t = 54: 7B71F76D    27E9F1D8    792410DB    8E11EB59    99076CB3
657 t = 55: 5E6456AF    7B71F76D    09FA7C76    792410DB    8E11EB59
658 t = 56: C846093F    5E6456AF    5EDC7DDB    09FA7C76    792410DB
659 t = 57: D262FF50    C846093F    D79915AB    5EDC7DDB    09FA7C76
660 t = 58: 09D785FD    D262FF50    F211824F    D79915AB    5EDC7DDB
661 t = 59: 3F52DE5A    09D785FD    3498BFD4    F211824F    D79915AB
662 t = 60: D756C147    3F52DE5A    4275E17F    3498BFD4    F211824F
663 t = 61: 548C9CB2    D756C147    8FD4B796    4275E17F    3498BFD4
664 t = 62: B66C020B    548C9CB2    F5D5B051    8FD4B796    4275E17F
665 t = 63: 6B61C9E1    B66C020B    9523272C    F5D5B051    8FD4B796
666 t = 64: 19DFA7AC    6B61C9E1    ED9B0082    9523272C    F5D5B051
667 t = 65: 101655F9    19DFA7AC    5AD87278    ED9B0082    9523272C
668 t = 66: 0C3DF2B4    101655F9    0677E9EB    5AD87278    ED9B0082
669 t = 67: 78DD4D2B    0C3DF2B4    4405957E    0677E9EB    5AD87278
670 t = 68: 497093C0    78DD4D2B    030F7CAD    4405957E    0677E9EB
671 t = 69: 3F2588C2    497093C0    DE37534A    030F7CAD    4405957E
672 t = 70: C199F8C7    3F2588C2    125C24F0    DE37534A    030F7CAD
673 t = 71: 39859DE7    C199F8C7    8FC96230    125C24F0    DE37534A
674 t = 72: EDB42DE4    39859DE7    F0667E31    8FC96230    125C24F0
675 t = 73: 11793F6F    EDB42DE4    CE616779    F0667E31    8FC96230
676 t = 74: 5EE76897    11793F6F    3B6D0B79    CE616779    F0667E31
677 t = 75: 63F7DAB7    5EE76897    C45E4FDB    3B6D0B79    CE616779
678 t = 76: A079B7D9    63F7DAB7    D7B9DA25    C45E4FDB    3B6D0B79
679 t = 77: 860D21CC    A079B7D9    D8FDF6AD    D7B9DA25    C45E4FDB
680 t = 78: 5738D5E1    860D21CC    681E6DF6    D8FDF6AD    D7B9DA25
681 t = 79: 42541B35    5738D5E1    21834873    681E6DF6    D8FDF6AD.
683 Block 1 has been processed. The values of {Hi} are
685 H0 = 67452301  +  42541B35  =  A9993E36
687 H1 = EFCDAB89  +  5738D5E1  =  4706816A
689 H2 = 98BADCFE  +  21834873  =  BA3E2571
691 H3 = 10325476  +  681E6DF6  =  7850C26C
693 H4 = C3D2E1F0  +  D8FDF6AD  =  9CD0D89D.
695 Message digest = A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
697                 APPENDIX B. A SECOND SAMPLE MESSAGE AND ITS MESSAGE DIGEST
699 This appendix is for informational purposes only and is not required to
700 meet the standard.
702 Let the message be the binary-coded form (cf. Appendix A) of the ASCII string
704       "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".
706 Since each of the 56 characters is converted to 8 bits, the length of the
707 message is l = 448.  In step (a) of Section 4, we append "1".  In step (b)
708 we append 511 "0"s.  In step (c) we append
709 the 2-word representation of 448, i.e., hex 00000000 000001C0.  This gives n =
712 The initial hex values of {Hi} are
714 H0 = 67452301
716 H1 = EFCDAB89
718 H2 = 98BADCFE
720 H3 = 10325476
722 H4 = C3D2E1F0.
724 Start processing block 1. The words of block 1 are
726 W[0]  = 61626364
727 W[1]  = 62636465
728 W[2]  = 63646566
729 W[3]  = 64656667
730 W[4]  = 65666768
731 W[5]  = 66676869
732 W[6]  = 6768696A
733 W[7]  = 68696A6B
734 W[8]  = 696A6B6C
735 W[9]  = 6A6B6C6D
736 W[10] = 6B6C6D6E
737 W[11] = 6C6D6E6F
738 W[12] = 6D6E6F70
739 W[13] = 6E6F7071
740 W[14] = 80000000
741 W[15] = 00000000.
743 The hex values of A,B,C,D,E after pass t of the "for t = 0 to 79" loop (step
744 (d) of Section 7 or step (c) of Section 8) are
746              A            B            C            D            E
748 t =  0: 0116FC17    67452301    7BF36AE2    98BADCFE    10325476
749 t =  1: EBF3B452    0116FC17    59D148C0    7BF36AE2    98BADCFE
750 t =  2: 5109913A    EBF3B452    C045BF05    59D148C0    7BF36AE2
751 t =  3: 2C4F6EAC    5109913A    BAFCED14    C045BF05    59D148C0
752 t =  4: 33F4AE5B    2C4F6EAC    9442644E    BAFCED14    C045BF05
753 t =  5: 96B85189    33F4AE5B    0B13DBAB    9442644E    BAFCED14
754 t =  6: DB04CB58    96B85189    CCFD2B96    0B13DBAB    9442644E
755 t =  7: 45833F0F    DB04CB58    65AE1462    CCFD2B96    0B13DBAB
756 t =  8: C565C35E    45833F0F    36C132D6    65AE1462    CCFD2B96
757 t =  9: 6350AFDA    C565C35E    D160CFC3    36C132D6    65AE1462
758 t = 10: 8993EA77    6350AFDA    B15970D7    D160CFC3    36C132D6
759 t = 11: E19ECAA2    8993EA77    98D42BF6    B15970D7    D160CFC3
760 t = 12: 8603481E    E19ECAA2    E264FA9D    98D42BF6    B15970D7
761 t = 13: 32F94A85    8603481E    B867B2A8    E264FA9D    98D42BF6
762 t = 14: B2E7A8BE    32F94A85    A180D207    B867B2A8    E264FA9D
763 t = 15: 42637E39    B2E7A8BE    4CBE52A1    A180D207    B867B2A8
764 t = 16: 6B068048    42637E39    ACB9EA2F    4CBE52A1    A180D207
765 t = 17: 426B9C35    6B068048    5098DF8E    ACB9EA2F    4CBE52A1
766 t = 18: 944B1BD1    426B9C35    1AC1A012    5098DF8E    ACB9EA2F
767 t = 19: 6C445652    944B1BD1    509AE70D    1AC1A012    5098DF8E
768 t = 20: 95836DA5    6C445652    6512C6F4    509AE70D    1AC1A012
769 t = 21: 09511177    95836DA5    9B111594    6512C6F4    509AE70D
770 t = 22: E2B92DC4    09511177    6560DB69    9B111594    6512C6F4
771 t = 23: FD224575    E2B92DC4    C254445D    6560DB69    9B111594
772 t = 24: EEB82D9A    FD224575    38AE4B71    C254445D    6560DB69
773 t = 25: 5A142C1A    EEB82D9A    7F48915D    38AE4B71    C254445D
774 t = 26: 2972F7C7    5A142C1A    BBAE0B66    7F48915D    38AE4B71
775 t = 27: D526A644    2972F7C7    96850B06    BBAE0B66    7F48915D
776 t = 28: E1122421    D526A644    CA5CBDF1    96850B06    BBAE0B66
777 t = 29: 05B457B2    E1122421    3549A991    CA5CBDF1    96850B06
778 t = 30: A9C84BEC    05B457B2    78448908    3549A991    CA5CBDF1
779 t = 31: 52E31F60    A9C84BEC    816D15EC    78448908    3549A991
780 t = 32: 5AF3242C    52E31F60    2A7212FB    816D15EC    78448908
781 t = 33: 31C756A9    5AF3242C    14B8C7D8    2A7212FB    816D15EC
782 t = 34: E9AC987C    31C756A9    16BCC90B    14B8C7D8    2A7212FB
783 t = 35: AB7C32EE    E9AC987C    4C71D5AA    16BCC90B    14B8C7D8
784 t = 36: 5933FC99    AB7C32EE    3A6B261F    4C71D5AA    16BCC90B
785 t = 37: 43F87AE9    5933FC99    AADF0CBB    3A6B261F    4C71D5AA
786 t = 38: 24957F22    43F87AE9    564CFF26    AADF0CBB    3A6B261F
787 t = 39: ADEB7478    24957F22    50FE1EBA    564CFF26    AADF0CBB
788 t = 40: D70E5010    ADEB7478    89255FC8    50FE1EBA    564CFF26
789 t = 41: 79BCFB08    D70E5010    2B7ADD1E    89255FC8    50FE1EBA
790 t = 42: F9BCB8DE    79BCFB08    35C39404    2B7ADD1E    89255FC8
791 t = 43: 633E9561    F9BCB8DE    1E6F3EC2    35C39404    2B7ADD1E
792 t = 44: 98C1EA64    633E9561    BE6F2E37    1E6F3EC2    35C39404
793 t = 45: C6EA241E    98C1EA64    58CFA558    BE6F2E37    1E6F3EC2
794 t = 46: A2AD4F02    C6EA241E    26307A99    58CFA558    BE6F2E37
795 t = 47: C8A69090    A2AD4F02    B1BA8907    26307A99    58CFA558
796 t = 48: 88341600    C8A69090    A8AB53C0    B1BA8907    26307A99
797 t = 49: 7E846F58    88341600    3229A424    A8AB53C0    B1BA8907
798 t = 50: 86E358BA    7E846F58    220D0580    3229A424    A8AB53C0
799 t = 51: 8D2E76C8    86E358BA    1FA11BD6    220D0580    3229A424
800 t = 52: CE892E10    8D2E76C8    A1B8D62E    1FA11BD6    220D0580
801 t = 53: EDEA95B1    CE892E10    234B9DB2    A1B8D62E    1FA11BD6
802 t = 54: 36D1230A    EDEA95B1    33A24B84    234B9DB2    A1B8D62E
803 t = 55: 776C3910    36D1230A    7B7AA56C    33A24B84    234B9DB2
804 t = 56: A681B723    776C3910    8DB448C2    7B7AA56C    33A24B84
805 t = 57: AC0A794F    A681B723    1DDB0E44    8DB448C2    7B7AA56C
806 t = 58: F03D3782    AC0A794F    E9A06DC8    1DDB0E44    8DB448C2
807 t = 59: 9EF775C3    F03D3782    EB029E53    E9A06DC8    1DDB0E44
808 t = 60: 36254B13    9EF775C3    BC0F4DE0    EB029E53    E9A06DC8
809 t = 61: 4080D4DC    36254B13    E7BDDD70    BC0F4DE0    EB029E53
810 t = 62: 2BFAF7A8    4080D4DC    CD8952C4    E7BDDD70    BC0F4DE0
811 t = 63: 513F9CA0    2BFAF7A8    10203537    CD8952C4    E7BDDD70
812 t = 64: E5895C81    513F9CA0    0AFEBDEA    10203537    CD8952C4
813 t = 65: 1037D2D5    E5895C81    144FE728    0AFEBDEA    10203537
814 t = 66: 14A82DA9    1037D2D5    79625720    144FE728    0AFEBDEA
815 t = 67: 6D17C9FD    14A82DA9    440DF4B5    79625720    144FE728
816 t = 68: 2C7B07BD    6D17C9FD    452A0B6A    440DF4B5    79625720
817 t = 69: FDF6EFFF    2C7B07BD    5B45F27F    452A0B6A    440DF4B5
818 t = 70: 112B96E3    FDF6EFFF    4B1EC1EF    5B45F27F    452A0B6A
819 t = 71: 84065712    112B96E3    FF7DBBFF    4B1EC1EF    5B45F27F
820 t = 72: AB89FB71    84065712    C44AE5B8    FF7DBBFF    4B1EC1EF
821 t = 73: C5210E35    AB89FB71    A10195C4    C44AE5B8    FF7DBBFF
822 t = 74: 352D9F4B    C5210E35    6AE27EDC    A10195C4    C44AE5B8
823 t = 75: 1A0E0E0A    352D9F4B    7148438D    6AE27EDC    A10195C4
824 t = 76: D0D47349    1A0E0E0A    CD4B67D2    7148438D    6AE27EDC
825 t = 77: AD38620D    D0D47349    86838382    CD4B67D2    7148438D
826 t = 78: D3AD7C25    AD38620D    74351CD2    86838382    CD4B67D2
827 t = 79: 8CE34517    D3AD7C25    6B4E1883    74351CD2    86838382.
829 Block 1 has been processed. The values of {Hi} are
831 H0 = 67452301  +  8CE34517  =  F4286818
833 H1 = EFCDAB89  +  D3AD7C25  =  C37B27AE
835 H2 = 98BADCFE  +  6B4E1883  =  0408F581
837 H3 = 10325476  +  74351CD2  =  84677148
839 H4 = C3D2E1F0  +  86838382  =  4A566572.
841 Start processing block 2. The words of block 2 are
843 W[0]  = 00000000
844 W[1]  = 00000000
845 W[2]  = 00000000
846 W[3]  = 00000000
847 W[4]  = 00000000
848 W[5]  = 00000000
849 W[6]  = 00000000
850 W[7]  = 00000000
851 W[8]  = 00000000
852 W[9]  = 00000000
853 W[10] = 00000000
854 W[11] = 00000000
855 W[12] = 00000000
856 W[13] = 00000000
857 W[14] = 00000000
858 W[15] = 000001C0.
860 The hex values of A,B,C,D,E after pass t of the for "t = 0 to 79" loop
861 (step (d) of Section 7 or step (c) of Section 8) are
863              A            B            C            D            E
865 t =  0: 2DF257E9    F4286818    B0DEC9EB    0408F581    84677148
866 t =  1: 4D3DC58F    2DF257E9    3D0A1A06    B0DEC9EB    0408F581
867 t =  2: C352BB05    4D3DC58F    4B7C95FA    3D0A1A06    B0DEC9EB
868 t =  3: EEF743C6    C352BB05    D34F7163    4B7C95FA    3D0A1A06
869 t =  4: 41E34277    EEF743C6    70D4AEC1    D34F7163    4B7C95FA
870 t =  5: 5443915C    41E34277    BBBDD0F1    70D4AEC1    D34F7163
871 t =  6: E7FA0377    5443915C    D078D09D    BBBDD0F1    70D4AEC1
872 t =  7: C6946813    E7FA0377    1510E457    D078D09D    BBBDD0F1
873 t =  8: FDDE1DE1    C6946813    F9FE80DD    1510E457    D078D09D
874 t =  9: B8538ACA    FDDE1DE1    F1A51A04    F9FE80DD    1510E457
875 t = 10: 6BA94F63    B8538ACA    7F778778    F1A51A04    F9FE80DD
876 t = 11: 43A2792F    6BA94F63    AE14E2B2    7F778778    F1A51A04
877 t = 12: FECD7BBF    43A2792F    DAEA53D8    AE14E2B2    7F778778
878 t = 13: A2604CA8    FECD7BBF    D0E89E4B    DAEA53D8    AE14E2B2
879 t = 14: 258B0BAA    A2604CA8    FFB35EEF    D0E89E4B    DAEA53D8
880 t = 15: D9772360    258B0BAA    2898132A    FFB35EEF    D0E89E4B
881 t = 16: 5507DB6E    D9772360    8962C2EA    2898132A    FFB35EEF
882 t = 17: A51B58BC    5507DB6E    365DC8D8    8962C2EA    2898132A
883 t = 18: C2EB709F    A51B58BC    9541F6DB    365DC8D8    8962C2EA
884 t = 19: D8992153    C2EB709F    2946D62F    9541F6DB    365DC8D8
885 t = 20: 37482F5F    D8992153    F0BADC27    2946D62F    9541F6DB
886 t = 21: EE8700BD    37482F5F    F6264854    F0BADC27    2946D62F
887 t = 22: 9AD594B9    EE8700BD    CDD20BD7    F6264854    F0BADC27
888 t = 23: 8FBAA5B9    9AD594B9    7BA1C02F    CDD20BD7    F6264854
889 t = 24: 88FB5867    8FBAA5B9    66B5652E    7BA1C02F    CDD20BD7
890 t = 25: EEC50521    88FB5867    63EEA96E    66B5652E    7BA1C02F
891 t = 26: 50BCE434    EEC50521    E23ED619    63EEA96E    66B5652E
892 t = 27: 5C416DAF    50BCE434    7BB14148    E23ED619    63EEA96E
893 t = 28: 2429BE5F    5C416DAF    142F390D    7BB14148    E23ED619
894 t = 29: 0A2FB108    2429BE5F    D7105B6B    142F390D    7BB14148
895 t = 30: 17986223    0A2FB108    C90A6F97    D7105B6B    142F390D
896 t = 31: 8A4AF384    17986223    028BEC42    C90A6F97    D7105B6B
897 t = 32: 6B629993    8A4AF384    C5E61888    028BEC42    C90A6F97
898 t = 33: F15F04F3    6B629993    2292BCE1    C5E61888    028BEC42
899 t = 34: 295CC25B    F15F04F3    DAD8A664    2292BCE1    C5E61888
900 t = 35: 696DA404    295CC25B    FC57C13C    DAD8A664    2292BCE1
901 t = 36: CEF5AE12    696DA404    CA573096    FC57C13C    DAD8A664
902 t = 37: 87D5B80C    CEF5AE12    1A5B6901    CA573096    FC57C13C
903 t = 38: 84E2A5F2    87D5B80C    B3BD6B84    1A5B6901    CA573096
904 t = 39: 03BB6310    84E2A5F2    21F56E03    B3BD6B84    1A5B6901
905 t = 40: C2D8F75F    03BB6310    A138A97C    21F56E03    B3BD6B84
906 t = 41: BFB25768    C2D8F75F    00EED8C4    A138A97C    21F56E03
907 t = 42: 28589152    BFB25768    F0B63DD7    00EED8C4    A138A97C
908 t = 43: EC1D3D61    28589152    2FEC95DA    F0B63DD7    00EED8C4
909 t = 44: 3CAED7AF    EC1D3D61    8A162454    2FEC95DA    F0B63DD7
910 t = 45: C3D033EA    3CAED7AF    7B074F58    8A162454    2FEC95DA
911 t = 46: 7316056A    C3D033EA    CF2BB5EB    7B074F58    8A162454
912 t = 47: 46F93B68    7316056A    B0F40CFA    CF2BB5EB    7B074F58
913 t = 48: DC8E7F26    46F93B68    9CC5815A    B0F40CFA    CF2BB5EB
914 t = 49: 850D411C    DC8E7F26    11BE4EDA    9CC5815A    B0F40CFA
915 t = 50: 7E4672C0    850D411C    B7239FC9    11BE4EDA    9CC5815A
916 t = 51: 89FBD41D    7E4672C0    21435047    B7239FC9    11BE4EDA
917 t = 52: 1797E228    89FBD41D    1F919CB0    21435047    B7239FC9
918 t = 53: 431D65BC    1797E228    627EF507    1F919CB0    21435047
919 t = 54: 2BDBB8CB    431D65BC    05E5F88A    627EF507    1F919CB0
920 t = 55: 6DA72E7F    2BDBB8CB    10C7596F    05E5F88A    627EF507
921 t = 56: A8495A9B    6DA72E7F    CAF6EE32    10C7596F    05E5F88A
922 t = 57: E785655A    A8495A9B    DB69CB9F    CAF6EE32    10C7596F
923 t = 58: 5B086C42    E785655A    EA1256A6    DB69CB9F    CAF6EE32
924 t = 59: A65818F7    5B086C42    B9E15956    EA1256A6    DB69CB9F
925 t = 60: 7AAB101B    A65818F7    96C21B10    B9E15956    EA1256A6
926 t = 61: 93614C9C    7AAB101B    E996063D    96C21B10    B9E15956
927 t = 62: F66D9BF4    93614C9C    DEAAC406    E996063D    96C21B10
928 t = 63: D504902B    F66D9BF4    24D85327    DEAAC406    E996063D
929 t = 64: 60A9DA62    D504902B    3D9B66FD    24D85327    DEAAC406
930 t = 65: 8B687819    60A9DA62    F541240A    3D9B66FD    24D85327
931 t = 66: 083E90C3    8B687819    982A7698    F541240A    3D9B66FD
932 t = 67: F6226BBF    083E90C3    62DA1E06    982A7698    F541240A
933 t = 68: 76C0563B    F6226BBF    C20FA430    62DA1E06    982A7698
934 t = 69: 989DD165    76C0563B    FD889AEF    C20FA430    62DA1E06
935 t = 70: 8B2C7573    989DD165    DDB0158E    FD889AEF    C20FA430
936 t = 71: AE1B8E7B    8B2C7573    66277459    DDB0158E    FD889AEF
937 t = 72: CA1840DE    AE1B8E7B    E2CB1D5C    66277459    DDB0158E
938 t = 73: 16F3BABB    CA1840DE    EB86E39E    E2CB1D5C    66277459
939 t = 74: D28D83AD    16F3BABB    B2861037    EB86E39E    E2CB1D5C
940 t = 75: 6BC02DFE    D28D83AD    C5BCEEAE    B2861037    EB86E39E
941 t = 76: D3A6E275    6BC02DFE    74A360EB    C5BCEEAE    B2861037
942 t = 77: DA955482    D3A6E275    9AF00B7F    74A360EB    C5BCEEAE
943 t = 78: 58C0AAC0    DA955482    74E9B89D    9AF00B7F    74A360EB
944 t = 79: 906FD62C    58C0AAC0    B6A55520    74E9B89D    9AF00B7F.
946 Block 2 has been processed. The values of {Hi} are
948 H0 = F4286818  +  906FD62C  =  84983E44
950 H1 = C37B27AE  +  58C0AAC0  =  1C3BD26E
952 H2 = 0408F581  +  B6A55520  =  BAAE4AA1
954 H3 = 84677148  +  74E9B89D  =  F95129E5
956 H4 = 4A566572  +  9AF00B7F  =  E54670F1.
958 Message digest = 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
960                  APPENDIX C.   A THIRD SAMPLE MESSAGE AND ITS MESSAGE DIGEST
962 This appendix is for informational purposes only and is not required
963 to meet the standard.
965 Let the message be the binary-coded form of the ASCII string which consists
966 of 1,000,000 repetitions of "a".
968 Message digest = 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F