Hex Artifact Content

Artifact bb21e998916c7bf5dec4a03fd5db9b832b94089271905bc1839e618a3864c2cf:


0000: 23 20 48 4d 41 43 2d 52 49 50 45 4d 44 31 36 30  # HMAC-RIPEMD160
0010: 0a 23 20 46 72 6f 6d 20 52 46 43 20 32 32 38 36  .# From RFC 2286
0020: 0a 0a 5b 4c 20 3d 20 32 30 5d 0a 0a 23 20 52 46  ..[L = 20]..# RF
0030: 43 20 32 32 38 36 20 54 65 73 74 20 43 61 73 65  C 2286 Test Case
0040: 20 31 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 6c 65   1.Klen = 20.Tle
0050: 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 38 0a 4b  n = 20.Len = 8.K
0060: 65 79 20 3d 20 30 62 30 62 30 62 30 62 30 62 30  ey = 0b0b0b0b0b0
0070: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0080: 62 30 62 30 62 30 62 30 62 30 62 30 62 0a 4d 73  b0b0b0b0b0b0b.Ms
0090: 67 20 3d 20 22 48 69 20 54 68 65 72 65 22 0a 23  g = "Hi There".#
00a0: 4d 73 67 20 3d 20 34 38 36 39 32 30 35 34 36 38  Msg = 4869205468
00b0: 36 35 37 32 36 35 0a 4d 61 63 20 3d 20 32 34 63  657265.Mac = 24c
00c0: 62 34 62 64 36 37 64 32 30 66 63 31 61 35 64 32  b4bd67d20fc1a5d2
00d0: 65 64 37 37 33 32 64 63 63 33 39 33 37 37 66 30  ed7732dcc39377f0
00e0: 61 35 36 36 38 0a 0a 23 20 52 46 43 20 32 32 38  a5668..# RFC 228
00f0: 36 20 54 65 73 74 20 43 61 73 65 20 32 0a 4b 6c  6 Test Case 2.Kl
0100: 65 6e 20 3d 20 34 0a 54 6c 65 6e 20 3d 20 32 30  en = 4.Tlen = 20
0110: 0a 4c 65 6e 20 3d 20 32 38 0a 4b 65 79 20 3d 20  .Len = 28.Key = 
0120: 22 4a 65 66 65 22 0a 23 4b 65 79 20 3d 20 34 61  "Jefe".#Key = 4a
0130: 36 35 36 36 36 35 0a 4d 73 67 20 3d 20 22 77 68  656665.Msg = "wh
0140: 61 74 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f  at do ya want fo
0150: 72 20 6e 6f 74 68 69 6e 67 3f 22 0a 23 4d 73 67  r nothing?".#Msg
0160: 20 3d 20 37 37 36 38 36 31 37 34 32 30 36 34 36   = 7768617420646
0170: 66 32 30 37 39 36 31 32 30 37 37 36 31 36 65 37  f2079612077616e7
0180: 34 32 30 36 36 36 66 37 32 32 30 36 65 36 66 37  420666f72206e6f7
0190: 34 36 38 36 39 36 65 36 37 33 66 0a 4d 61 63 20  468696e673f.Mac 
01a0: 3d 20 64 64 61 36 63 30 32 31 33 61 34 38 35 61  = dda6c0213a485a
01b0: 39 65 32 34 66 34 37 34 32 30 36 34 61 37 66 30  9e24f4742064a7f0
01c0: 33 33 62 34 33 63 34 30 36 39 0a 0a 23 20 52 46  33b43c4069..# RF
01d0: 43 20 32 32 38 36 20 54 65 73 74 20 43 61 73 65  C 2286 Test Case
01e0: 20 33 0a 4b 6c 65 6e 20 3d 20 32 30 0a 54 6c 65   3.Klen = 20.Tle
01f0: 6e 20 3d 20 32 30 0a 4c 65 6e 20 3d 20 35 30 0a  n = 20.Len = 50.
0200: 4b 65 79 20 3d 20 61 61 61 61 61 61 61 61 61 61  Key = aaaaaaaaaa
0210: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0220: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 4d  aaaaaaaaaaaaaa.M
0230: 73 67 20 3d 20 64 64 64 64 64 64 64 64 64 64 64  sg = ddddddddddd
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 64  dddddddddddddddd
0290: 64 64 64 64 64 64 64 64 64 0a 4d 61 63 20 3d 20  ddddddddd.Mac = 
02a0: 62 30 62 31 30 35 33 36 30 64 65 37 35 39 39 36  b0b105360de75996
02b0: 30 61 62 34 66 33 35 32 39 38 65 31 31 36 65 32  0ab4f35298e116e2
02c0: 39 35 64 38 65 37 63 31 0a 0a 23 20 52 46 43 20  95d8e7c1..# RFC 
02d0: 32 32 38 36 20 54 65 73 74 20 43 61 73 65 20 34  2286 Test Case 4
02e0: 0a 4b 6c 65 6e 20 3d 20 32 35 0a 54 6c 65 6e 20  .Klen = 25.Tlen 
02f0: 3d 20 32 30 0a 4c 65 6e 20 3d 20 35 30 0a 4b 65  = 20.Len = 50.Ke
0300: 79 20 3d 20 30 31 30 32 30 33 30 34 30 35 30 36  y = 010203040506
0310: 30 37 30 38 30 39 30 61 30 62 30 63 30 64 30 65  0708090a0b0c0d0e
0320: 30 66 31 30 31 31 31 32 31 33 31 34 31 35 31 36  0f10111213141516
0330: 31 37 31 38 31 39 0a 4d 73 67 20 3d 20 63 64 63  171819.Msg = cdc
0340: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0350: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0360: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0370: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0380: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
0390: 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63  dcdcdcdcdcdcdcdc
03a0: 64 0a 4d 61 63 20 3d 20 64 35 63 61 38 36 32 66  d.Mac = d5ca862f
03b0: 34 64 32 31 64 35 65 36 31 30 65 31 38 62 34 63  4d21d5e610e18b4c
03c0: 66 31 62 65 62 39 37 61 34 33 36 35 65 63 66 34  f1beb97a4365ecf4
03d0: 0a 0a 23 20 52 46 43 20 32 32 38 36 20 54 65 73  ..# RFC 2286 Tes
03e0: 74 20 43 61 73 65 20 35 0a 4b 6c 65 6e 20 3d 20  t Case 5.Klen = 
03f0: 32 30 0a 54 6c 65 6e 20 3d 20 31 32 0a 4c 65 6e  20.Tlen = 12.Len
0400: 20 3d 20 32 30 0a 4b 65 79 20 3d 20 30 63 30 63   = 20.Key = 0c0c
0410: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
0420: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63  0c0c0c0c0c0c0c0c
0430: 30 63 30 63 0a 4d 73 67 20 3d 20 22 54 65 73 74  0c0c.Msg = "Test
0440: 20 57 69 74 68 20 54 72 75 6e 63 61 74 69 6f 6e   With Truncation
0450: 22 0a 23 4d 73 67 20 3d 20 35 34 36 35 37 33 37  ".#Msg = 5465737
0460: 34 32 30 35 37 36 39 37 34 36 38 32 30 35 34 37  4205769746820547
0470: 32 37 35 36 65 36 33 36 31 37 34 36 39 36 66 36  2756e636174696f6
0480: 65 0a 4d 61 63 20 3d 20 37 36 31 39 36 39 33 39  e.Mac = 76196939
0490: 37 38 66 39 31 64 39 30 35 33 39 61 65 37 38 36  78f91d90539ae786
04a0: 35 30 30 66 66 33 64 38 65 30 35 31 38 65 33 39  500ff3d8e0518e39
04b0: 0a 54 72 75 6e 63 20 3d 20 37 36 31 39 36 39 33  .Trunc = 7619693
04c0: 39 37 38 66 39 31 64 39 30 35 33 39 61 65 37 38  978f91d90539ae78
04d0: 36 0a 0a 23 20 52 46 43 20 32 32 38 36 20 54 65  6..# RFC 2286 Te
04e0: 73 74 20 43 61 73 65 20 36 0a 4b 6c 65 6e 20 3d  st Case 6.Klen =
04f0: 20 38 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65   80.Tlen = 20.Le
0500: 6e 20 3d 20 35 34 0a 4b 65 79 20 3d 20 61 61 61  n = 54.Key = aaa
0510: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0520: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0530: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0540: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0550: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0560: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0570: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0580: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0590: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
05a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 0a 4d 73  aaaaaaaaaaaaa.Ms
05b0: 67 20 3d 20 22 54 65 73 74 20 55 73 69 6e 67 20  g = "Test Using 
05c0: 4c 61 72 67 65 72 20 54 68 61 6e 20 42 6c 6f 63  Larger Than Bloc
05d0: 6b 2d 53 69 7a 65 20 4b 65 79 20 2d 20 48 61 73  k-Size Key - Has
05e0: 68 20 4b 65 79 20 46 69 72 73 74 22 0a 23 4d 73  h Key First".#Ms
05f0: 67 20 3d 20 35 34 36 35 37 33 37 34 32 30 35 35  g = 546573742055
0600: 37 33 36 39 36 65 36 37 32 30 34 63 36 31 37 32  73696e67204c6172
0610: 36 37 36 35 37 32 32 30 35 34 36 38 36 31 36 65  676572205468616e
0620: 32 30 34 32 36 63 36 66 36 33 36 62 32 64 35 33  20426c6f636b2d53
0630: 36 39 37 61 36 35 32 30 34 62 36 35 37 39 32 30  697a65204b657920
0640: 32 64 32 30 34 38 36 31 37 33 36 38 32 30 34 62  2d2048617368204b
0650: 36 35 37 39 32 30 34 36 36 39 37 32 37 33 37 34  6579204669727374
0660: 0a 4d 61 63 20 3d 20 36 34 36 36 63 61 30 37 61  .Mac = 6466ca07a
0670: 63 35 65 61 63 32 39 65 31 62 64 35 32 33 65 35  c5eac29e1bd523e5
0680: 61 64 61 37 36 30 35 62 37 39 31 66 64 38 62 0a  ada7605b791fd8b.
0690: 0a 23 20 52 46 43 20 32 32 38 36 20 54 65 73 74  .# RFC 2286 Test
06a0: 20 43 61 73 65 20 37 0a 4b 6c 65 6e 20 3d 20 38   Case 7.Klen = 8
06b0: 30 0a 54 6c 65 6e 20 3d 20 32 30 0a 4c 65 6e 20  0.Tlen = 20.Len 
06c0: 3d 20 37 33 0a 4b 65 79 20 3d 20 61 61 61 61 61  = 73.Key = aaaaa
06d0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
06e0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
06f0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0700: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0710: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0720: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0730: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0740: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0750: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0760: 61 61 61 61 61 61 61 61 61 61 61 0a 4d 73 67 20  aaaaaaaaaaa.Msg 
0770: 3d 20 22 54 65 73 74 20 55 73 69 6e 67 20 4c 61  = "Test Using La
0780: 72 67 65 72 20 54 68 61 6e 20 42 6c 6f 63 6b 2d  rger Than Block-
0790: 53 69 7a 65 20 4b 65 79 20 61 6e 64 20 4c 61 72  Size Key and Lar
07a0: 67 65 72 20 54 68 61 6e 20 4f 6e 65 20 42 6c 6f  ger Than One Blo
07b0: 63 6b 2d 53 69 7a 65 20 44 61 74 61 22 0a 23 4d  ck-Size Data".#M
07c0: 73 67 20 3d 20 35 34 36 35 37 33 37 34 32 30 35  sg = 54657374205
07d0: 35 37 33 36 39 36 65 36 37 32 30 34 63 36 31 37  573696e67204c617
07e0: 32 36 37 36 35 37 32 32 30 35 34 36 38 36 31 36  2676572205468616
07f0: 65 32 30 34 32 36 63 36 66 36 33 36 62 32 64 35  e20426c6f636b2d5
0800: 33 36 39 37 61 36 35 32 30 34 62 36 35 37 39 32  3697a65204b65792
0810: 30 36 31 36 65 36 34 32 30 34 63 36 31 37 32 36  0616e64204c61726
0820: 37 36 35 37 32 32 30 35 34 36 38 36 31 36 65 32  76572205468616e2
0830: 30 34 66 36 65 36 35 32 30 34 32 36 63 36 66 36  04f6e6520426c6f6
0840: 33 36 62 32 64 35 33 36 39 37 61 36 35 32 30 34  36b2d53697a65204
0850: 34 36 31 37 34 36 31 0a 4d 61 63 20 3d 20 36 39  4617461.Mac = 69
0860: 65 61 36 30 37 39 38 64 37 31 36 31 36 63 63 65  ea60798d71616cce
0870: 35 66 64 30 38 37 31 65 32 33 37 35 34 63 64 37  5fd0871e23754cd7
0880: 35 64 35 61 30 61 0a                             5d5a0a.