Hex Artifact Content

Artifact 28320e2e1518fe11d4ce1466fb7549dd8bf701b09bfc17bb00c4329d8aadbf2d:


0000: 23 20 48 4d 41 43 2d 4d 44 35 0a 23 20 46 72 6f  # HMAC-MD5.# Fro
0010: 6d 20 52 46 43 20 32 31 30 34 20 48 4d 41 43 0a  m RFC 2104 HMAC.
0020: 23 20 61 6e 64 20 52 46 43 20 32 32 30 32 20 54  # and RFC 2202 T
0030: 65 73 74 20 43 61 73 65 73 20 66 6f 72 20 48 4d  est Cases for HM
0040: 41 43 2d 4d 44 35 20 61 6e 64 20 48 4d 41 43 2d  AC-MD5 and HMAC-
0050: 53 48 41 2d 31 0a 0a 5b 62 20 3d 20 36 34 5d 0a  SHA-1..[b = 64].
0060: 5b 4c 20 3d 20 31 36 5d 0a 0a 23 20 52 46 43 20  [L = 16]..# RFC 
0070: 32 31 30 34 20 54 65 73 74 20 43 61 73 65 20 31  2104 Test Case 1
0080: 0a 4b 6c 65 6e 20 3d 20 31 36 0a 54 6c 65 6e 20  .Klen = 16.Tlen 
0090: 3d 20 31 36 0a 4c 65 6e 20 3d 20 38 0a 4b 65 79  = 16.Len = 8.Key
00a0: 20 3d 20 30 62 30 62 30 62 30 62 30 62 30 62 30   = 0b0b0b0b0b0b0
00b0: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
00c0: 62 30 62 0a 4d 73 67 20 3d 20 22 48 69 20 54 68  b0b.Msg = "Hi Th
00d0: 65 72 65 22 0a 4d 61 63 20 3d 20 39 32 39 34 37  ere".Mac = 92947
00e0: 32 37 61 33 36 33 38 62 62 31 63 31 33 66 34 38  27a3638bb1c13f48
00f0: 65 66 38 31 35 38 62 66 63 39 64 0a 0a 23 20 52  ef8158bfc9d..# R
0100: 46 43 20 32 31 30 34 20 54 65 73 74 20 43 61 73  FC 2104 Test Cas
0110: 65 20 32 0a 4b 6c 65 6e 20 3d 20 34 0a 54 6c 65  e 2.Klen = 4.Tle
0120: 6e 20 3d 20 31 36 0a 4c 65 6e 20 3d 20 32 38 0a  n = 16.Len = 28.
0130: 4b 65 79 20 3d 20 22 4a 65 66 65 22 0a 4d 73 67  Key = "Jefe".Msg
0140: 20 3d 20 22 77 68 61 74 20 64 6f 20 79 61 20 77   = "what do ya w
0150: 61 6e 74 20 66 6f 72 20 6e 6f 74 68 69 6e 67 3f  ant for nothing?
0160: 22 0a 23 4d 73 67 20 3d 20 37 37 36 38 36 31 37  ".#Msg = 7768617
0170: 34 32 30 36 34 36 66 32 30 37 39 36 31 32 30 37  420646f207961207
0180: 37 36 31 36 65 37 34 32 30 36 36 36 66 37 32 32  7616e7420666f722
0190: 30 36 65 36 66 37 34 36 38 36 39 36 65 36 37 33  06e6f7468696e673
01a0: 66 0a 4d 61 63 20 3d 20 37 35 30 63 37 38 33 65  f.Mac = 750c783e
01b0: 36 61 62 30 62 35 30 33 65 61 61 38 36 65 33 31  6ab0b503eaa86e31
01c0: 30 61 35 64 62 37 33 38 0a 0a 23 20 52 46 43 20  0a5db738..# RFC 
01d0: 32 31 30 34 20 54 65 73 74 20 43 61 73 65 20 33  2104 Test Case 3
01e0: 0a 4b 6c 65 6e 20 3d 20 31 36 0a 54 6c 65 6e 20  .Klen = 16.Tlen 
01f0: 3d 20 31 36 0a 4c 65 6e 20 3d 20 35 30 0a 4b 65  = 16.Len = 50.Ke
0200: 79 20 3d 20 61 61 61 61 61 61 61 61 61 61 61 61  y = aaaaaaaaaaaa
0210: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0220: 61 61 61 61 0a 4d 73 67 20 3d 20 64 64 64 64 64  aaaa.Msg = ddddd
0230: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0240: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0250: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0260: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0270: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0280: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 0a  ddddddddddddddd.
0290: 4d 61 63 20 3d 20 35 36 62 65 33 34 35 32 31 64  Mac = 56be34521d
02a0: 31 34 34 63 38 38 64 62 62 38 63 37 33 33 66 30  144c88dbb8c733f0
02b0: 65 38 62 33 66 36 0a 0a 23 20 52 46 43 20 32 32  e8b3f6..# RFC 22
02c0: 30 32 20 54 65 73 74 20 43 61 73 65 20 31 0a 4b  02 Test Case 1.K
02d0: 6c 65 6e 20 3d 20 31 36 0a 54 6c 65 6e 20 3d 20  len = 16.Tlen = 
02e0: 31 36 0a 4c 65 6e 20 3d 20 38 0a 4b 65 79 20 3d  16.Len = 8.Key =
02f0: 20 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30   0b0b0b0b0b0b0b0
0300: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0310: 62 0a 4d 73 67 20 3d 20 22 48 69 20 54 68 65 72  b.Msg = "Hi Ther
0320: 65 22 0a 23 4d 73 67 20 3d 20 34 38 36 39 32 30  e".#Msg = 486920
0330: 35 34 36 38 36 35 37 32 36 35 0a 4d 61 63 20 3d  5468657265.Mac =
0340: 20 39 32 39 34 37 32 37 61 33 36 33 38 62 62 31   9294727a3638bb1
0350: 63 31 33 66 34 38 65 66 38 31 35 38 62 66 63 39  c13f48ef8158bfc9
0360: 64 0a 0a 23 20 52 46 43 20 32 32 30 32 20 54 65  d..# RFC 2202 Te
0370: 73 74 20 43 61 73 65 20 32 0a 4b 6c 65 6e 20 3d  st Case 2.Klen =
0380: 20 34 0a 54 6c 65 6e 20 3d 20 31 36 0a 4c 65 6e   4.Tlen = 16.Len
0390: 20 3d 20 32 38 0a 4b 65 79 20 3d 20 22 4a 65 66   = 28.Key = "Jef
03a0: 65 22 0a 23 4b 65 79 20 3d 20 34 61 36 35 36 36  e".#Key = 4a6566
03b0: 36 35 0a 4d 73 67 20 3d 20 22 77 68 61 74 20 64  65.Msg = "what d
03c0: 6f 20 79 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f  o ya want for no
03d0: 74 68 69 6e 67 3f 22 0a 23 4d 73 67 20 3d 20 37  thing?".#Msg = 7
03e0: 37 36 38 36 31 37 34 32 30 36 34 36 66 32 30 37  768617420646f207
03f0: 39 36 31 32 30 37 37 36 31 36 65 37 34 32 30 36  9612077616e74206
0400: 36 36 66 37 32 32 30 36 65 36 66 37 34 36 38 36  66f72206e6f74686
0410: 39 36 65 36 37 33 66 0a 4d 61 63 20 3d 20 37 35  96e673f.Mac = 75
0420: 30 63 37 38 33 65 36 61 62 30 62 35 30 33 65 61  0c783e6ab0b503ea
0430: 61 38 36 65 33 31 30 61 35 64 62 37 33 38 0a 0a  a86e310a5db738..
0440: 23 20 52 46 43 20 32 32 30 32 20 54 65 73 74 20  # RFC 2202 Test 
0450: 43 61 73 65 20 33 0a 4b 6c 65 6e 20 3d 20 31 36  Case 3.Klen = 16
0460: 0a 54 6c 65 6e 20 3d 20 31 36 0a 4c 65 6e 20 3d  .Tlen = 16.Len =
0470: 20 35 30 0a 4b 65 79 20 3d 20 61 61 61 61 61 61   50.Key = aaaaaa
0480: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0490: 61 61 61 61 61 61 61 61 61 61 0a 4d 73 67 20 3d  aaaaaaaaaa.Msg =
04a0: 20 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64   ddddddddddddddd
04b0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04c0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04d0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04e0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
04f0: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0500: 64 64 64 64 64 0a 4d 61 63 20 3d 20 35 36 62 65  ddddd.Mac = 56be
0510: 33 34 35 32 31 64 31 34 34 63 38 38 64 62 62 38  34521d144c88dbb8
0520: 63 37 33 33 66 30 65 38 62 33 66 36 0a 0a 23 20  c733f0e8b3f6..# 
0530: 52 46 43 20 32 32 30 32 20 54 65 73 74 20 43 61  RFC 2202 Test Ca
0540: 73 65 20 34 0a 4b 6c 65 6e 20 3d 20 32 35 0a 54  se 4.Klen = 25.T
0550: 6c 65 6e 20 3d 20 31 36 0a 4c 65 6e 20 3d 20 35  len = 16.Len = 5
0560: 30 0a 4b 65 79 20 3d 20 30 31 30 32 30 33 30 34  0.Key = 01020304
0570: 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63  05060708090a0b0c
0580: 30 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34  0d0e0f1011121314
0590: 31 35 31 36 31 37 31 38 31 39 0a 4d 73 67 20 3d  1516171819.Msg =
05a0: 20 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63   cdcdcdcdcdcdcdc
05b0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
05c0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
05d0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
05e0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
05f0: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0600: 64 63 64 63 64 0a 4d 61 63 20 3d 20 36 39 37 65  dcdcd.Mac = 697e
0610: 61 66 30 61 63 61 33 61 33 61 65 61 33 61 37 35  af0aca3a3aea3a75
0620: 31 36 34 37 34 36 66 66 61 61 37 39 0a 0a 23 20  164746ffaa79..# 
0630: 52 46 43 20 32 32 30 32 20 54 65 73 74 20 43 61  RFC 2202 Test Ca
0640: 73 65 20 35 0a 4b 6c 65 6e 20 3d 20 31 36 0a 54  se 5.Klen = 16.T
0650: 6c 65 6e 20 3d 20 31 32 0a 4c 65 6e 20 3d 20 32  len = 12.Len = 2
0660: 30 0a 4b 65 79 20 3d 20 30 63 30 63 30 63 30 63  0.Key = 0c0c0c0c
0670: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
0680: 30 63 30 63 30 63 30 63 0a 4d 73 67 20 3d 20 22  0c0c0c0c.Msg = "
0690: 54 65 73 74 20 57 69 74 68 20 54 72 75 6e 63 61  Test With Trunca
06a0: 74 69 6f 6e 22 0a 23 4d 73 67 20 3d 20 35 34 36  tion".#Msg = 546
06b0: 35 37 33 37 34 32 30 35 37 36 39 37 34 36 38 32  5737420576974682
06c0: 30 35 34 37 32 37 35 36 65 36 33 36 31 37 34 36  05472756e6361746
06d0: 39 36 66 36 65 0a 4d 61 63 20 3d 20 35 36 34 36  96f6e.Mac = 5646
06e0: 31 65 66 32 33 34 32 65 64 63 30 30 66 39 62 61  1ef2342edc00f9ba
06f0: 62 39 39 35 36 39 30 65 66 64 34 63 0a 54 72 75  b995690efd4c.Tru
0700: 6e 63 20 3d 20 35 36 34 36 31 65 66 32 33 34 32  nc = 56461ef2342
0710: 65 64 63 30 30 66 39 62 61 62 39 39 35 0a 0a 23  edc00f9bab995..#
0720: 20 52 46 43 20 32 32 30 32 20 54 65 73 74 20 43   RFC 2202 Test C
0730: 61 73 65 20 36 0a 4b 6c 65 6e 20 3d 20 38 30 0a  ase 6.Klen = 80.
0740: 54 6c 65 6e 20 3d 20 31 36 0a 4c 65 6e 20 3d 20  Tlen = 16.Len = 
0750: 34 33 32 0a 4b 65 79 20 3d 20 61 61 61 61 61 61  432.Key = aaaaaa
0760: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0770: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0780: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0790: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07c0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
07f0: 61 61 61 61 61 61 61 61 61 61 0a 4d 73 67 20 3d  aaaaaaaaaa.Msg =
0800: 20 22 54 65 73 74 20 55 73 69 6e 67 20 4c 61 72   "Test Using Lar
0810: 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b 2d 53  ger Than Block-S
0820: 69 7a 65 20 4b 65 79 20 2d 20 48 61 73 68 20 4b  ize Key - Hash K
0830: 65 79 20 46 69 72 73 74 22 0a 23 4d 73 67 20 3d  ey First".#Msg =
0840: 20 35 34 36 35 37 33 37 34 32 30 35 35 37 33 36   546573742055736
0850: 39 36 65 36 37 32 30 34 63 36 31 37 32 36 37 36  96e67204c6172676
0860: 35 37 32 32 30 35 34 36 38 36 31 36 65 32 30 34  572205468616e204
0870: 32 36 63 36 66 36 33 36 62 32 64 35 33 36 39 37  26c6f636b2d53697
0880: 61 36 35 32 30 34 62 36 35 37 39 32 30 32 64 32  a65204b6579202d2
0890: 30 34 38 36 31 37 33 36 38 32 30 34 62 36 35 37  048617368204b657
08a0: 39 32 30 34 36 36 39 37 32 37 33 37 34 0a 4d 61  9204669727374.Ma
08b0: 63 20 3d 20 36 62 31 61 62 37 66 65 34 62 64 37  c = 6b1ab7fe4bd7
08c0: 62 66 38 66 30 62 36 32 65 36 63 65 36 31 62 39  bf8f0b62e6ce61b9
08d0: 64 30 63 64 0a 0a 23 20 52 46 43 20 32 32 30 32  d0cd..# RFC 2202
08e0: 20 54 65 73 74 20 43 61 73 65 20 37 0a 4b 6c 65   Test Case 7.Kle
08f0: 6e 20 3d 20 38 30 0a 54 6c 65 6e 20 3d 20 31 36  n = 80.Tlen = 16
0900: 0a 4c 65 6e 20 3d 20 37 33 0a 4b 65 79 20 3d 20  .Len = 73.Key = 
0910: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0920: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0930: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0940: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0950: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0960: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0970: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0980: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0990: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
09a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
09b0: 0a 4d 73 67 20 3d 20 22 54 65 73 74 20 55 73 69  .Msg = "Test Usi
09c0: 6e 67 20 4c 61 72 67 65 72 20 54 68 61 6e 20 42  ng Larger Than B
09d0: 6c 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20 61 6e  lock-Size Key an
09e0: 64 20 4c 61 72 67 65 72 20 54 68 61 6e 20 4f 6e  d Larger Than On
09f0: 65 20 42 6c 6f 63 6b 2d 53 69 7a 65 20 44 61 74  e Block-Size Dat
0a00: 61 22 0a 23 4d 73 67 20 3d 20 35 34 36 35 37 33  a".#Msg = 546573
0a10: 37 34 32 30 35 35 37 33 36 39 36 65 36 37 32 30  74205573696e6720
0a20: 34 63 36 31 37 32 36 37 36 35 37 32 32 30 35 34  4c61726765722054
0a30: 36 38 36 31 36 65 32 30 34 32 36 63 36 66 36 33  68616e20426c6f63
0a40: 36 62 32 64 35 33 36 39 37 61 36 35 32 30 34 62  6b2d53697a65204b
0a50: 36 35 37 39 32 30 36 31 36 65 36 34 32 30 34 63  657920616e64204c
0a60: 36 31 37 32 36 37 36 35 37 32 32 30 35 34 36 38  6172676572205468
0a70: 36 31 36 65 32 30 34 66 36 65 36 35 32 30 34 32  616e204f6e652042
0a80: 36 63 36 66 36 33 36 62 32 64 35 33 36 39 37 61  6c6f636b2d53697a
0a90: 36 35 32 30 34 34 36 31 37 34 36 31 0a 4d 61 63  652044617461.Mac
0aa0: 20 3d 20 36 66 36 33 30 66 61 64 36 37 63 64 61   = 6f630fad67cda
0ab0: 30 65 65 31 66 62 31 66 35 36 32 64 62 33 61 61  0ee1fb1f562db3aa
0ac0: 35 33 65 0a 0a 23 20 57 69 6b 69 70 65 64 69 61  53e..# Wikipedia
0ad0: 0a 4b 6c 65 6e 20 3d 20 33 0a 54 6c 65 6e 20 3d  .Klen = 3.Tlen =
0ae0: 20 31 36 0a 4c 65 6e 20 3d 20 34 33 0a 4b 65 79   16.Len = 43.Key
0af0: 20 3d 20 22 6b 65 79 22 0a 4d 73 67 20 3d 20 22   = "key".Msg = "
0b00: 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20  The quick brown 
0b10: 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74  fox jumps over t
0b20: 68 65 20 6c 61 7a 79 20 64 6f 67 22 0a 4d 61 63  he lazy dog".Mac
0b30: 20 3d 20 38 30 30 37 30 37 31 33 34 36 33 65 37   = 80070713463e7
0b40: 37 34 39 62 39 30 63 32 64 63 32 34 39 31 31 65  749b90c2dc24911e
0b50: 32 37 35 0a                                      275.