Hex Artifact Content

Artifact f903bbd26a42887daef435c4bbeb82934ae58a96999ce9c639bdb5af3423b71c:


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 6c 61 70  hortMsg.rsp".lap
0030: 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 5b  pend auto_path [
0040: 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69  file dirname [fi
0050: 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65  le dirname [file
0060: 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64   dirname [file d
0070: 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69  irname [file joi
0080: 6e 20 5b 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63  n [pwd] [info sc
0090: 72 69 70 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61  ript]]]]]].packa
00a0: 67 65 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70  ge require tls.p
00b0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 74  ackage require t
00c0: 63 6c 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a  cltest..tcltest:
00d0: 3a 74 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20  :testConstraint 
00e0: 53 48 41 33 5f 32 35 36 20 5b 65 78 70 72 20 7b  SHA3_256 [expr {
00f0: 5b 6c 73 65 61 72 63 68 20 2d 6e 6f 63 61 73 65  [lsearch -nocase
0100: 20 5b 74 6c 73 3a 3a 64 69 67 65 73 74 73 5d 20   [tls::digests] 
0110: 53 48 41 33 2d 32 35 36 5d 20 3e 20 2d 31 7d 5d  SHA3-256] > -1}]
0120: 0a 63 61 74 63 68 20 7b 74 6c 73 3a 3a 70 72 6f  .catch {tls::pro
0130: 76 69 64 65 72 20 6c 65 67 61 63 79 7d 0a 0a 74  vider legacy}..t
0140: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0150: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 20 7b  h_SHA3-256-2.1 {
0160: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
0170: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0180: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
0190: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 22  etup {set data "
01a0: 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  "} \..-body {tls
01b0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
01c0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
01d0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
01e0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61   exact -result a
01f0: 37 66 66 63 36 66 38 62 66 31 65 64 37 36 36 35  7ffc6f8bf1ed7665
0200: 31 63 31 34 37 35 36 61 30 36 31 64 36 36 32 66  1c14756a061d662f
0210: 35 38 30 66 66 34 64 65 34 33 62 34 39 66 61 38  580ff4de43b49fa8
0220: 32 64 38 30 61 34 62 38 30 66 38 34 33 34 61 0a  2d80a4b80f8434a.
0230: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
0240: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32  ash_SHA3-256-2.2
0250: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
0260: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0270: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
0280: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
0290: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
02a0: 68 65 78 20 65 39 5d 7d 20 5c 0a 09 2d 62 6f 64  hex e9]} \..-bod
02b0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
02c0: 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20  digest SHA3-256 
02d0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
02e0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
02f0: 73 75 6c 74 20 66 30 64 30 34 64 64 31 65 36 63  sult f0d04dd1e6c
0300: 66 63 32 39 61 34 34 36 30 64 35 32 31 37 39 36  fc29a4460d521796
0310: 38 35 32 66 32 35 64 39 65 66 38 64 32 38 62 34  852f25d9ef8d28b4
0320: 34 65 65 39 31 66 66 35 62 37 35 39 64 37 32 63  4ee91ff5b759d72c
0330: 31 65 36 64 36 0a 0a 74 63 6c 74 65 73 74 3a 3a  1e6d6..tcltest::
0340: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32  test Hash_SHA3-2
0350: 35 36 2d 32 2e 33 20 7b 53 48 41 33 5f 32 35 36  56-2.3 {SHA3_256
0360: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
0370: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
0380: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
0390: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
03a0: 65 63 6f 64 65 20 68 65 78 20 64 34 37 37 5d 7d  ecode hex d477]}
03b0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
03c0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
03d0: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
03e0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
03f0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 34 32  xact -result 942
0400: 37 39 65 38 66 35 63 63 64 66 36 65 31 37 66 32  79e8f5ccdf6e17f2
0410: 39 32 62 35 39 36 39 38 61 62 34 65 36 31 34 64  92b59698ab4e614d
0420: 66 65 36 39 36 61 34 36 63 34 36 64 61 37 38 33  fe696a46c46da783
0430: 30 35 66 63 36 61 33 31 34 36 61 62 37 0a 0a 74  05fc6a3146ab7..t
0440: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0450: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34 20 7b  h_SHA3-256-2.4 {
0460: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
0470: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0480: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
0490: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
04a0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
04b0: 78 20 62 30 35 33 66 61 5d 7d 20 5c 0a 09 2d 62  x b053fa]} \..-b
04c0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
04d0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
04e0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
04f0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0500: 72 65 73 75 6c 74 20 39 64 30 66 66 30 38 36 63  result 9d0ff086c
0510: 64 30 65 63 30 36 61 36 38 32 63 35 31 63 30 39  d0ec06a682c51c09
0520: 34 64 63 37 33 61 62 64 63 34 39 32 30 30 34 32  4dc73abdc4920042
0530: 39 32 33 34 34 62 64 34 31 62 38 32 61 36 30 34  92344bd41b82a604
0540: 39 38 63 63 66 64 62 0a 0a 74 63 6c 74 65 73 74  98ccfdb..tcltest
0550: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0560: 2d 32 35 36 2d 32 2e 35 20 7b 53 48 41 33 5f 32  -256-2.5 {SHA3_2
0570: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
0580: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
0590: 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _256 \..-setup {
05a0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
05b0: 20 64 65 63 6f 64 65 20 68 65 78 20 65 37 33 37   decode hex e737
05c0: 32 31 30 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  2105]} \..-body 
05d0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
05e0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
05f0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0600: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0610: 6c 74 20 33 61 34 32 62 36 38 61 62 30 37 39 66  lt 3a42b68ab079f
0620: 32 38 63 34 63 61 33 63 37 35 32 32 39 36 66 32  28c4ca3c752296f2
0630: 37 39 30 30 36 63 34 66 65 37 38 62 31 65 62 37  79006c4fe78b1eb7
0640: 39 64 39 38 39 37 37 37 66 30 35 31 65 34 30 34  9d989777f051e404
0650: 36 61 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  6ae..tcltest::te
0660: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
0670: 2d 32 2e 36 20 7b 53 48 41 33 5f 32 35 36 53 68  -2.6 {SHA3_256Sh
0680: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
0690: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
06a0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
06b0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
06c0: 6f 64 65 20 68 65 78 20 30 32 39 36 66 32 63 34  ode hex 0296f2c4
06d0: 30 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  0a]} \..-body {t
06e0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
06f0: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
0700: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
0710: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
0720: 20 35 33 61 30 31 38 39 33 37 32 32 31 30 38 31   53a018937221081
0730: 64 30 39 65 64 30 34 39 37 33 37 37 65 33 32 61  d09ed0497377e32a
0740: 31 66 61 37 32 34 30 32 35 64 66 64 63 31 38 37  1fa724025dfdc187
0750: 31 66 61 35 30 33 64 35 34 35 64 66 34 62 34 30  1fa503d545df4b40
0760: 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  d..tcltest::test
0770: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
0780: 2e 37 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  .7 {SHA3_256Shor
0790: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
07a0: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
07b0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
07c0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
07d0: 65 20 68 65 78 20 65 36 66 64 34 32 30 33 37 66  e hex e6fd42037f
07e0: 38 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  80]} \..-body {t
07f0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
0800: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
0810: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
0820: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
0830: 20 32 32 39 34 66 38 64 33 38 33 34 66 32 34 61   2294f8d3834f24a
0840: 61 39 30 33 37 63 34 33 31 66 38 63 32 33 33 61  a9037c431f8c233a
0850: 36 36 61 35 37 62 32 33 66 61 33 64 65 31 30 35  66a57b23fa3de105
0860: 33 30 62 62 62 36 39 31 31 66 36 65 31 38 35 30  30bbb6911f6e1850
0870: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
0880: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
0890: 2e 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  .8 {SHA3_256Shor
08a0: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
08b0: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
08c0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
08d0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
08e0: 65 20 68 65 78 20 33 37 62 34 34 32 33 38 35 65  e hex 37b442385e
08f0: 30 35 33 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  0538]} \..-body 
0900: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0910: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
0920: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0930: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0940: 6c 74 20 63 66 61 35 35 30 33 31 65 37 31 36 62  lt cfa55031e716b
0950: 62 64 37 61 38 33 66 32 31 35 37 35 31 33 30 39  bd7a83f215751309
0960: 39 65 32 32 39 61 38 38 38 39 31 62 62 38 39 39  9e229a88891bb899
0970: 64 39 63 63 64 33 31 37 31 39 31 38 31 39 39 39  d9ccd31719181999
0980: 38 66 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  8f8..tcltest::te
0990: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
09a0: 2d 32 2e 39 20 7b 53 48 41 33 5f 32 35 36 53 68  -2.9 {SHA3_256Sh
09b0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
09c0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
09d0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
09e0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
09f0: 6f 64 65 20 68 65 78 20 38 62 63 61 39 33 31 63  ode hex 8bca931c
0a00: 38 61 31 33 32 64 32 66 5d 7d 20 5c 0a 09 2d 62  8a132d2f]} \..-b
0a10: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0a20: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
0a30: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
0a40: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0a50: 72 65 73 75 6c 74 20 64 62 62 38 62 65 35 64 65  result dbb8be5de
0a60: 63 31 64 37 31 35 62 64 31 31 37 62 32 34 35 36  c1d715bd117b2456
0a70: 36 64 63 33 66 32 34 66 32 63 63 30 63 37 39 39  6dc3f24f2cc0c799
0a80: 37 39 35 64 30 36 33 38 64 39 35 33 37 34 38 31  795d0638d9537481
0a90: 65 66 31 65 30 33 65 0a 0a 74 63 6c 74 65 73 74  ef1e03e..tcltest
0aa0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0ab0: 2d 32 35 36 2d 32 2e 31 30 20 7b 53 48 41 33 5f  -256-2.10 {SHA3_
0ac0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0ad0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0ae0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
0af0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0b00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 62 38  y decode hex fb8
0b10: 64 66 61 33 61 31 33 32 66 39 38 31 33 61 63 5d  dfa3a132f9813ac]
0b20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0b30: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0b40: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
0b50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0b60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 64  exact -result fd
0b70: 30 39 62 33 35 30 31 38 38 38 34 34 35 66 66 63  09b3501888445ffc
0b80: 38 63 33 62 62 39 35 64 31 30 36 34 34 30 63 65  8c3bb95d106440ce
0b90: 65 65 34 36 39 34 31 35 66 63 65 31 34 37 34 37  ee469415fce14747
0ba0: 34 33 32 37 33 30 39 34 33 30 36 65 32 65 0a 0a  43273094306e2e..
0bb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0bc0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 31  sh_SHA3-256-2.11
0bd0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
0be0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0bf0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
0c00: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
0c10: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0c20: 68 65 78 20 37 31 66 62 61 63 64 62 66 38 35 34  hex 71fbacdbf854
0c30: 31 37 37 39 63 32 34 61 5d 7d 20 5c 0a 09 2d 62  1779c24a]} \..-b
0c40: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0c50: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
0c60: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
0c70: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0c80: 72 65 73 75 6c 74 20 63 63 34 65 35 61 32 31 36  result cc4e5a216
0c90: 62 30 31 66 39 38 37 66 32 34 61 62 39 63 61 64  b01f987f24ab9cad
0ca0: 35 65 62 31 39 36 65 38 39 64 33 32 65 64 34 61  5eb196e89d32ed4a
0cb0: 61 63 38 35 61 63 62 37 32 37 65 31 38 65 34 30  ac85acb727e18e40
0cc0: 63 65 65 66 30 30 65 0a 0a 74 63 6c 74 65 73 74  ceef00e..tcltest
0cd0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0ce0: 2d 32 35 36 2d 32 2e 31 32 20 7b 53 48 41 33 5f  -256-2.12 {SHA3_
0cf0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0d00: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0d10: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
0d20: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0d30: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 65 38  y decode hex 7e8
0d40: 66 31 66 64 31 38 38 32 65 34 61 37 63 34 39 65  f1fd1882e4a7c49e
0d50: 36 37 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  674]} \..-body {
0d60: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
0d70: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
0d80: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0d90: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0da0: 74 20 37 39 62 65 66 37 38 63 37 38 61 61 37 31  t 79bef78c78aa71
0db0: 65 31 31 61 33 33 37 35 33 39 34 63 32 35 36 32  e11a3375394c2562
0dc0: 30 33 37 63 64 30 66 38 32 61 30 33 33 62 34 38  037cd0f82a033b48
0dd0: 61 36 63 63 39 33 32 63 63 34 33 33 35 38 66 64  a6cc932cc43358fd
0de0: 39 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  9e..tcltest::tes
0df0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
0e00: 32 2e 31 33 20 7b 53 48 41 33 5f 32 35 36 53 68  2.13 {SHA3_256Sh
0e10: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
0e20: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
0e30: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
0e40: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
0e50: 6f 64 65 20 68 65 78 20 35 63 35 36 61 36 62 31  ode hex 5c56a6b1
0e60: 38 63 33 39 65 36 36 65 31 62 37 61 39 39 33 61  8c39e66e1b7a993a
0e70: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
0e80: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
0e90: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
0ea0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
0eb0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62   exact -result b
0ec0: 36 39 37 35 35 36 63 62 33 30 64 36 64 66 34 34  697556cb30d6df44
0ed0: 38 65 65 33 38 62 39 37 33 63 62 36 39 34 32 35  8ee38b973cb69425
0ee0: 35 39 64 65 34 63 32 35 36 37 62 31 35 35 36 32  59de4c2567b15562
0ef0: 34 30 31 38 38 63 35 35 65 63 30 38 34 31 63 0a  40188c55ec0841c.
0f00: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
0f10: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
0f20: 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  4 {SHA3_256Short
0f30: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
0f40: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
0f50: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
0f60: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
0f70: 20 68 65 78 20 39 63 37 36 63 61 35 62 36 66 38   hex 9c76ca5b6f8
0f80: 64 31 32 31 32 64 38 65 36 38 39 36 61 64 38 5d  d1212d8e6896ad8]
0f90: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0fa0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0fb0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
0fc0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0fd0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 39  exact -result 69
0fe0: 64 66 63 33 61 32 35 38 36 35 66 33 35 33 35 66  dfc3a25865f3535f
0ff0: 31 38 62 34 61 37 62 64 39 63 30 63 36 39 64 37  18b4a7bd9c0c69d7
1000: 38 34 35 35 66 31 66 63 31 66 34 62 66 34 65 32  8455f1fc1f4bf4e2
1010: 39 66 63 38 32 62 66 33 32 38 31 38 65 63 0a 0a  9fc82bf32818ec..
1020: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1030: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 35  sh_SHA3-256-2.15
1040: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
1050: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1060: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
1070: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1080: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1090: 68 65 78 20 36 38 37 66 66 37 34 38 35 62 37 65  hex 687ff7485b7e
10a0: 62 35 31 66 65 32 30 38 66 36 66 66 39 61 31 62  b51fe208f6ff9a1b
10b0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
10c0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
10d0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
10e0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
10f0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66   exact -result f
1100: 65 37 65 36 38 61 65 33 65 31 61 39 31 39 34 34  e7e68ae3e1a91944
1110: 65 34 64 31 64 32 31 34 36 64 39 33 36 30 65 35  e4d1d2146d9360e5
1120: 33 33 33 63 30 39 39 61 32 35 36 66 33 37 31 31  333c099a256f3711
1130: 65 64 63 33 37 32 62 63 36 65 65 62 32 32 36 0a  edc372bc6eeb226.
1140: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1150: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
1160: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
1170: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1180: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
1190: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
11a0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
11b0: 20 68 65 78 20 34 31 34 39 66 34 31 62 65 31 64   hex 4149f41be1d
11c0: 32 36 35 65 36 36 38 63 35 33 36 62 38 35 64 64  265e668c536b85dd
11d0: 65 34 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  e41]} \..-body {
11e0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
11f0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
1200: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
1210: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1220: 74 20 32 32 39 61 37 37 30 32 34 34 38 63 36 34  t 229a7702448c64
1230: 30 66 35 35 64 61 66 65 64 30 38 61 35 32 61 61  0f55dafed08a52aa
1240: 30 62 31 31 33 39 36 35 37 62 61 39 66 63 34 63  0b1139657ba9fc4c
1250: 35 65 62 38 35 38 37 65 31 37 34 65 63 64 39 62  5eb8587e174ecd9b
1260: 39 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  92..tcltest::tes
1270: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
1280: 32 2e 31 37 20 7b 53 48 41 33 5f 32 35 36 53 68  2.17 {SHA3_256Sh
1290: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
12a0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
12b0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
12c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
12d0: 6f 64 65 20 68 65 78 20 64 38 33 63 37 32 31 65  ode hex d83c721e
12e0: 65 35 31 62 30 36 30 63 35 61 34 31 34 33 38 61  e51b060c5a41438a
12f0: 38 32 32 31 65 30 34 30 5d 7d 20 5c 0a 09 2d 62  8221e040]} \..-b
1300: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1310: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1320: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1330: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1340: 72 65 73 75 6c 74 20 62 38 37 64 39 65 34 37 32  result b87d9e472
1350: 32 65 64 64 33 39 31 38 37 32 39 64 65 64 39 61  2edd3918729ded9a
1360: 36 64 30 33 61 66 38 32 35 36 39 39 38 65 65 30  6d03af8256998ee0
1370: 38 38 61 31 61 65 36 36 32 65 66 34 62 63 61 66  88a1ae662ef4bcaf
1380: 66 31 34 32 61 39 36 0a 0a 74 63 6c 74 65 73 74  f142a96..tcltest
1390: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
13a0: 2d 32 35 36 2d 32 2e 31 38 20 7b 53 48 41 33 5f  -256-2.18 {SHA3_
13b0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
13c0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
13d0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
13e0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
13f0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 36 36  y decode hex 266
1400: 65 38 63 62 64 33 65 37 33 64 38 30 64 66 32 61  e8cbd3e73d80df2a
1410: 34 39 63 66 64 61 66 30 64 63 33 39 63 64 31 5d  49cfdaf0dc39cd1]
1420: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1430: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1440: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
1450: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1460: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 63  exact -result 6c
1470: 32 64 65 33 63 39 35 39 30 30 61 31 62 63 65 63  2de3c95900a1bcec
1480: 36 62 64 34 63 61 37 38 30 30 35 36 61 66 34 61  6bd4ca780056af4a
1490: 63 66 33 61 61 33 36 65 65 36 34 30 34 37 34 62  cf3aa36ee640474b
14a0: 36 65 38 37 30 31 38 37 66 35 39 33 36 31 0a 0a  6e870187f59361..
14b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
14c0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 39  sh_SHA3-256-2.19
14d0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
14e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
14f0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
1500: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1510: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1520: 68 65 78 20 61 31 64 37 63 65 35 31 30 34 65 62  hex a1d7ce5104eb
1530: 32 35 64 36 31 33 31 62 62 38 66 36 36 65 31 66  25d6131bb8f66e1f
1540: 62 31 33 66 33 35 32 33 5d 7d 20 5c 0a 09 2d 62  b13f3523]} \..-b
1550: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1560: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1570: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1580: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1590: 72 65 73 75 6c 74 20 65 65 39 30 36 32 66 33 39  result ee9062f39
15a0: 37 32 30 62 38 32 31 62 38 38 62 65 35 65 36 34  720b821b88be5e64
15b0: 36 32 31 64 37 65 30 63 61 30 32 36 61 39 66 65  621d7e0ca026a9fe
15c0: 37 32 34 38 64 37 38 31 35 30 62 31 34 62 64 62  7248d78150b14bdb
15d0: 61 61 34 30 62 65 64 0a 0a 74 63 6c 74 65 73 74  aa40bed..tcltest
15e0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
15f0: 2d 32 35 36 2d 32 2e 32 30 20 7b 53 48 41 33 5f  -256-2.20 {SHA3_
1600: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
1610: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1620: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
1630: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1640: 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 37 35  y decode hex d75
1650: 31 63 63 64 32 63 64 36 35 66 32 37 64 62 35 33  1ccd2cd65f27db53
1660: 39 31 37 36 39 32 30 61 37 30 30 35 37 61 30 38  9176920a70057a08
1670: 61 36 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  a6b]} \..-body {
1680: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
1690: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
16a0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
16b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
16c0: 74 20 37 61 61 63 61 38 30 64 62 65 62 38 64 63  t 7aaca80dbeb8dc
16d0: 33 36 37 37 64 31 38 62 38 34 37 39 35 39 38 35  3677d18b84795985
16e0: 34 36 33 36 35 30 64 37 32 66 32 35 34 33 65 30  463650d72f2543e0
16f0: 65 63 37 30 39 63 39 65 37 30 62 38 63 64 37 62  ec709c9e70b8cd7b
1700: 37 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  79..tcltest::tes
1710: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
1720: 32 2e 32 31 20 7b 53 48 41 33 5f 32 35 36 53 68  2.21 {SHA3_256Sh
1730: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1740: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
1750: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1760: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1770: 6f 64 65 20 68 65 78 20 62 33 32 64 65 63 35 38  ode hex b32dec58
1780: 38 36 35 61 62 37 34 36 31 34 65 61 39 38 32 65  865ab74614ea982e
1790: 66 62 39 33 63 30 38 64 39 61 63 62 31 62 62 30  fb93c08d9acb1bb0
17a0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
17b0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
17c0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
17d0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
17e0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36   exact -result 6
17f0: 61 31 32 65 35 33 35 64 62 66 64 64 61 62 36 64  a12e535dbfddab6d
1800: 33 37 34 30 35 38 64 39 32 33 33 38 65 37 36 30  374058d92338e760
1810: 62 31 61 32 31 31 34 35 31 61 36 63 30 39 62 65  b1a211451a6c09be
1820: 39 62 36 31 65 65 32 32 66 33 62 62 34 36 37 0a  9b61ee22f3bb467.
1830: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1840: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32  ash_SHA3-256-2.2
1850: 32 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  2 {SHA3_256Short
1860: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1870: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
1880: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1890: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
18a0: 20 68 65 78 20 34 65 30 63 63 34 66 35 63 36 64   hex 4e0cc4f5c6d
18b0: 63 66 30 65 32 65 66 63 61 31 66 39 66 31 32 39  cf0e2efca1f9f129
18c0: 33 37 32 65 32 64 63 62 63 61 35 37 65 61 36 5d  372e2dcbca57ea6]
18d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
18e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
18f0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
1900: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1910: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 32  exact -result d2
1920: 62 37 37 31 37 38 36 34 65 39 34 33 38 64 64 30  b7717864e9438dd0
1930: 32 61 34 66 38 62 62 30 32 30 33 62 37 37 65 32  2a4f8bb0203b77e2
1940: 64 33 63 64 38 66 38 66 66 63 66 39 64 63 36 38  d3cd8f8ffcf9dc68
1950: 34 65 36 33 64 65 35 65 66 33 39 66 30 64 0a 0a  4e63de5ef39f0d..
1960: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1970: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32 33  sh_SHA3-256-2.23
1980: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
1990: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
19a0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
19b0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
19c0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
19d0: 68 65 78 20 64 31 36 64 39 37 38 64 66 62 61 65  hex d16d978dfbae
19e0: 63 66 32 63 38 61 30 34 30 39 30 66 36 65 65 62  cf2c8a04090f6eeb
19f0: 64 62 34 32 31 61 35 61 37 31 31 31 33 37 61 36  db421a5a711137a6
1a00: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1a10: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1a20: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
1a30: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
1a40: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
1a50: 66 34 39 37 39 31 33 33 31 38 64 65 66 64 63 36  f497913318defdc6
1a60: 30 63 39 32 34 62 33 37 30 34 62 36 35 61 64 61  0c924b3704b65ada
1a70: 37 63 61 33 62 61 32 30 33 66 32 33 66 62 39 31  7ca3ba203f23fb91
1a80: 38 63 36 66 62 30 33 64 34 62 30 63 30 64 61 0a  8c6fb03d4b0c0da.
1a90: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1aa0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32  ash_SHA3-256-2.2
1ab0: 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  4 {SHA3_256Short
1ac0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1ad0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
1ae0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1af0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1b00: 20 68 65 78 20 34 37 32 34 39 63 37 63 62 38 35   hex 47249c7cb85
1b10: 64 38 66 30 32 34 32 61 62 32 34 30 65 66 64 31  d8f0242ab240efd1
1b20: 36 34 62 39 63 38 62 30 62 64 33 31 30 34 62 62  64b9c8b0bd3104bb
1b30: 61 33 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  a3b]} \..-body {
1b40: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
1b50: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
1b60: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
1b70: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1b80: 74 20 34 33 35 65 32 37 36 66 30 36 61 65 37 33  t 435e276f06ae73
1b90: 61 61 35 64 35 64 36 30 31 38 66 35 38 65 30 66  aa5d5d6018f58e0f
1ba0: 30 30 39 62 65 33 35 31 65 61 64 61 34 37 62 36  009be351eada47b6
1bb0: 37 37 63 32 66 37 63 30 36 34 35 35 66 33 38 34  77c2f7c06455f384
1bc0: 65 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  e7..tcltest::tes
1bd0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
1be0: 32 2e 32 35 20 7b 53 48 41 33 5f 32 35 36 53 68  2.25 {SHA3_256Sh
1bf0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1c00: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
1c10: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1c20: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1c30: 6f 64 65 20 68 65 78 20 63 66 35 34 39 61 33 38  ode hex cf549a38
1c40: 33 63 30 61 63 33 31 65 61 65 38 37 30 63 34 30  3c0ac31eae870c40
1c50: 38 36 37 65 65 62 39 34 66 61 31 62 36 66 33 63  867eeb94fa1b6f3c
1c60: 61 63 34 34 37 33 66 32 5d 7d 20 5c 0a 09 2d 62  ac4473f2]} \..-b
1c70: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1c80: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1c90: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1ca0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1cb0: 72 65 73 75 6c 74 20 63 64 66 64 31 61 66 61 37  result cdfd1afa7
1cc0: 39 33 65 34 38 66 64 30 65 65 35 62 33 34 64 66  93e48fd0ee5b34df
1cd0: 63 35 33 66 62 63 65 65 34 33 65 39 64 32 61 63  c53fbcee43e9d2ac
1ce0: 32 31 35 31 35 65 34 37 34 36 34 37 35 34 35 33  21515e4746475453
1cf0: 61 62 33 38 33 31 66 0a 0a 74 63 6c 74 65 73 74  ab3831f..tcltest
1d00: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
1d10: 2d 32 35 36 2d 32 2e 32 36 20 7b 53 48 41 33 5f  -256-2.26 {SHA3_
1d20: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
1d30: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1d40: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
1d50: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1d60: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 62 33  y decode hex 9b3
1d70: 66 64 66 38 64 34 34 38 36 38 30 38 34 30 64 36  fdf8d448680840d6
1d80: 32 38 34 66 32 39 39 37 64 33 61 66 35 35 66 66  284f2997d3af55ff
1d90: 64 38 35 66 36 66 34 62 33 33 64 37 66 38 64 5d  d85f6f4b33d7f8d]
1da0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1db0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1dc0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
1dd0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1de0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 35  exact -result 25
1df0: 30 30 35 64 31 30 65 38 34 66 66 39 37 63 37 34  005d10e84ff97c74
1e00: 61 35 38 39 30 31 33 62 65 34 32 66 62 33 37 66  a589013be42fb37f
1e10: 36 38 64 62 36 34 62 64 66 63 37 36 32 36 65 66  68db64bdfc7626ef
1e20: 63 30 64 64 36 32 38 30 37 37 34 39 33 61 0a 0a  c0dd628077493a..
1e30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1e40: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 32 37  sh_SHA3-256-2.27
1e50: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
1e60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1e70: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
1e80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1e90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1ea0: 68 65 78 20 36 62 32 32 66 65 39 34 62 65 32 64  hex 6b22fe94be2d
1eb0: 30 62 32 35 32 38 64 39 38 34 37 65 31 32 37 65  0b2528d9847e127e
1ec0: 62 36 63 37 64 36 39 36 37 65 37 65 63 38 62 39  b6c7d6967e7ec8b9
1ed0: 36 36 30 65 37 37 63 63 5d 7d 20 5c 0a 09 2d 62  660e77cc]} \..-b
1ee0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1ef0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
1f00: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
1f10: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1f20: 72 65 73 75 6c 74 20 31 35 37 61 35 32 62 30 34  result 157a52b04
1f30: 37 37 36 33 39 62 33 62 63 31 37 39 36 36 37 62  77639b3bc179667b
1f40: 33 35 63 31 63 64 66 62 62 33 65 65 66 38 34 35  35c1cdfbb3eef845
1f50: 65 34 34 38 36 66 30 66 38 34 61 35 32 36 65 39  e4486f0f84a526e9
1f60: 34 30 62 35 31 38 63 0a 0a 74 63 6c 74 65 73 74  40b518c..tcltest
1f70: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
1f80: 2d 32 35 36 2d 32 2e 32 38 20 7b 53 48 41 33 5f  -256-2.28 {SHA3_
1f90: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
1fa0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1fb0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
1fc0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1fd0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 38 64  y decode hex d8d
1fe0: 65 63 61 66 64 61 64 33 37 37 39 30 34 61 32 37  ecafdad377904a27
1ff0: 38 39 35 35 31 31 33 35 65 37 38 32 65 33 30 32  89551135e782e302
2000: 61 65 64 38 34 35 30 61 34 32 63 66 62 38 39 36  aed8450a42cfb896
2010: 30 30 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  00c]} \..-body {
2020: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2030: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
2040: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2050: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2060: 74 20 33 64 64 65 63 66 35 62 62 61 35 31 36 34  t 3ddecf5bba5164
2070: 33 63 64 37 37 65 62 64 65 32 31 34 31 63 38 35  3cd77ebde2141c85
2080: 34 35 66 38 36 32 30 36 37 62 32 30 39 39 39 30  45f862067b209990
2090: 64 34 63 62 36 35 62 66 61 36 35 66 34 66 61 30  d4cb65bfa65f4fa0
20a0: 63 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c0..tcltest::tes
20b0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
20c0: 32 2e 32 39 20 7b 53 48 41 33 5f 32 35 36 53 68  2.29 {SHA3_256Sh
20d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
20e0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
20f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2100: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2110: 6f 64 65 20 68 65 78 20 39 33 38 66 65 36 61 66  ode hex 938fe6af
2120: 64 62 66 31 34 64 31 32 32 39 65 30 33 35 37 36  dbf14d1229e03576
2130: 65 35 33 32 66 30 37 38 38 39 38 37 36 39 65 32  e532f078898769e2
2140: 30 36 32 30 61 65 32 31 36 34 66 35 61 62 66 61  0620ae2164f5abfa
2150: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2160: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2170: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
2180: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2190: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
21a0: 35 31 31 61 62 64 31 33 63 37 35 36 37 37 32 62  511abd13c756772b
21b0: 38 35 32 31 31 34 35 37 38 65 66 39 62 39 36 66  852114578ef9b96f
21c0: 39 64 63 37 64 30 66 32 62 38 64 63 64 65 36 65  9dc7d0f2b8dcde6e
21d0: 61 37 64 31 62 64 31 34 63 35 31 38 38 39 30 0a  a7d1bd14c518890.
21e0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
21f0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33  ash_SHA3-256-2.3
2200: 30 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  0 {SHA3_256Short
2210: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2220: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
2230: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2240: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2250: 20 68 65 78 20 36 36 65 62 35 65 37 33 39 36 66   hex 66eb5e7396f
2260: 35 62 34 35 31 61 30 32 66 33 39 36 39 39 64 61  5b451a02f39699da
2270: 34 64 62 63 35 30 35 33 38 66 62 31 30 36 37 38  4dbc50538fb10678
2280: 65 63 33 39 61 35 65 32 38 62 61 61 33 63 30 5d  ec39a5e28baa3c0]
2290: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
22a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
22b0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
22c0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
22d0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 34  exact -result 54
22e0: 30 61 63 66 38 31 38 31 30 61 31 39 39 39 39 36  0acf81810a199996
22f0: 61 36 31 32 65 38 38 35 37 38 31 33 30 38 38 30  a612e88578130880
2300: 32 66 65 34 36 30 65 39 63 36 33 38 63 63 30 32  2fe460e9c638cc02
2310: 32 65 31 37 30 37 36 62 65 38 35 39 37 61 0a 0a  2e17076be8597a..
2320: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
2330: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33 31  sh_SHA3-256-2.31
2340: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
2350: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2360: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
2370: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
2380: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
2390: 68 65 78 20 64 65 39 38 39 36 38 63 38 62 64 39  hex de98968c8bd9
23a0: 34 30 38 62 64 35 36 32 61 63 36 65 66 62 63 61  408bd562ac6efbca
23b0: 32 62 31 30 66 35 37 36 39 61 61 63 61 61 30 31  2b10f5769aacaa01
23c0: 33 36 35 37 36 33 65 31 62 32 63 65 38 30 34 38  365763e1b2ce8048
23d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
23e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
23f0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
2400: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2410: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36   exact -result 6
2420: 62 32 66 32 35 34 37 37 38 31 34 34 39 64 34 66  b2f2547781449d4f
2430: 61 31 35 38 31 38 30 61 31 37 38 65 66 36 38 64  a158180a178ef68d
2440: 37 30 35 36 31 32 31 62 66 38 61 32 66 32 66 34  7056121bf8a2f2f4
2450: 39 38 39 31 61 66 63 32 34 39 37 38 35 32 31 0a  9891afc24978521.
2460: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2470: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33  ash_SHA3-256-2.3
2480: 32 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  2 {SHA3_256Short
2490: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
24a0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
24b0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
24c0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
24d0: 20 68 65 78 20 39 34 34 36 34 65 38 66 61 66 64   hex 94464e8fafd
24e0: 38 32 66 36 33 30 65 36 61 61 62 39 61 61 33 33  82f630e6aab9aa33
24f0: 39 64 39 38 31 64 62 30 61 33 37 32 64 63 35 63  9d981db0a372dc5c
2500: 31 65 66 62 31 37 37 33 30 35 39 39 35 61 65 32  1efb177305995ae2
2510: 64 63 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  dc0]} \..-body {
2520: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2530: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
2540: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2550: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2560: 74 20 65 61 37 39 35 32 61 64 37 35 39 36 35 33  t ea7952ad759653
2570: 63 64 34 37 61 31 38 30 30 34 61 63 32 64 62 62  cd47a18004ac2dbb
2580: 39 63 66 34 61 31 65 37 62 62 61 38 61 35 33 30  9cf4a1e7bba8a530
2590: 63 66 30 37 30 35 37 30 63 37 31 31 61 36 33 34  cf070570c711a634
25a0: 65 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ea..tcltest::tes
25b0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
25c0: 32 2e 33 33 20 7b 53 48 41 33 5f 32 35 36 53 68  2.33 {SHA3_256Sh
25d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
25e0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
25f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2600: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2610: 6f 64 65 20 68 65 78 20 63 31 37 38 63 65 30 66  ode hex c178ce0f
2620: 37 32 30 61 36 64 37 33 63 36 63 66 31 63 61 61  720a6d73c6cf1caa
2630: 39 30 35 65 65 37 32 34 64 35 62 61 39 34 31 63  905ee724d5ba941c
2640: 32 65 32 36 32 38 31 33 36 65 33 61 61 64 37 64  2e2628136e3aad7d
2650: 38 35 33 37 33 33 62 61 5d 7d 20 5c 0a 09 2d 62  853733ba]} \..-b
2660: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2670: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
2680: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
2690: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
26a0: 72 65 73 75 6c 74 20 36 34 35 33 37 62 38 37 38  result 64537b878
26b0: 39 32 38 33 35 66 66 30 39 36 33 65 66 39 61 64  92835ff0963ef9ad
26c0: 35 31 34 35 61 62 34 63 66 63 65 35 64 33 30 33  5145ab4cfce5d303
26d0: 61 30 63 62 30 34 31 35 62 33 62 30 33 66 39 64  a0cb0415b3b03f9d
26e0: 31 36 65 37 64 36 62 0a 0a 74 63 6c 74 65 73 74  16e7d6b..tcltest
26f0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2700: 2d 32 35 36 2d 32 2e 33 34 20 7b 53 48 41 33 5f  -256-2.34 {SHA3_
2710: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
2720: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2730: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
2740: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2750: 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 65 66  y decode hex 6ef
2760: 37 30 61 33 61 32 31 66 39 66 37 64 63 34 31 63  70a3a21f9f7dc41c
2770: 35 35 33 63 39 62 37 65 66 37 30 64 62 38 32 63  553c9b7ef70db82c
2780: 61 36 39 39 34 61 63 38 39 62 33 36 32 37 64 61  a6994ac89b3627da
2790: 34 66 35 32 31 66 30 37 65 31 61 65 32 36 33 5d  4f521f07e1ae263]
27a0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
27b0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
27c0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
27d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
27e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 61  exact -result 0a
27f0: 66 65 30 33 62 31 37 35 61 31 63 39 34 38 39 36  fe03b175a1c94896
2800: 36 33 64 38 61 36 66 36 36 64 31 62 32 34 61 62  63d8a6f66d1b24ab
2810: 61 35 31 33 39 62 39 39 36 34 30 30 62 38 62 64  a5139b996400b8bd
2820: 33 64 30 65 31 61 37 39 35 38 30 65 34 64 0a 0a  3d0e1a79580e4d..
2830: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
2840: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33 35  sh_SHA3-256-2.35
2850: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
2860: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2870: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
2880: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
2890: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
28a0: 68 65 78 20 30 63 34 61 39 33 31 66 66 37 65 61  hex 0c4a931ff7ea
28b0: 63 65 35 65 61 37 63 64 38 64 32 61 36 37 36 31  ce5ea7cd8d2a6761
28c0: 39 34 30 38 33 38 66 33 30 65 34 33 63 35 64 31  940838f30e43c5d1
28d0: 32 35 33 32 39 39 61 62 64 31 62 64 39 30 33 66  253299abd1bd903f
28e0: 65 64 31 65 38 62 33 36 5d 7d 20 5c 0a 09 2d 62  ed1e8b36]} \..-b
28f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2900: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
2910: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
2920: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
2930: 72 65 73 75 6c 74 20 64 63 35 62 65 62 65 30 35  result dc5bebe05
2940: 63 34 39 39 34 39 36 61 37 65 62 66 65 30 34 33  c499496a7ebfe043
2950: 30 39 63 61 65 35 31 35 65 33 65 61 35 37 63 35  09cae515e3ea57c5
2960: 64 32 61 35 66 65 32 65 36 38 30 31 32 34 33 64  d2a5fe2e6801243d
2970: 64 35 32 63 39 33 62 0a 0a 74 63 6c 74 65 73 74  d52c93b..tcltest
2980: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2990: 2d 32 35 36 2d 32 2e 33 36 20 7b 53 48 41 33 5f  -256-2.36 {SHA3_
29a0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
29b0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
29c0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
29d0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
29e0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 31 30  y decode hex 210
29f0: 66 37 62 30 30 62 66 38 62 34 33 33 37 62 34 32  f7b00bf8b4337b42
2a00: 34 35 30 63 37 32 31 63 33 66 37 38 31 32 35 36  450c721c3f781256
2a10: 33 35 39 64 32 30 38 37 33 33 38 34 36 62 39 37  359d208733846b97
2a20: 63 30 61 34 62 37 62 30 34 34 63 33 38 64 62 62  c0a4b7b044c38dbb
2a30: 32 31 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  219]} \..-body {
2a40: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2a50: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
2a60: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2a70: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2a80: 74 20 33 33 30 35 63 39 64 32 38 65 30 35 32 38  t 3305c9d28e0528
2a90: 38 61 32 64 31 33 39 39 34 64 36 34 63 38 38 64  8a2d13994d64c88d
2aa0: 33 35 30 36 33 39 39 63 64 36 32 62 32 62 35 34  3506399cd62b2b54
2ab0: 34 32 31 33 63 66 33 35 33 39 61 38 65 39 32 65  4213cf3539a8e92e
2ac0: 32 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  2e..tcltest::tes
2ad0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
2ae0: 32 2e 33 37 20 7b 53 48 41 33 5f 32 35 36 53 68  2.37 {SHA3_256Sh
2af0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
2b00: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
2b10: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2b20: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2b30: 6f 64 65 20 68 65 78 20 33 63 62 38 39 39 32 37  ode hex 3cb89927
2b40: 35 39 65 32 64 63 36 30 65 62 62 30 32 32 62 64  59e2dc60ebb022bd
2b50: 38 65 65 32 37 66 30 66 39 38 30 33 39 65 36 61  8ee27f0f98039e6a
2b60: 39 66 65 33 36 30 33 37 33 62 34 38 63 37 38 35  9fe360373b48c785
2b70: 30 63 65 31 31 33 61 30 66 66 37 62 32 61 65 35  0ce113a0ff7b2ae5
2b80: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2b90: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2ba0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
2bb0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2bc0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
2bd0: 63 30 30 62 66 33 65 31 32 61 64 65 39 64 32 64  c00bf3e12ade9d2d
2be0: 65 32 37 35 36 35 30 36 66 38 30 39 66 31 34 37  e2756506f809f147
2bf0: 63 38 64 36 61 64 63 32 32 65 37 62 62 36 36 36  c8d6adc22e7bb666
2c00: 65 30 62 31 64 32 36 34 36 39 65 36 35 61 35 0a  e0b1d26469e65a5.
2c10: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2c20: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33  ash_SHA3-256-2.3
2c30: 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  8 {SHA3_256Short
2c40: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2c50: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
2c60: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2c70: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2c80: 20 68 65 78 20 32 32 36 33 34 66 36 62 61 37 62   hex 22634f6ba7b
2c90: 34 66 63 63 61 61 33 62 61 34 30 34 30 62 36 36  4fccaa3ba4040b66
2ca0: 34 64 62 65 35 61 37 32 62 66 33 39 34 66 62 35  4dbe5a72bf394fb5
2cb0: 33 34 65 34 39 63 37 36 65 63 34 63 64 63 32 32  34e49c76ec4cdc22
2cc0: 33 66 34 39 36 39 65 32 64 33 37 65 38 39 39 5d  3f4969e2d37e899]
2cd0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
2ce0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
2cf0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
2d00: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2d10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 38  exact -result a8
2d20: 37 65 35 63 37 38 38 33 37 64 37 62 65 30 30 36  7e5c78837d7be006
2d30: 30 64 38 66 35 65 64 61 39 37 35 34 38 39 65 63  0d8f5eda975489ec
2d40: 39 36 31 62 32 38 64 37 30 38 38 66 34 32 61 37  961b28d7088f42a7
2d50: 30 66 39 32 34 31 34 61 65 31 37 37 39 33 0a 0a  0f92414ae17793..
2d60: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
2d70: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 33 39  sh_SHA3-256-2.39
2d80: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
2d90: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2da0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
2db0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
2dc0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
2dd0: 68 65 78 20 36 65 31 64 63 64 37 39 36 62 32 30  hex 6e1dcd796b20
2de0: 31 35 65 65 36 37 36 30 66 39 38 66 64 62 34 30  15ee6760f98fdb40
2df0: 65 36 36 38 62 32 63 66 33 38 62 30 35 63 39 31  e668b2cf38b05c91
2e00: 66 36 61 39 31 65 38 33 62 63 63 38 61 63 35 39  f6a91e83bcc8ac59
2e10: 66 38 31 36 66 39 30 61 35 39 64 36 34 65 38 65  f816f90a59d64e8e
2e20: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2e30: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2e40: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
2e50: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2e60: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
2e70: 34 36 62 66 38 34 35 63 30 38 61 61 31 38 36 62  46bf845c08aa186b
2e80: 35 66 65 31 63 61 33 35 35 32 38 32 33 32 63 34  5fe1ca35528232c4
2e90: 61 34 39 31 61 33 61 32 61 33 32 63 64 32 33 65  a491a3a2a32cd23e
2ea0: 39 39 30 62 63 36 30 33 66 33 32 36 38 61 65 0a  990bc603f3268ae.
2eb0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2ec0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34  ash_SHA3-256-2.4
2ed0: 30 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  0 {SHA3_256Short
2ee0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2ef0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
2f00: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2f10: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2f20: 20 68 65 78 20 65 65 30 62 65 32 30 33 32 30 66   hex ee0be20320f
2f30: 39 64 34 34 30 37 33 32 38 31 32 36 35 61 36 65  9d44073281265a6e
2f40: 39 66 61 36 62 39 64 32 35 32 34 39 35 36 32 34  9fa6b9d252495624
2f50: 62 38 64 30 31 36 62 38 65 66 35 37 65 31 62 34  b8d016b8ef57e1b4
2f60: 65 38 35 39 64 38 61 64 33 62 35 30 62 38 39 34  e859d8ad3b50b894
2f70: 31 36 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  16d]} \..-body {
2f80: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2f90: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
2fa0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2fb0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2fc0: 74 20 61 33 32 35 37 62 61 66 31 34 63 61 31 36  t a3257baf14ca16
2fd0: 65 31 31 33 37 64 63 35 31 35 38 37 30 33 66 33  e1137dc5158703f3
2fe0: 62 30 32 65 62 63 37 34 66 63 37 36 37 37 31 36  b02ebc74fc767716
2ff0: 35 66 65 38 36 64 34 62 65 31 66 33 38 65 32 66  5fe86d4be1f38e2f
3000: 37 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  7c..tcltest::tes
3010: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
3020: 32 2e 34 31 20 7b 53 48 41 33 5f 32 35 36 53 68  2.41 {SHA3_256Sh
3030: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
3040: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
3050: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3060: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3070: 6f 64 65 20 68 65 78 20 38 61 65 32 64 61 32 34  ode hex 8ae2da24
3080: 32 36 33 35 62 36 35 36 38 32 38 39 62 66 36 62  2635b6568289bf6b
3090: 65 63 38 61 34 33 38 64 62 61 63 31 66 35 62 34  ec8a438dbac1f5b4
30a0: 64 35 30 61 39 30 62 62 37 34 34 39 62 64 62 39  d50a90bb7449bdb9
30b0: 32 61 35 39 33 37 38 65 32 33 34 35 32 64 62 63  2a59378e23452dbc
30c0: 61 62 62 62 65 38 37 39 5d 7d 20 5c 0a 09 2d 62  abbbe879]} \..-b
30d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
30e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
30f0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3100: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3110: 72 65 73 75 6c 74 20 65 32 35 63 34 34 38 30 32  result e25c44802
3120: 63 35 63 66 32 65 39 66 36 33 33 65 36 38 33 64  c5cf2e9f633e683d
3130: 33 37 61 61 38 63 38 64 62 38 61 30 65 32 31 63  37aa8c8db8a0e21c
3140: 33 36 37 38 30 38 31 32 31 64 31 34 64 39 36 63  367808121d14d96c
3150: 38 61 34 30 30 62 35 0a 0a 74 63 6c 74 65 73 74  8a400b5..tcltest
3160: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3170: 2d 32 35 36 2d 32 2e 34 32 20 7b 53 48 41 33 5f  -256-2.42 {SHA3_
3180: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3190: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
31a0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
31b0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
31c0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 64 64  y decode hex bdd
31d0: 30 32 35 32 64 65 63 35 62 37 39 38 65 66 32 30  0252dec5b798ef20
31e0: 65 35 31 37 39 31 61 31 38 65 38 63 61 32 33 34  e51791a18e8ca234
31f0: 64 39 62 66 64 65 36 33 32 61 39 65 35 33 39 35  d9bfde632a9e5395
3200: 33 33 37 61 31 31 32 64 64 39 37 63 64 66 30 36  337a112dd97cdf06
3210: 38 63 39 66 35 37 36 31 35 34 32 34 66 35 39 5d  8c9f57615424f59]
3220: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3230: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3240: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
3250: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3260: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 30  exact -result e0
3270: 32 63 31 62 31 39 37 39 37 39 63 34 34 61 35 61  2c1b197979c44a5a
3280: 35 30 64 30 35 65 61 34 38 38 32 63 31 36 64 38  50d05ea4882c16d8
3290: 32 30 35 63 32 65 33 33 34 34 32 36 35 66 38 66  205c2e3344265f8f
32a0: 65 30 65 38 30 61 65 64 30 36 63 30 36 35 0a 0a  e0e80aed06c065..
32b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
32c0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34 33  sh_SHA3-256-2.43
32d0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
32e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
32f0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
3300: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3310: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3320: 68 65 78 20 63 34 63 37 62 36 33 31 35 63 62 36  hex c4c7b6315cb6
3330: 30 62 30 65 36 63 64 30 31 65 66 30 62 36 35 66  0b0e6cd01ef0b65f
3340: 36 34 38 36 66 64 61 65 34 62 39 34 63 36 62 65  6486fdae4b94c6be
3350: 32 31 34 36 35 63 33 61 33 31 63 34 31 36 61 64  21465c3a31c416ad
3360: 32 66 30 36 64 63 66 33 64 36 65 61 65 38 65 65  2f06dcf3d6eae8ee
3370: 63 66 38 34 63 61 37 61 5d 7d 20 5c 0a 09 2d 62  cf84ca7a]} \..-b
3380: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3390: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
33a0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
33b0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
33c0: 72 65 73 75 6c 74 20 32 64 61 32 31 38 36 37 63  result 2da21867c
33d0: 64 36 62 35 34 30 32 64 33 63 61 66 66 39 32 61  d6b5402d3caff92a
33e0: 30 35 66 64 64 66 63 61 39 30 31 39 39 66 64 35  05fddfca90199fd5
33f0: 31 61 39 34 61 30 36 36 61 66 31 36 34 63 65 33  1a94a066af164ce3
3400: 64 33 36 63 39 34 39 0a 0a 74 63 6c 74 65 73 74  d36c949..tcltest
3410: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3420: 2d 32 35 36 2d 32 2e 34 34 20 7b 53 48 41 33 5f  -256-2.44 {SHA3_
3430: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3440: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3450: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
3460: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3470: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 31 37  y decode hex b17
3480: 39 37 37 61 63 65 64 33 61 31 31 38 34 62 31 34  977aced3a1184b14
3490: 62 30 65 34 31 61 30 34 64 64 38 62 35 31 33 63  b0e41a04dd8b513c
34a0: 39 32 35 63 61 31 39 32 31 31 65 31 61 62 64 63  925ca19211e1abdc
34b0: 36 63 31 62 39 38 37 61 63 38 34 35 35 34 35 66  6c1b987ac845545f
34c0: 62 33 62 38 32 30 61 30 38 33 62 34 66 37 38 38  b3b820a083b4f788
34d0: 33 63 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  3c0]} \..-body {
34e0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
34f0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
3500: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3510: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3520: 74 20 66 39 31 62 30 31 36 64 30 31 33 65 64 65  t f91b016d013ede
3530: 38 64 36 61 32 65 31 65 66 64 34 63 30 64 64 39  8d6a2e1efd4c0dd9
3540: 39 34 31 37 64 61 38 62 30 32 32 32 64 37 38 37  9417da8b0222d787
3550: 38 36 37 63 61 30 32 62 30 65 61 32 65 38 30 65  867ca02b0ea2e80e
3560: 34 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  45..tcltest::tes
3570: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
3580: 32 2e 34 35 20 7b 53 48 41 33 5f 32 35 36 53 68  2.45 {SHA3_256Sh
3590: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
35a0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
35b0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
35c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
35d0: 6f 64 65 20 68 65 78 20 66 36 35 63 33 61 61 31  ode hex f65c3aa1
35e0: 64 39 39 38 31 61 38 34 65 34 39 66 63 38 36 64  d9981a84e49fc86d
35f0: 39 33 38 66 33 66 37 35 36 66 36 30 65 33 38 35  938f3f756f60e385
3600: 38 64 35 65 31 66 36 39 35 37 64 64 34 64 32 36  8d5e1f6957dd4d26
3610: 38 65 32 38 64 36 38 65 39 30 62 61 39 61 31 31  8e28d68e90ba9a11
3620: 64 37 62 31 39 32 64 36 63 33 37 66 62 33 30 62  d7b192d6c37fb30b
3630: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
3640: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
3650: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
3660: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
3670: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
3680: 61 63 62 65 62 66 38 65 64 61 39 64 33 63 39 39  acbebf8eda9d3c99
3690: 61 36 62 36 62 36 36 36 33 36 36 63 33 39 31 65  a6b6b666366c391e
36a0: 38 32 30 30 64 35 35 66 64 33 33 61 64 38 36 38  8200d55fd33ad868
36b0: 30 37 33 34 64 65 66 31 64 63 37 61 65 38 35 0a  0734def1dc7ae85.
36c0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
36d0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34  ash_SHA3-256-2.4
36e0: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
36f0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
3700: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
3710: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
3720: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
3730: 20 68 65 78 20 34 39 61 62 62 61 31 66 61 39 38   hex 49abba1fa98
3740: 66 33 63 34 34 37 30 64 35 64 64 34 65 64 33 36  f3c4470d5dd4ed36
3750: 39 32 34 61 66 34 61 37 61 64 36 32 66 34 63 32  924af4a7ad62f4c2
3760: 64 64 31 33 65 35 39 39 32 33 38 38 38 33 65 64  dd13e599238883ed
3770: 37 64 30 63 62 39 35 62 62 61 61 65 35 38 62 34  7d0cb95bbaae58b4
3780: 36 30 33 33 32 65 36 62 37 36 38 31 34 34 36 5d  60332e6b7681446]
3790: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
37a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
37b0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
37c0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
37d0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30 32  exact -result 02
37e0: 62 63 64 39 65 61 34 66 31 61 61 35 32 37 36 66  bcd9ea4f1aa5276f
37f0: 33 38 65 33 30 33 35 31 61 31 34 61 30 37 32 62  38e30351a14a072b
3800: 63 35 64 35 33 61 35 32 64 30 34 64 35 35 39 61  c5d53a52d04d559a
3810: 36 35 63 61 34 36 66 31 62 63 62 35 36 65 0a 0a  65ca46f1bcb56e..
3820: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
3830: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34 37  sh_SHA3-256-2.47
3840: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
3850: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3860: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
3870: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3880: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3890: 68 65 78 20 32 37 35 36 34 35 62 35 61 32 35 31  hex 275645b5a251
38a0: 34 66 65 36 35 61 38 32 65 66 61 63 35 37 65 34  4fe65a82efac57e4
38b0: 30 36 66 32 32 34 65 30 32 35 39 36 37 37 36 37  06f224e025967767
38c0: 34 66 31 64 31 33 33 66 30 30 61 35 65 65 39 61  4f1d133f00a5ee9a
38d0: 36 64 31 61 38 66 65 64 30 65 61 64 62 62 66 66  6d1a8fed0eadbbff
38e0: 35 61 38 32 35 30 34 31 64 32 61 39 37 31 35 64  5a825041d2a9715d
38f0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
3900: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
3910: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
3920: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
3930: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63   exact -result c
3940: 37 30 61 38 37 34 64 37 38 36 63 64 30 66 33 66  70a874d786cd0f3f
3950: 30 39 66 61 34 64 63 31 62 62 38 66 35 35 31 64  09fa4dc1bb8f551d
3960: 34 35 66 32 36 64 37 37 61 64 36 33 64 65 31 61  45f26d77ad63de1a
3970: 39 66 64 66 62 33 62 37 63 30 39 63 30 34 31 0a  9fdfb3b7c09c041.
3980: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
3990: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 34  ash_SHA3-256-2.4
39a0: 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  8 {SHA3_256Short
39b0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
39c0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
39d0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
39e0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
39f0: 20 68 65 78 20 63 64 30 32 62 33 32 31 30 37 62   hex cd02b32107b
3a00: 39 61 36 34 30 66 63 31 62 66 34 33 39 61 63 38  9a640fc1bf439ac8
3a10: 31 61 35 63 32 37 64 30 33 37 63 36 30 37 36 65  1a5c27d037c6076e
3a20: 31 63 66 65 36 61 64 32 32 39 36 33 38 30 33 37  1cfe6ad229638037
3a30: 61 63 31 35 35 30 65 37 31 63 66 39 35 35 37 63  ac1550e71cf9557c
3a40: 32 39 63 32 66 63 36 30 31 37 61 66 64 35 61 38  29c2fc6017afd5a8
3a50: 31 38 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  184]} \..-body {
3a60: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
3a70: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
3a80: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3a90: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3aa0: 74 20 33 36 63 37 33 64 31 31 64 34 35 30 37 38  t 36c73d11d45078
3ab0: 34 65 62 39 39 61 66 30 36 38 63 64 34 65 31 63  4eb99af068cd4e1c
3ac0: 62 63 35 37 36 38 63 38 61 32 31 31 38 30 31 30  bc5768c8a2118010
3ad0: 61 63 65 65 63 36 64 38 35 32 64 64 61 38 30 64  aceec6d852dda80d
3ae0: 39 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  95..tcltest::tes
3af0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
3b00: 32 2e 34 39 20 7b 53 48 41 33 5f 32 35 36 53 68  2.49 {SHA3_256Sh
3b10: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
3b20: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
3b30: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3b40: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3b50: 6f 64 65 20 68 65 78 20 35 61 37 32 65 30 65 31  ode hex 5a72e0e1
3b60: 61 65 63 38 32 61 36 35 34 31 66 30 34 38 38 33  aec82a6541f04883
3b70: 62 62 34 36 33 62 30 63 33 39 63 32 32 62 35 39  bb463b0c39c22b59
3b80: 34 33 31 63 66 62 38 62 66 64 33 33 32 31 31 37  431cfb8bfd332117
3b90: 61 31 61 66 62 35 38 33 32 63 65 35 63 37 36 61  a1afb5832ce5c76a
3ba0: 35 38 66 63 66 36 63 36 63 62 34 65 33 65 36 66  58fcf6c6cb4e3e6f
3bb0: 38 65 31 31 31 32 64 65 5d 7d 20 5c 0a 09 2d 62  8e1112de]} \..-b
3bc0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3bd0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
3be0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3bf0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3c00: 72 65 73 75 6c 74 20 39 30 66 63 33 31 39 33 35  result 90fc31935
3c10: 35 32 65 63 37 31 64 33 33 31 35 65 62 62 62 38  52ec71d3315ebbb8
3c20: 30 37 39 31 33 61 66 64 34 63 64 32 66 30 38 33  07913afd4cd2f083
3c30: 33 61 36 35 65 34 30 64 30 31 31 64 36 34 64 65  3a65e40d011d64de
3c40: 35 65 36 36 35 31 33 0a 0a 74 63 6c 74 65 73 74  5e66513..tcltest
3c50: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3c60: 2d 32 35 36 2d 32 2e 35 30 20 7b 53 48 41 33 5f  -256-2.50 {SHA3_
3c70: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3c80: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3c90: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
3ca0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3cb0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 33 34  y decode hex 434
3cc0: 30 32 31 36 35 39 31 31 38 39 30 37 31 39 66 39  02165911890719f9
3cd0: 31 37 39 66 38 38 33 62 62 62 63 32 61 33 62 65  179f883bbbc2a3be
3ce0: 37 37 36 38 32 65 36 30 64 64 32 34 62 33 35 36  77682e60dd24b356
3cf0: 61 32 32 36 32 31 63 36 64 32 65 33 64 63 64 64  a22621c6d2e3dcdd
3d00: 34 63 62 32 63 65 36 31 33 62 30 64 66 65 39 66  4cb2ce613b0dfe9f
3d10: 35 38 36 32 39 65 65 38 35 33 65 30 33 39 34 5d  58629ee853e0394]
3d20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3d30: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3d40: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
3d50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3d60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 63  exact -result 5c
3d70: 34 62 36 63 65 61 63 39 34 34 31 64 65 66 61 39  4b6ceac9441defa9
3d80: 39 62 31 30 62 38 30 35 61 37 32 35 64 34 30 31  9b10b805a725d401
3d90: 38 62 37 34 62 33 65 31 66 32 34 61 64 38 39 33  8b74b3e1f24ad893
3da0: 34 66 63 38 39 62 34 31 62 38 66 64 39 65 0a 0a  4fc89b41b8fd9e..
3db0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
3dc0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 31  sh_SHA3-256-2.51
3dd0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
3de0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3df0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
3e00: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3e10: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3e20: 68 65 78 20 66 63 35 36 63 61 39 61 39 33 39 38  hex fc56ca9a9398
3e30: 32 61 34 36 36 39 63 63 61 62 61 36 65 33 64 31  2a4669ccaba6e3d1
3e40: 38 34 61 31 39 64 65 34 63 65 38 30 30 62 62 36  84a19de4ce800bb6
3e50: 34 33 61 33 36 30 63 31 34 35 37 32 61 65 64 62  43a360c14572aedb
3e60: 32 32 39 37 34 66 30 63 39 36 36 62 38 35 39 64  22974f0c966b859d
3e70: 39 31 61 64 35 64 37 31 33 62 37 61 64 39 39 39  91ad5d713b7ad999
3e80: 33 35 37 39 34 64 32 32 5d 7d 20 5c 0a 09 2d 62  35794d22]} \..-b
3e90: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3ea0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
3eb0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
3ec0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3ed0: 72 65 73 75 6c 74 20 65 32 31 38 30 36 63 65 37  result e21806ce7
3ee0: 36 36 62 62 63 65 38 62 38 64 31 62 39 39 62 63  66bbce8b8d1b99bc
3ef0: 66 31 36 32 66 64 31 35 34 66 35 34 36 39 32 33  f162fd154f546923
3f00: 35 31 61 65 63 38 65 36 39 31 34 65 31 61 36 39  51aec8e6914e1a69
3f10: 34 62 64 61 39 65 65 0a 0a 74 63 6c 74 65 73 74  4bda9ee..tcltest
3f20: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3f30: 2d 32 35 36 2d 32 2e 35 32 20 7b 53 48 41 33 5f  -256-2.52 {SHA3_
3f40: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
3f50: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3f60: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
3f70: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3f80: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 63 65  y decode hex ace
3f90: 36 32 39 37 65 35 30 64 35 30 61 31 31 33 38 38  6297e50d50a11388
3fa0: 31 31 38 65 66 63 38 38 65 66 39 37 32 30 39 62  118efc88ef97209b
3fb0: 31 31 65 39 64 66 63 62 37 61 64 34 38 32 66 63  11e9dfcb7ad482fc
3fc0: 39 62 66 37 64 38 64 65 65 63 63 32 33 37 61 64  9bf7d8deecc237ad
3fd0: 31 36 33 64 39 32 30 63 35 31 66 32 35 30 33 30  163d920c51f25030
3fe0: 36 64 36 63 65 64 63 34 31 31 33 38 36 61 34 35  6d6cedc411386a45
3ff0: 37 63 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  7c7]} \..-body {
4000: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
4010: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
4020: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
4030: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4040: 74 20 66 35 35 38 31 34 30 33 61 30 38 32 62 62  t f5581403a082bb
4050: 66 35 61 64 37 65 30 39 62 64 66 63 63 63 34 33  f5ad7e09bdfccc43
4060: 62 66 39 36 38 33 65 62 63 38 38 32 39 31 64 37  bf9683ebc88291d7
4070: 31 64 39 63 65 38 38 35 61 33 37 65 39 35 32 62  1d9ce885a37e952b
4080: 64 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d6..tcltest::tes
4090: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
40a0: 32 2e 35 33 20 7b 53 48 41 33 5f 32 35 36 53 68  2.53 {SHA3_256Sh
40b0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
40c0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
40d0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
40e0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
40f0: 6f 64 65 20 68 65 78 20 33 62 61 64 31 38 30 34  ode hex 3bad1804
4100: 36 65 39 34 32 34 64 65 32 34 65 31 32 39 34 34  6e9424de24e12944
4110: 63 64 39 39 32 63 66 62 61 34 35 35 36 66 30 62  cd992cfba4556f0b
4120: 32 61 65 38 38 62 37 62 64 33 34 32 62 65 35 63  2ae88b7bd342be5c
4130: 66 66 39 35 38 36 30 39 32 62 62 36 36 66 61 63  ff9586092bb66fac
4140: 36 39 63 35 32 39 30 34 30 64 31 30 64 64 36 36  69c529040d10dd66
4150: 61 61 33 35 63 31 30 32 33 64 38 37 65 62 36 38  aa35c1023d87eb68
4160: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4170: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4180: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
4190: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
41a0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66   exact -result f
41b0: 61 65 64 37 36 66 66 35 61 31 63 64 39 39 31 38  aed76ff5a1cd9918
41c0: 33 62 33 31 31 65 35 30 32 63 35 34 65 35 31 36  3b311e502c54e516
41d0: 64 37 30 61 38 37 30 35 30 63 66 38 39 36 31 63  d70a87050cf8961c
41e0: 38 63 64 34 36 66 36 35 63 31 33 35 38 63 64 0a  8cd46f65c1358cd.
41f0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
4200: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35  ash_SHA3-256-2.5
4210: 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  4 {SHA3_256Short
4220: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4230: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
4240: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4250: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4260: 20 68 65 78 20 65 35 36 34 63 39 61 31 66 31 61   hex e564c9a1f1a
4270: 61 66 38 35 34 35 61 32 35 39 66 35 32 63 33 66  af8545a259f52c3f
4280: 64 31 38 32 31 65 64 30 33 63 32 32 66 64 37 34  d1821ed03c22fd74
4290: 32 34 61 30 62 32 61 64 36 32 39 64 35 64 33 30  24a0b2ad629d5d30
42a0: 32 36 65 66 34 66 32 37 63 62 65 30 36 66 33 30  26ef4f27cbe06f30
42b0: 62 39 39 31 64 66 61 35 34 64 65 32 38 38 35 66  b991dfa54de2885f
42c0: 31 39 32 61 66 34 64 63 34 64 64 63 34 36 64 5d  192af4dc4ddc46d]
42d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
42e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
42f0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
4300: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
4310: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 31  exact -result 81
4320: 31 35 32 39 63 36 30 30 63 39 64 37 38 30 66 37  1529c600c9d780f7
4330: 39 36 61 32 39 61 36 62 33 65 38 39 66 38 61 31  96a29a6b3e89f8a1
4340: 32 62 33 66 32 39 63 33 36 66 37 32 62 30 36 63  2b3f29c36f72b06c
4350: 63 61 37 65 64 63 33 36 66 34 38 64 63 30 0a 0a  ca7edc36f48dc0..
4360: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
4370: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 35  sh_SHA3-256-2.55
4380: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
4390: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
43a0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
43b0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
43c0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
43d0: 68 65 78 20 36 30 34 33 66 61 36 34 36 35 64 36  hex 6043fa6465d6
43e0: 39 63 61 62 34 35 35 32 30 61 66 35 66 30 66 64  9cab45520af5f0fd
43f0: 34 36 63 38 31 64 62 66 36 37 37 35 33 31 37 39  46c81dbf67753179
4400: 39 38 30 32 36 32 39 38 36 33 36 38 31 63 65 61  9802629863681cea
4410: 33 30 66 66 61 33 62 30 30 38 33 36 66 62 66 34  30ffa3b00836fbf4
4420: 39 66 38 37 30 35 31 64 39 32 61 61 65 61 63 30  9f87051d92aaeac0
4430: 65 64 30 39 62 63 62 39 66 30 37 35 35 62 37 62  ed09bcb9f0755b7b
4440: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4450: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4460: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
4470: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
4480: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62   exact -result b
4490: 30 66 63 65 65 63 64 61 65 66 36 63 37 36 64 35  0fceecdaef6c76d5
44a0: 66 63 33 38 33 35 62 35 32 33 63 65 32 34 31 36  fc3835b523ce2416
44b0: 66 34 61 39 62 39 62 64 31 66 39 30 32 33 34 34  f4a9b9bd1f902344
44c0: 34 35 64 66 30 66 32 62 36 38 39 66 32 66 35 0a  45df0f2b689f2f5.
44d0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
44e0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35  ash_SHA3-256-2.5
44f0: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
4500: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4510: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
4520: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4530: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4540: 20 68 65 78 20 32 30 34 30 63 35 33 38 63 37 39   hex 2040c538c79
4550: 32 33 37 65 36 66 32 62 38 31 38 38 63 36 33 37  237e6f2b8188c637
4560: 35 65 63 32 66 36 31 30 61 63 32 33 30 31 36 30  5ec2f610ac230160
4570: 37 62 39 63 32 33 36 36 30 63 33 61 31 65 31 63  7b9c23660c3a1e1c
4580: 33 61 39 30 32 63 62 32 39 35 30 63 35 39 61 61  3a902cb2950c59aa
4590: 63 33 61 66 32 38 66 39 38 34 66 36 33 36 39 63  c3af28f984f6369c
45a0: 34 64 65 62 65 38 36 32 33 64 66 61 37 34 63 39  4debe8623dfa74c9
45b0: 36 37 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  67b]} \..-body {
45c0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
45d0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
45e0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
45f0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4600: 74 20 65 33 33 64 62 64 63 30 61 63 63 32 33 66  t e33dbdc0acc23f
4610: 63 66 61 64 33 63 37 35 39 63 34 33 33 33 34 31  cfad3c759c433341
4620: 30 62 64 33 61 34 30 65 66 62 31 33 36 36 61 64  0bd3a40efb1366ad
4630: 65 31 35 37 64 32 63 38 31 64 36 35 61 30 61 36  e157d2c81d65a0a6
4640: 63 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c7..tcltest::tes
4650: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
4660: 32 2e 35 37 20 7b 53 48 41 33 5f 32 35 36 53 68  2.57 {SHA3_256Sh
4670: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4680: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
4690: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
46a0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
46b0: 6f 64 65 20 68 65 78 20 30 30 66 66 36 63 39 36  ode hex 00ff6c96
46c0: 62 37 61 61 33 63 66 32 37 64 30 33 36 63 66 32  b7aa3cf27d036cf2
46d0: 30 61 66 37 30 33 31 34 33 34 31 31 33 32 35 32  0af7031434113252
46e0: 35 37 34 62 64 61 39 63 66 39 32 34 34 64 38 35  574bda9cf9244d85
46f0: 61 65 66 32 35 39 33 64 33 61 37 61 38 33 62 66  aef2593d3a7a83bf
4700: 66 36 62 65 39 30 34 62 37 35 31 36 34 61 31 37  f6be904b75164a17
4710: 36 36 38 32 38 30 34 32 62 63 33 66 34 66 30 39  66828042bc3f4f09
4720: 30 64 39 38 61 30 33 64 5d 7d 20 5c 0a 09 2d 62  0d98a03d]} \..-b
4730: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4740: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
4750: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
4760: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4770: 72 65 73 75 6c 74 20 64 30 30 30 65 61 66 63 61  result d000eafca
4780: 33 34 38 31 35 37 38 33 62 65 64 39 62 30 35 30  34815783bed9b050
4790: 63 36 39 30 31 63 39 37 66 32 65 37 37 64 34 37  c6901c97f2e77d47
47a0: 37 31 61 30 65 64 37 32 34 64 64 38 66 36 66 66  71a0ed724dd8f6ff
47b0: 31 34 34 38 37 39 31 0a 0a 74 63 6c 74 65 73 74  1448791..tcltest
47c0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
47d0: 2d 32 35 36 2d 32 2e 35 38 20 7b 53 48 41 33 5f  -256-2.58 {SHA3_
47e0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
47f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4800: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
4810: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4820: 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 38 64  y decode hex e8d
4830: 66 31 34 39 33 36 63 63 65 31 31 38 31 33 39 65  f14936cce118139e
4840: 36 39 30 66 31 36 36 32 66 38 38 63 66 62 63 39  690f1662f88cfbc9
4850: 63 33 33 33 62 36 64 65 61 36 35 38 63 30 32 63  c333b6dea658c02c
4860: 62 31 64 39 35 39 36 34 34 35 39 32 38 34 32 35  b1d9596445928425
4870: 34 32 66 64 39 64 38 64 36 31 61 30 34 64 34 61  42fd9d8d61a04d4a
4880: 38 39 32 31 32 38 66 30 64 64 66 66 37 62 36 35  892128f0ddff7b65
4890: 30 32 65 66 66 66 62 61 62 65 35 63 62 30 61 5d  02efffbabe5cb0a]
48a0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
48b0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
48c0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
48d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
48e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 34  exact -result 34
48f0: 37 39 61 39 36 31 37 61 33 61 64 63 61 33 35 38  79a9617a3adca358
4900: 35 34 63 30 38 66 65 39 38 37 63 32 66 65 37 66  54c08fe987c2fe7f
4910: 66 32 62 30 31 62 30 34 66 32 64 39 35 32 63 31  f2b01b04f2d952c1
4920: 30 37 62 33 66 30 36 36 34 32 30 35 35 31 0a 0a  07b3f066420551..
4930: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
4940: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 35 39  sh_SHA3-256-2.59
4950: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
4960: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4970: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
4980: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
4990: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
49a0: 68 65 78 20 34 65 64 39 38 31 61 33 31 66 37 30  hex 4ed981a31f70
49b0: 64 64 36 62 37 30 63 31 36 31 62 65 31 66 30 31  dd6b70c161be1f01
49c0: 66 63 31 62 62 61 35 34 64 30 36 64 39 34 39 34  fc1bba54d06d9494
49d0: 65 37 65 62 31 39 34 65 32 31 33 64 35 65 30 65  e7eb194e213d5e0e
49e0: 37 31 65 30 66 64 64 64 34 39 63 62 31 66 30 37  71e0fddd49cb1f07
49f0: 35 33 35 33 64 61 32 32 36 32 34 63 62 65 34 62  5353da22624cbe4b
4a00: 61 38 37 31 61 61 62 33 32 39 30 36 65 34 35 62  a871aab32906e45b
4a10: 36 66 62 62 36 39 31 62 5d 7d 20 5c 0a 09 2d 62  6fbb691b]} \..-b
4a20: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4a30: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
4a40: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
4a50: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4a60: 72 65 73 75 6c 74 20 39 63 38 32 34 61 30 30 65  result 9c824a00e
4a70: 30 36 38 64 32 66 64 61 37 33 66 39 63 32 65 37  068d2fda73f9c2e7
4a80: 37 39 38 65 38 64 39 33 39 34 66 35 37 66 39 34  798e8d9394f57f94
4a90: 64 66 30 65 64 65 62 31 33 32 65 37 38 65 38 61  df0edeb132e78e8a
4aa0: 33 37 39 61 30 63 66 0a 0a 74 63 6c 74 65 73 74  379a0cf..tcltest
4ab0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
4ac0: 2d 32 35 36 2d 32 2e 36 30 20 7b 53 48 41 33 5f  -256-2.60 {SHA3_
4ad0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
4ae0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4af0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
4b00: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4b10: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 38 30  y decode hex 780
4b20: 32 62 37 30 63 36 31 35 38 62 63 32 36 64 35 66  2b70c6158bc26d5f
4b30: 31 35 37 36 37 31 63 33 66 33 64 38 31 61 62 33  157671c3f3d81ab3
4b40: 39 39 64 62 35 35 32 62 39 66 38 35 31 62 37 32  99db552b9f851b72
4b50: 33 33 33 37 37 30 33 34 38 65 62 31 66 64 62 38  333770348eb1fdb8
4b60: 61 30 38 35 66 39 32 34 30 39 35 65 62 39 64 35  a085f924095eb9d5
4b70: 63 63 66 64 38 34 37 34 62 37 62 61 35 61 36 31  ccfd8474b7ba5a61
4b80: 63 37 64 37 62 63 64 65 35 61 37 62 34 34 33 36  c7d7bcde5a7b4436
4b90: 32 63 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  2cf]} \..-body {
4ba0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
4bb0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
4bc0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
4bd0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4be0: 74 20 66 61 39 37 32 36 63 63 62 30 36 38 63 30  t fa9726ccb068c0
4bf0: 61 64 62 35 64 32 30 30 37 39 63 33 35 61 33 31  adb5d20079c35a31
4c00: 38 62 33 64 39 35 31 65 62 34 33 62 31 39 36 63  8b3d951eb43b196c
4c10: 35 30 39 61 62 37 39 30 62 37 65 39 32 30 32 32  509ab790b7e92022
4c20: 30 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  07..tcltest::tes
4c30: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
4c40: 32 2e 36 31 20 7b 53 48 41 33 5f 32 35 36 53 68  2.61 {SHA3_256Sh
4c50: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4c60: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
4c70: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
4c80: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4c90: 6f 64 65 20 68 65 78 20 66 66 38 33 64 63 64 37  ode hex ff83dcd7
4ca0: 63 31 61 34 38 38 65 35 61 31 32 38 64 35 62 37  c1a488e5a128d5b7
4cb0: 34 36 32 38 34 35 35 32 66 31 66 32 63 30 39 31  46284552f1f2c091
4cc0: 36 31 35 64 39 35 31 39 66 34 35 39 62 63 39 30  615d9519f459bc90
4cd0: 31 30 63 61 35 65 30 61 63 31 39 37 39 36 63 34  10ca5e0ac19796c4
4ce0: 61 33 66 64 37 61 31 35 30 33 32 61 35 35 61 31  a3fd7a15032a55a1
4cf0: 34 31 30 37 33 37 64 30 37 38 35 35 62 30 37 66  410737d07855b07f
4d00: 36 31 66 62 64 38 66 35 37 35 39 65 39 32 31 38  61fbd8f5759e9218
4d10: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4d20: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4d30: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
4d40: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
4d50: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38   exact -result 8
4d60: 62 64 38 64 34 39 34 61 34 31 61 63 64 61 34 62  bd8d494a41acda4b
4d70: 37 63 64 32 39 39 34 62 61 64 61 65 63 66 66 30  7cd2994badaecff0
4d80: 66 34 36 62 61 32 37 34 33 34 35 38 66 36 63 33  f46ba2743458f6c3
4d90: 66 64 63 30 32 32 36 66 39 34 39 32 65 64 65 0a  fdc0226f9492ede.
4da0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
4db0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36  ash_SHA3-256-2.6
4dc0: 32 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  2 {SHA3_256Short
4dd0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4de0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
4df0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4e00: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4e10: 20 68 65 78 20 61 66 64 34 37 36 34 63 63 37 64   hex afd4764cc7d
4e20: 35 64 65 31 36 61 33 63 66 38 30 63 35 31 64 30  5de16a3cf80c51d0
4e30: 63 30 64 39 31 39 66 31 38 37 30 30 63 37 64 63  c0d919f18700c7dc
4e40: 39 62 63 34 65 38 38 37 64 36 33 34 66 65 30 61  9bc4e887d634fe0a
4e50: 33 61 61 39 34 30 39 37 64 35 39 30 65 34 31 32  3aa94097d590e412
4e60: 33 62 37 33 66 31 31 63 63 62 35 39 65 32 33 34  3b73f11ccb59e234
4e70: 39 36 61 33 64 35 33 64 32 62 66 61 39 30 38 30  96a3d53d2bfa9080
4e80: 35 36 63 31 31 63 35 32 63 32 33 61 62 66 62 5d  56c11c52c23abfb]
4e90: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
4ea0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
4eb0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
4ec0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
4ed0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 39  exact -result e9
4ee0: 65 33 62 33 64 61 36 34 38 63 66 32 33 30 66 31  e3b3da648cf230f1
4ef0: 39 37 33 66 33 38 31 34 65 62 38 31 33 31 36 64  973f3814eb81316d
4f00: 32 61 34 39 36 38 32 36 65 61 33 39 61 64 66 34  2a496826ea39adf4
4f10: 36 37 34 35 37 36 66 39 37 65 31 31 36 37 0a 0a  674576f97e1167..
4f20: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
4f30: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36 33  sh_SHA3-256-2.63
4f40: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
4f50: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4f60: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
4f70: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
4f80: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
4f90: 68 65 78 20 36 66 61 36 64 65 35 30 39 37 31 39  hex 6fa6de509719
4fa0: 66 66 62 66 31 37 37 35 39 66 30 35 31 34 35 33  ffbf17759f051453
4fb0: 63 30 61 63 33 63 62 65 31 33 33 34 36 35 34 36  c0ac3cbe13346546
4fc0: 62 62 63 31 37 30 35 30 35 34 31 30 37 34 62 30  bbc17050541074b0
4fd0: 33 34 61 66 31 39 37 61 66 30 36 65 34 31 31 34  34af197af06e4114
4fe0: 32 32 31 31 65 65 39 30 36 61 34 37 36 30 33 39  2211ee906a476039
4ff0: 62 33 65 30 37 64 36 63 62 38 33 61 37 36 61 61  b3e07d6cb83a76aa
5000: 63 36 66 63 61 38 65 61 63 33 30 37 63 30 33 34  c6fca8eac307c034
5010: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5020: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5030: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
5040: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5050: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
5060: 36 36 36 33 30 39 39 33 66 62 62 36 35 31 66 64  66630993fbb651fd
5070: 38 64 33 36 30 33 65 33 65 65 62 63 38 31 39 33  8d3603e3eebc8193
5080: 31 66 62 31 33 30 32 61 34 36 37 39 31 64 66 32  1fb1302a46791df2
5090: 35 39 61 36 65 31 33 63 61 32 63 62 61 39 66 0a  59a6e13ca2cba9f.
50a0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
50b0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36  ash_SHA3-256-2.6
50c0: 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  4 {SHA3_256Short
50d0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
50e0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
50f0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5100: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5110: 20 68 65 78 20 39 33 63 62 62 37 65 34 37 63 38   hex 93cbb7e47c8
5120: 38 35 39 62 65 66 39 33 39 31 35 35 62 65 61 34  859bef939155bea4
5130: 38 38 30 39 30 32 38 33 65 63 66 35 30 32 33 64  88090283ecf5023d
5140: 39 39 37 36 37 63 39 36 30 64 38 36 62 61 61 33  99767c960d86baa3
5150: 33 33 61 66 30 35 61 61 36 39 36 66 63 31 37 30  33af05aa696fc170
5160: 66 62 38 62 62 61 63 31 65 36 34 37 33 39 35 36  fb8bbac1e6473956
5170: 64 39 36 62 39 36 34 35 38 30 65 65 36 36 34 30  d96b964580ee6640
5180: 66 30 63 63 35 37 62 65 39 35 39 38 65 35 35 66  f0cc57be9598e55f
5190: 63 38 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  c86]} \..-body {
51a0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
51b0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
51c0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
51d0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
51e0: 74 20 64 33 32 31 32 61 62 63 61 31 31 30 30 65  t d3212abca1100e
51f0: 62 37 36 35 38 63 30 66 39 31 36 64 61 66 32 36  b7658c0f916daf26
5200: 39 32 63 35 37 61 34 37 62 37 37 32 65 65 30 33  92c57a47b772ee03
5210: 31 63 34 65 63 36 61 64 32 38 61 34 61 34 36 64  1c4ec6ad28a4a46d
5220: 65 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  e9..tcltest::tes
5230: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
5240: 32 2e 36 35 20 7b 53 48 41 33 5f 32 35 36 53 68  2.65 {SHA3_256Sh
5250: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5260: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
5270: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
5280: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5290: 6f 64 65 20 68 65 78 20 36 37 65 33 38 34 64 32  ode hex 67e384d2
52a0: 30 39 66 31 62 63 34 34 39 66 61 36 37 64 61 36  09f1bc449fa67da6
52b0: 63 65 35 66 62 62 65 38 34 66 34 36 31 30 31 32  ce5fbbe84f461012
52c0: 39 66 32 66 30 62 34 30 66 37 63 30 63 61 65 61  9f2f0b40f7c0caea
52d0: 37 65 64 35 63 62 36 39 62 65 32 32 66 66 62 37  7ed5cb69be22ffb7
52e0: 35 34 31 62 32 30 37 37 65 63 31 30 34 35 33 35  541b2077ec104535
52f0: 36 64 39 64 62 34 65 65 37 31 34 31 66 37 64 33  6d9db4ee7141f7d3
5300: 66 38 34 64 33 32 34 61 35 64 30 30 62 33 33 36  f84d324a5d00b336
5310: 38 39 66 30 63 62 37 38 5d 7d 20 5c 0a 09 2d 62  89f0cb78]} \..-b
5320: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5330: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5340: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5350: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5360: 72 65 73 75 6c 74 20 39 63 39 31 36 30 32 36 38  result 9c9160268
5370: 36 30 38 65 66 30 39 66 65 30 62 64 33 39 32 37  608ef09fe0bd3927
5380: 64 33 64 66 66 61 30 63 37 33 34 39 39 63 35 32  d3dffa0c73499c52
5390: 38 39 34 33 65 38 33 37 62 65 34 36 37 62 35 30  8943e837be467b50
53a0: 65 35 63 31 66 31 65 0a 0a 74 63 6c 74 65 73 74  e5c1f1e..tcltest
53b0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
53c0: 2d 32 35 36 2d 32 2e 36 36 20 7b 53 48 41 33 5f  -256-2.66 {SHA3_
53d0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
53e0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
53f0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
5400: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5410: 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 62 65  y decode hex 4be
5420: 66 31 61 34 33 66 61 61 63 63 33 65 33 38 34 31  f1a43faacc3e3841
5430: 32 63 38 37 35 33 36 30 36 30 36 61 38 31 31 35  2c875360606a8115
5440: 64 39 31 39 37 64 35 39 66 36 31 61 38 35 65 30  d9197d59f61a85e0
5450: 62 34 38 62 34 33 33 64 62 32 37 36 39 35 64 63  b48b433db27695dc
5460: 39 36 32 65 64 37 35 64 31 39 31 63 34 30 31 33  962ed75d191c4013
5470: 39 37 39 66 34 30 31 63 66 33 61 36 37 63 34 37  979f401cf3a67c47
5480: 32 63 39 39 30 30 30 64 33 61 31 35 32 32 32 37  2c99000d3a152227
5490: 64 62 36 31 64 65 33 31 33 61 62 35 61 31 63 5d  db61de313ab5a1c]
54a0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
54b0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
54c0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
54d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
54e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 37  exact -result 87
54f0: 30 33 61 31 66 37 34 32 34 63 33 35 33 35 66 31  03a1f7424c3535f1
5500: 64 34 66 38 38 63 39 62 30 33 64 31 39 34 38 39  d4f88c9b03d19489
5510: 33 34 39 39 34 37 38 39 36 39 66 62 62 30 61 35  3499478969fbb0a5
5520: 64 63 32 38 30 38 61 30 36 39 61 62 38 66 0a 0a  dc2808a069ab8f..
5530: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
5540: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 36 37  sh_SHA3-256-2.67
5550: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
5560: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5570: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
5580: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
5590: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
55a0: 68 65 78 20 66 30 62 65 35 65 39 36 31 62 62 35  hex f0be5e961bb5
55b0: 35 62 33 61 39 34 35 32 61 35 33 36 35 30 34 66  5b3a9452a536504f
55c0: 36 31 32 61 33 65 36 36 61 65 63 38 31 36 30 61  612a3e66aec8160a
55d0: 38 38 32 65 35 31 35 36 65 62 37 32 37 38 34 33  882e5156eb727843
55e0: 33 62 37 65 61 32 31 64 65 33 31 65 33 39 33 38  3b7ea21de31e3938
55f0: 33 64 35 37 66 63 64 66 62 32 66 62 34 61 38 64  3d57fcdfb2fb4a8d
5600: 32 32 37 61 39 64 36 30 38 35 66 62 35 35 63 61  227a9d6085fb55ca
5610: 64 33 61 62 62 37 38 61 32 32 35 35 33 35 64 61  d3abb78a225535da
5620: 30 65 33 34 65 66 65 61 5d 7d 20 5c 0a 09 2d 62  0e34efea]} \..-b
5630: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5640: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5650: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5660: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5670: 72 65 73 75 6c 74 20 32 66 61 31 38 30 32 30 39  result 2fa180209
5680: 62 66 36 62 34 61 64 31 33 63 33 35 37 64 39 31  bf6b4ad13c357d91
5690: 37 66 61 62 62 33 65 35 32 63 31 30 31 61 30 63  7fabb3e52c101a0c
56a0: 64 62 33 66 32 32 39 39 66 61 30 66 37 66 38 31  db3f2299fa0f7f81
56b0: 64 66 62 38 34 38 65 0a 0a 74 63 6c 74 65 73 74  dfb848e..tcltest
56c0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
56d0: 2d 32 35 36 2d 32 2e 36 38 20 7b 53 48 41 33 5f  -256-2.68 {SHA3_
56e0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
56f0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
5700: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
5710: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5720: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 30 36  y decode hex 206
5730: 66 31 63 33 36 62 61 32 35 61 65 61 37 33 33 39  f1c36ba25aea7339
5740: 38 66 66 66 63 39 62 36 35 63 34 36 33 37 63 63  8fffc9b65c4637cc
5750: 31 66 30 35 61 36 62 62 65 65 30 31 34 64 63 63  1f05a6bbee014dcc
5760: 62 64 36 31 65 33 62 37 61 61 39 34 32 33 38 38  bd61e3b7aa942388
5770: 37 62 62 61 63 36 32 31 35 32 61 34 62 66 37 33  7bbac62152a4bf73
5780: 61 34 62 37 61 66 61 62 65 35 34 65 30 38 37 32  a4b7afabe54e0872
5790: 30 35 38 39 34 36 34 64 61 37 39 38 35 64 38 65  0589464da7985d8e
57a0: 36 35 39 31 61 63 30 38 31 64 31 31 35 64 66 32  6591ac081d115df2
57b0: 66 65 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  fe6]} \..-body {
57c0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
57d0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
57e0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
57f0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
5800: 74 20 35 35 38 65 61 37 63 38 30 30 62 36 38 37  t 558ea7c800b687
5810: 33 38 30 63 63 65 37 65 30 36 30 30 36 65 31 65  380cce7e06006e1e
5820: 62 65 30 62 38 39 39 37 33 66 37 38 38 63 34 63  be0b89973f788c4c
5830: 61 61 63 35 37 38 30 66 32 32 64 62 66 33 38 32  aac5780f22dbf382
5840: 65 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  e8..tcltest::tes
5850: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
5860: 32 2e 36 39 20 7b 53 48 41 33 5f 32 35 36 53 68  2.69 {SHA3_256Sh
5870: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5880: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
5890: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
58a0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
58b0: 6f 64 65 20 68 65 78 20 38 63 64 37 31 34 33 34  ode hex 8cd71434
58c0: 63 30 30 36 36 33 66 33 62 64 61 30 32 30 35 35  c00663f3bda02055
58d0: 30 38 61 34 61 32 36 36 35 34 38 64 63 36 39 65  08a4a266548dc69e
58e0: 30 30 63 61 39 31 66 64 65 30 36 64 31 36 35 62  00ca91fde06d165b
58f0: 34 30 32 37 39 61 66 39 32 36 37 34 66 37 35 62  40279af92674f75b
5900: 64 38 31 33 33 65 35 61 39 65 62 39 61 30 37 35  d8133e5a9eb9a075
5910: 63 39 30 36 38 66 36 38 66 34 62 38 32 30 30 30  c9068f68f4b82000
5920: 38 61 31 66 62 34 32 64 38 39 64 31 64 37 35 39  8a1fb42d89d1d759
5930: 38 35 39 65 36 38 66 38 65 66 63 36 66 62 36 30  859e68f8efc6fb60
5940: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5950: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5960: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
5970: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5980: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30   exact -result 0
5990: 38 35 62 33 34 33 62 30 38 35 31 36 66 33 32 30  85b343b08516f320
59a0: 61 39 62 39 30 66 65 35 30 34 34 30 61 38 62 63  a9b90fe50440a8bc
59b0: 35 31 61 65 30 38 35 30 66 61 33 38 64 38 38 37  51ae0850fa38d887
59c0: 32 34 61 34 64 36 62 64 33 64 66 31 61 64 34 0a  24a4d6bd3df1ad4.
59d0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
59e0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37  ash_SHA3-256-2.7
59f0: 30 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  0 {SHA3_256Short
5a00: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
5a10: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
5a20: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5a30: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5a40: 20 68 65 78 20 34 63 66 35 62 62 64 39 31 63 61   hex 4cf5bbd91ca
5a50: 63 36 31 63 32 31 31 30 32 30 35 32 36 33 34 65  c61c21102052634e
5a60: 39 39 66 61 65 64 64 36 63 64 64 64 63 64 34 34  99faedd6cdddcd44
5a70: 32 36 62 34 32 62 36 61 33 37 32 66 32 39 61 35  26b42b6a372f29a5
5a80: 61 35 66 33 35 66 35 31 63 65 35 38 30 62 62 31  a5f35f51ce580bb1
5a90: 38 34 35 61 33 63 37 63 66 63 64 34 34 37 64 32  845a3c7cfcd447d2
5aa0: 36 39 65 38 63 61 65 62 39 62 33 32 30 62 62 37  69e8caeb9b320bb7
5ab0: 33 31 66 35 33 66 65 35 63 39 36 39 61 36 35 62  31f53fe5c969a65b
5ac0: 31 32 66 34 30 36 30 33 61 36 38 35 61 66 65 5d  12f40603a685afe]
5ad0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
5ae0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5af0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
5b00: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5b10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 39  exact -result f9
5b20: 64 62 62 38 38 63 35 62 62 34 34 31 35 65 31 37  dbb88c5bb4415e17
5b30: 64 65 65 39 32 32 32 31 37 34 35 33 38 65 65 61  dee9222174538eea
5b40: 62 33 37 31 62 31 32 64 38 64 35 37 32 63 66 64  b371b12d8d572cfd
5b50: 66 35 35 62 38 30 36 65 33 31 35 38 65 34 0a 0a  f55b806e3158e4..
5b60: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
5b70: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37 31  sh_SHA3-256-2.71
5b80: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
5b90: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5ba0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
5bb0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
5bc0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5bd0: 68 65 78 20 65 30 30 65 34 36 63 39 36 64 65 63  hex e00e46c96dec
5be0: 35 63 62 33 36 63 66 34 37 33 32 30 34 38 33 37  5cb36cf473204837
5bf0: 36 36 35 37 62 63 64 31 65 66 66 30 38 63 63 63  6657bcd1eff08ccc
5c00: 30 35 64 66 37 33 34 31 36 38 61 65 35 63 63 30  05df734168ae5cc0
5c10: 37 61 30 61 64 35 66 32 35 30 38 31 63 30 37 64  7a0ad5f25081c07d
5c20: 30 39 38 61 34 62 32 38 35 65 63 36 32 33 34 30  098a4b285ec62340
5c30: 37 62 38 35 65 35 33 61 30 64 38 63 64 36 39 39  7b85e53a0d8cd699
5c40: 39 64 31 36 64 33 31 33 31 63 31 38 38 62 65 66  9d16d3131c188bef
5c50: 62 66 63 39 65 62 62 31 30 64 36 32 64 61 66 39  bfc9ebb10d62daf9
5c60: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5c70: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5c80: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
5c90: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5ca0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
5cb0: 35 37 31 33 32 36 61 31 35 37 37 63 34 30 30 62  571326a1577c400b
5cc0: 39 36 37 61 63 31 63 32 36 64 66 32 61 30 64 63  967ac1c26df2a0dc
5cd0: 66 35 64 62 37 30 37 30 65 61 63 32 36 32 61 38  f5db7070eac262a8
5ce0: 30 37 31 64 61 31 36 61 66 61 37 63 34 31 39 0a  071da16afa7c419.
5cf0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
5d00: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37  ash_SHA3-256-2.7
5d10: 32 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  2 {SHA3_256Short
5d20: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
5d30: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
5d40: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5d50: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5d60: 20 68 65 78 20 39 38 31 66 34 31 61 38 33 64 38   hex 981f41a83d8
5d70: 66 31 37 66 37 31 66 63 30 33 66 39 31 35 61 33  f17f71fc03f915a3
5d80: 30 63 64 38 61 63 39 31 64 39 39 61 61 31 62 34  0cd8ac91d99aa1b4
5d90: 39 65 66 35 63 32 39 66 62 38 38 63 36 38 36 34  9ef5c29fb88c6864
5da0: 36 62 39 33 61 35 38 38 64 65 62 63 64 36 37 34  6b93a588debcd674
5db0: 37 34 62 34 35 37 34 30 30 63 33 33 39 63 63 61  74b457400c339cca
5dc0: 30 32 38 37 33 31 64 66 30 62 35 39 39 38 37 35  028731df0b599875
5dd0: 61 62 38 30 64 66 36 66 31 38 62 31 31 62 30 62  ab80df6f18b11b0b
5de0: 31 63 36 32 66 32 61 30 37 62 33 64 38 32 30 39  1c62f2a07b3d8209
5df0: 34 30 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  402]} \..-body {
5e00: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
5e10: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
5e20: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
5e30: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
5e40: 74 20 36 32 61 65 61 38 37 36 30 37 35 39 61 39  t 62aea8760759a9
5e50: 39 36 66 34 64 38 35 35 65 39 39 62 63 64 37 39  96f4d855e99bcd79
5e60: 65 39 61 35 37 65 61 33 36 32 35 32 32 64 39 62  e9a57ea362522d9b
5e70: 34 32 66 64 38 32 63 31 32 63 39 32 39 34 61 32  42fd82c12c9294a2
5e80: 31 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  17..tcltest::tes
5e90: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
5ea0: 32 2e 37 33 20 7b 53 48 41 33 5f 32 35 36 53 68  2.73 {SHA3_256Sh
5eb0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5ec0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
5ed0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
5ee0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5ef0: 6f 64 65 20 68 65 78 20 35 63 35 38 39 66 63 35  ode hex 5c589fc5
5f00: 34 66 65 66 63 34 64 36 65 32 32 34 39 61 33 36  4fefc4d6e2249a36
5f10: 35 38 33 65 31 39 39 32 66 63 36 62 38 61 39 63  583e1992fc6b8a9c
5f20: 30 37 30 65 38 65 30 30 63 34 35 61 36 33 39 61  070e8e00c45a639a
5f30: 66 32 32 30 36 33 65 36 36 61 65 35 63 64 62 38  f22063e66ae5cdb8
5f40: 30 32 33 38 63 38 32 64 62 30 34 33 61 35 65 31  0238c82db043a5e1
5f50: 66 33 39 66 36 35 36 32 36 65 36 64 37 62 65 35  f39f65626e6d7be5
5f60: 64 36 61 32 64 33 33 38 30 66 61 32 31 32 66 38  d6a2d3380fa212f8
5f70: 39 32 31 31 32 30 30 34 31 32 65 35 65 34 33 31  9211200412e5e431
5f80: 35 66 63 30 34 65 34 30 5d 7d 20 5c 0a 09 2d 62  5fc04e40]} \..-b
5f90: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5fa0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
5fb0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
5fc0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5fd0: 72 65 73 75 6c 74 20 31 38 64 65 62 61 37 34 65  result 18deba74e
5fe0: 39 64 39 33 61 65 37 64 66 39 33 63 36 63 33 31  9d93ae7df93c6c31
5ff0: 36 65 66 32 30 31 62 66 35 65 33 61 36 36 31 65  6ef201bf5e3a661e
6000: 36 38 38 36 38 65 31 34 64 34 66 35 36 32 36 34  68868e14d4f56264
6010: 66 35 64 38 35 38 63 0a 0a 74 63 6c 74 65 73 74  f5d858c..tcltest
6020: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6030: 2d 32 35 36 2d 32 2e 37 34 20 7b 53 48 41 33 5f  -256-2.74 {SHA3_
6040: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
6050: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
6060: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
6070: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6080: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 63 38  y decode hex 7c8
6090: 36 39 31 65 37 62 32 35 36 30 66 65 38 37 66 63  691e7b2560fe87fc
60a0: 63 35 65 32 38 37 37 66 37 65 33 63 38 34 64 39  c5e2877f7e3c84d9
60b0: 31 30 31 65 63 61 34 38 31 38 66 36 33 32 32 61  101eca4818f6322a
60c0: 35 38 39 38 36 63 36 63 66 30 35 36 32 37 63 30  58986c6cf05627c0
60d0: 64 36 39 31 39 65 66 32 65 64 63 38 35 39 66 38  d6919ef2edc859f8
60e0: 31 66 61 31 66 33 33 65 30 63 63 31 66 31 30 65  1fa1f33e0cc1f10e
60f0: 64 66 37 65 35 32 61 39 63 33 33 39 38 31 61 66  df7e52a9c33981af
6100: 32 66 66 30 64 37 32 30 63 39 34 65 61 34 64 36  2ff0d720c94ea4d6
6110: 32 31 37 30 62 32 61 34 64 31 32 32 34 66 61 5d  2170b2a4d1224fa]
6120: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
6130: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6140: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
6150: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6160: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 61  exact -result 5a
6170: 35 61 34 33 38 62 35 37 63 31 62 33 63 65 38 37  5a438b57c1b3ce87
6180: 35 36 30 39 34 32 35 32 33 36 32 61 66 65 61 61  56094252362afeaa
6190: 39 66 63 39 31 63 64 34 35 62 33 38 35 64 31 36  9fc91cd45b385d16
61a0: 39 39 34 65 63 38 61 66 34 39 61 61 36 62 0a 0a  994ec8af49aa6b..
61b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
61c0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37 35  sh_SHA3-256-2.75
61d0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
61e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
61f0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
6200: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
6210: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6220: 68 65 78 20 39 37 33 35 39 62 35 36 34 62 32 62  hex 97359b564b2b
6230: 63 32 30 38 30 30 65 64 31 65 35 31 35 31 62 34  c20800ed1e5151b4
6240: 64 32 35 38 31 61 30 34 32 37 63 65 39 35 33 39  d2581a0427ce9539
6250: 64 33 32 34 63 33 36 33 37 63 66 62 30 65 35 33  d324c3637cfb0e53
6260: 37 38 64 63 32 63 66 36 64 37 32 39 34 36 65 32  78dc2cf6d72946e2
6270: 61 33 35 33 35 61 32 66 36 36 34 65 64 65 38 38  a3535a2f664ede88
6280: 65 64 34 32 61 36 38 31 34 63 38 34 30 37 32 62  ed42a6814c84072b
6290: 32 32 63 34 33 64 65 37 31 65 38 38 30 61 37 37  22c43de71e880a77
62a0: 63 32 64 39 61 30 35 62 36 37 33 62 63 31 35 61  c2d9a05b673bc15a
62b0: 38 32 65 33 32 35 35 66 5d 7d 20 5c 0a 09 2d 62  82e3255f]} \..-b
62c0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
62d0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
62e0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
62f0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
6300: 72 65 73 75 6c 74 20 62 65 35 34 66 32 65 34 33  result be54f2e43
6310: 35 66 37 36 30 64 35 62 37 37 63 30 61 65 36 31  5f760d5b77c0ae61
6320: 65 66 30 61 61 37 66 35 66 33 33 36 36 66 34 37  ef0aa7f5f3366f47
6330: 38 31 39 66 33 35 30 64 63 38 61 33 39 61 66 66  819f350dc8a39aff
6340: 38 63 37 33 61 38 66 0a 0a 74 63 6c 74 65 73 74  8c73a8f..tcltest
6350: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6360: 2d 32 35 36 2d 32 2e 37 36 20 7b 53 48 41 33 5f  -256-2.76 {SHA3_
6370: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
6380: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
6390: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
63a0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
63b0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 30 64  y decode hex a0d
63c0: 66 61 65 63 64 33 65 33 30 37 63 35 64 64 66 39  faecd3e307c5ddf9
63d0: 61 39 33 36 30 33 66 37 65 31 39 37 32 35 61 37  a93603f7e19725a7
63e0: 37 39 32 31 38 37 33 34 39 30 34 35 32 35 62 31  79218734904525b1
63f0: 34 35 38 36 66 66 30 63 65 30 34 32 35 65 34 65  4586ff0ce0425e4e
6400: 66 65 37 65 31 63 30 36 65 37 34 35 63 32 38 65  fe7e1c06e745c28e
6410: 64 31 33 36 66 36 30 33 31 63 34 32 38 30 66 64  d136f6031c4280fd
6420: 34 30 36 31 64 34 33 33 65 66 37 30 30 62 36 64  4061d433ef700b6d
6430: 31 62 63 37 34 35 30 36 34 32 33 31 66 65 63 66  1bc745064231fecf
6440: 33 38 37 30 31 35 66 39 34 66 35 30 34 62 36 61  387015f94f504b6a
6450: 64 38 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  d8c]} \..-body {
6460: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
6470: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
6480: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6490: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
64a0: 74 20 36 30 64 38 30 66 31 63 37 30 33 64 61 64  t 60d80f1c703dad
64b0: 35 64 61 39 33 64 62 32 32 32 66 62 34 35 66 62  5da93db222fb45fb
64c0: 37 66 61 37 36 38 63 38 61 61 32 37 38 37 66 34  7fa768c8aa2787f4
64d0: 62 38 31 66 31 65 30 30 33 36 35 62 38 66 34 39  b81f1e00365b8f49
64e0: 65 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  e2..tcltest::tes
64f0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
6500: 32 2e 37 37 20 7b 53 48 41 33 5f 32 35 36 53 68  2.77 {SHA3_256Sh
6510: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6520: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
6530: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
6540: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6550: 6f 64 65 20 68 65 78 20 35 36 38 64 36 36 64 30  ode hex 568d66d0
6560: 36 31 33 30 36 63 33 34 31 39 61 31 39 32 38 63  61306c3419a1928c
6570: 65 37 65 64 63 38 65 33 34 30 30 63 33 30 39 39  e7edc8e3400c3099
6580: 38 66 30 39 62 64 61 63 36 66 36 33 66 66 33 35  8f09bdac6f63ff35
6590: 31 65 62 32 33 64 33 36 32 65 38 64 63 35 39 32  1eb23d362e8dc592
65a0: 37 65 61 63 38 30 35 64 36 39 34 61 63 39 35 36  7eac805d694ac956
65b0: 33 64 63 64 37 66 62 32 65 66 61 39 35 39 31 63  3dcd7fb2efa9591c
65c0: 30 64 38 32 37 61 66 39 66 33 39 31 34 36 66 30  0d827af9f39146f0
65d0: 34 32 34 38 37 33 61 61 38 65 33 39 36 33 64 36  424873aa8e3963d6
65e0: 35 37 33 34 62 31 37 31 33 62 61 66 30 61 34 34  5734b1713baf0a44
65f0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6600: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6610: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
6620: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
6630: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
6640: 61 34 66 65 33 37 66 32 39 36 39 39 31 31 32 31  a4fe37f296991121
6650: 37 39 32 64 64 37 63 32 63 33 30 33 39 30 37 32  792dd7c2c3039072
6660: 35 61 31 65 65 62 62 66 32 30 62 37 36 36 61 35  5a1eebbf20b766a5
6670: 61 31 63 33 63 36 63 33 36 34 36 64 39 39 36 0a  a1c3c6c3646d996.
6680: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
6690: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37  ash_SHA3-256-2.7
66a0: 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  8 {SHA3_256Short
66b0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
66c0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
66d0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
66e0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
66f0: 20 68 65 78 20 64 36 35 62 39 66 38 38 31 64 31   hex d65b9f881d1
6700: 66 63 37 66 31 37 64 36 64 64 34 32 39 66 61 63  fc7f17d6dd429fac
6710: 61 38 34 30 34 65 36 63 65 36 30 66 62 61 37 64  a8404e6ce60fba7d
6720: 38 39 62 37 66 62 61 30 30 33 63 38 65 66 38 34  89b7fba003c8ef84
6730: 64 38 30 38 33 31 38 32 39 37 39 33 32 37 36 31  d808318297932761
6740: 31 66 63 33 34 31 32 39 31 62 61 38 30 64 63 37  1fc341291ba80dc7
6750: 30 61 64 33 62 32 66 32 38 62 36 64 32 39 62 39  0ad3b2f28b6d29b9
6760: 38 38 34 34 35 65 37 66 64 62 37 63 36 35 36 31  88445e7fdb7c6561
6770: 66 34 35 38 32 32 61 63 38 31 64 62 66 36 37 37  f45822ac81dbf677
6780: 61 30 62 32 37 64 39 36 31 64 63 36 33 35 38 5d  a0b27d961dc6358]
6790: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
67a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
67b0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
67c0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
67d0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 31  exact -result 51
67e0: 63 63 37 31 62 36 39 33 34 61 66 63 66 32 38 66  cc71b6934afcf28f
67f0: 61 34 39 39 34 32 62 37 36 33 32 33 66 33 36 63  a49942b76323f36c
6800: 64 36 61 30 61 65 63 63 35 61 30 65 34 39 63 31  d6a0aecc5a0e49c1
6810: 30 39 39 34 64 64 63 61 62 64 62 62 38 30 0a 0a  0994ddcabdbb80..
6820: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
6830: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 37 39  sh_SHA3-256-2.79
6840: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
6850: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6860: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
6870: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
6880: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6890: 68 65 78 20 37 31 31 63 38 38 61 64 66 31 33 65  hex 711c88adf13e
68a0: 37 61 30 65 36 39 34 36 35 32 66 32 62 39 61 33  7a0e694652f2b9a3
68b0: 39 37 35 34 33 66 34 39 33 37 66 61 66 62 34 63  97543f4937fafb4c
68c0: 63 63 61 37 66 31 61 64 31 64 39 33 63 66 37 34  cca7f1ad1d93cf74
68d0: 65 38 31 38 64 30 66 65 64 66 61 65 65 30 39 39  e818d0fedfaee099
68e0: 66 30 31 39 30 31 34 65 63 39 65 31 65 64 66 65  f019014ec9e1edfe
68f0: 39 63 30 33 66 64 62 31 31 66 65 36 34 39 32 61  9c03fdb11fe6492a
6900: 64 38 39 30 31 31 62 66 39 37 31 61 35 63 36 37  d89011bf971a5c67
6910: 34 34 36 31 64 65 31 35 64 61 66 66 31 66 34 34  4461de15daff1f44
6920: 62 34 37 61 64 61 64 33 30 38 62 61 61 33 31 34  b47adad308baa314
6930: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6940: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6950: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
6960: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
6970: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31   exact -result 1
6980: 37 38 30 65 35 32 65 33 30 36 38 35 38 34 37 38  780e52e306858478
6990: 32 39 30 63 34 36 62 30 34 64 38 30 36 38 66 30  290c46b04d8068f0
69a0: 37 38 61 37 66 36 61 64 38 65 33 37 39 30 61 36  78a7f6ad8e3790a6
69b0: 38 66 63 34 30 64 63 63 66 62 64 61 64 63 39 0a  8fc40dccfbdadc9.
69c0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
69d0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38  ash_SHA3-256-2.8
69e0: 30 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  0 {SHA3_256Short
69f0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
6a00: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
6a10: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
6a20: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6a30: 20 68 65 78 20 66 37 31 34 61 32 37 63 64 32 64   hex f714a27cd2d
6a40: 31 62 63 37 35 34 66 35 65 34 39 37 32 61 62 39  1bc754f5e4972ab9
6a50: 34 30 64 33 36 36 61 37 35 34 65 30 32 39 62 36  40d366a754e029b6
6a60: 35 33 36 36 35 35 64 39 37 37 39 35 36 61 32 63  536655d977956a2c
6a70: 35 33 38 38 30 33 33 32 34 32 34 64 64 66 35 39  53880332424ddf59
6a80: 37 65 36 38 36 36 61 32 32 62 66 63 61 37 61 61  7e6866a22bfca7aa
6a90: 32 36 62 37 64 37 34 62 63 34 63 39 32 35 30 31  26b7d74bc4c92501
6aa0: 34 63 34 65 64 33 37 62 66 65 33 37 32 34 35 66  4c4ed37bfe37245f
6ab0: 61 34 32 36 32 38 64 31 63 32 65 65 37 35 64 63  a42628d1c2ee75dc
6ac0: 39 30 39 65 64 63 34 36 39 65 65 33 34 35 32 64  909edc469ee3452d
6ad0: 38 39 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  894]} \..-body {
6ae0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
6af0: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
6b00: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6b10: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
6b20: 74 20 66 34 61 66 61 37 32 66 33 65 34 38 39 61  t f4afa72f3e489a
6b30: 64 34 37 33 64 63 32 34 37 61 61 65 33 35 33 64  d473dc247aae353d
6b40: 61 39 39 66 62 30 30 35 62 34 39 30 65 32 63 34  a99fb005b490e2c4
6b50: 65 31 66 35 62 64 31 36 61 39 39 37 33 32 62 31  e1f5bd16a99732b1
6b60: 30 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  00..tcltest::tes
6b70: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
6b80: 32 2e 38 31 20 7b 53 48 41 33 5f 32 35 36 53 68  2.81 {SHA3_256Sh
6b90: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6ba0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
6bb0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
6bc0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6bd0: 6f 64 65 20 68 65 78 20 66 65 30 63 33 32 38 30  ode hex fe0c3280
6be0: 34 32 32 63 34 65 66 36 63 38 32 31 31 36 65 39  422c4ef6c82116e9
6bf0: 34 37 64 61 38 39 66 33 34 34 64 36 66 66 39 39  47da89f344d6ff99
6c00: 37 62 66 31 61 65 63 36 38 30 37 65 37 33 37 39  7bf1aec6807e7379
6c10: 61 36 39 35 64 30 62 61 32 30 61 65 33 31 64 32  a695d0ba20ae31d2
6c20: 36 36 36 66 37 33 62 62 64 62 63 33 61 36 64 36  666f73bbdbc3a6d6
6c30: 61 63 32 63 31 32 64 63 66 62 35 61 37 39 31 37  ac2c12dcfb5a7917
6c40: 33 64 66 63 39 63 64 32 65 30 64 36 30 30 30 65  3dfc9cd2e0d6000e
6c50: 33 31 31 34 66 32 37 36 37 65 64 65 63 39 39 35  3114f2767edec995
6c60: 37 37 32 63 36 62 34 37 64 61 64 63 31 33 36 64  772c6b47dadc136d
6c70: 35 30 30 32 35 31 65 35 5d 7d 20 5c 0a 09 2d 62  500251e5]} \..-b
6c80: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6c90: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
6ca0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
6cb0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
6cc0: 72 65 73 75 6c 74 20 38 39 31 39 38 65 32 33 36  result 89198e236
6cd0: 33 65 66 64 34 65 30 62 61 37 61 38 61 34 35 66  3efd4e0ba7a8a45f
6ce0: 36 39 30 66 30 32 37 31 32 65 36 66 38 35 36 36  690f02712e6f8566
6cf0: 36 38 35 31 37 62 61 65 31 31 38 64 31 31 65 39  68517bae118d11e9
6d00: 61 39 64 63 37 63 63 0a 0a 74 63 6c 74 65 73 74  a9dc7cc..tcltest
6d10: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6d20: 2d 32 35 36 2d 32 2e 38 32 20 7b 53 48 41 33 5f  -256-2.82 {SHA3_
6d30: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
6d40: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
6d50: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
6d60: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6d70: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 32 65  y decode hex 02e
6d80: 32 33 38 34 36 31 64 30 61 39 39 64 34 39 63 34  238461d0a99d49c4
6d90: 63 64 31 36 66 34 34 32 65 64 66 36 38 32 63 33  cd16f442edf682c3
6da0: 39 62 39 33 31 31 34 66 63 33 64 37 39 66 38 35  9b93114fc3d79f85
6db0: 34 36 61 39 39 65 35 65 61 64 30 32 66 30 63 66  46a99e5ead02f0cf
6dc0: 63 34 35 30 38 31 35 36 31 64 61 34 34 62 35 63  c45081561da44b5c
6dd0: 37 30 65 62 34 38 33 34 30 34 31 38 37 30 37 66  70eb48340418707f
6de0: 64 36 62 32 36 31 34 35 38 30 64 35 63 35 38 31  d6b2614580d5c581
6df0: 38 36 38 62 61 33 32 66 31 65 65 33 61 63 33 34  868ba32f1ee3ac34
6e00: 62 66 36 32 32 34 38 34 35 62 33 32 62 61 37 66  bf6224845b32ba7f
6e10: 38 36 37 65 33 34 37 30 30 64 34 35 30 32 35 5d  867e34700d45025]
6e20: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
6e30: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6e40: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
6e50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6e60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 62  exact -result ab
6e70: 65 66 38 31 62 33 33 35 39 31 65 65 64 63 61 63  ef81b33591eedcac
6e80: 30 63 66 33 32 66 62 35 61 39 31 63 39 33 31 66  0cf32fb5a91c931f
6e90: 32 64 37 31 39 63 33 37 38 30 31 34 30 39 31 33  2d719c3780140913
6ea0: 33 35 35 32 31 37 30 63 65 35 30 64 62 66 0a 0a  3552170ce50dbf..
6eb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
6ec0: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38 33  sh_SHA3-256-2.83
6ed0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
6ee0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6ef0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
6f00: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
6f10: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6f20: 68 65 78 20 66 62 37 63 38 63 64 34 30 33 31 30  hex fb7c8cd40310
6f30: 30 37 66 38 31 35 39 64 35 63 34 63 36 31 32 30  07f8159d5c4c6120
6f40: 64 65 65 36 37 37 37 61 33 61 63 65 30 61 32 34  dee6777a3ace0a24
6f50: 35 62 35 36 66 33 31 65 38 61 61 65 37 38 32 38  5b56f31e8aae7828
6f60: 64 61 62 33 63 66 33 35 63 33 30 38 64 65 31 64  dab3cf35c308de1d
6f70: 30 64 36 38 34 35 39 32 65 66 33 61 39 65 35 35  0d684592ef3a9e55
6f80: 37 39 36 36 30 33 61 39 32 66 36 38 64 31 30 39  796603a92f68d109
6f90: 66 37 61 33 61 63 31 36 33 35 66 37 63 34 64 33  f7a3ac1635f7c4d3
6fa0: 33 34 39 35 35 36 31 34 63 38 31 32 37 35 33 34  34955614c8127534
6fb0: 33 31 62 62 30 61 30 37 34 33 32 39 31 61 30 66  31bb0a0743291a0f
6fc0: 63 34 31 35 34 37 66 33 5d 7d 20 5c 0a 09 2d 62  c41547f3]} \..-b
6fd0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6fe0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
6ff0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
7000: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
7010: 72 65 73 75 6c 74 20 35 61 36 37 32 38 34 64 33  result 5a67284d3
7020: 39 65 34 66 33 37 63 61 61 36 34 63 61 31 61 35  9e4f37caa64ca1a5
7030: 34 35 39 33 63 33 35 66 36 64 38 66 33 61 33 65  4593c35f6d8f3a3e
7040: 63 32 30 64 34 36 30 33 39 33 61 33 39 66 36 66  c20d460393a39f6f
7050: 35 37 63 34 34 38 36 0a 0a 74 63 6c 74 65 73 74  57c4486..tcltest
7060: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7070: 2d 32 35 36 2d 32 2e 38 34 20 7b 53 48 41 33 5f  -256-2.84 {SHA3_
7080: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
7090: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
70a0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
70b0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
70c0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 62 32  y decode hex 6b2
70d0: 65 38 36 38 63 37 64 30 65 65 31 63 32 34 30 64  e868c7d0ee1c240d
70e0: 33 61 36 37 65 32 66 64 66 33 36 65 38 65 32 33  3a67e2fdf36e8e23
70f0: 38 31 37 63 30 32 36 34 34 61 35 34 34 35 33 64  817c02644a54453d
7100: 31 30 34 35 34 64 61 35 38 35 39 64 34 31 65 38  10454da5859d41e8
7110: 33 33 61 35 32 38 35 65 63 36 33 65 38 63 65 32  33a5285ec63e8ce2
7120: 38 61 61 36 34 61 35 30 34 33 35 61 37 37 34 30  8aa64a50435a7740
7130: 65 65 61 34 62 37 64 35 38 32 37 38 39 32 36 37  eea4b7d582789267
7140: 38 62 33 35 39 39 33 64 33 66 35 64 61 37 61 31  8b35993d3f5da7a1
7150: 63 36 34 66 35 33 33 31 37 33 66 33 64 30 66 61  c64f533173f3d0fa
7160: 33 37 65 31 61 65 62 66 37 30 38 32 37 30 35 32  37e1aebf70827052
7170: 63 32 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  c26]} \..-body {
7180: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
7190: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
71a0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
71b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
71c0: 74 20 61 65 63 66 35 64 61 62 36 66 65 61 39 66  t aecf5dab6fea9f
71d0: 66 64 31 62 63 65 32 63 64 66 65 65 63 30 62 65  fd1bce2cdfeec0be
71e0: 65 39 64 32 31 34 61 36 36 39 65 38 33 30 36 64  e9d214a669e8306d
71f0: 35 62 36 36 38 38 61 66 61 38 39 35 37 66 63 39  5b6688afa8957fc9
7200: 31 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1f..tcltest::tes
7210: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
7220: 32 2e 38 35 20 7b 53 48 41 33 5f 32 35 36 53 68  2.85 {SHA3_256Sh
7230: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
7240: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
7250: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
7260: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
7270: 6f 64 65 20 68 65 78 20 65 35 66 33 62 61 30 30  ode hex e5f3ba00
7280: 30 63 34 33 62 62 36 61 63 61 34 65 30 61 37 31  0c43bb6aca4e0a71
7290: 31 61 37 35 39 31 32 61 34 38 32 34 31 63 66 66  1a75912a48241cff
72a0: 61 35 62 34 62 30 62 31 37 66 39 30 31 66 39 65  a5b4b0b17f901f9e
72b0: 35 30 39 37 64 39 34 30 33 36 63 32 30 35 66 37  5097d94036c205f7
72c0: 61 33 30 37 64 30 30 38 35 36 37 64 30 35 65 35  a307d008567d05e5
72d0: 38 61 63 30 64 66 61 66 36 64 39 37 31 62 66 39  8ac0dfaf6d971bf9
72e0: 64 33 64 34 35 30 63 66 32 63 37 63 38 33 66 36  d3d450cf2c7c83f6
72f0: 62 33 32 38 66 36 37 36 65 39 61 62 34 32 35 36  b328f676e9ab4256
7300: 34 32 66 35 61 35 61 37 31 65 33 38 39 64 63 34  42f5a5a71e389dc4
7310: 66 61 34 39 62 36 64 37 65 38 34 38 61 30 39 66  fa49b6d7e848a09f
7320: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
7330: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
7340: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
7350: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
7360: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31   exact -result 1
7370: 38 32 64 36 65 34 33 31 36 66 34 62 63 31 38 64  82d6e4316f4bc18d
7380: 37 31 36 33 62 31 62 32 31 34 36 32 64 39 39 66  7163b1b21462d99f
7390: 39 39 63 36 66 33 34 64 32 63 30 30 65 65 37 37  99c6f34d2c00ee77
73a0: 31 63 65 35 34 66 64 36 63 35 30 31 38 62 39 0a  1ce54fd6c5018b9.
73b0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
73c0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38  ash_SHA3-256-2.8
73d0: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
73e0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
73f0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
7400: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
7410: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7420: 20 68 65 78 20 39 33 39 63 36 31 65 36 38 61 66   hex 939c61e68af
7430: 35 65 32 66 64 62 37 35 61 32 65 65 62 62 31 35  5e2fdb75a2eebb15
7440: 39 61 38 35 62 30 63 38 37 61 31 32 36 63 65 32  9a85b0c87a126ce2
7450: 32 37 30 31 36 32 32 66 35 63 35 65 66 35 31 37  2701622f5c5ef517
7460: 63 33 61 62 30 65 64 34 39 32 62 31 36 35 30 61  c3ab0ed492b1650a
7470: 36 63 38 36 32 34 35 37 63 36 38 35 63 30 34 37  6c862457c685c047
7480: 33 32 31 39 38 36 34 35 62 39 35 66 38 34 63 63  32198645b95f84cc
7490: 62 30 65 37 32 36 61 30 37 63 65 31 33 32 38 32  b0e726a07ce13282
74a0: 37 61 30 34 34 64 63 37 36 62 33 34 64 33 66 31  7a044dc76b34d3f1
74b0: 39 61 38 31 37 32 31 66 31 65 61 33 36 35 62 63  9a81721f1ea365bc
74c0: 32 33 65 32 36 30 34 39 34 39 62 64 35 65 38 5d  23e2604949bd5e8]
74d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
74e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
74f0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
7500: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
7510: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 32  exact -result 12
7520: 31 30 35 37 62 30 62 39 61 36 32 37 62 65 30 37  1057b0b9a627be07
7530: 64 63 35 34 65 37 64 31 62 37 31 39 66 30 61 33  dc54e7d1b719f0a3
7540: 64 66 39 64 32 30 64 32 39 61 30 33 61 33 38 62  df9d20d29a03a38b
7550: 35 64 66 30 61 35 31 35 30 33 64 66 39 33 0a 0a  5df0a51503df93..
7560: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
7570: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38 37  sh_SHA3-256-2.87
7580: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
7590: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
75a0: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
75b0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
75c0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
75d0: 68 65 78 20 39 65 61 64 61 66 34 38 31 31 61 36  hex 9eadaf4811a6
75e0: 30 34 63 36 35 65 61 61 37 62 31 63 36 65 38 39  04c65eaa7b1c6e89
75f0: 66 32 63 30 61 62 39 36 62 65 62 65 63 32 35 61  f2c0ab96bebec25a
7600: 39 35 30 62 61 37 38 61 61 63 31 36 64 39 33 37  950ba78aac16d937
7610: 31 63 61 31 65 37 34 35 38 61 63 66 33 33 31 65  1ca1e7458acf331e
7620: 30 37 37 65 66 36 61 37 33 35 64 36 38 34 37 34  077ef6a735d68474
7630: 61 62 32 32 64 32 33 38 39 62 64 66 33 35 37 66  ab22d2389bdf357f
7640: 62 32 31 33 36 63 39 66 34 30 65 31 65 31 65 62  b2136c9f40e1e1eb
7650: 39 39 35 39 32 63 32 62 62 62 39 35 64 39 34 39  99592c2bbb95d949
7660: 33 31 30 31 36 62 34 64 33 37 66 61 61 30 38 62  31016b4d37faa08b
7670: 31 65 39 62 66 37 31 62 66 32 64 33 37 30 38 61  1e9bf71bf2d3708a
7680: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
7690: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
76a0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
76b0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
76c0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63   exact -result c
76d0: 32 33 37 31 39 34 62 39 30 32 65 34 38 64 63 61  237194b902e48dca
76e0: 35 62 64 30 39 36 63 62 35 31 35 36 32 30 37 39  5bd096cb51562079
76f0: 64 30 63 64 63 63 62 32 61 66 38 30 38 38 31 39  d0cdccb2af808819
7700: 37 36 37 36 63 31 37 62 30 38 39 36 62 65 32 0a  7676c17b0896be2.
7710: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
7720: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 38  ash_SHA3-256-2.8
7730: 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  8 {SHA3_256Short
7740: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
7750: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
7760: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
7770: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7780: 20 68 65 78 20 37 31 64 63 63 61 32 33 39 64 63   hex 71dcca239dc
7790: 65 64 32 61 63 35 63 63 34 39 61 39 62 66 39 65  ed2ac5cc49a9bf9e
77a0: 61 36 39 61 39 39 62 65 32 32 62 61 36 32 32 31  a69a99be22ba6221
77b0: 36 37 31 36 62 35 32 34 64 62 38 30 66 33 33 37  6716b524db80f337
77c0: 64 65 65 35 65 62 37 65 30 33 32 38 36 39 65 34  dee5eb7e032869e4
77d0: 61 64 63 31 34 39 37 62 61 62 64 31 66 61 38 32  adc1497babd1fa82
77e0: 66 61 38 63 33 63 66 62 64 33 30 64 32 65 61 64  fa8c3cfbd30d2ead
77f0: 66 62 34 63 35 64 34 30 66 39 39 66 39 64 31 39  fb4c5d40f99f9d19
7800: 34 64 37 31 38 32 63 39 63 62 37 64 34 31 65 38  4d7182c9cb7d41e8
7810: 61 64 62 64 63 66 32 39 31 37 65 30 38 36 37 38  adbdcf2917e08678
7820: 32 66 64 64 37 35 36 65 32 39 36 31 63 39 34 34  2fdd756e2961c944
7830: 30 37 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  070]} \..-body {
7840: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
7850: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
7860: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
7870: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
7880: 74 20 33 37 37 64 31 63 66 66 62 36 32 36 37 33  t 377d1cffb62673
7890: 35 38 31 30 62 36 31 33 66 64 33 31 65 66 39 62  5810b613fd31ef9b
78a0: 62 62 34 35 37 37 63 64 37 35 32 35 32 31 61 62  bb4577cd752521ab
78b0: 65 33 61 34 31 61 66 61 39 32 31 65 36 32 33 64  e3a41afa921e623d
78c0: 61 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  a0..tcltest::tes
78d0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
78e0: 32 2e 38 39 20 7b 53 48 41 33 5f 32 35 36 53 68  2.89 {SHA3_256Sh
78f0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
7900: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
7910: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
7920: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
7930: 6f 64 65 20 68 65 78 20 65 61 31 33 30 64 33 32  ode hex ea130d32
7940: 33 36 62 63 61 37 64 66 66 62 34 62 39 65 35 30  36bca7dffb4b9e50
7950: 65 38 30 35 33 30 39 61 35 30 33 65 37 33 34 37  e805309a503e7347
7960: 32 32 37 61 65 62 39 66 31 62 64 31 35 63 32 36  227aeb9f1bd15c26
7970: 33 61 39 38 64 64 36 35 37 35 33 64 32 65 65 64  3a98dd65753d2eed
7980: 61 61 37 33 34 62 39 61 64 38 38 66 34 31 31 35  aa734b9ad88f4115
7990: 38 66 33 32 34 31 39 63 61 35 32 39 66 33 30 36  8f32419ca529f306
79a0: 32 62 39 31 30 63 30 31 39 66 33 66 32 33 39 66  2b910c019f3f239f
79b0: 36 33 35 66 63 31 31 31 36 65 35 61 62 37 62 32  635fc1116e5ab7b2
79c0: 34 32 66 65 62 34 34 37 31 65 64 39 31 36 38 34  42feb4471ed91684
79d0: 37 34 65 35 30 31 64 33 39 64 36 62 61 65 35 32  74e501d39d6bae52
79e0: 63 63 32 31 30 36 31 61 5d 7d 20 5c 0a 09 2d 62  cc21061a]} \..-b
79f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7a00: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
7a10: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
7a20: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
7a30: 72 65 73 75 6c 74 20 38 35 63 37 61 35 32 64 35  result 85c7a52d5
7a40: 33 66 37 62 34 31 31 36 32 65 61 39 66 31 65 66  3f7b41162ea9f1ef
7a50: 30 64 30 37 63 33 66 62 38 66 30 65 63 36 32 31  0d07c3fb8f0ec621
7a60: 36 31 37 66 38 38 63 62 33 38 32 38 65 62 65 35  617f88cb3828ebe5
7a70: 33 38 38 61 62 33 64 0a 0a 74 63 6c 74 65 73 74  388ab3d..tcltest
7a80: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7a90: 2d 32 35 36 2d 32 2e 39 30 20 7b 53 48 41 33 5f  -256-2.90 {SHA3_
7aa0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
7ab0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
7ac0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
7ad0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
7ae0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 38 66  y decode hex 28f
7af0: 31 62 65 31 31 35 36 37 39 32 61 66 39 35 63 36  1be1156792af95c6
7b00: 66 37 32 65 39 37 31 62 66 31 62 36 34 65 30 31  f72e971bf1b64e01
7b10: 32 37 62 37 36 35 33 66 66 31 65 38 63 35 32 37  27b7653ff1e8c527
7b20: 66 36 39 38 39 30 37 61 32 37 64 31 35 34 34 38  f698907a27d15448
7b30: 31 35 65 33 38 63 37 37 34 35 35 32 39 62 63 38  15e38c7745529bc8
7b40: 35 39 32 36 30 38 33 32 34 31 36 66 32 62 34 31  59260832416f2b41
7b50: 63 64 30 31 65 36 30 63 35 30 36 32 33 39 61 37  cd01e60c506239a7
7b60: 62 66 37 35 35 33 36 35 30 62 66 37 30 64 31 66  bf7553650bf70d1f
7b70: 65 37 61 32 63 31 32 32 30 61 63 31 32 32 65 61  e7a2c1220ac122ea
7b80: 31 65 31 38 64 62 32 37 34 39 30 34 34 37 64 38  1e18db27490447d8
7b90: 35 34 35 61 37 30 62 66 30 66 66 63 38 66 61 5d  545a70bf0ffc8fa]
7ba0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
7bb0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
7bc0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
7bd0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
7be0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 32  exact -result b2
7bf0: 65 62 33 37 36 32 61 37 34 33 64 32 35 32 35 36  eb3762a743d25256
7c00: 37 37 39 36 36 39 32 38 36 33 62 35 35 36 33 36  7796692863b55636
7c10: 63 62 30 38 38 65 37 35 35 32 37 65 66 64 37 33  cb088e75527efd73
7c20: 30 36 61 32 66 36 65 33 61 34 38 61 38 35 0a 0a  06a2f6e3a48a85..
7c30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
7c40: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 31  sh_SHA3-256-2.91
7c50: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
7c60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
7c70: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
7c80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
7c90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
7ca0: 68 65 78 20 63 38 34 30 30 65 66 30 39 63 31 33  hex c8400ef09c13
7cb0: 65 38 61 63 63 38 61 37 32 32 35 38 66 35 64 31  e8acc8a72258f5d1
7cc0: 64 32 30 33 30 32 63 36 65 34 33 62 35 33 32 35  d20302c6e43b5325
7cd0: 30 63 32 66 36 63 33 38 66 66 31 35 62 65 37 37  0c2f6c38ff15be77
7ce0: 65 33 63 61 63 30 34 64 30 34 62 38 34 32 31 66  e3cac04d04b8421f
7cf0: 63 38 66 64 66 66 38 62 65 35 63 61 37 31 65 64  c8fdff8be5ca71ed
7d00: 64 31 30 38 65 39 32 38 37 62 34 32 64 65 61 33  d108e9287b42dea3
7d10: 33 38 62 66 38 35 39 31 30 30 65 65 61 33 37 36  38bf859100eea376
7d20: 64 61 30 38 61 30 65 36 39 35 66 30 64 63 39 30  da08a0e695f0dc90
7d30: 62 39 35 65 34 36 37 63 62 64 33 63 32 61 39 31  b95e467cbd3c2a91
7d40: 37 61 35 30 34 61 35 61 65 30 31 63 33 31 30 61  7a504a5ae01c310a
7d50: 65 38 30 32 63 34 62 64 5d 7d 20 5c 0a 09 2d 62  e802c4bd]} \..-b
7d60: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7d70: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
7d80: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
7d90: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
7da0: 72 65 73 75 6c 74 20 36 39 39 36 36 65 38 39 62  result 69966e89b
7db0: 37 62 63 37 66 33 39 63 64 38 35 37 39 31 62 39  7bc7f39cd85791b9
7dc0: 32 31 38 30 66 66 33 66 65 64 36 35 38 64 38 32  2180ff3fed658d82
7dd0: 34 30 65 33 39 33 65 31 65 36 64 37 63 32 34 62  40e393e1e6d7c24b
7de0: 38 64 30 61 63 39 35 0a 0a 74 63 6c 74 65 73 74  8d0ac95..tcltest
7df0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
7e00: 2d 32 35 36 2d 32 2e 39 32 20 7b 53 48 41 33 5f  -256-2.92 {SHA3_
7e10: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
7e20: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
7e30: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
7e40: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
7e50: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 34 38  y decode hex a48
7e60: 39 35 30 63 39 36 31 34 33 38 65 30 39 66 34 64  950c961438e09f4d
7e70: 30 35 34 61 63 36 36 61 34 39 38 65 35 66 31 61  054ac66a498e5f1a
7e80: 34 66 36 65 61 62 66 64 65 39 62 34 62 66 35 37  4f6eabfde9b4bf57
7e90: 37 36 31 38 32 66 30 65 34 33 62 63 62 63 65 35  76182f0e43bcbce5
7ea0: 64 64 34 33 36 33 31 38 66 37 33 66 61 33 66 39  dd436318f73fa3f9
7eb0: 32 32 32 30 63 65 65 31 61 30 66 66 30 37 65 66  2220cee1a0ff07ef
7ec0: 31 33 32 64 30 34 37 61 35 33 30 63 62 62 34 37  132d047a530cbb47
7ed0: 65 38 30 38 66 39 30 62 32 63 63 32 61 38 30 64  e808f90b2cc2a80d
7ee0: 63 39 61 31 64 64 31 61 62 32 62 62 32 37 34 64  c9a1dd1ab2bb274d
7ef0: 37 61 33 39 30 34 37 35 61 36 62 38 64 39 37 64  7a390475a6b8d97d
7f00: 63 64 34 63 33 65 32 36 66 66 64 65 36 65 31 37  cd4c3e26ffde6e17
7f10: 63 66 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  cf6]} \..-body {
7f20: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
7f30: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
7f40: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
7f50: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
7f60: 74 20 34 34 63 30 30 63 66 36 32 32 62 65 63 61  t 44c00cf622beca
7f70: 30 66 61 64 30 38 35 33 39 65 61 34 36 36 64 63  0fad08539ea466dc
7f80: 62 65 34 34 37 36 61 65 66 36 62 32 37 37 63 34  be4476aef6b277c4
7f90: 35 30 63 65 38 32 38 32 66 62 63 39 61 34 39 31  50ce8282fbc9a491
7fa0: 31 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  11..tcltest::tes
7fb0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
7fc0: 32 2e 39 33 20 7b 53 48 41 33 5f 32 35 36 53 68  2.93 {SHA3_256Sh
7fd0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
7fe0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
7ff0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
8000: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
8010: 6f 64 65 20 68 65 78 20 65 35 34 33 65 64 63 66  ode hex e543edcf
8020: 66 38 63 30 39 34 63 30 62 33 32 39 63 38 31 39  f8c094c0b329c819
8030: 30 62 33 31 63 30 33 66 61 38 36 66 30 36 61 63  0b31c03fa86f06ac
8040: 65 39 35 37 39 31 38 37 32 38 36 39 32 64 37 38  e957918728692d78
8050: 33 66 61 38 32 34 62 61 34 61 34 65 31 37 37 32  3fa824ba4a4e1772
8060: 61 66 62 65 32 64 33 66 35 63 62 61 37 30 31 32  afbe2d3f5cba7012
8070: 35 30 64 36 37 33 34 30 35 64 32 63 33 38 64 35  50d673405d2c38d5
8080: 32 63 35 32 35 32 32 63 38 31 38 39 34 37 62 63  2c52522c818947bc
8090: 63 30 33 37 33 38 33 35 62 31 39 38 63 34 63 63  c0373835b198c4cc
80a0: 38 30 62 30 32 39 64 32 30 38 38 34 61 63 38 63  80b029d20884ac8c
80b0: 35 30 38 39 33 63 33 66 35 36 35 64 35 32 38 61  50893c3f565d528a
80c0: 30 63 62 35 31 62 66 38 61 31 39 37 64 39 64 36  0cb51bf8a197d9d6
80d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
80e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
80f0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
8100: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
8110: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36   exact -result 6
8120: 64 35 32 36 30 33 38 34 66 33 63 65 66 64 33 37  d5260384f3cefd37
8130: 35 38 66 62 39 30 30 64 63 62 61 33 37 33 30 64  58fb900dcba3730d
8140: 32 62 32 33 63 65 65 30 33 64 31 39 37 61 62 65  2b23cee03d197abe
8150: 66 66 30 31 33 36 39 64 63 37 33 63 31 38 30 0a  ff01369dc73c180.
8160: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
8170: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39  ash_SHA3-256-2.9
8180: 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  4 {SHA3_256Short
8190: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
81a0: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
81b0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
81c0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
81d0: 20 68 65 78 20 34 65 31 30 61 62 36 33 31 37 31   hex 4e10ab63171
81e0: 38 61 61 35 66 36 65 36 39 65 65 32 63 37 65 31  8aa5f6e69ee2c7e1
81f0: 37 39 30 38 65 63 38 32 63 62 38 31 36 36 37 65  7908ec82cb81667e
8200: 35 30 38 66 36 39 38 31 66 33 38 31 34 37 39 30  508f6981f3814790
8210: 63 66 64 35 64 31 31 32 61 33 30 35 63 39 31 37  cfd5d112a305c917
8220: 36 32 63 30 62 64 39 64 64 37 38 65 39 33 65 66  62c0bd9dd78e93ef
8230: 33 61 36 34 63 38 62 65 37 37 61 66 39 34 35 62  3a64c8be77af945b
8240: 37 34 66 66 32 33 34 61 30 62 37 38 66 31 65 64  74ff234a0b78f1ed
8250: 39 36 32 64 30 64 36 38 30 34 31 66 32 37 36 64  962d0d68041f276d
8260: 35 65 61 34 30 65 38 61 36 33 66 32 63 61 62 30  5ea40e8a63f2cab0
8270: 61 34 61 39 65 64 33 35 32 36 63 38 63 35 32 33  a4a9ed3526c8c523
8280: 64 62 37 63 62 37 37 36 62 39 38 32 35 62 34 5d  db7cb776b9825b4]
8290: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
82a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
82b0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
82c0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
82d0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 38  exact -result d8
82e0: 38 65 35 66 33 62 32 64 30 61 36 39 38 66 64 39  8e5f3b2d0a698fd9
82f0: 34 33 32 33 33 37 36 30 61 33 30 30 30 61 33 33  43233760a3000a33
8300: 36 30 64 39 30 34 30 65 37 33 37 34 62 32 32 65  60d9040e7374b22e
8310: 33 39 65 61 35 38 64 38 36 38 31 30 32 64 0a 0a  39ea58d868102d..
8320: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
8330: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 35  sh_SHA3-256-2.95
8340: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
8350: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
8360: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
8370: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
8380: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
8390: 68 65 78 20 36 30 34 64 38 38 34 32 38 35 35 33  hex 604d88428553
83a0: 35 34 38 31 31 63 64 37 33 36 64 39 35 63 37 66  54811cd736d95c7f
83b0: 34 36 64 30 34 33 61 31 39 34 30 34 38 62 36 34  46d043a194048b64
83c0: 62 66 36 63 64 61 32 32 63 33 65 30 33 39 31 31  bf6cda22c3e03911
83d0: 31 33 64 63 63 37 32 33 65 38 38 31 61 65 32 61  13dcc723e881ae2a
83e0: 64 38 64 63 35 37 34 30 61 61 36 62 64 61 36 36  d8dc5740aa6bda66
83f0: 36 39 64 64 62 39 36 62 62 37 31 61 63 64 31 30  69ddb96bb71acd10
8400: 36 34 38 33 38 30 36 39 33 66 37 62 33 64 38 36  648380693f7b3d86
8410: 32 63 32 36 32 35 35 33 37 37 37 30 30 34 62 64  2c262553777004bd
8420: 36 38 35 32 38 33 31 36 31 38 35 31 39 66 62 62  6852831618519fbb
8430: 38 32 34 37 35 39 66 34 64 64 36 35 61 66 31 62  824759f4dd65af1b
8440: 32 61 37 39 63 63 30 31 30 39 36 64 37 63 38 64  2a79cc01096d7c8d
8450: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
8460: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
8470: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
8480: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
8490: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38   exact -result 8
84a0: 61 38 61 62 36 63 66 35 63 30 32 62 39 61 65 38  a8ab6cf5c02b9ae8
84b0: 66 34 63 31 37 30 37 34 30 65 66 66 31 35 39 32  f4c170740eff1592
84c0: 66 33 65 64 61 31 31 64 33 34 32 30 61 63 38 62  f3eda11d3420ac8b
84d0: 34 32 31 64 39 33 63 66 62 62 33 35 64 62 38 0a  421d93cfbb35db8.
84e0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
84f0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39  ash_SHA3-256-2.9
8500: 36 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74  6 {SHA3_256Short
8510: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
8520: 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a  ints SHA3_256 \.
8530: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
8540: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
8550: 20 68 65 78 20 36 32 38 31 38 30 65 31 34 66 34   hex 628180e14f4
8560: 31 65 62 64 66 64 65 33 62 34 34 33 39 64 65 35  1ebdfde3b4439de5
8570: 35 65 65 39 63 64 37 34 33 64 34 31 30 34 30 66  5ee9cd743d41040f
8580: 33 34 35 37 65 66 32 32 38 30 33 37 30 64 64 36  3457ef2280370dd6
8590: 35 39 36 31 39 66 61 30 63 65 36 39 35 38 30 63  59619fa0ce69580c
85a0: 37 30 39 37 32 35 62 32 37 35 61 36 65 64 61 38  709725b275a6eda8
85b0: 62 63 62 38 32 61 38 34 34 37 63 32 30 66 64 66  bcb82a8447c20fdf
85c0: 36 38 63 62 61 31 35 34 31 32 66 38 33 65 32 61  68cba15412f83e2a
85d0: 31 30 30 37 39 66 65 39 33 39 39 61 33 65 33 66  10079fe9399a3e3f
85e0: 61 36 31 39 37 35 65 63 30 61 36 34 30 34 31 63  a61975ec0a64041c
85f0: 30 65 63 64 65 35 39 65 34 38 34 34 65 39 66 38  0ecde59e4844e9f8
8600: 61 36 30 38 63 62 32 32 64 32 35 37 36 38 35 34  a608cb22d2576854
8610: 31 38 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  182]} \..-body {
8620: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
8630: 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61  est SHA3-256 -da
8640: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
8650: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
8660: 74 20 38 64 31 35 34 62 66 36 66 39 63 62 37 32  t 8d154bf6f9cb72
8670: 65 66 63 30 64 38 62 33 39 32 37 61 38 66 36 39  efc0d8b3927a8f69
8680: 30 30 36 30 64 31 64 34 38 62 62 65 35 63 63 37  0060d1d48bbe5cc7
8690: 32 30 39 34 64 32 63 38 62 31 34 39 61 37 35 31  2094d2c8b149a751
86a0: 33 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  32..tcltest::tes
86b0: 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d  t Hash_SHA3-256-
86c0: 32 2e 39 37 20 7b 53 48 41 33 5f 32 35 36 53 68  2.97 {SHA3_256Sh
86d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
86e0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
86f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
8700: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
8710: 6f 64 65 20 68 65 78 20 66 63 31 35 30 62 31 36  ode hex fc150b16
8720: 31 39 64 35 63 33 34 34 64 36 31 35 65 38 36 66  19d5c344d615e86f
8730: 63 61 31 61 37 32 33 66 34 65 65 62 32 34 66 62  ca1a723f4eeb24fb
8740: 65 32 31 62 31 32 66 61 63 64 65 33 36 31 35 61  e21b12facde3615a
8750: 30 34 37 34 34 65 66 35 34 64 38 61 37 31 39 31  04744ef54d8a7191
8760: 61 34 34 35 34 33 35 37 64 65 33 35 64 66 38 37  a4454357de35df87
8770: 38 63 62 33 30 35 36 39 32 32 37 38 36 34 38 37  8cb3056922786487
8780: 35 39 36 38 31 39 31 39 64 31 61 66 37 33 63 31  59681919d1af73c1
8790: 66 62 30 66 66 39 37 38 33 36 37 38 61 65 63 38  fb0ff9783678aec8
87a0: 33 38 64 61 39 33 33 64 62 30 33 37 36 65 31 36  38da933db0376e16
87b0: 32 39 66 63 63 61 33 66 33 32 39 31 33 66 38 34  29fcca3f32913f84
87c0: 62 63 32 66 66 33 66 66 63 33 66 32 36 31 64 32  bc2ff3ffc3f261d2
87d0: 33 31 32 66 35 39 31 63 5d 7d 20 5c 0a 09 2d 62  312f591c]} \..-b
87e0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
87f0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
8800: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
8810: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
8820: 72 65 73 75 6c 74 20 33 66 36 32 36 63 38 62 62  result 3f626c8bb
8830: 32 30 61 31 33 32 34 39 35 62 64 33 30 32 32 62  20a132495bd3022b
8840: 33 66 63 64 30 63 65 30 36 30 34 62 39 31 61 39  3fcd0ce0604b91a9
8850: 64 37 30 31 33 32 64 61 62 34 30 39 39 66 37 33  d70132dab4099f73
8860: 64 64 65 32 33 64 35 0a 0a 74 63 6c 74 65 73 74  dde23d5..tcltest
8870: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
8880: 2d 32 35 36 2d 32 2e 39 38 20 7b 53 48 41 33 5f  -256-2.98 {SHA3_
8890: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
88a0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
88b0: 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  3_256 \..-setup 
88c0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
88d0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 64 61  y decode hex 6da
88e0: 64 62 65 63 64 64 31 35 65 35 36 34 36 65 33 66  dbecdd15e5646e3f
88f0: 33 37 61 36 66 65 35 62 33 32 38 65 30 36 31 31  37a6fe5b328e0611
8900: 33 63 63 65 33 63 38 63 66 30 37 32 38 35 39 33  3cce3c8cf0728593
8910: 39 61 66 62 61 34 34 64 31 31 37 33 32 31 30 31  9afba44d11732101
8920: 37 39 30 32 62 33 61 39 64 32 66 66 35 31 66 36  7902b3a9d2ff51f6
8930: 30 64 31 38 65 31 62 35 38 35 64 63 64 66 33 34  0d18e1b585dcdf34
8940: 65 34 39 65 31 37 30 65 65 36 30 66 61 34 64 31  e49e170ee60fa4d1
8950: 64 63 32 34 36 35 34 38 64 32 63 31 66 63 33 38  dc246548d2c1fc38
8960: 65 37 39 38 33 66 34 32 37 36 39 63 34 33 64 36  e7983f42769c43d6
8970: 35 61 32 38 30 31 36 66 33 66 34 64 34 37 39 65  5a28016f3f4d479e
8980: 62 65 31 63 64 38 66 65 63 35 64 31 66 38 38 36  be1cd8fec5d1f886
8990: 64 64 32 31 61 63 61 35 30 36 37 64 39 34 66 5d  dd21aca5067d94f]
89a0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
89b0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
89c0: 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24  SHA3-256 -data $
89d0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
89e0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 30  exact -result 90
89f0: 39 38 65 61 33 34 63 34 30 62 35 34 31 62 31 35  98ea34c40b541b15
8a00: 33 65 38 30 61 38 62 64 39 32 64 61 31 39 34 33  3e80a8bd92da1943
8a10: 32 62 31 38 62 37 64 33 32 39 37 36 30 62 33 30  2b18b7d329760b30
8a20: 32 66 38 61 35 34 63 33 39 35 64 64 30 36 0a 0a  2f8a54c395dd06..
8a30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
8a40: 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 39 39  sh_SHA3-256-2.99
8a50: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
8a60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
8a70: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
8a80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
8a90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
8aa0: 68 65 78 20 39 63 63 35 66 64 33 30 33 35 62 37  hex 9cc5fd3035b7
8ab0: 32 64 63 36 33 62 38 63 33 63 33 32 36 66 64 30  2dc63b8c3c326fd0
8ac0: 31 33 30 38 31 65 36 62 38 37 31 36 66 35 32 36  13081e6b8716f526
8ad0: 64 33 66 65 31 37 36 62 34 35 32 35 36 64 34 63  d3fe176b45256d4c
8ae0: 33 37 63 63 33 64 63 38 34 31 37 64 66 66 34 39  37cc3dc8417dff49
8af0: 61 64 61 39 36 63 37 30 32 62 38 66 64 37 31 35  ada96c702b8fd715
8b00: 63 36 35 66 63 30 38 61 31 37 61 30 61 37 32 30  c65fc08a17a0a720
8b10: 62 39 63 66 31 65 65 64 66 64 34 39 32 32 63 63  b9cf1eedfd4922cc
8b20: 64 65 36 62 61 62 61 34 33 37 66 37 38 32 65 65  de6baba437f782ee
8b30: 33 33 62 39 35 33 37 31 30 35 36 62 30 33 35 30  33b95371056b0350
8b40: 64 61 64 37 34 33 34 37 30 63 33 62 36 36 33 32  dad743470c3b6632
8b50: 39 39 66 31 36 66 63 66 64 33 34 66 36 66 63 34  99f16fcfd34f6fc4
8b60: 35 39 63 64 30 65 65 34 5d 7d 20 5c 0a 09 2d 62  59cd0ee4]} \..-b
8b70: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
8b80: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
8b90: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
8ba0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
8bb0: 72 65 73 75 6c 74 20 62 30 63 30 34 66 32 34 62  result b0c04f24b
8bc0: 62 36 64 33 64 34 66 63 62 66 64 66 39 32 32 32  b6d3d4fcbfdf9222
8bd0: 64 30 65 38 38 36 66 31 65 62 36 30 61 30 35 36  d0e886f1eb60a056
8be0: 36 61 34 37 38 30 38 35 66 37 36 32 33 61 30 32  6a478085f7623a02
8bf0: 35 61 35 62 39 38 31 0a 0a 74 63 6c 74 65 73 74  5a5b981..tcltest
8c00: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
8c10: 2d 32 35 36 2d 32 2e 31 30 30 20 7b 53 48 41 33  -256-2.100 {SHA3
8c20: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
8c30: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
8c40: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
8c50: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
8c60: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 33  ry decode hex f3
8c70: 66 30 36 33 66 62 63 66 32 64 37 34 61 61 35 61  f063fbcf2d74aa5a
8c80: 30 32 64 32 34 30 63 39 36 32 65 64 37 62 62 31  02d240c962ed7bb1
8c90: 31 39 62 33 61 32 31 32 62 64 62 34 31 35 39 34  19b3a212bdb41594
8ca0: 65 32 38 34 32 38 31 30 38 65 36 31 33 31 35 32  e28428108e613152
8cb0: 65 64 31 36 65 30 31 65 34 35 31 66 63 66 37 30  ed16e01e451fcf70
8cc0: 32 62 30 65 35 61 30 38 66 38 32 65 62 31 32 36  2b0e5a08f82eb126
8cd0: 37 37 36 35 32 62 39 33 65 30 35 66 64 65 65 30  77652b93e05fdee0
8ce0: 30 61 65 38 36 63 66 32 64 63 39 61 31 66 62 66  0ae86cf2dc9a1fbf
8cf0: 30 35 62 39 33 39 35 32 65 63 35 62 38 35 31 35  05b93952ec5b8515
8d00: 65 61 63 63 33 32 34 66 62 38 33 30 65 31 65 63  eacc324fb830e1ec
8d10: 32 33 36 61 66 64 37 64 30 37 33 64 34 62 37 66  236afd7d073d4b7f
8d20: 37 61 62 31 63 32 65 30 34 38 62 39 39 63 62 66  7ab1c2e048b99cbf
8d30: 61 30 31 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  a012]} \..-body 
8d40: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8d50: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
8d60: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
8d70: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
8d80: 6c 74 20 66 39 33 30 64 37 39 33 36 30 62 35 38  lt f930d79360b58
8d90: 31 62 31 62 62 66 64 65 61 63 35 37 31 33 33 61  1b1bbfdeac57133a
8da0: 33 33 39 34 34 34 66 35 63 34 34 35 33 38 63 39  339444f5c44538c9
8db0: 32 31 36 33 31 65 61 62 61 66 30 35 38 32 37 37  21631eabaf058277
8dc0: 64 33 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  d32..tcltest::te
8dd0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
8de0: 2d 32 2e 31 30 31 20 7b 53 48 41 33 5f 32 35 36  -2.101 {SHA3_256
8df0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
8e00: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
8e10: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
8e20: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
8e30: 65 63 6f 64 65 20 68 65 78 20 38 34 30 37 33 39  ecode hex 840739
8e40: 61 33 64 36 39 39 32 63 31 33 65 63 36 33 65 36  a3d6992c13ec63e6
8e50: 64 62 66 34 36 66 39 64 36 38 37 35 62 32 62 64  dbf46f9d6875b2bd
8e60: 38 37 64 38 38 37 38 61 37 62 32 36 35 63 30 37  87d8878a7b265c07
8e70: 34 65 31 33 61 62 31 37 36 34 33 63 32 64 65 33  4e13ab17643c2de3
8e80: 35 36 61 64 34 61 37 62 66 64 61 36 64 33 63 30  56ad4a7bfda6d3c0
8e90: 63 63 39 66 66 33 38 31 36 33 38 39 36 33 65 34  cc9ff381638963e4
8ea0: 36 32 35 37 64 65 30 38 37 62 62 64 64 35 65 38  6257de087bbdd5e8
8eb0: 63 63 33 37 36 33 38 33 36 62 34 65 38 33 33 61  cc3763836b4e833a
8ec0: 34 32 31 37 38 31 37 39 31 64 66 63 61 65 39 39  421781791dfcae99
8ed0: 30 31 62 65 35 38 30 35 63 30 62 62 66 39 39 63  01be5805c0bbf99c
8ee0: 63 61 36 64 61 66 35 37 34 36 33 34 65 63 32 63  ca6daf574634ec2c
8ef0: 36 31 35 35 36 66 33 32 65 36 34 32 37 33 30 35  61556f32e6427305
8f00: 31 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  10]} \..-body {t
8f10: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
8f20: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
8f30: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
8f40: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
8f50: 20 31 39 37 39 35 36 35 37 65 30 38 63 66 62 62   19795657e08cfbb
8f60: 32 34 37 61 31 37 63 66 32 30 39 61 34 39 30 35  247a17cf209a4905
8f70: 66 34 36 65 34 64 64 66 35 38 65 65 61 34 37 66  f46e4ddf58eea47f
8f80: 65 65 65 30 62 65 39 62 62 39 66 35 63 34 36 30  eee0be9bb9f5c460
8f90: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
8fa0: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
8fb0: 2e 31 30 32 20 7b 53 48 41 33 5f 32 35 36 53 68  .102 {SHA3_256Sh
8fc0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
8fd0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
8fe0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
8ff0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
9000: 6f 64 65 20 68 65 78 20 34 61 35 31 62 34 39 33  ode hex 4a51b493
9010: 39 33 61 62 34 64 31 62 34 34 66 62 36 64 63 36  93ab4d1b44fb6dc6
9020: 36 32 38 38 35 35 61 33 34 65 37 63 39 34 64 31  628855a34e7c94d1
9030: 33 62 38 62 32 31 34 32 65 35 64 35 61 37 62 66  3b8b2142e5d5a7bf
9040: 38 31 30 65 32 30 32 63 65 66 64 63 61 35 30 65  810e202cefdca50e
9050: 33 37 38 30 38 34 34 61 33 33 62 39 39 34 32 66  3780844a33b9942f
9060: 38 39 65 35 63 35 62 37 64 64 36 61 66 62 30 61  89e5c5b7dd6afb0a
9070: 34 34 35 34 31 64 34 34 66 62 34 30 36 38 37 38  44541d44fb406878
9080: 35 39 37 38 30 61 66 35 30 32 35 66 65 63 63 38  59780af5025fecc8
9090: 35 65 31 30 63 66 38 32 34 39 34 32 39 61 33 62  5e10cf8249429a3b
90a0: 30 63 36 66 66 32 64 36 38 63 33 35 30 63 38 37  0c6ff2d68c350c87
90b0: 63 32 66 63 62 66 39 33 36 62 64 39 64 65 35 37  c2fcbf936bd9de57
90c0: 30 31 62 32 63 34 38 63 65 39 61 33 33 30 63 39  01b2c48ce9a330c9
90d0: 65 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  ee]} \..-body {t
90e0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
90f0: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
9100: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
9110: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
9120: 20 31 32 38 66 62 34 31 31 34 65 34 33 65 65 66   128fb4114e43eef
9130: 64 31 39 32 37 37 63 37 30 38 62 65 39 65 36 38  d19277c708be9e68
9140: 37 33 65 36 36 64 37 66 64 35 39 63 35 38 61 31  73e66d7fd59c58a1
9150: 34 38 35 62 37 62 30 31 35 66 61 63 66 61 37 39  485b7b015facfa79
9160: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
9170: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
9180: 2e 31 30 33 20 7b 53 48 41 33 5f 32 35 36 53 68  .103 {SHA3_256Sh
9190: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
91a0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
91b0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
91c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
91d0: 6f 64 65 20 68 65 78 20 61 66 63 33 30 39 65 36  ode hex afc309e6
91e0: 62 37 62 37 34 64 66 62 30 64 33 36 38 65 33 38  b7b74dfb0d368e38
91f0: 39 34 32 36 36 66 63 34 61 37 30 36 63 33 33 32  94266fc4a706c332
9200: 35 65 32 31 66 35 35 35 30 64 30 37 61 36 35 36  5e21f5550d07a656
9210: 30 65 33 64 39 37 30 33 63 31 33 34 63 61 36 61  0e3d9703c134ca6a
9220: 64 30 37 38 65 34 61 37 62 38 32 61 64 36 66 61  d078e4a7b82ad6fa
9230: 38 35 62 30 62 63 31 64 64 63 61 62 30 35 64 34  85b0bc1ddcab05d4
9240: 33 66 32 39 64 35 63 35 38 64 31 64 61 37 38 61  3f29d5c58d1da78a
9250: 63 38 30 63 33 37 30 35 31 62 30 38 39 66 66 33  c80c37051b089ff3
9260: 31 63 65 32 63 30 63 34 34 65 39 63 65 33 61 62  1ce2c0c44e9ce3ab
9270: 65 61 31 64 61 30 66 31 64 66 32 38 30 30 38 65  ea1da0f1df28008e
9280: 31 37 38 66 64 65 66 61 66 63 61 34 39 33 34 31  178fdefafca49341
9290: 33 62 66 31 64 32 35 36 63 37 32 39 64 30 61 39  3bf1d256c729d0a9
92a0: 32 32 35 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  225e]} \..-body 
92b0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
92c0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
92d0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
92e0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
92f0: 6c 74 20 30 33 65 37 38 32 62 30 31 61 34 62 61  lt 03e782b01a4ba
9300: 31 30 66 36 34 30 34 37 30 62 62 33 63 61 65 34  10f640470bb3cae4
9310: 38 37 65 62 39 63 62 62 61 61 62 38 63 39 39 34  87eb9cbbaab8c994
9320: 31 39 37 38 62 31 39 34 66 36 61 33 31 32 63 66  1978b194f6a312cf
9330: 37 39 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  79e..tcltest::te
9340: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
9350: 2d 32 2e 31 30 34 20 7b 53 48 41 33 5f 32 35 36  -2.104 {SHA3_256
9360: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
9370: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
9380: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
9390: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
93a0: 65 63 6f 64 65 20 68 65 78 20 63 35 61 65 37 35  ecode hex c5ae75
93b0: 30 66 32 32 33 30 36 34 32 30 39 32 33 39 37 62  0f2230642092397b
93c0: 38 34 61 64 35 35 32 36 63 34 36 61 65 39 34 38  84ad5526c46ae948
93d0: 30 61 64 61 31 36 38 39 32 38 31 36 65 30 66 32  0ada16892816e0f2
93e0: 64 62 37 36 39 30 62 37 35 31 30 33 35 36 35 33  db7690b751035653
93f0: 65 61 32 66 33 33 64 61 33 63 63 34 31 36 38 62  ea2f33da3cc4168b
9400: 35 39 31 62 34 36 61 35 35 34 38 65 66 66 37 64  591b46a5548eff7d
9410: 30 31 32 66 36 30 63 63 66 64 62 62 38 35 34 64  012f60ccfdbb854d
9420: 65 65 63 39 66 30 38 38 30 63 34 37 32 64 65 38  eec9f0880c472de8
9430: 65 31 32 37 62 35 31 34 34 63 35 36 31 34 37 63  e127b5144c56147c
9440: 63 63 65 65 34 37 33 32 66 62 61 63 36 38 66 63  ccee4732fbac68fc
9450: 35 39 61 34 38 64 61 37 34 62 33 33 65 64 39 65  59a48da74b33ed9e
9460: 36 34 33 36 34 34 62 62 65 32 37 39 37 39 35 63  643644bbe279795c
9470: 37 63 37 33 37 65 62 61 5d 7d 20 5c 0a 09 2d 62  7c737eba]} \..-b
9480: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
9490: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
94a0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
94b0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
94c0: 72 65 73 75 6c 74 20 66 36 34 62 37 61 62 32 34  result f64b7ab24
94d0: 33 63 65 36 65 36 63 30 34 62 34 38 33 38 38 38  3ce6e6c04b483888
94e0: 62 61 38 61 36 35 35 34 36 35 63 32 31 64 39 35  ba8a655465c21d95
94f0: 65 62 36 30 63 37 62 38 64 36 65 35 36 36 61 33  eb60c7b8d6e566a3
9500: 38 31 31 62 61 65 32 0a 0a 74 63 6c 74 65 73 74  811bae2..tcltest
9510: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
9520: 2d 32 35 36 2d 32 2e 31 30 35 20 7b 53 48 41 33  -256-2.105 {SHA3
9530: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
9540: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
9550: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
9560: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
9570: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 30  ry decode hex 60
9580: 33 65 31 33 66 36 31 34 39 39 65 31 32 65 63 36  3e13f61499e12ec6
9590: 62 33 33 62 36 38 38 34 37 61 32 38 31 64 33 31  b33b68847a281d31
95a0: 34 66 35 34 64 63 37 30 35 63 30 66 33 66 63 34  4f54dc705c0f3fc4
95b0: 32 38 39 38 31 66 66 35 36 38 39 63 30 34 62 35  28981ff5689c04b5
95c0: 31 39 66 61 64 66 38 33 63 62 63 39 66 63 64 30  19fadf83cbc9fcd0
95d0: 34 30 39 63 33 32 36 30 33 35 30 34 35 64 66 34  409c326035045df4
95e0: 38 30 35 37 30 65 32 36 35 62 62 30 38 30 39 34  80570e265bb08094
95f0: 30 30 33 37 63 65 34 30 37 36 61 33 36 34 33 37  0037ce4076a36437
9600: 61 61 66 64 62 33 37 31 63 31 61 36 32 61 66 39  aafdb371c1a62af9
9610: 61 64 39 62 36 31 34 64 66 65 66 38 39 37 30 38  ad9b614dfef89708
9620: 66 62 62 62 35 65 62 65 66 32 63 62 39 35 32 38  fbbb5ebef2cb9528
9630: 63 63 33 39 39 37 38 31 65 34 63 35 62 32 32 66  cc399781e4c5b22f
9640: 31 61 61 34 64 62 61 36 32 33 38 30 39 66 5d 7d  1aa4dba623809f]}
9650: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
9660: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
9670: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
9680: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
9690: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 66 37  xact -result 5f7
96a0: 36 39 36 32 66 64 33 64 33 37 33 65 35 64 62 32  6962fd3d373e5db2
96b0: 39 35 33 63 30 38 32 33 61 35 31 66 65 38 31 66  953c0823a51fe81f
96c0: 38 37 34 34 35 30 62 65 64 66 37 65 34 36 38 37  874450bedf7e4687
96d0: 36 33 39 34 62 30 34 64 33 65 66 36 36 0a 0a 74  6394b04d3ef66..t
96e0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
96f0: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 30 36  h_SHA3-256-2.106
9700: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
9710: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
9720: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
9730: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
9740: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
9750: 68 65 78 20 65 30 33 31 31 35 63 66 61 31 39 65  hex e03115cfa19e
9760: 66 63 64 37 39 36 64 61 33 38 39 30 36 33 63 34  fcd796da389063c4
9770: 62 65 36 61 63 63 65 36 38 34 64 39 38 33 66 38  be6acce684d983f8
9780: 65 64 66 62 33 64 61 36 38 38 37 62 30 62 39 34  edfb3da6887b0b94
9790: 66 62 62 35 65 38 39 65 33 61 31 61 38 65 36 34  fbb5e89e3a1a8e64
97a0: 66 64 64 36 38 66 30 36 37 30 62 31 61 30 32 63  fdd68f0670b1a02c
97b0: 32 63 33 33 33 38 34 61 36 36 30 63 35 61 32 32  2c33384a660c5a22
97c0: 36 36 62 33 61 65 38 61 33 62 34 63 64 37 36 66  66b3ae8a3b4cd76f
97d0: 61 65 63 66 30 31 31 61 37 34 36 37 62 39 62 32  aecf011a7467b9b2
97e0: 61 38 31 38 30 32 30 32 37 38 61 35 61 35 37 64  a818020278a5a57d
97f0: 31 65 62 31 63 38 37 66 31 32 32 34 63 32 64 36  1eb1c87f1224c2d6
9800: 37 64 64 30 32 65 38 31 66 31 35 35 33 65 62 37  7dd02e81f1553eb7
9810: 35 38 34 31 35 33 32 63 32 62 37 63 63 61 38 66  5841532c2b7cca8f
9820: 65 35 65 34 31 38 5d 7d 20 5c 0a 09 2d 62 6f 64  e5e418]} \..-bod
9830: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
9840: 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20  digest SHA3-256 
9850: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
9860: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
9870: 73 75 6c 74 20 64 31 30 37 65 65 36 65 65 34 61  sult d107ee6ee4a
9880: 35 38 38 37 31 61 33 33 63 34 39 36 35 37 66 61  58871a33c49657fa
9890: 61 32 35 37 33 65 34 37 35 66 31 31 39 31 38 63  a2573e475f11918c
98a0: 34 61 34 65 33 38 30 31 64 30 65 31 37 66 62 39  4a4e3801d0e17fb9
98b0: 33 63 36 65 33 0a 0a 74 63 6c 74 65 73 74 3a 3a  3c6e3..tcltest::
98c0: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32  test Hash_SHA3-2
98d0: 35 36 2d 32 2e 31 30 37 20 7b 53 48 41 33 5f 32  56-2.107 {SHA3_2
98e0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
98f0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
9900: 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _256 \..-setup {
9910: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
9920: 20 64 65 63 6f 64 65 20 68 65 78 20 30 65 36 63   decode hex 0e6c
9930: 31 64 35 38 62 31 62 39 64 33 61 32 64 33 39 39  1d58b1b9d3a2d399
9940: 61 61 66 64 36 30 35 32 39 65 30 37 64 34 38 33  aafd60529e07d483
9950: 61 32 37 35 35 62 62 37 65 34 34 63 33 37 33 62  a2755bb7e44c373b
9960: 35 33 35 35 36 33 32 64 35 66 63 61 37 36 64 36  5355632d5fca76d6
9970: 66 66 35 36 63 39 33 61 66 39 33 64 64 63 65 63  ff56c93af93ddcec
9980: 35 65 64 36 66 36 32 37 35 33 34 32 30 63 31 62  5ed6f62753420c1b
9990: 31 37 35 38 65 34 38 35 34 32 64 66 37 62 38 32  1758e48542df7b82
99a0: 34 62 30 30 61 33 61 35 34 64 66 61 66 30 34 37  4b00a3a54dfaf047
99b0: 30 62 31 38 64 35 31 65 33 31 65 31 30 62 31 32  0b18d51e31e10b12
99c0: 64 64 38 65 33 32 34 62 35 64 63 31 62 62 38 66  dd8e324b5dc1bb8f
99d0: 33 62 37 33 30 35 63 62 37 36 32 65 63 36 65 66  3b7305cb762ec6ef
99e0: 31 33 37 64 61 64 66 66 64 34 61 32 34 36 36 37  137dadffd4a24667
99f0: 34 38 38 36 31 64 39 30 30 34 66 36 32 36 62 30  48861d9004f626b0
9a00: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
9a10: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
9a20: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
9a30: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
9a40: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30   exact -result 0
9a50: 32 61 62 32 64 62 62 30 32 39 34 34 33 35 34 37  2ab2dbb029443547
9a60: 39 39 30 35 31 32 34 37 62 31 61 32 35 63 31 39  99051247b1a25c19
9a70: 66 33 36 39 36 65 31 61 66 63 62 35 30 32 62 38  f3696e1afcb502b8
9a80: 35 39 65 38 33 37 39 38 62 33 33 66 64 37 37 0a  59e83798b33fd77.
9a90: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
9aa0: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
9ab0: 30 38 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  08 {SHA3_256Shor
9ac0: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
9ad0: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
9ae0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
9af0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
9b00: 65 20 68 65 78 20 36 64 62 32 61 34 33 61 32 32  e hex 6db2a43a22
9b10: 39 62 31 30 63 33 36 32 39 32 34 39 66 63 35 31  9b10c3629249fc51
9b20: 33 36 34 36 38 62 34 64 38 34 64 66 37 62 38 39  36468b4d84df7b89
9b30: 65 63 39 30 65 62 66 37 61 61 37 61 30 33 36 63  ec90ebf7aa7a036c
9b40: 35 33 61 61 32 64 66 66 61 65 39 65 38 31 62 32  53aa2dffae9e81b2
9b50: 63 36 30 35 38 30 35 34 33 64 63 37 30 36 61 35  c60580543dc706a5
9b60: 65 33 34 35 37 61 62 63 38 37 65 32 34 38 61 36  e3457abc87e248a6
9b70: 30 65 63 32 39 31 35 30 63 32 64 32 32 31 61 36  0ec29150c2d221a6
9b80: 65 63 30 38 61 31 66 64 61 34 65 63 30 64 61 65  ec08a1fda4ec0dae
9b90: 65 38 35 37 36 39 30 34 65 63 37 61 62 30 35 39  e8576904ec7ab059
9ba0: 62 31 32 33 30 65 37 62 64 39 33 63 34 65 35 35  b1230e7bd93c4e55
9bb0: 62 61 39 34 39 36 63 62 62 31 65 33 35 32 65 35  ba9496cbb1e352e5
9bc0: 62 38 30 38 36 65 33 30 33 62 39 34 63 38 36 31  b8086e303b94c861
9bd0: 32 38 38 63 65 35 33 63 34 36 36 62 5d 7d 20 5c  288ce53c466b]} \
9be0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
9bf0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
9c00: 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74  3-256 -data $dat
9c10: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
9c20: 63 74 20 2d 72 65 73 75 6c 74 20 38 63 63 34 64  ct -result 8cc4d
9c30: 33 39 62 32 66 35 62 61 30 62 63 39 64 32 65 65  39b2f5ba0bc9d2ee
9c40: 32 61 38 37 37 37 63 66 30 38 35 33 33 65 36 30  2a8777cf08533e60
9c50: 63 63 36 39 62 36 35 61 37 62 33 31 63 35 63 32  cc69b65a7b31c5c2
9c60: 31 32 31 31 39 33 61 61 33 31 65 0a 0a 74 63 6c  121193aa31e..tcl
9c70: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
9c80: 53 48 41 33 2d 32 35 36 2d 32 2e 31 30 39 20 7b  SHA3-256-2.109 {
9c90: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
9ca0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
9cb0: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
9cc0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
9cd0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
9ce0: 78 20 33 31 64 39 39 35 66 37 66 66 38 62 36 64  x 31d995f7ff8b6d
9cf0: 65 37 30 38 32 39 61 38 33 33 36 63 36 31 30 66  e70829a8336c610f
9d00: 31 30 64 66 32 63 38 36 36 31 30 37 61 34 39 32  10df2c866107a492
9d10: 32 62 32 35 31 35 31 38 34 39 66 38 35 36 36 38  2b25151849f85668
9d20: 36 31 64 66 35 61 37 39 31 36 33 64 30 32 37 36  61df5a79163d0276
9d30: 37 66 32 31 33 35 37 61 64 38 32 37 33 33 39 39  7f21357ad8273399
9d40: 37 38 39 39 32 36 31 66 30 33 64 61 66 62 31 63  7899261f03dafb1c
9d50: 65 31 30 35 36 66 32 30 65 66 64 31 36 64 34 33  e1056f20efd16d43
9d60: 37 34 62 38 39 37 36 38 35 36 35 38 32 33 63 33  74b89768565823c3
9d70: 38 65 31 39 65 38 39 39 64 39 31 30 62 38 34 37  8e19e899d910b847
9d80: 62 30 32 33 66 31 38 36 37 62 36 65 34 66 65 64  b023f1867b6e4fed
9d90: 30 32 65 36 30 34 62 38 32 34 33 63 30 62 63 37  02e604b8243c0bc7
9da0: 63 62 30 35 62 39 65 61 31 66 31 37 39 35 35 62  cb05b9ea1f17955b
9db0: 66 61 33 36 36 39 38 63 39 63 5d 7d 20 5c 0a 09  fa36698c9c]} \..
9dc0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
9dd0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d  st -digest SHA3-
9de0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
9df0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
9e00: 20 2d 72 65 73 75 6c 74 20 63 39 39 63 37 31 39   -result c99c719
9e10: 31 62 33 34 63 39 61 64 33 66 39 34 31 64 34 61  1b34c9ad3f941d4a
9e20: 64 34 34 32 63 63 38 36 35 32 30 35 63 62 62 34  d442cc865205cbb4
9e30: 63 32 61 36 39 32 37 63 35 39 32 65 38 33 31 63  c2a6927c592e831c
9e40: 62 63 34 64 33 36 66 63 66 0a 0a 74 63 6c 74 65  bc4d36fcf..tclte
9e50: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
9e60: 41 33 2d 32 35 36 2d 32 2e 31 31 30 20 7b 53 48  A3-256-2.110 {SH
9e70: 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20  A3_256ShortMsg} 
9e80: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
9e90: 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74  SHA3_256 \..-set
9ea0: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
9eb0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
9ec0: 63 62 30 62 38 63 62 37 64 65 36 32 31 63 38 65  cb0b8cb7de621c8e
9ed0: 30 61 30 66 63 36 62 65 32 66 63 31 38 64 30 65  0a0fc6be2fc18d0e
9ee0: 38 38 31 38 61 32 63 32 64 64 30 62 33 32 31 39  8818a2c2dd0b3219
9ef0: 66 61 38 37 38 33 31 61 36 31 35 38 33 66 39 30  fa87831a61583f90
9f00: 33 63 34 64 31 30 35 34 39 35 39 37 36 63 63 61  3c4d105495976cca
9f10: 63 39 37 33 62 33 61 65 33 61 30 39 37 37 31 31  c973b3ae3a097711
9f20: 34 35 39 33 31 61 39 65 37 34 63 31 39 66 32 32  45931a9e74c19f22
9f30: 66 34 35 63 62 61 34 63 34 39 32 62 32 39 62 31  f45cba4c492b29b1
9f40: 34 30 31 33 34 37 31 32 32 35 38 31 64 66 65 32  401347122581dfe2
9f50: 33 37 30 64 33 65 30 33 35 39 35 37 38 63 64 31  370d3e0359578cd1
9f60: 30 61 33 35 35 63 36 31 39 37 31 31 38 31 30 61  0a355c619711810a
9f70: 38 66 38 63 32 33 32 35 37 38 36 37 31 33 31 32  8f8c232578671312
9f80: 63 30 61 34 35 63 37 63 66 37 65 38 31 62 64 64  c0a45c7cf7e81bdd
9f90: 33 62 32 34 39 30 34 34 66 33 5d 7d 20 5c 0a 09  3b249044f3]} \..
9fa0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
9fb0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d  st -digest SHA3-
9fc0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
9fd0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
9fe0: 20 2d 72 65 73 75 6c 74 20 36 64 32 66 35 37 61   -result 6d2f57a
9ff0: 37 65 34 32 62 33 35 33 36 39 63 66 32 63 64 36  7e42b35369cf2cd6
a000: 30 63 61 66 39 65 36 35 61 63 61 37 64 39 61 61  0caf9e65aca7d9aa
a010: 30 31 39 65 36 38 32 34 62 62 38 30 36 33 34 38  019e6824bb806348
a020: 66 31 61 63 66 33 63 37 63 0a 0a 74 63 6c 74 65  f1acf3c7c..tclte
a030: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
a040: 41 33 2d 32 35 36 2d 32 2e 31 31 31 20 7b 53 48  A3-256-2.111 {SH
a050: 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20  A3_256ShortMsg} 
a060: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
a070: 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74  SHA3_256 \..-set
a080: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
a090: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
a0a0: 34 38 64 66 66 37 38 61 65 64 35 66 36 65 38 32  48dff78aed5f6e82
a0b0: 33 30 35 34 39 32 34 61 37 38 64 63 31 62 38 65  3054924a78dc1b8e
a0c0: 35 31 61 31 31 37 66 31 36 31 30 31 38 31 35 32  51a117f161018152
a0d0: 39 66 36 64 31 36 34 65 62 66 30 66 36 34 30 36  9f6d164ebf0f6406
a0e0: 66 30 62 30 32 34 32 32 63 61 64 38 63 39 31 36  f0b02422cad8c916
a0f0: 38 32 33 37 35 39 61 33 36 31 34 33 37 63 61 31  823759a361437ca1
a100: 37 34 32 33 64 33 66 64 38 34 63 63 38 61 66 65  7423d3fd84cc8afe
a110: 34 38 36 61 33 31 63 63 64 61 30 31 63 37 33 32  486a31ccda01c732
a120: 36 38 35 34 31 38 61 33 32 63 30 36 34 61 37 62  685418a32c064a7b
a130: 39 65 66 66 62 32 38 38 65 38 31 31 65 63 63 39  9effb288e811ecc9
a140: 39 61 64 62 32 61 37 35 39 66 65 65 63 63 33 66  9adb2a759feecc3f
a150: 37 30 32 66 33 31 64 39 38 37 37 64 63 64 62 37  702f31d9877dcdb7
a160: 31 37 39 33 37 63 31 35 66 61 32 66 31 36 33 62  17937c15fa2f163b
a170: 65 61 37 34 34 34 30 30 66 35 38 63 5d 7d 20 5c  ea744400f58c]} \
a180: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
a190: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
a1a0: 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74  3-256 -data $dat
a1b0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
a1c0: 63 74 20 2d 72 65 73 75 6c 74 20 31 34 62 36 33  ct -result 14b63
a1d0: 31 66 30 66 30 30 61 33 30 32 34 61 64 31 38 31  1f0f00a3024ad181
a1e0: 30 64 61 62 66 30 32 37 31 31 65 32 38 34 34 39  0dabf02711e28449
a1f0: 36 36 38 61 62 65 32 37 66 36 39 33 38 30 39 34  668abe27f6938094
a200: 32 32 36 38 39 36 38 64 34 66 36 0a 0a 74 63 6c  2268968d4f6..tcl
a210: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
a220: 53 48 41 33 2d 32 35 36 2d 32 2e 31 31 32 20 7b  SHA3-256-2.112 {
a230: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
a240: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
a250: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
a260: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
a270: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
a280: 78 20 30 36 63 63 39 66 61 35 34 32 63 65 62 33  x 06cc9fa542ceb3
a290: 35 63 38 38 66 62 36 61 62 38 32 63 32 39 64 35  5c88fb6ab82c29d5
a2a0: 64 63 64 35 33 30 66 38 30 37 64 33 66 31 63 33  dcd530f807d3f1c3
a2b0: 62 63 62 33 39 37 34 34 32 31 31 30 31 64 31 61  bcb3974421101d1a
a2c0: 61 36 61 63 31 31 32 64 65 36 62 66 39 37 39 63  a6ac112de6bf979c
a2d0: 64 32 38 65 62 30 66 37 30 63 34 30 62 63 61 66  d28eb0f70c40bcaf
a2e0: 39 31 65 64 33 65 63 61 39 62 66 39 65 30 64 62  91ed3eca9bf9e0db
a2f0: 63 36 61 30 62 37 33 32 37 31 64 31 63 37 35 30  c6a0b73271d1c750
a300: 36 37 34 30 63 61 39 65 62 66 62 37 32 64 35 65  6740ca9ebfb72d5e
a310: 30 30 61 63 35 63 65 31 38 39 31 39 33 66 66 61  00ac5ce189193ffa
a320: 33 30 38 38 30 34 62 34 32 61 36 64 32 30 34 30  308804b42a6d2040
a330: 32 62 62 39 39 30 33 31 63 64 61 63 36 35 65 63  2bb99031cdac65ec
a340: 33 36 65 62 37 66 35 39 66 35 64 32 39 39 64 66  36eb7f59f5d299df
a350: 32 65 30 62 38 36 39 30 66 37 36 30 62 39 61 30  2e0b8690f760b9a0
a360: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
a370: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
a380: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
a390: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
a3a0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35   exact -result 5
a3b0: 37 34 66 64 38 32 61 39 66 63 65 62 38 66 37 62  74fd82a9fceb8f7b
a3c0: 62 62 66 32 34 34 64 31 36 65 30 34 31 32 63 62  bbf244d16e0412cb
a3d0: 64 61 38 31 35 33 62 37 32 30 38 34 36 63 33 32  da8153b720846c32
a3e0: 62 38 66 31 30 66 65 35 37 37 39 61 38 38 31 0a  b8f10fe5779a881.
a3f0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
a400: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
a410: 31 33 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  13 {SHA3_256Shor
a420: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
a430: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
a440: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
a450: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
a460: 65 20 68 65 78 20 38 64 39 33 36 32 37 63 30 62  e hex 8d93627c0b
a470: 37 63 62 66 36 31 61 37 66 65 37 30 65 37 38 63  7cbf61a7fe70e78c
a480: 32 63 38 65 64 32 33 62 31 33 34 34 62 34 63 66  2c8ed23b1344b4cf
a490: 65 64 33 31 62 64 38 35 39 38 30 64 64 33 37 62  ed31bd85980dd37b
a4a0: 34 36 39 30 65 35 62 38 37 35 38 66 37 64 36 64  4690e5b8758f7d6d
a4b0: 32 32 36 39 39 35 37 61 33 39 61 31 61 63 33 34  2269957a39a1ac34
a4c0: 35 31 63 63 31 39 36 36 39 36 61 65 39 65 39 36  51cc196696ae9e96
a4d0: 30 36 61 30 34 30 38 39 65 31 33 34 35 36 30 39  06a04089e1345609
a4e0: 35 61 31 63 65 31 65 35 39 33 34 38 31 62 33 61  5a1ce1e593481b3a
a4f0: 63 38 34 66 35 33 66 31 63 62 31 30 66 37 38 39  c84f53f1cb10f789
a500: 62 30 39 39 66 33 31 36 63 39 34 38 33 39 38 61  b099f316c948398a
a510: 64 35 32 66 61 31 33 34 37 34 62 64 66 34 38 36  d52fa13474bdf486
a520: 64 65 39 62 34 33 31 62 64 35 64 35 37 65 66 39  de9b431bd5d57ef9
a530: 64 38 33 61 34 32 31 33 39 61 30 35 66 31 31 32  d83a42139a05f112
a540: 62 32 62 64 30 38 5d 7d 20 5c 0a 09 2d 62 6f 64  b2bd08]} \..-bod
a550: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
a560: 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20  digest SHA3-256 
a570: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
a580: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
a590: 73 75 6c 74 20 33 34 34 65 63 38 36 36 34 32 65  sult 344ec86642e
a5a0: 61 62 62 32 30 36 62 32 66 64 39 33 30 65 34 63  abb206b2fd930e4c
a5b0: 35 64 64 65 37 38 61 61 38 37 38 35 37 37 64 36  5dde78aa878577d6
a5c0: 63 32 37 31 63 62 30 30 36 39 64 34 39 39 39 34  c271cb0069d49994
a5d0: 39 35 36 35 32 0a 0a 74 63 6c 74 65 73 74 3a 3a  95652..tcltest::
a5e0: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32  test Hash_SHA3-2
a5f0: 35 36 2d 32 2e 31 31 34 20 7b 53 48 41 33 5f 32  56-2.114 {SHA3_2
a600: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
a610: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
a620: 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _256 \..-setup {
a630: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
a640: 20 64 65 63 6f 64 65 20 68 65 78 20 64 30 61 66   decode hex d0af
a650: 34 38 34 62 38 62 65 36 62 34 31 63 31 39 37 31  484b8be6b41c1971
a660: 61 65 39 64 39 30 36 35 30 61 31 65 38 39 34 33  ae9d90650a1e8943
a670: 35 36 63 39 31 39 31 64 36 62 65 33 30 33 66 61  56c9191d6be303fa
a680: 34 32 34 66 32 62 37 63 30 39 35 34 34 65 63 30  424f2b7c09544ec0
a690: 37 36 61 30 66 31 38 36 35 63 38 63 39 37 39 32  76a0f1865c8c9792
a6a0: 37 63 61 31 33 37 35 32 39 64 35 62 65 64 63 30  7ca137529d5bedc0
a6b0: 64 66 32 65 66 30 38 61 34 63 63 37 63 34 37 30  df2ef08a4cc7c470
a6c0: 62 30 39 34 62 31 65 65 61 61 38 36 37 33 31 63  b094b1eeaa86731c
a6d0: 30 34 31 36 33 33 64 32 34 30 38 36 62 36 30 66  041633d24086b60f
a6e0: 37 33 36 39 64 35 39 63 35 37 36 35 32 64 65 63  7369d59c57652dec
a6f0: 39 62 33 38 31 37 34 37 37 64 66 39 64 62 32 38  9b3817477df9db28
a700: 39 62 61 30 32 30 65 33 30 36 63 39 61 37 38 61  9ba020e306c9a78a
a710: 39 39 62 35 33 39 31 32 38 39 39 32 64 65 62 32  99b539128992deb2
a720: 33 63 66 63 35 30 38 63 35 66 63 33 61 66 5d 7d  3cfc508c5fc3af]}
a730: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
a740: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
a750: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
a760: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
a770: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 37 62  xact -result b7b
a780: 61 39 39 38 37 32 36 34 37 37 63 33 32 37 39 32  a998726477c32792
a790: 65 39 63 33 65 64 64 63 31 63 62 36 66 65 62 37  e9c3eddc1cb6feb7
a7a0: 63 33 39 33 33 65 34 39 66 32 65 37 35 39 30 64  c3933e49f2e7590d
a7b0: 38 63 65 37 61 32 31 31 33 65 36 66 38 0a 0a 74  8ce7a2113e6f8..t
a7c0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
a7d0: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 31 35  h_SHA3-256-2.115
a7e0: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
a7f0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
a800: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
a810: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
a820: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
a830: 68 65 78 20 62 32 31 32 66 37 65 66 30 34 66 66  hex b212f7ef04ff
a840: 63 64 63 66 37 32 63 33 39 61 36 33 30 39 34 38  cdcf72c39a630948
a850: 36 63 30 65 65 62 33 39 30 66 66 38 66 32 31 38  6c0eeb390ff8f218
a860: 64 36 62 64 39 37 38 62 39 37 36 36 31 32 66 37  d6bd978b976612f7
a870: 66 38 39 38 63 33 35 30 65 39 30 62 64 31 33 30  f898c350e90bd130
a880: 37 32 33 65 31 31 32 36 61 66 36 39 32 39 35 30  723e1126af692950
a890: 31 39 62 34 66 35 32 63 30 36 61 36 32 39 61 62  19b4f52c06a629ab
a8a0: 37 34 65 30 33 38 38 37 30 32 30 62 37 35 64 37  74e03887020b75d7
a8b0: 33 66 30 66 37 38 65 31 32 37 38 35 63 34 32 66  3f0f78e12785c42f
a8c0: 65 62 37 30 61 37 65 35 66 31 32 37 36 31 35 31  eb70a7e5f1276151
a8d0: 31 63 39 36 38 38 63 34 34 64 61 36 61 61 61 30  1c9688c44da6aaa0
a8e0: 32 61 66 61 33 35 62 33 31 65 64 63 39 34 63 33  2afa35b31edc94c3
a8f0: 61 30 37 37 39 62 36 61 62 39 34 36 32 35 32 35  a0779b6ab9462525
a900: 63 30 63 63 66 62 61 37 36 39 38 36 66 38 37 33  c0ccfba76986f873
a910: 66 65 31 65 36 62 61 39 5d 7d 20 5c 0a 09 2d 62  fe1e6ba9]} \..-b
a920: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
a930: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
a940: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
a950: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
a960: 72 65 73 75 6c 74 20 32 66 32 36 62 39 36 63 31  result 2f26b96c1
a970: 66 61 33 66 33 64 65 65 37 32 38 66 31 37 35 38  fa3f3dee728f1758
a980: 34 65 37 33 33 62 34 31 38 39 38 32 31 63 36 35  4e733b4189821c65
a990: 39 62 38 38 38 35 61 35 66 62 31 64 31 32 64 36  9b8885a5fb1d12d6
a9a0: 30 64 32 61 61 61 39 0a 0a 74 63 6c 74 65 73 74  0d2aaa9..tcltest
a9b0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
a9c0: 2d 32 35 36 2d 32 2e 31 31 36 20 7b 53 48 41 33  -256-2.116 {SHA3
a9d0: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
a9e0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
a9f0: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
aa00: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
aa10: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 36  ry decode hex 86
aa20: 35 39 31 61 64 61 38 33 66 62 61 38 31 37 35 61  591ada83fba8175a
aa30: 30 66 65 39 31 64 32 36 34 65 37 66 39 62 32 64  0fe91d264e7f9b2d
aa40: 66 39 37 65 65 34 63 33 32 35 37 30 65 37 36 62  f97ee4c32570e76b
aa50: 35 37 39 64 36 31 34 30 35 30 38 39 35 31 39 33  579d614050895193
aa60: 32 61 62 64 61 64 64 36 61 34 63 61 35 33 62 38  2abdadd6a4ca53b8
aa70: 62 62 38 63 34 32 39 32 37 61 61 63 30 61 30 32  bb8c42927aac0a02
aa80: 31 32 36 38 38 31 64 35 32 64 39 37 62 38 32 62  126881d52d97b82b
aa90: 38 30 65 37 32 64 64 35 39 66 36 61 34 32 30 32  80e72dd59f6a4202
aaa0: 31 36 35 31 65 65 31 62 62 35 66 37 62 33 65 62  1651ee1bb5f7b3eb
aab0: 32 62 32 31 64 30 30 33 64 37 38 34 62 37 35 64  2b21d003d784b75d
aac0: 64 61 38 37 63 31 33 66 37 31 34 62 32 31 36 32  da87c13f714b2162
aad0: 38 32 65 38 31 37 35 34 37 34 66 61 36 36 31 62  82e8175474fa661b
aae0: 34 34 35 64 30 37 31 62 64 35 33 34 31 66 33 61  445d071bd5341f3a
aaf0: 38 38 33 30 32 66 34 31 30 64 30 66 38 61 38 35  88302f410d0f8a85
ab00: 37 39 36 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7962]} \..-body 
ab10: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
ab20: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
ab30: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
ab40: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
ab50: 6c 74 20 65 33 65 64 62 63 38 63 34 32 63 65 35  lt e3edbc8c42ce5
ab60: 64 32 33 38 34 64 66 62 32 34 66 62 31 64 65 35  d2384dfb24fb1de5
ab70: 64 34 37 39 38 62 31 62 63 33 63 63 37 38 63 39  d4798b1bc3cc78c9
ab80: 37 30 33 33 38 39 34 30 34 30 64 66 61 36 66 65  7033894040dfa6fe
ab90: 62 36 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  b6c..tcltest::te
aba0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
abb0: 2d 32 2e 31 31 37 20 7b 53 48 41 33 5f 32 35 36  -2.117 {SHA3_256
abc0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
abd0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
abe0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
abf0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
ac00: 65 63 6f 64 65 20 68 65 78 20 39 32 62 35 61 38  ecode hex 92b5a8
ac10: 65 38 34 62 36 61 32 61 63 34 64 35 62 31 65 36  e84b6a2ac4d5b1e6
ac20: 31 64 36 33 38 30 34 61 62 64 36 34 31 64 64 36  1d63804abd641dd6
ac30: 33 30 30 35 38 65 63 36 64 35 66 37 35 32 66 31  30058ec6d5f752f1
ac40: 33 35 37 32 34 65 66 31 39 34 37 61 30 61 38 34  35724ef1947a0a84
ac50: 63 36 36 31 31 64 33 32 34 34 38 64 65 36 33 30  c6611d32448de630
ac60: 37 66 37 62 37 64 38 35 37 34 30 34 65 39 36 62  7f7b7d857404e96b
ac70: 38 31 64 66 39 34 66 38 37 37 36 38 66 63 66 64  81df94f87768fcfd
ac80: 66 30 39 66 61 61 32 66 65 33 37 34 36 38 38 34  f09faa2fe3746884
ac90: 37 35 34 32 61 66 65 30 31 32 39 39 35 66 66 31  7542afe012995ff1
aca0: 62 64 34 30 62 32 35 37 61 34 37 61 37 33 30 39  bd40b257a47a7309
acb0: 66 38 38 39 36 62 66 34 66 62 37 31 31 64 65 35  f8896bf4fb711de5
acc0: 35 62 66 65 62 33 61 38 62 65 30 38 33 37 37 32  5bfeb3a8be083772
acd0: 39 65 66 36 30 36 37 63 35 37 38 31 38 32 66 31  9ef6067c578182f1
ace0: 37 65 62 62 30 38 30 61 37 35 34 66 32 32 37 37  7ebb080a754f2277
acf0: 33 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  3c]} \..-body {t
ad00: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
ad10: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
ad20: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
ad30: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
ad40: 20 38 30 65 64 30 61 37 30 32 38 31 32 32 39 37   80ed0a702812297
ad50: 63 32 61 61 31 62 36 62 34 62 35 33 30 63 32 62  c2aa1b6b4b530c2b
ad60: 35 65 64 31 37 65 63 66 62 61 36 64 35 31 37 39  5ed17ecfba6d5179
ad70: 31 63 66 31 35 32 64 34 33 30 33 63 65 64 32 65  1cf152d4303ced2e
ad80: 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  6..tcltest::test
ad90: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
ada0: 2e 31 31 38 20 7b 53 48 41 33 5f 32 35 36 53 68  .118 {SHA3_256Sh
adb0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
adc0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
add0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
ade0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
adf0: 6f 64 65 20 68 65 78 20 64 32 38 34 61 30 61 39  ode hex d284a0a9
ae00: 61 34 64 65 35 64 34 63 36 38 63 63 32 33 38 38  a4de5d4c68cc2388
ae10: 34 63 39 35 61 64 37 36 31 39 61 61 33 39 62 32  4c95ad7619aa39b2
ae20: 30 61 32 63 66 34 30 31 64 65 61 65 62 33 33 36  0a2cf401deaeb336
ae30: 32 63 33 63 65 33 35 36 66 37 39 63 63 33 66 61  2c3ce356f79cc3fa
ae40: 38 32 64 33 64 31 66 35 36 35 65 63 38 31 33 37  82d3d1f565ec8137
ae50: 65 31 66 34 33 35 66 31 37 31 34 39 36 61 66 61  e1f435f171496afa
ae60: 61 31 31 35 32 66 37 32 32 33 31 35 64 63 61 35  a1152f722315dca5
ae70: 32 30 39 66 30 30 33 31 63 63 65 33 39 62 36 63  209f0031cce39b6c
ae80: 33 64 37 31 38 65 30 30 37 64 66 62 34 66 64 38  3d718e007dfb4fd8
ae90: 64 65 35 63 65 31 34 30 38 64 64 61 30 34 34 37  de5ce1408dda0447
aea0: 36 61 61 38 61 39 36 38 31 37 61 66 61 38 36 61  6aa8a96817afa86a
aeb0: 34 66 38 66 62 35 38 35 37 61 65 30 39 31 63 36  4f8fb5857ae091c6
aec0: 37 65 62 64 37 64 62 35 64 37 38 33 66 34 33 34  7ebd7db5d783f434
aed0: 65 61 64 36 39 39 61 61 39 36 65 35 36 66 36 31  ead699aa96e56f61
aee0: 30 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  0d]} \..-body {t
aef0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
af00: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
af10: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
af20: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
af30: 20 36 35 34 65 63 63 65 66 64 30 61 34 66 64 62   654eccefd0a4fdb
af40: 32 61 63 30 61 62 35 36 32 38 38 63 36 34 33 39  2ac0ab56288c6439
af50: 39 62 33 37 62 63 34 64 35 37 66 66 34 61 39 66  9b37bc4d57ff4a9f
af60: 31 63 63 65 39 34 33 36 32 66 63 34 39 31 62 64  1cce94362fc491bd
af70: 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  a..tcltest::test
af80: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
af90: 2e 31 31 39 20 7b 53 48 41 33 5f 32 35 36 53 68  .119 {SHA3_256Sh
afa0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
afb0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
afc0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
afd0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
afe0: 6f 64 65 20 68 65 78 20 66 35 37 66 30 66 38 37  ode hex f57f0f87
aff0: 39 35 33 38 35 62 38 30 35 32 34 36 61 30 61 32  95385b805246a0a2
b000: 35 37 33 61 66 63 32 37 34 33 34 36 61 39 65 63  573afc274346a9ec
b010: 63 66 35 30 63 36 32 36 62 30 34 35 35 61 35 30  cf50c626b0455a50
b020: 62 66 62 30 39 36 36 38 35 37 38 62 35 61 35 61  bfb09668578b5a5a
b030: 66 65 35 34 66 62 62 64 34 38 36 34 34 34 62 64  fe54fbbd486444bd
b040: 66 39 37 64 62 61 35 38 36 61 61 32 32 34 63 65  f97dba586aa224ce
b050: 32 65 32 62 34 62 35 32 66 34 31 38 66 66 30 36  2e2b4b52f418ff06
b060: 61 66 61 36 35 61 32 36 66 35 32 30 34 39 38 33  afa65a26f5204983
b070: 61 35 66 38 34 37 33 34 63 64 31 36 36 63 38 38  a5f84734cd166c88
b080: 63 62 37 30 61 37 33 66 62 32 64 62 34 38 66 39  cb70a73fb2db48f9
b090: 65 66 32 30 63 31 65 65 32 63 35 33 61 64 65 30  ef20c1ee2c53ade0
b0a0: 37 34 36 30 31 31 34 65 39 38 65 37 65 32 65 62  7460114e98e7e2eb
b0b0: 64 32 34 61 63 38 34 65 61 39 30 34 32 32 65 62  d24ac84ea90422eb
b0c0: 31 34 33 63 34 61 34 32 65 32 39 39 31 61 35 36  143c4a42e2991a56
b0d0: 35 39 35 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5959]} \..-body 
b0e0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
b0f0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
b100: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
b110: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
b120: 6c 74 20 31 33 35 65 63 38 62 31 34 34 61 36 36  lt 135ec8b144a66
b130: 37 64 63 65 61 65 38 66 61 64 64 32 38 37 64 66  7dceae8fadd287df
b140: 38 31 63 31 30 65 66 33 65 62 65 66 38 37 66 66  81c10ef3ebef87ff
b150: 32 66 62 35 36 65 36 30 61 65 37 30 38 61 38 38  2fb56e60ae708a88
b160: 66 33 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  f3b..tcltest::te
b170: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
b180: 2d 32 2e 31 32 30 20 7b 53 48 41 33 5f 32 35 36  -2.120 {SHA3_256
b190: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
b1a0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
b1b0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
b1c0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
b1d0: 65 63 6f 64 65 20 68 65 78 20 32 61 34 31 61 35  ecode hex 2a41a5
b1e0: 32 65 36 35 37 38 38 37 33 35 38 38 61 35 37 66  2e6578873588a57f
b1f0: 31 31 66 31 62 65 37 63 37 65 62 33 39 38 64 30  11f1be7c7eb398d0
b200: 31 66 33 62 66 64 65 63 32 63 33 33 66 65 36 62  1f3bfdec2c33fe6b
b210: 36 35 61 36 38 61 35 33 34 61 36 35 34 30 39 37  65a68a534a654097
b220: 38 64 61 61 38 32 65 30 63 38 66 63 63 62 38 63  8daa82e0c8fccb8c
b230: 36 63 35 32 34 32 66 37 66 39 37 62 38 66 66 61  6c5242f7f97b8ffa
b240: 37 35 62 64 65 64 62 32 31 37 62 64 38 30 38 33  75bdedb217bd8083
b250: 34 33 39 65 65 61 35 63 62 62 36 64 31 39 33 63  439eea5cbb6d193c
b260: 31 33 62 64 36 32 66 35 36 35 38 65 64 34 33 30  13bd62f5658ed430
b270: 34 37 37 34 63 36 62 31 66 61 66 35 62 33 64 63  4774c6b1faf5b3dc
b280: 65 34 33 32 34 38 37 38 34 30 63 61 62 61 62 34  e432487840cabab4
b290: 31 35 66 62 35 64 36 37 36 34 30 61 37 33 39 63  15fb5d67640a739c
b2a0: 61 36 65 35 34 31 34 65 37 36 30 38 36 39 37 30  a6e5414e76086970
b2b0: 38 61 39 64 37 33 33 31 65 37 65 37 61 64 37 64  8a9d7331e7e7ad7d
b2c0: 35 35 65 30 33 35 63 37 5d 7d 20 5c 0a 09 2d 62  55e035c7]} \..-b
b2d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
b2e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
b2f0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
b300: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
b310: 72 65 73 75 6c 74 20 61 36 61 31 62 38 61 32 36  result a6a1b8a26
b320: 66 36 66 34 34 30 66 31 39 66 31 36 64 63 65 31  f6f440f19f16dce1
b330: 64 33 30 30 31 34 37 37 64 37 33 65 65 37 66 36  d3001477d73ee7f6
b340: 63 33 37 34 62 63 65 32 39 32 32 31 36 37 62 38  c374bce2922167b8
b350: 31 39 37 30 64 36 61 0a 0a 74 63 6c 74 65 73 74  1970d6a..tcltest
b360: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
b370: 2d 32 35 36 2d 32 2e 31 32 31 20 7b 53 48 41 33  -256-2.121 {SHA3
b380: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
b390: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
b3a0: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
b3b0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
b3c0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 64  ry decode hex 4d
b3d0: 31 31 61 61 35 64 33 63 36 62 36 39 30 30 66 34  11aa5d3c6b6900f4
b3e0: 39 66 66 39 30 64 64 38 31 35 37 34 34 35 37 32  9ff90dd815744572
b3f0: 62 65 35 36 34 38 62 36 34 62 64 65 36 33 38 62  be5648b64bde638b
b400: 39 64 62 37 61 39 38 37 37 64 64 37 34 35 66 61  9db7a9877dd745fa
b410: 38 65 61 38 30 65 32 66 37 66 36 35 35 63 65 65  8ea80e2f7f655cee
b420: 38 35 63 37 31 61 34 35 30 39 65 32 31 64 38 39  85c71a4509e21d89
b430: 39 65 34 39 62 34 39 37 33 35 37 39 38 31 35 66  9e49b4973579815f
b440: 39 34 37 35 38 37 61 34 30 34 61 64 38 33 66 64  947587a404ad83fd
b450: 34 61 32 34 38 30 32 30 64 39 64 32 61 36 35 66  4a248020d9d2a65f
b460: 34 36 34 38 35 33 37 33 66 63 39 32 36 64 37 39  46485373fc926d79
b470: 33 31 36 31 66 36 33 61 31 39 36 61 65 30 61 66  3161f63a196ae0af
b480: 35 39 30 39 32 33 63 35 62 65 32 61 30 65 35 64  590923c5be2a0e5d
b490: 32 66 36 39 64 61 39 37 65 30 37 38 38 35 35 30  2f69da97e0788550
b4a0: 63 39 63 31 64 65 65 39 35 37 34 64 64 63 34 61  c9c1dee9574ddc4a
b4b0: 36 31 65 35 33 33 32 37 35 64 37 37 32 39 5d 7d  61e533275d7729]}
b4c0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
b4d0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
b4e0: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
b4f0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
b500: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 63 35  xact -result fc5
b510: 31 35 39 66 30 64 64 64 36 64 37 36 35 63 38 35  159f0ddd6d765c85
b520: 66 63 63 33 66 63 33 61 63 31 64 63 30 64 33 31  fcc3fc3ac1dc0d31
b530: 37 64 38 65 61 30 62 31 31 30 65 39 36 61 63 39  7d8ea0b110e96ac9
b540: 66 37 61 33 39 38 64 63 33 38 36 63 35 0a 0a 74  f7a398dc386c5..t
b550: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
b560: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 32 32  h_SHA3-256-2.122
b570: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
b580: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
b590: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
b5a0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
b5b0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
b5c0: 68 65 78 20 30 35 63 64 39 39 62 66 65 30 33 31  hex 05cd99bfe031
b5d0: 64 31 32 33 63 61 37 30 36 31 64 33 64 65 30 39  d123ca7061d3de09
b5e0: 35 36 66 34 62 62 66 31 36 34 62 61 64 37 39 32  56f4bbf164bad792
b5f0: 64 62 38 38 31 37 31 33 64 36 35 39 39 64 64 61  db881713d6599dda
b600: 62 35 35 65 65 32 34 66 63 65 65 38 30 34 65 33  b55ee24fcee804e3
b610: 36 30 38 39 36 31 35 32 63 38 37 36 36 34 32 34  60896152c8766424
b620: 66 38 33 30 39 66 37 61 32 34 36 34 31 61 30 37  f8309f7a24641a07
b630: 62 65 30 66 65 62 35 64 61 35 65 35 30 37 36 61  be0feb5da5e5076a
b640: 39 61 66 34 35 38 34 32 66 33 38 35 31 30 31 66  9af45842f385101f
b650: 39 33 34 33 33 63 61 35 31 39 39 66 39 63 36 62  93433ca5199f9c6b
b660: 35 38 37 32 62 32 62 38 30 38 65 34 31 39 38 61  5872b2b808e4198a
b670: 62 61 38 65 31 38 64 64 31 32 64 62 37 37 32 39  ba8e18dd12db7729
b680: 33 30 62 34 39 31 32 64 36 66 35 63 61 62 65 62  30b4912d6f5cabeb
b690: 35 32 39 38 38 34 66 34 62 62 31 34 32 64 65 35  529884f4bb142de5
b6a0: 35 65 30 32 31 62 33 32 37 36 30 34 37 62 32 32  5e021b3276047b22
b6b0: 62 36 34 63 63 35 5d 7d 20 5c 0a 09 2d 62 6f 64  b64cc5]} \..-bod
b6c0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
b6d0: 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20  digest SHA3-256 
b6e0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
b6f0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
b700: 73 75 6c 74 20 38 61 61 30 37 37 34 32 65 36 66  sult 8aa07742e6f
b710: 31 66 34 37 61 64 30 32 30 65 64 36 36 38 34 65  1f47ad020ed6684e
b720: 64 63 38 64 62 61 34 61 66 33 36 62 37 38 32 39  dc8dba4af36b7829
b730: 35 35 66 30 66 39 37 32 62 65 33 61 65 39 38 30  55f0f972be3ae980
b740: 61 65 61 30 65 0a 0a 74 63 6c 74 65 73 74 3a 3a  aea0e..tcltest::
b750: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32  test Hash_SHA3-2
b760: 35 36 2d 32 2e 31 32 33 20 7b 53 48 41 33 5f 32  56-2.123 {SHA3_2
b770: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
b780: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
b790: 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _256 \..-setup {
b7a0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
b7b0: 20 64 65 63 6f 64 65 20 68 65 78 20 35 32 39 36   decode hex 5296
b7c0: 38 34 33 39 38 64 36 38 62 64 63 31 39 65 37 61  84398d68bdc19e7a
b7d0: 30 30 63 65 33 32 63 63 31 61 38 63 31 33 31 35  00ce32cc1a8c1315
b7e0: 62 39 37 66 30 37 31 33 37 34 37 34 66 36 31 66  b97f07137474f61f
b7f0: 30 63 62 38 34 61 30 34 66 32 38 37 39 62 31 31  0cb84a04f2879b11
b800: 30 39 63 37 38 63 36 64 61 63 66 37 66 30 61 62  09c78c6dacf7f0ab
b810: 66 33 36 32 33 32 39 65 33 32 39 38 66 33 36 66  f362329e3298f36f
b820: 63 33 31 65 66 34 65 63 30 36 36 35 33 37 32 33  c31ef4ec06653723
b830: 61 35 66 39 36 31 33 30 31 64 66 62 36 33 35 33  a5f961301dfb6353
b840: 37 61 64 31 35 39 34 36 36 31 31 63 62 32 63 64  7ad15946611cb2cd
b850: 35 34 65 61 39 32 38 65 33 32 32 65 37 34 32 33  54ea928e322e7423
b860: 66 64 36 64 31 34 36 65 65 30 62 39 38 63 32 63  fd6d146ee0b98c2c
b870: 37 31 65 33 62 64 63 64 33 33 65 64 66 30 38 34  71e3bdcd33edf084
b880: 35 66 62 65 62 64 39 61 65 34 31 39 32 64 30 37  5fbebd9ae4192d07
b890: 61 63 64 30 31 62 34 33 32 31 33 35 65 30 35 61  acd01b432135e05a
b8a0: 66 30 64 32 32 66 33 66 30 63 35 61 33 64 36 32  f0d22f3f0c5a3d62
b8b0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
b8c0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
b8d0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
b8e0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
b8f0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61   exact -result a
b900: 30 37 30 34 39 62 36 65 62 64 37 62 33 35 35 34  07049b6ebd7b3554
b910: 37 39 61 33 64 38 30 32 66 64 61 34 33 36 62 38  79a3d802fda436b8
b920: 33 61 65 36 37 34 37 64 37 34 31 63 66 39 36 32  3ae6747d741cf962
b930: 36 66 37 63 36 32 66 34 37 63 62 64 35 36 33 0a  6f7c62f47cbd563.
b940: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
b950: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
b960: 32 34 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  24 {SHA3_256Shor
b970: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
b980: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
b990: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
b9a0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
b9b0: 65 20 68 65 78 20 39 38 32 66 62 35 66 34 61 66  e hex 982fb5f4af
b9c0: 34 39 38 61 34 61 37 35 65 33 33 61 30 33 33 32  498a4a75e33a0332
b9d0: 33 35 65 61 33 64 64 62 37 30 64 39 64 32 33 36  35ea3ddb70d9d236
b9e0: 35 31 39 66 38 38 33 66 66 35 62 33 38 38 63 62  519f883ff5b388cb
b9f0: 65 66 33 30 31 32 36 62 39 38 64 39 36 65 39 33  ef30126b98d96e93
ba00: 61 36 35 61 32 36 66 62 30 30 64 31 37 32 34 36  a65a26fb00d17246
ba10: 64 31 38 63 66 34 65 32 64 62 31 34 61 35 32 66  d18cf4e2db14a52f
ba20: 30 66 36 62 31 30 65 33 35 61 39 33 62 65 61 64  0f6b10e35a93bead
ba30: 63 31 34 66 66 31 31 38 62 30 32 65 39 35 62 33  c14ff118b02e95b3
ba40: 38 66 63 34 37 33 36 66 39 37 33 62 61 38 34 38  8fc4736f973ba848
ba50: 65 34 30 62 35 35 32 37 63 62 30 35 39 39 30 37  e40b5527cb059907
ba60: 36 64 39 36 62 63 35 37 38 63 34 61 61 64 61 30  6d96bc578c4aada0
ba70: 39 65 38 66 61 66 36 38 32 30 62 63 34 66 35 36  9e8faf6820bc4f56
ba80: 32 64 35 31 39 39 39 37 34 66 38 30 38 62 37 66  2d5199974f808b7f
ba90: 39 35 65 64 63 61 37 34 65 36 62 33 39 34 30 38  95edca74e6b39408
baa0: 39 34 61 37 66 36 36 35 33 34 65 30 5d 7d 20 5c  94a7f66534e0]} \
bab0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
bac0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
bad0: 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74  3-256 -data $dat
bae0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
baf0: 63 74 20 2d 72 65 73 75 6c 74 20 30 39 63 36 30  ct -result 09c60
bb00: 66 65 63 35 61 30 38 39 61 32 33 66 35 64 61 33  fec5a089a23f5da3
bb10: 65 64 32 34 39 32 61 61 32 31 66 63 66 37 61 61  ed2492aa21fcf7aa
bb20: 33 36 31 38 33 38 35 30 66 61 66 63 31 35 61 65  36183850fafc15ae
bb30: 38 63 36 33 66 35 39 36 64 62 30 0a 0a 74 63 6c  8c63f596db0..tcl
bb40: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
bb50: 53 48 41 33 2d 32 35 36 2d 32 2e 31 32 35 20 7b  SHA3-256-2.125 {
bb60: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
bb70: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
bb80: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
bb90: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
bba0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
bbb0: 78 20 63 61 38 38 36 31 34 38 32 38 66 38 61 63  x ca88614828f8ac
bbc0: 64 62 35 66 63 66 66 61 62 36 62 62 32 66 62 36  db5fcffab6bb2fb6
bbd0: 32 64 39 33 32 62 37 38 30 38 65 34 64 39 63 63  2d932b7808e4d9cc
bbe0: 33 31 33 39 61 38 33 35 62 30 63 65 66 34 37 31  3139a835b0cef471
bbf0: 64 39 66 34 64 38 66 66 63 34 62 37 34 34 64 66  d9f4d8ffc4b744df
bc00: 66 65 62 66 34 66 39 39 37 65 37 34 63 65 38 30  febf4f997e74ce80
bc10: 64 62 36 36 32 35 33 38 62 63 65 62 35 64 37 36  db662538bceb5d76
bc20: 38 66 30 61 37 37 30 37 37 65 39 37 30 30 31 34  8f0a77077e970014
bc30: 39 65 61 30 65 36 61 34 36 61 30 38 38 61 36 32  9ea0e6a46a088a62
bc40: 37 31 37 32 31 36 61 31 34 62 36 30 31 31 39 64  717216a14b60119d
bc50: 64 31 39 63 33 31 30 33 38 65 64 38 37 30 62 34  d19c31038ed870b4
bc60: 37 30 39 31 36 31 63 36 63 33 33 39 63 35 63 63  709161c6c339c5cc
bc70: 36 30 39 34 35 61 35 38 32 32 36 33 66 33 62 65  60945a582263f3be
bc80: 39 61 34 30 63 64 31 61 30 34 63 39 32 31 39 34  9a40cd1a04c92194
bc90: 37 39 30 30 66 36 65 32 36 36 66 32 33 39 30 66  7900f6e266f2390f
bca0: 33 63 39 37 30 66 37 62 36 39 5d 7d 20 5c 0a 09  3c970f7b69]} \..
bcb0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
bcc0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d  st -digest SHA3-
bcd0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
bce0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
bcf0: 20 2d 72 65 73 75 6c 74 20 66 65 32 64 34 31 38   -result fe2d418
bd00: 33 63 63 64 61 61 38 31 36 62 34 34 34 36 61 39  3ccdaa816b4446a9
bd10: 62 36 63 30 37 64 30 62 61 34 62 34 32 61 63 37  b6c07d0ba4b42ac7
bd20: 34 33 35 39 39 64 62 35 64 63 34 38 32 62 31 39  43599db5dc482b19
bd30: 34 31 66 34 34 33 63 37 31 0a 0a 74 63 6c 74 65  41f443c71..tclte
bd40: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
bd50: 41 33 2d 32 35 36 2d 32 2e 31 32 36 20 7b 53 48  A3-256-2.126 {SH
bd60: 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20  A3_256ShortMsg} 
bd70: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
bd80: 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74  SHA3_256 \..-set
bd90: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
bda0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
bdb0: 61 62 36 62 39 32 64 61 66 38 33 32 37 35 63 62  ab6b92daf83275cb
bdc0: 39 63 31 62 37 36 63 66 62 35 39 66 62 63 63 38  9c1b76cfb59fbcc8
bdd0: 61 63 35 33 31 38 38 65 30 62 36 39 38 30 39 31  ac53188e0b698091
bde0: 38 65 37 61 63 30 63 30 37 63 38 33 36 63 61 39  8e7ac0c07c836ca9
bdf0: 33 37 32 64 31 39 65 31 31 32 35 31 63 63 61 36  372d19e11251cca6
be00: 36 34 62 62 62 33 63 33 64 62 32 65 31 33 62 34  64bbb3c3db2e13b4
be10: 31 32 61 39 38 32 30 62 36 35 65 39 35 36 31 32  12a9820b65e95612
be20: 30 34 32 66 35 64 62 32 34 36 34 33 63 66 39 33  042f5db24643cf93
be30: 34 30 62 39 38 30 38 35 39 37 37 33 35 61 31 66  40b9808597735a1f
be40: 39 32 36 37 30 62 61 35 37 33 61 32 66 62 32 66  92670ba573a2fb2f
be50: 30 38 38 64 38 31 30 38 37 64 37 30 35 36 35 35  088d81087d705655
be60: 37 34 33 34 34 61 66 37 35 37 36 64 33 35 62 32  74344af7576d35b2
be70: 65 64 39 38 33 31 38 65 32 63 61 30 30 36 37 64  ed98318e2ca0067d
be80: 34 66 61 38 65 36 33 66 32 38 30 34 35 62 38 33  4fa8e63f28045b83
be90: 62 36 38 38 37 64 34 66 66 61 30 36 36 38 61 31  b6887d4ffa0668a1
bea0: 30 37 31 32 65 64 35 37 35 39 5d 7d 20 5c 0a 09  0712ed5759]} \..
beb0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
bec0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d  st -digest SHA3-
bed0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
bee0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
bef0: 20 2d 72 65 73 75 6c 74 20 37 34 34 35 33 38 65   -result 744538e
bf00: 31 61 65 31 63 64 37 33 35 37 37 31 30 62 35 36  1ae1cd7357710b56
bf10: 63 33 62 63 36 66 31 62 64 37 61 38 35 36 34 31  c3bc6f1bd7a85641
bf20: 31 38 61 31 65 30 66 39 61 63 63 33 30 66 63 66  18a1e0f9acc30fcf
bf30: 30 62 35 33 39 36 65 65 66 0a 0a 74 63 6c 74 65  0b5396eef..tclte
bf40: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
bf50: 41 33 2d 32 35 36 2d 32 2e 31 32 37 20 7b 53 48  A3-256-2.127 {SH
bf60: 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20  A3_256ShortMsg} 
bf70: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
bf80: 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74  SHA3_256 \..-set
bf90: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
bfa0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
bfb0: 62 66 64 34 63 37 63 38 65 39 30 38 35 38 63 63  bfd4c7c8e90858cc
bfc0: 66 39 63 38 38 33 34 61 62 65 66 64 39 63 31 38  f9c8834abefd9c18
bfd0: 34 36 63 61 34 61 31 31 39 36 36 66 64 64 31 33  46ca4a11966fdd13
bfe0: 39 64 36 64 65 32 34 61 36 62 65 62 66 34 62 31  9d6de24a6bebf4b1
bff0: 39 66 35 38 64 35 64 35 31 65 35 32 62 64 64 64  9f58d5d51e52bddd
c000: 30 62 63 36 66 31 63 37 66 33 35 39 39 38 66 34  0bc6f1c7f35998f4
c010: 34 37 30 37 63 61 65 37 31 30 30 61 65 62 34 61  4707cae7100aeb4a
c020: 64 65 66 65 33 37 33 31 30 31 34 32 39 64 61 33  defe373101429da3
c030: 66 63 61 31 64 31 35 37 33 37 33 32 39 64 62 62  fca1d15737329dbb
c040: 66 34 37 63 37 38 33 61 38 34 64 65 35 39 62 66  f47c783a84de59bf
c050: 62 62 32 66 63 64 37 35 61 31 61 31 34 38 64 32  bb2fcd75a1a148d2
c060: 36 61 65 62 62 38 64 33 61 39 61 37 36 30 38 39  6aebb8d3a9a76089
c070: 63 30 66 38 65 34 64 34 39 62 37 31 61 30 36 66  c0f8e4d49b71a06f
c080: 39 65 33 32 33 65 32 63 64 62 35 34 38 38 38 31  9e323e2cdb548881
c090: 38 39 38 38 37 61 34 34 62 31 66 61 39 63 62 33  89887a44b1fa9cb3
c0a0: 32 62 37 63 38 66 62 37 63 39 65 30 5d 7d 20 5c  2b7c8fb7c9e0]} \
c0b0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
c0c0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
c0d0: 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74  3-256 -data $dat
c0e0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
c0f0: 63 74 20 2d 72 65 73 75 6c 74 20 35 38 62 31 37  ct -result 58b17
c100: 38 34 33 62 63 38 35 31 61 37 32 31 63 35 61 32  843bc851a721c5a2
c110: 35 38 65 65 66 35 37 62 33 38 35 34 64 30 32 31  58eef57b3854d021
c120: 39 30 65 37 33 32 64 39 62 38 65 37 61 39 66 39  90e732d9b8e7a9f9
c130: 32 36 61 63 34 30 39 63 31 37 33 0a 0a 74 63 6c  26ac409c173..tcl
c140: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
c150: 53 48 41 33 2d 32 35 36 2d 32 2e 31 32 38 20 7b  SHA3-256-2.128 {
c160: 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d 73 67  SHA3_256ShortMsg
c170: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
c180: 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09 2d 73  s SHA3_256 \..-s
c190: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
c1a0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
c1b0: 78 20 63 35 30 31 39 34 33 33 63 32 38 35 64 61  x c5019433c285da
c1c0: 32 62 62 39 33 66 31 31 39 65 35 38 62 34 66 33  2bb93f119e58b4f3
c1d0: 36 63 64 31 65 34 64 39 39 64 64 61 33 35 64 62  6cd1e4d99dda35db
c1e0: 66 34 66 38 61 65 33 39 63 37 66 65 36 35 66 61  f4f8ae39c7fe65fa
c1f0: 30 65 64 30 33 62 64 32 62 39 36 64 63 36 34 39  0ed03bd2b96dc649
c200: 34 37 32 64 38 66 31 61 39 34 34 37 37 65 64 39  472d8f1a94477ed9
c210: 66 32 39 35 39 32 64 39 37 63 39 63 64 35 34 64  f29592d97c9cd54d
c220: 61 37 63 37 39 30 61 64 31 61 66 33 62 62 35 63  a7c790ad1af3bb5c
c230: 63 30 33 30 62 37 38 37 31 62 63 36 34 30 35 30  c030b7871bc64050
c240: 64 62 37 37 39 64 32 63 61 66 30 34 31 39 38 39  db779d2caf041989
c250: 35 62 66 33 62 37 62 35 30 62 38 65 32 32 66 62  5bf3b7b50b8e22fb
c260: 65 36 32 66 65 33 30 66 65 37 62 62 64 36 61 63  e62fe30fe7bbd6ac
c270: 65 38 36 64 64 66 37 62 30 30 64 35 64 39 33 37  e86ddf7b00d5d937
c280: 30 66 32 30 63 66 30 66 39 37 39 39 36 66 34 62  0f20cf0f97996f4b
c290: 63 65 37 30 62 62 33 33 66 31 62 61 30 32 32 63  ce70bb33f1ba022c
c2a0: 64 61 62 61 30 66 32 35 64 35 35 66 61 30 33 31  daba0f25d55fa031
c2b0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
c2c0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
c2d0: 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20   SHA3-256 -data 
c2e0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
c2f0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66   exact -result f
c300: 37 63 39 32 61 33 66 62 37 66 31 38 30 33 37 30  7c92a3fb7f180370
c310: 64 36 32 38 62 65 37 38 64 65 38 37 34 64 36 39  d628be78de874d69
c320: 33 66 37 34 63 63 63 37 61 35 34 63 37 34 31 36  3f74ccc7a54c7416
c330: 33 34 32 35 38 64 38 63 35 31 32 66 64 37 66 0a  34258d8c512fd7f.
c340: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
c350: 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31  ash_SHA3-256-2.1
c360: 32 39 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72  29 {SHA3_256Shor
c370: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
c380: 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c  aints SHA3_256 \
c390: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
c3a0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
c3b0: 65 20 68 65 78 20 38 34 62 36 30 63 62 33 37 32  e hex 84b60cb372
c3c0: 30 62 66 32 39 37 34 38 34 38 33 63 66 37 61 62  0bf29748483cf7ab
c3d0: 64 30 64 31 66 31 64 39 33 38 30 34 35 39 64 66  d0d1f1d9380459df
c3e0: 61 39 36 38 34 36 30 63 38 36 65 35 64 31 61 35  a968460c86e5d1a5
c3f0: 34 66 30 62 31 39 64 61 63 36 61 37 38 62 66 39  4f0b19dac6a78bf9
c400: 35 30 39 34 36 30 65 32 39 64 64 34 36 36 62 62  509460e29dd466bb
c410: 38 62 64 66 30 34 65 35 34 38 33 62 37 38 32 65  8bdf04e5483b782e
c420: 62 37 34 64 36 34 34 38 31 36 36 66 38 39 37 61  b74d6448166f897a
c430: 64 64 34 33 64 32 39 35 65 39 34 36 39 34 32 61  dd43d295e946942a
c440: 64 39 61 38 31 34 66 61 62 39 35 62 34 61 61 65  d9a814fab95b4aae
c450: 64 65 36 61 65 34 63 38 31 30 38 63 38 65 64 61  de6ae4c8108c8eda
c460: 65 66 66 39 37 31 66 35 38 66 37 63 66 39 36 35  eff971f58f7cf965
c470: 36 36 63 39 64 63 39 62 36 38 31 32 35 38 36 62  66c9dc9b6812586b
c480: 37 30 64 35 62 63 37 38 65 32 66 38 32 39 65 63  70d5bc78e2f829ec
c490: 38 65 31 37 39 61 36 63 64 38 31 64 32 32 34 62  8e179a6cd81d224b
c4a0: 31 36 31 31 37 35 66 64 33 61 33 33 61 61 63 66  161175fd3a33aacf
c4b0: 62 31 34 38 33 66 5d 7d 20 5c 0a 09 2d 62 6f 64  b1483f]} \..-bod
c4c0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
c4d0: 64 69 67 65 73 74 20 53 48 41 33 2d 32 35 36 20  digest SHA3-256 
c4e0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
c4f0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
c500: 73 75 6c 74 20 38 38 31 34 36 33 30 61 33 39 64  sult 8814630a39d
c510: 63 62 39 39 37 39 32 63 63 34 65 30 38 63 61 65  cb99792cc4e08cae
c520: 35 64 64 30 37 38 39 37 33 64 31 35 63 64 31 39  5dd078973d15cd19
c530: 66 31 37 62 61 63 66 30 34 64 65 64 61 39 65 36  f17bacf04deda9e6
c540: 32 63 34 35 66 0a 0a 74 63 6c 74 65 73 74 3a 3a  2c45f..tcltest::
c550: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32  test Hash_SHA3-2
c560: 35 36 2d 32 2e 31 33 30 20 7b 53 48 41 33 5f 32  56-2.130 {SHA3_2
c570: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
c580: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
c590: 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _256 \..-setup {
c5a0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
c5b0: 20 64 65 63 6f 64 65 20 68 65 78 20 31 34 33 36   decode hex 1436
c5c0: 35 64 33 33 30 31 31 35 30 64 37 63 35 62 61 36  5d3301150d7c5ba6
c5d0: 62 62 38 63 31 66 63 32 36 65 39 64 61 62 32 31  bb8c1fc26e9dab21
c5e0: 38 66 63 35 64 30 31 63 39 65 64 35 32 38 62 37  8fc5d01c9ed528b7
c5f0: 32 34 38 32 61 61 64 65 65 39 63 32 37 62 65 66  2482aadee9c27bef
c600: 36 36 37 39 30 37 37 39 37 64 35 35 35 31 34 34  667907797d555144
c610: 36 38 66 36 38 37 39 31 66 30 35 33 64 61 61 32  68f68791f053daa2
c620: 64 66 35 39 38 64 37 64 62 37 64 35 34 62 65 65  df598d7db7d54bee
c630: 61 34 39 33 62 64 63 62 62 30 63 37 35 63 37 62  a493bdcbb0c75c7b
c640: 33 36 61 64 38 34 62 39 39 39 36 64 63 61 39 36  36ad84b9996dca96
c650: 33 35 34 31 39 30 62 64 39 36 64 39 64 37 66 62  354190bd96d9d7fb
c660: 65 38 66 66 35 34 66 66 61 66 37 37 63 35 35 65  e8ff54ffaf77c55e
c670: 62 39 32 39 38 35 64 61 35 30 38 32 35 65 65 33  b92985da50825ee3
c680: 62 34 31 37 39 66 35 65 63 38 38 62 36 66 61 36  b4179f5ec88b6fa6
c690: 30 62 62 33 36 31 64 30 63 61 66 39 34 39 33 34  0bb361d0caf94934
c6a0: 39 34 66 65 34 64 32 38 65 66 38 34 33 66 30 66  94fe4d28ef843f0f
c6b0: 34 39 38 61 32 61 39 33 33 31 62 38 32 61 5d 7d  498a2a9331b82a]}
c6c0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
c6d0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
c6e0: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
c6f0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
c700: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 62 36  xact -result 9b6
c710: 39 30 35 33 31 64 65 65 39 34 38 61 39 63 35 35  90531dee948a9c55
c720: 39 61 32 65 30 65 66 61 62 32 65 63 38 32 34 31  9a2e0efab2ec8241
c730: 35 31 61 39 31 37 35 66 32 37 33 30 61 30 33 30  51a9175f2730a030
c740: 62 37 34 38 64 30 37 63 62 61 61 37 66 0a 0a 74  b748d07cbaa7f..t
c750: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
c760: 68 5f 53 48 41 33 2d 32 35 36 2d 32 2e 31 33 31  h_SHA3-256-2.131
c770: 20 7b 53 48 41 33 5f 32 35 36 53 68 6f 72 74 4d   {SHA3_256ShortM
c780: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
c790: 6e 74 73 20 53 48 41 33 5f 32 35 36 20 5c 0a 09  nts SHA3_256 \..
c7a0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
c7b0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
c7c0: 68 65 78 20 34 61 37 35 37 64 62 39 33 66 36 64  hex 4a757db93f6d
c7d0: 34 63 36 35 32 39 32 31 31 64 37 30 64 35 66 38  4c6529211d70d5f8
c7e0: 34 39 31 37 39 39 63 30 66 37 33 61 65 37 66 32  491799c0f73ae7f2
c7f0: 34 62 62 64 32 31 33 38 64 62 32 65 61 66 32 63  4bbd2138db2eaf2c
c800: 36 33 61 38 35 30 36 33 62 39 66 37 61 64 61 61  63a85063b9f7adaa
c810: 30 33 66 63 33 34 38 66 32 37 35 33 32 33 32 34  03fc348f27532324
c820: 38 33 33 34 65 33 66 66 64 66 39 37 39 38 38 35  8334e3ffdf979885
c830: 39 66 39 63 66 36 36 39 33 64 32 39 35 36 36 66  9f9cf6693d29566f
c840: 66 37 64 35 30 39 37 36 63 35 30 35 65 63 62 35  f7d50976c505ecb5
c850: 38 65 35 34 33 63 34 35 39 62 33 39 61 63 64 66  8e543c459b39acdf
c860: 34 63 65 34 62 35 65 38 30 61 36 38 32 65 61 61  4ce4b5e80a682eaa
c870: 37 63 31 66 31 63 65 35 66 65 34 61 63 62 38 36  7c1f1ce5fe4acb86
c880: 34 66 66 39 31 65 62 36 38 39 32 62 32 33 31 36  4ff91eb6892b2316
c890: 35 37 33 35 65 61 34 39 36 32 36 38 39 38 62 34  5735ea49626898b4
c8a0: 30 63 65 65 62 37 38 31 36 31 66 35 64 30 65 61  0ceeb78161f5d0ea
c8b0: 34 61 31 30 33 63 62 34 30 34 64 39 33 37 66 39  4a103cb404d937f9
c8c0: 64 31 64 63 33 36 32 62 5d 7d 20 5c 0a 09 2d 62  d1dc362b]} \..-b
c8d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
c8e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
c8f0: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
c900: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
c910: 72 65 73 75 6c 74 20 31 61 63 37 63 63 37 65 32  result 1ac7cc7e2
c920: 65 38 65 61 31 34 66 62 31 62 39 30 30 39 36 66  e8ea14fb1b90096f
c930: 34 31 32 36 35 31 30 30 37 31 32 63 35 64 64 34  41265100712c5dd4
c940: 31 35 31 39 64 37 38 62 32 37 38 36 63 66 62 36  1519d78b2786cfb6
c950: 33 35 35 61 66 37 32 0a 0a 74 63 6c 74 65 73 74  355af72..tcltest
c960: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
c970: 2d 32 35 36 2d 32 2e 31 33 32 20 7b 53 48 41 33  -256-2.132 {SHA3
c980: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
c990: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
c9a0: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
c9b0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
c9c0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 61  ry decode hex da
c9d0: 31 31 63 33 39 63 37 37 32 35 30 66 36 32 36 34  11c39c77250f6264
c9e0: 64 64 61 34 62 30 39 36 33 34 31 66 66 39 63 34  dda4b096341ff9c4
c9f0: 63 63 32 63 39 30 30 36 33 33 62 32 30 65 61 31  cc2c900633b20ea1
ca00: 36 36 34 62 66 33 32 31 39 33 66 37 39 30 61 39  664bf32193f790a9
ca10: 32 33 31 31 32 34 38 38 66 38 38 32 34 35 30 63  23112488f882450c
ca20: 66 33 33 34 38 31 39 62 62 61 63 61 34 36 66 66  f334819bbaca46ff
ca30: 62 38 38 65 66 66 30 32 36 35 61 61 38 30 33 62  b88eff0265aa803b
ca40: 63 37 39 63 61 34 32 37 33 39 65 34 33 34 37 63  c79ca42739e4347c
ca50: 36 62 66 66 30 62 62 39 61 61 39 39 37 38 30 32  6bff0bb9aa997802
ca60: 36 31 66 66 65 34 32 62 65 30 64 33 62 35 31 33  61ffe42be0d3b513
ca70: 35 64 30 33 37 32 33 33 33 38 66 62 32 37 37 36  5d03723338fb2776
ca80: 38 34 31 61 30 62 34 62 63 32 36 33 36 30 66 39  841a0b4bc26360f9
ca90: 65 66 37 36 39 62 33 34 63 32 62 65 63 35 65 64  ef769b34c2bec5ed
caa0: 32 66 65 62 32 31 36 65 32 66 61 33 30 66 61 35  2feb216e2fa30fa5
cab0: 63 33 37 34 33 30 63 30 33 36 30 65 63 62 66 62  c37430c0360ecbfb
cac0: 61 33 61 66 36 66 62 36 62 38 64 65 64 61 63 62  a3af6fb6b8dedacb
cad0: 62 39 35 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  b95c]} \..-body 
cae0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
caf0: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
cb00: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
cb10: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
cb20: 6c 74 20 63 31 36 33 63 64 34 33 64 65 32 32 34  lt c163cd43de224
cb30: 61 63 35 63 32 36 32 61 65 33 39 64 62 37 34 36  ac5c262ae39db746
cb40: 63 66 63 61 64 36 36 30 37 34 65 62 61 65 63 34  cfcad66074ebaec4
cb50: 61 36 64 61 32 33 64 38 36 62 33 31 30 35 32 30  a6da23d86b310520
cb60: 66 32 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  f21..tcltest::te
cb70: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
cb80: 2d 32 2e 31 33 33 20 7b 53 48 41 33 5f 32 35 36  -2.133 {SHA3_256
cb90: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
cba0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
cbb0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
cbc0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
cbd0: 65 63 6f 64 65 20 68 65 78 20 33 33 34 31 63 61  ecode hex 3341ca
cbe0: 30 32 30 64 34 38 33 35 38 33 38 62 30 64 36 63  020d4835838b0d6c
cbf0: 38 66 39 33 61 61 61 65 62 62 37 61 66 36 30 37  8f93aaaebb7af607
cc00: 33 30 64 32 30 38 63 38 35 32 38 33 66 36 33 36  30d208c85283f636
cc10: 39 66 31 65 65 32 37 66 64 39 36 64 33 38 66 32  9f1ee27fd96d38f2
cc20: 36 37 34 66 33 31 36 65 66 39 63 32 39 63 31 62  674f316ef9c29c1b
cc30: 36 62 34 32 64 64 35 39 65 63 35 32 33 36 66 36  6b42dd59ec5236f6
cc40: 35 66 35 38 34 35 61 34 30 31 61 64 63 65 61 61  5f5845a401adceaa
cc50: 34 63 66 35 62 62 64 39 31 63 61 63 36 31 63 32  4cf5bbd91cac61c2
cc60: 31 31 30 32 30 35 32 36 33 34 65 39 39 66 61 65  1102052634e99fae
cc70: 64 64 36 63 64 64 64 63 64 34 34 32 36 62 34 32  dd6cdddcd4426b42
cc80: 62 36 61 33 37 32 66 32 39 61 35 61 35 66 33 35  b6a372f29a5a5f35
cc90: 66 35 31 63 65 35 38 30 62 62 31 38 34 35 61 33  f51ce580bb1845a3
cca0: 63 37 63 66 63 64 34 34 37 64 32 36 39 65 38 63  c7cfcd447d269e8c
ccb0: 61 65 62 39 62 33 32 30 62 62 37 33 31 66 35 33  aeb9b320bb731f53
ccc0: 66 65 35 63 39 36 39 61 36 35 62 31 32 66 34 30  fe5c969a65b12f40
ccd0: 36 30 33 61 36 38 35 61 66 65 64 38 36 62 66 65  603a685afed86bfe
cce0: 35 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  53]} \..-body {t
ccf0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
cd00: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
cd10: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
cd20: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
cd30: 20 36 63 33 65 39 33 66 32 62 34 39 66 34 39 33   6c3e93f2b49f493
cd40: 33 34 34 63 63 33 65 62 31 65 39 34 35 34 66 37  344cc3eb1e9454f7
cd50: 39 33 36 33 30 33 32 62 65 65 65 32 66 37 65 61  9363032beee2f7ea
cd60: 36 35 62 33 64 39 39 34 62 35 63 61 65 34 33 38  65b3d994b5cae438
cd70: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
cd80: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
cd90: 2e 31 33 34 20 7b 53 48 41 33 5f 32 35 36 53 68  .134 {SHA3_256Sh
cda0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
cdb0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
cdc0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
cdd0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
cde0: 6f 64 65 20 68 65 78 20 39 38 39 66 63 34 39 35  ode hex 989fc495
cdf0: 39 34 61 66 63 37 33 34 30 35 62 61 63 65 65 34  94afc73405bacee4
ce00: 64 62 62 65 37 31 33 35 38 30 34 66 38 30 30 33  dbbe7135804f8003
ce10: 36 38 64 65 33 39 65 32 65 61 33 62 62 65 63 30  68de39e2ea3bbec0
ce20: 34 65 35 39 63 36 63 35 32 37 35 32 39 32 37 65  4e59c6c52752927e
ce30: 65 33 61 61 32 33 33 62 61 30 64 38 61 61 62 35  e3aa233ba0d8aab5
ce40: 34 31 30 32 34 30 66 34 63 31 30 39 64 37 37 30  410240f4c109d770
ce50: 63 38 63 35 37 30 37 37 37 63 39 32 38 66 63 65  c8c570777c928fce
ce60: 39 61 30 62 65 63 39 62 63 35 31 35 36 63 38 32  9a0bec9bc5156c82
ce70: 31 65 32 30 34 66 30 66 31 34 61 39 61 62 35 34  1e204f0f14a9ab54
ce80: 37 65 30 33 31 39 64 33 65 37 35 38 61 65 39 65  7e0319d3e758ae9e
ce90: 32 38 65 62 32 64 62 63 33 64 39 66 37 61 63 66  28eb2dbc3d9f7acf
cea0: 35 31 62 64 35 32 66 34 31 62 66 32 33 61 65 62  51bd52f41bf23aeb
ceb0: 36 64 39 37 62 35 37 38 30 61 33 35 62 61 30 38  6d97b5780a35ba08
cec0: 62 39 34 39 36 35 39 38 39 37 34 34 65 64 64 33  b94965989744edd3
ced0: 62 31 64 36 64 36 37 61 64 32 36 63 36 38 30 39  b1d6d67ad26c6809
cee0: 39 61 66 38 35 66 39 38 64 30 66 30 65 34 66 66  9af85f98d0f0e4ff
cef0: 66 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  f9]} \..-body {t
cf00: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
cf10: 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64 61 74  st SHA3-256 -dat
cf20: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
cf30: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
cf40: 20 62 31 30 61 64 65 62 36 61 39 33 39 35 61 34   b10adeb6a9395a4
cf50: 38 37 38 38 39 33 31 64 34 35 61 37 62 34 65 34  8788931d45a7b4e4
cf60: 66 36 39 33 30 30 61 37 36 64 38 62 37 31 36 63  f69300a76d8b716c
cf70: 34 30 63 36 31 34 63 33 31 31 33 61 30 66 30 35  40c614c3113a0f05
cf80: 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  1..tcltest::test
cf90: 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36 2d 32   Hash_SHA3-256-2
cfa0: 2e 31 33 35 20 7b 53 48 41 33 5f 32 35 36 53 68  .135 {SHA3_256Sh
cfb0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
cfc0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32 35 36  traints SHA3_256
cfd0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
cfe0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
cff0: 6f 64 65 20 68 65 78 20 65 35 30 32 32 66 34 63  ode hex e5022f4c
d000: 37 64 66 65 32 64 62 64 32 30 37 31 30 35 65 32  7dfe2dbd207105e2
d010: 66 32 37 61 61 65 64 64 35 61 37 36 35 63 32 37  f27aaedd5a765c27
d020: 63 30 62 63 36 30 64 65 39 35 38 62 34 39 36 30  c0bc60de958b4960
d030: 39 34 34 30 35 30 31 38 34 38 63 63 66 33 39 38  9440501848ccf398
d040: 63 66 36 36 64 66 65 38 64 64 37 64 31 33 31 65  cf66dfe8dd7d131e
d050: 30 34 66 31 34 33 32 66 33 32 38 32 37 61 30 35  04f1432f32827a05
d060: 37 62 38 39 30 34 64 32 31 38 65 36 38 62 61 33  7b8904d218e68ba3
d070: 62 30 33 39 38 30 33 38 64 37 35 35 62 64 31 33  b0398038d755bd13
d080: 64 35 66 31 36 38 63 66 61 38 61 31 31 61 62 33  d5f168cfa8a11ab3
d090: 34 63 30 35 34 30 38 37 33 39 34 30 63 32 61 36  4c0540873940c2a6
d0a0: 32 65 61 63 65 33 35 35 32 64 63 64 36 39 35 33  2eace3552dcd6953
d0b0: 63 36 38 33 66 64 62 32 39 39 38 33 64 34 65 34  c683fdb29983d4e4
d0c0: 31 37 30 37 38 66 31 39 38 38 63 35 36 30 63 39  17078f1988c560c9
d0d0: 35 32 31 65 36 66 38 63 37 38 39 39 37 63 33 32  521e6f8c78997c32
d0e0: 36 31 38 66 63 35 31 30 64 62 32 38 32 61 39 38  618fc510db282a98
d0f0: 35 66 38 36 38 66 32 64 39 37 33 66 38 32 33 35  5f868f2d973f8235
d100: 31 64 31 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  1d11]} \..-body 
d110: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
d120: 67 65 73 74 20 53 48 41 33 2d 32 35 36 20 2d 64  gest SHA3-256 -d
d130: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
d140: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
d150: 6c 74 20 33 32 39 33 61 34 62 39 61 65 62 38 61  lt 3293a4b9aeb8a
d160: 36 35 65 31 30 31 34 64 33 38 34 37 35 30 30 66  65e1014d3847500f
d170: 66 63 38 32 34 31 35 39 34 65 39 63 34 35 36 34  fc8241594e9c4564
d180: 63 62 64 37 63 65 39 37 38 62 66 61 35 30 37 36  cbd7ce978bfa5076
d190: 37 66 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  7fe..tcltest::te
d1a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 32 35 36  st Hash_SHA3-256
d1b0: 2d 32 2e 31 33 36 20 7b 53 48 41 33 5f 32 35 36  -2.136 {SHA3_256
d1c0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
d1d0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 32  nstraints SHA3_2
d1e0: 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  56 \..-setup {se
d1f0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
d200: 65 63 6f 64 65 20 68 65 78 20 62 31 66 36 30 37  ecode hex b1f607
d210: 36 35 30 39 39 33 38 34 33 32 31 34 35 62 62 31  6509938432145bb1
d220: 35 64 62 65 31 61 37 62 32 65 30 30 37 39 33 34  5dbe1a7b2e007934
d230: 62 65 35 66 37 35 33 39 30 38 62 35 30 66 64 32  be5f753908b50fd2
d240: 34 33 33 33 34 35 35 39 37 30 61 37 34 32 39 66  4333455970a7429f
d250: 32 66 66 62 64 32 38 62 64 36 66 65 31 38 30 34  2ffbd28bd6fe1804
d260: 63 34 36 38 38 33 31 31 66 33 31 38 66 65 33 66  c4688311f318fe3f
d270: 63 64 39 66 36 37 34 34 34 31 30 32 34 33 65 31  cd9f6744410243e1
d280: 31 35 62 63 62 30 30 64 37 65 30 33 39 61 34 66  15bcb00d7e039a4f
d290: 65 65 34 63 33 32 36 63 32 64 31 31 39 63 34 32  ee4c326c2d119c42
d2a0: 61 62 64 32 65 38 66 34 31 35 35 61 34 34 34 37  abd2e8f4155a4447
d2b0: 32 36 34 33 37 30 34 63 63 30 62 63 37 32 34 30  2643704cc0bc7240
d2c0: 33 62 38 61 38 61 62 30 66 64 34 64 36 38 65 30  3b8a8ab0fd4d68e0
d2d0: 34 61 30 35 39 64 36 65 35 65 64 34 35 30 33 33  4a059d6e5ed45033
d2e0: 62 39 30 36 33 32 36 61 62 62 34 65 62 34 31 34  b906326abb4eb414
d2f0: 37 30 35 32 37 37 39 62 61 64 36 61 30 33 62 35  7052779bad6a03b5
d300: 35 63 61 35 62 64 38 62 31 34 30 65 31 33 31 62  5ca5bd8b140e131b
d310: 65 64 32 64 66 61 64 61 5d 7d 20 5c 0a 09 2d 62  ed2dfada]} \..-b
d320: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
d330: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 32 35   -digest SHA3-25
d340: 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  6 -data $data} \
d350: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
d360: 72 65 73 75 6c 74 20 66 38 32 64 39 36 30 32 62  result f82d9602b
d370: 32 33 31 64 33 33 32 64 39 30 32 63 62 36 34 33  231d332d902cb643
d380: 36 62 31 35 61 65 66 38 39 61 63 63 35 39 31 63  6b15aef89acc591c
d390: 62 38 36 32 36 32 33 33 63 65 64 32 30 63 30 61  b8626233ced20c0a
d3a0: 36 65 38 30 64 37 61 0a 0a 74 63 6c 74 65 73 74  6e80d7a..tcltest
d3b0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
d3c0: 2d 32 35 36 2d 32 2e 31 33 37 20 7b 53 48 41 33  -256-2.137 {SHA3
d3d0: 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  _256ShortMsg} \.
d3e0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
d3f0: 41 33 5f 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  A3_256 \..-setup
d400: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
d410: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 36  ry decode hex 56
d420: 65 61 31 34 64 37 66 63 62 30 64 62 37 34 38 66  ea14d7fcb0db748f
d430: 66 36 34 39 61 61 61 35 64 30 61 66 64 63 32 33  f649aaa5d0afdc23
d440: 35 37 35 32 38 61 39 61 61 64 36 30 37 36 64 37  57528a9aad6076d7
d450: 33 62 32 38 30 35 62 35 33 64 38 39 65 37 33 36  3b2805b53d89e736
d460: 38 31 61 62 66 61 64 32 36 62 65 65 36 63 30 66  81abfad26bee6c0f
d470: 33 64 32 30 32 31 35 32 39 35 66 33 35 34 66 35  3d20215295f354f5
d480: 33 38 61 65 38 30 39 39 30 64 32 32 38 31 62 65  38ae80990d2281be
d490: 36 64 65 30 66 36 39 31 39 61 61 39 65 62 30 34  6de0f6919aa9eb04
d4a0: 38 63 32 36 62 35 32 34 66 34 64 39 31 63 61 38  8c26b524f4d91ca8
d4b0: 37 62 35 34 63 30 63 35 34 61 61 39 62 35 34 61  7b54c0c54aa9b54a
d4c0: 64 30 32 31 37 31 65 38 62 66 33 31 65 38 64 31  d02171e8bf31e8d1
d4d0: 35 38 61 39 66 35 38 36 65 39 32 66 66 63 65 39  58a9f586e92ffce9
d4e0: 39 34 65 63 63 65 39 61 35 31 38 35 63 63 38 30  94ecce9a5185cc80
d4f0: 33 36 34 64 35 30 61 36 66 37 62 39 34 38 34 39  364d50a6f7b94849
d500: 61 39 31 34 32 34 32 66 63 62 37 33 66 33 33 61  a914242fcb73f33a
d510: 38 36 65 63 63 38 33 63 33 34 30 33 36 33 30 64  86ecc83c3403630d
d520: 32 30 36 35 30 64 64 62 38 63 64 39 63 34 5d 7d  20650ddb8cd9c4]}
d530: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
d540: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
d550: 48 41 33 2d 32 35 36 20 2d 64 61 74 61 20 24 64  HA3-256 -data $d
d560: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
d570: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 62 65  xact -result 4be
d580: 61 65 33 35 31 35 62 61 33 35 65 63 38 63 62 64  ae3515ba35ec8cbd
d590: 31 64 39 34 35 36 37 65 32 32 62 30 64 37 38 30  1d94567e22b0d780
d5a0: 39 63 34 36 36 61 62 66 62 61 66 65 39 36 31 30  9c466abfbafe9610
d5b0: 33 34 39 35 39 37 62 61 31 35 62 34 35 0a 0a 23  349597ba15b45..#
d5c0: 20 43 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c 74 65   Cleanup.::tclte
d5d0: 73 74 3a 3a 63 6c 65 61 6e 75 70 54 65 73 74 73  st::cleanupTests
d5e0: 0a 72 65 74 75 72 6e 0a                          .return.