Artifact
f781b822470340647cce2d562f537ce58860a59edc241b281a68b3ed90074897:
0000: 23 20 53 48 41 31 0a 23 20 46 72 6f 6d 20 68 74 # SHA1.# From ht
0010: 74 70 73 3a 2f 2f 63 73 72 63 2e 6e 69 73 74 2e tps://csrc.nist.
0020: 67 6f 76 2f 70 72 6f 6a 65 63 74 73 2f 63 72 79 gov/projects/cry
0030: 70 74 6f 67 72 61 70 68 69 63 2d 73 74 61 6e 64 ptographic-stand
0040: 61 72 64 73 2d 61 6e 64 2d 67 75 69 64 65 6c 69 ards-and-guideli
0050: 6e 65 73 2f 65 78 61 6d 70 6c 65 2d 76 61 6c 75 nes/example-valu
0060: 65 73 0a 23 20 61 6e 64 20 52 46 43 20 36 32 33 es.# and RFC 623
0070: 34 20 53 48 41 20 61 6e 64 20 53 48 41 2d 62 61 4 SHA and SHA-ba
0080: 73 65 64 20 48 4d 41 43 20 61 6e 64 20 48 4b 44 sed HMAC and HKD
0090: 46 0a 0a 5b 4c 20 3d 20 32 30 5d 0a 0a 4c 65 6e F..[L = 20]..Len
00a0: 20 3d 20 30 0a 4d 73 67 20 3d 20 22 22 0a 4d 44 = 0.Msg = "".MD
00b0: 20 3d 20 64 61 33 39 61 33 65 65 35 65 36 62 34 = da39a3ee5e6b4
00c0: 62 30 64 33 32 35 35 62 66 65 66 39 35 36 30 31 b0d3255bfef95601
00d0: 38 39 30 61 66 64 38 30 37 30 39 0a 0a 4c 65 6e 890afd80709..Len
00e0: 20 3d 20 33 0a 4d 73 67 20 3d 20 22 61 62 63 22 = 3.Msg = "abc"
00f0: 0a 4d 44 20 3d 20 61 39 39 39 33 65 33 36 34 37 .MD = a9993e3647
0100: 30 36 38 31 36 61 62 61 33 65 32 35 37 31 37 38 06816aba3e257178
0110: 35 30 63 32 36 63 39 63 64 30 64 38 39 64 0a 0a 50c26c9cd0d89d..
0120: 4c 65 6e 20 3d 20 35 36 0a 4d 73 67 20 3d 20 22 Len = 56.Msg = "
0130: 61 62 63 64 62 63 64 65 63 64 65 66 64 65 66 67 abcdbcdecdefdefg
0140: 65 66 67 68 66 67 68 69 67 68 69 6a 68 69 6a 6b efghfghighijhijk
0150: 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f ijkljklmklmnlmno
0160: 6d 6e 6f 70 6e 6f 70 71 22 0a 4d 44 20 3d 20 38 mnopnopq".MD = 8
0170: 34 39 38 33 65 34 34 31 63 33 62 64 32 36 65 62 4983e441c3bd26eb
0180: 61 61 65 34 61 61 31 66 39 35 31 32 39 65 35 65 aae4aa1f95129e5e
0190: 35 34 36 37 30 66 31 0a 0a 4c 65 6e 20 3d 20 31 54670f1..Len = 1
01a0: 31 32 0a 4d 73 67 20 3d 20 22 61 62 63 64 65 66 12.Msg = "abcdef
01b0: 67 68 62 63 64 65 66 67 68 69 63 64 65 66 67 68 ghbcdefghicdefgh
01c0: 69 6a 64 65 66 67 68 69 6a 6b 65 66 67 68 69 6a ijdefghijkefghij
01d0: 6b 6c 66 67 68 69 6a 6b 6c 6d 67 68 69 6a 6b 6c klfghijklmghijkl
01e0: 6d 6e 68 69 6a 6b 6c 6d 6e 6f 69 6a 6b 6c 6d 6e mnhijklmnoijklmn
01f0: 6f 70 6a 6b 6c 6d 6e 6f 70 71 6b 6c 6d 6e 6f 70 opjklmnopqklmnop
0200: 71 72 6c 6d 6e 6f 70 71 72 73 6d 6e 6f 70 71 72 qrlmnopqrsmnopqr
0210: 73 74 6e 6f 70 71 72 73 74 75 22 0a 4d 44 20 3d stnopqrstu".MD =
0220: 20 61 34 39 62 32 34 34 36 61 30 32 63 36 34 35 a49b2446a02c645
0230: 62 66 34 31 39 66 39 39 35 62 36 37 30 39 31 32 bf419f995b670912
0240: 35 33 61 30 34 61 32 35 39 0a 0a 4c 65 6e 20 3d 53a04a259..Len =
0250: 20 31 30 30 30 30 30 30 0a 52 65 70 65 61 74 20 1000000.Repeat
0260: 3d 20 31 30 30 30 30 30 30 0a 4d 73 67 20 3d 20 = 1000000.Msg =
0270: 22 61 22 0a 4d 44 20 3d 20 33 34 61 61 39 37 33 "a".MD = 34aa973
0280: 63 64 34 63 34 64 61 61 34 66 36 31 65 65 62 32 cd4c4daa4f61eeb2
0290: 62 64 62 61 64 32 37 33 31 36 35 33 34 30 31 36 bdbad27316534016
02a0: 66 0a 0a 4c 65 6e 20 3d 20 31 30 37 33 37 34 31 f..Len = 1073741
02b0: 38 32 34 0a 52 65 70 65 61 74 20 3d 20 31 36 37 824.Repeat = 167
02c0: 37 37 32 31 36 0a 4d 73 67 20 3d 20 22 61 62 63 77216.Msg = "abc
02d0: 64 65 66 67 68 62 63 64 65 66 67 68 69 63 64 65 defghbcdefghicde
02e0: 66 67 68 69 6a 64 65 66 67 68 69 6a 6b 65 66 67 fghijdefghijkefg
02f0: 68 69 6a 6b 6c 66 67 68 69 6a 6b 6c 6d 67 68 69 hijklfghijklmghi
0300: 6a 6b 6c 6d 6e 68 69 6a 6b 6c 6d 6e 6f 22 0a 4d jklmnhijklmno".M
0310: 44 20 3d 20 37 37 38 39 66 30 63 39 65 66 37 62 D = 7789f0c9ef7b
0320: 66 63 34 30 64 39 33 33 31 31 31 34 33 64 66 62 fc40d93311143dfb
0330: 65 36 39 65 32 30 31 37 66 35 39 32 0a 0a 4c 65 e69e2017f592..Le
0340: 6e 20 3d 20 34 33 0a 4d 73 67 20 3d 20 22 54 68 n = 43.Msg = "Th
0350: 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 66 6f e quick brown fo
0360: 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 68 65 x jumps over the
0370: 20 6c 61 7a 79 20 64 6f 67 22 0a 4d 44 20 3d 20 lazy dog".MD =
0380: 32 66 64 34 65 31 63 36 37 61 32 64 32 38 66 63 2fd4e1c67a2d28fc
0390: 65 64 38 34 39 65 65 31 62 62 37 36 65 37 33 39 ed849ee1bb76e739
03a0: 31 62 39 33 65 62 31 32 0a 0a 23 20 52 46 43 20 1b93eb12..# RFC
03b0: 36 32 33 34 20 54 65 73 74 20 43 61 73 65 20 31 6234 Test Case 1
03c0: 0a 4c 65 6e 20 3d 20 33 0a 4d 73 67 20 3d 20 22 .Len = 3.Msg = "
03d0: 61 62 63 22 0a 4d 44 20 3d 20 61 39 39 39 33 65 abc".MD = a9993e
03e0: 33 36 34 37 30 36 38 31 36 61 62 61 33 65 32 35 364706816aba3e25
03f0: 37 31 37 38 35 30 63 32 36 63 39 63 64 30 64 38 717850c26c9cd0d8
0400: 39 64 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 9d..# RFC 6234 T
0410: 65 73 74 20 43 61 73 65 20 32 0a 4c 65 6e 20 3d est Case 2.Len =
0420: 20 35 36 0a 4d 73 67 20 3d 20 22 61 62 63 64 62 56.Msg = "abcdb
0430: 63 64 65 63 64 65 66 64 65 66 67 65 66 67 68 66 cdecdefdefgefghf
0440: 67 68 69 67 68 69 6a 68 69 6a 6b 69 6a 6b 6c 6a ghighijhijkijklj
0450: 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e 6f 6d 6e 6f 70 6e klmklmnlmnomnopn
0460: 6f 70 71 22 0a 4d 44 20 3d 20 38 34 39 38 33 65 opq".MD = 84983e
0470: 34 34 31 63 33 62 64 32 36 65 62 61 61 65 34 61 441c3bd26ebaae4a
0480: 61 31 66 39 35 31 32 39 65 35 65 35 34 36 37 30 a1f95129e5e54670
0490: 66 31 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 f1..# RFC 6234 T
04a0: 65 73 74 20 43 61 73 65 20 33 0a 4c 65 6e 20 3d est Case 3.Len =
04b0: 20 31 30 30 30 30 30 30 0a 52 65 70 65 61 74 20 1000000.Repeat
04c0: 3d 20 31 30 30 30 30 30 30 0a 4d 73 67 20 3d 20 = 1000000.Msg =
04d0: 22 61 22 0a 4d 44 20 3d 20 33 34 61 61 39 37 33 "a".MD = 34aa973
04e0: 63 64 34 63 34 64 61 61 34 66 36 31 65 65 62 32 cd4c4daa4f61eeb2
04f0: 62 64 62 61 64 32 37 33 31 36 35 33 34 30 31 36 bdbad27316534016
0500: 66 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 65 f..# RFC 6234 Te
0510: 73 74 20 43 61 73 65 20 34 0a 4c 65 6e 20 3d 20 st Case 4.Len =
0520: 36 34 30 0a 52 65 70 65 61 74 20 3d 20 31 30 0a 640.Repeat = 10.
0530: 4d 73 67 20 3d 20 22 30 31 32 33 34 35 36 37 30 Msg = "012345670
0540: 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 1234567012345670
0550: 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 1234567012345670
0560: 31 32 33 34 35 36 37 30 31 32 33 34 35 36 37 30 1234567012345670
0570: 31 32 33 34 35 36 37 22 0a 4d 44 20 3d 20 64 65 1234567".MD = de
0580: 61 33 35 36 61 32 63 64 64 64 39 30 63 37 61 37 a356a2cddd90c7a7
0590: 65 63 65 64 63 35 65 62 62 35 36 33 39 33 34 66 ecedc5ebb563934f
05a0: 34 36 30 34 35 32 0a 0a 23 20 52 46 43 20 36 32 460452..# RFC 62
05b0: 33 34 20 54 65 73 74 20 43 61 73 65 20 36 0a 4c 34 Test Case 6.L
05c0: 65 6e 20 3d 20 31 0a 4d 73 67 20 3d 20 35 65 0a en = 1.Msg = 5e.
05d0: 4d 44 20 3d 20 35 65 36 66 38 30 61 33 34 61 39 MD = 5e6f80a34a9
05e0: 37 39 38 63 61 66 63 36 61 35 64 62 39 36 63 63 798cafc6a5db96cc
05f0: 35 37 62 61 34 63 34 64 62 35 39 63 32 0a 0a 23 57ba4c4db59c2..#
0600: 20 52 46 43 20 36 32 33 34 20 54 65 73 74 20 43 RFC 6234 Test C
0610: 61 73 65 20 38 0a 4c 65 6e 20 3d 20 31 36 0a 4d ase 8.Len = 16.M
0620: 73 67 20 3d 20 39 61 37 64 66 64 66 31 65 63 65 sg = 9a7dfdf1ece
0630: 61 64 30 36 65 64 36 34 36 61 61 35 35 66 65 37 ad06ed646aa55fe7
0640: 35 37 31 34 36 0a 4d 44 20 3d 20 38 32 61 62 66 57146.MD = 82abf
0650: 66 36 36 30 35 64 62 65 31 63 31 37 64 65 66 31 f6605dbe1c17def1
0660: 32 61 33 39 34 66 61 32 32 61 38 32 62 35 34 34 2a394fa22a82b544
0670: 61 33 35 0a 0a 23 20 52 46 43 20 36 32 33 34 20 a35..# RFC 6234
0680: 54 65 73 74 20 43 61 73 65 20 31 30 0a 4c 65 6e Test Case 10.Len
0690: 20 3d 20 31 36 33 0a 4d 73 67 20 3d 20 66 37 38 = 163.Msg = f78
06a0: 66 39 32 31 34 31 62 63 64 31 37 30 61 65 38 39 f92141bcd170ae89
06b0: 62 34 66 62 61 31 35 61 31 64 35 39 66 33 66 64 b4fba15a1d59f3fd
06c0: 38 34 64 32 32 33 63 39 32 35 31 62 64 61 63 62 84d223c9251bdacb
06d0: 62 61 65 36 31 64 30 35 65 64 31 31 35 61 30 36 bae61d05ed115a06
06e0: 61 37 63 65 31 31 37 62 37 62 65 65 61 64 32 34 a7ce117b7beead24
06f0: 34 32 31 64 65 64 39 63 33 32 35 39 32 62 64 35 421ded9c32592bd5
0700: 37 65 64 65 61 65 33 39 63 33 39 66 61 31 66 65 7edeae39c39fa1fe
0710: 38 39 34 36 61 38 34 64 30 63 66 31 66 37 62 65 8946a84d0cf1f7be
0720: 65 61 64 31 37 31 33 65 32 65 30 39 35 39 38 39 ead1713e2e095989
0730: 37 33 34 37 66 36 37 63 38 30 62 30 34 30 30 63 7347f67c80b0400c
0740: 32 30 39 38 31 35 64 36 62 31 30 61 36 38 33 38 209815d6b10a6838
0750: 33 36 66 64 35 35 36 32 61 35 36 63 61 62 31 61 36fd5562a56cab1a
0760: 32 38 65 38 31 62 36 35 37 36 36 35 34 36 33 31 28e81b6576654631
0770: 63 66 31 36 35 36 36 62 38 36 65 33 62 33 33 61 cf16566b86e3b33a
0780: 31 30 38 62 30 35 33 30 37 63 30 30 61 66 66 31 108b05307c00aff1
0790: 34 61 37 36 38 65 64 37 33 35 30 36 30 36 61 30 4a768ed7350606a0
07a0: 66 38 35 65 36 61 39 31 64 33 39 36 66 35 62 35 f85e6a91d396f5b5
07b0: 63 62 65 35 37 37 66 39 62 33 38 38 30 37 63 37 cbe577f9b38807c7
07c0: 64 35 32 33 64 36 64 37 39 32 66 36 65 62 63 32 d523d6d792f6ebc2
07d0: 34 61 34 65 63 66 32 62 33 61 34 32 37 63 64 62 4a4ecf2b3a427cdb
07e0: 62 66 62 0a 4d 44 20 3d 20 63 62 30 30 38 32 63 bfb.MD = cb0082c
07f0: 38 66 31 39 37 64 32 36 30 39 39 31 62 61 36 61 8f197d260991ba6a
0800: 34 36 30 65 37 36 65 32 30 32 62 61 64 32 37 62 460e76e202bad27b
0810: 33 0a 3.