Artifact
bbeb4deaa98d38757f942200b1e99f9600cbc56b48db45ce7523244799c460fb:
0000: 23 20 48 4d 41 43 2d 53 48 41 31 0a 23 20 46 72 # HMAC-SHA1.# Fr
0010: 6f 6d 20 68 74 74 70 73 3a 2f 2f 63 73 72 63 2e om https://csrc.
0020: 6e 69 73 74 2e 67 6f 76 2f 70 72 6f 6a 65 63 74 nist.gov/project
0030: 73 2f 63 72 79 70 74 6f 67 72 61 70 68 69 63 2d s/cryptographic-
0040: 73 74 61 6e 64 61 72 64 73 2d 61 6e 64 2d 67 75 standards-and-gu
0050: 69 64 65 6c 69 6e 65 73 2f 65 78 61 6d 70 6c 65 idelines/example
0060: 2d 76 61 6c 75 65 73 0a 23 20 61 6e 64 20 52 46 -values.# and RF
0070: 43 20 32 32 30 32 0a 23 20 61 6e 64 20 52 46 43 C 2202.# and RFC
0080: 20 36 32 33 34 20 53 48 41 20 61 6e 64 20 53 48 6234 SHA and SH
0090: 41 2d 62 61 73 65 64 20 48 4d 41 43 20 61 6e 64 A-based HMAC and
00a0: 20 48 4b 44 46 0a 0a 5b 62 20 3d 20 36 34 5d 0a HKDF..[b = 64].
00b0: 5b 4c 20 3d 20 32 30 5d 0a 0a 4b 6c 65 6e 20 3d [L = 20]..Klen =
00c0: 20 36 34 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 64.Tlen = 20.Le
00d0: 6e 20 3d 20 33 34 0a 4d 73 67 20 3d 20 22 53 61 n = 34.Msg = "Sa
00e0: 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 mple message for
00f0: 20 6b 65 79 6c 65 6e 3d 62 6c 6f 63 6b 6c 65 6e keylen=blocklen
0100: 22 0a 4b 65 79 20 3d 20 30 30 30 31 30 32 30 33 ".Key = 00010203
0110: 30 34 30 35 30 36 30 37 30 38 30 39 30 61 30 62 0405060708090a0b
0120: 30 63 30 64 30 65 30 66 31 30 31 31 31 32 31 33 0c0d0e0f10111213
0130: 31 34 31 35 31 36 31 37 31 38 31 39 31 61 31 62 1415161718191a1b
0140: 31 63 31 64 31 65 31 66 32 30 32 31 32 32 32 33 1c1d1e1f20212223
0150: 32 34 32 35 32 36 32 37 32 38 32 39 32 61 32 62 2425262728292a2b
0160: 32 63 32 64 32 65 32 66 33 30 33 31 33 32 33 33 2c2d2e2f30313233
0170: 33 34 33 35 33 36 33 37 33 38 33 39 33 61 33 62 3435363738393a3b
0180: 33 63 33 64 33 65 33 66 0a 4d 61 63 20 3d 20 35 3c3d3e3f.Mac = 5
0190: 66 64 35 39 36 65 65 37 38 64 35 35 35 33 63 38 fd596ee78d5553c8
01a0: 66 66 34 65 37 32 64 32 36 36 64 66 64 31 39 32 ff4e72d266dfd192
01b0: 33 36 36 64 61 32 39 0a 0a 4b 6c 65 6e 20 3d 20 366da29..Klen =
01c0: 32 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20.Tlen = 20.Len
01d0: 20 3d 20 33 34 0a 4d 73 67 20 3d 20 22 53 61 6d = 34.Msg = "Sam
01e0: 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 ple message for
01f0: 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 6e 22 keylen<blocklen"
0200: 0a 4b 65 79 20 3d 20 30 30 30 31 30 32 30 33 30 .Key = 000102030
0210: 34 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30 405060708090a0b0
0220: 63 30 64 30 65 30 66 31 30 31 31 31 32 31 33 0a c0d0e0f10111213.
0230: 4d 61 63 20 3d 20 34 63 39 39 66 66 30 63 62 31 Mac = 4c99ff0cb1
0240: 62 33 31 62 64 33 33 66 38 34 33 31 64 62 61 66 b31bd33f8431dbaf
0250: 34 64 31 37 66 63 64 33 35 36 61 38 30 37 0a 0a 4d17fcd356a807..
0260: 4b 6c 65 6e 20 3d 20 31 30 30 0a 54 6c 65 6e 20 Klen = 100.Tlen
0270: 3d 20 32 30 0a 4c 65 6e 20 3d 20 33 34 0a 4d 73 = 20.Len = 34.Ms
0280: 67 20 3d 20 22 53 61 6d 70 6c 65 20 6d 65 73 73 g = "Sample mess
0290: 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3d 62 age for keylen=b
02a0: 6c 6f 63 6b 6c 65 6e 22 0a 4b 65 79 20 3d 20 30 locklen".Key = 0
02b0: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 0010203040506070
02c0: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 8090a0b0c0d0e0f1
02d0: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 0111213141516171
02e0: 38 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32 8191a1b1c1d1e1f2
02f0: 30 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32 0212223242526272
0300: 38 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33 8292a2b2c2d2e2f3
0310: 30 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33 0313233343536373
0320: 38 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34 8393a3b3c3d3e3f4
0330: 30 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34 0414243444546474
0340: 38 34 39 34 61 34 62 34 63 34 64 34 65 34 66 35 8494a4b4c4d4e4f5
0350: 30 35 31 35 32 35 33 35 34 35 35 35 36 35 37 35 0515253545556575
0360: 38 35 39 35 61 35 62 35 63 35 64 35 65 35 66 36 8595a5b5c5d5e5f6
0370: 30 36 31 36 32 36 33 0a 4d 61 63 20 3d 20 32 64 0616263.Mac = 2d
0380: 35 31 62 32 66 37 37 35 30 65 34 31 30 35 38 34 51b2f7750e410584
0390: 36 36 32 65 33 38 66 31 33 33 34 33 35 66 34 63 662e38f133435f4c
03a0: 34 66 64 34 32 61 0a 0a 4b 6c 65 6e 20 3d 20 34 4fd42a..Klen = 4
03b0: 39 0a 54 6c 65 6e 20 3d 20 31 32 0a 4c 65 6e 20 9.Tlen = 12.Len
03c0: 3d 20 35 34 0a 4d 73 67 20 3d 20 22 53 61 6d 70 = 54.Msg = "Samp
03d0: 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 6b le message for k
03e0: 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 6e 2c 20 eylen<blocklen,
03f0: 77 69 74 68 20 74 72 75 6e 63 61 74 65 64 20 74 with truncated t
0400: 61 67 22 0a 4b 65 79 20 3d 20 30 30 30 31 30 32 ag".Key = 000102
0410: 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61 030405060708090a
0420: 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31 32 0b0c0d0e0f101112
0430: 31 33 31 34 31 35 31 36 31 37 31 38 31 39 31 61 131415161718191a
0440: 31 62 31 63 31 64 31 65 31 66 32 30 32 31 32 32 1b1c1d1e1f202122
0450: 32 33 32 34 32 35 32 36 32 37 32 38 32 39 32 61 232425262728292a
0460: 32 62 32 63 32 64 32 65 32 66 33 30 0a 4d 61 63 2b2c2d2e2f30.Mac
0470: 20 3d 20 66 65 33 35 32 39 35 36 35 63 64 38 65 = fe3529565cd8e
0480: 32 38 63 35 66 61 37 39 65 61 63 39 64 38 30 32 28c5fa79eac9d802
0490: 33 62 35 33 62 32 38 39 64 39 36 0a 54 72 75 6e 3b53b289d96.Trun
04a0: 63 20 3d 20 66 65 33 35 32 39 35 36 35 63 64 38 c = fe3529565cd8
04b0: 65 32 38 63 35 66 61 37 39 65 61 63 0a 0a 23 20 e28c5fa79eac..#
04c0: 52 46 43 20 32 32 30 32 20 54 65 73 74 20 43 61 RFC 2202 Test Ca
04d0: 73 65 20 31 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 se 1.Klen = 20.T
04e0: 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 38 len = 20.Len = 8
04f0: 0a 4b 65 79 20 3d 20 30 62 30 62 30 62 30 62 30 .Key = 0b0b0b0b0
0500: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0510: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0a b0b0b0b0b0b0b0b.
0520: 4d 73 67 20 3d 20 22 48 69 20 54 68 65 72 65 22 Msg = "Hi There"
0530: 0a 23 4d 73 67 20 3d 20 34 38 36 39 32 30 35 34 .#Msg = 48692054
0540: 36 38 36 35 37 32 36 35 0a 4d 61 63 20 3d 20 62 68657265.Mac = b
0550: 36 31 37 33 31 38 36 35 35 30 35 37 32 36 34 65 617318655057264e
0560: 32 38 62 63 30 62 36 66 62 33 37 38 63 38 65 66 28bc0b6fb378c8ef
0570: 31 34 36 62 65 30 30 0a 0a 23 20 52 46 43 20 32 146be00..# RFC 2
0580: 32 30 32 20 54 65 73 74 20 43 61 73 65 20 32 0a 202 Test Case 2.
0590: 4b 6c 65 6e 20 3d 20 34 0a 54 6c 65 6e 20 3d 20 Klen = 4.Tlen =
05a0: 32 30 0a 4c 65 6e 20 3d 20 32 38 0a 4b 65 79 20 20.Len = 28.Key
05b0: 3d 20 22 4a 65 66 65 22 0a 23 4b 65 79 20 3d 20 = "Jefe".#Key =
05c0: 34 61 36 35 36 36 36 35 0a 4d 73 67 20 3d 20 22 4a656665.Msg = "
05d0: 77 68 61 74 20 64 6f 20 79 61 20 77 61 6e 74 20 what do ya want
05e0: 66 6f 72 20 6e 6f 74 68 69 6e 67 3f 22 0a 23 4d for nothing?".#M
05f0: 73 67 20 3d 20 37 37 36 38 36 31 37 34 32 30 36 sg = 77686174206
0600: 34 36 66 32 30 37 39 36 31 32 30 37 37 36 31 36 46f2079612077616
0610: 65 37 34 32 30 36 36 36 66 37 32 32 30 36 65 36 e7420666f72206e6
0620: 66 37 34 36 38 36 39 36 65 36 37 33 66 0a 4d 61 f7468696e673f.Ma
0630: 63 20 3d 20 65 66 66 63 64 66 36 61 65 35 65 62 c = effcdf6ae5eb
0640: 32 66 61 32 64 32 37 34 31 36 64 35 66 31 38 34 2fa2d27416d5f184
0650: 64 66 39 63 32 35 39 61 37 63 37 39 0a 0a 23 20 df9c259a7c79..#
0660: 52 46 43 20 32 32 30 32 20 54 65 73 74 20 43 61 RFC 2202 Test Ca
0670: 73 65 20 33 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 se 3.Klen = 20.T
0680: 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 35 len = 20.Len = 5
0690: 30 0a 4b 65 79 20 3d 20 61 61 61 61 61 61 61 61 0.Key = aaaaaaaa
06a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
06b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
06c0: 0a 4d 73 67 20 3d 20 64 64 64 64 64 64 64 64 64 .Msg = ddddddddd
06d0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
06e0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
06f0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0700: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0710: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0720: 64 64 64 64 64 64 64 64 64 64 64 0a 4d 61 63 20 ddddddddddd.Mac
0730: 3d 20 31 32 35 64 37 33 34 32 62 39 61 63 31 31 = 125d7342b9ac11
0740: 63 64 39 31 61 33 39 61 66 34 38 61 61 31 37 62 cd91a39af48aa17b
0750: 34 66 36 33 66 31 37 35 64 33 0a 0a 23 20 52 46 4f63f175d3..# RF
0760: 43 20 32 32 30 32 20 54 65 73 74 20 43 61 73 65 C 2202 Test Case
0770: 20 34 0a 4b 6c 65 6e 20 3d 20 32 35 0a 54 6c 65 4.Klen = 25.Tle
0780: 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 35 30 0a n = 20.Len = 50.
0790: 4b 65 79 20 3d 20 30 31 30 32 30 33 30 34 30 35 Key = 0102030405
07a0: 30 36 30 37 30 38 30 39 30 61 30 62 30 63 30 64 060708090a0b0c0d
07b0: 30 65 30 66 31 30 31 31 31 32 31 33 31 34 31 35 0e0f101112131415
07c0: 31 36 31 37 31 38 31 39 0a 4d 73 67 20 3d 20 63 16171819.Msg = c
07d0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
07e0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
07f0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
0800: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
0810: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
0820: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
0830: 64 63 64 0a 4d 61 63 20 3d 20 34 63 39 30 30 37 dcd.Mac = 4c9007
0840: 66 34 30 32 36 32 35 30 63 36 62 63 38 34 31 34 f4026250c6bc8414
0850: 66 39 62 66 35 30 63 38 36 63 32 64 37 32 33 35 f9bf50c86c2d7235
0860: 64 61 0a 0a 23 20 52 46 43 20 32 32 30 32 20 54 da..# RFC 2202 T
0870: 65 73 74 20 43 61 73 65 20 35 0a 4b 6c 65 6e 20 est Case 5.Klen
0880: 3d 20 32 30 0a 54 6c 65 6e 20 3d 20 31 32 0a 4c = 20.Tlen = 12.L
0890: 65 6e 20 3d 20 32 30 0a 4b 65 79 20 3d 20 30 63 en = 20.Key = 0c
08a0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
08b0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
08c0: 30 63 30 63 30 63 0a 4d 73 67 20 3d 20 22 54 65 0c0c0c.Msg = "Te
08d0: 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 st With Truncati
08e0: 6f 6e 22 0a 23 4d 73 67 20 3d 20 35 34 36 35 37 on".#Msg = 54657
08f0: 33 37 34 32 30 35 37 36 39 37 34 36 38 32 30 35 3742057697468205
0900: 34 37 32 37 35 36 65 36 33 36 31 37 34 36 39 36 472756e636174696
0910: 66 36 65 0a 4d 61 63 20 3d 20 34 63 31 61 30 33 f6e.Mac = 4c1a03
0920: 34 32 34 62 35 35 65 30 37 66 65 37 66 32 37 62 424b55e07fe7f27b
0930: 65 31 64 35 38 62 62 39 33 32 34 61 39 61 35 61 e1d58bb9324a9a5a
0940: 30 34 0a 54 72 75 6e 63 20 3d 20 34 63 31 61 30 04.Trunc = 4c1a0
0950: 33 34 32 34 62 35 35 65 30 37 66 65 37 66 32 37 3424b55e07fe7f27
0960: 62 65 31 0a 0a 23 20 52 46 43 20 32 32 30 32 20 be1..# RFC 2202
0970: 54 65 73 74 20 43 61 73 65 20 36 0a 4b 6c 65 6e Test Case 6.Klen
0980: 20 3d 20 38 30 0a 54 6c 65 6e 20 3d 20 32 30 0a = 80.Tlen = 20.
0990: 4c 65 6e 20 3d 20 35 34 0a 4b 65 79 20 3d 20 61 Len = 54.Key = a
09a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
09b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
09c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
09d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
09e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
09f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0a00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0a10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0a20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0a30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 0a aaaaaaaaaaaaaaa.
0a40: 4d 73 67 20 3d 20 22 54 65 73 74 20 55 73 69 6e Msg = "Test Usin
0a50: 67 20 4c 61 72 67 65 72 20 54 68 61 6e 20 42 6c g Larger Than Bl
0a60: 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20 2d 20 48 ock-Size Key - H
0a70: 61 73 68 20 4b 65 79 20 46 69 72 73 74 22 0a 23 ash Key First".#
0a80: 4d 73 67 20 3d 20 35 34 36 35 37 33 37 34 32 30 Msg = 5465737420
0a90: 35 35 37 33 36 39 36 65 36 37 32 30 34 63 36 31 5573696e67204c61
0aa0: 37 32 36 37 36 35 37 32 32 30 35 34 36 38 36 31 7267657220546861
0ab0: 36 65 32 30 34 32 36 63 36 66 36 33 36 62 32 64 6e20426c6f636b2d
0ac0: 35 33 36 39 37 61 36 35 32 30 34 62 36 35 37 39 53697a65204b6579
0ad0: 32 30 32 64 32 30 34 38 36 31 37 33 36 38 32 30 202d204861736820
0ae0: 34 62 36 35 37 39 32 30 34 36 36 39 37 32 37 33 4b65792046697273
0af0: 37 34 0a 4d 61 63 20 3d 20 61 61 34 61 65 35 65 74.Mac = aa4ae5e
0b00: 31 35 32 37 32 64 30 30 65 39 35 37 30 35 36 33 15272d00e9570563
0b10: 37 63 65 38 61 33 62 35 35 65 64 34 30 32 31 31 7ce8a3b55ed40211
0b20: 32 0a 0a 23 20 52 46 43 20 32 32 30 32 20 54 65 2..# RFC 2202 Te
0b30: 73 74 20 43 61 73 65 20 37 0a 4b 6c 65 6e 20 3d st Case 7.Klen =
0b40: 20 38 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 80.Tlen = 20.Le
0b50: 6e 20 3d 20 37 33 0a 4b 65 79 20 3d 20 61 61 61 n = 73.Key = aaa
0b60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0b70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0b80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0b90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0ba0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0bb0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0bc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0bd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0be0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0bf0: 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 4d 73 aaaaaaaaaaaaa.Ms
0c00: 67 20 3d 20 22 54 65 73 74 20 55 73 69 6e 67 20 g = "Test Using
0c10: 4c 61 72 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 Larger Than Bloc
0c20: 6b 2d 53 69 7a 65 20 4b 65 79 20 61 6e 64 20 4c k-Size Key and L
0c30: 61 72 67 65 72 20 54 68 61 6e 20 4f 6e 65 20 42 arger Than One B
0c40: 6c 6f 63 6b 2d 53 69 7a 65 20 44 61 74 61 22 0a lock-Size Data".
0c50: 23 4d 73 67 20 3d 20 35 34 36 35 37 33 37 34 32 #Msg = 546573742
0c60: 30 35 35 37 33 36 39 36 65 36 37 32 30 34 63 36 05573696e67204c6
0c70: 31 37 32 36 37 36 35 37 32 32 30 35 34 36 38 36 1726765722054686
0c80: 31 36 65 32 30 34 32 36 63 36 66 36 33 36 62 32 16e20426c6f636b2
0c90: 64 35 33 36 39 37 61 36 35 32 30 34 62 36 35 37 d53697a65204b657
0ca0: 39 32 30 36 31 36 65 36 34 32 30 34 63 36 31 37 920616e64204c617
0cb0: 32 36 37 36 35 37 32 32 30 35 34 36 38 36 31 36 2676572205468616
0cc0: 65 32 30 34 66 36 65 36 35 32 30 34 32 36 63 36 e204f6e6520426c6
0cd0: 66 36 33 36 62 32 64 35 33 36 39 37 61 36 35 32 f636b2d53697a652
0ce0: 30 34 34 36 31 37 34 36 31 0a 4d 61 63 20 3d 20 044617461.Mac =
0cf0: 65 38 65 39 39 64 30 66 34 35 32 33 37 64 37 38 e8e99d0f45237d78
0d00: 36 64 36 62 62 61 61 37 39 36 35 63 37 38 30 38 6d6bbaa7965c7808
0d10: 62 62 66 66 31 61 39 31 0a 0a 23 20 57 69 6b 69 bbff1a91..# Wiki
0d20: 70 65 64 69 61 0a 4b 6c 65 6e 20 3d 20 33 0a 54 pedia.Klen = 3.T
0d30: 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 34 len = 20.Len = 4
0d40: 33 0a 4b 65 79 20 3d 20 22 6b 65 79 22 0a 4d 73 3.Key = "key".Ms
0d50: 67 20 3d 20 22 54 68 65 20 71 75 69 63 6b 20 62 g = "The quick b
0d60: 72 6f 77 6e 20 66 6f 78 20 6a 75 6d 70 73 20 6f rown fox jumps o
0d70: 76 65 72 20 74 68 65 20 6c 61 7a 79 20 64 6f 67 ver the lazy dog
0d80: 22 0a 4d 61 63 20 3d 20 64 65 37 63 39 62 38 35 ".Mac = de7c9b85
0d90: 62 38 62 37 38 61 61 36 62 63 38 61 37 61 33 36 b8b78aa6bc8a7a36
0da0: 66 37 30 61 39 30 37 30 31 63 39 64 62 34 64 39 f70a90701c9db4d9
0db0: 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 65 73 ..# RFC 6234 Tes
0dc0: 74 20 43 61 73 65 20 31 0a 4b 6c 65 6e 20 3d 20 t Case 1.Klen =
0dd0: 32 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20.Tlen = 20.Len
0de0: 20 3d 20 38 0a 4b 65 79 20 3d 20 30 62 30 62 30 = 8.Key = 0b0b0
0df0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0e00: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0e10: 62 30 62 0a 4d 73 67 20 3d 20 22 48 69 20 54 68 b0b.Msg = "Hi Th
0e20: 65 72 65 22 0a 23 4d 73 67 20 3d 20 34 38 36 39 ere".#Msg = 4869
0e30: 32 30 35 34 36 38 36 35 37 32 36 35 0a 4d 61 63 205468657265.Mac
0e40: 20 3d 20 62 36 31 37 33 31 38 36 35 35 30 35 37 = b617318655057
0e50: 32 36 34 65 32 38 62 63 30 62 36 66 62 33 37 38 264e28bc0b6fb378
0e60: 63 38 65 66 31 34 36 62 65 30 30 0a 0a 23 20 52 c8ef146be00..# R
0e70: 46 43 20 36 32 33 34 20 54 65 73 74 20 43 61 73 FC 6234 Test Cas
0e80: 65 20 32 0a 4b 6c 65 6e 20 3d 20 34 0a 54 6c 65 e 2.Klen = 4.Tle
0e90: 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 32 38 0a n = 20.Len = 28.
0ea0: 4b 65 79 20 3d 20 22 4a 65 66 65 22 0a 23 4b 65 Key = "Jefe".#Ke
0eb0: 79 20 3d 20 34 61 36 35 36 36 36 35 0a 4d 73 67 y = 4a656665.Msg
0ec0: 20 3d 20 22 77 68 61 74 20 64 6f 20 79 61 20 77 = "what do ya w
0ed0: 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f ant for nothing?
0ee0: 22 0a 23 4d 73 67 20 3d 20 37 37 36 38 36 31 37 ".#Msg = 7768617
0ef0: 34 32 30 36 34 36 66 32 30 37 39 36 31 32 30 37 420646f207961207
0f00: 37 36 31 36 65 37 34 32 30 36 36 36 66 37 32 32 7616e7420666f722
0f10: 30 36 65 36 66 37 34 36 38 36 39 36 65 36 37 33 06e6f7468696e673
0f20: 66 0a 4d 61 63 20 3d 20 65 66 66 63 64 66 36 61 f.Mac = effcdf6a
0f30: 65 35 65 62 32 66 61 32 64 32 37 34 31 36 64 35 e5eb2fa2d27416d5
0f40: 66 31 38 34 64 66 39 63 32 35 39 61 37 63 37 39 f184df9c259a7c79
0f50: 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 65 73 ..# RFC 6234 Tes
0f60: 74 20 43 61 73 65 20 33 0a 4b 6c 65 6e 20 3d 20 t Case 3.Klen =
0f70: 32 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20.Tlen = 20.Len
0f80: 20 3d 20 35 30 0a 4b 65 79 20 3d 20 61 61 61 61 = 50.Key = aaaa
0f90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0fa0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0fb0: 61 61 61 61 0a 4d 73 67 20 3d 20 64 64 64 64 64 aaaa.Msg = ddddd
0fc0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0fd0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0fe0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0ff0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1000: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1010: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 0a ddddddddddddddd.
1020: 4d 61 63 20 3d 20 31 32 35 64 37 33 34 32 62 39 Mac = 125d7342b9
1030: 61 63 31 31 63 64 39 31 61 33 39 61 66 34 38 61 ac11cd91a39af48a
1040: 61 31 37 62 34 66 36 33 66 31 37 35 64 33 0a 0a a17b4f63f175d3..
1050: 23 20 52 46 43 20 36 32 33 34 20 54 65 73 74 20 # RFC 6234 Test
1060: 43 61 73 65 20 34 0a 4b 6c 65 6e 20 3d 20 32 35 Case 4.Klen = 25
1070: 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d .Tlen = 20.Len =
1080: 20 35 30 0a 4b 65 79 20 3d 20 30 31 30 32 30 33 50.Key = 010203
1090: 30 34 30 35 30 36 30 37 30 38 30 39 30 61 30 62 0405060708090a0b
10a0: 30 63 30 64 30 65 30 66 31 30 31 31 31 32 31 33 0c0d0e0f10111213
10b0: 31 34 31 35 31 36 31 37 31 38 31 39 0a 4d 73 67 141516171819.Msg
10c0: 20 3d 20 63 64 63 64 63 64 63 64 63 64 63 64 63 = cdcdcdcdcdcdc
10d0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
10e0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
10f0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1100: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1110: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1120: 64 63 64 63 64 63 64 0a 4d 61 63 20 3d 20 34 63 dcdcdcd.Mac = 4c
1130: 39 30 30 37 66 34 30 32 36 32 35 30 63 36 62 63 9007f4026250c6bc
1140: 38 34 31 34 66 39 62 66 35 30 63 38 36 63 32 64 8414f9bf50c86c2d
1150: 37 32 33 35 64 61 0a 0a 23 20 52 46 43 20 36 32 7235da..# RFC 62
1160: 33 34 20 54 65 73 74 20 43 61 73 65 20 35 0a 4b 34 Test Case 5.K
1170: 6c 65 6e 20 3d 20 32 30 0a 54 6c 65 6e 20 3d 20 len = 20.Tlen =
1180: 31 32 0a 4c 65 6e 20 3d 20 32 30 0a 4b 65 79 20 12.Len = 20.Key
1190: 3d 20 30 63 30 63 30 63 30 63 30 63 30 63 30 63 = 0c0c0c0c0c0c0c
11a0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
11b0: 30 63 30 63 30 63 30 63 30 63 0a 4d 73 67 20 3d 0c0c0c0c0c.Msg =
11c0: 20 22 54 65 73 74 20 57 69 74 68 20 54 72 75 6e "Test With Trun
11d0: 63 61 74 69 6f 6e 22 0a 4d 61 63 20 3d 20 34 63 cation".Mac = 4c
11e0: 31 61 30 33 34 32 34 62 35 35 65 30 37 66 65 37 1a03424b55e07fe7
11f0: 66 32 37 62 65 31 0a 0a 23 20 52 46 43 20 36 32 f27be1..# RFC 62
1200: 33 34 20 54 65 73 74 20 43 61 73 65 20 36 0a 4b 34 Test Case 6.K
1210: 6c 65 6e 20 3d 20 38 30 0a 54 6c 65 6e 20 3d 20 len = 80.Tlen =
1220: 32 30 0a 4c 65 6e 20 3d 20 35 34 0a 4b 65 79 20 20.Len = 54.Key
1230: 3d 20 61 61 61 61 61 61 61 61 61 61 61 61 61 61 = aaaaaaaaaaaaaa
1240: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1250: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1260: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1270: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1280: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1290: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12d0: 61 61 0a 4d 73 67 20 3d 20 22 54 65 73 74 20 55 aa.Msg = "Test U
12e0: 73 69 6e 67 20 4c 61 72 67 65 72 20 54 68 61 6e sing Larger Than
12f0: 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20 Block-Size Key
1300: 2d 20 48 61 73 68 20 4b 65 79 20 46 69 72 73 74 - Hash Key First
1310: 22 0a 4d 61 63 20 3d 20 61 61 34 61 65 35 65 31 ".Mac = aa4ae5e1
1320: 35 32 37 32 64 30 30 65 39 35 37 30 35 36 33 37 5272d00e95705637
1330: 63 65 38 61 33 62 35 35 65 64 34 30 32 31 31 32 ce8a3b55ed402112
1340: 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 65 73 ..# RFC 6234 Tes
1350: 74 20 43 61 73 65 20 37 0a 4b 6c 65 6e 20 3d 20 t Case 7.Klen =
1360: 38 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 80.Tlen = 20.Len
1370: 20 3d 20 37 33 0a 4b 65 79 20 3d 20 61 61 61 61 = 73.Key = aaaa
1380: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1390: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
13f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1400: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1410: 61 61 61 61 61 61 61 61 61 61 61 61 0a 4d 73 67 aaaaaaaaaaaa.Msg
1420: 20 3d 20 22 54 65 73 74 20 55 73 69 6e 67 20 4c = "Test Using L
1430: 61 72 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b arger Than Block
1440: 2d 53 69 7a 65 20 4b 65 79 20 61 6e 64 20 4c 61 -Size Key and La
1450: 72 67 65 72 20 54 68 61 6e 20 4f 6e 65 20 42 6c rger Than One Bl
1460: 6f 63 6b 2d 53 69 7a 65 20 44 61 74 61 22 0a 23 ock-Size Data".#
1470: 4d 73 67 20 3d 20 35 34 36 35 37 33 37 34 32 30 Msg = 5465737420
1480: 35 35 37 33 36 39 36 65 36 37 32 30 34 63 36 31 5573696e67204c61
1490: 37 32 36 37 36 35 37 32 32 30 35 34 36 38 36 31 7267657220546861
14a0: 36 65 32 30 34 32 36 63 36 66 36 33 36 62 32 64 6e20426c6f636b2d
14b0: 35 33 36 39 37 61 36 35 32 30 34 62 36 35 37 39 53697a65204b6579
14c0: 32 30 36 31 36 65 36 34 32 30 34 63 36 31 37 32 20616e64204c6172
14d0: 36 37 36 35 37 32 32 30 35 34 36 38 36 31 36 65 676572205468616e
14e0: 32 30 34 66 36 65 36 35 32 30 34 32 36 63 36 66 204f6e6520426c6f
14f0: 36 33 36 62 32 64 35 33 36 39 37 61 36 35 32 30 636b2d53697a6520
1500: 34 34 36 31 37 34 36 31 0a 4d 61 63 20 3d 20 65 44617461.Mac = e
1510: 38 65 39 39 64 30 66 34 35 32 33 37 64 37 38 36 8e99d0f45237d786
1520: 64 36 62 62 61 61 37 39 36 35 63 37 38 30 38 62 d6bbaa7965c7808b
1530: 62 66 66 31 61 39 31 0a bff1a91.