Hex Artifact Content

Artifact 35aae3b57b67b82dc4fe66454530d5a9e6f75f26ef44e3d3c9d3a9a080fec981:


0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 66 72 6f 6d 20 22 48 4d 41 43 5f 52 49 50 45   from "HMAC_RIPE
0020: 4d 44 31 36 30 2e 74 78 74 22 0a 6c 61 70 70 65  MD160.txt".lappe
0030: 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 5b 66 69  nd auto_path [fi
0040: 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65  le dirname [file
0050: 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64   dirname [file d
0060: 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72  irname [file dir
0070: 6e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  name [file join 
0080: 5b 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69  [pwd] [info scri
0090: 70 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65  pt]]]]]].package
00a0: 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63   require tls.pac
00b0: 6b 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c  kage require tcl
00c0: 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  test..tcltest::t
00d0: 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 48 4d  estConstraint HM
00e0: 41 43 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72  AC [expr {[lsear
00f0: 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a  ch -nocase [tls:
0100: 3a 6d 61 63 73 5d 20 48 4d 41 43 5d 20 3e 20 2d  :macs] HMAC] > -
0110: 31 7d 5d 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1}].tcltest::tes
0120: 74 43 6f 6e 73 74 72 61 69 6e 74 20 52 49 50 45  tConstraint RIPE
0130: 4d 44 31 36 30 20 5b 65 78 70 72 20 7b 5b 6c 73  MD160 [expr {[ls
0140: 65 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74  earch -nocase [t
0150: 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20 52 49 50  ls::digests] RIP
0160: 45 4d 44 31 36 30 5d 20 3e 20 2d 31 7d 5d 0a 63  EMD160] > -1}].c
0170: 61 74 63 68 20 7b 74 6c 73 3a 3a 70 72 6f 76 69  atch {tls::provi
0180: 64 65 72 20 6c 65 67 61 63 79 7d 0a 0a 74 63 6c  der legacy}..tcl
0190: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
01a0: 4d 41 43 2d 52 49 50 45 4d 44 31 36 30 2d 31 2e  MAC-RIPEMD160-1.
01b0: 31 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44 31 36  1 {HMAC_RIPEMD16
01c0: 30 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  0} \..-constrain
01d0: 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d 44 31  ts {HMAC RIPEMD1
01e0: 36 30 20 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b  60 } \..-setup {
01f0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69  } \..-body {stri
0200: 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68  ng range [tls::h
0210: 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65 73 74  mac -hex -digest
0220: 20 52 49 50 45 4d 44 31 36 30 20 2d 6b 65 79 20   RIPEMD160 -key 
0230: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
0240: 65 78 20 30 62 30 62 30 62 30 62 30 62 30 62 30  ex 0b0b0b0b0b0b0
0250: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30  b0b0b0b0b0b0b0b0
0260: 62 30 62 30 62 30 62 30 62 30 62 5d 20 2d 64 61  b0b0b0b0b0b] -da
0270: 74 61 20 22 48 69 20 54 68 65 72 65 22 5d 20 30  ta "Hi There"] 0
0280: 20 33 39 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65   39} \..-match e
0290: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 34 63  xact -result 24c
02a0: 62 34 62 64 36 37 64 32 30 66 63 31 61 35 64 32  b4bd67d20fc1a5d2
02b0: 65 64 37 37 33 32 64 63 63 33 39 33 37 37 66 30  ed7732dcc39377f0
02c0: 61 35 36 36 38 0a 0a 74 63 6c 74 65 73 74 3a 3a  a5668..tcltest::
02d0: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 52 49  test MAC_HMAC-RI
02e0: 50 45 4d 44 31 36 30 2d 31 2e 32 20 7b 48 4d 41  PEMD160-1.2 {HMA
02f0: 43 5f 52 49 50 45 4d 44 31 36 30 7d 20 5c 0a 09  C_RIPEMD160} \..
0300: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
0310: 41 43 20 52 49 50 45 4d 44 31 36 30 20 7d 20 5c  AC RIPEMD160 } \
0320: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
0330: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0340: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0350: 65 78 20 2d 64 69 67 65 73 74 20 52 49 50 45 4d  ex -digest RIPEM
0360: 44 31 36 30 20 2d 6b 65 79 20 22 4a 65 66 65 22  D160 -key "Jefe"
0370: 20 2d 64 61 74 61 20 22 77 68 61 74 20 64 6f 20   -data "what do 
0380: 79 61 20 77 61 6e 74 20 66 6f 72 20 6e 6f 74 68  ya want for noth
0390: 69 6e 67 3f 22 5d 20 30 20 33 39 7d 20 5c 0a 09  ing?"] 0 39} \..
03a0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
03b0: 73 75 6c 74 20 64 64 61 36 63 30 32 31 33 61 34  sult dda6c0213a4
03c0: 38 35 61 39 65 32 34 66 34 37 34 32 30 36 34 61  85a9e24f4742064a
03d0: 37 66 30 33 33 62 34 33 63 34 30 36 39 0a 0a 74  7f033b43c4069..t
03e0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43  cltest::test MAC
03f0: 5f 48 4d 41 43 2d 52 49 50 45 4d 44 31 36 30 2d  _HMAC-RIPEMD160-
0400: 31 2e 33 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44  1.3 {HMAC_RIPEMD
0410: 31 36 30 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  160} \..-constra
0420: 69 6e 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d  ints {HMAC RIPEM
0430: 44 31 36 30 20 7d 20 5c 0a 09 2d 73 65 74 75 70  D160 } \..-setup
0440: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
0450: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
0460: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
0470: 73 74 20 52 49 50 45 4d 44 31 36 30 20 2d 6b 65  st RIPEMD160 -ke
0480: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0490: 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61 61   hex aaaaaaaaaaa
04a0: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
04b0: 61 61 61 61 61 61 61 61 61 61 61 61 61 5d 20 2d  aaaaaaaaaaaaa] -
04c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
04d0: 6f 64 65 20 68 65 78 20 64 64 64 64 64 64 64 64  ode hex dddddddd
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 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0510: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0520: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64  dddddddddddddddd
0530: 64 64 64 64 64 64 64 64 64 64 64 64 5d 5d 20 30  dddddddddddd]] 0
0540: 20 33 39 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65   39} \..-match e
0550: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 30 62  xact -result b0b
0560: 31 30 35 33 36 30 64 65 37 35 39 39 36 30 61 62  105360de759960ab
0570: 34 66 33 35 32 39 38 65 31 31 36 65 32 39 35 64  4f35298e116e295d
0580: 38 65 37 63 31 0a 0a 74 63 6c 74 65 73 74 3a 3a  8e7c1..tcltest::
0590: 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d 52 49  test MAC_HMAC-RI
05a0: 50 45 4d 44 31 36 30 2d 31 2e 34 20 7b 48 4d 41  PEMD160-1.4 {HMA
05b0: 43 5f 52 49 50 45 4d 44 31 36 30 7d 20 5c 0a 09  C_RIPEMD160} \..
05c0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48 4d  -constraints {HM
05d0: 41 43 20 52 49 50 45 4d 44 31 36 30 20 7d 20 5c  AC RIPEMD160 } \
05e0: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
05f0: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0600: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0610: 65 78 20 2d 64 69 67 65 73 74 20 52 49 50 45 4d  ex -digest RIPEM
0620: 44 31 36 30 20 2d 6b 65 79 20 5b 62 69 6e 61 72  D160 -key [binar
0630: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 31 30  y decode hex 010
0640: 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39 30  2030405060708090
0650: 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31 31  a0b0c0d0e0f10111
0660: 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39 5d  213141516171819]
0670: 20 2d 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64   -data [binary d
0680: 65 63 6f 64 65 20 68 65 78 20 63 64 63 64 63 64  ecode hex cdcdcd
0690: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06a0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06b0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06c0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06d0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 63 64  cdcdcdcdcdcdcdcd
06e0: 63 64 63 64 63 64 63 64 63 64 63 64 63 64 5d 5d  cdcdcdcdcdcdcd]]
06f0: 20 30 20 33 39 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 39} \..-match
0700: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64   exact -result d
0710: 35 63 61 38 36 32 66 34 64 32 31 64 35 65 36 31  5ca862f4d21d5e61
0720: 30 65 31 38 62 34 63 66 31 62 65 62 39 37 61 34  0e18b4cf1beb97a4
0730: 33 36 35 65 63 66 34 0a 0a 74 63 6c 74 65 73 74  365ecf4..tcltest
0740: 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43 2d  ::test MAC_HMAC-
0750: 52 49 50 45 4d 44 31 36 30 2d 31 2e 35 20 7b 48  RIPEMD160-1.5 {H
0760: 4d 41 43 5f 52 49 50 45 4d 44 31 36 30 7d 20 5c  MAC_RIPEMD160} \
0770: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  ..-constraints {
0780: 48 4d 41 43 20 52 49 50 45 4d 44 31 36 30 20 7d  HMAC RIPEMD160 }
0790: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a   \..-setup {} \.
07a0: 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72  .-body {string r
07b0: 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20  ange [tls::hmac 
07c0: 2d 68 65 78 20 2d 64 69 67 65 73 74 20 52 49 50  -hex -digest RIP
07d0: 45 4d 44 31 36 30 20 2d 6b 65 79 20 5b 62 69 6e  EMD160 -key [bin
07e0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
07f0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0800: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30  c0c0c0c0c0c0c0c0
0810: 63 30 63 30 63 30 63 5d 20 2d 64 61 74 61 20 22  c0c0c0c] -data "
0820: 54 65 73 74 20 57 69 74 68 20 54 72 75 6e 63 61  Test With Trunca
0830: 74 69 6f 6e 22 5d 20 30 20 32 33 7d 20 5c 0a 09  tion"] 0 23} \..
0840: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
0850: 73 75 6c 74 20 37 36 31 39 36 39 33 39 37 38 66  sult 7619693978f
0860: 39 31 64 39 30 35 33 39 61 65 37 38 36 0a 0a 74  91d90539ae786..t
0870: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43  cltest::test MAC
0880: 5f 48 4d 41 43 2d 52 49 50 45 4d 44 31 36 30 2d  _HMAC-RIPEMD160-
0890: 31 2e 36 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44  1.6 {HMAC_RIPEMD
08a0: 31 36 30 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  160} \..-constra
08b0: 69 6e 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d  ints {HMAC RIPEM
08c0: 44 31 36 30 20 7d 20 5c 0a 09 2d 73 65 74 75 70  D160 } \..-setup
08d0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
08e0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
08f0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
0900: 73 74 20 52 49 50 45 4d 44 31 36 30 20 2d 6b 65  st RIPEMD160 -ke
0910: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0920: 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61 61   hex aaaaaaaaaaa
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: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
09c0: 61 61 61 61 61 5d 20 2d 64 61 74 61 20 22 54 65  aaaaa] -data "Te
09d0: 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20  st Using Larger 
09e0: 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20  Than Block-Size 
09f0: 4b 65 79 20 2d 20 48 61 73 68 20 4b 65 79 20 46  Key - Hash Key F
0a00: 69 72 73 74 22 5d 20 30 20 33 39 7d 20 5c 0a 09  irst"] 0 39} \..
0a10: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
0a20: 73 75 6c 74 20 36 34 36 36 63 61 30 37 61 63 35  sult 6466ca07ac5
0a30: 65 61 63 32 39 65 31 62 64 35 32 33 65 35 61 64  eac29e1bd523e5ad
0a40: 61 37 36 30 35 62 37 39 31 66 64 38 62 0a 0a 74  a7605b791fd8b..t
0a50: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43  cltest::test MAC
0a60: 5f 48 4d 41 43 2d 52 49 50 45 4d 44 31 36 30 2d  _HMAC-RIPEMD160-
0a70: 31 2e 37 20 7b 48 4d 41 43 5f 52 49 50 45 4d 44  1.7 {HMAC_RIPEMD
0a80: 31 36 30 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  160} \..-constra
0a90: 69 6e 74 73 20 7b 48 4d 41 43 20 52 49 50 45 4d  ints {HMAC RIPEM
0aa0: 44 31 36 30 20 7d 20 5c 0a 09 2d 73 65 74 75 70  D160 } \..-setup
0ab0: 20 7b 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 73 74   {} \..-body {st
0ac0: 72 69 6e 67 20 72 61 6e 67 65 20 5b 74 6c 73 3a  ring range [tls:
0ad0: 3a 68 6d 61 63 20 2d 68 65 78 20 2d 64 69 67 65  :hmac -hex -dige
0ae0: 73 74 20 52 49 50 45 4d 44 31 36 30 20 2d 6b 65  st RIPEMD160 -ke
0af0: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  y [binary decode
0b00: 20 68 65 78 20 61 61 61 61 61 61 61 61 61 61 61   hex aaaaaaaaaaa
0b10: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b20: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b30: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
0b40: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61  aaaaaaaaaaaaaaaa
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: 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 5d 20 2d 64 61 74 61 20 22 54 65  aaaaa] -data "Te
0bb0: 73 74 20 55 73 69 6e 67 20 4c 61 72 67 65 72 20  st Using Larger 
0bc0: 54 68 61 6e 20 42 6c 6f 63 6b 2d 53 69 7a 65 20  Than Block-Size 
0bd0: 4b 65 79 20 61 6e 64 20 4c 61 72 67 65 72 20 54  Key and Larger T
0be0: 68 61 6e 20 4f 6e 65 20 42 6c 6f 63 6b 2d 53 69  han One Block-Si
0bf0: 7a 65 20 44 61 74 61 22 5d 20 30 20 33 39 7d 20  ze Data"] 0 39} 
0c00: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0c10: 2d 72 65 73 75 6c 74 20 36 39 65 61 36 30 37 39  -result 69ea6079
0c20: 38 64 37 31 36 31 36 63 63 65 35 66 64 30 38 37  8d71616cce5fd087
0c30: 31 65 32 33 37 35 34 63 64 37 35 64 35 61 30 61  1e23754cd75d5a0a
0c40: 0a 0a 23 20 43 6c 65 61 6e 75 70 0a 3a 3a 74 63  ..# Cleanup.::tc
0c50: 6c 74 65 73 74 3a 3a 63 6c 65 61 6e 75 70 54 65  ltest::cleanupTe
0c60: 73 74 73 0a 72 65 74 75 72 6e 0a                 sts.return.