Artifact
ffd58ca5b8c5300b649901727e6a4231398fbe9036614cb46f032ed6652171f9:
0000: 23 20 48 4d 41 43 2d 53 48 41 35 31 32 0a 23 20 # HMAC-SHA512.#
0010: 46 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 63 73 72 From https://csr
0020: 63 2e 6e 69 73 74 2e 67 6f 76 2f 70 72 6f 6a 65 c.nist.gov/proje
0030: 63 74 73 2f 63 72 79 70 74 6f 67 72 61 70 68 69 cts/cryptographi
0040: 63 2d 73 74 61 6e 64 61 72 64 73 2d 61 6e 64 2d c-standards-and-
0050: 67 75 69 64 65 6c 69 6e 65 73 2f 65 78 61 6d 70 guidelines/examp
0060: 6c 65 2d 76 61 6c 75 65 73 0a 23 20 61 6e 64 20 le-values.# and
0070: 52 46 43 20 34 32 33 31 20 48 4d 41 43 2d 53 48 RFC 4231 HMAC-SH
0080: 41 20 49 64 65 6e 74 69 66 69 65 72 73 20 61 6e A Identifiers an
0090: 64 20 54 65 73 74 20 56 65 63 74 6f 72 73 0a 23 d Test Vectors.#
00a0: 20 61 6e 64 20 52 46 43 20 36 32 33 34 20 53 48 and RFC 6234 SH
00b0: 41 20 61 6e 64 20 53 48 41 2d 62 61 73 65 64 20 A and SHA-based
00c0: 48 4d 41 43 20 61 6e 64 20 48 4b 44 46 0a 0a 5b HMAC and HKDF..[
00d0: 62 20 3d 20 31 32 38 5d 0a 5b 4c 20 3d 20 36 34 b = 128].[L = 64
00e0: 5d 0a 0a 4b 6c 65 6e 20 3d 20 31 32 38 0a 54 6c ]..Klen = 128.Tl
00f0: 65 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d 20 33 34 en = 64.Len = 34
0100: 0a 4d 73 67 20 3d 20 22 53 61 6d 70 6c 65 20 6d .Msg = "Sample m
0110: 65 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 essage for keyle
0120: 6e 3d 62 6c 6f 63 6b 6c 65 6e 22 0a 4b 65 79 20 n=blocklen".Key
0130: 3d 20 30 30 30 31 30 32 30 33 30 34 30 35 30 36 = 00010203040506
0140: 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 0708090a0b0c0d0e
0150: 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 0f10111213141516
0160: 31 37 31 38 31 39 31 61 31 62 31 63 31 64 31 65 1718191a1b1c1d1e
0170: 31 66 32 30 32 31 32 32 32 33 32 34 32 35 32 36 1f20212223242526
0180: 32 37 32 38 32 39 32 61 32 62 32 63 32 64 32 65 2728292a2b2c2d2e
0190: 32 66 33 30 33 31 33 32 33 33 33 34 33 35 33 36 2f30313233343536
01a0: 33 37 33 38 33 39 33 61 33 62 33 63 33 64 33 65 3738393a3b3c3d3e
01b0: 33 66 34 30 34 31 34 32 34 33 34 34 34 35 34 36 3f40414243444546
01c0: 34 37 34 38 34 39 34 61 34 62 34 63 34 64 34 65 4748494a4b4c4d4e
01d0: 34 66 35 30 35 31 35 32 35 33 35 34 35 35 35 36 4f50515253545556
01e0: 35 37 35 38 35 39 35 61 35 62 35 63 35 64 35 65 5758595a5b5c5d5e
01f0: 35 66 36 30 36 31 36 32 36 33 36 34 36 35 36 36 5f60616263646566
0200: 36 37 36 38 36 39 36 61 36 62 36 63 36 64 36 65 6768696a6b6c6d6e
0210: 36 66 37 30 37 31 37 32 37 33 37 34 37 35 37 36 6f70717273747576
0220: 37 37 37 38 37 39 37 61 37 62 37 63 37 64 37 65 7778797a7b7c7d7e
0230: 37 66 0a 4d 61 63 20 3d 20 66 63 32 35 65 32 34 7f.Mac = fc25e24
0240: 30 36 35 38 63 61 37 38 35 62 37 61 38 31 31 61 0658ca785b7a811a
0250: 38 64 33 66 37 62 34 63 61 34 38 63 66 61 32 36 8d3f7b4ca48cfa26
0260: 61 38 61 33 36 36 62 66 32 63 64 31 66 38 33 36 a8a366bf2cd1f836
0270: 62 30 35 66 63 62 30 32 34 62 64 33 36 38 35 33 b05fcb024bd36853
0280: 30 38 31 38 31 31 64 36 63 65 61 34 32 31 36 65 081811d6cea4216e
0290: 62 61 64 37 39 64 61 31 63 66 63 62 39 35 65 61 bad79da1cfcb95ea
02a0: 34 35 38 36 62 38 61 30 63 65 33 35 36 35 39 36 4586b8a0ce356596
02b0: 61 35 35 66 62 31 33 34 37 0a 0a 4b 6c 65 6e 20 a55fb1347..Klen
02c0: 3d 20 36 34 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c = 64.Tlen = 64.L
02d0: 65 6e 20 3d 20 33 34 0a 4d 73 67 20 3d 20 22 53 en = 34.Msg = "S
02e0: 61 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f ample message fo
02f0: 72 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 r keylen<blockle
0300: 6e 22 0a 4b 65 79 20 3d 20 30 30 30 31 30 32 30 n".Key = 0001020
0310: 33 30 34 30 35 30 36 30 37 30 38 30 39 30 61 30 30405060708090a0
0320: 62 30 63 30 64 30 65 30 66 31 30 31 31 31 32 31 b0c0d0e0f1011121
0330: 33 31 34 31 35 31 36 31 37 31 38 31 39 31 61 31 31415161718191a1
0340: 62 31 63 31 64 31 65 31 66 32 30 32 31 32 32 32 b1c1d1e1f2021222
0350: 33 32 34 32 35 32 36 32 37 32 38 32 39 32 61 32 32425262728292a2
0360: 62 32 63 32 64 32 65 32 66 33 30 33 31 33 32 33 b2c2d2e2f3031323
0370: 33 33 34 33 35 33 36 33 37 33 38 33 39 33 61 33 33435363738393a3
0380: 62 33 63 33 64 33 65 33 66 0a 4d 61 63 20 3d 20 b3c3d3e3f.Mac =
0390: 66 64 34 34 63 31 38 62 64 61 30 62 62 30 61 36 fd44c18bda0bb0a6
03a0: 63 65 30 65 38 32 62 30 33 31 62 66 32 38 31 38 ce0e82b031bf2818
03b0: 66 36 35 33 39 62 64 35 36 65 63 30 30 62 64 63 f6539bd56ec00bdc
03c0: 31 30 61 38 61 32 64 37 33 30 62 33 36 33 34 64 10a8a2d730b3634d
03d0: 65 32 35 34 35 64 36 33 39 62 30 66 32 63 66 37 e2545d639b0f2cf7
03e0: 31 30 64 30 36 39 32 63 37 32 61 31 38 39 36 66 10d0692c72a1896f
03f0: 31 66 32 31 31 63 32 62 39 32 32 64 31 61 39 36 1f211c2b922d1a96
0400: 63 33 39 32 65 30 37 65 37 65 61 39 66 65 64 63 c392e07e7ea9fedc
0410: 0a 0a 4b 6c 65 6e 20 3d 20 32 30 30 0a 54 6c 65 ..Klen = 200.Tle
0420: 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d 20 33 34 0a n = 64.Len = 34.
0430: 4d 73 67 20 3d 20 22 53 61 6d 70 6c 65 20 6d 65 Msg = "Sample me
0440: 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e ssage for keylen
0450: 3d 62 6c 6f 63 6b 6c 65 6e 22 0a 4b 65 79 20 3d =blocklen".Key =
0460: 20 30 30 30 31 30 32 30 33 30 34 30 35 30 36 30 000102030405060
0470: 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 30 708090a0b0c0d0e0
0480: 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 31 f101112131415161
0490: 37 31 38 31 39 31 61 31 62 31 63 31 64 31 65 31 718191a1b1c1d1e1
04a0: 66 32 30 32 31 32 32 32 33 32 34 32 35 32 36 32 f202122232425262
04b0: 37 32 38 32 39 32 61 32 62 32 63 32 64 32 65 32 728292a2b2c2d2e2
04c0: 66 33 30 33 31 33 32 33 33 33 34 33 35 33 36 33 f303132333435363
04d0: 37 33 38 33 39 33 61 33 62 33 63 33 64 33 65 33 738393a3b3c3d3e3
04e0: 66 34 30 34 31 34 32 34 33 34 34 34 35 34 36 34 f404142434445464
04f0: 37 34 38 34 39 34 61 34 62 34 63 34 64 34 65 34 748494a4b4c4d4e4
0500: 66 35 30 35 31 35 32 35 33 35 34 35 35 35 36 35 f505152535455565
0510: 37 35 38 35 39 35 61 35 62 35 63 35 64 35 65 35 758595a5b5c5d5e5
0520: 66 36 30 36 31 36 32 36 33 36 34 36 35 36 36 36 f606162636465666
0530: 37 36 38 36 39 36 61 36 62 36 63 36 64 36 65 36 768696a6b6c6d6e6
0540: 66 37 30 37 31 37 32 37 33 37 34 37 35 37 36 37 f707172737475767
0550: 37 37 38 37 39 37 61 37 62 37 63 37 64 37 65 37 778797a7b7c7d7e7
0560: 66 38 30 38 31 38 32 38 33 38 34 38 35 38 36 38 f808182838485868
0570: 37 38 38 38 39 38 61 38 62 38 63 38 64 38 65 38 788898a8b8c8d8e8
0580: 66 39 30 39 31 39 32 39 33 39 34 39 35 39 36 39 f909192939495969
0590: 37 39 38 39 39 39 61 39 62 39 63 39 64 39 65 39 798999a9b9c9d9e9
05a0: 66 61 30 61 31 61 32 61 33 61 34 61 35 61 36 61 fa0a1a2a3a4a5a6a
05b0: 37 61 38 61 39 61 61 61 62 61 63 61 64 61 65 61 7a8a9aaabacadaea
05c0: 66 62 30 62 31 62 32 62 33 62 34 62 35 62 36 62 fb0b1b2b3b4b5b6b
05d0: 37 62 38 62 39 62 61 62 62 62 63 62 64 62 65 62 7b8b9babbbcbdbeb
05e0: 66 63 30 63 31 63 32 63 33 63 34 63 35 63 36 63 fc0c1c2c3c4c5c6c
05f0: 37 0a 4d 61 63 20 3d 20 64 39 33 65 63 38 64 32 7.Mac = d93ec8d2
0600: 64 65 31 61 64 32 61 39 39 35 37 63 62 39 62 38 de1ad2a9957cb9b8
0610: 33 66 31 34 65 37 36 61 64 36 62 35 65 30 63 63 3f14e76ad6b5e0cc
0620: 65 32 38 35 30 37 39 61 31 32 37 64 33 62 31 34 e285079a127d3b14
0630: 62 63 63 62 37 61 61 37 32 38 36 64 34 61 63 30 bccb7aa7286d4ac0
0640: 64 34 63 65 36 34 32 31 35 66 32 62 63 39 65 36 d4ce64215f2bc9e6
0650: 38 37 30 62 33 33 64 39 37 34 33 38 62 65 34 61 870b33d97438be4a
0660: 61 61 32 30 63 64 61 35 63 35 61 39 31 32 62 34 aa20cda5c5a912b4
0670: 38 62 38 65 32 37 66 33 0a 0a 4b 6c 65 6e 20 3d 8b8e27f3..Klen =
0680: 20 34 38 0a 54 6c 65 6e 20 3d 20 33 32 0a 4c 65 48.Tlen = 32.Le
0690: 6e 20 3d 20 35 34 0a 4d 73 67 20 3d 20 22 53 61 n = 54.Msg = "Sa
06a0: 6d 70 6c 65 20 6d 65 73 73 61 67 65 20 66 6f 72 mple message for
06b0: 20 6b 65 79 6c 65 6e 3c 62 6c 6f 63 6b 6c 65 6e keylen<blocklen
06c0: 2c 20 77 69 74 68 20 74 72 75 6e 63 61 74 65 64 , with truncated
06d0: 20 74 61 67 22 0a 4b 65 79 20 3d 20 30 30 30 31 tag".Key = 0001
06e0: 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 0203040506070809
06f0: 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31 0a0b0c0d0e0f1011
0700: 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39 1213141516171819
0710: 31 61 31 62 31 63 31 64 31 65 31 66 32 30 32 31 1a1b1c1d1e1f2021
0720: 32 32 32 33 32 34 32 35 32 36 32 37 32 38 32 39 2223242526272829
0730: 32 61 32 62 32 63 32 64 32 65 32 66 33 30 0a 4d 2a2b2c2d2e2f30.M
0740: 61 63 20 3d 20 30 30 66 33 65 39 61 37 37 62 62 ac = 00f3e9a77bb
0750: 30 66 30 36 64 65 31 35 66 31 36 30 36 30 33 65 0f06de15f160603e
0760: 34 32 62 35 30 32 38 37 35 38 38 30 38 35 39 36 42b5028758808596
0770: 36 36 34 63 30 33 65 31 61 62 38 66 62 32 62 30 664c03e1ab8fb2b0
0780: 37 36 37 37 38 30 35 36 33 61 65 64 63 36 34 34 767780563aedc644
0790: 39 36 30 64 34 66 30 63 30 63 35 64 32 33 39 66 960d4f0c0c5d239f
07a0: 36 37 61 32 61 36 31 62 31 34 31 65 38 63 38 37 67a2a61b141e8c87
07b0: 31 66 33 64 34 30 64 62 32 63 36 30 35 35 38 38 1f3d40db2c605588
07c0: 64 61 62 39 32 0a 54 72 75 6e 63 20 3d 20 30 30 dab92.Trunc = 00
07d0: 66 33 65 39 61 37 37 62 62 30 66 30 36 64 65 31 f3e9a77bb0f06de1
07e0: 35 66 31 36 30 36 30 33 65 34 32 62 35 30 32 38 5f160603e42b5028
07f0: 37 35 38 38 30 38 35 39 36 36 36 34 63 30 33 65 758808596664c03e
0800: 31 61 62 38 66 62 32 62 30 37 36 37 37 38 0a 0a 1ab8fb2b076778..
0810: 23 20 52 46 43 20 34 32 33 31 20 54 65 73 74 20 # RFC 4231 Test
0820: 43 61 73 65 20 31 0a 4b 6c 65 6e 20 3d 20 32 30 Case 1.Klen = 20
0830: 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d .Tlen = 64.Len =
0840: 20 38 0a 4b 65 79 20 3d 20 30 62 30 62 30 62 30 8.Key = 0b0b0b0
0850: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0860: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
0870: 62 0a 4d 73 67 20 3d 20 22 48 69 20 54 68 65 72 b.Msg = "Hi Ther
0880: 65 22 0a 23 4d 73 67 20 3d 20 34 38 36 39 32 30 e".#Msg = 486920
0890: 35 34 36 38 36 35 37 32 36 35 0a 4d 61 63 20 3d 5468657265.Mac =
08a0: 20 38 37 61 61 37 63 64 65 61 35 65 66 36 31 39 87aa7cdea5ef619
08b0: 64 34 66 66 30 62 34 32 34 31 61 31 64 36 63 62 d4ff0b4241a1d6cb
08c0: 30 32 33 37 39 66 34 65 32 63 65 34 65 63 32 37 02379f4e2ce4ec27
08d0: 38 37 61 64 30 62 33 30 35 34 35 65 31 37 63 64 87ad0b30545e17cd
08e0: 65 64 61 61 38 33 33 62 37 64 36 62 38 61 37 30 edaa833b7d6b8a70
08f0: 32 30 33 38 62 32 37 34 65 61 65 61 33 66 34 65 2038b274eaea3f4e
0900: 34 62 65 39 64 39 31 34 65 65 62 36 31 66 31 37 4be9d914eeb61f17
0910: 30 32 65 36 39 36 63 32 30 33 61 31 32 36 38 35 02e696c203a12685
0920: 34 0a 0a 23 20 52 46 43 20 34 32 33 31 20 54 65 4..# RFC 4231 Te
0930: 73 74 20 43 61 73 65 20 32 3a 20 54 65 73 74 20 st Case 2: Test
0940: 77 69 74 68 20 61 20 6b 65 79 20 73 68 6f 72 74 with a key short
0950: 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 6e 67 er than the leng
0960: 74 68 20 6f 66 20 74 68 65 20 48 4d 41 43 20 6f th of the HMAC o
0970: 75 74 70 75 74 2e 0a 4b 6c 65 6e 20 3d 20 34 0a utput..Klen = 4.
0980: 54 6c 65 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d 20 Tlen = 64.Len =
0990: 32 38 0a 4b 65 79 20 3d 20 22 4a 65 66 65 22 0a 28.Key = "Jefe".
09a0: 23 4b 65 79 20 3d 20 34 61 36 35 36 36 36 35 0a #Key = 4a656665.
09b0: 4d 73 67 20 3d 20 22 77 68 61 74 20 64 6f 20 79 Msg = "what do y
09c0: 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69 a want for nothi
09d0: 6e 67 3f 22 0a 23 4d 73 67 20 3d 20 37 37 36 38 ng?".#Msg = 7768
09e0: 36 31 37 34 32 30 36 34 36 66 32 30 37 39 36 31 617420646f207961
09f0: 32 30 37 37 36 31 36 65 37 34 32 30 36 36 36 66 2077616e7420666f
0a00: 37 32 32 30 36 65 36 66 37 34 36 38 36 39 36 65 72206e6f7468696e
0a10: 36 37 33 66 0a 4d 61 63 20 3d 20 31 36 34 62 37 673f.Mac = 164b7
0a20: 61 37 62 66 63 66 38 31 39 65 32 65 33 39 35 66 a7bfcf819e2e395f
0a30: 62 65 37 33 62 35 36 65 30 61 33 38 37 62 64 36 be73b56e0a387bd6
0a40: 34 32 32 32 65 38 33 31 66 64 36 31 30 32 37 30 4222e831fd610270
0a50: 63 64 37 65 61 32 35 30 35 35 34 39 37 35 38 62 cd7ea2505549758b
0a60: 66 37 35 63 30 35 61 39 39 34 61 36 64 30 33 34 f75c05a994a6d034
0a70: 66 36 35 66 38 66 30 65 36 66 64 63 61 65 61 62 f65f8f0e6fdcaeab
0a80: 31 61 33 34 64 34 61 36 62 34 62 36 33 36 65 30 1a34d4a6b4b636e0
0a90: 37 30 61 33 38 62 63 65 37 33 37 0a 0a 23 20 52 70a38bce737..# R
0aa0: 46 43 20 34 32 33 31 20 54 65 73 74 20 43 61 73 FC 4231 Test Cas
0ab0: 65 20 33 3a 20 54 65 73 74 20 77 69 74 68 20 61 e 3: Test with a
0ac0: 20 63 6f 6d 62 69 6e 65 64 20 6c 65 6e 67 74 68 combined length
0ad0: 20 6f 66 20 6b 65 79 20 61 6e 64 20 64 61 74 61 of key and data
0ae0: 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 20 that is larger
0af0: 74 68 61 6e 20 36 34 20 62 79 74 65 73 20 28 3d than 64 bytes (=
0b00: 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 20 53 block-size of S
0b10: 48 41 2d 32 32 34 20 61 6e 64 20 53 48 41 2d 32 HA-224 and SHA-2
0b20: 35 36 29 2e 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 56)..Klen = 20.T
0b30: 6c 65 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d 20 35 len = 64.Len = 5
0b40: 30 0a 4b 65 79 20 3d 20 61 61 61 61 61 61 61 61 0.Key = aaaaaaaa
0b50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0b60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0b70: 0a 4d 73 67 20 3d 20 64 64 64 64 64 64 64 64 64 .Msg = ddddddddd
0b80: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0b90: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0ba0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0bb0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0bc0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
0bd0: 64 64 64 64 64 64 64 64 64 64 64 0a 4d 61 63 20 ddddddddddd.Mac
0be0: 3d 20 66 61 37 33 62 30 30 38 39 64 35 36 61 32 = fa73b0089d56a2
0bf0: 38 34 65 66 62 30 66 30 37 35 36 63 38 39 30 62 84efb0f0756c890b
0c00: 65 39 62 31 62 35 64 62 64 64 38 65 65 38 31 61 e9b1b5dbdd8ee81a
0c10: 33 36 35 35 66 38 33 65 33 33 62 32 32 37 39 64 3655f83e33b2279d
0c20: 33 39 62 66 33 65 38 34 38 32 37 39 61 37 32 32 39bf3e848279a722
0c30: 63 38 30 36 62 34 38 35 61 34 37 65 36 37 63 38 c806b485a47e67c8
0c40: 30 37 62 39 34 36 61 33 33 37 62 65 65 38 39 34 07b946a337bee894
0c50: 32 36 37 34 32 37 38 38 35 39 65 31 33 32 39 32 2674278859e13292
0c60: 66 62 0a 0a 23 20 52 46 43 20 34 32 33 31 20 54 fb..# RFC 4231 T
0c70: 65 73 74 20 43 61 73 65 20 34 3a 20 54 65 73 74 est Case 4: Test
0c80: 20 77 69 74 68 20 61 20 63 6f 6d 62 69 6e 65 64 with a combined
0c90: 20 6c 65 6e 67 74 68 20 6f 66 20 6b 65 79 20 61 length of key a
0ca0: 6e 64 20 64 61 74 61 20 74 68 61 74 20 69 73 20 nd data that is
0cb0: 6c 61 72 67 65 72 20 74 68 61 6e 20 36 34 20 62 larger than 64 b
0cc0: 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 ytes (= block-si
0cd0: 7a 65 20 6f 66 20 53 48 41 2d 32 32 34 20 61 6e ze of SHA-224 an
0ce0: 64 20 53 48 41 2d 32 35 36 29 2e 0a 4b 6c 65 6e d SHA-256)..Klen
0cf0: 20 3d 20 32 35 0a 54 6c 65 6e 20 3d 20 36 34 0a = 25.Tlen = 64.
0d00: 4c 65 6e 20 3d 20 35 30 0a 4b 65 79 20 3d 20 30 Len = 50.Key = 0
0d10: 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 1020304050607080
0d20: 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 90a0b0c0d0e0f101
0d30: 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 1121314151617181
0d40: 39 0a 4d 73 67 20 3d 20 63 64 63 64 63 64 63 64 9.Msg = cdcdcdcd
0d50: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d60: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d70: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d80: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0d90: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 cdcdcdcdcdcdcdcd
0da0: 63 64 63 64 63 64 63 64 63 64 63 64 0a 4d 61 63 cdcdcdcdcdcd.Mac
0db0: 20 3d 20 62 30 62 61 34 36 35 36 33 37 34 35 38 = b0ba465637458
0dc0: 63 36 39 39 30 65 35 61 38 63 35 66 36 31 64 34 c6990e5a8c5f61d4
0dd0: 61 66 37 65 35 37 36 64 39 37 66 66 39 34 62 38 af7e576d97ff94b8
0de0: 37 32 64 65 37 36 66 38 30 35 30 33 36 31 65 65 72de76f8050361ee
0df0: 33 64 62 61 39 31 63 61 35 63 31 31 61 61 32 35 3dba91ca5c11aa25
0e00: 65 62 34 64 36 37 39 32 37 35 63 63 35 37 38 38 eb4d679275cc5788
0e10: 30 36 33 61 35 66 31 39 37 34 31 31 32 30 63 34 063a5f19741120c4
0e20: 66 32 64 65 32 61 64 65 62 65 62 31 30 61 32 39 f2de2adebeb10a29
0e30: 38 64 64 0a 0a 23 20 52 46 43 20 34 32 33 31 20 8dd..# RFC 4231
0e40: 54 65 73 74 20 43 61 73 65 20 35 3a 20 54 65 73 Test Case 5: Tes
0e50: 74 20 77 69 74 68 20 61 20 74 72 75 6e 63 61 74 t with a truncat
0e60: 69 6f 6e 20 6f 66 20 6f 75 74 70 75 74 20 74 6f ion of output to
0e70: 20 31 32 38 20 62 69 74 73 2e 0a 4b 6c 65 6e 20 128 bits..Klen
0e80: 3d 20 32 30 0a 54 6c 65 6e 20 3d 20 31 36 0a 4c = 20.Tlen = 16.L
0e90: 65 6e 20 3d 20 32 30 0a 4b 65 79 20 3d 20 30 63 en = 20.Key = 0c
0ea0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
0eb0: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
0ec0: 30 63 30 63 30 63 0a 4d 73 67 20 3d 20 22 54 65 0c0c0c.Msg = "Te
0ed0: 73 74 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 st With Truncati
0ee0: 6f 6e 22 0a 4d 61 63 20 3d 20 34 31 35 66 61 64 on".Mac = 415fad
0ef0: 36 32 37 31 35 38 30 61 35 33 31 64 34 31 37 39 6271580a531d4179
0f00: 62 63 38 39 31 64 38 37 61 36 0a 54 72 75 6e 63 bc891d87a6.Trunc
0f10: 20 3d 20 34 31 35 66 61 64 36 32 37 31 35 38 30 = 415fad6271580
0f20: 61 35 33 31 64 34 31 37 39 62 63 38 39 31 64 38 a531d4179bc891d8
0f30: 37 61 36 0a 0a 23 20 52 46 43 20 34 32 33 31 20 7a6..# RFC 4231
0f40: 54 65 73 74 20 43 61 73 65 20 36 3a 20 54 65 73 Test Case 6: Tes
0f50: 74 20 77 69 74 68 20 61 20 6b 65 79 20 6c 61 72 t with a key lar
0f60: 67 65 72 20 74 68 61 6e 20 31 32 38 20 62 79 74 ger than 128 byt
0f70: 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 es (= block-size
0f80: 20 6f 66 20 53 48 41 2d 33 38 34 20 61 6e 64 20 of SHA-384 and
0f90: 53 48 41 2d 35 31 32 29 2e 0a 4b 6c 65 6e 20 3d SHA-512)..Klen =
0fa0: 20 31 33 31 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c 131.Tlen = 64.L
0fb0: 65 6e 20 3d 20 35 34 0a 4b 65 79 20 3d 20 20 61 en = 54.Key = a
0fc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0fd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
0ff0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1000: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1010: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1020: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1030: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1040: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1050: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1060: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1070: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1080: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1090: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
10a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
10b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
10c0: 61 61 61 61 61 0a 4d 73 67 20 3d 20 22 54 65 73 aaaaa.Msg = "Tes
10d0: 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54 t Using Larger T
10e0: 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b han Block-Size K
10f0: 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69 ey - Hash Key Fi
1100: 72 73 74 22 0a 23 4d 73 67 20 3d 20 35 34 36 35 rst".#Msg = 5465
1110: 37 33 37 34 32 30 35 35 37 33 36 39 36 65 36 37 7374205573696e67
1120: 32 30 34 63 36 31 37 32 36 37 36 35 37 32 32 30 204c617267657220
1130: 35 34 36 38 36 31 36 65 32 30 34 32 36 63 36 66 5468616e20426c6f
1140: 36 33 36 62 32 64 35 33 36 39 37 61 36 35 32 30 636b2d53697a6520
1150: 34 62 36 35 37 39 32 30 32 64 32 30 34 38 36 31 4b6579202d204861
1160: 37 33 36 38 32 30 34 62 36 35 37 39 32 30 34 36 7368204b65792046
1170: 36 39 37 32 37 33 37 34 0a 4d 61 63 20 3d 20 38 69727374.Mac = 8
1180: 30 62 32 34 32 36 33 63 37 63 31 61 33 65 62 62 0b24263c7c1a3ebb
1190: 37 31 34 39 33 63 31 64 64 37 62 65 38 62 34 39 71493c1dd7be8b49
11a0: 62 34 36 64 31 66 34 31 62 34 61 65 65 63 31 31 b46d1f41b4aeec11
11b0: 32 31 62 30 31 33 37 38 33 66 38 66 33 35 32 36 21b013783f8f3526
11c0: 62 35 36 64 30 33 37 65 30 35 66 32 35 39 38 62 b56d037e05f2598b
11d0: 64 30 66 64 32 32 31 35 64 36 61 31 65 35 32 39 d0fd2215d6a1e529
11e0: 35 65 36 34 66 37 33 66 36 33 66 30 61 65 63 38 5e64f73f63f0aec8
11f0: 62 39 31 35 61 39 38 35 64 37 38 36 35 39 38 0a b915a985d786598.
1200: 0a 23 20 52 46 43 20 34 32 33 31 20 54 65 73 74 .# RFC 4231 Test
1210: 20 43 61 73 65 20 37 3a 20 54 65 73 74 20 77 69 Case 7: Test wi
1220: 74 68 20 61 20 6b 65 79 20 61 6e 64 20 64 61 74 th a key and dat
1230: 61 20 74 68 61 74 20 69 73 20 6c 61 72 67 65 72 a that is larger
1240: 20 74 68 61 6e 20 31 32 38 20 62 79 74 65 73 20 than 128 bytes
1250: 28 3d 20 62 6c 6f 63 6b 2d 73 69 7a 65 20 6f 66 (= block-size of
1260: 20 53 48 41 2d 33 38 34 20 61 6e 64 20 53 48 41 SHA-384 and SHA
1270: 2d 35 31 32 29 2e 0a 4b 6c 65 6e 20 3d 20 31 33 -512)..Klen = 13
1280: 31 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c 65 6e 20 1.Tlen = 64.Len
1290: 3d 20 31 35 32 0a 4b 65 79 20 3d 20 61 61 61 61 = 152.Key = aaaa
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 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
12f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1300: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1310: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1320: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1330: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1340: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1350: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1360: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1370: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
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 0a 4d 73 67 20 3d 20 22 54 68 69 73 20 69 aa.Msg = "This i
13b0: 73 20 61 20 74 65 73 74 20 75 73 69 6e 67 20 61 s a test using a
13c0: 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c 6f larger than blo
13d0: 63 6b 2d 73 69 7a 65 20 6b 65 79 20 61 6e 64 20 ck-size key and
13e0: 61 20 6c 61 72 67 65 72 20 74 68 61 6e 20 62 6c a larger than bl
13f0: 6f 63 6b 2d 73 69 7a 65 20 64 61 74 61 2e 20 54 ock-size data. T
1400: 68 65 20 6b 65 79 20 6e 65 65 64 73 20 74 6f 20 he key needs to
1410: 62 65 20 68 61 73 68 65 64 20 62 65 66 6f 72 65 be hashed before
1420: 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74 being used by t
1430: 68 65 20 48 4d 41 43 20 61 6c 67 6f 72 69 74 68 he HMAC algorith
1440: 6d 2e 22 0a 23 4d 73 67 20 3d 20 35 34 36 38 36 m.".#Msg = 54686
1450: 39 37 33 32 30 36 39 37 33 32 30 36 31 32 30 37 9732069732061207
1460: 34 36 35 37 33 37 34 32 30 37 35 37 33 36 39 36 4657374207573696
1470: 65 36 37 32 30 36 31 32 30 36 63 36 31 37 32 36 e672061206c61726
1480: 37 36 35 37 32 32 30 37 34 36 38 36 31 36 65 32 76572207468616e2
1490: 30 36 32 36 63 36 66 36 33 36 62 32 64 37 33 36 0626c6f636b2d736
14a0: 39 37 61 36 35 32 30 36 62 36 35 37 39 32 30 36 97a65206b6579206
14b0: 31 36 65 36 34 32 30 36 31 32 30 36 63 36 31 37 16e642061206c617
14c0: 32 36 37 36 35 37 32 32 30 37 34 36 38 36 31 36 2676572207468616
14d0: 65 32 30 36 32 36 63 36 66 36 33 36 62 32 64 37 e20626c6f636b2d7
14e0: 33 36 39 37 61 36 35 32 30 36 34 36 31 37 34 36 3697a65206461746
14f0: 31 32 65 32 30 35 34 36 38 36 35 32 30 36 62 36 12e20546865206b6
1500: 35 37 39 32 30 36 65 36 35 36 35 36 34 37 33 32 579206e656564732
1510: 30 37 34 36 66 32 30 36 32 36 35 32 30 36 38 36 0746f20626520686
1520: 31 37 33 36 38 36 35 36 34 32 30 36 32 36 35 36 1736865642062656
1530: 36 36 66 37 32 36 35 32 30 36 32 36 35 36 39 36 66f7265206265696
1540: 65 36 37 32 30 37 35 37 33 36 35 36 34 32 30 36 e672075736564206
1550: 32 37 39 32 30 37 34 36 38 36 35 32 30 34 38 34 2792074686520484
1560: 64 34 31 34 33 32 30 36 31 36 63 36 37 36 66 37 d414320616c676f7
1570: 32 36 39 37 34 36 38 36 64 32 65 0a 4d 61 63 20 26974686d2e.Mac
1580: 3d 20 65 33 37 62 36 61 37 37 35 64 63 38 37 64 = e37b6a775dc87d
1590: 62 61 61 34 64 66 61 39 66 39 36 65 35 65 33 66 baa4dfa9f96e5e3f
15a0: 66 64 64 65 62 64 37 31 66 38 38 36 37 32 38 39 fddebd71f8867289
15b0: 38 36 35 64 66 35 61 33 32 64 32 30 63 64 63 39 865df5a32d20cdc9
15c0: 34 34 62 36 30 32 32 63 61 63 33 63 34 39 38 32 44b6022cac3c4982
15d0: 62 31 30 64 35 65 65 62 35 35 63 33 65 34 64 65 b10d5eeb55c3e4de
15e0: 31 35 31 33 34 36 37 36 66 62 36 64 65 30 34 34 15134676fb6de044
15f0: 36 30 36 35 63 39 37 34 34 30 66 61 38 63 36 61 6065c97440fa8c6a
1600: 35 38 0a 0a 23 20 57 69 6b 69 70 65 64 69 61 0a 58..# Wikipedia.
1610: 4b 6c 65 6e 20 3d 20 33 0a 54 6c 65 6e 20 3d 20 Klen = 3.Tlen =
1620: 36 34 0a 4c 65 6e 20 3d 20 34 33 0a 4b 65 79 20 64.Len = 43.Key
1630: 3d 20 22 6b 65 79 22 0a 4d 73 67 20 3d 20 22 54 = "key".Msg = "T
1640: 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 66 he quick brown f
1650: 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74 68 ox jumps over th
1660: 65 20 6c 61 7a 79 20 64 6f 67 22 0a 4d 61 63 20 e lazy dog".Mac
1670: 3d 20 62 34 32 61 66 30 39 30 35 37 62 61 63 31 = b42af09057bac1
1680: 65 32 64 34 31 37 30 38 65 34 38 61 39 30 32 65 e2d41708e48a902e
1690: 30 39 62 35 66 66 37 66 31 32 61 62 34 32 38 61 09b5ff7f12ab428a
16a0: 34 66 65 38 36 36 35 33 63 37 33 64 64 32 34 38 4fe86653c73dd248
16b0: 66 62 38 32 66 39 34 38 61 35 34 39 66 37 62 37 fb82f948a549f7b7
16c0: 39 31 61 35 62 34 31 39 31 35 65 65 34 64 31 65 91a5b41915ee4d1e
16d0: 63 33 39 33 35 33 35 37 65 34 65 32 33 31 37 32 c3935357e4e23172
16e0: 35 30 64 30 33 37 32 61 66 61 32 65 62 65 65 62 50d0372afa2ebeeb
16f0: 33 61 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 3a..# RFC 6234 T
1700: 65 73 74 20 43 61 73 65 20 31 0a 4b 6c 65 6e 20 est Case 1.Klen
1710: 3d 20 32 30 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c = 20.Tlen = 64.L
1720: 65 6e 20 3d 20 38 0a 4b 65 79 20 3d 20 30 62 30 en = 8.Key = 0b0
1730: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
1740: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 b0b0b0b0b0b0b0b0
1750: 62 30 62 30 62 0a 4d 73 67 20 3d 20 22 48 69 20 b0b0b.Msg = "Hi
1760: 54 68 65 72 65 22 0a 23 4d 73 67 20 3d 20 34 38 There".#Msg = 48
1770: 36 39 32 30 35 34 36 38 36 35 37 32 36 35 0a 4d 69205468657265.M
1780: 61 63 20 3d 20 38 37 61 61 37 63 64 65 61 35 65 ac = 87aa7cdea5e
1790: 66 36 31 39 64 34 66 66 30 62 34 32 34 31 61 31 f619d4ff0b4241a1
17a0: 64 36 63 62 30 32 33 37 39 66 34 65 32 63 65 34 d6cb02379f4e2ce4
17b0: 65 63 32 37 38 37 61 64 30 62 33 30 35 34 35 65 ec2787ad0b30545e
17c0: 31 37 63 64 65 64 61 61 38 33 33 62 37 64 36 62 17cdedaa833b7d6b
17d0: 38 61 37 30 32 30 33 38 62 32 37 34 65 61 65 61 8a702038b274eaea
17e0: 33 66 34 65 34 62 65 39 64 39 31 34 65 65 62 36 3f4e4be9d914eeb6
17f0: 31 66 31 37 30 32 65 36 39 36 63 32 30 33 61 31 1f1702e696c203a1
1800: 32 36 38 35 34 0a 0a 23 20 52 46 43 20 36 32 33 26854..# RFC 623
1810: 34 20 54 65 73 74 20 43 61 73 65 20 32 0a 4b 6c 4 Test Case 2.Kl
1820: 65 6e 20 3d 20 34 0a 54 6c 65 6e 20 3d 20 36 34 en = 4.Tlen = 64
1830: 0a 4c 65 6e 20 3d 20 32 38 0a 4b 65 79 20 3d 20 .Len = 28.Key =
1840: 22 4a 65 66 65 22 0a 23 4b 65 79 20 3d 20 34 61 "Jefe".#Key = 4a
1850: 36 35 36 36 36 35 0a 4d 73 67 20 3d 20 22 77 68 656665.Msg = "wh
1860: 61 74 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f at do ya want fo
1870: 72 20 6e 6f 74 68 69 6e 67 3f 22 0a 23 4d 73 67 r nothing?".#Msg
1880: 20 3d 20 37 37 36 38 36 31 37 34 32 30 36 34 36 = 7768617420646
1890: 66 32 30 37 39 36 31 32 30 37 37 36 31 36 65 37 f2079612077616e7
18a0: 34 32 30 36 36 36 66 37 32 32 30 36 65 36 66 37 420666f72206e6f7
18b0: 34 36 38 36 39 36 65 36 37 33 66 0a 4d 61 63 20 468696e673f.Mac
18c0: 3d 20 31 36 34 62 37 61 37 62 66 63 66 38 31 39 = 164b7a7bfcf819
18d0: 65 32 65 33 39 35 66 62 65 37 33 62 35 36 65 30 e2e395fbe73b56e0
18e0: 61 33 38 37 62 64 36 34 32 32 32 65 38 33 31 66 a387bd64222e831f
18f0: 64 36 31 30 32 37 30 63 64 37 65 61 32 35 30 35 d610270cd7ea2505
1900: 35 34 39 37 35 38 62 66 37 35 63 30 35 61 39 39 549758bf75c05a99
1910: 34 61 36 64 30 33 34 66 36 35 66 38 66 30 65 36 4a6d034f65f8f0e6
1920: 66 64 63 61 65 61 62 31 61 33 34 64 34 61 36 62 fdcaeab1a34d4a6b
1930: 34 62 36 33 36 65 30 37 30 61 33 38 62 63 65 37 4b636e070a38bce7
1940: 33 37 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 37..# RFC 6234 T
1950: 65 73 74 20 43 61 73 65 20 33 0a 4b 6c 65 6e 20 est Case 3.Klen
1960: 3d 20 32 30 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c = 20.Tlen = 64.L
1970: 65 6e 20 3d 20 35 30 0a 4b 65 79 20 3d 20 61 61 en = 50.Key = aa
1980: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1990: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
19a0: 61 61 61 61 61 61 0a 4d 73 67 20 3d 20 64 64 64 aaaaaa.Msg = ddd
19b0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
19c0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
19d0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
19e0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
19f0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1a00: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 dddddddddddddddd
1a10: 64 0a 4d 61 63 20 3d 20 66 61 37 33 62 30 30 38 d.Mac = fa73b008
1a20: 39 64 35 36 61 32 38 34 65 66 62 30 66 30 37 35 9d56a284efb0f075
1a30: 36 63 38 39 30 62 65 39 62 31 62 35 64 62 64 64 6c890be9b1b5dbdd
1a40: 38 65 65 38 31 61 33 36 35 35 66 38 33 65 33 33 8ee81a3655f83e33
1a50: 62 32 32 37 39 64 33 39 62 66 33 65 38 34 38 32 b2279d39bf3e8482
1a60: 37 39 61 37 32 32 63 38 30 36 62 34 38 35 61 34 79a722c806b485a4
1a70: 37 65 36 37 63 38 30 37 62 39 34 36 61 33 33 37 7e67c807b946a337
1a80: 62 65 65 38 39 34 32 36 37 34 32 37 38 38 35 39 bee8942674278859
1a90: 65 31 33 32 39 32 66 62 0a 0a 23 20 52 46 43 20 e13292fb..# RFC
1aa0: 36 32 33 34 20 54 65 73 74 20 43 61 73 65 20 34 6234 Test Case 4
1ab0: 0a 4b 6c 65 6e 20 3d 20 32 35 0a 54 6c 65 6e 20 .Klen = 25.Tlen
1ac0: 3d 20 36 34 0a 4c 65 6e 20 3d 20 35 30 0a 4b 65 = 64.Len = 50.Ke
1ad0: 79 20 3d 20 30 31 30 32 30 33 30 34 30 35 30 36 y = 010203040506
1ae0: 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65 0708090a0b0c0d0e
1af0: 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36 0f10111213141516
1b00: 31 37 31 38 31 39 0a 4d 73 67 20 3d 20 63 64 63 171819.Msg = cdc
1b10: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b20: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b30: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b40: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b50: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b60: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 dcdcdcdcdcdcdcdc
1b70: 64 0a 4d 61 63 20 3d 20 62 30 62 61 34 36 35 36 d.Mac = b0ba4656
1b80: 33 37 34 35 38 63 36 39 39 30 65 35 61 38 63 35 37458c6990e5a8c5
1b90: 66 36 31 64 34 61 66 37 65 35 37 36 64 39 37 66 f61d4af7e576d97f
1ba0: 66 39 34 62 38 37 32 64 65 37 36 66 38 30 35 30 f94b872de76f8050
1bb0: 33 36 31 65 65 33 64 62 61 39 31 63 61 35 63 31 361ee3dba91ca5c1
1bc0: 31 61 61 32 35 65 62 34 64 36 37 39 32 37 35 63 1aa25eb4d679275c
1bd0: 63 35 37 38 38 30 36 33 61 35 66 31 39 37 34 31 c5788063a5f19741
1be0: 31 32 30 63 34 66 32 64 65 32 61 64 65 62 65 62 120c4f2de2adebeb
1bf0: 31 30 61 32 39 38 64 64 0a 0a 23 20 52 46 43 20 10a298dd..# RFC
1c00: 36 32 33 34 20 54 65 73 74 20 43 61 73 65 20 35 6234 Test Case 5
1c10: 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 6c 65 6e 20 .Klen = 20.Tlen
1c20: 3d 20 31 36 0a 4c 65 6e 20 3d 20 32 30 0a 4b 65 = 16.Len = 20.Ke
1c30: 79 20 3d 20 30 63 30 63 30 63 30 63 30 63 30 63 y = 0c0c0c0c0c0c
1c40: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
1c50: 30 63 30 63 30 63 30 63 30 63 30 63 0a 4d 73 67 0c0c0c0c0c0c.Msg
1c60: 20 3d 20 22 54 65 73 74 20 57 69 74 68 20 54 72 = "Test With Tr
1c70: 75 6e 63 61 74 69 6f 6e 22 0a 4d 61 63 20 3d 20 uncation".Mac =
1c80: 34 31 35 66 61 64 36 32 37 31 35 38 30 61 35 33 415fad6271580a53
1c90: 31 64 34 31 37 39 62 63 38 39 31 64 38 37 61 36 1d4179bc891d87a6
1ca0: 0a 0a 23 20 52 46 43 20 36 32 33 34 20 54 65 73 ..# RFC 6234 Tes
1cb0: 74 20 43 61 73 65 20 36 0a 4b 6c 65 6e 20 3d 20 t Case 6.Klen =
1cc0: 31 33 31 0a 54 6c 65 6e 20 3d 20 36 34 0a 4c 65 131.Tlen = 64.Le
1cd0: 6e 20 3d 20 35 34 0a 4b 65 79 20 3d 20 61 61 61 n = 54.Key = aaa
1ce0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1cf0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1d90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1da0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1db0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1dc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1dd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1de0: 61 61 61 0a 4d 73 67 20 3d 20 22 54 65 73 74 20 aaa.Msg = "Test
1df0: 55 73 69 6e 67 20 4c 61 72 67 65 72 20 54 68 61 Using Larger Tha
1e00: 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 n Block-Size Key
1e10: 20 2d 20 48 61 73 68 20 4b 65 79 20 46 69 72 73 - Hash Key Firs
1e20: 74 22 0a 4d 61 63 20 3d 20 38 30 62 32 34 32 36 t".Mac = 80b2426
1e30: 33 63 37 63 31 61 33 65 62 62 37 31 34 39 33 63 3c7c1a3ebb71493c
1e40: 31 64 64 37 62 65 38 62 34 39 62 34 36 64 31 66 1dd7be8b49b46d1f
1e50: 34 31 62 34 61 65 65 63 31 31 32 31 62 30 31 33 41b4aeec1121b013
1e60: 37 38 33 66 38 66 33 35 32 36 62 35 36 64 30 33 783f8f3526b56d03
1e70: 37 65 30 35 66 32 35 39 38 62 64 30 66 64 32 32 7e05f2598bd0fd22
1e80: 31 35 64 36 61 31 65 35 32 39 35 65 36 34 66 37 15d6a1e5295e64f7
1e90: 33 66 36 33 66 30 61 65 63 38 62 39 31 35 61 39 3f63f0aec8b915a9
1ea0: 38 35 64 37 38 36 35 39 38 0a 0a 23 20 52 46 43 85d786598..# RFC
1eb0: 20 36 32 33 34 20 54 65 73 74 20 43 61 73 65 20 6234 Test Case
1ec0: 37 0a 4b 6c 65 6e 20 3d 20 31 33 31 0a 54 6c 65 7.Klen = 131.Tle
1ed0: 6e 20 3d 20 36 34 0a 4c 65 6e 20 3d 20 31 35 33 n = 64.Len = 153
1ee0: 0a 4b 65 79 20 3d 20 61 61 61 61 61 61 61 61 61 .Key = aaaaaaaaa
1ef0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f00: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f50: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f60: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f70: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f80: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1f90: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1fa0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1fb0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1fc0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1fd0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
1fe0: 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 4d 73 aaaaaaaaaaaaa.Ms
1ff0: 67 20 3d 20 22 54 68 69 73 20 69 73 20 61 20 74 g = "This is a t
2000: 65 73 74 20 75 73 69 6e 67 20 61 20 6c 61 72 67 est using a larg
2010: 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 69 er than block-si
2020: 7a 65 20 6b 65 79 20 61 6e 64 20 61 20 6c 61 72 ze key and a lar
2030: 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73 ger than block-s
2040: 69 7a 65 20 64 61 74 61 2e 20 54 68 65 20 6b 65 ize data. The ke
2050: 79 20 6e 65 65 64 73 20 74 6f 20 62 65 20 68 61 y needs to be ha
2060: 73 68 65 64 20 62 65 66 6f 72 65 20 62 65 69 6e shed before bein
2070: 67 20 75 73 65 64 20 62 79 20 74 68 65 20 48 4d g used by the HM
2080: 41 43 20 61 6c 67 6f 72 69 74 68 6d 2e 22 0a 4d AC algorithm.".M
2090: 61 63 20 3d 20 65 33 37 62 36 61 37 37 35 64 63 ac = e37b6a775dc
20a0: 38 37 64 62 61 61 34 64 66 61 39 66 39 36 65 35 87dbaa4dfa9f96e5
20b0: 65 33 66 66 64 64 65 62 64 37 31 66 38 38 36 37 e3ffddebd71f8867
20c0: 32 38 39 38 36 35 64 66 35 61 33 32 64 32 30 63 289865df5a32d20c
20d0: 64 63 39 34 34 62 36 30 32 32 63 61 63 33 63 34 dc944b6022cac3c4
20e0: 39 38 32 62 31 30 64 35 65 65 62 35 35 63 33 65 982b10d5eeb55c3e
20f0: 34 64 65 31 35 31 33 34 36 37 36 66 62 36 64 65 4de15134676fb6de
2100: 30 34 34 36 30 36 35 63 39 37 34 34 30 66 61 38 0446065c97440fa8
2110: 63 36 61 35 38 0a c6a58.