Hex Artifact Content

Artifact f41fb70fc3918c2066102fb21e2ea3f86677c0bafae7c1e21ab5d7f1858e420c:


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 53 48 41 33 5f 32 35 36 53   from "SHA3_256S
0020: 68 6f 72 74 4d 73 67 2e 72 73 70 22 0a 70 61 63  hortMsg.rsp".pac
0030: 6b 61 67 65 20 72 65 71 75 69 72 65 20 74 6c 73  kage require tls
0040: 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65  .package require
0050: 20 74 63 6c 74 65 73 74 0a 0a 74 63 6c 74 65 73   tcltest..tcltes
0060: 74 3a 3a 74 65 73 74 43 6f 6e 73 74 72 61 69 6e  t::testConstrain
0070: 74 20 53 48 41 33 5f 32 35 36 20 5b 65 78 70 72  t SHA3_256 [expr
0080: 20 7b 5b 6c 73 65 61 72 63 68 20 2d 6e 6f 63 61   {[lsearch -noca
0090: 73 65 20 5b 74 6c 73 3a 3a 64 69 67 65 73 74 73  se [tls::digests
00a0: 5d 20 53 48 41 33 2d 32 35 36 5d 20 3e 20 2d 31  ] SHA3-256] > -1
00b0: 7d 5d 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  }]..tcltest::tes
00c0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
00d0: 32 2e 31 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  2.1 {SHA3_256Sho
00e0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
00f0: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
0100: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
0110: 61 74 61 20 22 22 7d 20 5c 0a 09 2d 62 6f 64 79  ata ""} \..-body
0120: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
0130: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
0140: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
0150: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
0160: 75 6c 74 20 61 37 66 66 63 36 66 38 62 66 31 65  ult a7ffc6f8bf1e
0170: 64 37 36 36 35 31 63 31 34 37 35 36 61 30 36 31  d76651c14756a061
0180: 64 36 36 32 66 35 38 30 66 66 34 64 65 34 33 62  d662f580ff4de43b
0190: 34 39 66 61 38 32 64 38 30 61 34 62 38 30 66 38  49fa82d80a4b80f8
01a0: 34 33 34 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  434a..tcltest::t
01b0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
01c0: 36 2d 32 2e 32 20 7b 53 48 41 33 5f 32 35 36 53  6-2.2 {SHA3_256S
01d0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
01e0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
01f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
0200: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0210: 63 6f 64 65 20 68 65 78 20 65 39 5d 7d 20 5c 0a  code hex e9]} \.
0220: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
0230: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33  est -digest SHA3
0240: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
0250: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0260: 74 20 2d 72 65 73 75 6c 74 20 66 30 64 30 34 64  t -result f0d04d
0270: 64 31 65 36 63 66 63 32 39 61 34 34 36 30 64 35  d1e6cfc29a4460d5
0280: 32 31 37 39 36 38 35 32 66 32 35 64 39 65 66 38  21796852f25d9ef8
0290: 64 32 38 62 34 34 65 65 39 31 66 66 35 62 37 35  d28b44ee91ff5b75
02a0: 39 64 37 32 63 31 65 36 64 36 0a 0a 74 63 6c 74  9d72c1e6d6..tclt
02b0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
02c0: 48 41 33 2d 32 35 36 2d 32 2e 33 20 7b 53 48 41  HA3-256-2.3 {SHA
02d0: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
02e0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
02f0: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
0300: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
0310: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64  ary decode hex d
0320: 34 37 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  477]} \..-body {
0330: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
0340: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
0350: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0360: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0370: 74 20 39 34 32 37 39 65 38 66 35 63 63 64 66 36  t 94279e8f5ccdf6
0380: 65 31 37 66 32 39 32 62 35 39 36 39 38 61 62 34  e17f292b59698ab4
0390: 65 36 31 34 64 66 65 36 39 36 61 34 36 63 34 36  e614dfe696a46c46
03a0: 64 61 37 38 33 30 35 66 63 36 61 33 31 34 36 61  da78305fc6a3146a
03b0: 62 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  b7..tcltest::tes
03c0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
03d0: 32 2e 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  2.4 {SHA3_256Sho
03e0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
03f0: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
0400: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
0410: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
0420: 64 65 20 68 65 78 20 62 30 35 33 66 61 5d 7d 20  de hex b053fa]} 
0430: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
0440: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
0450: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
0460: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
0470: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 64 30 66  act -result 9d0f
0480: 66 30 38 36 63 64 30 65 63 30 36 61 36 38 32 63  f086cd0ec06a682c
0490: 35 31 63 30 39 34 64 63 37 33 61 62 64 63 34 39  51c094dc73abdc49
04a0: 32 30 30 34 32 39 32 33 34 34 62 64 34 31 62 38  2004292344bd41b8
04b0: 32 61 36 30 34 39 38 63 63 66 64 62 0a 0a 74 63  2a60498ccfdb..tc
04c0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
04d0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 20 7b 53  _SHA3-256-2.5 {S
04e0: 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  HA3_256ShortMsg}
04f0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0500: 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65   SHA3_256 \..-se
0510: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
0520: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0530: 20 65 37 33 37 32 31 30 35 5d 7d 20 5c 0a 09 2d   e7372105]} \..-
0540: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
0550: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
0560: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
0570: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0580: 2d 72 65 73 75 6c 74 20 33 61 34 32 62 36 38 61  -result 3a42b68a
0590: 62 30 37 39 66 32 38 63 34 63 61 33 63 37 35 32  b079f28c4ca3c752
05a0: 32 39 36 66 32 37 39 30 30 36 63 34 66 65 37 38  296f279006c4fe78
05b0: 62 31 65 62 37 39 64 39 38 39 37 37 37 66 30 35  b1eb79d989777f05
05c0: 31 65 34 30 34 36 61 65 0a 0a 74 63 6c 74 65 73  1e4046ae..tcltes
05d0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
05e0: 33 2d 32 35 36 2d 32 2e 36 20 7b 53 48 41 33 5f  3-256-2.6 {SHA3_
05f0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0600: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0610: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
0620: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0630: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 32 39  y decode hex 029
0640: 36 66 32 63 34 30 61 5d 7d 20 5c 0a 09 2d 62 6f  6f2c40a]} \..-bo
0650: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
0660: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
0670: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
0680: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
0690: 65 73 75 6c 74 20 35 33 61 30 31 38 39 33 37 32  esult 53a0189372
06a0: 32 31 30 38 31 64 30 39 65 64 30 34 39 37 33 37  21081d09ed049737
06b0: 37 65 33 32 61 31 66 61 37 32 34 30 32 35 64 66  7e32a1fa724025df
06c0: 64 63 31 38 37 31 66 61 35 30 33 64 35 34 35 64  dc1871fa503d545d
06d0: 66 34 62 34 30 64 0a 0a 74 63 6c 74 65 73 74 3a  f4b40d..tcltest:
06e0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
06f0: 32 35 36 2d 32 2e 37 20 7b 53 48 41 33 5f 32 35  256-2.7 {SHA3_25
0700: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
0710: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
0720: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
0730: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
0740: 64 65 63 6f 64 65 20 68 65 78 20 65 36 66 64 34  decode hex e6fd4
0750: 32 30 33 37 66 38 30 5d 7d 20 5c 0a 09 2d 62 6f  2037f80]} \..-bo
0760: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
0770: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
0780: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
0790: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
07a0: 65 73 75 6c 74 20 32 32 39 34 66 38 64 33 38 33  esult 2294f8d383
07b0: 34 66 32 34 61 61 39 30 33 37 63 34 33 31 66 38  4f24aa9037c431f8
07c0: 63 32 33 33 61 36 36 61 35 37 62 32 33 66 61 33  c233a66a57b23fa3
07d0: 64 65 31 30 35 33 30 62 62 62 36 39 31 31 66 36  de10530bbb6911f6
07e0: 65 31 38 35 30 66 0a 0a 74 63 6c 74 65 73 74 3a  e1850f..tcltest:
07f0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
0800: 32 35 36 2d 32 2e 38 20 7b 53 48 41 33 5f 32 35  256-2.8 {SHA3_25
0810: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
0820: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
0830: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
0840: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
0850: 64 65 63 6f 64 65 20 68 65 78 20 33 37 62 34 34  decode hex 37b44
0860: 32 33 38 35 65 30 35 33 38 5d 7d 20 5c 0a 09 2d  2385e0538]} \..-
0870: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
0880: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
0890: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
08a0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
08b0: 2d 72 65 73 75 6c 74 20 63 66 61 35 35 30 33 31  -result cfa55031
08c0: 65 37 31 36 62 62 64 37 61 38 33 66 32 31 35 37  e716bbd7a83f2157
08d0: 35 31 33 30 39 39 65 32 32 39 61 38 38 38 39 31  513099e229a88891
08e0: 62 62 38 39 39 64 39 63 63 64 33 31 37 31 39 31  bb899d9ccd317191
08f0: 38 31 39 39 39 38 66 38 0a 0a 74 63 6c 74 65 73  819998f8..tcltes
0900: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
0910: 33 2d 32 35 36 2d 32 2e 39 20 7b 53 48 41 33 5f  3-256-2.9 {SHA3_
0920: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0930: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0940: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
0950: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0960: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 62 63  y decode hex 8bc
0970: 61 39 33 31 63 38 61 31 33 32 64 32 66 5d 7d 20  a931c8a132d2f]} 
0980: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
0990: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
09a0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
09b0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
09c0: 61 63 74 20 2d 72 65 73 75 6c 74 20 64 62 62 38  act -result dbb8
09d0: 62 65 35 64 65 63 31 64 37 31 35 62 64 31 31 37  be5dec1d715bd117
09e0: 62 32 34 35 36 36 64 63 33 66 32 34 66 32 63 63  b24566dc3f24f2cc
09f0: 30 63 37 39 39 37 39 35 64 30 36 33 38 64 39 35  0c799795d0638d95
0a00: 33 37 34 38 31 65 66 31 65 30 33 65 0a 0a 74 63  37481ef1e03e..tc
0a10: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
0a20: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 30 20 7b  _SHA3-256-2.10 {
0a30: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
0a40: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0a50: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
0a60: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
0a70: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0a80: 78 20 66 62 38 64 66 61 33 61 31 33 32 66 39 38  x fb8dfa3a132f98
0a90: 31 33 61 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  13ac]} \..-body 
0aa0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0ab0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
0ac0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0ad0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0ae0: 6c 74 20 66 64 30 39 62 33 35 30 31 38 38 38 34  lt fd09b35018884
0af0: 34 35 66 66 63 38 63 33 62 62 39 35 64 31 30 36  45ffc8c3bb95d106
0b00: 34 34 30 63 65 65 65 34 36 39 34 31 35 66 63 65  440ceee469415fce
0b10: 31 34 37 34 37 34 33 32 37 33 30 39 34 33 30 36  1474743273094306
0b20: 65 32 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  e2e..tcltest::te
0b30: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
0b40: 2d 32 2e 31 31 20 7b 53 48 41 33 5f 32 35 36 53  -2.11 {SHA3_256S
0b50: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
0b60: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
0b70: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
0b80: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0b90: 63 6f 64 65 20 68 65 78 20 37 31 66 62 61 63 64  code hex 71fbacd
0ba0: 62 66 38 35 34 31 37 37 39 63 32 34 61 5d 7d 20  bf8541779c24a]} 
0bb0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
0bc0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
0bd0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
0be0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
0bf0: 61 63 74 20 2d 72 65 73 75 6c 74 20 63 63 34 65  act -result cc4e
0c00: 35 61 32 31 36 62 30 31 66 39 38 37 66 32 34 61  5a216b01f987f24a
0c10: 62 39 63 61 64 35 65 62 31 39 36 65 38 39 64 33  b9cad5eb196e89d3
0c20: 32 65 64 34 61 61 63 38 35 61 63 62 37 32 37 65  2ed4aac85acb727e
0c30: 31 38 65 34 30 63 65 65 66 30 30 65 0a 0a 74 63  18e40ceef00e..tc
0c40: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
0c50: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 32 20 7b  _SHA3-256-2.12 {
0c60: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
0c70: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0c80: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
0c90: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
0ca0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0cb0: 78 20 37 65 38 66 31 66 64 31 38 38 32 65 34 61  x 7e8f1fd1882e4a
0cc0: 37 63 34 39 65 36 37 34 5d 7d 20 5c 0a 09 2d 62  7c49e674]} \..-b
0cd0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0ce0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
0cf0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
0d00: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0d10: 72 65 73 75 6c 74 20 37 39 62 65 66 37 38 63 37  result 79bef78c7
0d20: 38 61 61 37 31 65 31 31 61 33 33 37 35 33 39 34  8aa71e11a3375394
0d30: 63 32 35 36 32 30 33 37 63 64 30 66 38 32 61 30  c2562037cd0f82a0
0d40: 33 33 62 34 38 61 36 63 63 39 33 32 63 63 34 33  33b48a6cc932cc43
0d50: 33 35 38 66 64 39 65 0a 0a 74 63 6c 74 65 73 74  358fd9e..tcltest
0d60: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0d70: 2d 32 35 36 2d 32 2e 31 33 20 7b 53 48 41 33 5f  -256-2.13 {SHA3_
0d80: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0d90: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0da0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
0db0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0dc0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 63 35  y decode hex 5c5
0dd0: 36 61 36 62 31 38 63 33 39 65 36 36 65 31 62 37  6a6b18c39e66e1b7
0de0: 61 39 39 33 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79  a993a]} \..-body
0df0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
0e00: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
0e10: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
0e20: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
0e30: 75 6c 74 20 62 36 39 37 35 35 36 63 62 33 30 64  ult b697556cb30d
0e40: 36 64 66 34 34 38 65 65 33 38 62 39 37 33 63 62  6df448ee38b973cb
0e50: 36 39 34 32 35 35 39 64 65 34 63 32 35 36 37 62  6942559de4c2567b
0e60: 31 35 35 36 32 34 30 31 38 38 63 35 35 65 63 30  1556240188c55ec0
0e70: 38 34 31 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  841c..tcltest::t
0e80: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
0e90: 36 2d 32 2e 31 34 20 7b 53 48 41 33 5f 32 35 36  6-2.14 {SHA3_256
0ea0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
0eb0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
0ec0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
0ed0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
0ee0: 65 63 6f 64 65 20 68 65 78 20 39 63 37 36 63 61  ecode hex 9c76ca
0ef0: 35 62 36 66 38 64 31 32 31 32 64 38 65 36 38 39  5b6f8d1212d8e689
0f00: 36 61 64 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  6ad8]} \..-body 
0f10: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0f20: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
0f30: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0f40: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0f50: 6c 74 20 36 39 64 66 63 33 61 32 35 38 36 35 66  lt 69dfc3a25865f
0f60: 33 35 33 35 66 31 38 62 34 61 37 62 64 39 63 30  3535f18b4a7bd9c0
0f70: 63 36 39 64 37 38 34 35 35 66 31 66 63 31 66 34  c69d78455f1fc1f4
0f80: 62 66 34 65 32 39 66 63 38 32 62 66 33 32 38 31  bf4e29fc82bf3281
0f90: 38 65 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  8ec..tcltest::te
0fa0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
0fb0: 2d 32 2e 31 35 20 7b 53 48 41 33 5f 32 35 36 53  -2.15 {SHA3_256S
0fc0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
0fd0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
0fe0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
0ff0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1000: 63 6f 64 65 20 68 65 78 20 36 38 37 66 66 37 34  code hex 687ff74
1010: 38 35 62 37 65 62 35 31 66 65 32 30 38 66 36 66  85b7eb51fe208f6f
1020: 66 39 61 31 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79  f9a1b]} \..-body
1030: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
1040: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
1050: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
1060: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
1070: 75 6c 74 20 66 65 37 65 36 38 61 65 33 65 31 61  ult fe7e68ae3e1a
1080: 39 31 39 34 34 65 34 64 31 64 32 31 34 36 64 39  91944e4d1d2146d9
1090: 33 36 30 65 35 33 33 33 63 30 39 39 61 32 35 36  360e5333c099a256
10a0: 66 33 37 31 31 65 64 63 33 37 32 62 63 36 65 65  f3711edc372bc6ee
10b0: 62 32 32 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  b226..tcltest::t
10c0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
10d0: 36 2d 32 2e 31 36 20 7b 53 48 41 33 5f 32 35 36  6-2.16 {SHA3_256
10e0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
10f0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
1100: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
1110: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
1120: 65 63 6f 64 65 20 68 65 78 20 34 31 34 39 66 34  ecode hex 4149f4
1130: 31 62 65 31 64 32 36 35 65 36 36 38 63 35 33 36  1be1d265e668c536
1140: 62 38 35 64 64 65 34 31 5d 7d 20 5c 0a 09 2d 62  b85dde41]} \..-b
1150: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1160: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1170: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1180: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1190: 72 65 73 75 6c 74 20 32 32 39 61 37 37 30 32 34  result 229a77024
11a0: 34 38 63 36 34 30 66 35 35 64 61 66 65 64 30 38  48c640f55dafed08
11b0: 61 35 32 61 61 30 62 31 31 33 39 36 35 37 62 61  a52aa0b1139657ba
11c0: 39 66 63 34 63 35 65 62 38 35 38 37 65 31 37 34  9fc4c5eb8587e174
11d0: 65 63 64 39 62 39 32 0a 0a 74 63 6c 74 65 73 74  ecd9b92..tcltest
11e0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
11f0: 2d 32 35 36 2d 32 2e 31 37 20 7b 53 48 41 33 5f  -256-2.17 {SHA3_
1200: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
1210: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1220: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
1230: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1240: 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 38 33  y decode hex d83
1250: 63 37 32 31 65 65 35 31 62 30 36 30 63 35 61 34  c721ee51b060c5a4
1260: 31 34 33 38 61 38 32 32 31 65 30 34 30 5d 7d 20  1438a8221e040]} 
1270: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
1280: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
1290: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
12a0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
12b0: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 38 37 64  act -result b87d
12c0: 39 65 34 37 32 32 65 64 64 33 39 31 38 37 32 39  9e4722edd3918729
12d0: 64 65 64 39 61 36 64 30 33 61 66 38 32 35 36 39  ded9a6d03af82569
12e0: 39 38 65 65 30 38 38 61 31 61 65 36 36 32 65 66  98ee088a1ae662ef
12f0: 34 62 63 61 66 66 31 34 32 61 39 36 0a 0a 74 63  4bcaff142a96..tc
1300: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1310: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 38 20 7b  _SHA3-256-2.18 {
1320: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
1330: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1340: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
1350: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
1360: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
1370: 78 20 32 36 36 65 38 63 62 64 33 65 37 33 64 38  x 266e8cbd3e73d8
1380: 30 64 66 32 61 34 39 63 66 64 61 66 30 64 63 33  0df2a49cfdaf0dc3
1390: 39 63 64 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  9cd1]} \..-body 
13a0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
13b0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
13c0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
13d0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
13e0: 6c 74 20 36 63 32 64 65 33 63 39 35 39 30 30 61  lt 6c2de3c95900a
13f0: 31 62 63 65 63 36 62 64 34 63 61 37 38 30 30 35  1bcec6bd4ca78005
1400: 36 61 66 34 61 63 66 33 61 61 33 36 65 65 36 34  6af4acf3aa36ee64
1410: 30 34 37 34 62 36 65 38 37 30 31 38 37 66 35 39  0474b6e870187f59
1420: 33 36 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  361..tcltest::te
1430: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
1440: 2d 32 2e 31 39 20 7b 53 48 41 33 5f 32 35 36 53  -2.19 {SHA3_256S
1450: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
1460: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
1470: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
1480: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1490: 63 6f 64 65 20 68 65 78 20 61 31 64 37 63 65 35  code hex a1d7ce5
14a0: 31 30 34 65 62 32 35 64 36 31 33 31 62 62 38 66  104eb25d6131bb8f
14b0: 36 36 65 31 66 62 31 33 66 33 35 32 33 5d 7d 20  66e1fb13f3523]} 
14c0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
14d0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
14e0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
14f0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1500: 61 63 74 20 2d 72 65 73 75 6c 74 20 65 65 39 30  act -result ee90
1510: 36 32 66 33 39 37 32 30 62 38 32 31 62 38 38 62  62f39720b821b88b
1520: 65 35 65 36 34 36 32 31 64 37 65 30 63 61 30 32  e5e64621d7e0ca02
1530: 36 61 39 66 65 37 32 34 38 64 37 38 31 35 30 62  6a9fe7248d78150b
1540: 31 34 62 64 62 61 61 34 30 62 65 64 0a 0a 74 63  14bdbaa40bed..tc
1550: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1560: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32 30 20 7b  _SHA3-256-2.20 {
1570: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
1580: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1590: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
15a0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
15b0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
15c0: 78 20 64 37 35 31 63 63 64 32 63 64 36 35 66 32  x d751ccd2cd65f2
15d0: 37 64 62 35 33 39 31 37 36 39 32 30 61 37 30 30  7db539176920a700
15e0: 35 37 61 30 38 61 36 62 5d 7d 20 5c 0a 09 2d 62  57a08a6b]} \..-b
15f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1600: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1610: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1620: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1630: 72 65 73 75 6c 74 20 37 61 61 63 61 38 30 64 62  result 7aaca80db
1640: 65 62 38 64 63 33 36 37 37 64 31 38 62 38 34 37  eb8dc3677d18b847
1650: 39 35 39 38 35 34 36 33 36 35 30 64 37 32 66 32  95985463650d72f2
1660: 35 34 33 65 30 65 63 37 30 39 63 39 65 37 30 62  543e0ec709c9e70b
1670: 38 63 64 37 62 37 39 0a 0a 74 63 6c 74 65 73 74  8cd7b79..tcltest
1680: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
1690: 2d 32 35 36 2d 32 2e 32 31 20 7b 53 48 41 33 5f  -256-2.21 {SHA3_
16a0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
16b0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
16c0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
16d0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
16e0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 33 32  y decode hex b32
16f0: 64 65 63 35 38 38 36 35 61 62 37 34 36 31 34 65  dec58865ab74614e
1700: 61 39 38 32 65 66 62 39 33 63 30 38 64 39 61 63  a982efb93c08d9ac
1710: 62 31 62 62 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79  b1bb0]} \..-body
1720: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
1730: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
1740: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
1750: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
1760: 75 6c 74 20 36 61 31 32 65 35 33 35 64 62 66 64  ult 6a12e535dbfd
1770: 64 61 62 36 64 33 37 34 30 35 38 64 39 32 33 33  dab6d374058d9233
1780: 38 65 37 36 30 62 31 61 32 31 31 34 35 31 61 36  8e760b1a211451a6
1790: 63 30 39 62 65 39 62 36 31 65 65 32 32 66 33 62  c09be9b61ee22f3b
17a0: 62 34 36 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  b467..tcltest::t
17b0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
17c0: 36 2d 32 2e 32 32 20 7b 53 48 41 33 5f 32 35 36  6-2.22 {SHA3_256
17d0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
17e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
17f0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
1800: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
1810: 65 63 6f 64 65 20 68 65 78 20 34 65 30 63 63 34  ecode hex 4e0cc4
1820: 66 35 63 36 64 63 66 30 65 32 65 66 63 61 31 66  f5c6dcf0e2efca1f
1830: 39 66 31 32 39 33 37 32 65 32 64 63 62 63 61 35  9f129372e2dcbca5
1840: 37 65 61 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7ea6]} \..-body 
1850: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1860: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
1870: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
1880: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
1890: 6c 74 20 64 32 62 37 37 31 37 38 36 34 65 39 34  lt d2b7717864e94
18a0: 33 38 64 64 30 32 61 34 66 38 62 62 30 32 30 33  38dd02a4f8bb0203
18b0: 62 37 37 65 32 64 33 63 64 38 66 38 66 66 63 66  b77e2d3cd8f8ffcf
18c0: 39 64 63 36 38 34 65 36 33 64 65 35 65 66 33 39  9dc684e63de5ef39
18d0: 66 30 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  f0d..tcltest::te
18e0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
18f0: 2d 32 2e 32 33 20 7b 53 48 41 33 5f 32 35 36 53  -2.23 {SHA3_256S
1900: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
1910: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
1920: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
1930: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1940: 63 6f 64 65 20 68 65 78 20 64 31 36 64 39 37 38  code hex d16d978
1950: 64 66 62 61 65 63 66 32 63 38 61 30 34 30 39 30  dfbaecf2c8a04090
1960: 66 36 65 65 62 64 62 34 32 31 61 35 61 37 31 31  f6eebdb421a5a711
1970: 31 33 37 61 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79  137a6]} \..-body
1980: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
1990: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
19a0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
19b0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
19c0: 75 6c 74 20 37 66 34 39 37 39 31 33 33 31 38 64  ult 7f497913318d
19d0: 65 66 64 63 36 30 63 39 32 34 62 33 37 30 34 62  efdc60c924b3704b
19e0: 36 35 61 64 61 37 63 61 33 62 61 32 30 33 66 32  65ada7ca3ba203f2
19f0: 33 66 62 39 31 38 63 36 66 62 30 33 64 34 62 30  3fb918c6fb03d4b0
1a00: 63 30 64 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  c0da..tcltest::t
1a10: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
1a20: 36 2d 32 2e 32 34 20 7b 53 48 41 33 5f 32 35 36  6-2.24 {SHA3_256
1a30: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
1a40: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
1a50: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
1a60: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
1a70: 65 63 6f 64 65 20 68 65 78 20 34 37 32 34 39 63  ecode hex 47249c
1a80: 37 63 62 38 35 64 38 66 30 32 34 32 61 62 32 34  7cb85d8f0242ab24
1a90: 30 65 66 64 31 36 34 62 39 63 38 62 30 62 64 33  0efd164b9c8b0bd3
1aa0: 31 30 34 62 62 61 33 62 5d 7d 20 5c 0a 09 2d 62  104bba3b]} \..-b
1ab0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1ac0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1ad0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1ae0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1af0: 72 65 73 75 6c 74 20 34 33 35 65 32 37 36 66 30  result 435e276f0
1b00: 36 61 65 37 33 61 61 35 64 35 64 36 30 31 38 66  6ae73aa5d5d6018f
1b10: 35 38 65 30 66 30 30 39 62 65 33 35 31 65 61 64  58e0f009be351ead
1b20: 61 34 37 62 36 37 37 63 32 66 37 63 30 36 34 35  a47b677c2f7c0645
1b30: 35 66 33 38 34 65 37 0a 0a 74 63 6c 74 65 73 74  5f384e7..tcltest
1b40: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
1b50: 2d 32 35 36 2d 32 2e 32 35 20 7b 53 48 41 33 5f  -256-2.25 {SHA3_
1b60: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
1b70: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1b80: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
1b90: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1ba0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 66 35  y decode hex cf5
1bb0: 34 39 61 33 38 33 63 30 61 63 33 31 65 61 65 38  49a383c0ac31eae8
1bc0: 37 30 63 34 30 38 36 37 65 65 62 39 34 66 61 31  70c40867eeb94fa1
1bd0: 62 36 66 33 63 61 63 34 34 37 33 66 32 5d 7d 20  b6f3cac4473f2]} 
1be0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
1bf0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
1c00: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
1c10: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1c20: 61 63 74 20 2d 72 65 73 75 6c 74 20 63 64 66 64  act -result cdfd
1c30: 31 61 66 61 37 39 33 65 34 38 66 64 30 65 65 35  1afa793e48fd0ee5
1c40: 62 33 34 64 66 63 35 33 66 62 63 65 65 34 33 65  b34dfc53fbcee43e
1c50: 39 64 32 61 63 32 31 35 31 35 65 34 37 34 36 34  9d2ac21515e47464
1c60: 37 35 34 35 33 61 62 33 38 33 31 66 0a 0a 74 63  75453ab3831f..tc
1c70: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1c80: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32 36 20 7b  _SHA3-256-2.26 {
1c90: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
1ca0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1cb0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
1cc0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
1cd0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
1ce0: 78 20 39 62 33 66 64 66 38 64 34 34 38 36 38 30  x 9b3fdf8d448680
1cf0: 38 34 30 64 36 32 38 34 66 32 39 39 37 64 33 61  840d6284f2997d3a
1d00: 66 35 35 66 66 64 38 35 66 36 66 34 62 33 33 64  f55ffd85f6f4b33d
1d10: 37 66 38 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7f8d]} \..-body 
1d20: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1d30: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
1d40: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
1d50: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
1d60: 6c 74 20 32 35 30 30 35 64 31 30 65 38 34 66 66  lt 25005d10e84ff
1d70: 39 37 63 37 34 61 35 38 39 30 31 33 62 65 34 32  97c74a589013be42
1d80: 66 62 33 37 66 36 38 64 62 36 34 62 64 66 63 37  fb37f68db64bdfc7
1d90: 36 32 36 65 66 63 30 64 64 36 32 38 30 37 37 34  626efc0dd6280774
1da0: 39 33 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  93a..tcltest::te
1db0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
1dc0: 2d 32 2e 32 37 20 7b 53 48 41 33 5f 32 35 36 53  -2.27 {SHA3_256S
1dd0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
1de0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
1df0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
1e00: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1e10: 63 6f 64 65 20 68 65 78 20 36 62 32 32 66 65 39  code hex 6b22fe9
1e20: 34 62 65 32 64 30 62 32 35 32 38 64 39 38 34 37  4be2d0b2528d9847
1e30: 65 31 32 37 65 62 36 63 37 64 36 39 36 37 65 37  e127eb6c7d6967e7
1e40: 65 63 38 62 39 36 36 30 65 37 37 63 63 5d 7d 20  ec8b9660e77cc]} 
1e50: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
1e60: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
1e70: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
1e80: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1e90: 61 63 74 20 2d 72 65 73 75 6c 74 20 31 35 37 61  act -result 157a
1ea0: 35 32 62 30 34 37 37 36 33 39 62 33 62 63 31 37  52b0477639b3bc17
1eb0: 39 36 36 37 62 33 35 63 31 63 64 66 62 62 33 65  9667b35c1cdfbb3e
1ec0: 65 66 38 34 35 65 34 34 38 36 66 30 66 38 34 61  ef845e4486f0f84a
1ed0: 35 32 36 65 39 34 30 62 35 31 38 63 0a 0a 74 63  526e940b518c..tc
1ee0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1ef0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32 38 20 7b  _SHA3-256-2.28 {
1f00: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
1f10: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
1f20: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
1f30: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
1f40: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
1f50: 78 20 64 38 64 65 63 61 66 64 61 64 33 37 37 39  x d8decafdad3779
1f60: 30 34 61 32 37 38 39 35 35 31 31 33 35 65 37 38  04a2789551135e78
1f70: 32 65 33 30 32 61 65 64 38 34 35 30 61 34 32 63  2e302aed8450a42c
1f80: 66 62 38 39 36 30 30 63 5d 7d 20 5c 0a 09 2d 62  fb89600c]} \..-b
1f90: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1fa0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1fb0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1fc0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1fd0: 72 65 73 75 6c 74 20 33 64 64 65 63 66 35 62 62  result 3ddecf5bb
1fe0: 61 35 31 36 34 33 63 64 37 37 65 62 64 65 32 31  a51643cd77ebde21
1ff0: 34 31 63 38 35 34 35 66 38 36 32 30 36 37 62 32  41c8545f862067b2
2000: 30 39 39 39 30 64 34 63 62 36 35 62 66 61 36 35  09990d4cb65bfa65
2010: 66 34 66 61 30 63 30 0a 0a 74 63 6c 74 65 73 74  f4fa0c0..tcltest
2020: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2030: 2d 32 35 36 2d 32 2e 32 39 20 7b 53 48 41 33 5f  -256-2.29 {SHA3_
2040: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
2050: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2060: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
2070: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2080: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 33 38  y decode hex 938
2090: 66 65 36 61 66 64 62 66 31 34 64 31 32 32 39 65  fe6afdbf14d1229e
20a0: 30 33 35 37 36 65 35 33 32 66 30 37 38 38 39 38  03576e532f078898
20b0: 37 36 39 65 32 30 36 32 30 61 65 32 31 36 34 66  769e20620ae2164f
20c0: 35 61 62 66 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79  5abfa]} \..-body
20d0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
20e0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
20f0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
2100: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
2110: 75 6c 74 20 39 35 31 31 61 62 64 31 33 63 37 35  ult 9511abd13c75
2120: 36 37 37 32 62 38 35 32 31 31 34 35 37 38 65 66  6772b852114578ef
2130: 39 62 39 36 66 39 64 63 37 64 30 66 32 62 38 64  9b96f9dc7d0f2b8d
2140: 63 64 65 36 65 61 37 64 31 62 64 31 34 63 35 31  cde6ea7d1bd14c51
2150: 38 38 39 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  8890..tcltest::t
2160: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
2170: 36 2d 32 2e 33 30 20 7b 53 48 41 33 5f 32 35 36  6-2.30 {SHA3_256
2180: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2190: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
21a0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
21b0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
21c0: 65 63 6f 64 65 20 68 65 78 20 36 36 65 62 35 65  ecode hex 66eb5e
21d0: 37 33 39 36 66 35 62 34 35 31 61 30 32 66 33 39  7396f5b451a02f39
21e0: 36 39 39 64 61 34 64 62 63 35 30 35 33 38 66 62  699da4dbc50538fb
21f0: 31 30 36 37 38 65 63 33 39 61 35 65 32 38 62 61  10678ec39a5e28ba
2200: 61 33 63 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  a3c0]} \..-body 
2210: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2220: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
2230: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
2240: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
2250: 6c 74 20 35 34 30 61 63 66 38 31 38 31 30 61 31  lt 540acf81810a1
2260: 39 39 39 39 36 61 36 31 32 65 38 38 35 37 38 31  99996a612e885781
2270: 33 30 38 38 30 32 66 65 34 36 30 65 39 63 36 33  308802fe460e9c63
2280: 38 63 63 30 32 32 65 31 37 30 37 36 62 65 38 35  8cc022e17076be85
2290: 39 37 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  97a..tcltest::te
22a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
22b0: 2d 32 2e 33 31 20 7b 53 48 41 33 5f 32 35 36 53  -2.31 {SHA3_256S
22c0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
22d0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
22e0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
22f0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2300: 63 6f 64 65 20 68 65 78 20 64 65 39 38 39 36 38  code hex de98968
2310: 63 38 62 64 39 34 30 38 62 64 35 36 32 61 63 36  c8bd9408bd562ac6
2320: 65 66 62 63 61 32 62 31 30 66 35 37 36 39 61 61  efbca2b10f5769aa
2330: 63 61 61 30 31 33 36 35 37 36 33 65 31 62 32 63  caa01365763e1b2c
2340: 65 38 30 34 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79  e8048]} \..-body
2350: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
2360: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
2370: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
2380: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
2390: 75 6c 74 20 36 62 32 66 32 35 34 37 37 38 31 34  ult 6b2f25477814
23a0: 34 39 64 34 66 61 31 35 38 31 38 30 61 31 37 38  49d4fa158180a178
23b0: 65 66 36 38 64 37 30 35 36 31 32 31 62 66 38 61  ef68d7056121bf8a
23c0: 32 66 32 66 34 39 38 39 31 61 66 63 32 34 39 37  2f2f49891afc2497
23d0: 38 35 32 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  8521..tcltest::t
23e0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
23f0: 36 2d 32 2e 33 32 20 7b 53 48 41 33 5f 32 35 36  6-2.32 {SHA3_256
2400: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2410: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
2420: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
2430: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
2440: 65 63 6f 64 65 20 68 65 78 20 39 34 34 36 34 65  ecode hex 94464e
2450: 38 66 61 66 64 38 32 66 36 33 30 65 36 61 61 62  8fafd82f630e6aab
2460: 39 61 61 33 33 39 64 39 38 31 64 62 30 61 33 37  9aa339d981db0a37
2470: 32 64 63 35 63 31 65 66 62 31 37 37 33 30 35 39  2dc5c1efb1773059
2480: 39 35 61 65 32 64 63 30 5d 7d 20 5c 0a 09 2d 62  95ae2dc0]} \..-b
2490: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
24a0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
24b0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
24c0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
24d0: 72 65 73 75 6c 74 20 65 61 37 39 35 32 61 64 37  result ea7952ad7
24e0: 35 39 36 35 33 63 64 34 37 61 31 38 30 30 34 61  59653cd47a18004a
24f0: 63 32 64 62 62 39 63 66 34 61 31 65 37 62 62 61  c2dbb9cf4a1e7bba
2500: 38 61 35 33 30 63 66 30 37 30 35 37 30 63 37 31  8a530cf070570c71
2510: 31 61 36 33 34 65 61 0a 0a 74 63 6c 74 65 73 74  1a634ea..tcltest
2520: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2530: 2d 32 35 36 2d 32 2e 33 33 20 7b 53 48 41 33 5f  -256-2.33 {SHA3_
2540: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
2550: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2560: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
2570: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2580: 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 31 37  y decode hex c17
2590: 38 63 65 30 66 37 32 30 61 36 64 37 33 63 36 63  8ce0f720a6d73c6c
25a0: 66 31 63 61 61 39 30 35 65 65 37 32 34 64 35 62  f1caa905ee724d5b
25b0: 61 39 34 31 63 32 65 32 36 32 38 31 33 36 65 33  a941c2e2628136e3
25c0: 61 61 64 37 64 38 35 33 37 33 33 62 61 5d 7d 20  aad7d853733ba]} 
25d0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
25e0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
25f0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
2600: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
2610: 61 63 74 20 2d 72 65 73 75 6c 74 20 36 34 35 33  act -result 6453
2620: 37 62 38 37 38 39 32 38 33 35 66 66 30 39 36 33  7b87892835ff0963
2630: 65 66 39 61 64 35 31 34 35 61 62 34 63 66 63 65  ef9ad5145ab4cfce
2640: 35 64 33 30 33 61 30 63 62 30 34 31 35 62 33 62  5d303a0cb0415b3b
2650: 30 33 66 39 64 31 36 65 37 64 36 62 0a 0a 74 63  03f9d16e7d6b..tc
2660: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
2670: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33 34 20 7b  _SHA3-256-2.34 {
2680: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
2690: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
26a0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
26b0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
26c0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
26d0: 78 20 36 65 66 37 30 61 33 61 32 31 66 39 66 37  x 6ef70a3a21f9f7
26e0: 64 63 34 31 63 35 35 33 63 39 62 37 65 66 37 30  dc41c553c9b7ef70
26f0: 64 62 38 32 63 61 36 39 39 34 61 63 38 39 62 33  db82ca6994ac89b3
2700: 36 32 37 64 61 34 66 35 32 31 66 30 37 65 31 61  627da4f521f07e1a
2710: 65 32 36 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  e263]} \..-body 
2720: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2730: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
2740: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
2750: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
2760: 6c 74 20 30 61 66 65 30 33 62 31 37 35 61 31 63  lt 0afe03b175a1c
2770: 39 34 38 39 36 36 33 64 38 61 36 66 36 36 64 31  9489663d8a6f66d1
2780: 62 32 34 61 62 61 35 31 33 39 62 39 39 36 34 30  b24aba5139b99640
2790: 30 62 38 62 64 33 64 30 65 31 61 37 39 35 38 30  0b8bd3d0e1a79580
27a0: 65 34 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  e4d..tcltest::te
27b0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
27c0: 2d 32 2e 33 35 20 7b 53 48 41 33 5f 32 35 36 53  -2.35 {SHA3_256S
27d0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
27e0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
27f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
2800: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2810: 63 6f 64 65 20 68 65 78 20 30 63 34 61 39 33 31  code hex 0c4a931
2820: 66 66 37 65 61 63 65 35 65 61 37 63 64 38 64 32  ff7eace5ea7cd8d2
2830: 61 36 37 36 31 39 34 30 38 33 38 66 33 30 65 34  a6761940838f30e4
2840: 33 63 35 64 31 32 35 33 32 39 39 61 62 64 31 62  3c5d1253299abd1b
2850: 64 39 30 33 66 65 64 31 65 38 62 33 36 5d 7d 20  d903fed1e8b36]} 
2860: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
2870: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
2880: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
2890: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
28a0: 61 63 74 20 2d 72 65 73 75 6c 74 20 64 63 35 62  act -result dc5b
28b0: 65 62 65 30 35 63 34 39 39 34 39 36 61 37 65 62  ebe05c499496a7eb
28c0: 66 65 30 34 33 30 39 63 61 65 35 31 35 65 33 65  fe04309cae515e3e
28d0: 61 35 37 63 35 64 32 61 35 66 65 32 65 36 38 30  a57c5d2a5fe2e680
28e0: 31 32 34 33 64 64 35 32 63 39 33 62 0a 0a 74 63  1243dd52c93b..tc
28f0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
2900: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33 36 20 7b  _SHA3-256-2.36 {
2910: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
2920: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
2930: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
2940: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
2950: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
2960: 78 20 32 31 30 66 37 62 30 30 62 66 38 62 34 33  x 210f7b00bf8b43
2970: 33 37 62 34 32 34 35 30 63 37 32 31 63 33 66 37  37b42450c721c3f7
2980: 38 31 32 35 36 33 35 39 64 32 30 38 37 33 33 38  81256359d2087338
2990: 34 36 62 39 37 63 30 61 34 62 37 62 30 34 34 63  46b97c0a4b7b044c
29a0: 33 38 64 62 62 32 31 39 5d 7d 20 5c 0a 09 2d 62  38dbb219]} \..-b
29b0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
29c0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
29d0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
29e0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
29f0: 72 65 73 75 6c 74 20 33 33 30 35 63 39 64 32 38  result 3305c9d28
2a00: 65 30 35 32 38 38 61 32 64 31 33 39 39 34 64 36  e05288a2d13994d6
2a10: 34 63 38 38 64 33 35 30 36 33 39 39 63 64 36 32  4c88d3506399cd62
2a20: 62 32 62 35 34 34 32 31 33 63 66 33 35 33 39 61  b2b544213cf3539a
2a30: 38 65 39 32 65 32 65 0a 0a 74 63 6c 74 65 73 74  8e92e2e..tcltest
2a40: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2a50: 2d 32 35 36 2d 32 2e 33 37 20 7b 53 48 41 33 5f  -256-2.37 {SHA3_
2a60: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
2a70: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2a80: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
2a90: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2aa0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 63 62  y decode hex 3cb
2ab0: 38 39 39 32 37 35 39 65 32 64 63 36 30 65 62 62  8992759e2dc60ebb
2ac0: 30 32 32 62 64 38 65 65 32 37 66 30 66 39 38 30  022bd8ee27f0f980
2ad0: 33 39 65 36 61 39 66 65 33 36 30 33 37 33 62 34  39e6a9fe360373b4
2ae0: 38 63 37 38 35 30 63 65 31 31 33 61 30 66 66 37  8c7850ce113a0ff7
2af0: 62 32 61 65 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79  b2ae5]} \..-body
2b00: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
2b10: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
2b20: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
2b30: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
2b40: 75 6c 74 20 33 63 30 30 62 66 33 65 31 32 61 64  ult 3c00bf3e12ad
2b50: 65 39 64 32 64 65 32 37 35 36 35 30 36 66 38 30  e9d2de2756506f80
2b60: 39 66 31 34 37 63 38 64 36 61 64 63 32 32 65 37  9f147c8d6adc22e7
2b70: 62 62 36 36 36 65 30 62 31 64 32 36 34 36 39 65  bb666e0b1d26469e
2b80: 36 35 61 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  65a5..tcltest::t
2b90: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
2ba0: 36 2d 32 2e 33 38 20 7b 53 48 41 33 5f 32 35 36  6-2.38 {SHA3_256
2bb0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2bc0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
2bd0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
2be0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
2bf0: 65 63 6f 64 65 20 68 65 78 20 32 32 36 33 34 66  ecode hex 22634f
2c00: 36 62 61 37 62 34 66 63 63 61 61 33 62 61 34 30  6ba7b4fccaa3ba40
2c10: 34 30 62 36 36 34 64 62 65 35 61 37 32 62 66 33  40b664dbe5a72bf3
2c20: 39 34 66 62 35 33 34 65 34 39 63 37 36 65 63 34  94fb534e49c76ec4
2c30: 63 64 63 32 32 33 66 34 39 36 39 65 32 64 33 37  cdc223f4969e2d37
2c40: 65 38 39 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  e899]} \..-body 
2c50: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2c60: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
2c70: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
2c80: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
2c90: 6c 74 20 61 38 37 65 35 63 37 38 38 33 37 64 37  lt a87e5c78837d7
2ca0: 62 65 30 30 36 30 64 38 66 35 65 64 61 39 37 35  be0060d8f5eda975
2cb0: 34 38 39 65 63 39 36 31 62 32 38 64 37 30 38 38  489ec961b28d7088
2cc0: 66 34 32 61 37 30 66 39 32 34 31 34 61 65 31 37  f42a70f92414ae17
2cd0: 37 39 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  793..tcltest::te
2ce0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
2cf0: 2d 32 2e 33 39 20 7b 53 48 41 33 5f 32 35 36 53  -2.39 {SHA3_256S
2d00: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
2d10: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
2d20: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
2d30: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2d40: 63 6f 64 65 20 68 65 78 20 36 65 31 64 63 64 37  code hex 6e1dcd7
2d50: 39 36 62 32 30 31 35 65 65 36 37 36 30 66 39 38  96b2015ee6760f98
2d60: 66 64 62 34 30 65 36 36 38 62 32 63 66 33 38 62  fdb40e668b2cf38b
2d70: 30 35 63 39 31 66 36 61 39 31 65 38 33 62 63 63  05c91f6a91e83bcc
2d80: 38 61 63 35 39 66 38 31 36 66 39 30 61 35 39 64  8ac59f816f90a59d
2d90: 36 34 65 38 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79  64e8e]} \..-body
2da0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
2db0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
2dc0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
2dd0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
2de0: 75 6c 74 20 37 34 36 62 66 38 34 35 63 30 38 61  ult 746bf845c08a
2df0: 61 31 38 36 62 35 66 65 31 63 61 33 35 35 32 38  a186b5fe1ca35528
2e00: 32 33 32 63 34 61 34 39 31 61 33 61 32 61 33 32  232c4a491a3a2a32
2e10: 63 64 32 33 65 39 39 30 62 63 36 30 33 66 33 32  cd23e990bc603f32
2e20: 36 38 61 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  68ae..tcltest::t
2e30: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
2e40: 36 2d 32 2e 34 30 20 7b 53 48 41 33 5f 32 35 36  6-2.40 {SHA3_256
2e50: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2e60: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
2e70: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
2e80: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
2e90: 65 63 6f 64 65 20 68 65 78 20 65 65 30 62 65 32  ecode hex ee0be2
2ea0: 30 33 32 30 66 39 64 34 34 30 37 33 32 38 31 32  0320f9d440732812
2eb0: 36 35 61 36 65 39 66 61 36 62 39 64 32 35 32 34  65a6e9fa6b9d2524
2ec0: 39 35 36 32 34 62 38 64 30 31 36 62 38 65 66 35  95624b8d016b8ef5
2ed0: 37 65 31 62 34 65 38 35 39 64 38 61 64 33 62 35  7e1b4e859d8ad3b5
2ee0: 30 62 38 39 34 31 36 64 5d 7d 20 5c 0a 09 2d 62  0b89416d]} \..-b
2ef0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2f00: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
2f10: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
2f20: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
2f30: 72 65 73 75 6c 74 20 61 33 32 35 37 62 61 66 31  result a3257baf1
2f40: 34 63 61 31 36 65 31 31 33 37 64 63 35 31 35 38  4ca16e1137dc5158
2f50: 37 30 33 66 33 62 30 32 65 62 63 37 34 66 63 37  703f3b02ebc74fc7
2f60: 36 37 37 31 36 35 66 65 38 36 64 34 62 65 31 66  677165fe86d4be1f
2f70: 33 38 65 32 66 37 63 0a 0a 74 63 6c 74 65 73 74  38e2f7c..tcltest
2f80: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2f90: 2d 32 35 36 2d 32 2e 34 31 20 7b 53 48 41 33 5f  -256-2.41 {SHA3_
2fa0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
2fb0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2fc0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
2fd0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2fe0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 61 65  y decode hex 8ae
2ff0: 32 64 61 32 34 32 36 33 35 62 36 35 36 38 32 38  2da242635b656828
3000: 39 62 66 36 62 65 63 38 61 34 33 38 64 62 61 63  9bf6bec8a438dbac
3010: 31 66 35 62 34 64 35 30 61 39 30 62 62 37 34 34  1f5b4d50a90bb744
3020: 39 62 64 62 39 32 61 35 39 33 37 38 65 32 33 34  9bdb92a59378e234
3030: 35 32 64 62 63 61 62 62 62 65 38 37 39 5d 7d 20  52dbcabbbe879]} 
3040: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
3050: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
3060: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
3070: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3080: 61 63 74 20 2d 72 65 73 75 6c 74 20 65 32 35 63  act -result e25c
3090: 34 34 38 30 32 63 35 63 66 32 65 39 66 36 33 33  44802c5cf2e9f633
30a0: 65 36 38 33 64 33 37 61 61 38 63 38 64 62 38 61  e683d37aa8c8db8a
30b0: 30 65 32 31 63 33 36 37 38 30 38 31 32 31 64 31  0e21c367808121d1
30c0: 34 64 39 36 63 38 61 34 30 30 62 35 0a 0a 74 63  4d96c8a400b5..tc
30d0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
30e0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34 32 20 7b  _SHA3-256-2.42 {
30f0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
3100: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
3110: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
3120: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
3130: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
3140: 78 20 62 64 64 30 32 35 32 64 65 63 35 62 37 39  x bdd0252dec5b79
3150: 38 65 66 32 30 65 35 31 37 39 31 61 31 38 65 38  8ef20e51791a18e8
3160: 63 61 32 33 34 64 39 62 66 64 65 36 33 32 61 39  ca234d9bfde632a9
3170: 65 35 33 39 35 33 33 37 61 31 31 32 64 64 39 37  e5395337a112dd97
3180: 63 64 66 30 36 38 63 39 66 35 37 36 31 35 34 32  cdf068c9f5761542
3190: 34 66 35 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  4f59]} \..-body 
31a0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
31b0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
31c0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
31d0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
31e0: 6c 74 20 65 30 32 63 31 62 31 39 37 39 37 39 63  lt e02c1b197979c
31f0: 34 34 61 35 61 35 30 64 30 35 65 61 34 38 38 32  44a5a50d05ea4882
3200: 63 31 36 64 38 32 30 35 63 32 65 33 33 34 34 32  c16d8205c2e33442
3210: 36 35 66 38 66 65 30 65 38 30 61 65 64 30 36 63  65f8fe0e80aed06c
3220: 30 36 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  065..tcltest::te
3230: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
3240: 2d 32 2e 34 33 20 7b 53 48 41 33 5f 32 35 36 53  -2.43 {SHA3_256S
3250: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
3260: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
3270: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
3280: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3290: 63 6f 64 65 20 68 65 78 20 63 34 63 37 62 36 33  code hex c4c7b63
32a0: 31 35 63 62 36 30 62 30 65 36 63 64 30 31 65 66  15cb60b0e6cd01ef
32b0: 30 62 36 35 66 36 34 38 36 66 64 61 65 34 62 39  0b65f6486fdae4b9
32c0: 34 63 36 62 65 32 31 34 36 35 63 33 61 33 31 63  4c6be21465c3a31c
32d0: 34 31 36 61 64 32 66 30 36 64 63 66 33 64 36 65  416ad2f06dcf3d6e
32e0: 61 65 38 65 65 63 66 38 34 63 61 37 61 5d 7d 20  ae8eecf84ca7a]} 
32f0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
3300: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
3310: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
3320: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3330: 61 63 74 20 2d 72 65 73 75 6c 74 20 32 64 61 32  act -result 2da2
3340: 31 38 36 37 63 64 36 62 35 34 30 32 64 33 63 61  1867cd6b5402d3ca
3350: 66 66 39 32 61 30 35 66 64 64 66 63 61 39 30 31  ff92a05fddfca901
3360: 39 39 66 64 35 31 61 39 34 61 30 36 36 61 66 31  99fd51a94a066af1
3370: 36 34 63 65 33 64 33 36 63 39 34 39 0a 0a 74 63  64ce3d36c949..tc
3380: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
3390: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34 34 20 7b  _SHA3-256-2.44 {
33a0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
33b0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
33c0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
33d0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
33e0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
33f0: 78 20 62 31 37 39 37 37 61 63 65 64 33 61 31 31  x b17977aced3a11
3400: 38 34 62 31 34 62 30 65 34 31 61 30 34 64 64 38  84b14b0e41a04dd8
3410: 62 35 31 33 63 39 32 35 63 61 31 39 32 31 31 65  b513c925ca19211e
3420: 31 61 62 64 63 36 63 31 62 39 38 37 61 63 38 34  1abdc6c1b987ac84
3430: 35 35 34 35 66 62 33 62 38 32 30 61 30 38 33 62  5545fb3b820a083b
3440: 34 66 37 38 38 33 63 30 5d 7d 20 5c 0a 09 2d 62  4f7883c0]} \..-b
3450: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3460: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
3470: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3480: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3490: 72 65 73 75 6c 74 20 66 39 31 62 30 31 36 64 30  result f91b016d0
34a0: 31 33 65 64 65 38 64 36 61 32 65 31 65 66 64 34  13ede8d6a2e1efd4
34b0: 63 30 64 64 39 39 34 31 37 64 61 38 62 30 32 32  c0dd99417da8b022
34c0: 32 64 37 38 37 38 36 37 63 61 30 32 62 30 65 61  2d787867ca02b0ea
34d0: 32 65 38 30 65 34 35 0a 0a 74 63 6c 74 65 73 74  2e80e45..tcltest
34e0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
34f0: 2d 32 35 36 2d 32 2e 34 35 20 7b 53 48 41 33 5f  -256-2.45 {SHA3_
3500: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3510: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3520: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
3530: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3540: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 36 35  y decode hex f65
3550: 63 33 61 61 31 64 39 39 38 31 61 38 34 65 34 39  c3aa1d9981a84e49
3560: 66 63 38 36 64 39 33 38 66 33 66 37 35 36 66 36  fc86d938f3f756f6
3570: 30 65 33 38 35 38 64 35 65 31 66 36 39 35 37 64  0e3858d5e1f6957d
3580: 64 34 64 32 36 38 65 32 38 64 36 38 65 39 30 62  d4d268e28d68e90b
3590: 61 39 61 31 31 64 37 62 31 39 32 64 36 63 33 37  a9a11d7b192d6c37
35a0: 66 62 33 30 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79  fb30b]} \..-body
35b0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
35c0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
35d0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
35e0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
35f0: 75 6c 74 20 33 61 63 62 65 62 66 38 65 64 61 39  ult 3acbebf8eda9
3600: 64 33 63 39 39 61 36 62 36 62 36 36 36 33 36 36  d3c99a6b6b666366
3610: 63 33 39 31 65 38 32 30 30 64 35 35 66 64 33 33  c391e8200d55fd33
3620: 61 64 38 36 38 30 37 33 34 64 65 66 31 64 63 37  ad8680734def1dc7
3630: 61 65 38 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  ae85..tcltest::t
3640: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
3650: 36 2d 32 2e 34 36 20 7b 53 48 41 33 5f 32 35 36  6-2.46 {SHA3_256
3660: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
3670: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
3680: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
3690: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
36a0: 65 63 6f 64 65 20 68 65 78 20 34 39 61 62 62 61  ecode hex 49abba
36b0: 31 66 61 39 38 66 33 63 34 34 37 30 64 35 64 64  1fa98f3c4470d5dd
36c0: 34 65 64 33 36 39 32 34 61 66 34 61 37 61 64 36  4ed36924af4a7ad6
36d0: 32 66 34 63 32 64 64 31 33 65 35 39 39 32 33 38  2f4c2dd13e599238
36e0: 38 38 33 65 64 37 64 30 63 62 39 35 62 62 61 61  883ed7d0cb95bbaa
36f0: 65 35 38 62 34 36 30 33 33 32 65 36 62 37 36 38  e58b460332e6b768
3700: 31 34 34 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  1446]} \..-body 
3710: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3720: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
3730: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
3740: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
3750: 6c 74 20 30 32 62 63 64 39 65 61 34 66 31 61 61  lt 02bcd9ea4f1aa
3760: 35 32 37 36 66 33 38 65 33 30 33 35 31 61 31 34  5276f38e30351a14
3770: 61 30 37 32 62 63 35 64 35 33 61 35 32 64 30 34  a072bc5d53a52d04
3780: 64 35 35 39 61 36 35 63 61 34 36 66 31 62 63 62  d559a65ca46f1bcb
3790: 35 36 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  56e..tcltest::te
37a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
37b0: 2d 32 2e 34 37 20 7b 53 48 41 33 5f 32 35 36 53  -2.47 {SHA3_256S
37c0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
37d0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
37e0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
37f0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3800: 63 6f 64 65 20 68 65 78 20 32 37 35 36 34 35 62  code hex 275645b
3810: 35 61 32 35 31 34 66 65 36 35 61 38 32 65 66 61  5a2514fe65a82efa
3820: 63 35 37 65 34 30 36 66 32 32 34 65 30 32 35 39  c57e406f224e0259
3830: 36 37 37 36 37 34 66 31 64 31 33 33 66 30 30 61  677674f1d133f00a
3840: 35 65 65 39 61 36 64 31 61 38 66 65 64 30 65 61  5ee9a6d1a8fed0ea
3850: 64 62 62 66 66 35 61 38 32 35 30 34 31 64 32 61  dbbff5a825041d2a
3860: 39 37 31 35 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79  9715d]} \..-body
3870: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
3880: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
3890: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
38a0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
38b0: 75 6c 74 20 63 37 30 61 38 37 34 64 37 38 36 63  ult c70a874d786c
38c0: 64 30 66 33 66 30 39 66 61 34 64 63 31 62 62 38  d0f3f09fa4dc1bb8
38d0: 66 35 35 31 64 34 35 66 32 36 64 37 37 61 64 36  f551d45f26d77ad6
38e0: 33 64 65 31 61 39 66 64 66 62 33 62 37 63 30 39  3de1a9fdfb3b7c09
38f0: 63 30 34 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  c041..tcltest::t
3900: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
3910: 36 2d 32 2e 34 38 20 7b 53 48 41 33 5f 32 35 36  6-2.48 {SHA3_256
3920: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
3930: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
3940: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
3950: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
3960: 65 63 6f 64 65 20 68 65 78 20 63 64 30 32 62 33  ecode hex cd02b3
3970: 32 31 30 37 62 39 61 36 34 30 66 63 31 62 66 34  2107b9a640fc1bf4
3980: 33 39 61 63 38 31 61 35 63 32 37 64 30 33 37 63  39ac81a5c27d037c
3990: 36 30 37 36 65 31 63 66 65 36 61 64 32 32 39 36  6076e1cfe6ad2296
39a0: 33 38 30 33 37 61 63 31 35 35 30 65 37 31 63 66  38037ac1550e71cf
39b0: 39 35 35 37 63 32 39 63 32 66 63 36 30 31 37 61  9557c29c2fc6017a
39c0: 66 64 35 61 38 31 38 34 5d 7d 20 5c 0a 09 2d 62  fd5a8184]} \..-b
39d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
39e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
39f0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3a00: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3a10: 72 65 73 75 6c 74 20 33 36 63 37 33 64 31 31 64  result 36c73d11d
3a20: 34 35 30 37 38 34 65 62 39 39 61 66 30 36 38 63  450784eb99af068c
3a30: 64 34 65 31 63 62 63 35 37 36 38 63 38 61 32 31  d4e1cbc5768c8a21
3a40: 31 38 30 31 30 61 63 65 65 63 36 64 38 35 32 64  18010aceec6d852d
3a50: 64 61 38 30 64 39 35 0a 0a 74 63 6c 74 65 73 74  da80d95..tcltest
3a60: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3a70: 2d 32 35 36 2d 32 2e 34 39 20 7b 53 48 41 33 5f  -256-2.49 {SHA3_
3a80: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3a90: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3aa0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
3ab0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3ac0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 61 37  y decode hex 5a7
3ad0: 32 65 30 65 31 61 65 63 38 32 61 36 35 34 31 66  2e0e1aec82a6541f
3ae0: 30 34 38 38 33 62 62 34 36 33 62 30 63 33 39 63  04883bb463b0c39c
3af0: 32 32 62 35 39 34 33 31 63 66 62 38 62 66 64 33  22b59431cfb8bfd3
3b00: 33 32 31 31 37 61 31 61 66 62 35 38 33 32 63 65  32117a1afb5832ce
3b10: 35 63 37 36 61 35 38 66 63 66 36 63 36 63 62 34  5c76a58fcf6c6cb4
3b20: 65 33 65 36 66 38 65 31 31 31 32 64 65 5d 7d 20  e3e6f8e1112de]} 
3b30: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
3b40: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
3b50: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
3b60: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3b70: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 30 66 63  act -result 90fc
3b80: 33 31 39 33 35 35 32 65 63 37 31 64 33 33 31 35  3193552ec71d3315
3b90: 65 62 62 62 38 30 37 39 31 33 61 66 64 34 63 64  ebbb807913afd4cd
3ba0: 32 66 30 38 33 33 61 36 35 65 34 30 64 30 31 31  2f0833a65e40d011
3bb0: 64 36 34 64 65 35 65 36 36 35 31 33 0a 0a 74 63  d64de5e66513..tc
3bc0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
3bd0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 30 20 7b  _SHA3-256-2.50 {
3be0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
3bf0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
3c00: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
3c10: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
3c20: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
3c30: 78 20 34 33 34 30 32 31 36 35 39 31 31 38 39 30  x 43402165911890
3c40: 37 31 39 66 39 31 37 39 66 38 38 33 62 62 62 63  719f9179f883bbbc
3c50: 32 61 33 62 65 37 37 36 38 32 65 36 30 64 64 32  2a3be77682e60dd2
3c60: 34 62 33 35 36 61 32 32 36 32 31 63 36 64 32 65  4b356a22621c6d2e
3c70: 33 64 63 64 64 34 63 62 32 63 65 36 31 33 62 30  3dcdd4cb2ce613b0
3c80: 64 66 65 39 66 35 38 36 32 39 65 65 38 35 33 65  dfe9f58629ee853e
3c90: 30 33 39 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  0394]} \..-body 
3ca0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3cb0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
3cc0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
3cd0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
3ce0: 6c 74 20 35 63 34 62 36 63 65 61 63 39 34 34 31  lt 5c4b6ceac9441
3cf0: 64 65 66 61 39 39 62 31 30 62 38 30 35 61 37 32  defa99b10b805a72
3d00: 35 64 34 30 31 38 62 37 34 62 33 65 31 66 32 34  5d4018b74b3e1f24
3d10: 61 64 38 39 33 34 66 63 38 39 62 34 31 62 38 66  ad8934fc89b41b8f
3d20: 64 39 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  d9e..tcltest::te
3d30: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
3d40: 2d 32 2e 35 31 20 7b 53 48 41 33 5f 32 35 36 53  -2.51 {SHA3_256S
3d50: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
3d60: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
3d70: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
3d80: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3d90: 63 6f 64 65 20 68 65 78 20 66 63 35 36 63 61 39  code hex fc56ca9
3da0: 61 39 33 39 38 32 61 34 36 36 39 63 63 61 62 61  a93982a4669ccaba
3db0: 36 65 33 64 31 38 34 61 31 39 64 65 34 63 65 38  6e3d184a19de4ce8
3dc0: 30 30 62 62 36 34 33 61 33 36 30 63 31 34 35 37  00bb643a360c1457
3dd0: 32 61 65 64 62 32 32 39 37 34 66 30 63 39 36 36  2aedb22974f0c966
3de0: 62 38 35 39 64 39 31 61 64 35 64 37 31 33 62 37  b859d91ad5d713b7
3df0: 61 64 39 39 39 33 35 37 39 34 64 32 32 5d 7d 20  ad99935794d22]} 
3e00: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
3e10: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
3e20: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
3e30: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3e40: 61 63 74 20 2d 72 65 73 75 6c 74 20 65 32 31 38  act -result e218
3e50: 30 36 63 65 37 36 36 62 62 63 65 38 62 38 64 31  06ce766bbce8b8d1
3e60: 62 39 39 62 63 66 31 36 32 66 64 31 35 34 66 35  b99bcf162fd154f5
3e70: 34 36 39 32 33 35 31 61 65 63 38 65 36 39 31 34  4692351aec8e6914
3e80: 65 31 61 36 39 34 62 64 61 39 65 65 0a 0a 74 63  e1a694bda9ee..tc
3e90: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
3ea0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 32 20 7b  _SHA3-256-2.52 {
3eb0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
3ec0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
3ed0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
3ee0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
3ef0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
3f00: 78 20 61 63 65 36 32 39 37 65 35 30 64 35 30 61  x ace6297e50d50a
3f10: 31 31 33 38 38 31 31 38 65 66 63 38 38 65 66 39  11388118efc88ef9
3f20: 37 32 30 39 62 31 31 65 39 64 66 63 62 37 61 64  7209b11e9dfcb7ad
3f30: 34 38 32 66 63 39 62 66 37 64 38 64 65 65 63 63  482fc9bf7d8deecc
3f40: 32 33 37 61 64 31 36 33 64 39 32 30 63 35 31 66  237ad163d920c51f
3f50: 32 35 30 33 30 36 64 36 63 65 64 63 34 31 31 33  250306d6cedc4113
3f60: 38 36 61 34 35 37 63 37 5d 7d 20 5c 0a 09 2d 62  86a457c7]} \..-b
3f70: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3f80: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
3f90: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3fa0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3fb0: 72 65 73 75 6c 74 20 66 35 35 38 31 34 30 33 61  result f5581403a
3fc0: 30 38 32 62 62 66 35 61 64 37 65 30 39 62 64 66  082bbf5ad7e09bdf
3fd0: 63 63 63 34 33 62 66 39 36 38 33 65 62 63 38 38  ccc43bf9683ebc88
3fe0: 32 39 31 64 37 31 64 39 63 65 38 38 35 61 33 37  291d71d9ce885a37
3ff0: 65 39 35 32 62 64 36 0a 0a 74 63 6c 74 65 73 74  e952bd6..tcltest
4000: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
4010: 2d 32 35 36 2d 32 2e 35 33 20 7b 53 48 41 33 5f  -256-2.53 {SHA3_
4020: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
4030: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4040: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
4050: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4060: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 62 61  y decode hex 3ba
4070: 64 31 38 30 34 36 65 39 34 32 34 64 65 32 34 65  d18046e9424de24e
4080: 31 32 39 34 34 63 64 39 39 32 63 66 62 61 34 35  12944cd992cfba45
4090: 35 36 66 30 62 32 61 65 38 38 62 37 62 64 33 34  56f0b2ae88b7bd34
40a0: 32 62 65 35 63 66 66 39 35 38 36 30 39 32 62 62  2be5cff9586092bb
40b0: 36 36 66 61 63 36 39 63 35 32 39 30 34 30 64 31  66fac69c529040d1
40c0: 30 64 64 36 36 61 61 33 35 63 31 30 32 33 64 38  0dd66aa35c1023d8
40d0: 37 65 62 36 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79  7eb68]} \..-body
40e0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
40f0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
4100: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
4110: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
4120: 75 6c 74 20 66 61 65 64 37 36 66 66 35 61 31 63  ult faed76ff5a1c
4130: 64 39 39 31 38 33 62 33 31 31 65 35 30 32 63 35  d99183b311e502c5
4140: 34 65 35 31 36 64 37 30 61 38 37 30 35 30 63 66  4e516d70a87050cf
4150: 38 39 36 31 63 38 63 64 34 36 66 36 35 63 31 33  8961c8cd46f65c13
4160: 35 38 63 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  58cd..tcltest::t
4170: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
4180: 36 2d 32 2e 35 34 20 7b 53 48 41 33 5f 32 35 36  6-2.54 {SHA3_256
4190: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
41a0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
41b0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
41c0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
41d0: 65 63 6f 64 65 20 68 65 78 20 65 35 36 34 63 39  ecode hex e564c9
41e0: 61 31 66 31 61 61 66 38 35 34 35 61 32 35 39 66  a1f1aaf8545a259f
41f0: 35 32 63 33 66 64 31 38 32 31 65 64 30 33 63 32  52c3fd1821ed03c2
4200: 32 66 64 37 34 32 34 61 30 62 32 61 64 36 32 39  2fd7424a0b2ad629
4210: 64 35 64 33 30 32 36 65 66 34 66 32 37 63 62 65  d5d3026ef4f27cbe
4220: 30 36 66 33 30 62 39 39 31 64 66 61 35 34 64 65  06f30b991dfa54de
4230: 32 38 38 35 66 31 39 32 61 66 34 64 63 34 64 64  2885f192af4dc4dd
4240: 63 34 36 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  c46d]} \..-body 
4250: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4260: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
4270: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
4280: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
4290: 6c 74 20 38 31 31 35 32 39 63 36 30 30 63 39 64  lt 811529c600c9d
42a0: 37 38 30 66 37 39 36 61 32 39 61 36 62 33 65 38  780f796a29a6b3e8
42b0: 39 66 38 61 31 32 62 33 66 32 39 63 33 36 66 37  9f8a12b3f29c36f7
42c0: 32 62 30 36 63 63 61 37 65 64 63 33 36 66 34 38  2b06cca7edc36f48
42d0: 64 63 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  dc0..tcltest::te
42e0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
42f0: 2d 32 2e 35 35 20 7b 53 48 41 33 5f 32 35 36 53  -2.55 {SHA3_256S
4300: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
4310: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
4320: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
4330: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4340: 63 6f 64 65 20 68 65 78 20 36 30 34 33 66 61 36  code hex 6043fa6
4350: 34 36 35 64 36 39 63 61 62 34 35 35 32 30 61 66  465d69cab45520af
4360: 35 66 30 66 64 34 36 63 38 31 64 62 66 36 37 37  5f0fd46c81dbf677
4370: 35 33 31 37 39 39 38 30 32 36 32 39 38 36 33 36  5317998026298636
4380: 38 31 63 65 61 33 30 66 66 61 33 62 30 30 38 33  81cea30ffa3b0083
4390: 36 66 62 66 34 39 66 38 37 30 35 31 64 39 32 61  6fbf49f87051d92a
43a0: 61 65 61 63 30 65 64 30 39 62 63 62 39 66 30 37  aeac0ed09bcb9f07
43b0: 35 35 62 37 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79  55b7b]} \..-body
43c0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
43d0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
43e0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
43f0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
4400: 75 6c 74 20 62 30 66 63 65 65 63 64 61 65 66 36  ult b0fceecdaef6
4410: 63 37 36 64 35 66 63 33 38 33 35 62 35 32 33 63  c76d5fc3835b523c
4420: 65 32 34 31 36 66 34 61 39 62 39 62 64 31 66 39  e2416f4a9b9bd1f9
4430: 30 32 33 34 34 34 35 64 66 30 66 32 62 36 38 39  0234445df0f2b689
4440: 66 32 66 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  f2f5..tcltest::t
4450: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
4460: 36 2d 32 2e 35 36 20 7b 53 48 41 33 5f 32 35 36  6-2.56 {SHA3_256
4470: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
4480: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
4490: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
44a0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
44b0: 65 63 6f 64 65 20 68 65 78 20 32 30 34 30 63 35  ecode hex 2040c5
44c0: 33 38 63 37 39 32 33 37 65 36 66 32 62 38 31 38  38c79237e6f2b818
44d0: 38 63 36 33 37 35 65 63 32 66 36 31 30 61 63 32  8c6375ec2f610ac2
44e0: 33 30 31 36 30 37 62 39 63 32 33 36 36 30 63 33  301607b9c23660c3
44f0: 61 31 65 31 63 33 61 39 30 32 63 62 32 39 35 30  a1e1c3a902cb2950
4500: 63 35 39 61 61 63 33 61 66 32 38 66 39 38 34 66  c59aac3af28f984f
4510: 36 33 36 39 63 34 64 65 62 65 38 36 32 33 64 66  6369c4debe8623df
4520: 61 37 34 63 39 36 37 62 5d 7d 20 5c 0a 09 2d 62  a74c967b]} \..-b
4530: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4540: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
4550: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
4560: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4570: 72 65 73 75 6c 74 20 65 33 33 64 62 64 63 30 61  result e33dbdc0a
4580: 63 63 32 33 66 63 66 61 64 33 63 37 35 39 63 34  cc23fcfad3c759c4
4590: 33 33 33 34 31 30 62 64 33 61 34 30 65 66 62 31  333410bd3a40efb1
45a0: 33 36 36 61 64 65 31 35 37 64 32 63 38 31 64 36  366ade157d2c81d6
45b0: 35 61 30 61 36 63 37 0a 0a 74 63 6c 74 65 73 74  5a0a6c7..tcltest
45c0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
45d0: 2d 32 35 36 2d 32 2e 35 37 20 7b 53 48 41 33 5f  -256-2.57 {SHA3_
45e0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
45f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4600: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
4610: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4620: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30 66  y decode hex 00f
4630: 66 36 63 39 36 62 37 61 61 33 63 66 32 37 64 30  f6c96b7aa3cf27d0
4640: 33 36 63 66 32 30 61 66 37 30 33 31 34 33 34 31  36cf20af70314341
4650: 31 33 32 35 32 35 37 34 62 64 61 39 63 66 39 32  13252574bda9cf92
4660: 34 34 64 38 35 61 65 66 32 35 39 33 64 33 61 37  44d85aef2593d3a7
4670: 61 38 33 62 66 66 36 62 65 39 30 34 62 37 35 31  a83bff6be904b751
4680: 36 34 61 31 37 36 36 38 32 38 30 34 32 62 63 33  64a1766828042bc3
4690: 66 34 66 30 39 30 64 39 38 61 30 33 64 5d 7d 20  f4f090d98a03d]} 
46a0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
46b0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
46c0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
46d0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
46e0: 61 63 74 20 2d 72 65 73 75 6c 74 20 64 30 30 30  act -result d000
46f0: 65 61 66 63 61 33 34 38 31 35 37 38 33 62 65 64  eafca34815783bed
4700: 39 62 30 35 30 63 36 39 30 31 63 39 37 66 32 65  9b050c6901c97f2e
4710: 37 37 64 34 37 37 31 61 30 65 64 37 32 34 64 64  77d4771a0ed724dd
4720: 38 66 36 66 66 31 34 34 38 37 39 31 0a 0a 74 63  8f6ff1448791..tc
4730: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
4740: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 38 20 7b  _SHA3-256-2.58 {
4750: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
4760: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
4770: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
4780: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
4790: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
47a0: 78 20 65 38 64 66 31 34 39 33 36 63 63 65 31 31  x e8df14936cce11
47b0: 38 31 33 39 65 36 39 30 66 31 36 36 32 66 38 38  8139e690f1662f88
47c0: 63 66 62 63 39 63 33 33 33 62 36 64 65 61 36 35  cfbc9c333b6dea65
47d0: 38 63 30 32 63 62 31 64 39 35 39 36 34 34 35 39  8c02cb1d95964459
47e0: 32 38 34 32 35 34 32 66 64 39 64 38 64 36 31 61  2842542fd9d8d61a
47f0: 30 34 64 34 61 38 39 32 31 32 38 66 30 64 64 66  04d4a892128f0ddf
4800: 66 37 62 36 35 30 32 65 66 66 66 62 61 62 65 35  f7b6502efffbabe5
4810: 63 62 30 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  cb0a]} \..-body 
4820: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4830: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
4840: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
4850: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
4860: 6c 74 20 33 34 37 39 61 39 36 31 37 61 33 61 64  lt 3479a9617a3ad
4870: 63 61 33 35 38 35 34 63 30 38 66 65 39 38 37 63  ca35854c08fe987c
4880: 32 66 65 37 66 66 32 62 30 31 62 30 34 66 32 64  2fe7ff2b01b04f2d
4890: 39 35 32 63 31 30 37 62 33 66 30 36 36 34 32 30  952c107b3f066420
48a0: 35 35 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  551..tcltest::te
48b0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
48c0: 2d 32 2e 35 39 20 7b 53 48 41 33 5f 32 35 36 53  -2.59 {SHA3_256S
48d0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
48e0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
48f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
4900: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4910: 63 6f 64 65 20 68 65 78 20 34 65 64 39 38 31 61  code hex 4ed981a
4920: 33 31 66 37 30 64 64 36 62 37 30 63 31 36 31 62  31f70dd6b70c161b
4930: 65 31 66 30 31 66 63 31 62 62 61 35 34 64 30 36  e1f01fc1bba54d06
4940: 64 39 34 39 34 65 37 65 62 31 39 34 65 32 31 33  d9494e7eb194e213
4950: 64 35 65 30 65 37 31 65 30 66 64 64 64 34 39 63  d5e0e71e0fddd49c
4960: 62 31 66 30 37 35 33 35 33 64 61 32 32 36 32 34  b1f075353da22624
4970: 63 62 65 34 62 61 38 37 31 61 61 62 33 32 39 30  cbe4ba871aab3290
4980: 36 65 34 35 62 36 66 62 62 36 39 31 62 5d 7d 20  6e45b6fbb691b]} 
4990: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
49a0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
49b0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
49c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
49d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 63 38 32  act -result 9c82
49e0: 34 61 30 30 65 30 36 38 64 32 66 64 61 37 33 66  4a00e068d2fda73f
49f0: 39 63 32 65 37 37 39 38 65 38 64 39 33 39 34 66  9c2e7798e8d9394f
4a00: 35 37 66 39 34 64 66 30 65 64 65 62 31 33 32 65  57f94df0edeb132e
4a10: 37 38 65 38 61 33 37 39 61 30 63 66 0a 0a 74 63  78e8a379a0cf..tc
4a20: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
4a30: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36 30 20 7b  _SHA3-256-2.60 {
4a40: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
4a50: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
4a60: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
4a70: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
4a80: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
4a90: 78 20 37 38 30 32 62 37 30 63 36 31 35 38 62 63  x 7802b70c6158bc
4aa0: 32 36 64 35 66 31 35 37 36 37 31 63 33 66 33 64  26d5f157671c3f3d
4ab0: 38 31 61 62 33 39 39 64 62 35 35 32 62 39 66 38  81ab399db552b9f8
4ac0: 35 31 62 37 32 33 33 33 37 37 30 33 34 38 65 62  51b72333770348eb
4ad0: 31 66 64 62 38 61 30 38 35 66 39 32 34 30 39 35  1fdb8a085f924095
4ae0: 65 62 39 64 35 63 63 66 64 38 34 37 34 62 37 62  eb9d5ccfd8474b7b
4af0: 61 35 61 36 31 63 37 64 37 62 63 64 65 35 61 37  a5a61c7d7bcde5a7
4b00: 62 34 34 33 36 32 63 66 5d 7d 20 5c 0a 09 2d 62  b44362cf]} \..-b
4b10: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4b20: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
4b30: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
4b40: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4b50: 72 65 73 75 6c 74 20 66 61 39 37 32 36 63 63 62  result fa9726ccb
4b60: 30 36 38 63 30 61 64 62 35 64 32 30 30 37 39 63  068c0adb5d20079c
4b70: 33 35 61 33 31 38 62 33 64 39 35 31 65 62 34 33  35a318b3d951eb43
4b80: 62 31 39 36 63 35 30 39 61 62 37 39 30 62 37 65  b196c509ab790b7e
4b90: 39 32 30 32 32 30 37 0a 0a 74 63 6c 74 65 73 74  9202207..tcltest
4ba0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
4bb0: 2d 32 35 36 2d 32 2e 36 31 20 7b 53 48 41 33 5f  -256-2.61 {SHA3_
4bc0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
4bd0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4be0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
4bf0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4c00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 66 38  y decode hex ff8
4c10: 33 64 63 64 37 63 31 61 34 38 38 65 35 61 31 32  3dcd7c1a488e5a12
4c20: 38 64 35 62 37 34 36 32 38 34 35 35 32 66 31 66  8d5b746284552f1f
4c30: 32 63 30 39 31 36 31 35 64 39 35 31 39 66 34 35  2c091615d9519f45
4c40: 39 62 63 39 30 31 30 63 61 35 65 30 61 63 31 39  9bc9010ca5e0ac19
4c50: 37 39 36 63 34 61 33 66 64 37 61 31 35 30 33 32  796c4a3fd7a15032
4c60: 61 35 35 61 31 34 31 30 37 33 37 64 30 37 38 35  a55a1410737d0785
4c70: 35 62 30 37 66 36 31 66 62 64 38 66 35 37 35 39  5b07f61fbd8f5759
4c80: 65 39 32 31 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79  e9218]} \..-body
4c90: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
4ca0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
4cb0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
4cc0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
4cd0: 75 6c 74 20 38 62 64 38 64 34 39 34 61 34 31 61  ult 8bd8d494a41a
4ce0: 63 64 61 34 62 37 63 64 32 39 39 34 62 61 64 61  cda4b7cd2994bada
4cf0: 65 63 66 66 30 66 34 36 62 61 32 37 34 33 34 35  ecff0f46ba274345
4d00: 38 66 36 63 33 66 64 63 30 32 32 36 66 39 34 39  8f6c3fdc0226f949
4d10: 32 65 64 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  2ede..tcltest::t
4d20: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
4d30: 36 2d 32 2e 36 32 20 7b 53 48 41 33 5f 32 35 36  6-2.62 {SHA3_256
4d40: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
4d50: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
4d60: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
4d70: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
4d80: 65 63 6f 64 65 20 68 65 78 20 61 66 64 34 37 36  ecode hex afd476
4d90: 34 63 63 37 64 35 64 65 31 36 61 33 63 66 38 30  4cc7d5de16a3cf80
4da0: 63 35 31 64 30 63 30 64 39 31 39 66 31 38 37 30  c51d0c0d919f1870
4db0: 30 63 37 64 63 39 62 63 34 65 38 38 37 64 36 33  0c7dc9bc4e887d63
4dc0: 34 66 65 30 61 33 61 61 39 34 30 39 37 64 35 39  4fe0a3aa94097d59
4dd0: 30 65 34 31 32 33 62 37 33 66 31 31 63 63 62 35  0e4123b73f11ccb5
4de0: 39 65 32 33 34 39 36 61 33 64 35 33 64 32 62 66  9e23496a3d53d2bf
4df0: 61 39 30 38 30 35 36 63 31 31 63 35 32 63 32 33  a908056c11c52c23
4e00: 61 62 66 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  abfb]} \..-body 
4e10: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4e20: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
4e30: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
4e40: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
4e50: 6c 74 20 65 39 65 33 62 33 64 61 36 34 38 63 66  lt e9e3b3da648cf
4e60: 32 33 30 66 31 39 37 33 66 33 38 31 34 65 62 38  230f1973f3814eb8
4e70: 31 33 31 36 64 32 61 34 39 36 38 32 36 65 61 33  1316d2a496826ea3
4e80: 39 61 64 66 34 36 37 34 35 37 36 66 39 37 65 31  9adf4674576f97e1
4e90: 31 36 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  167..tcltest::te
4ea0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
4eb0: 2d 32 2e 36 33 20 7b 53 48 41 33 5f 32 35 36 53  -2.63 {SHA3_256S
4ec0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
4ed0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
4ee0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
4ef0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4f00: 63 6f 64 65 20 68 65 78 20 36 66 61 36 64 65 35  code hex 6fa6de5
4f10: 30 39 37 31 39 66 66 62 66 31 37 37 35 39 66 30  09719ffbf17759f0
4f20: 35 31 34 35 33 63 30 61 63 33 63 62 65 31 33 33  51453c0ac3cbe133
4f30: 34 36 35 34 36 62 62 63 31 37 30 35 30 35 34 31  46546bbc17050541
4f40: 30 37 34 62 30 33 34 61 66 31 39 37 61 66 30 36  074b034af197af06
4f50: 65 34 31 31 34 32 32 31 31 65 65 39 30 36 61 34  e41142211ee906a4
4f60: 37 36 30 33 39 62 33 65 30 37 64 36 63 62 38 33  76039b3e07d6cb83
4f70: 61 37 36 61 61 63 36 66 63 61 38 65 61 63 33 30  a76aac6fca8eac30
4f80: 37 63 30 33 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79  7c034]} \..-body
4f90: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
4fa0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
4fb0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
4fc0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
4fd0: 75 6c 74 20 37 36 36 36 33 30 39 39 33 66 62 62  ult 766630993fbb
4fe0: 36 35 31 66 64 38 64 33 36 30 33 65 33 65 65 62  651fd8d3603e3eeb
4ff0: 63 38 31 39 33 31 66 62 31 33 30 32 61 34 36 37  c81931fb1302a467
5000: 39 31 64 66 32 35 39 61 36 65 31 33 63 61 32 63  91df259a6e13ca2c
5010: 62 61 39 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  ba9f..tcltest::t
5020: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
5030: 36 2d 32 2e 36 34 20 7b 53 48 41 33 5f 32 35 36  6-2.64 {SHA3_256
5040: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
5050: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
5060: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
5070: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
5080: 65 63 6f 64 65 20 68 65 78 20 39 33 63 62 62 37  ecode hex 93cbb7
5090: 65 34 37 63 38 38 35 39 62 65 66 39 33 39 31 35  e47c8859bef93915
50a0: 35 62 65 61 34 38 38 30 39 30 32 38 33 65 63 66  5bea488090283ecf
50b0: 35 30 32 33 64 39 39 37 36 37 63 39 36 30 64 38  5023d99767c960d8
50c0: 36 62 61 61 33 33 33 61 66 30 35 61 61 36 39 36  6baa333af05aa696
50d0: 66 63 31 37 30 66 62 38 62 62 61 63 31 65 36 34  fc170fb8bbac1e64
50e0: 37 33 39 35 36 64 39 36 62 39 36 34 35 38 30 65  73956d96b964580e
50f0: 65 36 36 34 30 66 30 63 63 35 37 62 65 39 35 39  e6640f0cc57be959
5100: 38 65 35 35 66 63 38 36 5d 7d 20 5c 0a 09 2d 62  8e55fc86]} \..-b
5110: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5120: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5130: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5140: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5150: 72 65 73 75 6c 74 20 64 33 32 31 32 61 62 63 61  result d3212abca
5160: 31 31 30 30 65 62 37 36 35 38 63 30 66 39 31 36  1100eb7658c0f916
5170: 64 61 66 32 36 39 32 63 35 37 61 34 37 62 37 37  daf2692c57a47b77
5180: 32 65 65 30 33 31 63 34 65 63 36 61 64 32 38 61  2ee031c4ec6ad28a
5190: 34 61 34 36 64 65 39 0a 0a 74 63 6c 74 65 73 74  4a46de9..tcltest
51a0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
51b0: 2d 32 35 36 2d 32 2e 36 35 20 7b 53 48 41 33 5f  -256-2.65 {SHA3_
51c0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
51d0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
51e0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
51f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5200: 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 37 65  y decode hex 67e
5210: 33 38 34 64 32 30 39 66 31 62 63 34 34 39 66 61  384d209f1bc449fa
5220: 36 37 64 61 36 63 65 35 66 62 62 65 38 34 66 34  67da6ce5fbbe84f4
5230: 36 31 30 31 32 39 66 32 66 30 62 34 30 66 37 63  610129f2f0b40f7c
5240: 30 63 61 65 61 37 65 64 35 63 62 36 39 62 65 32  0caea7ed5cb69be2
5250: 32 66 66 62 37 35 34 31 62 32 30 37 37 65 63 31  2ffb7541b2077ec1
5260: 30 34 35 33 35 36 64 39 64 62 34 65 65 37 31 34  045356d9db4ee714
5270: 31 66 37 64 33 66 38 34 64 33 32 34 61 35 64 30  1f7d3f84d324a5d0
5280: 30 62 33 33 36 38 39 66 30 63 62 37 38 5d 7d 20  0b33689f0cb78]} 
5290: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
52a0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
52b0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
52c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
52d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 63 39 31  act -result 9c91
52e0: 36 30 32 36 38 36 30 38 65 66 30 39 66 65 30 62  60268608ef09fe0b
52f0: 64 33 39 32 37 64 33 64 66 66 61 30 63 37 33 34  d3927d3dffa0c734
5300: 39 39 63 35 32 38 39 34 33 65 38 33 37 62 65 34  99c528943e837be4
5310: 36 37 62 35 30 65 35 63 31 66 31 65 0a 0a 74 63  67b50e5c1f1e..tc
5320: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
5330: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36 36 20 7b  _SHA3-256-2.66 {
5340: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
5350: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
5360: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
5370: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
5380: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
5390: 78 20 34 62 65 66 31 61 34 33 66 61 61 63 63 33  x 4bef1a43faacc3
53a0: 65 33 38 34 31 32 63 38 37 35 33 36 30 36 30 36  e38412c875360606
53b0: 61 38 31 31 35 64 39 31 39 37 64 35 39 66 36 31  a8115d9197d59f61
53c0: 61 38 35 65 30 62 34 38 62 34 33 33 64 62 32 37  a85e0b48b433db27
53d0: 36 39 35 64 63 39 36 32 65 64 37 35 64 31 39 31  695dc962ed75d191
53e0: 63 34 30 31 33 39 37 39 66 34 30 31 63 66 33 61  c4013979f401cf3a
53f0: 36 37 63 34 37 32 63 39 39 30 30 30 64 33 61 31  67c472c99000d3a1
5400: 35 32 32 32 37 64 62 36 31 64 65 33 31 33 61 62  52227db61de313ab
5410: 35 61 31 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5a1c]} \..-body 
5420: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5430: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
5440: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
5450: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
5460: 6c 74 20 38 37 30 33 61 31 66 37 34 32 34 63 33  lt 8703a1f7424c3
5470: 35 33 35 66 31 64 34 66 38 38 63 39 62 30 33 64  535f1d4f88c9b03d
5480: 31 39 34 38 39 33 34 39 39 34 37 38 39 36 39 66  194893499478969f
5490: 62 62 30 61 35 64 63 32 38 30 38 61 30 36 39 61  bb0a5dc2808a069a
54a0: 62 38 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  b8f..tcltest::te
54b0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
54c0: 2d 32 2e 36 37 20 7b 53 48 41 33 5f 32 35 36 53  -2.67 {SHA3_256S
54d0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
54e0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
54f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
5500: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
5510: 63 6f 64 65 20 68 65 78 20 66 30 62 65 35 65 39  code hex f0be5e9
5520: 36 31 62 62 35 35 62 33 61 39 34 35 32 61 35 33  61bb55b3a9452a53
5530: 36 35 30 34 66 36 31 32 61 33 65 36 36 61 65 63  6504f612a3e66aec
5540: 38 31 36 30 61 38 38 32 65 35 31 35 36 65 62 37  8160a882e5156eb7
5550: 32 37 38 34 33 33 62 37 65 61 32 31 64 65 33 31  278433b7ea21de31
5560: 65 33 39 33 38 33 64 35 37 66 63 64 66 62 32 66  e39383d57fcdfb2f
5570: 62 34 61 38 64 32 32 37 61 39 64 36 30 38 35 66  b4a8d227a9d6085f
5580: 62 35 35 63 61 64 33 61 62 62 37 38 61 32 32 35  b55cad3abb78a225
5590: 35 33 35 64 61 30 65 33 34 65 66 65 61 5d 7d 20  535da0e34efea]} 
55a0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
55b0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
55c0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
55d0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
55e0: 61 63 74 20 2d 72 65 73 75 6c 74 20 32 66 61 31  act -result 2fa1
55f0: 38 30 32 30 39 62 66 36 62 34 61 64 31 33 63 33  80209bf6b4ad13c3
5600: 35 37 64 39 31 37 66 61 62 62 33 65 35 32 63 31  57d917fabb3e52c1
5610: 30 31 61 30 63 64 62 33 66 32 32 39 39 66 61 30  01a0cdb3f2299fa0
5620: 66 37 66 38 31 64 66 62 38 34 38 65 0a 0a 74 63  f7f81dfb848e..tc
5630: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
5640: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36 38 20 7b  _SHA3-256-2.68 {
5650: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
5660: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
5670: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
5680: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
5690: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
56a0: 78 20 32 30 36 66 31 63 33 36 62 61 32 35 61 65  x 206f1c36ba25ae
56b0: 61 37 33 33 39 38 66 66 66 63 39 62 36 35 63 34  a73398fffc9b65c4
56c0: 36 33 37 63 63 31 66 30 35 61 36 62 62 65 65 30  637cc1f05a6bbee0
56d0: 31 34 64 63 63 62 64 36 31 65 33 62 37 61 61 39  14dccbd61e3b7aa9
56e0: 34 32 33 38 38 37 62 62 61 63 36 32 31 35 32 61  423887bbac62152a
56f0: 34 62 66 37 33 61 34 62 37 61 66 61 62 65 35 34  4bf73a4b7afabe54
5700: 65 30 38 37 32 30 35 38 39 34 36 34 64 61 37 39  e08720589464da79
5710: 38 35 64 38 65 36 35 39 31 61 63 30 38 31 64 31  85d8e6591ac081d1
5720: 31 35 64 66 32 66 65 36 5d 7d 20 5c 0a 09 2d 62  15df2fe6]} \..-b
5730: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5740: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5750: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5760: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5770: 72 65 73 75 6c 74 20 35 35 38 65 61 37 63 38 30  result 558ea7c80
5780: 30 62 36 38 37 33 38 30 63 63 65 37 65 30 36 30  0b687380cce7e060
5790: 30 36 65 31 65 62 65 30 62 38 39 39 37 33 66 37  06e1ebe0b89973f7
57a0: 38 38 63 34 63 61 61 63 35 37 38 30 66 32 32 64  88c4caac5780f22d
57b0: 62 66 33 38 32 65 38 0a 0a 74 63 6c 74 65 73 74  bf382e8..tcltest
57c0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
57d0: 2d 32 35 36 2d 32 2e 36 39 20 7b 53 48 41 33 5f  -256-2.69 {SHA3_
57e0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
57f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
5800: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
5810: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5820: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 63 64  y decode hex 8cd
5830: 37 31 34 33 34 63 30 30 36 36 33 66 33 62 64 61  71434c00663f3bda
5840: 30 32 30 35 35 30 38 61 34 61 32 36 36 35 34 38  0205508a4a266548
5850: 64 63 36 39 65 30 30 63 61 39 31 66 64 65 30 36  dc69e00ca91fde06
5860: 64 31 36 35 62 34 30 32 37 39 61 66 39 32 36 37  d165b40279af9267
5870: 34 66 37 35 62 64 38 31 33 33 65 35 61 39 65 62  4f75bd8133e5a9eb
5880: 39 61 30 37 35 63 39 30 36 38 66 36 38 66 34 62  9a075c9068f68f4b
5890: 38 32 30 30 30 38 61 31 66 62 34 32 64 38 39 64  820008a1fb42d89d
58a0: 31 64 37 35 39 38 35 39 65 36 38 66 38 65 66 63  1d759859e68f8efc
58b0: 36 66 62 36 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79  6fb60]} \..-body
58c0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
58d0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
58e0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
58f0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
5900: 75 6c 74 20 30 38 35 62 33 34 33 62 30 38 35 31  ult 085b343b0851
5910: 36 66 33 32 30 61 39 62 39 30 66 65 35 30 34 34  6f320a9b90fe5044
5920: 30 61 38 62 63 35 31 61 65 30 38 35 30 66 61 33  0a8bc51ae0850fa3
5930: 38 64 38 38 37 32 34 61 34 64 36 62 64 33 64 66  8d88724a4d6bd3df
5940: 31 61 64 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  1ad4..tcltest::t
5950: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
5960: 36 2d 32 2e 37 30 20 7b 53 48 41 33 5f 32 35 36  6-2.70 {SHA3_256
5970: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
5980: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
5990: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
59a0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
59b0: 65 63 6f 64 65 20 68 65 78 20 34 63 66 35 62 62  ecode hex 4cf5bb
59c0: 64 39 31 63 61 63 36 31 63 32 31 31 30 32 30 35  d91cac61c2110205
59d0: 32 36 33 34 65 39 39 66 61 65 64 64 36 63 64 64  2634e99faedd6cdd
59e0: 64 63 64 34 34 32 36 62 34 32 62 36 61 33 37 32  dcd4426b42b6a372
59f0: 66 32 39 61 35 61 35 66 33 35 66 35 31 63 65 35  f29a5a5f35f51ce5
5a00: 38 30 62 62 31 38 34 35 61 33 63 37 63 66 63 64  80bb1845a3c7cfcd
5a10: 34 34 37 64 32 36 39 65 38 63 61 65 62 39 62 33  447d269e8caeb9b3
5a20: 32 30 62 62 37 33 31 66 35 33 66 65 35 63 39 36  20bb731f53fe5c96
5a30: 39 61 36 35 62 31 32 66 34 30 36 30 33 61 36 38  9a65b12f40603a68
5a40: 35 61 66 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5afe]} \..-body 
5a50: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5a60: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
5a70: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
5a80: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
5a90: 6c 74 20 66 39 64 62 62 38 38 63 35 62 62 34 34  lt f9dbb88c5bb44
5aa0: 31 35 65 31 37 64 65 65 39 32 32 32 31 37 34 35  15e17dee92221745
5ab0: 33 38 65 65 61 62 33 37 31 62 31 32 64 38 64 35  38eeab371b12d8d5
5ac0: 37 32 63 66 64 66 35 35 62 38 30 36 65 33 31 35  72cfdf55b806e315
5ad0: 38 65 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  8e4..tcltest::te
5ae0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
5af0: 2d 32 2e 37 31 20 7b 53 48 41 33 5f 32 35 36 53  -2.71 {SHA3_256S
5b00: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
5b10: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
5b20: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
5b30: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
5b40: 63 6f 64 65 20 68 65 78 20 65 30 30 65 34 36 63  code hex e00e46c
5b50: 39 36 64 65 63 35 63 62 33 36 63 66 34 37 33 32  96dec5cb36cf4732
5b60: 30 34 38 33 37 36 36 35 37 62 63 64 31 65 66 66  048376657bcd1eff
5b70: 30 38 63 63 63 30 35 64 66 37 33 34 31 36 38 61  08ccc05df734168a
5b80: 65 35 63 63 30 37 61 30 61 64 35 66 32 35 30 38  e5cc07a0ad5f2508
5b90: 31 63 30 37 64 30 39 38 61 34 62 32 38 35 65 63  1c07d098a4b285ec
5ba0: 36 32 33 34 30 37 62 38 35 65 35 33 61 30 64 38  623407b85e53a0d8
5bb0: 63 64 36 39 39 39 64 31 36 64 33 31 33 31 63 31  cd6999d16d3131c1
5bc0: 38 38 62 65 66 62 66 63 39 65 62 62 31 30 64 36  88befbfc9ebb10d6
5bd0: 32 64 61 66 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79  2daf9]} \..-body
5be0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
5bf0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
5c00: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
5c10: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
5c20: 75 6c 74 20 33 35 37 31 33 32 36 61 31 35 37 37  ult 3571326a1577
5c30: 63 34 30 30 62 39 36 37 61 63 31 63 32 36 64 66  c400b967ac1c26df
5c40: 32 61 30 64 63 66 35 64 62 37 30 37 30 65 61 63  2a0dcf5db7070eac
5c50: 32 36 32 61 38 30 37 31 64 61 31 36 61 66 61 37  262a8071da16afa7
5c60: 63 34 31 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  c419..tcltest::t
5c70: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
5c80: 36 2d 32 2e 37 32 20 7b 53 48 41 33 5f 32 35 36  6-2.72 {SHA3_256
5c90: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
5ca0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
5cb0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
5cc0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
5cd0: 65 63 6f 64 65 20 68 65 78 20 39 38 31 66 34 31  ecode hex 981f41
5ce0: 61 38 33 64 38 66 31 37 66 37 31 66 63 30 33 66  a83d8f17f71fc03f
5cf0: 39 31 35 61 33 30 63 64 38 61 63 39 31 64 39 39  915a30cd8ac91d99
5d00: 61 61 31 62 34 39 65 66 35 63 32 39 66 62 38 38  aa1b49ef5c29fb88
5d10: 63 36 38 36 34 36 62 39 33 61 35 38 38 64 65 62  c68646b93a588deb
5d20: 63 64 36 37 34 37 34 62 34 35 37 34 30 30 63 33  cd67474b457400c3
5d30: 33 39 63 63 61 30 32 38 37 33 31 64 66 30 62 35  39cca028731df0b5
5d40: 39 39 38 37 35 61 62 38 30 64 66 36 66 31 38 62  99875ab80df6f18b
5d50: 31 31 62 30 62 31 63 36 32 66 32 61 30 37 62 33  11b0b1c62f2a07b3
5d60: 64 38 32 30 39 34 30 32 5d 7d 20 5c 0a 09 2d 62  d8209402]} \..-b
5d70: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5d80: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5d90: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5da0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5db0: 72 65 73 75 6c 74 20 36 32 61 65 61 38 37 36 30  result 62aea8760
5dc0: 37 35 39 61 39 39 36 66 34 64 38 35 35 65 39 39  759a996f4d855e99
5dd0: 62 63 64 37 39 65 39 61 35 37 65 61 33 36 32 35  bcd79e9a57ea3625
5de0: 32 32 64 39 62 34 32 66 64 38 32 63 31 32 63 39  22d9b42fd82c12c9
5df0: 32 39 34 61 32 31 37 0a 0a 74 63 6c 74 65 73 74  294a217..tcltest
5e00: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
5e10: 2d 32 35 36 2d 32 2e 37 33 20 7b 53 48 41 33 5f  -256-2.73 {SHA3_
5e20: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
5e30: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
5e40: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
5e50: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5e60: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 63 35  y decode hex 5c5
5e70: 38 39 66 63 35 34 66 65 66 63 34 64 36 65 32 32  89fc54fefc4d6e22
5e80: 34 39 61 33 36 35 38 33 65 31 39 39 32 66 63 36  49a36583e1992fc6
5e90: 62 38 61 39 63 30 37 30 65 38 65 30 30 63 34 35  b8a9c070e8e00c45
5ea0: 61 36 33 39 61 66 32 32 30 36 33 65 36 36 61 65  a639af22063e66ae
5eb0: 35 63 64 62 38 30 32 33 38 63 38 32 64 62 30 34  5cdb80238c82db04
5ec0: 33 61 35 65 31 66 33 39 66 36 35 36 32 36 65 36  3a5e1f39f65626e6
5ed0: 64 37 62 65 35 64 36 61 32 64 33 33 38 30 66 61  d7be5d6a2d3380fa
5ee0: 32 31 32 66 38 39 32 31 31 32 30 30 34 31 32 65  212f89211200412e
5ef0: 35 65 34 33 31 35 66 63 30 34 65 34 30 5d 7d 20  5e4315fc04e40]} 
5f00: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
5f10: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
5f20: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
5f30: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
5f40: 61 63 74 20 2d 72 65 73 75 6c 74 20 31 38 64 65  act -result 18de
5f50: 62 61 37 34 65 39 64 39 33 61 65 37 64 66 39 33  ba74e9d93ae7df93
5f60: 63 36 63 33 31 36 65 66 32 30 31 62 66 35 65 33  c6c316ef201bf5e3
5f70: 61 36 36 31 65 36 38 38 36 38 65 31 34 64 34 66  a661e68868e14d4f
5f80: 35 36 32 36 34 66 35 64 38 35 38 63 0a 0a 74 63  56264f5d858c..tc
5f90: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
5fa0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37 34 20 7b  _SHA3-256-2.74 {
5fb0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
5fc0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
5fd0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
5fe0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
5ff0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6000: 78 20 37 63 38 36 39 31 65 37 62 32 35 36 30 66  x 7c8691e7b2560f
6010: 65 38 37 66 63 63 35 65 32 38 37 37 66 37 65 33  e87fcc5e2877f7e3
6020: 63 38 34 64 39 31 30 31 65 63 61 34 38 31 38 66  c84d9101eca4818f
6030: 36 33 32 32 61 35 38 39 38 36 63 36 63 66 30 35  6322a58986c6cf05
6040: 36 32 37 63 30 64 36 39 31 39 65 66 32 65 64 63  627c0d6919ef2edc
6050: 38 35 39 66 38 31 66 61 31 66 33 33 65 30 63 63  859f81fa1f33e0cc
6060: 31 66 31 30 65 64 66 37 65 35 32 61 39 63 33 33  1f10edf7e52a9c33
6070: 39 38 31 61 66 32 66 66 30 64 37 32 30 63 39 34  981af2ff0d720c94
6080: 65 61 34 64 36 32 31 37 30 62 32 61 34 64 31 32  ea4d62170b2a4d12
6090: 32 34 66 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  24fa]} \..-body 
60a0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
60b0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
60c0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
60d0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
60e0: 6c 74 20 35 61 35 61 34 33 38 62 35 37 63 31 62  lt 5a5a438b57c1b
60f0: 33 63 65 38 37 35 36 30 39 34 32 35 32 33 36 32  3ce8756094252362
6100: 61 66 65 61 61 39 66 63 39 31 63 64 34 35 62 33  afeaa9fc91cd45b3
6110: 38 35 64 31 36 39 39 34 65 63 38 61 66 34 39 61  85d16994ec8af49a
6120: 61 36 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  a6b..tcltest::te
6130: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
6140: 2d 32 2e 37 35 20 7b 53 48 41 33 5f 32 35 36 53  -2.75 {SHA3_256S
6150: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
6160: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
6170: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
6180: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6190: 63 6f 64 65 20 68 65 78 20 39 37 33 35 39 62 35  code hex 97359b5
61a0: 36 34 62 32 62 63 32 30 38 30 30 65 64 31 65 35  64b2bc20800ed1e5
61b0: 31 35 31 62 34 64 32 35 38 31 61 30 34 32 37 63  151b4d2581a0427c
61c0: 65 39 35 33 39 64 33 32 34 63 33 36 33 37 63 66  e9539d324c3637cf
61d0: 62 30 65 35 33 37 38 64 63 32 63 66 36 64 37 32  b0e5378dc2cf6d72
61e0: 39 34 36 65 32 61 33 35 33 35 61 32 66 36 36 34  946e2a3535a2f664
61f0: 65 64 65 38 38 65 64 34 32 61 36 38 31 34 63 38  ede88ed42a6814c8
6200: 34 30 37 32 62 32 32 63 34 33 64 65 37 31 65 38  4072b22c43de71e8
6210: 38 30 61 37 37 63 32 64 39 61 30 35 62 36 37 33  80a77c2d9a05b673
6220: 62 63 31 35 61 38 32 65 33 32 35 35 66 5d 7d 20  bc15a82e3255f]} 
6230: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
6240: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
6250: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
6260: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
6270: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 65 35 34  act -result be54
6280: 66 32 65 34 33 35 66 37 36 30 64 35 62 37 37 63  f2e435f760d5b77c
6290: 30 61 65 36 31 65 66 30 61 61 37 66 35 66 33 33  0ae61ef0aa7f5f33
62a0: 36 36 66 34 37 38 31 39 66 33 35 30 64 63 38 61  66f47819f350dc8a
62b0: 33 39 61 66 66 38 63 37 33 61 38 66 0a 0a 74 63  39aff8c73a8f..tc
62c0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
62d0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37 36 20 7b  _SHA3-256-2.76 {
62e0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
62f0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
6300: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
6310: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
6320: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6330: 78 20 61 30 64 66 61 65 63 64 33 65 33 30 37 63  x a0dfaecd3e307c
6340: 35 64 64 66 39 61 39 33 36 30 33 66 37 65 31 39  5ddf9a93603f7e19
6350: 37 32 35 61 37 37 39 32 31 38 37 33 34 39 30 34  725a779218734904
6360: 35 32 35 62 31 34 35 38 36 66 66 30 63 65 30 34  525b14586ff0ce04
6370: 32 35 65 34 65 66 65 37 65 31 63 30 36 65 37 34  25e4efe7e1c06e74
6380: 35 63 32 38 65 64 31 33 36 66 36 30 33 31 63 34  5c28ed136f6031c4
6390: 32 38 30 66 64 34 30 36 31 64 34 33 33 65 66 37  280fd4061d433ef7
63a0: 30 30 62 36 64 31 62 63 37 34 35 30 36 34 32 33  00b6d1bc74506423
63b0: 31 66 65 63 66 33 38 37 30 31 35 66 39 34 66 35  1fecf387015f94f5
63c0: 30 34 62 36 61 64 38 63 5d 7d 20 5c 0a 09 2d 62  04b6ad8c]} \..-b
63d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
63e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
63f0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
6400: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
6410: 72 65 73 75 6c 74 20 36 30 64 38 30 66 31 63 37  result 60d80f1c7
6420: 30 33 64 61 64 35 64 61 39 33 64 62 32 32 32 66  03dad5da93db222f
6430: 62 34 35 66 62 37 66 61 37 36 38 63 38 61 61 32  b45fb7fa768c8aa2
6440: 37 38 37 66 34 62 38 31 66 31 65 30 30 33 36 35  787f4b81f1e00365
6450: 62 38 66 34 39 65 32 0a 0a 74 63 6c 74 65 73 74  b8f49e2..tcltest
6460: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6470: 2d 32 35 36 2d 32 2e 37 37 20 7b 53 48 41 33 5f  -256-2.77 {SHA3_
6480: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
6490: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
64a0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
64b0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
64c0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 36 38  y decode hex 568
64d0: 64 36 36 64 30 36 31 33 30 36 63 33 34 31 39 61  d66d061306c3419a
64e0: 31 39 32 38 63 65 37 65 64 63 38 65 33 34 30 30  1928ce7edc8e3400
64f0: 63 33 30 39 39 38 66 30 39 62 64 61 63 36 66 36  c30998f09bdac6f6
6500: 33 66 66 33 35 31 65 62 32 33 64 33 36 32 65 38  3ff351eb23d362e8
6510: 64 63 35 39 32 37 65 61 63 38 30 35 64 36 39 34  dc5927eac805d694
6520: 61 63 39 35 36 33 64 63 64 37 66 62 32 65 66 61  ac9563dcd7fb2efa
6530: 39 35 39 31 63 30 64 38 32 37 61 66 39 66 33 39  9591c0d827af9f39
6540: 31 34 36 66 30 34 32 34 38 37 33 61 61 38 65 33  146f0424873aa8e3
6550: 39 36 33 64 36 35 37 33 34 62 31 37 31 33 62 61  963d65734b1713ba
6560: 66 30 61 34 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79  f0a44]} \..-body
6570: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
6580: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
6590: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
65a0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
65b0: 75 6c 74 20 37 61 34 66 65 33 37 66 32 39 36 39  ult 7a4fe37f2969
65c0: 39 31 31 32 31 37 39 32 64 64 37 63 32 63 33 30  91121792dd7c2c30
65d0: 33 39 30 37 32 35 61 31 65 65 62 62 66 32 30 62  390725a1eebbf20b
65e0: 37 36 36 61 35 61 31 63 33 63 36 63 33 36 34 36  766a5a1c3c6c3646
65f0: 64 39 39 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  d996..tcltest::t
6600: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
6610: 36 2d 32 2e 37 38 20 7b 53 48 41 33 5f 32 35 36  6-2.78 {SHA3_256
6620: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
6630: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
6640: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
6650: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
6660: 65 63 6f 64 65 20 68 65 78 20 64 36 35 62 39 66  ecode hex d65b9f
6670: 38 38 31 64 31 66 63 37 66 31 37 64 36 64 64 34  881d1fc7f17d6dd4
6680: 32 39 66 61 63 61 38 34 30 34 65 36 63 65 36 30  29faca8404e6ce60
6690: 66 62 61 37 64 38 39 62 37 66 62 61 30 30 33 63  fba7d89b7fba003c
66a0: 38 65 66 38 34 64 38 30 38 33 31 38 32 39 37 39  8ef84d8083182979
66b0: 33 32 37 36 31 31 66 63 33 34 31 32 39 31 62 61  327611fc341291ba
66c0: 38 30 64 63 37 30 61 64 33 62 32 66 32 38 62 36  80dc70ad3b2f28b6
66d0: 64 32 39 62 39 38 38 34 34 35 65 37 66 64 62 37  d29b988445e7fdb7
66e0: 63 36 35 36 31 66 34 35 38 32 32 61 63 38 31 64  c6561f45822ac81d
66f0: 62 66 36 37 37 61 30 62 32 37 64 39 36 31 64 63  bf677a0b27d961dc
6700: 36 33 35 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  6358]} \..-body 
6710: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
6720: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
6730: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
6740: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
6750: 6c 74 20 35 31 63 63 37 31 62 36 39 33 34 61 66  lt 51cc71b6934af
6760: 63 66 32 38 66 61 34 39 39 34 32 62 37 36 33 32  cf28fa49942b7632
6770: 33 66 33 36 63 64 36 61 30 61 65 63 63 35 61 30  3f36cd6a0aecc5a0
6780: 65 34 39 63 31 30 39 39 34 64 64 63 61 62 64 62  e49c10994ddcabdb
6790: 62 38 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  b80..tcltest::te
67a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
67b0: 2d 32 2e 37 39 20 7b 53 48 41 33 5f 32 35 36 53  -2.79 {SHA3_256S
67c0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
67d0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
67e0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
67f0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6800: 63 6f 64 65 20 68 65 78 20 37 31 31 63 38 38 61  code hex 711c88a
6810: 64 66 31 33 65 37 61 30 65 36 39 34 36 35 32 66  df13e7a0e694652f
6820: 32 62 39 61 33 39 37 35 34 33 66 34 39 33 37 66  2b9a397543f4937f
6830: 61 66 62 34 63 63 63 61 37 66 31 61 64 31 64 39  afb4ccca7f1ad1d9
6840: 33 63 66 37 34 65 38 31 38 64 30 66 65 64 66 61  3cf74e818d0fedfa
6850: 65 65 30 39 39 66 30 31 39 30 31 34 65 63 39 65  ee099f019014ec9e
6860: 31 65 64 66 65 39 63 30 33 66 64 62 31 31 66 65  1edfe9c03fdb11fe
6870: 36 34 39 32 61 64 38 39 30 31 31 62 66 39 37 31  6492ad89011bf971
6880: 61 35 63 36 37 34 34 36 31 64 65 31 35 64 61 66  a5c674461de15daf
6890: 66 31 66 34 34 62 34 37 61 64 61 64 33 30 38 62  f1f44b47adad308b
68a0: 61 61 33 31 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79  aa314]} \..-body
68b0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
68c0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
68d0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
68e0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
68f0: 75 6c 74 20 31 37 38 30 65 35 32 65 33 30 36 38  ult 1780e52e3068
6900: 35 38 34 37 38 32 39 30 63 34 36 62 30 34 64 38  58478290c46b04d8
6910: 30 36 38 66 30 37 38 61 37 66 36 61 64 38 65 33  068f078a7f6ad8e3
6920: 37 39 30 61 36 38 66 63 34 30 64 63 63 66 62 64  790a68fc40dccfbd
6930: 61 64 63 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  adc9..tcltest::t
6940: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
6950: 36 2d 32 2e 38 30 20 7b 53 48 41 33 5f 32 35 36  6-2.80 {SHA3_256
6960: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
6970: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
6980: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
6990: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
69a0: 65 63 6f 64 65 20 68 65 78 20 66 37 31 34 61 32  ecode hex f714a2
69b0: 37 63 64 32 64 31 62 63 37 35 34 66 35 65 34 39  7cd2d1bc754f5e49
69c0: 37 32 61 62 39 34 30 64 33 36 36 61 37 35 34 65  72ab940d366a754e
69d0: 30 32 39 62 36 35 33 36 36 35 35 64 39 37 37 39  029b6536655d9779
69e0: 35 36 61 32 63 35 33 38 38 30 33 33 32 34 32 34  56a2c53880332424
69f0: 64 64 66 35 39 37 65 36 38 36 36 61 32 32 62 66  ddf597e6866a22bf
6a00: 63 61 37 61 61 32 36 62 37 64 37 34 62 63 34 63  ca7aa26b7d74bc4c
6a10: 39 32 35 30 31 34 63 34 65 64 33 37 62 66 65 33  925014c4ed37bfe3
6a20: 37 32 34 35 66 61 34 32 36 32 38 64 31 63 32 65  7245fa42628d1c2e
6a30: 65 37 35 64 63 39 30 39 65 64 63 34 36 39 65 65  e75dc909edc469ee
6a40: 33 34 35 32 64 38 39 34 5d 7d 20 5c 0a 09 2d 62  3452d894]} \..-b
6a50: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6a60: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
6a70: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
6a80: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
6a90: 72 65 73 75 6c 74 20 66 34 61 66 61 37 32 66 33  result f4afa72f3
6aa0: 65 34 38 39 61 64 34 37 33 64 63 32 34 37 61 61  e489ad473dc247aa
6ab0: 65 33 35 33 64 61 39 39 66 62 30 30 35 62 34 39  e353da99fb005b49
6ac0: 30 65 32 63 34 65 31 66 35 62 64 31 36 61 39 39  0e2c4e1f5bd16a99
6ad0: 37 33 32 62 31 30 30 0a 0a 74 63 6c 74 65 73 74  732b100..tcltest
6ae0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6af0: 2d 32 35 36 2d 32 2e 38 31 20 7b 53 48 41 33 5f  -256-2.81 {SHA3_
6b00: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
6b10: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
6b20: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
6b30: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6b40: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 65 30  y decode hex fe0
6b50: 63 33 32 38 30 34 32 32 63 34 65 66 36 63 38 32  c3280422c4ef6c82
6b60: 31 31 36 65 39 34 37 64 61 38 39 66 33 34 34 64  116e947da89f344d
6b70: 36 66 66 39 39 37 62 66 31 61 65 63 36 38 30 37  6ff997bf1aec6807
6b80: 65 37 33 37 39 61 36 39 35 64 30 62 61 32 30 61  e7379a695d0ba20a
6b90: 65 33 31 64 32 36 36 36 66 37 33 62 62 64 62 63  e31d2666f73bbdbc
6ba0: 33 61 36 64 36 61 63 32 63 31 32 64 63 66 62 35  3a6d6ac2c12dcfb5
6bb0: 61 37 39 31 37 33 64 66 63 39 63 64 32 65 30 64  a79173dfc9cd2e0d
6bc0: 36 30 30 30 65 33 31 31 34 66 32 37 36 37 65 64  6000e3114f2767ed
6bd0: 65 63 39 39 35 37 37 32 63 36 62 34 37 64 61 64  ec995772c6b47dad
6be0: 63 31 33 36 64 35 30 30 32 35 31 65 35 5d 7d 20  c136d500251e5]} 
6bf0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
6c00: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
6c10: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
6c20: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
6c30: 61 63 74 20 2d 72 65 73 75 6c 74 20 38 39 31 39  act -result 8919
6c40: 38 65 32 33 36 33 65 66 64 34 65 30 62 61 37 61  8e2363efd4e0ba7a
6c50: 38 61 34 35 66 36 39 30 66 30 32 37 31 32 65 36  8a45f690f02712e6
6c60: 66 38 35 36 36 36 38 35 31 37 62 61 65 31 31 38  f856668517bae118
6c70: 64 31 31 65 39 61 39 64 63 37 63 63 0a 0a 74 63  d11e9a9dc7cc..tc
6c80: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
6c90: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38 32 20 7b  _SHA3-256-2.82 {
6ca0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
6cb0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
6cc0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
6cd0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
6ce0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6cf0: 78 20 30 32 65 32 33 38 34 36 31 64 30 61 39 39  x 02e238461d0a99
6d00: 64 34 39 63 34 63 64 31 36 66 34 34 32 65 64 66  d49c4cd16f442edf
6d10: 36 38 32 63 33 39 62 39 33 31 31 34 66 63 33 64  682c39b93114fc3d
6d20: 37 39 66 38 35 34 36 61 39 39 65 35 65 61 64 30  79f8546a99e5ead0
6d30: 32 66 30 63 66 63 34 35 30 38 31 35 36 31 64 61  2f0cfc45081561da
6d40: 34 34 62 35 63 37 30 65 62 34 38 33 34 30 34 31  44b5c70eb4834041
6d50: 38 37 30 37 66 64 36 62 32 36 31 34 35 38 30 64  8707fd6b2614580d
6d60: 35 63 35 38 31 38 36 38 62 61 33 32 66 31 65 65  5c581868ba32f1ee
6d70: 33 61 63 33 34 62 66 36 32 32 34 38 34 35 62 33  3ac34bf6224845b3
6d80: 32 62 61 37 66 38 36 37 65 33 34 37 30 30 64 34  2ba7f867e34700d4
6d90: 35 30 32 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5025]} \..-body 
6da0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
6db0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
6dc0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
6dd0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
6de0: 6c 74 20 61 62 65 66 38 31 62 33 33 35 39 31 65  lt abef81b33591e
6df0: 65 64 63 61 63 30 63 66 33 32 66 62 35 61 39 31  edcac0cf32fb5a91
6e00: 63 39 33 31 66 32 64 37 31 39 63 33 37 38 30 31  c931f2d719c37801
6e10: 34 30 39 31 33 33 35 35 32 31 37 30 63 65 35 30  409133552170ce50
6e20: 64 62 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  dbf..tcltest::te
6e30: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
6e40: 2d 32 2e 38 33 20 7b 53 48 41 33 5f 32 35 36 53  -2.83 {SHA3_256S
6e50: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
6e60: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
6e70: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
6e80: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6e90: 63 6f 64 65 20 68 65 78 20 66 62 37 63 38 63 64  code hex fb7c8cd
6ea0: 34 30 33 31 30 30 37 66 38 31 35 39 64 35 63 34  4031007f8159d5c4
6eb0: 63 36 31 32 30 64 65 65 36 37 37 37 61 33 61 63  c6120dee6777a3ac
6ec0: 65 30 61 32 34 35 62 35 36 66 33 31 65 38 61 61  e0a245b56f31e8aa
6ed0: 65 37 38 32 38 64 61 62 33 63 66 33 35 63 33 30  e7828dab3cf35c30
6ee0: 38 64 65 31 64 30 64 36 38 34 35 39 32 65 66 33  8de1d0d684592ef3
6ef0: 61 39 65 35 35 37 39 36 36 30 33 61 39 32 66 36  a9e55796603a92f6
6f00: 38 64 31 30 39 66 37 61 33 61 63 31 36 33 35 66  8d109f7a3ac1635f
6f10: 37 63 34 64 33 33 34 39 35 35 36 31 34 63 38 31  7c4d334955614c81
6f20: 32 37 35 33 34 33 31 62 62 30 61 30 37 34 33 32  2753431bb0a07432
6f30: 39 31 61 30 66 63 34 31 35 34 37 66 33 5d 7d 20  91a0fc41547f3]} 
6f40: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
6f50: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
6f60: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
6f70: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
6f80: 61 63 74 20 2d 72 65 73 75 6c 74 20 35 61 36 37  act -result 5a67
6f90: 32 38 34 64 33 39 65 34 66 33 37 63 61 61 36 34  284d39e4f37caa64
6fa0: 63 61 31 61 35 34 35 39 33 63 33 35 66 36 64 38  ca1a54593c35f6d8
6fb0: 66 33 61 33 65 63 32 30 64 34 36 30 33 39 33 61  f3a3ec20d460393a
6fc0: 33 39 66 36 66 35 37 63 34 34 38 36 0a 0a 74 63  39f6f57c4486..tc
6fd0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
6fe0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38 34 20 7b  _SHA3-256-2.84 {
6ff0: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
7000: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
7010: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
7020: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
7030: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
7040: 78 20 36 62 32 65 38 36 38 63 37 64 30 65 65 31  x 6b2e868c7d0ee1
7050: 63 32 34 30 64 33 61 36 37 65 32 66 64 66 33 36  c240d3a67e2fdf36
7060: 65 38 65 32 33 38 31 37 63 30 32 36 34 34 61 35  e8e23817c02644a5
7070: 34 34 35 33 64 31 30 34 35 34 64 61 35 38 35 39  4453d10454da5859
7080: 64 34 31 65 38 33 33 61 35 32 38 35 65 63 36 33  d41e833a5285ec63
7090: 65 38 63 65 32 38 61 61 36 34 61 35 30 34 33 35  e8ce28aa64a50435
70a0: 61 37 37 34 30 65 65 61 34 62 37 64 35 38 32 37  a7740eea4b7d5827
70b0: 38 39 32 36 37 38 62 33 35 39 39 33 64 33 66 35  892678b35993d3f5
70c0: 64 61 37 61 31 63 36 34 66 35 33 33 31 37 33 66  da7a1c64f533173f
70d0: 33 64 30 66 61 33 37 65 31 61 65 62 66 37 30 38  3d0fa37e1aebf708
70e0: 32 37 30 35 32 63 32 36 5d 7d 20 5c 0a 09 2d 62  27052c26]} \..-b
70f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7100: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
7110: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
7120: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
7130: 72 65 73 75 6c 74 20 61 65 63 66 35 64 61 62 36  result aecf5dab6
7140: 66 65 61 39 66 66 64 31 62 63 65 32 63 64 66 65  fea9ffd1bce2cdfe
7150: 65 63 30 62 65 65 39 64 32 31 34 61 36 36 39 65  ec0bee9d214a669e
7160: 38 33 30 36 64 35 62 36 36 38 38 61 66 61 38 39  8306d5b6688afa89
7170: 35 37 66 63 39 31 66 0a 0a 74 63 6c 74 65 73 74  57fc91f..tcltest
7180: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7190: 2d 32 35 36 2d 32 2e 38 35 20 7b 53 48 41 33 5f  -256-2.85 {SHA3_
71a0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
71b0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
71c0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
71d0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
71e0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 35 66  y decode hex e5f
71f0: 33 62 61 30 30 30 63 34 33 62 62 36 61 63 61 34  3ba000c43bb6aca4
7200: 65 30 61 37 31 31 61 37 35 39 31 32 61 34 38 32  e0a711a75912a482
7210: 34 31 63 66 66 61 35 62 34 62 30 62 31 37 66 39  41cffa5b4b0b17f9
7220: 30 31 66 39 65 35 30 39 37 64 39 34 30 33 36 63  01f9e5097d94036c
7230: 32 30 35 66 37 61 33 30 37 64 30 30 38 35 36 37  205f7a307d008567
7240: 64 30 35 65 35 38 61 63 30 64 66 61 66 36 64 39  d05e58ac0dfaf6d9
7250: 37 31 62 66 39 64 33 64 34 35 30 63 66 32 63 37  71bf9d3d450cf2c7
7260: 63 38 33 66 36 62 33 32 38 66 36 37 36 65 39 61  c83f6b328f676e9a
7270: 62 34 32 35 36 34 32 66 35 61 35 61 37 31 65 33  b425642f5a5a71e3
7280: 38 39 64 63 34 66 61 34 39 62 36 64 37 65 38 34  89dc4fa49b6d7e84
7290: 38 61 30 39 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79  8a09f]} \..-body
72a0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
72b0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
72c0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
72d0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
72e0: 75 6c 74 20 31 38 32 64 36 65 34 33 31 36 66 34  ult 182d6e4316f4
72f0: 62 63 31 38 64 37 31 36 33 62 31 62 32 31 34 36  bc18d7163b1b2146
7300: 32 64 39 39 66 39 39 63 36 66 33 34 64 32 63 30  2d99f99c6f34d2c0
7310: 30 65 65 37 37 31 63 65 35 34 66 64 36 63 35 30  0ee771ce54fd6c50
7320: 31 38 62 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  18b9..tcltest::t
7330: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
7340: 36 2d 32 2e 38 36 20 7b 53 48 41 33 5f 32 35 36  6-2.86 {SHA3_256
7350: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
7360: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
7370: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
7380: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
7390: 65 63 6f 64 65 20 68 65 78 20 39 33 39 63 36 31  ecode hex 939c61
73a0: 65 36 38 61 66 35 65 32 66 64 62 37 35 61 32 65  e68af5e2fdb75a2e
73b0: 65 62 62 31 35 39 61 38 35 62 30 63 38 37 61 31  ebb159a85b0c87a1
73c0: 32 36 63 65 32 32 37 30 31 36 32 32 66 35 63 35  26ce22701622f5c5
73d0: 65 66 35 31 37 63 33 61 62 30 65 64 34 39 32 62  ef517c3ab0ed492b
73e0: 31 36 35 30 61 36 63 38 36 32 34 35 37 63 36 38  1650a6c862457c68
73f0: 35 63 30 34 37 33 32 31 39 38 36 34 35 62 39 35  5c04732198645b95
7400: 66 38 34 63 63 62 30 65 37 32 36 61 30 37 63 65  f84ccb0e726a07ce
7410: 31 33 32 38 32 37 61 30 34 34 64 63 37 36 62 33  132827a044dc76b3
7420: 34 64 33 66 31 39 61 38 31 37 32 31 66 31 65 61  4d3f19a81721f1ea
7430: 33 36 35 62 63 32 33 65 32 36 30 34 39 34 39 62  365bc23e2604949b
7440: 64 35 65 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  d5e8]} \..-body 
7450: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
7460: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
7470: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
7480: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
7490: 6c 74 20 31 32 31 30 35 37 62 30 62 39 61 36 32  lt 121057b0b9a62
74a0: 37 62 65 30 37 64 63 35 34 65 37 64 31 62 37 31  7be07dc54e7d1b71
74b0: 39 66 30 61 33 64 66 39 64 32 30 64 32 39 61 30  9f0a3df9d20d29a0
74c0: 33 61 33 38 62 35 64 66 30 61 35 31 35 30 33 64  3a38b5df0a51503d
74d0: 66 39 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  f93..tcltest::te
74e0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
74f0: 2d 32 2e 38 37 20 7b 53 48 41 33 5f 32 35 36 53  -2.87 {SHA3_256S
7500: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
7510: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
7520: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
7530: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7540: 63 6f 64 65 20 68 65 78 20 39 65 61 64 61 66 34  code hex 9eadaf4
7550: 38 31 31 61 36 30 34 63 36 35 65 61 61 37 62 31  811a604c65eaa7b1
7560: 63 36 65 38 39 66 32 63 30 61 62 39 36 62 65 62  c6e89f2c0ab96beb
7570: 65 63 32 35 61 39 35 30 62 61 37 38 61 61 63 31  ec25a950ba78aac1
7580: 36 64 39 33 37 31 63 61 31 65 37 34 35 38 61 63  6d9371ca1e7458ac
7590: 66 33 33 31 65 30 37 37 65 66 36 61 37 33 35 64  f331e077ef6a735d
75a0: 36 38 34 37 34 61 62 32 32 64 32 33 38 39 62 64  68474ab22d2389bd
75b0: 66 33 35 37 66 62 32 31 33 36 63 39 66 34 30 65  f357fb2136c9f40e
75c0: 31 65 31 65 62 39 39 35 39 32 63 32 62 62 62 39  1e1eb99592c2bbb9
75d0: 35 64 39 34 39 33 31 30 31 36 62 34 64 33 37 66  5d94931016b4d37f
75e0: 61 61 30 38 62 31 65 39 62 66 37 31 62 66 32 64  aa08b1e9bf71bf2d
75f0: 33 37 30 38 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79  3708a]} \..-body
7600: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
7610: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
7620: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
7630: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
7640: 75 6c 74 20 63 32 33 37 31 39 34 62 39 30 32 65  ult c237194b902e
7650: 34 38 64 63 61 35 62 64 30 39 36 63 62 35 31 35  48dca5bd096cb515
7660: 36 32 30 37 39 64 30 63 64 63 63 62 32 61 66 38  62079d0cdccb2af8
7670: 30 38 38 31 39 37 36 37 36 63 31 37 62 30 38 39  088197676c17b089
7680: 36 62 65 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  6be2..tcltest::t
7690: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
76a0: 36 2d 32 2e 38 38 20 7b 53 48 41 33 5f 32 35 36  6-2.88 {SHA3_256
76b0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
76c0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
76d0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
76e0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
76f0: 65 63 6f 64 65 20 68 65 78 20 37 31 64 63 63 61  ecode hex 71dcca
7700: 32 33 39 64 63 65 64 32 61 63 35 63 63 34 39 61  239dced2ac5cc49a
7710: 39 62 66 39 65 61 36 39 61 39 39 62 65 32 32 62  9bf9ea69a99be22b
7720: 61 36 32 32 31 36 37 31 36 62 35 32 34 64 62 38  a62216716b524db8
7730: 30 66 33 33 37 64 65 65 35 65 62 37 65 30 33 32  0f337dee5eb7e032
7740: 38 36 39 65 34 61 64 63 31 34 39 37 62 61 62 64  869e4adc1497babd
7750: 31 66 61 38 32 66 61 38 63 33 63 66 62 64 33 30  1fa82fa8c3cfbd30
7760: 64 32 65 61 64 66 62 34 63 35 64 34 30 66 39 39  d2eadfb4c5d40f99
7770: 66 39 64 31 39 34 64 37 31 38 32 63 39 63 62 37  f9d194d7182c9cb7
7780: 64 34 31 65 38 61 64 62 64 63 66 32 39 31 37 65  d41e8adbdcf2917e
7790: 30 38 36 37 38 32 66 64 64 37 35 36 65 32 39 36  086782fdd756e296
77a0: 31 63 39 34 34 30 37 30 5d 7d 20 5c 0a 09 2d 62  1c944070]} \..-b
77b0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
77c0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
77d0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
77e0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
77f0: 72 65 73 75 6c 74 20 33 37 37 64 31 63 66 66 62  result 377d1cffb
7800: 36 32 36 37 33 35 38 31 30 62 36 31 33 66 64 33  626735810b613fd3
7810: 31 65 66 39 62 62 62 34 35 37 37 63 64 37 35 32  1ef9bbb4577cd752
7820: 35 32 31 61 62 65 33 61 34 31 61 66 61 39 32 31  521abe3a41afa921
7830: 65 36 32 33 64 61 30 0a 0a 74 63 6c 74 65 73 74  e623da0..tcltest
7840: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7850: 2d 32 35 36 2d 32 2e 38 39 20 7b 53 48 41 33 5f  -256-2.89 {SHA3_
7860: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
7870: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
7880: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
7890: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
78a0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 61 31  y decode hex ea1
78b0: 33 30 64 33 32 33 36 62 63 61 37 64 66 66 62 34  30d3236bca7dffb4
78c0: 62 39 65 35 30 65 38 30 35 33 30 39 61 35 30 33  b9e50e805309a503
78d0: 65 37 33 34 37 32 32 37 61 65 62 39 66 31 62 64  e7347227aeb9f1bd
78e0: 31 35 63 32 36 33 61 39 38 64 64 36 35 37 35 33  15c263a98dd65753
78f0: 64 32 65 65 64 61 61 37 33 34 62 39 61 64 38 38  d2eedaa734b9ad88
7900: 66 34 31 31 35 38 66 33 32 34 31 39 63 61 35 32  f41158f32419ca52
7910: 39 66 33 30 36 32 62 39 31 30 63 30 31 39 66 33  9f3062b910c019f3
7920: 66 32 33 39 66 36 33 35 66 63 31 31 31 36 65 35  f239f635fc1116e5
7930: 61 62 37 62 32 34 32 66 65 62 34 34 37 31 65 64  ab7b242feb4471ed
7940: 39 31 36 38 34 37 34 65 35 30 31 64 33 39 64 36  9168474e501d39d6
7950: 62 61 65 35 32 63 63 32 31 30 36 31 61 5d 7d 20  bae52cc21061a]} 
7960: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
7970: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
7980: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
7990: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
79a0: 61 63 74 20 2d 72 65 73 75 6c 74 20 38 35 63 37  act -result 85c7
79b0: 61 35 32 64 35 33 66 37 62 34 31 31 36 32 65 61  a52d53f7b41162ea
79c0: 39 66 31 65 66 30 64 30 37 63 33 66 62 38 66 30  9f1ef0d07c3fb8f0
79d0: 65 63 36 32 31 36 31 37 66 38 38 63 62 33 38 32  ec621617f88cb382
79e0: 38 65 62 65 35 33 38 38 61 62 33 64 0a 0a 74 63  8ebe5388ab3d..tc
79f0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
7a00: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 30 20 7b  _SHA3-256-2.90 {
7a10: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
7a20: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
7a30: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
7a40: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
7a50: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
7a60: 78 20 32 38 66 31 62 65 31 31 35 36 37 39 32 61  x 28f1be1156792a
7a70: 66 39 35 63 36 66 37 32 65 39 37 31 62 66 31 62  f95c6f72e971bf1b
7a80: 36 34 65 30 31 32 37 62 37 36 35 33 66 66 31 65  64e0127b7653ff1e
7a90: 38 63 35 32 37 66 36 39 38 39 30 37 61 32 37 64  8c527f698907a27d
7aa0: 31 35 34 34 38 31 35 65 33 38 63 37 37 34 35 35  1544815e38c77455
7ab0: 32 39 62 63 38 35 39 32 36 30 38 33 32 34 31 36  29bc859260832416
7ac0: 66 32 62 34 31 63 64 30 31 65 36 30 63 35 30 36  f2b41cd01e60c506
7ad0: 32 33 39 61 37 62 66 37 35 35 33 36 35 30 62 66  239a7bf7553650bf
7ae0: 37 30 64 31 66 65 37 61 32 63 31 32 32 30 61 63  70d1fe7a2c1220ac
7af0: 31 32 32 65 61 31 65 31 38 64 62 32 37 34 39 30  122ea1e18db27490
7b00: 34 34 37 64 38 35 34 35 61 37 30 62 66 30 66 66  447d8545a70bf0ff
7b10: 63 38 66 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  c8fa]} \..-body 
7b20: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
7b30: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
7b40: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
7b50: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
7b60: 6c 74 20 62 32 65 62 33 37 36 32 61 37 34 33 64  lt b2eb3762a743d
7b70: 32 35 32 35 36 37 37 39 36 36 39 32 38 36 33 62  252567796692863b
7b80: 35 35 36 33 36 63 62 30 38 38 65 37 35 35 32 37  55636cb088e75527
7b90: 65 66 64 37 33 30 36 61 32 66 36 65 33 61 34 38  efd7306a2f6e3a48
7ba0: 61 38 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  a85..tcltest::te
7bb0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
7bc0: 2d 32 2e 39 31 20 7b 53 48 41 33 5f 32 35 36 53  -2.91 {SHA3_256S
7bd0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
7be0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
7bf0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
7c00: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7c10: 63 6f 64 65 20 68 65 78 20 63 38 34 30 30 65 66  code hex c8400ef
7c20: 30 39 63 31 33 65 38 61 63 63 38 61 37 32 32 35  09c13e8acc8a7225
7c30: 38 66 35 64 31 64 32 30 33 30 32 63 36 65 34 33  8f5d1d20302c6e43
7c40: 62 35 33 32 35 30 63 32 66 36 63 33 38 66 66 31  b53250c2f6c38ff1
7c50: 35 62 65 37 37 65 33 63 61 63 30 34 64 30 34 62  5be77e3cac04d04b
7c60: 38 34 32 31 66 63 38 66 64 66 66 38 62 65 35 63  8421fc8fdff8be5c
7c70: 61 37 31 65 64 64 31 30 38 65 39 32 38 37 62 34  a71edd108e9287b4
7c80: 32 64 65 61 33 33 38 62 66 38 35 39 31 30 30 65  2dea338bf859100e
7c90: 65 61 33 37 36 64 61 30 38 61 30 65 36 39 35 66  ea376da08a0e695f
7ca0: 30 64 63 39 30 62 39 35 65 34 36 37 63 62 64 33  0dc90b95e467cbd3
7cb0: 63 32 61 39 31 37 61 35 30 34 61 35 61 65 30 31  c2a917a504a5ae01
7cc0: 63 33 31 30 61 65 38 30 32 63 34 62 64 5d 7d 20  c310ae802c4bd]} 
7cd0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
7ce0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
7cf0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
7d00: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
7d10: 61 63 74 20 2d 72 65 73 75 6c 74 20 36 39 39 36  act -result 6996
7d20: 36 65 38 39 62 37 62 63 37 66 33 39 63 64 38 35  6e89b7bc7f39cd85
7d30: 37 39 31 62 39 32 31 38 30 66 66 33 66 65 64 36  791b92180ff3fed6
7d40: 35 38 64 38 32 34 30 65 33 39 33 65 31 65 36 64  58d8240e393e1e6d
7d50: 37 63 32 34 62 38 64 30 61 63 39 35 0a 0a 74 63  7c24b8d0ac95..tc
7d60: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
7d70: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 32 20 7b  _SHA3-256-2.92 {
7d80: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
7d90: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
7da0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
7db0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
7dc0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
7dd0: 78 20 61 34 38 39 35 30 63 39 36 31 34 33 38 65  x a48950c961438e
7de0: 30 39 66 34 64 30 35 34 61 63 36 36 61 34 39 38  09f4d054ac66a498
7df0: 65 35 66 31 61 34 66 36 65 61 62 66 64 65 39 62  e5f1a4f6eabfde9b
7e00: 34 62 66 35 37 37 36 31 38 32 66 30 65 34 33 62  4bf5776182f0e43b
7e10: 63 62 63 65 35 64 64 34 33 36 33 31 38 66 37 33  cbce5dd436318f73
7e20: 66 61 33 66 39 32 32 32 30 63 65 65 31 61 30 66  fa3f92220cee1a0f
7e30: 66 30 37 65 66 31 33 32 64 30 34 37 61 35 33 30  f07ef132d047a530
7e40: 63 62 62 34 37 65 38 30 38 66 39 30 62 32 63 63  cbb47e808f90b2cc
7e50: 32 61 38 30 64 63 39 61 31 64 64 31 61 62 32 62  2a80dc9a1dd1ab2b
7e60: 62 32 37 34 64 37 61 33 39 30 34 37 35 61 36 62  b274d7a390475a6b
7e70: 38 64 39 37 64 63 64 34 63 33 65 32 36 66 66 64  8d97dcd4c3e26ffd
7e80: 65 36 65 31 37 63 66 36 5d 7d 20 5c 0a 09 2d 62  e6e17cf6]} \..-b
7e90: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7ea0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
7eb0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
7ec0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
7ed0: 72 65 73 75 6c 74 20 34 34 63 30 30 63 66 36 32  result 44c00cf62
7ee0: 32 62 65 63 61 30 66 61 64 30 38 35 33 39 65 61  2beca0fad08539ea
7ef0: 34 36 36 64 63 62 65 34 34 37 36 61 65 66 36 62  466dcbe4476aef6b
7f00: 32 37 37 63 34 35 30 63 65 38 32 38 32 66 62 63  277c450ce8282fbc
7f10: 39 61 34 39 31 31 31 0a 0a 74 63 6c 74 65 73 74  9a49111..tcltest
7f20: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7f30: 2d 32 35 36 2d 32 2e 39 33 20 7b 53 48 41 33 5f  -256-2.93 {SHA3_
7f40: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
7f50: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
7f60: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
7f70: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
7f80: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 35 34  y decode hex e54
7f90: 33 65 64 63 66 66 38 63 30 39 34 63 30 62 33 32  3edcff8c094c0b32
7fa0: 39 63 38 31 39 30 62 33 31 63 30 33 66 61 38 36  9c8190b31c03fa86
7fb0: 66 30 36 61 63 65 39 35 37 39 31 38 37 32 38 36  f06ace9579187286
7fc0: 39 32 64 37 38 33 66 61 38 32 34 62 61 34 61 34  92d783fa824ba4a4
7fd0: 65 31 37 37 32 61 66 62 65 32 64 33 66 35 63 62  e1772afbe2d3f5cb
7fe0: 61 37 30 31 32 35 30 64 36 37 33 34 30 35 64 32  a701250d673405d2
7ff0: 63 33 38 64 35 32 63 35 32 35 32 32 63 38 31 38  c38d52c52522c818
8000: 39 34 37 62 63 63 30 33 37 33 38 33 35 62 31 39  947bcc0373835b19
8010: 38 63 34 63 63 38 30 62 30 32 39 64 32 30 38 38  8c4cc80b029d2088
8020: 34 61 63 38 63 35 30 38 39 33 63 33 66 35 36 35  4ac8c50893c3f565
8030: 64 35 32 38 61 30 63 62 35 31 62 66 38 61 31 39  d528a0cb51bf8a19
8040: 37 64 39 64 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79  7d9d6]} \..-body
8050: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
8060: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
8070: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
8080: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
8090: 75 6c 74 20 36 64 35 32 36 30 33 38 34 66 33 63  ult 6d5260384f3c
80a0: 65 66 64 33 37 35 38 66 62 39 30 30 64 63 62 61  efd3758fb900dcba
80b0: 33 37 33 30 64 32 62 32 33 63 65 65 30 33 64 31  3730d2b23cee03d1
80c0: 39 37 61 62 65 66 66 30 31 33 36 39 64 63 37 33  97abeff01369dc73
80d0: 63 31 38 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  c180..tcltest::t
80e0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
80f0: 36 2d 32 2e 39 34 20 7b 53 48 41 33 5f 32 35 36  6-2.94 {SHA3_256
8100: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
8110: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
8120: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
8130: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
8140: 65 63 6f 64 65 20 68 65 78 20 34 65 31 30 61 62  ecode hex 4e10ab
8150: 36 33 31 37 31 38 61 61 35 66 36 65 36 39 65 65  631718aa5f6e69ee
8160: 32 63 37 65 31 37 39 30 38 65 63 38 32 63 62 38  2c7e17908ec82cb8
8170: 31 36 36 37 65 35 30 38 66 36 39 38 31 66 33 38  1667e508f6981f38
8180: 31 34 37 39 30 63 66 64 35 64 31 31 32 61 33 30  14790cfd5d112a30
8190: 35 63 39 31 37 36 32 63 30 62 64 39 64 64 37 38  5c91762c0bd9dd78
81a0: 65 39 33 65 66 33 61 36 34 63 38 62 65 37 37 61  e93ef3a64c8be77a
81b0: 66 39 34 35 62 37 34 66 66 32 33 34 61 30 62 37  f945b74ff234a0b7
81c0: 38 66 31 65 64 39 36 32 64 30 64 36 38 30 34 31  8f1ed962d0d68041
81d0: 66 32 37 36 64 35 65 61 34 30 65 38 61 36 33 66  f276d5ea40e8a63f
81e0: 32 63 61 62 30 61 34 61 39 65 64 33 35 32 36 63  2cab0a4a9ed3526c
81f0: 38 63 35 32 33 64 62 37 63 62 37 37 36 62 39 38  8c523db7cb776b98
8200: 32 35 62 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  25b4]} \..-body 
8210: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8220: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
8230: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
8240: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
8250: 6c 74 20 64 38 38 65 35 66 33 62 32 64 30 61 36  lt d88e5f3b2d0a6
8260: 39 38 66 64 39 34 33 32 33 33 37 36 30 61 33 30  98fd943233760a30
8270: 30 30 61 33 33 36 30 64 39 30 34 30 65 37 33 37  00a3360d9040e737
8280: 34 62 32 32 65 33 39 65 61 35 38 64 38 36 38 31  4b22e39ea58d8681
8290: 30 32 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  02d..tcltest::te
82a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
82b0: 2d 32 2e 39 35 20 7b 53 48 41 33 5f 32 35 36 53  -2.95 {SHA3_256S
82c0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
82d0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
82e0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
82f0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
8300: 63 6f 64 65 20 68 65 78 20 36 30 34 64 38 38 34  code hex 604d884
8310: 32 38 35 35 33 35 34 38 31 31 63 64 37 33 36 64  2855354811cd736d
8320: 39 35 63 37 66 34 36 64 30 34 33 61 31 39 34 30  95c7f46d043a1940
8330: 34 38 62 36 34 62 66 36 63 64 61 32 32 63 33 65  48b64bf6cda22c3e
8340: 30 33 39 31 31 31 33 64 63 63 37 32 33 65 38 38  0391113dcc723e88
8350: 31 61 65 32 61 64 38 64 63 35 37 34 30 61 61 36  1ae2ad8dc5740aa6
8360: 62 64 61 36 36 36 39 64 64 62 39 36 62 62 37 31  bda6669ddb96bb71
8370: 61 63 64 31 30 36 34 38 33 38 30 36 39 33 66 37  acd10648380693f7
8380: 62 33 64 38 36 32 63 32 36 32 35 35 33 37 37 37  b3d862c262553777
8390: 30 30 34 62 64 36 38 35 32 38 33 31 36 31 38 35  004bd68528316185
83a0: 31 39 66 62 62 38 32 34 37 35 39 66 34 64 64 36  19fbb824759f4dd6
83b0: 35 61 66 31 62 32 61 37 39 63 63 30 31 30 39 36  5af1b2a79cc01096
83c0: 64 37 63 38 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79  d7c8d]} \..-body
83d0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
83e0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
83f0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
8400: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
8410: 75 6c 74 20 38 61 38 61 62 36 63 66 35 63 30 32  ult 8a8ab6cf5c02
8420: 62 39 61 65 38 66 34 63 31 37 30 37 34 30 65 66  b9ae8f4c170740ef
8430: 66 31 35 39 32 66 33 65 64 61 31 31 64 33 34 32  f1592f3eda11d342
8440: 30 61 63 38 62 34 32 31 64 39 33 63 66 62 62 33  0ac8b421d93cfbb3
8450: 35 64 62 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  5db8..tcltest::t
8460: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
8470: 36 2d 32 2e 39 36 20 7b 53 48 41 33 5f 32 35 36  6-2.96 {SHA3_256
8480: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
8490: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
84a0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
84b0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
84c0: 65 63 6f 64 65 20 68 65 78 20 36 32 38 31 38 30  ecode hex 628180
84d0: 65 31 34 66 34 31 65 62 64 66 64 65 33 62 34 34  e14f41ebdfde3b44
84e0: 33 39 64 65 35 35 65 65 39 63 64 37 34 33 64 34  39de55ee9cd743d4
84f0: 31 30 34 30 66 33 34 35 37 65 66 32 32 38 30 33  1040f3457ef22803
8500: 37 30 64 64 36 35 39 36 31 39 66 61 30 63 65 36  70dd659619fa0ce6
8510: 39 35 38 30 63 37 30 39 37 32 35 62 32 37 35 61  9580c709725b275a
8520: 36 65 64 61 38 62 63 62 38 32 61 38 34 34 37 63  6eda8bcb82a8447c
8530: 32 30 66 64 66 36 38 63 62 61 31 35 34 31 32 66  20fdf68cba15412f
8540: 38 33 65 32 61 31 30 30 37 39 66 65 39 33 39 39  83e2a10079fe9399
8550: 61 33 65 33 66 61 36 31 39 37 35 65 63 30 61 36  a3e3fa61975ec0a6
8560: 34 30 34 31 63 30 65 63 64 65 35 39 65 34 38 34  4041c0ecde59e484
8570: 34 65 39 66 38 61 36 30 38 63 62 32 32 64 32 35  4e9f8a608cb22d25
8580: 37 36 38 35 34 31 38 32 5d 7d 20 5c 0a 09 2d 62  76854182]} \..-b
8590: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
85a0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
85b0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
85c0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
85d0: 72 65 73 75 6c 74 20 38 64 31 35 34 62 66 36 66  result 8d154bf6f
85e0: 39 63 62 37 32 65 66 63 30 64 38 62 33 39 32 37  9cb72efc0d8b3927
85f0: 61 38 66 36 39 30 30 36 30 64 31 64 34 38 62 62  a8f690060d1d48bb
8600: 65 35 63 63 37 32 30 39 34 64 32 63 38 62 31 34  e5cc72094d2c8b14
8610: 39 61 37 35 31 33 32 0a 0a 74 63 6c 74 65 73 74  9a75132..tcltest
8620: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
8630: 2d 32 35 36 2d 32 2e 39 37 20 7b 53 48 41 33 5f  -256-2.97 {SHA3_
8640: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
8650: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
8660: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
8670: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
8680: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 63 31  y decode hex fc1
8690: 35 30 62 31 36 31 39 64 35 63 33 34 34 64 36 31  50b1619d5c344d61
86a0: 35 65 38 36 66 63 61 31 61 37 32 33 66 34 65 65  5e86fca1a723f4ee
86b0: 62 32 34 66 62 65 32 31 62 31 32 66 61 63 64 65  b24fbe21b12facde
86c0: 33 36 31 35 61 30 34 37 34 34 65 66 35 34 64 38  3615a04744ef54d8
86d0: 61 37 31 39 31 61 34 34 35 34 33 35 37 64 65 33  a7191a4454357de3
86e0: 35 64 66 38 37 38 63 62 33 30 35 36 39 32 32 37  5df878cb30569227
86f0: 38 36 34 38 37 35 39 36 38 31 39 31 39 64 31 61  8648759681919d1a
8700: 66 37 33 63 31 66 62 30 66 66 39 37 38 33 36 37  f73c1fb0ff978367
8710: 38 61 65 63 38 33 38 64 61 39 33 33 64 62 30 33  8aec838da933db03
8720: 37 36 65 31 36 32 39 66 63 63 61 33 66 33 32 39  76e1629fcca3f329
8730: 31 33 66 38 34 62 63 32 66 66 33 66 66 63 33 66  13f84bc2ff3ffc3f
8740: 32 36 31 64 32 33 31 32 66 35 39 31 63 5d 7d 20  261d2312f591c]} 
8750: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
8760: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
8770: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
8780: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
8790: 61 63 74 20 2d 72 65 73 75 6c 74 20 33 66 36 32  act -result 3f62
87a0: 36 63 38 62 62 32 30 61 31 33 32 34 39 35 62 64  6c8bb20a132495bd
87b0: 33 30 32 32 62 33 66 63 64 30 63 65 30 36 30 34  3022b3fcd0ce0604
87c0: 62 39 31 61 39 64 37 30 31 33 32 64 61 62 34 30  b91a9d70132dab40
87d0: 39 39 66 37 33 64 64 65 32 33 64 35 0a 0a 74 63  99f73dde23d5..tc
87e0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
87f0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 38 20 7b  _SHA3-256-2.98 {
8800: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
8810: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
8820: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
8830: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
8840: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
8850: 78 20 36 64 61 64 62 65 63 64 64 31 35 65 35 36  x 6dadbecdd15e56
8860: 34 36 65 33 66 33 37 61 36 66 65 35 62 33 32 38  46e3f37a6fe5b328
8870: 65 30 36 31 31 33 63 63 65 33 63 38 63 66 30 37  e06113cce3c8cf07
8880: 32 38 35 39 33 39 61 66 62 61 34 34 64 31 31 37  285939afba44d117
8890: 33 32 31 30 31 37 39 30 32 62 33 61 39 64 32 66  321017902b3a9d2f
88a0: 66 35 31 66 36 30 64 31 38 65 31 62 35 38 35 64  f51f60d18e1b585d
88b0: 63 64 66 33 34 65 34 39 65 31 37 30 65 65 36 30  cdf34e49e170ee60
88c0: 66 61 34 64 31 64 63 32 34 36 35 34 38 64 32 63  fa4d1dc246548d2c
88d0: 31 66 63 33 38 65 37 39 38 33 66 34 32 37 36 39  1fc38e7983f42769
88e0: 63 34 33 64 36 35 61 32 38 30 31 36 66 33 66 34  c43d65a28016f3f4
88f0: 64 34 37 39 65 62 65 31 63 64 38 66 65 63 35 64  d479ebe1cd8fec5d
8900: 31 66 38 38 36 64 64 32 31 61 63 61 35 30 36 37  1f886dd21aca5067
8910: 64 39 34 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  d94f]} \..-body 
8920: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8930: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
8940: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
8950: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
8960: 6c 74 20 39 30 39 38 65 61 33 34 63 34 30 62 35  lt 9098ea34c40b5
8970: 34 31 62 31 35 33 65 38 30 61 38 62 64 39 32 64  41b153e80a8bd92d
8980: 61 31 39 34 33 32 62 31 38 62 37 64 33 32 39 37  a19432b18b7d3297
8990: 36 30 62 33 30 32 66 38 61 35 34 63 33 39 35 64  60b302f8a54c395d
89a0: 64 30 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  d06..tcltest::te
89b0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
89c0: 2d 32 2e 39 39 20 7b 53 48 41 33 5f 32 35 36 53  -2.99 {SHA3_256S
89d0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
89e0: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
89f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
8a00: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
8a10: 63 6f 64 65 20 68 65 78 20 39 63 63 35 66 64 33  code hex 9cc5fd3
8a20: 30 33 35 62 37 32 64 63 36 33 62 38 63 33 63 33  035b72dc63b8c3c3
8a30: 32 36 66 64 30 31 33 30 38 31 65 36 62 38 37 31  26fd013081e6b871
8a40: 36 66 35 32 36 64 33 66 65 31 37 36 62 34 35 32  6f526d3fe176b452
8a50: 35 36 64 34 63 33 37 63 63 33 64 63 38 34 31 37  56d4c37cc3dc8417
8a60: 64 66 66 34 39 61 64 61 39 36 63 37 30 32 62 38  dff49ada96c702b8
8a70: 66 64 37 31 35 63 36 35 66 63 30 38 61 31 37 61  fd715c65fc08a17a
8a80: 30 61 37 32 30 62 39 63 66 31 65 65 64 66 64 34  0a720b9cf1eedfd4
8a90: 39 32 32 63 63 64 65 36 62 61 62 61 34 33 37 66  922ccde6baba437f
8aa0: 37 38 32 65 65 33 33 62 39 35 33 37 31 30 35 36  782ee33b95371056
8ab0: 62 30 33 35 30 64 61 64 37 34 33 34 37 30 63 33  b0350dad743470c3
8ac0: 62 36 36 33 32 39 39 66 31 36 66 63 66 64 33 34  b663299f16fcfd34
8ad0: 66 36 66 63 34 35 39 63 64 30 65 65 34 5d 7d 20  f6fc459cd0ee4]} 
8ae0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
8af0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
8b00: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
8b10: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
8b20: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 30 63 30  act -result b0c0
8b30: 34 66 32 34 62 62 36 64 33 64 34 66 63 62 66 64  4f24bb6d3d4fcbfd
8b40: 66 39 32 32 32 64 30 65 38 38 36 66 31 65 62 36  f9222d0e886f1eb6
8b50: 30 61 30 35 36 36 61 34 37 38 30 38 35 66 37 36  0a0566a478085f76
8b60: 32 33 61 30 32 35 61 35 62 39 38 31 0a 0a 74 63  23a025a5b981..tc
8b70: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
8b80: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 30 30 20  _SHA3-256-2.100 
8b90: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
8ba0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8bb0: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
8bc0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
8bd0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
8be0: 65 78 20 66 33 66 30 36 33 66 62 63 66 32 64 37  ex f3f063fbcf2d7
8bf0: 34 61 61 35 61 30 32 64 32 34 30 63 39 36 32 65  4aa5a02d240c962e
8c00: 64 37 62 62 31 31 39 62 33 61 32 31 32 62 64 62  d7bb119b3a212bdb
8c10: 34 31 35 39 34 65 32 38 34 32 38 31 30 38 65 36  41594e28428108e6
8c20: 31 33 31 35 32 65 64 31 36 65 30 31 65 34 35 31  13152ed16e01e451
8c30: 66 63 66 37 30 32 62 30 65 35 61 30 38 66 38 32  fcf702b0e5a08f82
8c40: 65 62 31 32 36 37 37 36 35 32 62 39 33 65 30 35  eb12677652b93e05
8c50: 66 64 65 65 30 30 61 65 38 36 63 66 32 64 63 39  fdee00ae86cf2dc9
8c60: 61 31 66 62 66 30 35 62 39 33 39 35 32 65 63 35  a1fbf05b93952ec5
8c70: 62 38 35 31 35 65 61 63 63 33 32 34 66 62 38 33  b8515eacc324fb83
8c80: 30 65 31 65 63 32 33 36 61 66 64 37 64 30 37 33  0e1ec236afd7d073
8c90: 64 34 62 37 66 37 61 62 31 63 32 65 30 34 38 62  d4b7f7ab1c2e048b
8ca0: 39 39 63 62 66 61 30 31 32 5d 7d 20 5c 0a 09 2d  99cbfa012]} \..-
8cb0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
8cc0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
8cd0: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
8ce0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
8cf0: 2d 72 65 73 75 6c 74 20 66 39 33 30 64 37 39 33  -result f930d793
8d00: 36 30 62 35 38 31 62 31 62 62 66 64 65 61 63 35  60b581b1bbfdeac5
8d10: 37 31 33 33 61 33 33 39 34 34 34 66 35 63 34 34  7133a339444f5c44
8d20: 35 33 38 63 39 32 31 36 33 31 65 61 62 61 66 30  538c921631eabaf0
8d30: 35 38 32 37 37 64 33 32 0a 0a 74 63 6c 74 65 73  58277d32..tcltes
8d40: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
8d50: 33 2d 32 35 36 2d 32 2e 31 30 31 20 7b 53 48 41  3-256-2.101 {SHA
8d60: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
8d70: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
8d80: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
8d90: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
8da0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 38  ary decode hex 8
8db0: 34 30 37 33 39 61 33 64 36 39 39 32 63 31 33 65  40739a3d6992c13e
8dc0: 63 36 33 65 36 64 62 66 34 36 66 39 64 36 38 37  c63e6dbf46f9d687
8dd0: 35 62 32 62 64 38 37 64 38 38 37 38 61 37 62 32  5b2bd87d8878a7b2
8de0: 36 35 63 30 37 34 65 31 33 61 62 31 37 36 34 33  65c074e13ab17643
8df0: 63 32 64 65 33 35 36 61 64 34 61 37 62 66 64 61  c2de356ad4a7bfda
8e00: 36 64 33 63 30 63 63 39 66 66 33 38 31 36 33 38  6d3c0cc9ff381638
8e10: 39 36 33 65 34 36 32 35 37 64 65 30 38 37 62 62  963e46257de087bb
8e20: 64 64 35 65 38 63 63 33 37 36 33 38 33 36 62 34  dd5e8cc3763836b4
8e30: 65 38 33 33 61 34 32 31 37 38 31 37 39 31 64 66  e833a421781791df
8e40: 63 61 65 39 39 30 31 62 65 35 38 30 35 63 30 62  cae9901be5805c0b
8e50: 62 66 39 39 63 63 61 36 64 61 66 35 37 34 36 33  bf99cca6daf57463
8e60: 34 65 63 32 63 36 31 35 35 36 66 33 32 65 36 34  4ec2c61556f32e64
8e70: 32 37 33 30 35 31 30 5d 7d 20 5c 0a 09 2d 62 6f  2730510]} \..-bo
8e80: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
8e90: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
8ea0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
8eb0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
8ec0: 65 73 75 6c 74 20 31 39 37 39 35 36 35 37 65 30  esult 19795657e0
8ed0: 38 63 66 62 62 32 34 37 61 31 37 63 66 32 30 39  8cfbb247a17cf209
8ee0: 61 34 39 30 35 66 34 36 65 34 64 64 66 35 38 65  a4905f46e4ddf58e
8ef0: 65 61 34 37 66 65 65 65 30 62 65 39 62 62 39 66  ea47feee0be9bb9f
8f00: 35 63 34 36 30 66 0a 0a 74 63 6c 74 65 73 74 3a  5c460f..tcltest:
8f10: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
8f20: 32 35 36 2d 32 2e 31 30 32 20 7b 53 48 41 33 5f  256-2.102 {SHA3_
8f30: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
8f40: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
8f50: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
8f60: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
8f70: 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 61 35  y decode hex 4a5
8f80: 31 62 34 39 33 39 33 61 62 34 64 31 62 34 34 66  1b49393ab4d1b44f
8f90: 62 36 64 63 36 36 32 38 38 35 35 61 33 34 65 37  b6dc6628855a34e7
8fa0: 63 39 34 64 31 33 62 38 62 32 31 34 32 65 35 64  c94d13b8b2142e5d
8fb0: 35 61 37 62 66 38 31 30 65 32 30 32 63 65 66 64  5a7bf810e202cefd
8fc0: 63 61 35 30 65 33 37 38 30 38 34 34 61 33 33 62  ca50e3780844a33b
8fd0: 39 39 34 32 66 38 39 65 35 63 35 62 37 64 64 36  9942f89e5c5b7dd6
8fe0: 61 66 62 30 61 34 34 35 34 31 64 34 34 66 62 34  afb0a44541d44fb4
8ff0: 30 36 38 37 38 35 39 37 38 30 61 66 35 30 32 35  0687859780af5025
9000: 66 65 63 63 38 35 65 31 30 63 66 38 32 34 39 34  fecc85e10cf82494
9010: 32 39 61 33 62 30 63 36 66 66 32 64 36 38 63 33  29a3b0c6ff2d68c3
9020: 35 30 63 38 37 63 32 66 63 62 66 39 33 36 62 64  50c87c2fcbf936bd
9030: 39 64 65 35 37 30 31 62 32 63 34 38 63 65 39 61  9de5701b2c48ce9a
9040: 33 33 30 63 39 65 65 5d 7d 20 5c 0a 09 2d 62 6f  330c9ee]} \..-bo
9050: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
9060: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
9070: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
9080: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
9090: 65 73 75 6c 74 20 31 32 38 66 62 34 31 31 34 65  esult 128fb4114e
90a0: 34 33 65 65 66 64 31 39 32 37 37 63 37 30 38 62  43eefd19277c708b
90b0: 65 39 65 36 38 37 33 65 36 36 64 37 66 64 35 39  e9e6873e66d7fd59
90c0: 63 35 38 61 31 34 38 35 62 37 62 30 31 35 66 61  c58a1485b7b015fa
90d0: 63 66 61 37 39 35 0a 0a 74 63 6c 74 65 73 74 3a  cfa795..tcltest:
90e0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
90f0: 32 35 36 2d 32 2e 31 30 33 20 7b 53 48 41 33 5f  256-2.103 {SHA3_
9100: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
9110: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
9120: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
9130: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
9140: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 66 63  y decode hex afc
9150: 33 30 39 65 36 62 37 62 37 34 64 66 62 30 64 33  309e6b7b74dfb0d3
9160: 36 38 65 33 38 39 34 32 36 36 66 63 34 61 37 30  68e3894266fc4a70
9170: 36 63 33 33 32 35 65 32 31 66 35 35 35 30 64 30  6c3325e21f5550d0
9180: 37 61 36 35 36 30 65 33 64 39 37 30 33 63 31 33  7a6560e3d9703c13
9190: 34 63 61 36 61 64 30 37 38 65 34 61 37 62 38 32  4ca6ad078e4a7b82
91a0: 61 64 36 66 61 38 35 62 30 62 63 31 64 64 63 61  ad6fa85b0bc1ddca
91b0: 62 30 35 64 34 33 66 32 39 64 35 63 35 38 64 31  b05d43f29d5c58d1
91c0: 64 61 37 38 61 63 38 30 63 33 37 30 35 31 62 30  da78ac80c37051b0
91d0: 38 39 66 66 33 31 63 65 32 63 30 63 34 34 65 39  89ff31ce2c0c44e9
91e0: 63 65 33 61 62 65 61 31 64 61 30 66 31 64 66 32  ce3abea1da0f1df2
91f0: 38 30 30 38 65 31 37 38 66 64 65 66 61 66 63 61  8008e178fdefafca
9200: 34 39 33 34 31 33 62 66 31 64 32 35 36 63 37 32  493413bf1d256c72
9210: 39 64 30 61 39 32 32 35 65 5d 7d 20 5c 0a 09 2d  9d0a9225e]} \..-
9220: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
9230: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
9240: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
9250: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
9260: 2d 72 65 73 75 6c 74 20 30 33 65 37 38 32 62 30  -result 03e782b0
9270: 31 61 34 62 61 31 30 66 36 34 30 34 37 30 62 62  1a4ba10f640470bb
9280: 33 63 61 65 34 38 37 65 62 39 63 62 62 61 61 62  3cae487eb9cbbaab
9290: 38 63 39 39 34 31 39 37 38 62 31 39 34 66 36 61  8c9941978b194f6a
92a0: 33 31 32 63 66 37 39 65 0a 0a 74 63 6c 74 65 73  312cf79e..tcltes
92b0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
92c0: 33 2d 32 35 36 2d 32 2e 31 30 34 20 7b 53 48 41  3-256-2.104 {SHA
92d0: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
92e0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
92f0: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
9300: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
9310: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63  ary decode hex c
9320: 35 61 65 37 35 30 66 32 32 33 30 36 34 32 30 39  5ae750f223064209
9330: 32 33 39 37 62 38 34 61 64 35 35 32 36 63 34 36  2397b84ad5526c46
9340: 61 65 39 34 38 30 61 64 61 31 36 38 39 32 38 31  ae9480ada1689281
9350: 36 65 30 66 32 64 62 37 36 39 30 62 37 35 31 30  6e0f2db7690b7510
9360: 33 35 36 35 33 65 61 32 66 33 33 64 61 33 63 63  35653ea2f33da3cc
9370: 34 31 36 38 62 35 39 31 62 34 36 61 35 35 34 38  4168b591b46a5548
9380: 65 66 66 37 64 30 31 32 66 36 30 63 63 66 64 62  eff7d012f60ccfdb
9390: 62 38 35 34 64 65 65 63 39 66 30 38 38 30 63 34  b854deec9f0880c4
93a0: 37 32 64 65 38 65 31 32 37 62 35 31 34 34 63 35  72de8e127b5144c5
93b0: 36 31 34 37 63 63 63 65 65 34 37 33 32 66 62 61  6147cccee4732fba
93c0: 63 36 38 66 63 35 39 61 34 38 64 61 37 34 62 33  c68fc59a48da74b3
93d0: 33 65 64 39 65 36 34 33 36 34 34 62 62 65 32 37  3ed9e643644bbe27
93e0: 39 37 39 35 63 37 63 37 33 37 65 62 61 5d 7d 20  9795c7c737eba]} 
93f0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
9400: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
9410: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
9420: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
9430: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 36 34 62  act -result f64b
9440: 37 61 62 32 34 33 63 65 36 65 36 63 30 34 62 34  7ab243ce6e6c04b4
9450: 38 33 38 38 38 62 61 38 61 36 35 35 34 36 35 63  83888ba8a655465c
9460: 32 31 64 39 35 65 62 36 30 63 37 62 38 64 36 65  21d95eb60c7b8d6e
9470: 35 36 36 61 33 38 31 31 62 61 65 32 0a 0a 74 63  566a3811bae2..tc
9480: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
9490: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 30 35 20  _SHA3-256-2.105 
94a0: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
94b0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
94c0: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
94d0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
94e0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
94f0: 65 78 20 36 30 33 65 31 33 66 36 31 34 39 39 65  ex 603e13f61499e
9500: 31 32 65 63 36 62 33 33 62 36 38 38 34 37 61 32  12ec6b33b68847a2
9510: 38 31 64 33 31 34 66 35 34 64 63 37 30 35 63 30  81d314f54dc705c0
9520: 66 33 66 63 34 32 38 39 38 31 66 66 35 36 38 39  f3fc428981ff5689
9530: 63 30 34 62 35 31 39 66 61 64 66 38 33 63 62 63  c04b519fadf83cbc
9540: 39 66 63 64 30 34 30 39 63 33 32 36 30 33 35 30  9fcd0409c3260350
9550: 34 35 64 66 34 38 30 35 37 30 65 32 36 35 62 62  45df480570e265bb
9560: 30 38 30 39 34 30 30 33 37 63 65 34 30 37 36 61  080940037ce4076a
9570: 33 36 34 33 37 61 61 66 64 62 33 37 31 63 31 61  36437aafdb371c1a
9580: 36 32 61 66 39 61 64 39 62 36 31 34 64 66 65 66  62af9ad9b614dfef
9590: 38 39 37 30 38 66 62 62 62 35 65 62 65 66 32 63  89708fbbb5ebef2c
95a0: 62 39 35 32 38 63 63 33 39 39 37 38 31 65 34 63  b9528cc399781e4c
95b0: 35 62 32 32 66 31 61 61 34 64 62 61 36 32 33 38  5b22f1aa4dba6238
95c0: 30 39 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  09f]} \..-body {
95d0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
95e0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
95f0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
9600: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
9610: 74 20 35 66 37 36 39 36 32 66 64 33 64 33 37 33  t 5f76962fd3d373
9620: 65 35 64 62 32 39 35 33 63 30 38 32 33 61 35 31  e5db2953c0823a51
9630: 66 65 38 31 66 38 37 34 34 35 30 62 65 64 66 37  fe81f874450bedf7
9640: 65 34 36 38 37 36 33 39 34 62 30 34 64 33 65 66  e46876394b04d3ef
9650: 36 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  66..tcltest::tes
9660: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
9670: 32 2e 31 30 36 20 7b 53 48 41 33 5f 32 35 36 53  2.106 {SHA3_256S
9680: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
9690: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
96a0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
96b0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
96c0: 63 6f 64 65 20 68 65 78 20 65 30 33 31 31 35 63  code hex e03115c
96d0: 66 61 31 39 65 66 63 64 37 39 36 64 61 33 38 39  fa19efcd796da389
96e0: 30 36 33 63 34 62 65 36 61 63 63 65 36 38 34 64  063c4be6acce684d
96f0: 39 38 33 66 38 65 64 66 62 33 64 61 36 38 38 37  983f8edfb3da6887
9700: 62 30 62 39 34 66 62 62 35 65 38 39 65 33 61 31  b0b94fbb5e89e3a1
9710: 61 38 65 36 34 66 64 64 36 38 66 30 36 37 30 62  a8e64fdd68f0670b
9720: 31 61 30 32 63 32 63 33 33 33 38 34 61 36 36 30  1a02c2c33384a660
9730: 63 35 61 32 32 36 36 62 33 61 65 38 61 33 62 34  c5a2266b3ae8a3b4
9740: 63 64 37 36 66 61 65 63 66 30 31 31 61 37 34 36  cd76faecf011a746
9750: 37 62 39 62 32 61 38 31 38 30 32 30 32 37 38 61  7b9b2a818020278a
9760: 35 61 35 37 64 31 65 62 31 63 38 37 66 31 32 32  5a57d1eb1c87f122
9770: 34 63 32 64 36 37 64 64 30 32 65 38 31 66 31 35  4c2d67dd02e81f15
9780: 35 33 65 62 37 35 38 34 31 35 33 32 63 32 62 37  53eb75841532c2b7
9790: 63 63 61 38 66 65 35 65 34 31 38 5d 7d 20 5c 0a  cca8fe5e418]} \.
97a0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
97b0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33  est -digest SHA3
97c0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
97d0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
97e0: 74 20 2d 72 65 73 75 6c 74 20 64 31 30 37 65 65  t -result d107ee
97f0: 36 65 65 34 61 35 38 38 37 31 61 33 33 63 34 39  6ee4a58871a33c49
9800: 36 35 37 66 61 61 32 35 37 33 65 34 37 35 66 31  657faa2573e475f1
9810: 31 39 31 38 63 34 61 34 65 33 38 30 31 64 30 65  1918c4a4e3801d0e
9820: 31 37 66 62 39 33 63 36 65 33 0a 0a 74 63 6c 74  17fb93c6e3..tclt
9830: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
9840: 48 41 33 2d 32 35 36 2d 32 2e 31 30 37 20 7b 53  HA3-256-2.107 {S
9850: 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  HA3_256ShortMsg}
9860: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
9870: 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65   SHA3_256 \..-se
9880: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
9890: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
98a0: 20 30 65 36 63 31 64 35 38 62 31 62 39 64 33 61   0e6c1d58b1b9d3a
98b0: 32 64 33 39 39 61 61 66 64 36 30 35 32 39 65 30  2d399aafd60529e0
98c0: 37 64 34 38 33 61 32 37 35 35 62 62 37 65 34 34  7d483a2755bb7e44
98d0: 63 33 37 33 62 35 33 35 35 36 33 32 64 35 66 63  c373b5355632d5fc
98e0: 61 37 36 64 36 66 66 35 36 63 39 33 61 66 39 33  a76d6ff56c93af93
98f0: 64 64 63 65 63 35 65 64 36 66 36 32 37 35 33 34  ddcec5ed6f627534
9900: 32 30 63 31 62 31 37 35 38 65 34 38 35 34 32 64  20c1b1758e48542d
9910: 66 37 62 38 32 34 62 30 30 61 33 61 35 34 64 66  f7b824b00a3a54df
9920: 61 66 30 34 37 30 62 31 38 64 35 31 65 33 31 65  af0470b18d51e31e
9930: 31 30 62 31 32 64 64 38 65 33 32 34 62 35 64 63  10b12dd8e324b5dc
9940: 31 62 62 38 66 33 62 37 33 30 35 63 62 37 36 32  1bb8f3b7305cb762
9950: 65 63 36 65 66 31 33 37 64 61 64 66 66 64 34 61  ec6ef137dadffd4a
9960: 32 34 36 36 37 34 38 38 36 31 64 39 30 30 34 66  2466748861d9004f
9970: 36 32 36 62 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79  626b0]} \..-body
9980: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
9990: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
99a0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
99b0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
99c0: 75 6c 74 20 30 32 61 62 32 64 62 62 30 32 39 34  ult 02ab2dbb0294
99d0: 34 33 35 34 37 39 39 30 35 31 32 34 37 62 31 61  4354799051247b1a
99e0: 32 35 63 31 39 66 33 36 39 36 65 31 61 66 63 62  25c19f3696e1afcb
99f0: 35 30 32 62 38 35 39 65 38 33 37 39 38 62 33 33  502b859e83798b33
9a00: 66 64 37 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  fd77..tcltest::t
9a10: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
9a20: 36 2d 32 2e 31 30 38 20 7b 53 48 41 33 5f 32 35  6-2.108 {SHA3_25
9a30: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
9a40: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
9a50: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
9a60: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
9a70: 64 65 63 6f 64 65 20 68 65 78 20 36 64 62 32 61  decode hex 6db2a
9a80: 34 33 61 32 32 39 62 31 30 63 33 36 32 39 32 34  43a229b10c362924
9a90: 39 66 63 35 31 33 36 34 36 38 62 34 64 38 34 64  9fc5136468b4d84d
9aa0: 66 37 62 38 39 65 63 39 30 65 62 66 37 61 61 37  f7b89ec90ebf7aa7
9ab0: 61 30 33 36 63 35 33 61 61 32 64 66 66 61 65 39  a036c53aa2dffae9
9ac0: 65 38 31 62 32 63 36 30 35 38 30 35 34 33 64 63  e81b2c60580543dc
9ad0: 37 30 36 61 35 65 33 34 35 37 61 62 63 38 37 65  706a5e3457abc87e
9ae0: 32 34 38 61 36 30 65 63 32 39 31 35 30 63 32 64  248a60ec29150c2d
9af0: 32 32 31 61 36 65 63 30 38 61 31 66 64 61 34 65  221a6ec08a1fda4e
9b00: 63 30 64 61 65 65 38 35 37 36 39 30 34 65 63 37  c0daee8576904ec7
9b10: 61 62 30 35 39 62 31 32 33 30 65 37 62 64 39 33  ab059b1230e7bd93
9b20: 63 34 65 35 35 62 61 39 34 39 36 63 62 62 31 65  c4e55ba9496cbb1e
9b30: 33 35 32 65 35 62 38 30 38 36 65 33 30 33 62 39  352e5b8086e303b9
9b40: 34 63 38 36 31 32 38 38 63 65 35 33 63 34 36 36  4c861288ce53c466
9b50: 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  b]} \..-body {tl
9b60: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
9b70: 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61  t SHA3-256 -data
9b80: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
9b90: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
9ba0: 38 63 63 34 64 33 39 62 32 66 35 62 61 30 62 63  8cc4d39b2f5ba0bc
9bb0: 39 64 32 65 65 32 61 38 37 37 37 63 66 30 38 35  9d2ee2a8777cf085
9bc0: 33 33 65 36 30 63 63 36 39 62 36 35 61 37 62 33  33e60cc69b65a7b3
9bd0: 31 63 35 63 32 31 32 31 31 39 33 61 61 33 31 65  1c5c2121193aa31e
9be0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
9bf0: 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e  Hash_SHA3-256-2.
9c00: 31 30 39 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  109 {SHA3_256Sho
9c10: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
9c20: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
9c30: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
9c40: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
9c50: 64 65 20 68 65 78 20 33 31 64 39 39 35 66 37 66  de hex 31d995f7f
9c60: 66 38 62 36 64 65 37 30 38 32 39 61 38 33 33 36  f8b6de70829a8336
9c70: 63 36 31 30 66 31 30 64 66 32 63 38 36 36 31 30  c610f10df2c86610
9c80: 37 61 34 39 32 32 62 32 35 31 35 31 38 34 39 66  7a4922b25151849f
9c90: 38 35 36 36 38 36 31 64 66 35 61 37 39 31 36 33  8566861df5a79163
9ca0: 64 30 32 37 36 37 66 32 31 33 35 37 61 64 38 32  d02767f21357ad82
9cb0: 37 33 33 39 39 37 38 39 39 32 36 31 66 30 33 64  733997899261f03d
9cc0: 61 66 62 31 63 65 31 30 35 36 66 32 30 65 66 64  afb1ce1056f20efd
9cd0: 31 36 64 34 33 37 34 62 38 39 37 36 38 35 36 35  16d4374b89768565
9ce0: 38 32 33 63 33 38 65 31 39 65 38 39 39 64 39 31  823c38e19e899d91
9cf0: 30 62 38 34 37 62 30 32 33 66 31 38 36 37 62 36  0b847b023f1867b6
9d00: 65 34 66 65 64 30 32 65 36 30 34 62 38 32 34 33  e4fed02e604b8243
9d10: 63 30 62 63 37 63 62 30 35 62 39 65 61 31 66 31  c0bc7cb05b9ea1f1
9d20: 37 39 35 35 62 66 61 33 36 36 39 38 63 39 63 5d  7955bfa36698c9c]
9d30: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9d40: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9d50: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
9d60: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
9d70: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 39  exact -result c9
9d80: 39 63 37 31 39 31 62 33 34 63 39 61 64 33 66 39  9c7191b34c9ad3f9
9d90: 34 31 64 34 61 64 34 34 32 63 63 38 36 35 32 30  41d4ad442cc86520
9da0: 35 63 62 62 34 63 32 61 36 39 32 37 63 35 39 32  5cbb4c2a6927c592
9db0: 65 38 33 31 63 62 63 34 64 33 36 66 63 66 0a 0a  e831cbc4d36fcf..
9dc0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
9dd0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 31  sh_SHA3-256-2.11
9de0: 30 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  0 {SHA3_256Short
9df0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
9e00: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
9e10: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
9e20: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
9e30: 20 68 65 78 20 63 62 30 62 38 63 62 37 64 65 36   hex cb0b8cb7de6
9e40: 32 31 63 38 65 30 61 30 66 63 36 62 65 32 66 63  21c8e0a0fc6be2fc
9e50: 31 38 64 30 65 38 38 31 38 61 32 63 32 64 64 30  18d0e8818a2c2dd0
9e60: 62 33 32 31 39 66 61 38 37 38 33 31 61 36 31 35  b3219fa87831a615
9e70: 38 33 66 39 30 33 63 34 64 31 30 35 34 39 35 39  83f903c4d1054959
9e80: 37 36 63 63 61 63 39 37 33 62 33 61 65 33 61 30  76ccac973b3ae3a0
9e90: 39 37 37 31 31 34 35 39 33 31 61 39 65 37 34 63  9771145931a9e74c
9ea0: 31 39 66 32 32 66 34 35 63 62 61 34 63 34 39 32  19f22f45cba4c492
9eb0: 62 32 39 62 31 34 30 31 33 34 37 31 32 32 35 38  b29b140134712258
9ec0: 31 64 66 65 32 33 37 30 64 33 65 30 33 35 39 35  1dfe2370d3e03595
9ed0: 37 38 63 64 31 30 61 33 35 35 63 36 31 39 37 31  78cd10a355c61971
9ee0: 31 38 31 30 61 38 66 38 63 32 33 32 35 37 38 36  1810a8f8c2325786
9ef0: 37 31 33 31 32 63 30 61 34 35 63 37 63 66 37 65  71312c0a45c7cf7e
9f00: 38 31 62 64 64 33 62 32 34 39 30 34 34 66 33 5d  81bdd3b249044f3]
9f10: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9f20: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9f30: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
9f40: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
9f50: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 64  exact -result 6d
9f60: 32 66 35 37 61 37 65 34 32 62 33 35 33 36 39 63  2f57a7e42b35369c
9f70: 66 32 63 64 36 30 63 61 66 39 65 36 35 61 63 61  f2cd60caf9e65aca
9f80: 37 64 39 61 61 30 31 39 65 36 38 32 34 62 62 38  7d9aa019e6824bb8
9f90: 30 36 33 34 38 66 31 61 63 66 33 63 37 63 0a 0a  06348f1acf3c7c..
9fa0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
9fb0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 31  sh_SHA3-256-2.11
9fc0: 31 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  1 {SHA3_256Short
9fd0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
9fe0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
9ff0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
a000: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
a010: 20 68 65 78 20 34 38 64 66 66 37 38 61 65 64 35   hex 48dff78aed5
a020: 66 36 65 38 32 33 30 35 34 39 32 34 61 37 38 64  f6e823054924a78d
a030: 63 31 62 38 65 35 31 61 31 31 37 66 31 36 31 30  c1b8e51a117f1610
a040: 31 38 31 35 32 39 66 36 64 31 36 34 65 62 66 30  181529f6d164ebf0
a050: 66 36 34 30 36 66 30 62 30 32 34 32 32 63 61 64  f6406f0b02422cad
a060: 38 63 39 31 36 38 32 33 37 35 39 61 33 36 31 34  8c916823759a3614
a070: 33 37 63 61 31 37 34 32 33 64 33 66 64 38 34 63  37ca17423d3fd84c
a080: 63 38 61 66 65 34 38 36 61 33 31 63 63 64 61 30  c8afe486a31ccda0
a090: 31 63 37 33 32 36 38 35 34 31 38 61 33 32 63 30  1c732685418a32c0
a0a0: 36 34 61 37 62 39 65 66 66 62 32 38 38 65 38 31  64a7b9effb288e81
a0b0: 31 65 63 63 39 39 61 64 62 32 61 37 35 39 66 65  1ecc99adb2a759fe
a0c0: 65 63 63 33 66 37 30 32 66 33 31 64 39 38 37 37  ecc3f702f31d9877
a0d0: 64 63 64 62 37 31 37 39 33 37 63 31 35 66 61 32  dcdb717937c15fa2
a0e0: 66 31 36 33 62 65 61 37 34 34 34 30 30 66 35 38  f163bea744400f58
a0f0: 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  c]} \..-body {tl
a100: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
a110: 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61  t SHA3-256 -data
a120: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
a130: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
a140: 31 34 62 36 33 31 66 30 66 30 30 61 33 30 32 34  14b631f0f00a3024
a150: 61 64 31 38 31 30 64 61 62 66 30 32 37 31 31 65  ad1810dabf02711e
a160: 32 38 34 34 39 36 36 38 61 62 65 32 37 66 36 39  28449668abe27f69
a170: 33 38 30 39 34 32 32 36 38 39 36 38 64 34 66 36  380942268968d4f6
a180: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
a190: 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e  Hash_SHA3-256-2.
a1a0: 31 31 32 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  112 {SHA3_256Sho
a1b0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
a1c0: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
a1d0: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
a1e0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
a1f0: 64 65 20 68 65 78 20 30 36 63 63 39 66 61 35 34  de hex 06cc9fa54
a200: 32 63 65 62 33 35 63 38 38 66 62 36 61 62 38 32  2ceb35c88fb6ab82
a210: 63 32 39 64 35 64 63 64 35 33 30 66 38 30 37 64  c29d5dcd530f807d
a220: 33 66 31 63 33 62 63 62 33 39 37 34 34 32 31 31  3f1c3bcb39744211
a230: 30 31 64 31 61 61 36 61 63 31 31 32 64 65 36 62  01d1aa6ac112de6b
a240: 66 39 37 39 63 64 32 38 65 62 30 66 37 30 63 34  f979cd28eb0f70c4
a250: 30 62 63 61 66 39 31 65 64 33 65 63 61 39 62 66  0bcaf91ed3eca9bf
a260: 39 65 30 64 62 63 36 61 30 62 37 33 32 37 31 64  9e0dbc6a0b73271d
a270: 31 63 37 35 30 36 37 34 30 63 61 39 65 62 66 62  1c7506740ca9ebfb
a280: 37 32 64 35 65 30 30 61 63 35 63 65 31 38 39 31  72d5e00ac5ce1891
a290: 39 33 66 66 61 33 30 38 38 30 34 62 34 32 61 36  93ffa308804b42a6
a2a0: 64 32 30 34 30 32 62 62 39 39 30 33 31 63 64 61  d20402bb99031cda
a2b0: 63 36 35 65 63 33 36 65 62 37 66 35 39 66 35 64  c65ec36eb7f59f5d
a2c0: 32 39 39 64 66 32 65 30 62 38 36 39 30 66 37 36  299df2e0b8690f76
a2d0: 30 62 39 61 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79  0b9a0]} \..-body
a2e0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
a2f0: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
a300: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
a310: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
a320: 75 6c 74 20 35 37 34 66 64 38 32 61 39 66 63 65  ult 574fd82a9fce
a330: 62 38 66 37 62 62 62 66 32 34 34 64 31 36 65 30  b8f7bbbf244d16e0
a340: 34 31 32 63 62 64 61 38 31 35 33 62 37 32 30 38  412cbda8153b7208
a350: 34 36 63 33 32 62 38 66 31 30 66 65 35 37 37 39  46c32b8f10fe5779
a360: 61 38 38 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  a881..tcltest::t
a370: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
a380: 36 2d 32 2e 31 31 33 20 7b 53 48 41 33 5f 32 35  6-2.113 {SHA3_25
a390: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
a3a0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
a3b0: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
a3c0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
a3d0: 64 65 63 6f 64 65 20 68 65 78 20 38 64 39 33 36  decode hex 8d936
a3e0: 32 37 63 30 62 37 63 62 66 36 31 61 37 66 65 37  27c0b7cbf61a7fe7
a3f0: 30 65 37 38 63 32 63 38 65 64 32 33 62 31 33 34  0e78c2c8ed23b134
a400: 34 62 34 63 66 65 64 33 31 62 64 38 35 39 38 30  4b4cfed31bd85980
a410: 64 64 33 37 62 34 36 39 30 65 35 62 38 37 35 38  dd37b4690e5b8758
a420: 66 37 64 36 64 32 32 36 39 39 35 37 61 33 39 61  f7d6d2269957a39a
a430: 31 61 63 33 34 35 31 63 63 31 39 36 36 39 36 61  1ac3451cc196696a
a440: 65 39 65 39 36 30 36 61 30 34 30 38 39 65 31 33  e9e9606a04089e13
a450: 34 35 36 30 39 35 61 31 63 65 31 65 35 39 33 34  456095a1ce1e5934
a460: 38 31 62 33 61 63 38 34 66 35 33 66 31 63 62 31  81b3ac84f53f1cb1
a470: 30 66 37 38 39 62 30 39 39 66 33 31 36 63 39 34  0f789b099f316c94
a480: 38 33 39 38 61 64 35 32 66 61 31 33 34 37 34 62  8398ad52fa13474b
a490: 64 66 34 38 36 64 65 39 62 34 33 31 62 64 35 64  df486de9b431bd5d
a4a0: 35 37 65 66 39 64 38 33 61 34 32 31 33 39 61 30  57ef9d83a42139a0
a4b0: 35 66 31 31 32 62 32 62 64 30 38 5d 7d 20 5c 0a  5f112b2bd08]} \.
a4c0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
a4d0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33  est -digest SHA3
a4e0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
a4f0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
a500: 74 20 2d 72 65 73 75 6c 74 20 33 34 34 65 63 38  t -result 344ec8
a510: 36 36 34 32 65 61 62 62 32 30 36 62 32 66 64 39  6642eabb206b2fd9
a520: 33 30 65 34 63 35 64 64 65 37 38 61 61 38 37 38  30e4c5dde78aa878
a530: 35 37 37 64 36 63 32 37 31 63 62 30 30 36 39 64  577d6c271cb0069d
a540: 34 39 39 39 34 39 35 36 35 32 0a 0a 74 63 6c 74  4999495652..tclt
a550: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
a560: 48 41 33 2d 32 35 36 2d 32 2e 31 31 34 20 7b 53  HA3-256-2.114 {S
a570: 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  HA3_256ShortMsg}
a580: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
a590: 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65   SHA3_256 \..-se
a5a0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
a5b0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
a5c0: 20 64 30 61 66 34 38 34 62 38 62 65 36 62 34 31   d0af484b8be6b41
a5d0: 63 31 39 37 31 61 65 39 64 39 30 36 35 30 61 31  c1971ae9d90650a1
a5e0: 65 38 39 34 33 35 36 63 39 31 39 31 64 36 62 65  e894356c9191d6be
a5f0: 33 30 33 66 61 34 32 34 66 32 62 37 63 30 39 35  303fa424f2b7c095
a600: 34 34 65 63 30 37 36 61 30 66 31 38 36 35 63 38  44ec076a0f1865c8
a610: 63 39 37 39 32 37 63 61 31 33 37 35 32 39 64 35  c97927ca137529d5
a620: 62 65 64 63 30 64 66 32 65 66 30 38 61 34 63 63  bedc0df2ef08a4cc
a630: 37 63 34 37 30 62 30 39 34 62 31 65 65 61 61 38  7c470b094b1eeaa8
a640: 36 37 33 31 63 30 34 31 36 33 33 64 32 34 30 38  6731c041633d2408
a650: 36 62 36 30 66 37 33 36 39 64 35 39 63 35 37 36  6b60f7369d59c576
a660: 35 32 64 65 63 39 62 33 38 31 37 34 37 37 64 66  52dec9b3817477df
a670: 39 64 62 32 38 39 62 61 30 32 30 65 33 30 36 63  9db289ba020e306c
a680: 39 61 37 38 61 39 39 62 35 33 39 31 32 38 39 39  9a78a99b53912899
a690: 32 64 65 62 32 33 63 66 63 35 30 38 63 35 66 63  2deb23cfc508c5fc
a6a0: 33 61 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  3af]} \..-body {
a6b0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
a6c0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
a6d0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
a6e0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
a6f0: 74 20 62 37 62 61 39 39 38 37 32 36 34 37 37 63  t b7ba998726477c
a700: 33 32 37 39 32 65 39 63 33 65 64 64 63 31 63 62  32792e9c3eddc1cb
a710: 36 66 65 62 37 63 33 39 33 33 65 34 39 66 32 65  6feb7c3933e49f2e
a720: 37 35 39 30 64 38 63 65 37 61 32 31 31 33 65 36  7590d8ce7a2113e6
a730: 66 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  f8..tcltest::tes
a740: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
a750: 32 2e 31 31 35 20 7b 53 48 41 33 5f 32 35 36 53  2.115 {SHA3_256S
a760: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
a770: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
a780: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
a790: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
a7a0: 63 6f 64 65 20 68 65 78 20 62 32 31 32 66 37 65  code hex b212f7e
a7b0: 66 30 34 66 66 63 64 63 66 37 32 63 33 39 61 36  f04ffcdcf72c39a6
a7c0: 33 30 39 34 38 36 63 30 65 65 62 33 39 30 66 66  309486c0eeb390ff
a7d0: 38 66 32 31 38 64 36 62 64 39 37 38 62 39 37 36  8f218d6bd978b976
a7e0: 36 31 32 66 37 66 38 39 38 63 33 35 30 65 39 30  612f7f898c350e90
a7f0: 62 64 31 33 30 37 32 33 65 31 31 32 36 61 66 36  bd130723e1126af6
a800: 39 32 39 35 30 31 39 62 34 66 35 32 63 30 36 61  9295019b4f52c06a
a810: 36 32 39 61 62 37 34 65 30 33 38 38 37 30 32 30  629ab74e03887020
a820: 62 37 35 64 37 33 66 30 66 37 38 65 31 32 37 38  b75d73f0f78e1278
a830: 35 63 34 32 66 65 62 37 30 61 37 65 35 66 31 32  5c42feb70a7e5f12
a840: 37 36 31 35 31 31 63 39 36 38 38 63 34 34 64 61  761511c9688c44da
a850: 36 61 61 61 30 32 61 66 61 33 35 62 33 31 65 64  6aaa02afa35b31ed
a860: 63 39 34 63 33 61 30 37 37 39 62 36 61 62 39 34  c94c3a0779b6ab94
a870: 36 32 35 32 35 63 30 63 63 66 62 61 37 36 39 38  62525c0ccfba7698
a880: 36 66 38 37 33 66 65 31 65 36 62 61 39 5d 7d 20  6f873fe1e6ba9]} 
a890: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
a8a0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
a8b0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
a8c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
a8d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 32 66 32 36  act -result 2f26
a8e0: 62 39 36 63 31 66 61 33 66 33 64 65 65 37 32 38  b96c1fa3f3dee728
a8f0: 66 31 37 35 38 34 65 37 33 33 62 34 31 38 39 38  f17584e733b41898
a900: 32 31 63 36 35 39 62 38 38 38 35 61 35 66 62 31  21c659b8885a5fb1
a910: 64 31 32 64 36 30 64 32 61 61 61 39 0a 0a 74 63  d12d60d2aaa9..tc
a920: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
a930: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 31 36 20  _SHA3-256-2.116 
a940: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
a950: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
a960: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
a970: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
a980: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
a990: 65 78 20 38 36 35 39 31 61 64 61 38 33 66 62 61  ex 86591ada83fba
a9a0: 38 31 37 35 61 30 66 65 39 31 64 32 36 34 65 37  8175a0fe91d264e7
a9b0: 66 39 62 32 64 66 39 37 65 65 34 63 33 32 35 37  f9b2df97ee4c3257
a9c0: 30 65 37 36 62 35 37 39 64 36 31 34 30 35 30 38  0e76b579d6140508
a9d0: 39 35 31 39 33 32 61 62 64 61 64 64 36 61 34 63  951932abdadd6a4c
a9e0: 61 35 33 62 38 62 62 38 63 34 32 39 32 37 61 61  a53b8bb8c42927aa
a9f0: 63 30 61 30 32 31 32 36 38 38 31 64 35 32 64 39  c0a02126881d52d9
aa00: 37 62 38 32 62 38 30 65 37 32 64 64 35 39 66 36  7b82b80e72dd59f6
aa10: 61 34 32 30 32 31 36 35 31 65 65 31 62 62 35 66  a42021651ee1bb5f
aa20: 37 62 33 65 62 32 62 32 31 64 30 30 33 64 37 38  7b3eb2b21d003d78
aa30: 34 62 37 35 64 64 61 38 37 63 31 33 66 37 31 34  4b75dda87c13f714
aa40: 62 32 31 36 32 38 32 65 38 31 37 35 34 37 34 66  b216282e8175474f
aa50: 61 36 36 31 62 34 34 35 64 30 37 31 62 64 35 33  a661b445d071bd53
aa60: 34 31 66 33 61 38 38 33 30 32 66 34 31 30 64 30  41f3a88302f410d0
aa70: 66 38 61 38 35 37 39 36 32 5d 7d 20 5c 0a 09 2d  f8a857962]} \..-
aa80: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
aa90: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
aaa0: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
aab0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
aac0: 2d 72 65 73 75 6c 74 20 65 33 65 64 62 63 38 63  -result e3edbc8c
aad0: 34 32 63 65 35 64 32 33 38 34 64 66 62 32 34 66  42ce5d2384dfb24f
aae0: 62 31 64 65 35 64 34 37 39 38 62 31 62 63 33 63  b1de5d4798b1bc3c
aaf0: 63 37 38 63 39 37 30 33 33 38 39 34 30 34 30 64  c78c97033894040d
ab00: 66 61 36 66 65 62 36 63 0a 0a 74 63 6c 74 65 73  fa6feb6c..tcltes
ab10: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
ab20: 33 2d 32 35 36 2d 32 2e 31 31 37 20 7b 53 48 41  3-256-2.117 {SHA
ab30: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
ab40: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
ab50: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
ab60: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
ab70: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39  ary decode hex 9
ab80: 32 62 35 61 38 65 38 34 62 36 61 32 61 63 34 64  2b5a8e84b6a2ac4d
ab90: 35 62 31 65 36 31 64 36 33 38 30 34 61 62 64 36  5b1e61d63804abd6
aba0: 34 31 64 64 36 33 30 30 35 38 65 63 36 64 35 66  41dd630058ec6d5f
abb0: 37 35 32 66 31 33 35 37 32 34 65 66 31 39 34 37  752f135724ef1947
abc0: 61 30 61 38 34 63 36 36 31 31 64 33 32 34 34 38  a0a84c6611d32448
abd0: 64 65 36 33 30 37 66 37 62 37 64 38 35 37 34 30  de6307f7b7d85740
abe0: 34 65 39 36 62 38 31 64 66 39 34 66 38 37 37 36  4e96b81df94f8776
abf0: 38 66 63 66 64 66 30 39 66 61 61 32 66 65 33 37  8fcfdf09faa2fe37
ac00: 34 36 38 38 34 37 35 34 32 61 66 65 30 31 32 39  468847542afe0129
ac10: 39 35 66 66 31 62 64 34 30 62 32 35 37 61 34 37  95ff1bd40b257a47
ac20: 61 37 33 30 39 66 38 38 39 36 62 66 34 66 62 37  a7309f8896bf4fb7
ac30: 31 31 64 65 35 35 62 66 65 62 33 61 38 62 65 30  11de55bfeb3a8be0
ac40: 38 33 37 37 32 39 65 66 36 30 36 37 63 35 37 38  837729ef6067c578
ac50: 31 38 32 66 31 37 65 62 62 30 38 30 61 37 35 34  182f17ebb080a754
ac60: 66 32 32 37 37 33 63 5d 7d 20 5c 0a 09 2d 62 6f  f22773c]} \..-bo
ac70: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
ac80: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
ac90: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
aca0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
acb0: 65 73 75 6c 74 20 38 30 65 64 30 61 37 30 32 38  esult 80ed0a7028
acc0: 31 32 32 39 37 63 32 61 61 31 62 36 62 34 62 35  12297c2aa1b6b4b5
acd0: 33 30 63 32 62 35 65 64 31 37 65 63 66 62 61 36  30c2b5ed17ecfba6
ace0: 64 35 31 37 39 31 63 66 31 35 32 64 34 33 30 33  d51791cf152d4303
acf0: 63 65 64 32 65 36 0a 0a 74 63 6c 74 65 73 74 3a  ced2e6..tcltest:
ad00: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
ad10: 32 35 36 2d 32 2e 31 31 38 20 7b 53 48 41 33 5f  256-2.118 {SHA3_
ad20: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
ad30: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
ad40: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
ad50: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
ad60: 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 32 38  y decode hex d28
ad70: 34 61 30 61 39 61 34 64 65 35 64 34 63 36 38 63  4a0a9a4de5d4c68c
ad80: 63 32 33 38 38 34 63 39 35 61 64 37 36 31 39 61  c23884c95ad7619a
ad90: 61 33 39 62 32 30 61 32 63 66 34 30 31 64 65 61  a39b20a2cf401dea
ada0: 65 62 33 33 36 32 63 33 63 65 33 35 36 66 37 39  eb3362c3ce356f79
adb0: 63 63 33 66 61 38 32 64 33 64 31 66 35 36 35 65  cc3fa82d3d1f565e
adc0: 63 38 31 33 37 65 31 66 34 33 35 66 31 37 31 34  c8137e1f435f1714
add0: 39 36 61 66 61 61 31 31 35 32 66 37 32 32 33 31  96afaa1152f72231
ade0: 35 64 63 61 35 32 30 39 66 30 30 33 31 63 63 65  5dca5209f0031cce
adf0: 33 39 62 36 63 33 64 37 31 38 65 30 30 37 64 66  39b6c3d718e007df
ae00: 62 34 66 64 38 64 65 35 63 65 31 34 30 38 64 64  b4fd8de5ce1408dd
ae10: 61 30 34 34 37 36 61 61 38 61 39 36 38 31 37 61  a04476aa8a96817a
ae20: 66 61 38 36 61 34 66 38 66 62 35 38 35 37 61 65  fa86a4f8fb5857ae
ae30: 30 39 31 63 36 37 65 62 64 37 64 62 35 64 37 38  091c67ebd7db5d78
ae40: 33 66 34 33 34 65 61 64 36 39 39 61 61 39 36 65  3f434ead699aa96e
ae50: 35 36 66 36 31 30 64 5d 7d 20 5c 0a 09 2d 62 6f  56f610d]} \..-bo
ae60: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
ae70: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
ae80: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
ae90: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
aea0: 65 73 75 6c 74 20 36 35 34 65 63 63 65 66 64 30  esult 654eccefd0
aeb0: 61 34 66 64 62 32 61 63 30 61 62 35 36 32 38 38  a4fdb2ac0ab56288
aec0: 63 36 34 33 39 39 62 33 37 62 63 34 64 35 37 66  c64399b37bc4d57f
aed0: 66 34 61 39 66 31 63 63 65 39 34 33 36 32 66 63  f4a9f1cce94362fc
aee0: 34 39 31 62 64 61 0a 0a 74 63 6c 74 65 73 74 3a  491bda..tcltest:
aef0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
af00: 32 35 36 2d 32 2e 31 31 39 20 7b 53 48 41 33 5f  256-2.119 {SHA3_
af10: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
af20: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
af30: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
af40: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
af50: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 35 37  y decode hex f57
af60: 66 30 66 38 37 39 35 33 38 35 62 38 30 35 32 34  f0f8795385b80524
af70: 36 61 30 61 32 35 37 33 61 66 63 32 37 34 33 34  6a0a2573afc27434
af80: 36 61 39 65 63 63 66 35 30 63 36 32 36 62 30 34  6a9eccf50c626b04
af90: 35 35 61 35 30 62 66 62 30 39 36 36 38 35 37 38  55a50bfb09668578
afa0: 62 35 61 35 61 66 65 35 34 66 62 62 64 34 38 36  b5a5afe54fbbd486
afb0: 34 34 34 62 64 66 39 37 64 62 61 35 38 36 61 61  444bdf97dba586aa
afc0: 32 32 34 63 65 32 65 32 62 34 62 35 32 66 34 31  224ce2e2b4b52f41
afd0: 38 66 66 30 36 61 66 61 36 35 61 32 36 66 35 32  8ff06afa65a26f52
afe0: 30 34 39 38 33 61 35 66 38 34 37 33 34 63 64 31  04983a5f84734cd1
aff0: 36 36 63 38 38 63 62 37 30 61 37 33 66 62 32 64  66c88cb70a73fb2d
b000: 62 34 38 66 39 65 66 32 30 63 31 65 65 32 63 35  b48f9ef20c1ee2c5
b010: 33 61 64 65 30 37 34 36 30 31 31 34 65 39 38 65  3ade07460114e98e
b020: 37 65 32 65 62 64 32 34 61 63 38 34 65 61 39 30  7e2ebd24ac84ea90
b030: 34 32 32 65 62 31 34 33 63 34 61 34 32 65 32 39  422eb143c4a42e29
b040: 39 31 61 35 36 35 39 35 39 5d 7d 20 5c 0a 09 2d  91a565959]} \..-
b050: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
b060: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
b070: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
b080: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
b090: 2d 72 65 73 75 6c 74 20 31 33 35 65 63 38 62 31  -result 135ec8b1
b0a0: 34 34 61 36 36 37 64 63 65 61 65 38 66 61 64 64  44a667dceae8fadd
b0b0: 32 38 37 64 66 38 31 63 31 30 65 66 33 65 62 65  287df81c10ef3ebe
b0c0: 66 38 37 66 66 32 66 62 35 36 65 36 30 61 65 37  f87ff2fb56e60ae7
b0d0: 30 38 61 38 38 66 33 62 0a 0a 74 63 6c 74 65 73  08a88f3b..tcltes
b0e0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
b0f0: 33 2d 32 35 36 2d 32 2e 31 32 30 20 7b 53 48 41  3-256-2.120 {SHA
b100: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
b110: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
b120: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
b130: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
b140: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32  ary decode hex 2
b150: 61 34 31 61 35 32 65 36 35 37 38 38 37 33 35 38  a41a52e657887358
b160: 38 61 35 37 66 31 31 66 31 62 65 37 63 37 65 62  8a57f11f1be7c7eb
b170: 33 39 38 64 30 31 66 33 62 66 64 65 63 32 63 33  398d01f3bfdec2c3
b180: 33 66 65 36 62 36 35 61 36 38 61 35 33 34 61 36  3fe6b65a68a534a6
b190: 35 34 30 39 37 38 64 61 61 38 32 65 30 63 38 66  540978daa82e0c8f
b1a0: 63 63 62 38 63 36 63 35 32 34 32 66 37 66 39 37  ccb8c6c5242f7f97
b1b0: 62 38 66 66 61 37 35 62 64 65 64 62 32 31 37 62  b8ffa75bdedb217b
b1c0: 64 38 30 38 33 34 33 39 65 65 61 35 63 62 62 36  d8083439eea5cbb6
b1d0: 64 31 39 33 63 31 33 62 64 36 32 66 35 36 35 38  d193c13bd62f5658
b1e0: 65 64 34 33 30 34 37 37 34 63 36 62 31 66 61 66  ed4304774c6b1faf
b1f0: 35 62 33 64 63 65 34 33 32 34 38 37 38 34 30 63  5b3dce432487840c
b200: 61 62 61 62 34 31 35 66 62 35 64 36 37 36 34 30  abab415fb5d67640
b210: 61 37 33 39 63 61 36 65 35 34 31 34 65 37 36 30  a739ca6e5414e760
b220: 38 36 39 37 30 38 61 39 64 37 33 33 31 65 37 65  869708a9d7331e7e
b230: 37 61 64 37 64 35 35 65 30 33 35 63 37 5d 7d 20  7ad7d55e035c7]} 
b240: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
b250: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
b260: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
b270: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
b280: 61 63 74 20 2d 72 65 73 75 6c 74 20 61 36 61 31  act -result a6a1
b290: 62 38 61 32 36 66 36 66 34 34 30 66 31 39 66 31  b8a26f6f440f19f1
b2a0: 36 64 63 65 31 64 33 30 30 31 34 37 37 64 37 33  6dce1d3001477d73
b2b0: 65 65 37 66 36 63 33 37 34 62 63 65 32 39 32 32  ee7f6c374bce2922
b2c0: 31 36 37 62 38 31 39 37 30 64 36 61 0a 0a 74 63  167b81970d6a..tc
b2d0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
b2e0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 32 31 20  _SHA3-256-2.121 
b2f0: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
b300: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
b310: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
b320: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
b330: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
b340: 65 78 20 34 64 31 31 61 61 35 64 33 63 36 62 36  ex 4d11aa5d3c6b6
b350: 39 30 30 66 34 39 66 66 39 30 64 64 38 31 35 37  900f49ff90dd8157
b360: 34 34 35 37 32 62 65 35 36 34 38 62 36 34 62 64  44572be5648b64bd
b370: 65 36 33 38 62 39 64 62 37 61 39 38 37 37 64 64  e638b9db7a9877dd
b380: 37 34 35 66 61 38 65 61 38 30 65 32 66 37 66 36  745fa8ea80e2f7f6
b390: 35 35 63 65 65 38 35 63 37 31 61 34 35 30 39 65  55cee85c71a4509e
b3a0: 32 31 64 38 39 39 65 34 39 62 34 39 37 33 35 37  21d899e49b497357
b3b0: 39 38 31 35 66 39 34 37 35 38 37 61 34 30 34 61  9815f947587a404a
b3c0: 64 38 33 66 64 34 61 32 34 38 30 32 30 64 39 64  d83fd4a248020d9d
b3d0: 32 61 36 35 66 34 36 34 38 35 33 37 33 66 63 39  2a65f46485373fc9
b3e0: 32 36 64 37 39 33 31 36 31 66 36 33 61 31 39 36  26d793161f63a196
b3f0: 61 65 30 61 66 35 39 30 39 32 33 63 35 62 65 32  ae0af590923c5be2
b400: 61 30 65 35 64 32 66 36 39 64 61 39 37 65 30 37  a0e5d2f69da97e07
b410: 38 38 35 35 30 63 39 63 31 64 65 65 39 35 37 34  88550c9c1dee9574
b420: 64 64 63 34 61 36 31 65 35 33 33 32 37 35 64 37  ddc4a61e533275d7
b430: 37 32 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  729]} \..-body {
b440: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
b450: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
b460: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
b470: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
b480: 74 20 66 63 35 31 35 39 66 30 64 64 64 36 64 37  t fc5159f0ddd6d7
b490: 36 35 63 38 35 66 63 63 33 66 63 33 61 63 31 64  65c85fcc3fc3ac1d
b4a0: 63 30 64 33 31 37 64 38 65 61 30 62 31 31 30 65  c0d317d8ea0b110e
b4b0: 39 36 61 63 39 66 37 61 33 39 38 64 63 33 38 36  96ac9f7a398dc386
b4c0: 63 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c5..tcltest::tes
b4d0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
b4e0: 32 2e 31 32 32 20 7b 53 48 41 33 5f 32 35 36 53  2.122 {SHA3_256S
b4f0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
b500: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
b510: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
b520: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
b530: 63 6f 64 65 20 68 65 78 20 30 35 63 64 39 39 62  code hex 05cd99b
b540: 66 65 30 33 31 64 31 32 33 63 61 37 30 36 31 64  fe031d123ca7061d
b550: 33 64 65 30 39 35 36 66 34 62 62 66 31 36 34 62  3de0956f4bbf164b
b560: 61 64 37 39 32 64 62 38 38 31 37 31 33 64 36 35  ad792db881713d65
b570: 39 39 64 64 61 62 35 35 65 65 32 34 66 63 65 65  99ddab55ee24fcee
b580: 38 30 34 65 33 36 30 38 39 36 31 35 32 63 38 37  804e360896152c87
b590: 36 36 34 32 34 66 38 33 30 39 66 37 61 32 34 36  66424f8309f7a246
b5a0: 34 31 61 30 37 62 65 30 66 65 62 35 64 61 35 65  41a07be0feb5da5e
b5b0: 35 30 37 36 61 39 61 66 34 35 38 34 32 66 33 38  5076a9af45842f38
b5c0: 35 31 30 31 66 39 33 34 33 33 63 61 35 31 39 39  5101f93433ca5199
b5d0: 66 39 63 36 62 35 38 37 32 62 32 62 38 30 38 65  f9c6b5872b2b808e
b5e0: 34 31 39 38 61 62 61 38 65 31 38 64 64 31 32 64  4198aba8e18dd12d
b5f0: 62 37 37 32 39 33 30 62 34 39 31 32 64 36 66 35  b772930b4912d6f5
b600: 63 61 62 65 62 35 32 39 38 38 34 66 34 62 62 31  cabeb529884f4bb1
b610: 34 32 64 65 35 35 65 30 32 31 62 33 32 37 36 30  42de55e021b32760
b620: 34 37 62 32 32 62 36 34 63 63 35 5d 7d 20 5c 0a  47b22b64cc5]} \.
b630: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
b640: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33  est -digest SHA3
b650: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
b660: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
b670: 74 20 2d 72 65 73 75 6c 74 20 38 61 61 30 37 37  t -result 8aa077
b680: 34 32 65 36 66 31 66 34 37 61 64 30 32 30 65 64  42e6f1f47ad020ed
b690: 36 36 38 34 65 64 63 38 64 62 61 34 61 66 33 36  6684edc8dba4af36
b6a0: 62 37 38 32 39 35 35 66 30 66 39 37 32 62 65 33  b782955f0f972be3
b6b0: 61 65 39 38 30 61 65 61 30 65 0a 0a 74 63 6c 74  ae980aea0e..tclt
b6c0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
b6d0: 48 41 33 2d 32 35 36 2d 32 2e 31 32 33 20 7b 53  HA3-256-2.123 {S
b6e0: 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  HA3_256ShortMsg}
b6f0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
b700: 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65   SHA3_256 \..-se
b710: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
b720: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
b730: 20 35 32 39 36 38 34 33 39 38 64 36 38 62 64 63   529684398d68bdc
b740: 31 39 65 37 61 30 30 63 65 33 32 63 63 31 61 38  19e7a00ce32cc1a8
b750: 63 31 33 31 35 62 39 37 66 30 37 31 33 37 34 37  c1315b97f0713747
b760: 34 66 36 31 66 30 63 62 38 34 61 30 34 66 32 38  4f61f0cb84a04f28
b770: 37 39 62 31 31 30 39 63 37 38 63 36 64 61 63 66  79b1109c78c6dacf
b780: 37 66 30 61 62 66 33 36 32 33 32 39 65 33 32 39  7f0abf362329e329
b790: 38 66 33 36 66 63 33 31 65 66 34 65 63 30 36 36  8f36fc31ef4ec066
b7a0: 35 33 37 32 33 61 35 66 39 36 31 33 30 31 64 66  53723a5f961301df
b7b0: 62 36 33 35 33 37 61 64 31 35 39 34 36 36 31 31  b63537ad15946611
b7c0: 63 62 32 63 64 35 34 65 61 39 32 38 65 33 32 32  cb2cd54ea928e322
b7d0: 65 37 34 32 33 66 64 36 64 31 34 36 65 65 30 62  e7423fd6d146ee0b
b7e0: 39 38 63 32 63 37 31 65 33 62 64 63 64 33 33 65  98c2c71e3bdcd33e
b7f0: 64 66 30 38 34 35 66 62 65 62 64 39 61 65 34 31  df0845fbebd9ae41
b800: 39 32 64 30 37 61 63 64 30 31 62 34 33 32 31 33  92d07acd01b43213
b810: 35 65 30 35 61 66 30 64 32 32 66 33 66 30 63 35  5e05af0d22f3f0c5
b820: 61 33 64 36 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79  a3d62]} \..-body
b830: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
b840: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
b850: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
b860: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
b870: 75 6c 74 20 61 30 37 30 34 39 62 36 65 62 64 37  ult a07049b6ebd7
b880: 62 33 35 35 34 37 39 61 33 64 38 30 32 66 64 61  b355479a3d802fda
b890: 34 33 36 62 38 33 61 65 36 37 34 37 64 37 34 31  436b83ae6747d741
b8a0: 63 66 39 36 32 36 66 37 63 36 32 66 34 37 63 62  cf9626f7c62f47cb
b8b0: 64 35 36 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  d563..tcltest::t
b8c0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
b8d0: 36 2d 32 2e 31 32 34 20 7b 53 48 41 33 5f 32 35  6-2.124 {SHA3_25
b8e0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
b8f0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
b900: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
b910: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
b920: 64 65 63 6f 64 65 20 68 65 78 20 39 38 32 66 62  decode hex 982fb
b930: 35 66 34 61 66 34 39 38 61 34 61 37 35 65 33 33  5f4af498a4a75e33
b940: 61 30 33 33 32 33 35 65 61 33 64 64 62 37 30 64  a033235ea3ddb70d
b950: 39 64 32 33 36 35 31 39 66 38 38 33 66 66 35 62  9d236519f883ff5b
b960: 33 38 38 63 62 65 66 33 30 31 32 36 62 39 38 64  388cbef30126b98d
b970: 39 36 65 39 33 61 36 35 61 32 36 66 62 30 30 64  96e93a65a26fb00d
b980: 31 37 32 34 36 64 31 38 63 66 34 65 32 64 62 31  17246d18cf4e2db1
b990: 34 61 35 32 66 30 66 36 62 31 30 65 33 35 61 39  4a52f0f6b10e35a9
b9a0: 33 62 65 61 64 63 31 34 66 66 31 31 38 62 30 32  3beadc14ff118b02
b9b0: 65 39 35 62 33 38 66 63 34 37 33 36 66 39 37 33  e95b38fc4736f973
b9c0: 62 61 38 34 38 65 34 30 62 35 35 32 37 63 62 30  ba848e40b5527cb0
b9d0: 35 39 39 30 37 36 64 39 36 62 63 35 37 38 63 34  599076d96bc578c4
b9e0: 61 61 64 61 30 39 65 38 66 61 66 36 38 32 30 62  aada09e8faf6820b
b9f0: 63 34 66 35 36 32 64 35 31 39 39 39 37 34 66 38  c4f562d5199974f8
ba00: 30 38 62 37 66 39 35 65 64 63 61 37 34 65 36 62  08b7f95edca74e6b
ba10: 33 39 34 30 38 39 34 61 37 66 36 36 35 33 34 65  3940894a7f66534e
ba20: 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  0]} \..-body {tl
ba30: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
ba40: 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61  t SHA3-256 -data
ba50: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
ba60: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
ba70: 30 39 63 36 30 66 65 63 35 61 30 38 39 61 32 33  09c60fec5a089a23
ba80: 66 35 64 61 33 65 64 32 34 39 32 61 61 32 31 66  f5da3ed2492aa21f
ba90: 63 66 37 61 61 33 36 31 38 33 38 35 30 66 61 66  cf7aa36183850faf
baa0: 63 31 35 61 65 38 63 36 33 66 35 39 36 64 62 30  c15ae8c63f596db0
bab0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
bac0: 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e  Hash_SHA3-256-2.
bad0: 31 32 35 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  125 {SHA3_256Sho
bae0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
baf0: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
bb00: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
bb10: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
bb20: 64 65 20 68 65 78 20 63 61 38 38 36 31 34 38 32  de hex ca8861482
bb30: 38 66 38 61 63 64 62 35 66 63 66 66 61 62 36 62  8f8acdb5fcffab6b
bb40: 62 32 66 62 36 32 64 39 33 32 62 37 38 30 38 65  b2fb62d932b7808e
bb50: 34 64 39 63 63 33 31 33 39 61 38 33 35 62 30 63  4d9cc3139a835b0c
bb60: 65 66 34 37 31 64 39 66 34 64 38 66 66 63 34 62  ef471d9f4d8ffc4b
bb70: 37 34 34 64 66 66 65 62 66 34 66 39 39 37 65 37  744dffebf4f997e7
bb80: 34 63 65 38 30 64 62 36 36 32 35 33 38 62 63 65  4ce80db662538bce
bb90: 62 35 64 37 36 38 66 30 61 37 37 30 37 37 65 39  b5d768f0a77077e9
bba0: 37 30 30 31 34 39 65 61 30 65 36 61 34 36 61 30  700149ea0e6a46a0
bbb0: 38 38 61 36 32 37 31 37 32 31 36 61 31 34 62 36  88a62717216a14b6
bbc0: 30 31 31 39 64 64 31 39 63 33 31 30 33 38 65 64  0119dd19c31038ed
bbd0: 38 37 30 62 34 37 30 39 31 36 31 63 36 63 33 33  870b4709161c6c33
bbe0: 39 63 35 63 63 36 30 39 34 35 61 35 38 32 32 36  9c5cc60945a58226
bbf0: 33 66 33 62 65 39 61 34 30 63 64 31 61 30 34 63  3f3be9a40cd1a04c
bc00: 39 32 31 39 34 37 39 30 30 66 36 65 32 36 36 66  921947900f6e266f
bc10: 32 33 39 30 66 33 63 39 37 30 66 37 62 36 39 5d  2390f3c970f7b69]
bc20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
bc30: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
bc40: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
bc50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
bc60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 65  exact -result fe
bc70: 32 64 34 31 38 33 63 63 64 61 61 38 31 36 62 34  2d4183ccdaa816b4
bc80: 34 34 36 61 39 62 36 63 30 37 64 30 62 61 34 62  446a9b6c07d0ba4b
bc90: 34 32 61 63 37 34 33 35 39 39 64 62 35 64 63 34  42ac743599db5dc4
bca0: 38 32 62 31 39 34 31 66 34 34 33 63 37 31 0a 0a  82b1941f443c71..
bcb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
bcc0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 32  sh_SHA3-256-2.12
bcd0: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
bce0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
bcf0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
bd00: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
bd10: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
bd20: 20 68 65 78 20 61 62 36 62 39 32 64 61 66 38 33   hex ab6b92daf83
bd30: 32 37 35 63 62 39 63 31 62 37 36 63 66 62 35 39  275cb9c1b76cfb59
bd40: 66 62 63 63 38 61 63 35 33 31 38 38 65 30 62 36  fbcc8ac53188e0b6
bd50: 39 38 30 39 31 38 65 37 61 63 30 63 30 37 63 38  980918e7ac0c07c8
bd60: 33 36 63 61 39 33 37 32 64 31 39 65 31 31 32 35  36ca9372d19e1125
bd70: 31 63 63 61 36 36 34 62 62 62 33 63 33 64 62 32  1cca664bbb3c3db2
bd80: 65 31 33 62 34 31 32 61 39 38 32 30 62 36 35 65  e13b412a9820b65e
bd90: 39 35 36 31 32 30 34 32 66 35 64 62 32 34 36 34  95612042f5db2464
bda0: 33 63 66 39 33 34 30 62 39 38 30 38 35 39 37 37  3cf9340b98085977
bdb0: 33 35 61 31 66 39 32 36 37 30 62 61 35 37 33 61  35a1f92670ba573a
bdc0: 32 66 62 32 66 30 38 38 64 38 31 30 38 37 64 37  2fb2f088d81087d7
bdd0: 30 35 36 35 35 37 34 33 34 34 61 66 37 35 37 36  0565574344af7576
bde0: 64 33 35 62 32 65 64 39 38 33 31 38 65 32 63 61  d35b2ed98318e2ca
bdf0: 30 30 36 37 64 34 66 61 38 65 36 33 66 32 38 30  0067d4fa8e63f280
be00: 34 35 62 38 33 62 36 38 38 37 64 34 66 66 61 30  45b83b6887d4ffa0
be10: 36 36 38 61 31 30 37 31 32 65 64 35 37 35 39 5d  668a10712ed5759]
be20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
be30: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
be40: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
be50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
be60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 34  exact -result 74
be70: 34 35 33 38 65 31 61 65 31 63 64 37 33 35 37 37  4538e1ae1cd73577
be80: 31 30 62 35 36 63 33 62 63 36 66 31 62 64 37 61  10b56c3bc6f1bd7a
be90: 38 35 36 34 31 31 38 61 31 65 30 66 39 61 63 63  8564118a1e0f9acc
bea0: 33 30 66 63 66 30 62 35 33 39 36 65 65 66 0a 0a  30fcf0b5396eef..
beb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
bec0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 32  sh_SHA3-256-2.12
bed0: 37 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  7 {SHA3_256Short
bee0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
bef0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
bf00: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
bf10: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
bf20: 20 68 65 78 20 62 66 64 34 63 37 63 38 65 39 30   hex bfd4c7c8e90
bf30: 38 35 38 63 63 66 39 63 38 38 33 34 61 62 65 66  858ccf9c8834abef
bf40: 64 39 63 31 38 34 36 63 61 34 61 31 31 39 36 36  d9c1846ca4a11966
bf50: 66 64 64 31 33 39 64 36 64 65 32 34 61 36 62 65  fdd139d6de24a6be
bf60: 62 66 34 62 31 39 66 35 38 64 35 64 35 31 65 35  bf4b19f58d5d51e5
bf70: 32 62 64 64 64 30 62 63 36 66 31 63 37 66 33 35  2bddd0bc6f1c7f35
bf80: 39 39 38 66 34 34 37 30 37 63 61 65 37 31 30 30  998f44707cae7100
bf90: 61 65 62 34 61 64 65 66 65 33 37 33 31 30 31 34  aeb4adefe3731014
bfa0: 32 39 64 61 33 66 63 61 31 64 31 35 37 33 37 33  29da3fca1d157373
bfb0: 32 39 64 62 62 66 34 37 63 37 38 33 61 38 34 64  29dbbf47c783a84d
bfc0: 65 35 39 62 66 62 62 32 66 63 64 37 35 61 31 61  e59bfbb2fcd75a1a
bfd0: 31 34 38 64 32 36 61 65 62 62 38 64 33 61 39 61  148d26aebb8d3a9a
bfe0: 37 36 30 38 39 63 30 66 38 65 34 64 34 39 62 37  76089c0f8e4d49b7
bff0: 31 61 30 36 66 39 65 33 32 33 65 32 63 64 62 35  1a06f9e323e2cdb5
c000: 34 38 38 38 31 38 39 38 38 37 61 34 34 62 31 66  4888189887a44b1f
c010: 61 39 63 62 33 32 62 37 63 38 66 62 37 63 39 65  a9cb32b7c8fb7c9e
c020: 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  0]} \..-body {tl
c030: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
c040: 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61  t SHA3-256 -data
c050: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
c060: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
c070: 35 38 62 31 37 38 34 33 62 63 38 35 31 61 37 32  58b17843bc851a72
c080: 31 63 35 61 32 35 38 65 65 66 35 37 62 33 38 35  1c5a258eef57b385
c090: 34 64 30 32 31 39 30 65 37 33 32 64 39 62 38 65  4d02190e732d9b8e
c0a0: 37 61 39 66 39 32 36 61 63 34 30 39 63 31 37 33  7a9f926ac409c173
c0b0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
c0c0: 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e  Hash_SHA3-256-2.
c0d0: 31 32 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f  128 {SHA3_256Sho
c0e0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
c0f0: 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20  raints SHA3_256 
c100: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
c110: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
c120: 64 65 20 68 65 78 20 63 35 30 31 39 34 33 33 63  de hex c5019433c
c130: 32 38 35 64 61 32 62 62 39 33 66 31 31 39 65 35  285da2bb93f119e5
c140: 38 62 34 66 33 36 63 64 31 65 34 64 39 39 64 64  8b4f36cd1e4d99dd
c150: 61 33 35 64 62 66 34 66 38 61 65 33 39 63 37 66  a35dbf4f8ae39c7f
c160: 65 36 35 66 61 30 65 64 30 33 62 64 32 62 39 36  e65fa0ed03bd2b96
c170: 64 63 36 34 39 34 37 32 64 38 66 31 61 39 34 34  dc649472d8f1a944
c180: 37 37 65 64 39 66 32 39 35 39 32 64 39 37 63 39  77ed9f29592d97c9
c190: 63 64 35 34 64 61 37 63 37 39 30 61 64 31 61 66  cd54da7c790ad1af
c1a0: 33 62 62 35 63 63 30 33 30 62 37 38 37 31 62 63  3bb5cc030b7871bc
c1b0: 36 34 30 35 30 64 62 37 37 39 64 32 63 61 66 30  64050db779d2caf0
c1c0: 34 31 39 38 39 35 62 66 33 62 37 62 35 30 62 38  419895bf3b7b50b8
c1d0: 65 32 32 66 62 65 36 32 66 65 33 30 66 65 37 62  e22fbe62fe30fe7b
c1e0: 62 64 36 61 63 65 38 36 64 64 66 37 62 30 30 64  bd6ace86ddf7b00d
c1f0: 35 64 39 33 37 30 66 32 30 63 66 30 66 39 37 39  5d9370f20cf0f979
c200: 39 36 66 34 62 63 65 37 30 62 62 33 33 66 31 62  96f4bce70bb33f1b
c210: 61 30 32 32 63 64 61 62 61 30 66 32 35 64 35 35  a022cdaba0f25d55
c220: 66 61 30 33 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79  fa031]} \..-body
c230: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
c240: 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d  igest SHA3-256 -
c250: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
c260: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
c270: 75 6c 74 20 66 37 63 39 32 61 33 66 62 37 66 31  ult f7c92a3fb7f1
c280: 38 30 33 37 30 64 36 32 38 62 65 37 38 64 65 38  80370d628be78de8
c290: 37 34 64 36 39 33 66 37 34 63 63 63 37 61 35 34  74d693f74ccc7a54
c2a0: 63 37 34 31 36 33 34 32 35 38 64 38 63 35 31 32  c741634258d8c512
c2b0: 66 64 37 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  fd7f..tcltest::t
c2c0: 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35  est Hash_SHA3-25
c2d0: 36 2d 32 2e 31 32 39 20 7b 53 48 41 33 5f 32 35  6-2.129 {SHA3_25
c2e0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
c2f0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f  onstraints SHA3_
c300: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
c310: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
c320: 64 65 63 6f 64 65 20 68 65 78 20 38 34 62 36 30  decode hex 84b60
c330: 63 62 33 37 32 30 62 66 32 39 37 34 38 34 38 33  cb3720bf29748483
c340: 63 66 37 61 62 64 30 64 31 66 31 64 39 33 38 30  cf7abd0d1f1d9380
c350: 34 35 39 64 66 61 39 36 38 34 36 30 63 38 36 65  459dfa968460c86e
c360: 35 64 31 61 35 34 66 30 62 31 39 64 61 63 36 61  5d1a54f0b19dac6a
c370: 37 38 62 66 39 35 30 39 34 36 30 65 32 39 64 64  78bf9509460e29dd
c380: 34 36 36 62 62 38 62 64 66 30 34 65 35 34 38 33  466bb8bdf04e5483
c390: 62 37 38 32 65 62 37 34 64 36 34 34 38 31 36 36  b782eb74d6448166
c3a0: 66 38 39 37 61 64 64 34 33 64 32 39 35 65 39 34  f897add43d295e94
c3b0: 36 39 34 32 61 64 39 61 38 31 34 66 61 62 39 35  6942ad9a814fab95
c3c0: 62 34 61 61 65 64 65 36 61 65 34 63 38 31 30 38  b4aaede6ae4c8108
c3d0: 63 38 65 64 61 65 66 66 39 37 31 66 35 38 66 37  c8edaeff971f58f7
c3e0: 63 66 39 36 35 36 36 63 39 64 63 39 62 36 38 31  cf96566c9dc9b681
c3f0: 32 35 38 36 62 37 30 64 35 62 63 37 38 65 32 66  2586b70d5bc78e2f
c400: 38 32 39 65 63 38 65 31 37 39 61 36 63 64 38 31  829ec8e179a6cd81
c410: 64 32 32 34 62 31 36 31 31 37 35 66 64 33 61 33  d224b161175fd3a3
c420: 33 61 61 63 66 62 31 34 38 33 66 5d 7d 20 5c 0a  3aacfb1483f]} \.
c430: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
c440: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33  est -digest SHA3
c450: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
c460: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
c470: 74 20 2d 72 65 73 75 6c 74 20 38 38 31 34 36 33  t -result 881463
c480: 30 61 33 39 64 63 62 39 39 37 39 32 63 63 34 65  0a39dcb99792cc4e
c490: 30 38 63 61 65 35 64 64 30 37 38 39 37 33 64 31  08cae5dd078973d1
c4a0: 35 63 64 31 39 66 31 37 62 61 63 66 30 34 64 65  5cd19f17bacf04de
c4b0: 64 61 39 65 36 32 63 34 35 66 0a 0a 74 63 6c 74  da9e62c45f..tclt
c4c0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
c4d0: 48 41 33 2d 32 35 36 2d 32 2e 31 33 30 20 7b 53  HA3-256-2.130 {S
c4e0: 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  HA3_256ShortMsg}
c4f0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
c500: 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65   SHA3_256 \..-se
c510: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
c520: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
c530: 20 31 34 33 36 35 64 33 33 30 31 31 35 30 64 37   14365d3301150d7
c540: 63 35 62 61 36 62 62 38 63 31 66 63 32 36 65 39  c5ba6bb8c1fc26e9
c550: 64 61 62 32 31 38 66 63 35 64 30 31 63 39 65 64  dab218fc5d01c9ed
c560: 35 32 38 62 37 32 34 38 32 61 61 64 65 65 39 63  528b72482aadee9c
c570: 32 37 62 65 66 36 36 37 39 30 37 37 39 37 64 35  27bef667907797d5
c580: 35 35 31 34 34 36 38 66 36 38 37 39 31 66 30 35  5514468f68791f05
c590: 33 64 61 61 32 64 66 35 39 38 64 37 64 62 37 64  3daa2df598d7db7d
c5a0: 35 34 62 65 65 61 34 39 33 62 64 63 62 62 30 63  54beea493bdcbb0c
c5b0: 37 35 63 37 62 33 36 61 64 38 34 62 39 39 39 36  75c7b36ad84b9996
c5c0: 64 63 61 39 36 33 35 34 31 39 30 62 64 39 36 64  dca96354190bd96d
c5d0: 39 64 37 66 62 65 38 66 66 35 34 66 66 61 66 37  9d7fbe8ff54ffaf7
c5e0: 37 63 35 35 65 62 39 32 39 38 35 64 61 35 30 38  7c55eb92985da508
c5f0: 32 35 65 65 33 62 34 31 37 39 66 35 65 63 38 38  25ee3b4179f5ec88
c600: 62 36 66 61 36 30 62 62 33 36 31 64 30 63 61 66  b6fa60bb361d0caf
c610: 39 34 39 33 34 39 34 66 65 34 64 32 38 65 66 38  9493494fe4d28ef8
c620: 34 33 66 30 66 34 39 38 61 32 61 39 33 33 31 62  43f0f498a2a9331b
c630: 38 32 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  82a]} \..-body {
c640: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
c650: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
c660: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
c670: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
c680: 74 20 39 62 36 39 30 35 33 31 64 65 65 39 34 38  t 9b690531dee948
c690: 61 39 63 35 35 39 61 32 65 30 65 66 61 62 32 65  a9c559a2e0efab2e
c6a0: 63 38 32 34 31 35 31 61 39 31 37 35 66 32 37 33  c824151a9175f273
c6b0: 30 61 30 33 30 62 37 34 38 64 30 37 63 62 61 61  0a030b748d07cbaa
c6c0: 37 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  7f..tcltest::tes
c6d0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
c6e0: 32 2e 31 33 31 20 7b 53 48 41 33 5f 32 35 36 53  2.131 {SHA3_256S
c6f0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
c700: 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35  straints SHA3_25
c710: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
c720: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
c730: 63 6f 64 65 20 68 65 78 20 34 61 37 35 37 64 62  code hex 4a757db
c740: 39 33 66 36 64 34 63 36 35 32 39 32 31 31 64 37  93f6d4c6529211d7
c750: 30 64 35 66 38 34 39 31 37 39 39 63 30 66 37 33  0d5f8491799c0f73
c760: 61 65 37 66 32 34 62 62 64 32 31 33 38 64 62 32  ae7f24bbd2138db2
c770: 65 61 66 32 63 36 33 61 38 35 30 36 33 62 39 66  eaf2c63a85063b9f
c780: 37 61 64 61 61 30 33 66 63 33 34 38 66 32 37 35  7adaa03fc348f275
c790: 33 32 33 32 34 38 33 33 34 65 33 66 66 64 66 39  323248334e3ffdf9
c7a0: 37 39 38 38 35 39 66 39 63 66 36 36 39 33 64 32  798859f9cf6693d2
c7b0: 39 35 36 36 66 66 37 64 35 30 39 37 36 63 35 30  9566ff7d50976c50
c7c0: 35 65 63 62 35 38 65 35 34 33 63 34 35 39 62 33  5ecb58e543c459b3
c7d0: 39 61 63 64 66 34 63 65 34 62 35 65 38 30 61 36  9acdf4ce4b5e80a6
c7e0: 38 32 65 61 61 37 63 31 66 31 63 65 35 66 65 34  82eaa7c1f1ce5fe4
c7f0: 61 63 62 38 36 34 66 66 39 31 65 62 36 38 39 32  acb864ff91eb6892
c800: 62 32 33 31 36 35 37 33 35 65 61 34 39 36 32 36  b23165735ea49626
c810: 38 39 38 62 34 30 63 65 65 62 37 38 31 36 31 66  898b40ceeb78161f
c820: 35 64 30 65 61 34 61 31 30 33 63 62 34 30 34 64  5d0ea4a103cb404d
c830: 39 33 37 66 39 64 31 64 63 33 36 32 62 5d 7d 20  937f9d1dc362b]} 
c840: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
c850: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
c860: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
c870: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
c880: 61 63 74 20 2d 72 65 73 75 6c 74 20 31 61 63 37  act -result 1ac7
c890: 63 63 37 65 32 65 38 65 61 31 34 66 62 31 62 39  cc7e2e8ea14fb1b9
c8a0: 30 30 39 36 66 34 31 32 36 35 31 30 30 37 31 32  0096f41265100712
c8b0: 63 35 64 64 34 31 35 31 39 64 37 38 62 32 37 38  c5dd41519d78b278
c8c0: 36 63 66 62 36 33 35 35 61 66 37 32 0a 0a 74 63  6cfb6355af72..tc
c8d0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
c8e0: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 33 32 20  _SHA3-256-2.132 
c8f0: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
c900: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
c910: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
c920: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
c930: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
c940: 65 78 20 64 61 31 31 63 33 39 63 37 37 32 35 30  ex da11c39c77250
c950: 66 36 32 36 34 64 64 61 34 62 30 39 36 33 34 31  f6264dda4b096341
c960: 66 66 39 63 34 63 63 32 63 39 30 30 36 33 33 62  ff9c4cc2c900633b
c970: 32 30 65 61 31 36 36 34 62 66 33 32 31 39 33 66  20ea1664bf32193f
c980: 37 39 30 61 39 32 33 31 31 32 34 38 38 66 38 38  790a923112488f88
c990: 32 34 35 30 63 66 33 33 34 38 31 39 62 62 61 63  2450cf334819bbac
c9a0: 61 34 36 66 66 62 38 38 65 66 66 30 32 36 35 61  a46ffb88eff0265a
c9b0: 61 38 30 33 62 63 37 39 63 61 34 32 37 33 39 65  a803bc79ca42739e
c9c0: 34 33 34 37 63 36 62 66 66 30 62 62 39 61 61 39  4347c6bff0bb9aa9
c9d0: 39 37 38 30 32 36 31 66 66 65 34 32 62 65 30 64  9780261ffe42be0d
c9e0: 33 62 35 31 33 35 64 30 33 37 32 33 33 33 38 66  3b5135d03723338f
c9f0: 62 32 37 37 36 38 34 31 61 30 62 34 62 63 32 36  b2776841a0b4bc26
ca00: 33 36 30 66 39 65 66 37 36 39 62 33 34 63 32 62  360f9ef769b34c2b
ca10: 65 63 35 65 64 32 66 65 62 32 31 36 65 32 66 61  ec5ed2feb216e2fa
ca20: 33 30 66 61 35 63 33 37 34 33 30 63 30 33 36 30  30fa5c37430c0360
ca30: 65 63 62 66 62 61 33 61 66 36 66 62 36 62 38 64  ecbfba3af6fb6b8d
ca40: 65 64 61 63 62 62 39 35 63 5d 7d 20 5c 0a 09 2d  edacbb95c]} \..-
ca50: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
ca60: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
ca70: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
ca80: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
ca90: 2d 72 65 73 75 6c 74 20 63 31 36 33 63 64 34 33  -result c163cd43
caa0: 64 65 32 32 34 61 63 35 63 32 36 32 61 65 33 39  de224ac5c262ae39
cab0: 64 62 37 34 36 63 66 63 61 64 36 36 30 37 34 65  db746cfcad66074e
cac0: 62 61 65 63 34 61 36 64 61 32 33 64 38 36 62 33  baec4a6da23d86b3
cad0: 31 30 35 32 30 66 32 31 0a 0a 74 63 6c 74 65 73  10520f21..tcltes
cae0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
caf0: 33 2d 32 35 36 2d 32 2e 31 33 33 20 7b 53 48 41  3-256-2.133 {SHA
cb00: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
cb10: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
cb20: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
cb30: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
cb40: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33  ary decode hex 3
cb50: 33 34 31 63 61 30 32 30 64 34 38 33 35 38 33 38  341ca020d4835838
cb60: 62 30 64 36 63 38 66 39 33 61 61 61 65 62 62 37  b0d6c8f93aaaebb7
cb70: 61 66 36 30 37 33 30 64 32 30 38 63 38 35 32 38  af60730d208c8528
cb80: 33 66 36 33 36 39 66 31 65 65 32 37 66 64 39 36  3f6369f1ee27fd96
cb90: 64 33 38 66 32 36 37 34 66 33 31 36 65 66 39 63  d38f2674f316ef9c
cba0: 32 39 63 31 62 36 62 34 32 64 64 35 39 65 63 35  29c1b6b42dd59ec5
cbb0: 32 33 36 66 36 35 66 35 38 34 35 61 34 30 31 61  236f65f5845a401a
cbc0: 64 63 65 61 61 34 63 66 35 62 62 64 39 31 63 61  dceaa4cf5bbd91ca
cbd0: 63 36 31 63 32 31 31 30 32 30 35 32 36 33 34 65  c61c21102052634e
cbe0: 39 39 66 61 65 64 64 36 63 64 64 64 63 64 34 34  99faedd6cdddcd44
cbf0: 32 36 62 34 32 62 36 61 33 37 32 66 32 39 61 35  26b42b6a372f29a5
cc00: 61 35 66 33 35 66 35 31 63 65 35 38 30 62 62 31  a5f35f51ce580bb1
cc10: 38 34 35 61 33 63 37 63 66 63 64 34 34 37 64 32  845a3c7cfcd447d2
cc20: 36 39 65 38 63 61 65 62 39 62 33 32 30 62 62 37  69e8caeb9b320bb7
cc30: 33 31 66 35 33 66 65 35 63 39 36 39 61 36 35 62  31f53fe5c969a65b
cc40: 31 32 66 34 30 36 30 33 61 36 38 35 61 66 65 64  12f40603a685afed
cc50: 38 36 62 66 65 35 33 5d 7d 20 5c 0a 09 2d 62 6f  86bfe53]} \..-bo
cc60: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
cc70: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
cc80: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
cc90: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
cca0: 65 73 75 6c 74 20 36 63 33 65 39 33 66 32 62 34  esult 6c3e93f2b4
ccb0: 39 66 34 39 33 33 34 34 63 63 33 65 62 31 65 39  9f493344cc3eb1e9
ccc0: 34 35 34 66 37 39 33 36 33 30 33 32 62 65 65 65  454f79363032beee
ccd0: 32 66 37 65 61 36 35 62 33 64 39 39 34 62 35 63  2f7ea65b3d994b5c
cce0: 61 65 34 33 38 66 0a 0a 74 63 6c 74 65 73 74 3a  ae438f..tcltest:
ccf0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
cd00: 32 35 36 2d 32 2e 31 33 34 20 7b 53 48 41 33 5f  256-2.134 {SHA3_
cd10: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
cd20: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
cd30: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
cd40: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
cd50: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 38 39  y decode hex 989
cd60: 66 63 34 39 35 39 34 61 66 63 37 33 34 30 35 62  fc49594afc73405b
cd70: 61 63 65 65 34 64 62 62 65 37 31 33 35 38 30 34  acee4dbbe7135804
cd80: 66 38 30 30 33 36 38 64 65 33 39 65 32 65 61 33  f800368de39e2ea3
cd90: 62 62 65 63 30 34 65 35 39 63 36 63 35 32 37 35  bbec04e59c6c5275
cda0: 32 39 32 37 65 65 33 61 61 32 33 33 62 61 30 64  2927ee3aa233ba0d
cdb0: 38 61 61 62 35 34 31 30 32 34 30 66 34 63 31 30  8aab5410240f4c10
cdc0: 39 64 37 37 30 63 38 63 35 37 30 37 37 37 63 39  9d770c8c570777c9
cdd0: 32 38 66 63 65 39 61 30 62 65 63 39 62 63 35 31  28fce9a0bec9bc51
cde0: 35 36 63 38 32 31 65 32 30 34 66 30 66 31 34 61  56c821e204f0f14a
cdf0: 39 61 62 35 34 37 65 30 33 31 39 64 33 65 37 35  9ab547e0319d3e75
ce00: 38 61 65 39 65 32 38 65 62 32 64 62 63 33 64 39  8ae9e28eb2dbc3d9
ce10: 66 37 61 63 66 35 31 62 64 35 32 66 34 31 62 66  f7acf51bd52f41bf
ce20: 32 33 61 65 62 36 64 39 37 62 35 37 38 30 61 33  23aeb6d97b5780a3
ce30: 35 62 61 30 38 62 39 34 39 36 35 39 38 39 37 34  5ba08b9496598974
ce40: 34 65 64 64 33 62 31 64 36 64 36 37 61 64 32 36  4edd3b1d6d67ad26
ce50: 63 36 38 30 39 39 61 66 38 35 66 39 38 64 30 66  c68099af85f98d0f
ce60: 30 65 34 66 66 66 39 5d 7d 20 5c 0a 09 2d 62 6f  0e4fff9]} \..-bo
ce70: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
ce80: 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36  -digest SHA3-256
ce90: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
cea0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
ceb0: 65 73 75 6c 74 20 62 31 30 61 64 65 62 36 61 39  esult b10adeb6a9
cec0: 33 39 35 61 34 38 37 38 38 39 33 31 64 34 35 61  395a48788931d45a
ced0: 37 62 34 65 34 66 36 39 33 30 30 61 37 36 64 38  7b4e4f69300a76d8
cee0: 62 37 31 36 63 34 30 63 36 31 34 63 33 31 31 33  b716c40c614c3113
cef0: 61 30 66 30 35 31 0a 0a 74 63 6c 74 65 73 74 3a  a0f051..tcltest:
cf00: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d  :test Hash_SHA3-
cf10: 32 35 36 2d 32 2e 31 33 35 20 7b 53 48 41 33 5f  256-2.135 {SHA3_
cf20: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
cf30: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
cf40: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
cf50: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
cf60: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 35 30  y decode hex e50
cf70: 32 32 66 34 63 37 64 66 65 32 64 62 64 32 30 37  22f4c7dfe2dbd207
cf80: 31 30 35 65 32 66 32 37 61 61 65 64 64 35 61 37  105e2f27aaedd5a7
cf90: 36 35 63 32 37 63 30 62 63 36 30 64 65 39 35 38  65c27c0bc60de958
cfa0: 62 34 39 36 30 39 34 34 30 35 30 31 38 34 38 63  b49609440501848c
cfb0: 63 66 33 39 38 63 66 36 36 64 66 65 38 64 64 37  cf398cf66dfe8dd7
cfc0: 64 31 33 31 65 30 34 66 31 34 33 32 66 33 32 38  d131e04f1432f328
cfd0: 32 37 61 30 35 37 62 38 39 30 34 64 32 31 38 65  27a057b8904d218e
cfe0: 36 38 62 61 33 62 30 33 39 38 30 33 38 64 37 35  68ba3b0398038d75
cff0: 35 62 64 31 33 64 35 66 31 36 38 63 66 61 38 61  5bd13d5f168cfa8a
d000: 31 31 61 62 33 34 63 30 35 34 30 38 37 33 39 34  11ab34c054087394
d010: 30 63 32 61 36 32 65 61 63 65 33 35 35 32 64 63  0c2a62eace3552dc
d020: 64 36 39 35 33 63 36 38 33 66 64 62 32 39 39 38  d6953c683fdb2998
d030: 33 64 34 65 34 31 37 30 37 38 66 31 39 38 38 63  3d4e417078f1988c
d040: 35 36 30 63 39 35 32 31 65 36 66 38 63 37 38 39  560c9521e6f8c789
d050: 39 37 63 33 32 36 31 38 66 63 35 31 30 64 62 32  97c32618fc510db2
d060: 38 32 61 39 38 35 66 38 36 38 66 32 64 39 37 33  82a985f868f2d973
d070: 66 38 32 33 35 31 64 31 31 5d 7d 20 5c 0a 09 2d  f82351d11]} \..-
d080: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
d090: 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32  t -digest SHA3-2
d0a0: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
d0b0: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
d0c0: 2d 72 65 73 75 6c 74 20 33 32 39 33 61 34 62 39  -result 3293a4b9
d0d0: 61 65 62 38 61 36 35 65 31 30 31 34 64 33 38 34  aeb8a65e1014d384
d0e0: 37 35 30 30 66 66 63 38 32 34 31 35 39 34 65 39  7500ffc8241594e9
d0f0: 63 34 35 36 34 63 62 64 37 63 65 39 37 38 62 66  c4564cbd7ce978bf
d100: 61 35 30 37 36 37 66 65 0a 0a 74 63 6c 74 65 73  a50767fe..tcltes
d110: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
d120: 33 2d 32 35 36 2d 32 2e 31 33 36 20 7b 53 48 41  3-256-2.136 {SHA
d130: 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  3_256ShortMsg} \
d140: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
d150: 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75  HA3_256 \..-setu
d160: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
d170: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 62  ary decode hex b
d180: 31 66 36 30 37 36 35 30 39 39 33 38 34 33 32 31  1f60765099384321
d190: 34 35 62 62 31 35 64 62 65 31 61 37 62 32 65 30  45bb15dbe1a7b2e0
d1a0: 30 37 39 33 34 62 65 35 66 37 35 33 39 30 38 62  07934be5f753908b
d1b0: 35 30 66 64 32 34 33 33 33 34 35 35 39 37 30 61  50fd24333455970a
d1c0: 37 34 32 39 66 32 66 66 62 64 32 38 62 64 36 66  7429f2ffbd28bd6f
d1d0: 65 31 38 30 34 63 34 36 38 38 33 31 31 66 33 31  e1804c4688311f31
d1e0: 38 66 65 33 66 63 64 39 66 36 37 34 34 34 31 30  8fe3fcd9f6744410
d1f0: 32 34 33 65 31 31 35 62 63 62 30 30 64 37 65 30  243e115bcb00d7e0
d200: 33 39 61 34 66 65 65 34 63 33 32 36 63 32 64 31  39a4fee4c326c2d1
d210: 31 39 63 34 32 61 62 64 32 65 38 66 34 31 35 35  19c42abd2e8f4155
d220: 61 34 34 34 37 32 36 34 33 37 30 34 63 63 30 62  a44472643704cc0b
d230: 63 37 32 34 30 33 62 38 61 38 61 62 30 66 64 34  c72403b8a8ab0fd4
d240: 64 36 38 65 30 34 61 30 35 39 64 36 65 35 65 64  d68e04a059d6e5ed
d250: 34 35 30 33 33 62 39 30 36 33 32 36 61 62 62 34  45033b906326abb4
d260: 65 62 34 31 34 37 30 35 32 37 37 39 62 61 64 36  eb4147052779bad6
d270: 61 30 33 62 35 35 63 61 35 62 64 38 62 31 34 30  a03b55ca5bd8b140
d280: 65 31 33 31 62 65 64 32 64 66 61 64 61 5d 7d 20  e131bed2dfada]} 
d290: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
d2a0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
d2b0: 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  A3-256 -data $da
d2c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
d2d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 38 32 64  act -result f82d
d2e0: 39 36 30 32 62 32 33 31 64 33 33 32 64 39 30 32  9602b231d332d902
d2f0: 63 62 36 34 33 36 62 31 35 61 65 66 38 39 61 63  cb6436b15aef89ac
d300: 63 35 39 31 63 62 38 36 32 36 32 33 33 63 65 64  c591cb8626233ced
d310: 32 30 63 30 61 36 65 38 30 64 37 61 0a 0a 74 63  20c0a6e80d7a..tc
d320: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
d330: 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 33 37 20  _SHA3-256-2.137 
d340: 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73  {SHA3_256ShortMs
d350: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
d360: 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d  ts SHA3_256 \..-
d370: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
d380: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
d390: 65 78 20 35 36 65 61 31 34 64 37 66 63 62 30 64  ex 56ea14d7fcb0d
d3a0: 62 37 34 38 66 66 36 34 39 61 61 61 35 64 30 61  b748ff649aaa5d0a
d3b0: 66 64 63 32 33 35 37 35 32 38 61 39 61 61 64 36  fdc2357528a9aad6
d3c0: 30 37 36 64 37 33 62 32 38 30 35 62 35 33 64 38  076d73b2805b53d8
d3d0: 39 65 37 33 36 38 31 61 62 66 61 64 32 36 62 65  9e73681abfad26be
d3e0: 65 36 63 30 66 33 64 32 30 32 31 35 32 39 35 66  e6c0f3d20215295f
d3f0: 33 35 34 66 35 33 38 61 65 38 30 39 39 30 64 32  354f538ae80990d2
d400: 32 38 31 62 65 36 64 65 30 66 36 39 31 39 61 61  281be6de0f6919aa
d410: 39 65 62 30 34 38 63 32 36 62 35 32 34 66 34 64  9eb048c26b524f4d
d420: 39 31 63 61 38 37 62 35 34 63 30 63 35 34 61 61  91ca87b54c0c54aa
d430: 39 62 35 34 61 64 30 32 31 37 31 65 38 62 66 33  9b54ad02171e8bf3
d440: 31 65 38 64 31 35 38 61 39 66 35 38 36 65 39 32  1e8d158a9f586e92
d450: 66 66 63 65 39 39 34 65 63 63 65 39 61 35 31 38  ffce994ecce9a518
d460: 35 63 63 38 30 33 36 34 64 35 30 61 36 66 37 62  5cc80364d50a6f7b
d470: 39 34 38 34 39 61 39 31 34 32 34 32 66 63 62 37  94849a914242fcb7
d480: 33 66 33 33 61 38 36 65 63 63 38 33 63 33 34 30  3f33a86ecc83c340
d490: 33 36 33 30 64 32 30 36 35 30 64 64 62 38 63 64  3630d20650ddb8cd
d4a0: 39 63 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  9c4]} \..-body {
d4b0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
d4c0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
d4d0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
d4e0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
d4f0: 74 20 34 62 65 61 65 33 35 31 35 62 61 33 35 65  t 4beae3515ba35e
d500: 63 38 63 62 64 31 64 39 34 35 36 37 65 32 32 62  c8cbd1d94567e22b
d510: 30 64 37 38 30 39 63 34 36 36 61 62 66 62 61 66  0d7809c466abfbaf
d520: 65 39 36 31 30 33 34 39 35 39 37 62 61 31 35 62  e9610349597ba15b
d530: 34 35 0a 0a 23 20 43 6c 65 61 6e 75 70 0a 3a 3a  45..# Cleanup.::
d540: 74 63 6c 74 65 73 74 3a 3a 63 6c 65 61 6e 75 70  tcltest::cleanup
d550: 54 65 73 74 73 0a 72 65 74 75 72 6e 0a           Tests.return.