Hex Artifact Content

Artifact 73cf5b5e94649ec955e7f9df96bb94d7616f0ab785532557909f5864bec0c45d:


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 35 31 32 53   from "SHA3_512S
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 35 31 32 20 5b 65 78 70 72 20 7b  SHA3_512 [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 35 31 32 5d 20 3e 20 2d 31 7d 5d  SHA3-512] > -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 35 31 32 2d 32 2e 31 20 7b  h_SHA3-512-2.1 {
0160: 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d 73 67  SHA3_512ShortMsg
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 35 31 32 20 5c 0a 09 2d 73  s SHA3_512 \..-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 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -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: 36 39 66 37 33 63 63 61 32 33 61 39 61 63 35 63  69f73cca23a9ac5c
0200: 38 62 35 36 37 64 63 31 38 35 61 37 35 36 65 39  8b567dc185a756e9
0210: 37 63 39 38 32 31 36 34 66 65 32 35 38 35 39 65  7c982164fe25859e
0220: 30 64 31 64 63 63 31 34 37 35 63 38 30 61 36 31  0d1dcc1475c80a61
0230: 35 62 32 31 32 33 61 66 31 66 35 66 39 34 63 31  5b2123af1f5f94c1
0240: 31 65 33 65 39 34 30 32 63 33 61 63 35 35 38 66  1e3e9402c3ac558f
0250: 35 30 30 31 39 39 64 39 35 62 36 64 33 65 33 30  500199d95b6d3e30
0260: 31 37 35 38 35 38 36 32 38 31 64 63 64 32 36 0a  1758586281dcd26.
0270: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
0280: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 32  ash_SHA3-512-2.2
0290: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
02a0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
02b0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
02c0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
02d0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
02e0: 68 65 78 20 65 35 5d 7d 20 5c 0a 09 2d 62 6f 64  hex e5]} \..-bod
02f0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
0300: 64 69 67 65 73 74 20 53 48 41 33 2d 35 31 32 20  digest SHA3-512 
0310: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
0320: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
0330: 73 75 6c 74 20 31 35 30 32 34 30 62 61 66 39 35  sult 150240baf95
0340: 66 62 33 36 66 38 63 63 62 38 37 61 31 39 61 34  fb36f8ccb87a19a4
0350: 31 37 36 37 65 37 61 65 64 39 35 31 32 35 30 37  1767e7aed9512507
0360: 35 61 32 62 32 64 62 62 61 36 65 35 36 35 65 31  5a2b2dbba6e565e1
0370: 63 65 38 35 37 35 66 32 62 30 34 32 62 36 32 65  ce8575f2b042b62e
0380: 32 39 61 30 34 65 39 34 34 30 33 31 34 61 38 32  29a04e9440314a82
0390: 31 63 36 32 32 34 31 38 32 39 36 34 64 38 62 35  1c6224182964d8b5
03a0: 35 37 62 31 36 61 34 39 32 62 33 38 30 36 66 34  57b16a492b3806f4
03b0: 63 33 39 63 31 0a 0a 74 63 6c 74 65 73 74 3a 3a  c39c1..tcltest::
03c0: 74 65 73 74 20 48 61 73 68 5f 53 48 41 33 2d 35  test Hash_SHA3-5
03d0: 31 32 2d 32 2e 33 20 7b 53 48 41 33 5f 35 31 32  12-2.3 {SHA3_512
03e0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
03f0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35  nstraints SHA3_5
0400: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
0410: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
0420: 65 63 6f 64 65 20 68 65 78 20 65 66 32 36 5d 7d  ecode hex ef26]}
0430: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
0440: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
0450: 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24 64  HA3-512 -data $d
0460: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
0470: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 30 39  xact -result 809
0480: 62 34 31 32 34 64 32 62 31 37 34 37 33 31 64 62  b4124d2b174731db
0490: 31 34 35 38 35 63 32 35 33 31 39 34 63 38 36 31  14585c253194c861
04a0: 39 61 36 38 32 39 34 63 38 63 34 38 39 34 37 38  9a68294c8c489478
04b0: 37 39 33 31 36 66 65 66 32 34 39 62 31 35 37 35  79316fef249b1575
04c0: 64 61 38 31 61 62 37 32 61 61 64 38 66 61 65 30  da81ab72aad8fae0
04d0: 38 64 32 34 65 63 65 37 35 63 61 31 62 65 34 36  8d24ece75ca1be46
04e0: 64 30 36 33 34 31 34 33 37 30 35 64 37 39 64 32  d0634143705d79d2
04f0: 66 35 31 37 37 38 35 36 61 30 34 33 37 0a 0a 74  f5177856a0437..t
0500: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0510: 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34 20 7b  h_SHA3-512-2.4 {
0520: 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d 73 67  SHA3_512ShortMsg
0530: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0540: 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09 2d 73  s SHA3_512 \..-s
0550: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
0560: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0570: 78 20 33 37 64 35 31 38 5d 7d 20 5c 0a 09 2d 62  x 37d518]} \..-b
0580: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0590: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
05a0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
05b0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
05c0: 72 65 73 75 6c 74 20 34 61 61 39 36 62 31 35 34  result 4aa96b154
05d0: 37 65 36 34 30 32 63 30 65 65 65 37 38 31 61 63  7e6402c0eee781ac
05e0: 61 61 36 36 30 37 39 37 65 66 65 32 36 65 63 30  aa660797efe26ec0
05f0: 30 62 34 66 32 65 30 61 65 63 34 61 36 64 31 30  0b4f2e0aec4a6d10
0600: 36 38 38 64 64 36 34 63 62 64 37 66 31 32 62 33  688dd64cbd7f12b3
0610: 62 36 63 37 66 38 30 32 65 32 30 39 36 63 30 34  b6c7f802e2096c04
0620: 31 32 30 38 62 39 32 38 39 61 65 63 33 38 30 64  1208b9289aec380d
0630: 31 61 37 34 38 66 64 66 63 64 34 31 32 38 35 35  1a748fdfcd412855
0640: 33 64 37 38 31 65 33 0a 0a 74 63 6c 74 65 73 74  3d781e3..tcltest
0650: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0660: 2d 35 31 32 2d 32 2e 35 20 7b 53 48 41 33 5f 35  -512-2.5 {SHA3_5
0670: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
0680: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 33  constraints SHA3
0690: 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  _512 \..-setup {
06a0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
06b0: 20 64 65 63 6f 64 65 20 68 65 78 20 66 63 37 62   decode hex fc7b
06c0: 38 63 64 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  8cda]} \..-body 
06d0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
06e0: 67 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64  gest SHA3-512 -d
06f0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0700: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0710: 6c 74 20 35 38 61 35 34 32 32 64 36 62 31 35 65  lt 58a5422d6b15e
0720: 62 31 66 32 32 33 65 62 65 34 66 34 61 35 32 38  b1f223ebe4f4a528
0730: 31 62 63 36 38 32 34 64 31 35 39 39 64 39 37 39  1bc6824d1599d979
0740: 66 34 63 36 66 65 34 35 36 39 35 63 61 38 39 30  f4c6fe45695ca890
0750: 31 34 32 36 30 62 38 35 39 61 32 64 34 36 65 62  14260b859a2d46eb
0760: 66 37 35 66 35 31 66 66 32 30 34 39 32 37 39 33  f75f51ff20492793
0770: 32 63 37 39 32 37 30 64 64 37 61 65 66 39 37 35  2c79270dd7aef975
0780: 36 35 37 62 62 34 38 66 65 30 39 64 38 65 61 30  657bb48fe09d8ea0
0790: 30 38 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  08e..tcltest::te
07a0: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32  st Hash_SHA3-512
07b0: 2d 32 2e 36 20 7b 53 48 41 33 5f 35 31 32 53 68  -2.6 {SHA3_512Sh
07c0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
07d0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
07e0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
07f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
0800: 6f 64 65 20 68 65 78 20 34 37 37 35 63 38 36 62  ode hex 4775c86b
0810: 31 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  1c]} \..-body {t
0820: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
0830: 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74  st SHA3-512 -dat
0840: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
0850: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
0860: 20 63 65 39 36 64 61 38 62 63 64 36 62 63 39 64   ce96da8bcd6bc9d
0870: 38 31 34 31 39 66 30 64 64 33 33 30 38 65 33 65  81419f0dd3308e3e
0880: 66 35 34 31 62 63 37 62 30 33 30 65 65 65 31 33  f541bc7b030eee13
0890: 33 39 63 66 38 62 33 63 34 65 38 34 32 30 63 64  39cf8b3c4e8420cd
08a0: 33 30 33 31 38 30 66 38 64 61 37 37 30 33 37 63  303180f8da77037c
08b0: 38 63 31 61 65 33 37 35 63 61 62 38 31 65 65 34  8c1ae375cab81ee4
08c0: 37 35 37 31 30 39 32 33 62 39 35 31 39 61 64 62  75710923b9519adb
08d0: 64 64 65 64 62 33 36 64 62 30 63 31 39 39 66 37  ddedb36db0c199f7
08e0: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
08f0: 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32   Hash_SHA3-512-2
0900: 2e 37 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72  .7 {SHA3_512Shor
0910: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
0920: 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c  aints SHA3_512 \
0930: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0940: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
0950: 65 20 68 65 78 20 37 31 61 39 38 36 64 32 66 36  e hex 71a986d2f6
0960: 36 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  62]} \..-body {t
0970: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
0980: 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74  st SHA3-512 -dat
0990: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
09a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
09b0: 20 64 65 66 36 61 61 63 32 62 30 38 63 39 38 64   def6aac2b08c98d
09c0: 35 36 61 30 35 30 31 61 38 63 62 39 33 66 35 62  56a0501a8cb93f5b
09d0: 34 37 64 36 33 32 32 64 61 66 39 39 65 30 33 32  47d6322daf99e032
09e0: 35 35 34 35 37 63 33 30 33 33 32 36 33 39 35 66  55457c303326395f
09f0: 37 36 35 35 37 36 39 33 30 66 38 35 37 31 64 38  765576930f8571d8
0a00: 39 63 30 31 65 37 32 37 63 63 37 39 63 32 64 34  9c01e727cc79c2d4
0a10: 34 39 37 66 38 35 63 34 35 36 39 31 62 35 35 34  497f85c45691b554
0a20: 65 32 30 64 61 38 31 30 63 32 62 63 38 36 35 65  e20da810c2bc865e
0a30: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
0a40: 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32   Hash_SHA3-512-2
0a50: 2e 38 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72  .8 {SHA3_512Shor
0a60: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
0a70: 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c  aints SHA3_512 \
0a80: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0a90: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
0aa0: 65 20 68 65 78 20 65 63 38 33 64 37 30 37 61 31  e hex ec83d707a1
0ab0: 34 31 34 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  414a]} \..-body 
0ac0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0ad0: 67 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64  gest SHA3-512 -d
0ae0: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0af0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0b00: 6c 74 20 38 34 66 64 33 37 37 35 62 61 63 35 62  lt 84fd3775bac5b
0b10: 38 37 65 35 35 30 64 30 33 65 63 36 66 65 34 39  87e550d03ec6fe49
0b20: 30 35 63 63 36 30 65 38 35 31 61 34 63 33 33 61  05cc60e851a4c33a
0b30: 36 31 38 35 38 64 34 65 37 64 38 61 33 34 64 34  61858d4e7d8a34d4
0b40: 37 31 66 30 35 30 30 38 62 39 61 31 64 36 33 30  71f05008b9a1d630
0b50: 34 34 34 34 35 64 66 35 61 39 66 63 65 39 35 38  44445df5a9fce958
0b60: 63 62 30 31 32 61 36 61 63 37 37 38 65 63 66 34  cb012a6ac778ecf4
0b70: 35 31 30 34 62 30 66 63 62 39 37 39 61 61 34 36  5104b0fcb979aa46
0b80: 39 32 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  92d..tcltest::te
0b90: 73 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32  st Hash_SHA3-512
0ba0: 2d 32 2e 39 20 7b 53 48 41 33 5f 35 31 32 53 68  -2.9 {SHA3_512Sh
0bb0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
0bc0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
0bd0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
0be0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
0bf0: 6f 64 65 20 68 65 78 20 61 66 35 33 66 61 33 66  ode hex af53fa3f
0c00: 66 38 61 33 63 66 62 32 5d 7d 20 5c 0a 09 2d 62  f8a3cfb2]} \..-b
0c10: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0c20: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
0c30: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
0c40: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0c50: 72 65 73 75 6c 74 20 30 33 63 32 61 63 30 32 64  result 03c2ac02d
0c60: 65 31 37 36 35 34 39 37 61 30 61 36 61 66 34 36  e1765497a0a6af46
0c70: 36 66 62 36 34 37 35 38 65 33 32 38 33 65 64 38  6fb64758e3283ed8
0c80: 33 64 30 32 63 30 65 64 62 33 39 30 34 66 64 33  3d02c0edb3904fd3
0c90: 63 66 32 39 36 34 34 32 65 37 39 30 30 31 38 64  cf296442e790018d
0ca0: 34 62 66 34 63 65 35 35 62 63 38 36 39 63 65 62  4bf4ce55bc869ceb
0cb0: 62 34 61 61 31 61 37 39 39 61 66 63 39 64 39 38  b4aa1a799afc9d98
0cc0: 37 65 37 37 36 66 65 66 35 64 66 65 36 36 32 38  7e776fef5dfe6628
0cd0: 65 32 34 64 65 39 37 0a 0a 74 63 6c 74 65 73 74  e24de97..tcltest
0ce0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0cf0: 2d 35 31 32 2d 32 2e 31 30 20 7b 53 48 41 33 5f  -512-2.10 {SHA3_
0d00: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
0d10: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0d20: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
0d30: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0d40: 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 64 36  y decode hex 3d6
0d50: 30 39 33 39 36 36 39 35 30 61 62 64 38 34 36 5d  093966950abd846]
0d60: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0d70: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0d80: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
0d90: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
0da0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 33  exact -result 53
0db0: 65 33 30 64 61 38 62 37 34 61 65 37 36 61 62 66  e30da8b74ae76abf
0dc0: 31 66 36 35 37 36 31 36 35 33 65 62 66 62 65 38  1f65761653ebfbe8
0dd0: 37 38 38 32 65 39 65 61 30 65 61 35 36 34 61 64  7882e9ea0ea564ad
0de0: 64 64 37 63 66 64 35 61 36 35 32 34 35 37 38 61  dd7cfd5a6524578a
0df0: 64 36 62 65 30 31 34 64 37 37 39 39 37 39 39 65  d6be014d7799799e
0e00: 66 35 65 31 35 63 36 37 39 35 38 32 62 37 39 31  f5e15c679582b791
0e10: 31 35 39 61 64 64 38 32 33 62 39 35 63 39 31 65  159add823b95c91e
0e20: 32 36 64 65 36 32 64 63 62 37 34 63 66 61 0a 0a  26de62dcb74cfa..
0e30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0e40: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 31 31  sh_SHA3-512-2.11
0e50: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
0e60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0e70: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
0e80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
0e90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
0ea0: 68 65 78 20 31 63 61 39 38 34 64 63 63 39 31 33  hex 1ca984dcc913
0eb0: 33 34 34 33 37 30 63 66 5d 7d 20 5c 0a 09 2d 62  344370cf]} \..-b
0ec0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0ed0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
0ee0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
0ef0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
0f00: 72 65 73 75 6c 74 20 36 39 31 35 65 61 30 65 65  result 6915ea0ee
0f10: 66 66 62 39 39 62 39 62 32 34 36 61 30 65 33 34  ffb99b9b246a0e34
0f20: 64 61 66 33 39 34 37 38 35 32 36 38 34 63 33 64  daf3947852684c3d
0f30: 36 31 38 32 36 30 31 31 39 61 32 32 38 33 35 36  618260119a228356
0f40: 35 39 65 34 66 32 33 64 34 65 62 36 36 61 31 35  59e4f23d4eb66a15
0f50: 64 30 61 66 66 62 38 65 39 33 37 37 31 35 37 38  d0affb8e93771578
0f60: 66 35 65 38 66 32 35 62 37 61 35 66 32 61 35 35  f5e8f25b7a5f2a55
0f70: 66 35 31 31 66 62 38 62 39 36 33 32 35 62 61 32  f511fb8b96325ba2
0f80: 63 64 31 34 38 31 36 0a 0a 74 63 6c 74 65 73 74  cd14816..tcltest
0f90: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
0fa0: 2d 35 31 32 2d 32 2e 31 32 20 7b 53 48 41 33 5f  -512-2.12 {SHA3_
0fb0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
0fc0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0fd0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
0fe0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0ff0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 63 37  y decode hex fc7
1000: 62 38 63 64 61 64 65 62 65 34 38 35 38 38 66 36  b8cdadebe48588f6
1010: 38 35 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  851]} \..-body {
1020: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
1030: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
1040: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
1050: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1060: 74 20 63 38 34 33 39 62 62 31 32 38 35 31 32 30  t c8439bb1285120
1070: 62 33 63 34 33 36 33 31 61 30 30 61 33 62 35 61  b3c43631a00a3b5a
1080: 63 30 62 61 64 62 34 31 31 33 35 38 36 61 33 64  c0badb4113586a3d
1090: 64 34 66 37 63 36 36 63 35 64 38 31 30 31 32 66  d4f7c66c5d81012f
10a0: 37 34 31 32 36 31 37 62 31 36 39 66 61 36 64 37  7412617b169fa6d7
10b0: 30 66 38 65 30 61 31 39 65 35 65 32 35 38 65 39  0f8e0a19e5e258e9
10c0: 39 61 30 65 64 32 64 63 66 61 37 37 34 63 38 36  9a0ed2dcfa774c86
10d0: 34 63 36 32 61 30 31 30 65 39 62 39 30 63 61 30  4c62a010e9b90ca0
10e0: 30 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  0d..tcltest::tes
10f0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
1100: 32 2e 31 33 20 7b 53 48 41 33 5f 35 31 32 53 68  2.13 {SHA3_512Sh
1110: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1120: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
1130: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1140: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1150: 6f 64 65 20 68 65 78 20 65 63 62 39 30 37 61 64  ode hex ecb907ad
1160: 66 62 38 35 66 39 31 35 34 61 33 63 32 33 65 38  fb85f9154a3c23e8
1170: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1180: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1190: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
11a0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
11b0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
11c0: 34 61 65 33 34 66 65 64 32 65 66 35 31 61 33 38  4ae34fed2ef51a38
11d0: 33 66 62 38 35 33 32 39 36 65 34 62 37 39 37 65  3fb853296e4b797e
11e0: 34 38 65 30 30 63 61 64 32 37 66 30 39 34 64 32  48e00cad27f094d2
11f0: 66 34 31 31 63 34 30 30 63 34 39 36 30 63 61 34  f411c400c4960ca4
1200: 63 36 31 30 62 66 33 64 63 34 30 65 39 34 65 63  c610bf3dc40e94ec
1210: 66 64 30 63 37 61 31 38 65 34 31 38 38 37 37 65  fd0c7a18e418877e
1220: 31 38 32 63 61 33 61 65 35 63 61 35 31 33 36 65  182ca3ae5ca5136e
1230: 32 38 35 36 61 35 35 33 31 37 31 30 66 34 38 0a  2856a5531710f48.
1240: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1250: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 31  ash_SHA3-512-2.1
1260: 34 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  4 {SHA3_512Short
1270: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1280: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
1290: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
12a0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
12b0: 20 68 65 78 20 64 39 31 61 39 63 33 32 34 65 63   hex d91a9c324ec
12c0: 65 38 34 62 30 37 32 64 30 37 35 33 36 31 38 5d  e84b072d0753618]
12d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
12e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
12f0: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
1300: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1310: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 62  exact -result fb
1320: 31 66 30 36 63 34 64 31 63 30 64 30 36 36 62 64  1f06c4d1c0d066bd
1330: 64 38 35 30 61 62 31 61 37 38 62 38 33 32 39 36  d850ab1a78b83296
1340: 65 62 61 30 63 61 34 32 33 62 62 31 37 34 64 37  eba0ca423bb174d7
1350: 34 32 38 33 66 34 36 36 32 38 65 36 30 39 35 35  4283f46628e60955
1360: 33 39 32 31 34 61 64 66 64 38 32 62 34 36 32 65  39214adfd82b462e
1370: 38 65 39 32 30 34 61 33 39 37 61 38 33 63 36 38  8e9204a397a83c68
1380: 34 32 62 37 32 31 61 33 32 65 38 62 62 30 33 30  42b721a32e8bb030
1390: 39 32 37 61 35 36 38 66 33 63 32 39 65 36 0a 0a  927a568f3c29e6..
13a0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
13b0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 31 35  sh_SHA3-512-2.15
13c0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
13d0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
13e0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
13f0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1400: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1410: 68 65 78 20 63 36 31 61 39 31 38 38 38 31 32 61  hex c61a9188812a
1420: 65 37 33 39 39 34 62 63 30 64 36 64 34 30 32 31  e73994bc0d6d4021
1430: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1440: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1450: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
1460: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
1470: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30   exact -result 0
1480: 36 39 65 36 61 62 31 36 37 35 66 65 64 38 64 34  69e6ab1675fed8d4
1490: 34 31 30 35 66 33 62 36 32 62 62 66 35 62 38 66  4105f3b62bbf5b8f
14a0: 66 37 61 65 38 30 34 30 39 38 39 38 36 38 37 39  f7ae804098986879
14b0: 62 31 31 65 30 64 37 64 39 62 31 62 34 63 62 37  b11e0d7d9b1b4cb7
14c0: 62 63 34 37 61 65 62 37 34 32 30 31 66 35 30 39  bc47aeb74201f509
14d0: 64 64 63 39 32 65 35 36 33 33 61 62 64 32 63 62  ddc92e5633abd2cb
14e0: 65 30 64 64 63 61 32 34 38 30 65 39 39 30 38 61  e0ddca2480e9908a
14f0: 66 61 36 33 32 63 38 63 38 64 35 61 66 32 61 0a  fa632c8c8d5af2a.
1500: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1510: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 31  ash_SHA3-512-2.1
1520: 36 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  6 {SHA3_512Short
1530: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1540: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
1550: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1560: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1570: 20 68 65 78 20 61 36 65 37 62 32 31 38 34 34 39   hex a6e7b218449
1580: 38 34 30 64 31 33 34 62 35 36 36 32 39 30 64 63  840d134b566290dc
1590: 38 39 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  896]} \..-body {
15a0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
15b0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
15c0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
15d0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
15e0: 74 20 33 36 30 35 61 32 31 63 65 30 30 62 32 38  t 3605a21ce00b28
15f0: 39 30 32 32 31 39 33 62 37 30 62 35 33 35 65 36  9022193b70b535e6
1600: 36 32 36 66 33 32 34 37 33 39 35 34 32 39 37 38  626f324739542978
1610: 66 35 62 33 30 37 31 39 34 66 63 66 30 61 35 39  f5b307194fcf0a59
1620: 38 38 66 35 34 32 63 30 38 33 38 61 30 34 34 33  88f542c0838a0443
1630: 62 62 39 62 62 38 66 66 39 32 32 61 36 61 31 37  bb9bb8ff922a6a17
1640: 37 66 64 62 64 31 32 63 66 38 30 35 66 33 65 64  7fdbd12cf805f3ed
1650: 38 30 39 63 34 38 65 39 37 36 39 63 38 62 62 64  809c48e9769c8bbd
1660: 39 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  91..tcltest::tes
1670: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
1680: 32 2e 31 37 20 7b 53 48 41 33 5f 35 31 32 53 68  2.17 {SHA3_512Sh
1690: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
16a0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
16b0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
16c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
16d0: 6f 64 65 20 68 65 78 20 30 35 34 30 39 35 62 61  ode hex 054095ba
16e0: 35 33 31 65 65 63 32 32 31 31 33 63 63 33 34 35  531eec22113cc345
16f0: 65 38 33 37 39 35 63 37 5d 7d 20 5c 0a 09 2d 62  e83795c7]} \..-b
1700: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1710: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
1720: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
1730: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1740: 72 65 73 75 6c 74 20 66 33 61 64 66 35 63 63 66  result f3adf5ccf
1750: 32 38 33 30 63 64 36 32 31 39 35 38 30 32 31 65  2830cd621958021e
1760: 66 39 39 38 32 35 32 66 32 62 36 62 63 34 63 31  f998252f2b6bc4c1
1770: 33 35 30 39 36 38 33 39 35 38 36 64 35 30 36 34  35096839586d5064
1780: 61 32 39 37 38 31 35 34 65 61 30 37 36 63 36 30  a2978154ea076c60
1790: 30 61 39 37 33 36 34 62 63 65 30 65 39 61 61 62  0a97364bce0e9aab
17a0: 34 33 62 37 66 31 66 32 64 61 39 33 35 33 37 30  43b7f1f2da935370
17b0: 38 39 64 65 39 35 30 35 35 37 36 37 34 61 65 36  89de950557674ae6
17c0: 32 35 31 63 61 34 64 0a 0a 74 63 6c 74 65 73 74  251ca4d..tcltest
17d0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
17e0: 2d 35 31 32 2d 32 2e 31 38 20 7b 53 48 41 33 5f  -512-2.18 {SHA3_
17f0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
1800: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1810: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
1820: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1830: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 62 31  y decode hex 5b1
1840: 65 63 31 63 34 65 39 32 30 66 35 62 39 39 35 62  ec1c4e920f5b995b
1850: 36 61 37 38 38 62 36 65 39 38 39 61 63 32 39 5d  6a788b6e989ac29]
1860: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1870: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1880: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
1890: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
18a0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 33  exact -result 13
18b0: 35 65 65 61 31 37 63 61 34 37 38 35 34 38 32 63  5eea17ca4785482c
18c0: 31 39 63 64 36 36 38 62 38 64 64 32 39 31 33 32  19cd668b8dd29132
18d0: 31 36 39 30 33 33 31 31 66 61 32 31 66 36 62 36  16903311fa21f6b6
18e0: 37 30 62 39 62 35 37 33 32 36 34 66 38 38 37 35  70b9b573264f8875
18f0: 62 35 64 33 63 30 37 31 64 39 32 64 36 33 35 35  b5d3c071d92d6355
1900: 36 35 34 39 65 35 32 33 62 32 61 66 31 66 31 61  6549e523b2af1f1a
1910: 35 30 38 62 64 31 66 31 30 35 64 32 39 61 34 33  508bd1f105d29a43
1920: 36 66 34 35 35 63 64 32 63 61 31 36 30 34 0a 0a  6f455cd2ca1604..
1930: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1940: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 31 39  sh_SHA3-512-2.19
1950: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
1960: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1970: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
1980: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1990: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
19a0: 68 65 78 20 31 33 33 62 34 39 37 62 30 30 39 33  hex 133b497b0093
19b0: 32 37 37 33 61 35 33 62 61 39 62 66 38 65 36 31  2773a53ba9bf8e61
19c0: 64 35 39 66 30 35 66 34 5d 7d 20 5c 0a 09 2d 62  d59f05f4]} \..-b
19d0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
19e0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
19f0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
1a00: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
1a10: 72 65 73 75 6c 74 20 37 38 33 39 36 34 61 31 63  result 783964a1c
1a20: 66 34 31 64 36 64 32 31 30 61 38 64 37 63 38 31  f41d6d210a8d7c81
1a30: 63 65 36 39 37 30 61 61 36 32 63 39 30 35 33 63  ce6970aa62c9053c
1a40: 62 38 39 65 31 35 66 38 38 30 35 33 39 35 37 65  b89e15f88053957e
1a50: 63 66 36 30 37 66 34 32 61 66 30 38 38 30 34 65  cf607f42af08804e
1a60: 37 36 66 32 66 62 64 62 62 33 31 38 30 39 63 39  76f2fbdbb31809c9
1a70: 65 65 66 63 36 30 65 32 33 33 64 36 36 32 34 33  eefc60e233d66243
1a80: 36 37 61 33 62 39 63 33 30 66 38 65 65 35 66 36  67a3b9c30f8ee5f6
1a90: 35 62 65 35 36 61 63 0a 0a 74 63 6c 74 65 73 74  5be56ac..tcltest
1aa0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
1ab0: 2d 35 31 32 2d 32 2e 32 30 20 7b 53 48 41 33 5f  -512-2.20 {SHA3_
1ac0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
1ad0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
1ae0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
1af0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
1b00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 38 63  y decode hex 88c
1b10: 30 35 30 65 61 36 62 36 36 62 30 31 32 35 36 62  050ea6b66b01256b
1b20: 64 61 32 39 39 66 33 39 39 33 39 38 65 31 65 33  da299f399398e1e3
1b30: 31 36 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  162]} \..-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 35 31 32 20 2d 64 61  est SHA3-512 -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 36 62 66 37 66 63 38 65 39 30 31 34 66 33  t 6bf7fc8e9014f3
1b90: 35 63 34 62 64 65 36 61 32 63 37 63 65 31 39 36  5c4bde6a2c7ce196
1ba0: 35 64 39 63 31 37 39 33 66 32 35 63 31 34 31 30  5d9c1793f25c1410
1bb0: 32 31 63 63 31 63 36 39 37 64 31 31 31 33 36 33  21cc1c697d111363
1bc0: 62 33 38 35 34 39 35 33 63 32 62 34 30 30 39 64  b3854953c2b4009d
1bd0: 66 34 31 38 37 38 62 35 35 35 38 65 37 38 61 39  f41878b5558e78a9
1be0: 61 39 30 39 32 63 32 32 62 38 62 61 61 30 65 64  a9092c22b8baa0ed
1bf0: 36 62 61 63 61 30 30 35 34 35 35 63 36 63 63 61  6baca005455c6cca
1c00: 37 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  70..tcltest::tes
1c10: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
1c20: 32 2e 32 31 20 7b 53 48 41 33 5f 35 31 32 53 68  2.21 {SHA3_512Sh
1c30: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
1c40: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
1c50: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1c60: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1c70: 6f 64 65 20 68 65 78 20 64 37 64 35 33 36 33 33  ode hex d7d53633
1c80: 35 30 37 30 39 65 39 36 39 33 39 65 36 62 36 38  50709e96939e6b68
1c90: 62 33 62 62 64 65 66 36 39 39 39 61 63 38 64 39  b3bbdef6999ac8d9
1ca0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1cb0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1cc0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
1cd0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
1ce0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
1cf0: 61 34 36 62 65 63 61 35 35 33 66 66 66 61 38 30  a46beca553fffa80
1d00: 32 31 62 30 39 38 39 66 34 30 61 36 35 36 33 61  21b0989f40a6563a
1d10: 38 61 66 62 36 34 31 65 38 31 33 33 30 39 30 62  8afb641e8133090b
1d20: 63 30 33 34 61 62 36 37 36 33 65 39 36 64 37 62  c034ab6763e96d7b
1d30: 37 61 30 64 61 34 64 65 33 61 62 64 35 61 36 37  7a0da4de3abd5a67
1d40: 64 38 30 38 35 66 37 63 32 38 62 32 31 61 32 34  d8085f7c28b21a24
1d50: 61 65 66 62 33 35 39 63 33 37 66 61 63 36 31 64  aefb359c37fac61d
1d60: 33 61 35 33 37 34 62 34 62 31 66 62 36 62 62 0a  3a5374b4b1fb6bb.
1d70: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
1d80: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 32  ash_SHA3-512-2.2
1d90: 32 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  2 {SHA3_512Short
1da0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
1db0: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
1dc0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1dd0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1de0: 20 68 65 78 20 35 34 37 34 36 61 37 62 61 32 38   hex 54746a7ba28
1df0: 62 35 66 32 36 33 64 32 34 39 36 62 64 30 30 38  b5f263d2496bd008
1e00: 30 64 38 33 35 32 30 63 64 32 64 63 35 30 33 5d  0d83520cd2dc503]
1e10: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1e20: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1e30: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
1e40: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
1e50: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 37  exact -result d7
1e60: 37 30 34 38 64 66 36 30 65 32 30 64 30 33 64 33  7048df60e20d03d3
1e70: 33 36 62 66 61 36 33 34 62 63 39 39 33 31 63 32  36bfa634bc9931c2
1e80: 64 33 63 31 65 31 30 36 35 64 33 61 30 37 66 31  d3c1e1065d3a07f1
1e90: 34 61 65 30 31 61 30 38 35 66 65 37 65 37 66 65  4ae01a085fe7e7fe
1ea0: 36 61 38 39 64 63 34 63 37 38 38 30 66 31 30 33  6a89dc4c7880f103
1eb0: 38 39 33 38 61 61 38 66 63 64 39 39 64 32 61 37  8938aa8fcd99d2a7
1ec0: 38 32 64 31 62 62 65 35 65 65 63 37 39 30 38 35  82d1bbe5eec79085
1ed0: 38 31 37 33 63 37 38 33 30 63 38 37 61 32 0a 0a  8173c7830c87a2..
1ee0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
1ef0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 32 33  sh_SHA3-512-2.23
1f00: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
1f10: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1f20: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
1f30: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
1f40: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
1f50: 68 65 78 20 37 33 64 66 37 38 38 35 38 33 30 36  hex 73df78858306
1f60: 33 33 66 63 36 36 63 39 65 62 31 36 39 34 30 62  33fc66c9eb16940b
1f70: 30 31 37 65 39 63 36 66 39 66 38 37 31 39 37 38  017e9c6f9f871978
1f80: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
1f90: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
1fa0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
1fb0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
1fc0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30   exact -result 0
1fd0: 65 64 65 65 31 65 61 30 31 39 61 35 63 30 30 34  edee1ea019a5c004
1fe0: 66 64 38 61 65 39 64 63 38 63 32 64 64 33 38 64  fd8ae9dc8c2dd38d
1ff0: 34 33 33 31 61 62 65 32 39 36 38 65 31 65 39 65  4331abe2968e1e9e
2000: 30 63 31 32 38 64 32 35 30 36 64 62 39 38 31 61  0c128d2506db981a
2010: 33 30 37 63 30 66 31 39 62 63 32 65 36 32 34 38  307c0f19bc2e6248
2020: 37 61 39 32 39 39 32 61 66 37 37 35 38 38 64 33  7a92992af77588d3
2030: 61 62 37 38 35 34 66 65 31 62 36 38 33 30 32 66  ab7854fe1b68302f
2040: 37 39 36 62 39 64 63 64 39 66 33 33 36 64 66 0a  796b9dcd9f336df.
2050: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2060: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 32  ash_SHA3-512-2.2
2070: 34 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  4 {SHA3_512Short
2080: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2090: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
20a0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
20b0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
20c0: 20 68 65 78 20 31 34 63 62 33 35 66 61 39 33 33   hex 14cb35fa933
20d0: 65 34 39 62 30 64 30 61 34 30 30 31 38 33 63 62  e49b0d0a400183cb
20e0: 62 65 61 30 39 39 63 34 34 39 39 35 66 61 65 31  bea099c44995fae1
20f0: 31 36 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  163]} \..-body {
2100: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2110: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
2120: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2130: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2140: 74 20 61 66 32 65 66 34 62 30 63 30 31 65 33 38  t af2ef4b0c01e38
2150: 31 62 34 63 33 38 32 32 30 38 62 36 36 61 64 39  1b4c382208b66ad9
2160: 35 64 37 35 39 65 63 39 31 65 33 38 36 65 39 35  5d759ec91e386e95
2170: 33 39 38 34 61 61 35 66 30 37 37 37 34 36 33 32  3984aa5f07774632
2180: 64 35 33 62 35 38 31 65 62 61 33 32 65 64 31 64  d53b581eba32ed1d
2190: 33 36 39 63 34 36 62 30 61 35 37 66 65 65 36 34  369c46b0a57fee64
21a0: 61 30 32 61 30 65 35 31 30 37 63 32 32 66 31 34  a02a0e5107c22f14
21b0: 66 32 32 32 37 62 31 64 31 31 34 32 34 62 65 63  f2227b1d11424bec
21c0: 62 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  b5..tcltest::tes
21d0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
21e0: 32 2e 32 35 20 7b 53 48 41 33 5f 35 31 32 53 68  2.25 {SHA3_512Sh
21f0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
2200: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
2210: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2220: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2230: 6f 64 65 20 68 65 78 20 37 35 61 30 36 38 36 39  ode hex 75a06869
2240: 63 61 32 61 36 65 61 38 35 37 65 32 36 65 37 38  ca2a6ea857e26e78
2250: 62 62 37 38 61 31 33 39 61 36 37 31 63 63 62 30  bb78a139a671ccb0
2260: 39 38 64 38 32 30 35 61 5d 7d 20 5c 0a 09 2d 62  98d8205a]} \..-b
2270: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2280: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
2290: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
22a0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
22b0: 72 65 73 75 6c 74 20 38 38 62 65 31 39 33 34 33  result 88be19343
22c0: 38 35 35 32 32 61 65 31 64 37 33 39 36 36 36 66  85522ae1d739666f
22d0: 33 39 35 66 31 64 37 66 39 39 39 37 38 64 36 32  395f1d7f99978d62
22e0: 38 38 33 61 32 36 31 61 64 66 35 64 36 31 38 64  883a261adf5d618d
22f0: 30 31 32 64 66 61 62 35 32 32 34 35 37 35 36 33  012dfab522457563
2300: 34 34 34 36 38 37 36 62 38 36 62 33 65 35 66 37  4446876b86b3e5f7
2310: 36 30 39 64 33 39 37 64 33 33 38 61 37 38 34 62  609d397d338a784b
2320: 34 33 31 31 30 32 37 62 31 30 32 34 64 64 66 64  4311027b1024ddfd
2330: 34 39 39 35 61 30 61 0a 0a 74 63 6c 74 65 73 74  4995a0a..tcltest
2340: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2350: 2d 35 31 32 2d 32 2e 32 36 20 7b 53 48 41 33 5f  -512-2.26 {SHA3_
2360: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
2370: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2380: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
2390: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
23a0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 34 31  y decode hex b41
23b0: 33 61 62 33 36 34 64 64 34 31 30 35 37 33 62 35  3ab364dd410573b5
23c0: 33 66 34 63 32 66 32 38 39 38 32 63 61 30 37 30  3f4c2f28982ca070
23d0: 36 31 37 32 36 65 35 64 39 39 39 66 33 63 32 5d  61726e5d999f3c2]
23e0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
23f0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
2400: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
2410: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2420: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 38  exact -result 28
2430: 39 65 38 38 39 62 32 35 66 39 66 33 38 66 61 63  9e889b25f9f38fac
2440: 66 63 63 66 33 62 64 62 63 65 65 61 30 36 65 66  fccf3bdbceea06ef
2450: 33 62 61 61 64 36 65 39 36 31 32 62 37 32 33 32  3baad6e9612b7232
2460: 63 64 35 35 33 66 34 38 38 34 61 37 61 36 34 32  cd553f4884a7a642
2470: 66 36 35 38 33 61 31 61 35 38 39 64 34 64 63 62  f6583a1a589d4dcb
2480: 32 64 63 37 37 31 66 31 66 66 36 64 37 31 31 62  2dc771f1ff6d711b
2490: 38 35 66 37 33 31 31 34 35 61 38 39 62 31 30 30  85f731145a89b100
24a0: 36 38 30 66 39 61 35 35 64 63 62 62 33 66 0a 0a  680f9a55dcbb3f..
24b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
24c0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 32 37  sh_SHA3-512-2.27
24d0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
24e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
24f0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
2500: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
2510: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
2520: 68 65 78 20 64 37 66 39 30 35 33 39 38 34 32 31  hex d7f905398421
2530: 33 65 62 61 62 63 38 34 32 66 64 38 63 65 34 38  3ebabc842fd8ce48
2540: 33 36 30 39 61 39 61 66 35 64 63 31 34 30 65 63  3609a9af5dc140ec
2550: 64 62 65 36 33 33 33 36 5d 7d 20 5c 0a 09 2d 62  dbe63336]} \..-b
2560: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2570: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
2580: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
2590: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
25a0: 72 65 73 75 6c 74 20 66 31 36 37 63 62 33 30 65  result f167cb30e
25b0: 34 62 61 63 62 64 63 35 65 64 35 33 62 63 36 31  4bacbdc5ed53bc61
25c0: 35 66 38 63 39 65 61 31 39 61 64 34 66 36 62 64  5f8c9ea19ad4f6bd
25d0: 38 35 63 61 30 66 66 35 66 62 31 66 31 63 62 65  85ca0ff5fb1f1cbe
25e0: 35 62 35 37 36 62 64 61 34 39 32 37 36 61 61 35  5b576bda49276aa5
25f0: 38 31 34 32 39 31 61 37 65 33 32 30 66 31 64 36  814291a7e320f1d6
2600: 38 37 62 31 36 62 61 38 64 37 64 61 61 62 32 62  87b16ba8d7daab2b
2610: 33 64 37 65 39 61 66 33 63 64 39 66 38 34 61 31  3d7e9af3cd9f84a1
2620: 65 39 39 37 39 61 31 0a 0a 74 63 6c 74 65 73 74  e9979a1..tcltest
2630: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2640: 2d 35 31 32 2d 32 2e 32 38 20 7b 53 48 41 33 5f  -512-2.28 {SHA3_
2650: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
2660: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2670: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
2680: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2690: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 62 37  y decode hex 9b7
26a0: 66 39 64 31 31 62 65 34 38 65 37 38 36 61 31 31  f9d11be48e786a11
26b0: 61 34 37 32 61 62 32 33 34 34 63 35 37 61 64 66  a472ab2344c57adf
26c0: 36 32 66 37 63 31 64 34 65 36 64 32 38 32 30 37  62f7c1d4e6d28207
26d0: 34 62 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  4b6]} \..-body {
26e0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
26f0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
2700: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2710: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2720: 74 20 38 32 66 61 35 32 35 64 35 65 66 61 61 33  t 82fa525d5efaa3
2730: 63 63 65 33 39 62 66 66 65 66 38 65 65 65 30 31  cce39bffef8eee01
2740: 61 66 62 35 32 30 36 37 30 39 37 66 38 39 36 35  afb52067097f8965
2750: 63 64 65 37 31 37 30 33 33 34 35 33 32 32 36 34  cde7170334532264
2760: 35 65 61 65 35 39 64 62 61 65 62 65 64 30 38 30  5eae59dbaebed080
2770: 35 36 39 33 31 30 34 64 66 62 30 63 35 38 31 31  5693104dfb0c5811
2780: 63 35 38 32 38 64 61 39 61 37 35 64 38 31 32 65  c5828da9a75d812e
2790: 35 35 36 32 36 31 35 32 34 38 63 30 33 66 66 38  5562615248c03ff8
27a0: 38 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  80..tcltest::tes
27b0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
27c0: 32 2e 32 39 20 7b 53 48 41 33 5f 35 31 32 53 68  2.29 {SHA3_512Sh
27d0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
27e0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
27f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2800: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2810: 6f 64 65 20 68 65 78 20 31 31 35 37 38 34 62 31  ode hex 115784b1
2820: 66 63 63 66 61 62 63 61 34 35 37 63 34 65 32 37  fccfabca457c4e27
2830: 61 32 34 61 37 38 33 32 32 38 30 62 37 65 37 64  a24a7832280b7e7d
2840: 36 61 31 32 33 66 66 63 65 35 66 64 61 62 37 32  6a123ffce5fdab72
2850: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2860: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2870: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
2880: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2890: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65   exact -result e
28a0: 63 31 32 63 34 65 64 35 61 65 38 34 38 30 38 38  c12c4ed5ae848088
28b0: 38 33 63 35 33 35 31 30 30 33 66 37 65 32 36 65  83c5351003f7e26e
28c0: 31 65 61 66 35 30 39 63 38 36 36 62 33 35 37 66  1eaf509c866b357f
28d0: 39 37 34 37 32 65 35 65 31 39 63 38 34 66 39 39  97472e5e19c84f99
28e0: 66 31 36 64 62 62 62 38 62 66 66 66 30 36 30 64  f16dbbb8bfff060d
28f0: 36 63 30 66 65 30 63 61 39 63 33 34 61 32 31 30  6c0fe0ca9c34a210
2900: 63 39 30 39 62 30 35 66 36 61 38 31 66 34 34 31  c909b05f6a81f441
2910: 36 32 37 63 65 38 65 36 36 36 66 36 64 63 37 0a  627ce8e666f6dc7.
2920: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2930: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33  ash_SHA3-512-2.3
2940: 30 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  0 {SHA3_512Short
2950: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2960: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
2970: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2980: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2990: 20 68 65 78 20 63 33 62 31 61 64 31 36 62 32 38   hex c3b1ad16b28
29a0: 37 37 64 65 66 38 64 30 38 30 34 37 37 64 38 62  77def8d080477d8b
29b0: 35 39 31 35 32 66 65 35 65 38 34 66 33 66 33 33  59152fe5e84f3f33
29c0: 38 30 64 35 35 31 38 32 66 33 36 65 62 35 66 5d  80d55182f36eb5f]
29d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
29e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
29f0: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
2a00: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
2a10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 62  exact -result 4b
2a20: 39 31 34 34 65 64 65 65 65 63 32 38 66 64 35 32  9144edeeec28fd52
2a30: 62 61 34 31 37 36 61 37 38 65 30 38 30 65 35 37  ba4176a78e080e57
2a40: 37 38 32 64 32 33 32 39 62 36 37 64 38 61 63 38  782d2329b67d8ac8
2a50: 37 38 30 62 62 36 65 38 63 32 30 35 37 35 38 33  780bb6e8c2057583
2a60: 31 37 32 61 66 31 64 30 36 38 39 32 32 66 65 61  172af1d068922fea
2a70: 61 66 66 37 35 39 62 65 35 61 36 65 61 35 34 38  aff759be5a6ea548
2a80: 66 35 64 62 35 31 66 34 63 33 34 64 66 65 37 32  f5db51f4c34dfe72
2a90: 33 36 63 61 30 39 61 36 37 39 32 31 63 37 0a 0a  36ca09a67921c7..
2aa0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
2ab0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33 31  sh_SHA3-512-2.31
2ac0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
2ad0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2ae0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
2af0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
2b00: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
2b10: 68 65 78 20 34 63 36 36 63 61 37 61 30 31 31 32  hex 4c66ca7a0112
2b20: 39 65 61 63 61 31 64 39 39 61 30 38 64 64 37 32  9eaca1d99a08dd72
2b30: 32 36 61 35 38 32 34 62 38 34 30 64 30 36 64 30  26a5824b840d06d0
2b40: 30 35 39 63 36 30 65 39 37 64 32 39 31 64 63 34  059c60e97d291dc4
2b50: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
2b60: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
2b70: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
2b80: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
2b90: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35   exact -result 5
2ba0: 36 37 63 34 36 66 32 66 36 33 36 32 32 33 62 64  67c46f2f636223bd
2bb0: 35 65 64 33 64 63 39 38 63 33 66 37 61 37 33 39  5ed3dc98c3f7a739
2bc0: 62 34 32 38 39 38 65 37 30 38 38 36 66 31 33 32  b42898e70886f132
2bd0: 65 61 63 34 33 63 32 61 36 66 61 64 61 62 65 30  eac43c2a6fadabe0
2be0: 64 64 39 66 31 62 36 62 63 34 61 39 33 36 35 65  dd9f1b6bc4a9365e
2bf0: 35 32 33 32 32 39 35 61 63 31 61 63 33 34 37 30  5232295ac1ac3470
2c00: 31 62 30 66 62 31 38 31 64 32 66 37 66 30 37 61  1b0fb181d2f7f07a
2c10: 37 39 64 30 33 33 64 64 34 32 36 64 35 61 32 0a  79d033dd426d5a2.
2c20: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
2c30: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33  ash_SHA3-512-2.3
2c40: 32 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  2 {SHA3_512Short
2c50: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
2c60: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
2c70: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2c80: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2c90: 20 68 65 78 20 34 38 31 30 34 31 63 32 66 35 36   hex 481041c2f56
2ca0: 36 36 32 33 31 36 65 65 38 35 61 31 30 62 39 38  662316ee85a10b98
2cb0: 65 31 30 33 63 38 64 34 38 38 30 34 66 36 66 39  e103c8d48804f6f9
2cc0: 35 30 32 63 66 31 62 35 31 63 66 61 35 32 35 63  502cf1b51cfa525c
2cd0: 65 63 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  ec1]} \..-body {
2ce0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
2cf0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
2d00: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2d10: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2d20: 74 20 34 36 66 30 30 35 38 61 62 65 36 37 38 31  t 46f0058abe6781
2d30: 39 35 62 35 37 36 64 66 35 63 37 65 62 38 64 37  95b576df5c7eb8d7
2d40: 33 39 34 36 38 63 61 64 31 39 30 38 66 37 39 35  39468cad1908f795
2d50: 33 65 61 33 39 63 39 33 66 61 31 64 39 36 38 34  3ea39c93fa1d9684
2d60: 35 63 33 38 61 32 39 33 34 64 32 33 38 30 34 38  5c38a2934d238048
2d70: 36 34 61 38 33 36 38 64 61 65 33 38 31 39 31 64  64a8368dae38191d
2d80: 39 38 33 30 35 33 63 63 64 30 34 35 61 39 61 62  983053ccd045a9ab
2d90: 38 37 65 66 32 36 31 39 65 39 64 64 35 30 63 38  87ef2619e9dd50c8
2da0: 63 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c1..tcltest::tes
2db0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
2dc0: 32 2e 33 33 20 7b 53 48 41 33 5f 35 31 32 53 68  2.33 {SHA3_512Sh
2dd0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
2de0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
2df0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2e00: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2e10: 6f 64 65 20 68 65 78 20 37 63 31 36 38 38 32 31  ode hex 7c168821
2e20: 37 62 33 31 33 32 37 38 62 39 65 61 65 38 65 64  7b313278b9eae8ed
2e30: 63 66 38 61 61 34 32 37 31 36 31 34 32 39 36 64  cf8aa4271614296d
2e40: 30 63 31 65 38 39 31 36 66 39 65 30 65 39 34 30  0c1e8916f9e0e940
2e50: 64 32 38 62 38 38 63 35 5d 7d 20 5c 0a 09 2d 62  d28b88c5]} \..-b
2e60: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2e70: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
2e80: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
2e90: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
2ea0: 72 65 73 75 6c 74 20 36 32 37 62 61 34 64 65 37  result 627ba4de7
2eb0: 34 64 30 35 62 62 36 64 66 38 39 39 31 31 31 32  4d05bb6df8991112
2ec0: 65 34 64 33 37 33 62 66 63 65 64 33 37 61 63 64  e4d373bfced37acd
2ed0: 65 31 33 30 34 65 30 66 36 36 34 66 32 39 66 61  e1304e0f664f29fa
2ee0: 31 32 36 63 62 34 39 37 63 38 61 31 62 37 31 37  126cb497c8a1b717
2ef0: 62 39 39 32 39 31 32 30 38 38 33 65 63 38 38 39  b9929120883ec889
2f00: 38 39 36 38 65 34 36 34 39 30 31 33 62 37 36 30  8968e4649013b760
2f10: 61 32 31 38 30 61 39 64 63 30 66 63 39 62 32 37  a2180a9dc0fc9b27
2f20: 66 35 62 37 66 33 62 0a 0a 74 63 6c 74 65 73 74  f5b7f3b..tcltest
2f30: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
2f40: 2d 35 31 32 2d 32 2e 33 34 20 7b 53 48 41 33 5f  -512-2.34 {SHA3_
2f50: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
2f60: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
2f70: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
2f80: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
2f90: 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 38 35  y decode hex 785
2fa0: 66 36 35 31 33 66 63 64 39 32 62 36 37 34 63 34  f6513fcd92b674c4
2fb0: 35 30 65 38 35 64 61 32 32 32 35 37 62 38 65 38  50e85da22257b8e8
2fc0: 35 62 66 61 36 35 65 35 64 39 62 31 62 31 66 66  5bfa65e5d9b1b1ff
2fd0: 63 35 63 34 36 39 61 64 33 33 37 64 31 65 33 5d  c5c469ad337d1e3]
2fe0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
2ff0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3000: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
3010: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3020: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 63  exact -result 5c
3030: 31 31 64 36 65 34 63 35 63 35 66 37 36 64 32 36  11d6e4c5c5f76d26
3040: 38 37 36 63 35 39 37 36 62 36 66 35 35 35 63 32  876c5976b6f555c2
3050: 35 35 63 37 38 35 62 32 66 32 38 62 36 37 30 30  55c785b2f28b6700
3060: 63 61 32 64 38 62 33 62 33 66 61 35 38 35 36 33  ca2d8b3b3fa58563
3070: 36 32 33 39 32 37 37 37 37 33 33 33 30 66 34 63  6239277773330f4c
3080: 66 38 63 35 64 35 32 30 33 62 63 63 30 39 31 62  f8c5d5203bcc091b
3090: 38 64 34 37 65 37 37 34 33 62 62 63 30 62 35 61  8d47e7743bbc0b5a
30a0: 32 63 35 34 34 34 34 65 65 32 61 63 63 65 0a 0a  2c54444ee2acce..
30b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
30c0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33 35  sh_SHA3-512-2.35
30d0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
30e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
30f0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
3100: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3110: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3120: 68 65 78 20 33 34 66 34 34 36 38 65 32 64 35 36  hex 34f4468e2d56
3130: 37 62 31 65 33 32 36 63 30 39 34 32 39 37 30 65  7b1e326c0942970e
3140: 66 61 33 32 63 35 63 61 32 65 39 35 64 34 32 63  fa32c5ca2e95d42c
3150: 39 38 65 62 35 64 33 63 61 62 32 38 38 39 34 39  98eb5d3cab288949
3160: 30 65 61 31 36 65 65 35 5d 7d 20 5c 0a 09 2d 62  0ea16ee5]} \..-b
3170: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3180: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
3190: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
31a0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
31b0: 72 65 73 75 6c 74 20 34 39 61 64 66 61 33 33 35  result 49adfa335
31c0: 65 31 38 33 63 39 34 62 33 31 36 30 31 35 34 64  e183c94b3160154d
31d0: 36 36 39 38 65 33 31 38 63 38 62 35 64 64 31 30  6698e318c8b5dd10
31e0: 30 62 30 32 32 37 65 33 65 33 34 63 61 62 65 61  0b0227e3e34cabea
31f0: 31 66 65 30 66 37 34 35 33 32 36 32 32 30 66 36  1fe0f745326220f6
3200: 34 32 36 33 39 36 31 33 34 39 39 39 36 62 62 65  4263961349996bbe
3210: 31 61 61 65 39 30 35 34 64 65 36 34 30 36 65 38  1aae9054de6406e8
3220: 62 33 35 30 34 30 38 61 62 30 62 39 66 36 35 36  b350408ab0b9f656
3230: 62 62 38 64 61 66 37 0a 0a 74 63 6c 74 65 73 74  bb8daf7..tcltest
3240: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3250: 2d 35 31 32 2d 32 2e 33 36 20 7b 53 48 41 33 5f  -512-2.36 {SHA3_
3260: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
3270: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3280: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
3290: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
32a0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 33 61  y decode hex 53a
32b0: 30 31 32 31 63 38 39 39 33 62 36 66 36 65 65 63  0121c8993b6f6eec
32c0: 39 32 31 64 32 34 34 35 30 33 35 64 64 39 30 36  921d2445035dd906
32d0: 35 34 61 64 64 31 32 39 38 63 36 37 32 37 61 32  54add1298c6727a2
32e0: 61 65 64 39 62 35 39 62 61 66 62 37 64 64 36 32  aed9b59bafb7dd62
32f0: 30 37 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  070]} \..-body {
3300: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
3310: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
3320: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3330: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3340: 74 20 39 31 38 62 34 64 39 32 65 31 66 63 62 36  t 918b4d92e1fcb6
3350: 35 61 34 63 31 66 61 30 62 64 37 35 63 35 36 32  5a4c1fa0bd75c562
3360: 61 63 39 64 38 33 31 38 36 62 62 32 66 62 66 61  ac9d83186bb2fbfa
3370: 65 35 63 34 37 38 34 64 65 33 31 61 31 34 36 35  e5c4784de31a1465
3380: 34 35 34 36 65 31 30 37 64 66 30 65 37 39 30 37  4546e107df0e7907
3390: 36 62 38 36 38 37 62 62 33 38 34 31 63 38 33 62  6b8687bb3841c83b
33a0: 61 39 31 38 31 66 39 39 35 36 63 64 34 33 34 32  a9181f9956cd4342
33b0: 38 62 61 37 32 66 36 30 33 38 38 31 62 33 33 61  8ba72f603881b33a
33c0: 37 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  71..tcltest::tes
33d0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
33e0: 32 2e 33 37 20 7b 53 48 41 33 5f 35 31 32 53 68  2.37 {SHA3_512Sh
33f0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
3400: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
3410: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3420: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3430: 6f 64 65 20 68 65 78 20 64 33 30 66 61 34 62 34  ode hex d30fa4b4
3440: 30 63 39 66 38 34 61 63 39 62 63 62 62 35 33 35  0c9f84ac9bcbb535
3450: 65 38 36 39 38 39 65 63 36 64 31 62 65 63 39 62  e86989ec6d1bec9b
3460: 31 62 32 32 65 39 62 30 66 39 37 33 37 30 65 64  1b22e9b0f97370ed
3470: 30 66 30 64 35 36 36 30 38 32 38 39 39 64 39 36  0f0d566082899d96
3480: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
3490: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
34a0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
34b0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
34c0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
34d0: 39 66 31 30 34 63 31 64 61 34 61 66 33 31 34 64  9f104c1da4af314d
34e0: 36 62 63 65 62 33 34 65 63 61 31 64 66 65 34 65  6bceb34eca1dfe4e
34f0: 36 37 34 38 34 35 31 39 65 62 37 36 62 61 33 38  67484519eb76ba38
3500: 65 34 37 30 31 65 31 31 33 65 36 63 62 63 30 32  e4701e113e6cbc02
3510: 30 30 64 66 38 36 65 34 34 33 39 64 36 37 34 62  00df86e4439d674b
3520: 30 66 34 32 63 37 32 32 33 33 33 36 30 34 37 38  0f42c72233360478
3530: 62 61 35 32 34 34 33 38 34 64 32 38 65 33 38 38  ba5244384d28e388
3540: 63 38 37 61 61 61 38 31 37 30 30 37 63 36 39 0a  c87aaa817007c69.
3550: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
3560: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33  ash_SHA3-512-2.3
3570: 38 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  8 {SHA3_512Short
3580: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
3590: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
35a0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
35b0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
35c0: 20 68 65 78 20 66 33 34 64 31 30 30 32 36 39 61   hex f34d100269a
35d0: 65 65 33 65 61 64 31 35 36 38 39 35 65 38 36 34  ee3ead156895e864
35e0: 34 64 34 37 34 39 34 36 34 64 35 39 32 31 64 36  4d4749464d5921d6
35f0: 31 35 37 64 66 66 63 62 62 61 64 66 37 61 37 31  157dffcbbadf7a71
3600: 39 61 65 65 33 35 61 65 30 66 64 34 38 37 32 5d  9aee35ae0fd4872]
3610: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3620: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3630: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
3640: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3650: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 36  exact -result 56
3660: 35 61 31 64 64 39 64 34 39 66 38 64 64 65 66 62  5a1dd9d49f8ddefb
3670: 37 39 61 33 63 37 61 32 30 39 66 35 33 66 30 62  79a3c7a209f53f0b
3680: 63 39 66 35 33 39 36 32 36 39 62 31 63 65 32 61  c9f5396269b1ce2a
3690: 32 62 32 38 33 61 33 63 62 34 35 65 65 33 61 65  2b283a3cb45ee3ae
36a0: 36 35 32 65 34 63 61 31 30 62 32 36 63 65 64 37  652e4ca10b26ced7
36b0: 65 35 32 33 36 32 32 37 30 30 36 63 39 34 61 33  e5236227006c94a3
36c0: 37 35 35 33 64 62 31 62 36 66 65 35 63 30 63 32  7553db1b6fe5c0c2
36d0: 65 64 65 64 37 35 36 63 38 39 36 62 62 31 0a 0a  eded756c896bb1..
36e0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
36f0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 33 39  sh_SHA3-512-2.39
3700: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
3710: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3720: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
3730: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3740: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3750: 68 65 78 20 31 32 35 32 39 37 36 39 66 65 35 31  hex 12529769fe51
3760: 39 31 64 33 66 63 65 38 36 30 66 34 33 34 61 62  91d3fce860f434ab
3770: 31 31 33 30 63 65 33 38 39 64 33 34 30 66 63 61  1130ce389d340fca
3780: 32 33 32 63 63 35 30 62 37 35 33 36 65 36 32 61  232cc50b7536e62a
3790: 64 36 31 37 37 34 32 65 30 32 32 65 61 33 38 61  d617742e022ea38a
37a0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
37b0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
37c0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
37d0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
37e0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64   exact -result d
37f0: 61 65 65 31 30 65 38 31 35 66 66 66 30 66 30 39  aee10e815fff0f09
3800: 38 35 64 32 30 38 38 38 36 65 32 32 66 39 62 66  85d208886e22f9bf
3810: 32 30 61 33 36 34 33 65 62 39 61 32 39 66 64 61  20a3643eb9a29fda
3820: 34 36 39 62 36 61 37 64 63 64 35 34 62 35 32 31  469b6a7dcd54b521
3830: 33 63 38 35 31 64 36 66 31 39 33 33 38 64 36 33  3c851d6f19338d63
3840: 36 38 38 66 65 31 66 30 32 39 33 36 63 35 64 61  688fe1f02936c5da
3850: 65 31 62 37 63 36 64 35 39 30 36 61 31 33 61 39  e1b7c6d5906a13a9
3860: 65 65 62 39 33 34 34 30 30 62 36 66 65 38 63 0a  eeb934400b6fe8c.
3870: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
3880: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34  ash_SHA3-512-2.4
3890: 30 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  0 {SHA3_512Short
38a0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
38b0: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
38c0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
38d0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
38e0: 20 68 65 78 20 62 32 65 33 61 30 65 62 33 36 62   hex b2e3a0eb36b
38f0: 66 31 36 61 66 62 36 31 38 62 66 64 34 32 61 35  f16afb618bfd42a5
3900: 36 37 38 39 31 37 39 31 34 37 65 66 66 65 63 63  6789179147effecc
3910: 36 38 34 64 38 65 33 39 66 30 33 37 65 63 37 62  684d8e39f037ec7b
3920: 32 64 32 33 66 33 66 35 37 66 36 64 37 61 37 64  2d23f3f57f6d7a7d
3930: 30 62 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  0bb]} \..-body {
3940: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
3950: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
3960: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3970: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3980: 74 20 30 34 30 32 39 64 36 64 39 65 38 65 33 39  t 04029d6d9e8e39
3990: 34 61 66 61 33 38 37 66 31 64 30 33 61 62 36 62  4afa387f1d03ab6b
39a0: 38 61 30 61 36 63 62 61 62 34 62 36 62 33 63 38  8a0a6cbab4b6b3c8
39b0: 36 65 66 36 32 66 37 31 34 32 61 62 33 63 31 30  6ef62f7142ab3c10
39c0: 38 33 38 38 64 34 32 63 62 38 37 32 35 38 62 39  8388d42cb87258b9
39d0: 65 36 64 33 36 65 35 38 31 34 64 38 61 36 36 32  e6d36e5814d8a662
39e0: 36 35 37 63 66 37 31 37 62 33 35 61 35 37 30 38  657cf717b35a5708
39f0: 33 36 35 65 38 65 63 30 33 39 36 65 63 35 35 34  365e8ec0396ec554
3a00: 36 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  6b..tcltest::tes
3a10: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
3a20: 32 2e 34 31 20 7b 53 48 41 33 5f 35 31 32 53 68  2.41 {SHA3_512Sh
3a30: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
3a40: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
3a50: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3a60: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3a70: 6f 64 65 20 68 65 78 20 32 35 63 34 61 35 66 34  ode hex 25c4a5f4
3a80: 61 30 37 66 32 62 38 31 65 30 35 33 33 33 31 33  a07f2b81e0533313
3a90: 36 36 34 62 66 36 31 35 63 37 33 32 35 37 65 36  664bf615c73257e6
3aa0: 62 32 39 33 30 65 37 35 32 66 65 35 30 35 30 65  b2930e752fe5050e
3ab0: 32 35 66 66 30 32 37 33 31 66 64 32 38 37 32 66  25ff02731fd2872f
3ac0: 34 66 35 36 66 37 32 37 5d 7d 20 5c 0a 09 2d 62  4f56f727]} \..-b
3ad0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3ae0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
3af0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
3b00: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3b10: 72 65 73 75 6c 74 20 65 63 32 64 33 38 65 35 62  result ec2d38e5b
3b20: 62 35 64 37 62 31 38 34 33 38 64 35 66 32 30 32  b5d7b18438d5f202
3b30: 39 63 38 36 64 30 35 61 30 33 35 31 30 64 62 30  9c86d05a03510db0
3b40: 65 36 36 61 61 32 39 39 63 32 38 36 33 35 61 62  e66aa299c28635ab
3b50: 64 30 39 38 38 63 35 38 62 65 32 30 33 66 30 34  d0988c58be203f04
3b60: 62 37 65 30 63 63 32 35 34 35 31 64 31 38 66 32  b7e0cc25451d18f2
3b70: 33 34 31 63 64 34 36 66 38 37 30 35 64 34 36 63  341cd46f8705d46c
3b80: 32 30 36 36 64 61 66 61 62 33 30 64 39 30 64 36  2066dafab30d90d6
3b90: 33 62 66 33 64 32 63 0a 0a 74 63 6c 74 65 73 74  3bf3d2c..tcltest
3ba0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3bb0: 2d 35 31 32 2d 32 2e 34 32 20 7b 53 48 41 33 5f  -512-2.42 {SHA3_
3bc0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
3bd0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3be0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
3bf0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3c00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 33 34  y decode hex 134
3c10: 62 62 38 65 37 65 61 35 66 66 39 65 64 62 36 39  bb8e7ea5ff9edb69
3c20: 65 38 66 36 62 62 64 34 39 38 65 62 34 35 33 37  e8f6bbd498eb4537
3c30: 35 38 30 62 37 66 62 61 37 61 64 33 31 64 30 61  580b7fba7ad31d0a
3c40: 30 39 39 32 31 32 33 37 61 63 64 37 64 36 36 66  09921237acd7d66f
3c50: 34 64 61 32 33 34 38 30 62 39 63 31 32 32 32 5d  4da23480b9c1222]
3c60: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3c70: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3c80: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
3c90: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
3ca0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 66  exact -result 8f
3cb0: 39 36 36 61 65 66 39 36 38 33 31 61 31 34 39 39  966aef96831a1499
3cc0: 64 36 33 35 36 30 62 32 35 37 38 30 32 31 61 64  d63560b2578021ad
3cd0: 39 37 30 62 66 37 35 35 37 62 38 62 66 38 30 37  970bf7557b8bf807
3ce0: 38 62 33 65 31 32 63 65 66 61 62 31 32 32 66 65  8b3e12cefab122fe
3cf0: 37 31 62 31 32 31 32 64 63 37 30 34 66 37 30 39  71b1212dc704f709
3d00: 34 61 34 30 62 33 36 62 37 31 64 33 61 64 37 63  4a40b36b71d3ad7c
3d10: 65 32 64 33 30 66 37 32 63 31 62 61 61 34 64 34  e2d30f72c1baa4d4
3d20: 62 62 63 63 62 33 32 35 31 31 39 38 61 63 0a 0a  bbccb3251198ac..
3d30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
3d40: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34 33  sh_SHA3-512-2.43
3d50: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
3d60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3d70: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
3d80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
3d90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
3da0: 68 65 78 20 66 37 39 33 32 35 36 66 30 33 39 66  hex f793256f039f
3db0: 61 64 31 31 61 66 32 34 63 65 65 34 64 32 32 33  ad11af24cee4d223
3dc0: 63 64 32 61 37 37 31 35 39 38 32 38 39 39 39 35  cd2a771598289995
3dd0: 61 62 38 30 32 62 35 39 33 30 62 61 35 63 36 36  ab802b5930ba5c66
3de0: 36 61 32 34 31 38 38 34 35 33 64 63 64 32 66 30  6a24188453dcd2f0
3df0: 38 34 32 62 38 31 35 32 5d 7d 20 5c 0a 09 2d 62  842b8152]} \..-b
3e00: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3e10: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
3e20: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
3e30: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
3e40: 72 65 73 75 6c 74 20 32 32 63 33 64 39 37 31 32  result 22c3d9712
3e50: 35 33 35 31 35 33 61 33 65 32 30 36 62 31 30 33  535153a3e206b103
3e60: 33 39 32 39 63 30 66 64 39 64 39 33 37 63 33 39  3929c0fd9d937c39
3e70: 62 61 31 33 63 66 31 61 36 35 34 34 64 66 62 64  ba13cf1a6544dfbd
3e80: 36 38 65 62 63 39 34 38 36 37 62 31 35 66 64 61  68ebc94867b15fda
3e90: 33 66 31 64 33 30 62 30 30 62 66 34 37 66 32 63  3f1d30b00bf47f2c
3ea0: 34 62 66 34 31 64 61 62 64 65 61 61 35 63 33 39  4bf41dabdeaa5c39
3eb0: 37 64 61 65 39 30 31 63 35 37 64 62 39 63 64 37  7dae901c57db9cd7
3ec0: 37 64 64 62 63 63 30 0a 0a 74 63 6c 74 65 73 74  7ddbcc0..tcltest
3ed0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
3ee0: 2d 35 31 32 2d 32 2e 34 34 20 7b 53 48 41 33 5f  -512-2.44 {SHA3_
3ef0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
3f00: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
3f10: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
3f20: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
3f30: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 33 63  y decode hex 23c
3f40: 63 37 66 39 30 35 32 64 35 65 32 32 65 36 37 31  c7f9052d5e22e671
3f50: 32 66 61 62 38 38 65 38 64 66 61 61 39 32 38 62  2fab88e8dfaa928b
3f60: 36 65 30 31 35 63 61 35 38 39 63 33 62 38 39 63  6e015ca589c3b89c
3f70: 62 37 34 35 62 37 35 36 63 61 37 63 37 36 33 34  b745b756ca7c7634
3f80: 61 35 30 33 62 66 30 32 32 38 65 37 31 63 32 38  a503bf0228e71c28
3f90: 65 65 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  ee2]} \..-body {
3fa0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
3fb0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
3fc0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3fd0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3fe0: 74 20 36 65 63 66 33 61 64 36 30 36 34 32 31 38  t 6ecf3ad6064218
3ff0: 65 65 31 30 31 61 35 35 35 64 32 30 66 61 62 36  ee101a555d20fab6
4000: 63 62 65 62 36 62 31 34 35 62 34 65 65 62 39 63  cbeb6b145b4eeb9c
4010: 38 63 39 37 31 66 63 37 63 65 30 35 35 38 31 61  8c971fc7ce05581a
4020: 33 34 62 33 63 35 32 31 37 39 35 39 30 65 38 61  34b3c52179590e8a
4030: 31 33 34 62 65 32 65 38 38 63 37 65 35 34 39 38  134be2e88c7e5498
4040: 37 35 66 34 66 66 38 39 62 39 36 33 37 34 63 36  75f4ff89b96374c6
4050: 39 39 35 39 36 30 64 65 33 61 35 30 39 38 63 63  995960de3a5098cc
4060: 65 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ed..tcltest::tes
4070: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
4080: 32 2e 34 35 20 7b 53 48 41 33 5f 35 31 32 53 68  2.45 {SHA3_512Sh
4090: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
40a0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
40b0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
40c0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
40d0: 6f 64 65 20 68 65 78 20 61 36 30 62 37 62 33 64  ode hex a60b7b3d
40e0: 66 31 35 62 33 66 31 62 31 39 64 62 31 35 64 34  f15b3f1b19db15d4
40f0: 38 30 33 38 38 62 30 66 33 62 30 30 38 33 37 33  80388b0f3b008373
4100: 36 39 61 61 32 63 63 37 63 33 64 37 33 31 35 37  69aa2cc7c3d73157
4110: 37 35 64 37 33 30 39 61 32 64 36 66 36 64 31 33  75d7309a2d6f6d13
4120: 37 31 64 39 63 38 37 35 33 35 30 64 65 63 30 61  71d9c875350dec0a
4130: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4140: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4150: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
4160: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
4170: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38   exact -result 8
4180: 64 36 35 31 36 30 35 63 36 62 33 32 62 66 30 32  d651605c6b32bf02
4190: 32 65 61 30 36 63 65 36 33 30 36 62 32 63 61 36  2ea06ce6306b2ca6
41a0: 62 35 62 61 32 37 38 31 61 66 38 37 63 61 32 33  b5ba2781af87ca23
41b0: 37 35 38 36 30 33 31 35 63 38 33 61 64 38 38 37  75860315c83ad887
41c0: 34 33 30 33 30 64 31 34 38 65 64 38 64 37 33 31  43030d148ed8d731
41d0: 39 34 63 34 36 31 65 63 31 65 38 34 63 30 34 35  94c461ec1e84c045
41e0: 66 63 39 31 34 37 30 35 37 34 37 36 31 34 63 30  fc914705747614c0
41f0: 34 63 38 38 36 35 62 35 31 64 61 39 34 66 37 0a  4c8865b51da94f7.
4200: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
4210: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34  ash_SHA3-512-2.4
4220: 36 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  6 {SHA3_512Short
4230: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4240: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
4250: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4260: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4270: 20 68 65 78 20 32 37 34 35 64 64 32 66 31 62 32   hex 2745dd2f1b2
4280: 31 35 65 61 35 30 39 61 39 31 32 65 35 37 36 31  15ea509a912e5761
4290: 63 63 63 63 34 66 31 39 66 61 39 33 62 61 33 38  cccc4f19fa93ba38
42a0: 34 34 35 63 35 32 38 63 62 32 66 30 39 39 64 65  445c528cb2f099de
42b0: 39 39 61 62 39 66 61 63 39 35 35 62 61 61 32 31  99ab9fac955baa21
42c0: 31 66 64 38 35 33 39 61 36 37 31 63 64 62 36 5d  1fd8539a671cdb6]
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 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -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 34 61  exact -result 4a
4320: 66 39 31 38 65 62 36 37 36 63 65 32 37 38 63 37  f918eb676ce278c7
4330: 33 30 32 31 32 65 66 37 39 64 38 31 38 37 37 33  30212ef79d818773
4340: 61 37 36 61 34 33 63 37 34 64 36 34 33 66 32 33  a76a43c74d643f23
4350: 38 65 39 62 36 31 61 63 61 66 34 30 33 30 63 36  8e9b61acaf4030c6
4360: 31 37 63 34 64 36 62 33 62 37 35 31 34 63 35 39  17c4d6b3b7514c59
4370: 62 33 65 35 65 39 35 64 38 32 65 31 65 31 65 33  b3e5e95d82e1e1e3
4380: 35 34 34 33 65 38 35 31 37 31 38 62 31 33 62 36  5443e851718b13b6
4390: 33 65 37 30 62 31 32 33 64 31 62 37 32 63 0a 0a  3e70b123d1b72c..
43a0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
43b0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34 37  sh_SHA3-512-2.47
43c0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
43d0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
43e0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
43f0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
4400: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
4410: 68 65 78 20 38 38 61 64 65 65 34 62 34 36 64 32  hex 88adee4b46d2
4420: 61 31 30 39 63 33 36 66 63 66 62 36 36 30 66 31  a109c36fcfb660f1
4430: 37 66 34 38 30 36 32 66 37 61 37 34 36 37 39 66  7f48062f7a74679f
4440: 62 30 37 65 38 36 63 61 64 38 34 66 37 39 66 64  b07e86cad84f79fd
4450: 35 37 63 38 36 64 34 32 36 33 35 36 65 63 38 65  57c86d426356ec8e
4460: 36 38 63 36 35 62 33 63 61 61 35 62 63 37 62 61  68c65b3caa5bc7ba
4470: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4480: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4490: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
44a0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
44b0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36   exact -result 6
44c0: 32 35 37 61 63 62 39 66 35 38 39 63 39 31 39 63  257acb9f589c919c
44d0: 39 33 63 30 61 64 63 34 65 39 30 37 66 65 30 31  93c0adc4e907fe01
44e0: 31 62 65 66 36 30 31 38 66 62 62 31 38 65 36 31  1bef6018fbb18e61
44f0: 38 62 61 36 66 63 63 38 63 62 63 35 65 34 30 36  8ba6fcc8cbc5e406
4500: 34 31 62 65 35 38 39 65 38 36 64 62 62 30 63 66  41be589e86dbb0cf
4510: 37 64 37 64 36 62 66 33 33 62 39 38 64 38 34 35  7d7d6bf33b98d845
4520: 38 63 63 65 30 61 66 37 38 35 37 66 35 61 37 63  8cce0af7857f5a7c
4530: 37 36 34 37 63 66 33 35 30 65 32 35 61 66 30 0a  7647cf350e25af0.
4540: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
4550: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 34  ash_SHA3-512-2.4
4560: 38 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  8 {SHA3_512Short
4570: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4580: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
4590: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
45a0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
45b0: 20 68 65 78 20 37 64 34 30 66 32 64 63 34 61 66   hex 7d40f2dc4af
45c0: 33 63 66 61 31 32 62 30 30 64 36 34 39 34 30 64  3cfa12b00d64940d
45d0: 63 33 32 61 32 32 64 36 36 64 38 31 63 62 36 32  c32a22d66d81cb62
45e0: 38 62 65 32 62 38 64 64 61 34 37 65 64 36 37 32  8be2b8dda47ed672
45f0: 38 30 32 30 64 35 35 62 36 39 35 65 37 35 32 36  8020d55b695e7526
4600: 30 66 34 65 63 31 38 63 36 64 37 34 38 33 39 30  0f4ec18c6d748390
4610: 38 36 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  86a]} \..-body {
4620: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
4630: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
4640: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
4650: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4660: 74 20 35 63 34 36 63 38 34 61 30 61 30 32 64 38  t 5c46c84a0a02d8
4670: 39 38 65 64 35 38 38 35 63 65 39 39 63 34 37 63  98ed5885ce99c47c
4680: 37 37 61 66 64 32 39 61 65 30 31 35 64 30 32 37  77afd29ae015d027
4690: 66 32 34 38 35 64 36 33 30 66 39 62 34 31 64 30  f2485d630f9b41d0
46a0: 30 62 37 63 31 66 31 66 61 66 36 63 65 35 37 61  0b7c1f1faf6ce57a
46b0: 30 38 62 36 30 34 62 33 35 30 32 31 66 37 66 37  08b604b35021f7f7
46c0: 39 36 30 30 33 38 31 39 39 34 62 37 33 31 62 64  9600381994b731bd
46d0: 38 65 36 61 35 62 30 31 30 61 65 62 39 30 65 31  8e6a5b010aeb90e1
46e0: 65 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  eb..tcltest::tes
46f0: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
4700: 32 2e 34 39 20 7b 53 48 41 33 5f 35 31 32 53 68  2.49 {SHA3_512Sh
4710: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4720: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
4730: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
4740: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4750: 6f 64 65 20 68 65 78 20 33 36 38 39 64 38 38 33  ode hex 3689d883
4760: 36 61 66 30 64 63 31 33 32 66 38 35 62 32 31 32  6af0dc132f85b212
4770: 65 62 36 37 30 62 34 31 65 63 66 39 64 34 61 62  eb670b41ecf9d4ab
4780: 61 31 34 31 30 39 32 61 30 61 38 65 63 61 32 65  a141092a0a8eca2e
4790: 36 64 35 65 62 30 62 61 34 62 37 65 36 31 61 66  6d5eb0ba4b7e61af
47a0: 39 32 37 33 36 32 34 64 31 34 31 39 32 64 66 37  9273624d14192df7
47b0: 33 38 38 61 38 34 33 36 5d 7d 20 5c 0a 09 2d 62  388a8436]} \..-b
47c0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
47d0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
47e0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
47f0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4800: 72 65 73 75 6c 74 20 31 37 33 35 35 65 36 31 64  result 17355e61d
4810: 36 36 65 34 30 66 37 35 30 64 30 61 39 61 38 65  66e40f750d0a9a8e
4820: 38 61 38 38 63 64 36 66 39 62 66 36 30 37 30 62  8a88cd6f9bf6070b
4830: 37 65 66 61 37 36 34 34 32 36 39 38 37 34 30 62  7efa76442698740b
4840: 34 34 38 37 65 61 36 63 36 34 34 64 31 36 35 34  4487ea6c644d1654
4850: 65 66 31 36 61 32 36 35 32 30 34 65 30 33 30 38  ef16a265204e0308
4860: 34 61 31 34 63 61 66 64 63 63 66 38 66 66 32 39  4a14cafdccf8ff29
4870: 38 63 64 35 34 63 30 62 34 30 30 39 39 36 37 62  8cd54c0b4009967b
4880: 36 64 64 34 37 63 63 0a 0a 74 63 6c 74 65 73 74  6dd47cc..tcltest
4890: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
48a0: 2d 35 31 32 2d 32 2e 35 30 20 7b 53 48 41 33 5f  -512-2.50 {SHA3_
48b0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
48c0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
48d0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
48e0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
48f0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 38 66  y decode hex 58f
4900: 66 32 33 64 65 65 32 32 39 38 63 32 63 61 37 31  f23dee2298c2ca71
4910: 34 36 32 32 37 37 38 39 63 31 64 34 30 39 33 35  46227789c1d40935
4920: 35 31 30 34 37 31 39 32 64 38 36 32 66 63 33 34  51047192d862fc34
4930: 63 31 31 31 32 64 31 33 66 31 66 37 34 34 34 35  c1112d13f1f74445
4940: 36 63 65 63 63 34 64 34 61 30 32 34 31 30 35 32  6cecc4d4a0241052
4950: 33 62 34 62 31 35 65 35 39 38 64 66 37 35 61 5d  3b4b15e598df75a]
4960: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
4970: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
4980: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
4990: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
49a0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 63  exact -result ac
49b0: 61 38 39 61 61 35 34 37 63 34 36 31 37 33 62 34  a89aa547c46173b4
49c0: 62 32 61 33 38 30 62 61 39 38 30 64 61 36 66 39  b2a380ba980da6f9
49d0: 61 63 30 38 34 66 34 36 61 63 39 64 64 65 61 35  ac084f46ac9ddea5
49e0: 65 34 31 36 34 61 65 65 66 33 31 61 39 39 35 35  e4164aeef31a9955
49f0: 62 38 31 34 61 34 35 61 65 63 31 64 38 63 65 33  b814a45aec1d8ce3
4a00: 34 30 62 64 33 37 36 38 30 39 35 32 63 35 64 36  40bd37680952c5d6
4a10: 38 32 32 36 64 64 61 31 63 61 63 32 36 37 37 66  8226dda1cac2677f
4a20: 37 33 63 39 66 64 39 31 37 34 66 64 31 33 0a 0a  73c9fd9174fd13..
4a30: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
4a40: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 35 31  sh_SHA3-512-2.51
4a50: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
4a60: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4a70: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
4a80: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
4a90: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
4aa0: 68 65 78 20 36 37 66 33 66 32 33 64 66 33 62 64  hex 67f3f23df3bd
4ab0: 38 65 62 65 62 30 30 39 36 34 35 32 66 65 34 37  8ebeb0096452fe47
4ac0: 37 35 66 64 39 63 63 37 31 66 62 62 36 65 37 32  75fd9cc71fbb6e72
4ad0: 66 64 63 63 37 65 62 38 30 39 34 66 34 32 63 39  fdcc7eb8094f42c9
4ae0: 30 33 31 32 31 64 30 38 31 37 61 39 32 37 62 63  03121d0817a927bc
4af0: 62 61 62 64 33 31 30 39 64 35 61 37 30 34 32 30  babd3109d5a70420
4b00: 32 35 33 64 65 61 62 32 5d 7d 20 5c 0a 09 2d 62  253deab2]} \..-b
4b10: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4b20: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
4b30: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
4b40: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
4b50: 72 65 73 75 6c 74 20 66 34 32 30 37 63 63 35 36  result f4207cc56
4b60: 35 66 32 36 36 61 32 34 35 66 32 39 62 66 32 30  5f266a245f29bf20
4b70: 62 39 35 62 35 64 39 61 38 33 65 31 62 62 36 38  b95b5d9a83e1bb68
4b80: 61 64 39 38 38 65 64 63 39 31 66 61 61 32 35 66  ad988edc91faa25f
4b90: 32 35 32 38 36 63 38 33 39 38 62 61 63 37 64 64  25286c8398bac7dd
4ba0: 36 36 32 38 32 35 39 62 66 66 39 38 66 32 38 33  6628259bff98f283
4bb0: 36 30 66 32 36 33 64 66 63 35 34 63 34 32 32 38  60f263dfc54c4228
4bc0: 62 63 34 33 37 63 35 36 39 31 64 65 31 32 31 39  bc437c5691de1219
4bd0: 62 37 35 38 64 39 66 0a 0a 74 63 6c 74 65 73 74  b758d9f..tcltest
4be0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
4bf0: 2d 35 31 32 2d 32 2e 35 32 20 7b 53 48 41 33 5f  -512-2.52 {SHA3_
4c00: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
4c10: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
4c20: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
4c30: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
4c40: 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 32 32  y decode hex a22
4c50: 35 30 37 30 63 32 63 62 31 32 32 63 33 33 35 34  5070c2cb122c3354
4c60: 63 37 34 61 32 35 34 66 63 37 62 38 34 30 36 31  c74a254fc7b84061
4c70: 63 62 61 33 33 30 30 35 63 61 62 38 38 63 34 30  cba33005cab88c40
4c80: 39 66 62 64 33 37 33 38 66 66 36 37 63 65 32 33  9fbd3738ff67ce23
4c90: 63 34 31 65 62 65 66 34 36 63 37 61 36 31 36 31  c41ebef46c7a6161
4ca0: 30 66 35 62 39 33 66 61 39 32 61 35 62 64 61 39  0f5b93fa92a5bda9
4cb0: 35 36 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  569]} \..-body {
4cc0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
4cd0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
4ce0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
4cf0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4d00: 74 20 65 38 31 35 61 39 61 34 65 34 38 38 37 62  t e815a9a4e4887b
4d10: 65 30 31 34 36 33 35 65 39 37 39 35 38 33 34 31  e014635e97958341
4d20: 65 30 35 31 39 33 31 34 62 33 61 33 32 38 39 65  e0519314b3a3289e
4d30: 31 38 33 35 31 32 31 62 31 35 33 62 34 36 32 32  1835121b153b4622
4d40: 37 32 62 30 61 63 61 34 31 38 62 65 39 36 64 36  72b0aca418be96d6
4d50: 30 65 35 61 62 33 35 35 64 33 65 62 34 36 33 36  0e5ab355d3eb4636
4d60: 39 37 63 30 31 39 31 65 62 35 32 32 62 36 30 62  97c0191eb522b60b
4d70: 38 34 36 33 64 38 39 66 34 63 33 66 31 62 66 31  8463d89f4c3f1bf1
4d80: 34 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  42..tcltest::tes
4d90: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
4da0: 32 2e 35 33 20 7b 53 48 41 33 5f 35 31 32 53 68  2.53 {SHA3_512Sh
4db0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
4dc0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
4dd0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
4de0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4df0: 6f 64 65 20 68 65 78 20 36 61 61 30 38 38 36 37  ode hex 6aa08867
4e00: 37 37 65 39 39 63 39 61 63 64 35 66 31 64 62 36  77e99c9acd5f1db6
4e10: 65 31 32 62 64 61 35 39 61 38 30 37 66 39 32 34  e12bda59a807f924
4e20: 31 31 61 65 39 39 63 39 64 34 39 30 62 35 36 35  11ae99c9d490b565
4e30: 36 61 63 62 34 62 31 31 35 63 35 37 62 65 62 33  6acb4b115c57beb3
4e40: 63 31 38 30 37 61 31 62 30 32 39 61 64 36 34 62  c1807a1b029ad64b
4e50: 65 31 66 30 33 65 31 35 62 61 66 64 39 31 65 63  e1f03e15bafd91ec
4e60: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
4e70: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
4e80: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
4e90: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
4ea0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32   exact -result 2
4eb0: 34 31 66 32 65 62 61 66 37 61 64 30 39 65 31 37  41f2ebaf7ad09e17
4ec0: 33 62 31 38 34 32 34 34 65 36 39 61 63 64 37 65  3b184244e69acd7e
4ed0: 62 63 39 34 37 37 34 64 30 66 61 33 39 30 32 63  bc94774d0fa3902c
4ee0: 62 66 32 36 37 64 34 38 30 36 30 36 33 62 30 34  bf267d4806063b04
4ef0: 34 31 33 31 62 63 66 34 61 66 34 63 66 31 38 30  4131bcf4af4cf180
4f00: 65 62 37 62 64 34 65 37 39 36 30 63 65 35 66 65  eb7bd4e7960ce5fe
4f10: 33 64 63 36 61 65 62 66 63 36 62 39 30 65 65 63  3dc6aebfc6b90eec
4f20: 34 36 31 66 34 31 34 66 37 39 61 36 37 64 39 0a  461f414f79a67d9.
4f30: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
4f40: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 35  ash_SHA3-512-2.5
4f50: 34 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  4 {SHA3_512Short
4f60: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
4f70: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
4f80: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4f90: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4fa0: 20 68 65 78 20 36 61 30 36 30 39 32 61 33 63 64   hex 6a06092a3cd
4fb0: 32 32 31 61 65 38 36 62 32 38 36 62 33 31 66 33  221ae86b286b31f3
4fc0: 32 36 32 34 38 32 37 30 34 37 32 63 35 65 61 35  26248270472c5ea5
4fd0: 31 30 63 62 39 30 36 34 64 36 30 32 34 64 31 30  10cb9064d6024d10
4fe0: 65 66 65 65 37 66 35 39 65 39 38 37 38 35 64 34  efee7f59e98785d4
4ff0: 66 30 39 64 61 35 35 34 65 39 37 63 64 65 63 37  f09da554e97cdec7
5000: 62 37 35 34 32 39 64 37 38 38 63 31 31 32 66 5d  b75429d788c112f]
5010: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
5020: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5030: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
5040: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5050: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 31  exact -result d1
5060: 34 61 31 61 34 37 66 32 62 65 66 39 65 30 64 34  4a1a47f2bef9e0d4
5070: 62 33 65 39 30 61 36 62 65 39 61 62 35 38 39 33  b3e90a6be9ab5893
5080: 65 31 31 31 30 62 31 32 64 62 33 38 64 33 33 66  e1110b12db38d33f
5090: 66 62 39 61 36 31 65 31 36 36 31 61 65 63 63 34  fb9a61e1661aecc4
50a0: 65 61 31 30 30 38 33 39 63 66 65 65 35 38 61 31  ea100839cfee58a1
50b0: 63 35 61 66 66 37 32 39 31 35 63 31 34 31 37 30  c5aff72915c14170
50c0: 64 64 39 39 65 31 33 66 37 31 62 30 61 35 66 63  dd99e13f71b0a5fc
50d0: 31 39 38 35 62 66 34 33 34 31 35 63 62 30 0a 0a  1985bf43415cb0..
50e0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
50f0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 35 35  sh_SHA3-512-2.55
5100: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
5110: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5120: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
5130: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
5140: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5150: 68 65 78 20 64 66 63 33 66 61 36 31 66 37 66 66  hex dfc3fa61f7ff
5160: 66 63 37 63 38 38 65 64 39 30 65 35 31 64 66 63  fc7c88ed90e51dfc
5170: 33 39 61 34 66 32 38 38 62 35 30 64 35 38 61 63  39a4f288b50d58ac
5180: 38 33 33 38 35 62 35 38 61 33 62 32 61 33 61 33  83385b58a3b2a3a3
5190: 39 64 37 32 39 38 36 32 63 34 30 66 63 61 66 39  9d729862c40fcaf9
51a0: 62 63 33 30 38 66 37 31 33 61 34 33 65 65 63 62  bc308f713a43eecb
51b0: 30 62 37 32 62 62 39 34 35 38 64 32 30 34 62 61  0b72bb9458d204ba
51c0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
51d0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
51e0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
51f0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5200: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
5210: 34 37 62 63 38 37 33 64 63 34 31 64 66 31 39 35  47bc873dc41df195
5220: 66 38 30 34 35 64 65 62 36 65 61 31 62 38 34 30  f8045deb6ea1b840
5230: 66 36 33 33 39 31 37 65 37 39 63 37 30 61 38 38  f633917e79c70a88
5240: 64 33 38 62 38 38 36 32 31 39 37 64 63 32 61 62  d38b8862197dc2ab
5250: 30 63 63 36 33 31 34 65 39 37 34 66 62 35 62 61  0cc6314e974fb5ba
5260: 37 65 31 37 30 33 62 32 32 62 31 33 30 39 65 33  7e1703b22b1309e3
5270: 37 62 64 34 33 30 38 37 39 30 35 36 62 64 63 31  7bd430879056bdc1
5280: 36 36 35 37 33 30 37 35 61 39 63 35 65 30 34 0a  66573075a9c5e04.
5290: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
52a0: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 35  ash_SHA3-512-2.5
52b0: 36 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  6 {SHA3_512Short
52c0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
52d0: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
52e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
52f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5300: 20 68 65 78 20 35 32 39 35 38 62 31 66 66 30 30   hex 52958b1ff00
5310: 34 39 65 66 61 35 64 30 35 30 61 62 33 38 31 65  49efa5d050ab381e
5320: 63 39 39 37 33 32 65 35 35 34 64 63 64 30 33 37  c99732e554dcd037
5330: 32 35 64 61 39 39 31 61 33 37 61 38 30 62 64 34  25da991a37a80bd4
5340: 37 35 36 63 66 36 35 64 33 36 37 63 35 34 37 32  756cf65d367c5472
5350: 31 65 39 33 66 31 65 30 61 32 32 66 37 30 64 33  1e93f1e0a22f70d3
5360: 36 65 39 66 38 34 31 33 33 36 39 35 36 64 33 63  6e9f841336956d3c
5370: 35 32 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  523]} \..-body {
5380: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
5390: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
53a0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
53b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
53c0: 74 20 39 63 63 35 61 61 64 30 66 35 32 39 66 34  t 9cc5aad0f529f4
53d0: 62 61 63 34 39 31 64 37 33 33 35 33 37 62 36 39  bac491d733537b69
53e0: 63 38 65 63 37 30 30 66 65 33 38 61 62 34 32 33  c8ec700fe38ab423
53f0: 64 38 31 35 65 30 39 32 37 63 38 36 35 37 66 39  d815e0927c8657f9
5400: 63 62 38 66 34 32 30 37 37 36 32 64 38 31 36 61  cb8f4207762d816a
5410: 62 36 39 37 35 38 30 31 32 32 30 36 36 62 63 32  b697580122066bc2
5420: 62 36 38 66 34 31 37 37 33 33 35 64 30 61 36 65  b68f4177335d0a6e
5430: 39 30 38 31 35 34 30 37 37 39 65 35 37 32 63 34  9081540779e572c4
5440: 31 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1f..tcltest::tes
5450: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
5460: 32 2e 35 37 20 7b 53 48 41 33 5f 35 31 32 53 68  2.57 {SHA3_512Sh
5470: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5480: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
5490: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
54a0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
54b0: 6f 64 65 20 68 65 78 20 33 30 32 66 61 38 34 66  ode hex 302fa84f
54c0: 64 61 61 38 32 30 38 31 62 31 31 39 32 62 38 34  daa82081b1192b84
54d0: 37 62 38 31 64 64 65 61 31 30 61 39 66 30 35 61  7b81ddea10a9f05a
54e0: 30 66 30 34 31 33 38 66 64 31 64 61 38 34 61 33  0f04138fd1da84a3
54f0: 39 62 61 35 65 31 38 65 31 38 62 63 33 63 65 61  9ba5e18e18bc3cea
5500: 30 36 32 65 36 64 66 39 32 66 66 31 61 63 65 38  062e6df92ff1ace8
5510: 39 62 33 63 35 66 35 35 30 34 33 31 33 30 31 30  9b3c5f5504313010
5520: 38 61 62 66 36 33 31 65 5d 7d 20 5c 0a 09 2d 62  8abf631e]} \..-b
5530: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5540: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
5550: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
5560: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
5570: 72 65 73 75 6c 74 20 38 63 38 65 61 61 65 39 61  result 8c8eaae9a
5580: 34 34 35 36 34 33 61 33 37 64 66 33 34 63 66 61  445643a37df34cfa
5590: 36 61 37 66 30 39 64 65 63 63 61 62 32 61 32 32  6a7f09deccab2a22
55a0: 32 63 34 32 31 64 32 66 63 35 37 34 62 62 63 35  2c421d2fc574bbc5
55b0: 36 34 31 65 35 30 34 33 35 34 33 39 31 65 38 31  641e504354391e81
55c0: 65 62 35 31 33 30 32 38 30 62 31 32 32 36 38 31  eb5130280b122681
55d0: 32 35 35 36 64 34 37 34 65 39 35 31 62 62 37 38  2556d474e951bb78
55e0: 64 62 64 64 39 62 37 37 64 31 39 66 36 34 37 65  dbdd9b77d19f647e
55f0: 32 65 37 64 37 62 65 0a 0a 74 63 6c 74 65 73 74  2e7d7be..tcltest
5600: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
5610: 2d 35 31 32 2d 32 2e 35 38 20 7b 53 48 41 33 5f  -512-2.58 {SHA3_
5620: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
5630: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
5640: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
5650: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
5660: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 38 32  y decode hex b82
5670: 66 35 30 30 64 36 62 63 32 64 64 64 63 64 63 31  f500d6bc2dddcdc1
5680: 36 32 64 34 36 63 62 66 61 61 35 61 65 36 34 30  62d46cbfaa5ae640
5690: 32 35 64 35 63 31 63 64 37 32 34 37 32 64 63 64  25d5c1cd72472dcd
56a0: 32 63 34 32 31 36 31 63 39 38 37 31 63 65 33 32  2c42161c9871ce32
56b0: 39 66 39 34 64 66 34 34 35 66 30 63 38 61 63 65  9f94df445f0c8ace
56c0: 65 63 61 66 64 30 33 34 34 66 36 33 31 37 65 63  ecafd0344f6317ec
56d0: 62 62 36 32 66 30 65 63 32 32 32 33 61 33 35 5d  bb62f0ec2223a35]
56e0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
56f0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5700: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
5710: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5720: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 35  exact -result 55
5730: 63 36 39 64 37 61 63 63 64 31 37 39 64 35 64 39  c69d7accd179d5d9
5740: 66 63 63 35 32 32 66 37 39 34 65 37 61 66 35 66  fcc522f794e7af5f
5750: 30 65 65 63 37 31 39 38 66 66 61 33 39 66 38 30  0eec7198ffa39f80
5760: 66 62 35 35 62 38 36 36 63 30 38 35 37 66 66 33  fb55b866c0857ff3
5770: 65 37 61 65 65 66 33 33 65 31 33 30 64 39 63 37  e7aeef33e130d9c7
5780: 34 65 66 39 30 36 30 36 63 61 38 32 31 64 32 30  4ef90606ca821d20
5790: 62 37 36 30 38 62 31 32 65 36 65 35 36 31 66 39  b7608b12e6e561f9
57a0: 65 36 63 37 31 32 32 61 63 65 33 64 62 30 0a 0a  e6c7122ace3db0..
57b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
57c0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 35 39  sh_SHA3-512-2.59
57d0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
57e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
57f0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
5800: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
5810: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5820: 68 65 78 20 38 36 64 61 39 31 30 37 63 61 33 65  hex 86da9107ca3e
5830: 31 36 61 32 62 35 38 39 35 30 65 36 35 36 61 31  16a2b58950e656a1
5840: 35 63 30 38 35 62 38 38 30 33 33 65 37 39 33 31  5c085b88033e7931
5850: 33 65 32 63 30 66 39 32 66 39 39 66 30 36 66 61  3e2c0f92f99f06fa
5860: 31 38 37 65 66 62 61 35 62 38 66 65 61 30 38 65  187efba5b8fea08e
5870: 62 37 31 34 35 66 38 34 37 36 33 30 34 31 38 30  b7145f8476304180
5880: 64 64 32 38 30 66 33 36 61 30 37 32 62 37 65 61  dd280f36a072b7ea
5890: 63 31 39 37 66 30 38 35 5d 7d 20 5c 0a 09 2d 62  c197f085]} \..-b
58a0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
58b0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
58c0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
58d0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
58e0: 72 65 73 75 6c 74 20 30 64 33 62 31 61 30 34 35  result 0d3b1a045
58f0: 39 62 34 65 63 61 38 30 31 65 30 37 33 37 66 66  9b4eca801e0737ff
5900: 39 65 61 34 61 31 32 62 39 61 34 38 33 61 37 33  9ea4a12b9a483a73
5910: 61 38 61 39 32 37 34 32 61 39 33 63 32 39 37 62  a8a92742a93c297b
5920: 37 31 34 39 33 32 36 62 64 39 32 63 31 36 34 33  7149326bd92c1643
5930: 63 38 31 37 37 63 38 39 32 34 34 38 32 61 62 33  c8177c8924482ab3
5940: 62 62 64 39 31 36 63 34 31 37 35 38 30 63 63 37  bbd916c417580cc7
5950: 35 64 33 64 33 61 65 30 39 36 64 65 35 33 31 62  5d3d3ae096de531b
5960: 63 35 64 63 33 35 35 0a 0a 74 63 6c 74 65 73 74  c5dc355..tcltest
5970: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
5980: 2d 35 31 32 2d 32 2e 36 30 20 7b 53 48 41 33 5f  -512-2.60 {SHA3_
5990: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
59a0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
59b0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
59c0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
59d0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 34 31  y decode hex 141
59e0: 61 36 65 61 66 65 31 35 37 30 35 33 65 37 38 30  a6eafe157053e780
59f0: 61 63 37 61 35 37 62 39 37 39 39 30 36 31 36 63  ac7a57b97990616c
5a00: 65 31 37 35 39 65 64 31 33 32 63 62 34 35 33 62  e1759ed132cb453b
5a10: 63 64 66 63 61 62 64 62 62 37 30 62 33 37 36 37  cdfcabdbb70b3767
5a20: 64 61 34 65 62 39 34 31 32 35 64 39 63 32 61 38  da4eb94125d9c2a8
5a30: 64 36 64 32 30 62 66 61 65 61 63 63 31 66 66 62  d6d20bfaeacc1ffb
5a40: 65 34 39 63 34 62 31 62 62 35 64 61 37 65 39 62  e49c4b1bb5da7e9b
5a50: 35 63 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  5c6]} \..-body {
5a60: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
5a70: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
5a80: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
5a90: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
5aa0: 74 20 62 64 62 64 64 35 62 39 34 63 64 63 38 39  t bdbdd5b94cdc89
5ab0: 34 36 36 65 37 36 37 30 63 36 33 62 61 36 61 35  466e7670c63ba6a5
5ac0: 35 62 35 38 32 39 34 65 39 33 62 33 35 31 32 36  5b58294e93b35126
5ad0: 31 61 35 34 35 37 62 66 35 61 34 30 66 31 62 35  1a5457bf5a40f1b5
5ae0: 62 32 65 30 61 63 63 37 66 63 65 62 31 62 66 62  b2e0acc7fceb1bfb
5af0: 34 63 38 38 37 32 37 37 37 65 65 65 61 66 66 37  4c8872777eeeaff7
5b00: 39 32 37 66 64 33 36 33 35 63 61 31 38 63 39 39  927fd3635ca18c99
5b10: 36 64 38 37 30 62 66 38 36 62 31 32 62 38 39 62  6d870bf86b12b89b
5b20: 61 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  a5..tcltest::tes
5b30: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
5b40: 32 2e 36 31 20 7b 53 48 41 33 5f 35 31 32 53 68  2.61 {SHA3_512Sh
5b50: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
5b60: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
5b70: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
5b80: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5b90: 6f 64 65 20 68 65 78 20 36 65 30 63 36 35 65 65  ode hex 6e0c65ee
5ba0: 30 39 34 33 65 33 34 64 39 62 62 64 32 37 61 38  0943e34d9bbd27a8
5bb0: 35 34 37 36 39 30 66 32 32 39 31 66 35 61 38 36  547690f2291f5a86
5bc0: 64 37 31 33 63 32 62 65 32 35 38 65 36 61 63 31  d713c2be258e6ac1
5bd0: 36 39 31 39 66 65 39 63 34 64 34 39 31 38 39 35  6919fe9c4d491895
5be0: 64 33 61 39 36 31 62 62 39 37 66 35 66 61 63 32  d3a961bb97f5fac2
5bf0: 35 35 38 39 31 61 30 65 61 61 31 38 66 38 30 65  55891a0eaa18f80e
5c00: 31 66 61 31 65 62 63 62 36 33 39 66 63 66 63 31  1fa1ebcb639fcfc1
5c10: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5c20: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5c30: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
5c40: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5c50: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
5c60: 39 65 62 62 39 39 32 62 38 64 33 39 64 61 61 65  9ebb992b8d39daae
5c70: 39 37 33 65 33 38 31 33 61 35 30 65 39 65 37 39  973e3813a50e9e79
5c80: 61 36 37 64 38 34 35 38 61 36 66 31 37 66 39 37  a67d8458a6f17f97
5c90: 61 36 64 64 33 30 64 64 37 64 31 31 64 39 35 37  a6dd30dd7d11d957
5ca0: 30 31 61 31 31 31 32 39 66 66 65 61 66 37 64 34  01a11129ffeaf7d4
5cb0: 35 37 38 31 62 32 31 63 61 63 30 63 34 63 30 33  5781b21cac0c4c03
5cc0: 34 65 33 38 39 64 37 35 39 30 64 66 35 62 65 65  4e389d7590df5bee
5cd0: 62 39 38 30 35 30 37 32 64 30 31 38 33 62 39 0a  b9805072d0183b9.
5ce0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
5cf0: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 36  ash_SHA3-512-2.6
5d00: 32 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  2 {SHA3_512Short
5d10: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
5d20: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
5d30: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5d40: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5d50: 20 68 65 78 20 35 37 37 38 30 62 31 63 37 39 65   hex 57780b1c79e
5d60: 36 37 66 63 33 62 65 61 61 62 65 61 64 34 61 36  67fc3beaabead4a6
5d70: 37 61 38 63 63 39 38 62 38 33 66 61 37 36 34 37  7a8cc98b83fa7647
5d80: 65 61 65 35 30 63 38 37 39 38 62 39 36 61 35 31  eae50c8798b96a51
5d90: 36 35 39 37 62 34 34 38 38 35 31 65 39 33 64 31  6597b448851e93d1
5da0: 61 36 32 61 30 39 38 63 34 37 36 37 33 33 33 66  a62a098c4767333f
5db0: 63 66 37 62 34 36 33 63 65 39 31 65 64 64 65 32  cf7b463ce91edde2
5dc0: 66 33 61 64 30 64 39 38 66 37 30 37 31 36 64 5d  f3ad0d98f70716d]
5dd0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
5de0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5df0: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
5e00: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
5e10: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 65  exact -result 3e
5e20: 66 33 36 63 33 65 66 66 61 64 36 65 62 35 61 64  f36c3effad6eb5ad
5e30: 32 64 30 61 36 37 37 38 30 66 38 30 64 31 62 39  2d0a67780f80d1b9
5e40: 30 65 66 63 62 37 34 64 62 32 30 34 31 30 63 32  0efcb74db20410c2
5e50: 32 36 31 61 33 61 62 30 66 37 38 34 34 32 39 64  261a3ab0f784429d
5e60: 66 38 37 34 38 31 34 37 34 38 64 63 31 62 36 65  f874814748dc1b6e
5e70: 66 61 61 62 33 64 30 36 64 64 30 61 34 31 62 61  faab3d06dd0a41ba
5e80: 35 34 66 63 65 35 39 62 36 37 64 34 35 38 33 38  54fce59b67d45838
5e90: 65 61 61 34 61 61 31 66 61 64 66 61 30 66 0a 0a  eaa4aa1fadfa0f..
5ea0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
5eb0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 36 33  sh_SHA3-512-2.63
5ec0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
5ed0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5ee0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
5ef0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
5f00: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
5f10: 68 65 78 20 62 63 63 39 38 34 39 64 61 34 30 39  hex bcc9849da409
5f20: 31 64 30 65 64 66 65 39 30 38 65 37 63 33 33 38  1d0edfe908e7c338
5f30: 36 62 30 63 61 64 61 64 62 32 38 35 39 38 32 39  6b0cadadb2859829
5f40: 63 39 64 66 65 65 33 64 38 65 63 66 39 64 65 63  c9dfee3d8ecf9dec
5f50: 38 36 31 39 36 65 62 32 63 65 62 30 39 33 63 35  86196eb2ceb093c5
5f60: 35 35 31 66 37 65 39 61 34 39 32 37 66 61 61 62  551f7e9a4927faab
5f70: 63 66 61 61 37 34 37 38 66 37 63 38 39 39 63 62  cfaa7478f7c899cb
5f80: 65 66 34 37 32 37 34 31 37 37 33 38 66 63 30 36  ef4727417738fc06
5f90: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
5fa0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
5fb0: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
5fc0: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
5fd0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31   exact -result 1
5fe0: 66 63 64 38 61 32 63 37 62 34 66 64 39 38 66 63  fcd8a2c7b4fd98fc
5ff0: 64 63 35 66 61 36 36 35 62 61 62 34 39 62 64 65  dc5fa665bab49bde
6000: 33 66 39 66 35 35 36 61 61 36 36 62 33 36 34 36  3f9f556aa66b3646
6010: 36 33 38 66 35 61 32 64 33 38 30 36 31 39 32 66  638f5a2d3806192f
6020: 38 61 33 33 31 34 35 64 38 64 30 63 35 33 35 63  8a33145d8d0c535c
6030: 38 35 61 64 66 66 33 63 63 30 65 61 33 63 32 37  85adff3cc0ea3c27
6040: 31 35 62 33 33 63 65 63 39 66 38 38 38 36 65 39  15b33cec9f8886e9
6050: 66 34 33 37 37 62 33 36 33 32 65 39 30 35 35 0a  f4377b3632e9055.
6060: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
6070: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 36  ash_SHA3-512-2.6
6080: 34 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  4 {SHA3_512Short
6090: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
60a0: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
60b0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
60c0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
60d0: 20 68 65 78 20 30 35 61 33 32 38 32 39 36 34 32   hex 05a32829642
60e0: 65 64 34 38 30 38 64 36 35 35 34 64 31 36 62 39  ed4808d6554d16b9
60f0: 62 38 30 32 33 33 35 33 63 65 36 35 61 39 33 35  b8023353ce65a935
6100: 64 31 32 36 36 30 32 39 37 30 64 62 61 37 39 31  d126602970dba791
6110: 36 32 33 30 30 34 64 65 64 65 39 30 62 35 32 61  623004dede90b52a
6120: 63 37 66 30 64 34 33 33 35 31 33 30 61 36 33 63  c7f0d4335130a63c
6130: 62 61 36 38 63 36 35 36 63 31 33 39 39 38 39 36  ba68c656c1399896
6140: 31 34 64 65 32 30 39 31 33 65 38 33 64 62 33 32  14de20913e83db32
6150: 30 64 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  0db]} \..-body {
6160: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
6170: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
6180: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6190: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
61a0: 74 20 34 39 64 38 37 34 37 62 62 35 33 64 64 64  t 49d8747bb53ddd
61b0: 65 36 64 31 34 38 35 39 36 35 32 30 38 36 37 30  e6d1485965208670
61c0: 64 31 31 33 30 62 66 33 35 36 31 39 64 37 35 30  d1130bf35619d750
61d0: 36 61 32 66 32 30 34 30 64 31 31 32 39 66 63 66  6a2f2040d1129fcf
61e0: 30 33 32 30 32 30 37 65 35 62 33 36 66 65 61 30  0320207e5b36fea0
61f0: 38 33 65 38 34 66 66 63 39 38 37 35 35 65 36 39  83e84ffc98755e69
6200: 31 61 64 38 62 64 35 64 63 36 36 66 38 39 37 32  1ad8bd5dc66f8972
6210: 63 62 39 38 35 37 33 38 39 33 34 34 65 31 31 61  cb9857389344e11a
6220: 61 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ad..tcltest::tes
6230: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
6240: 32 2e 36 35 20 7b 53 48 41 33 5f 35 31 32 53 68  2.65 {SHA3_512Sh
6250: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6260: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
6270: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
6280: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6290: 6f 64 65 20 68 65 78 20 35 36 61 63 34 66 36 38  ode hex 56ac4f68
62a0: 34 35 61 34 35 31 64 61 63 33 65 38 38 38 36 66  45a451dac3e8886f
62b0: 39 37 66 37 30 32 34 62 36 34 62 31 62 31 65 39  97f7024b64b1b1e9
62c0: 63 35 31 38 31 63 30 35 39 62 35 37 35 35 62 39  c5181c059b5755b9
62d0: 61 36 30 34 32 62 65 36 35 33 61 32 61 30 64 35  a6042be653a2a0d5
62e0: 64 35 36 61 39 65 31 65 37 37 34 62 65 35 63 39  d56a9e1e774be5c9
62f0: 33 31 32 66 34 38 62 34 37 39 38 30 31 39 33 34  312f48b479801934
6300: 35 62 65 61 65 32 66 66 63 63 36 33 35 35 34 61  5beae2ffcc63554a
6310: 33 63 36 39 38 36 32 65 5d 7d 20 5c 0a 09 2d 62  3c69862e]} \..-b
6320: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6330: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
6340: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
6350: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
6360: 72 65 73 75 6c 74 20 35 66 64 65 35 63 35 37 61  result 5fde5c57a
6370: 33 31 66 65 62 62 39 38 30 36 31 66 32 37 65 34  31febb98061f27e4
6380: 35 30 36 66 61 35 63 32 34 35 35 30 36 33 33 36  506fa5c245506336
6390: 65 65 39 30 64 35 39 35 63 39 31 64 37 39 31 61  ee90d595c91d791a
63a0: 35 39 37 35 63 37 31 32 62 33 61 62 39 62 33 62  5975c712b3ab9b3b
63b0: 35 38 36 38 66 39 34 31 64 62 30 61 65 62 34 63  5868f941db0aeb4c
63c0: 36 64 32 38 33 37 63 34 34 34 37 34 34 32 66 38  6d2837c4447442f8
63d0: 34 30 32 65 30 65 31 35 30 61 39 64 63 30 65 66  402e0e150a9dc0ef
63e0: 31 37 38 64 63 61 38 0a 0a 74 63 6c 74 65 73 74  178dca8..tcltest
63f0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6400: 2d 35 31 32 2d 32 2e 36 36 20 7b 53 48 41 33 5f  -512-2.66 {SHA3_
6410: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
6420: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
6430: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
6440: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
6450: 79 20 64 65 63 6f 64 65 20 68 65 78 20 38 61 32  y decode hex 8a2
6460: 32 39 66 38 64 30 32 39 34 66 65 39 30 64 34 63  29f8d0294fe90d4c
6470: 63 38 63 38 37 35 34 36 30 64 35 64 36 32 33 66  c8c875460d5d623f
6480: 39 33 32 38 37 66 39 30 35 61 39 39 39 61 32 61  93287f905a999a2a
6490: 62 30 66 39 61 34 37 30 34 36 66 37 38 65 66 38  b0f9a47046f78ef8
64a0: 38 62 30 39 34 34 35 63 36 37 31 31 38 39 63 35  8b09445c671189c5
64b0: 39 33 38 38 62 33 30 31 37 63 63 61 32 61 66 38  9388b3017cca2af8
64c0: 62 64 66 35 39 66 38 61 36 66 30 34 33 32 32 62  bdf59f8a6f04322b
64d0: 31 37 30 31 65 63 30 38 36 32 34 61 62 36 33 5d  1701ec08624ab63]
64e0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
64f0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6500: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
6510: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6520: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 36  exact -result 16
6530: 62 30 66 64 32 33 39 63 63 36 33 32 38 34 32 63  b0fd239cc632842c
6540: 34 34 33 65 31 62 39 32 64 32 38 36 64 64 35 31  443e1b92d286dd51
6550: 39 63 66 63 36 31 36 61 34 31 66 32 34 35 36 64  9cfc616a41f2456d
6560: 64 35 63 64 64 65 62 64 31 30 37 30 33 63 33 65  d5cddebd10703c3e
6570: 39 63 62 36 36 39 30 30 34 62 37 66 31 36 39 62  9cb669004b7f169b
6580: 62 34 66 39 39 66 33 35 30 65 63 39 36 39 30 34  b4f99f350ec96904
6590: 62 30 65 38 64 64 34 64 65 38 65 36 62 65 39 39  b0e8dd4de8e6be99
65a0: 35 33 64 63 38 39 32 63 36 35 30 39 39 66 0a 0a  53dc892c65099f..
65b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
65c0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 36 37  sh_SHA3-512-2.67
65d0: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
65e0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
65f0: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
6600: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
6610: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6620: 68 65 78 20 38 37 64 36 61 61 39 39 37 39 30 32  hex 87d6aa997902
6630: 35 62 32 34 33 37 65 61 38 31 35 39 65 61 31 64  5b2437ea8159ea1d
6640: 33 65 35 64 36 66 31 37 66 30 61 35 62 39 31 33  3e5d6f17f0a5b913
6650: 62 35 36 39 37 30 32 31 32 66 35 36 64 65 37 38  b56970212f56de78
6660: 38 34 38 34 30 63 30 64 61 39 61 37 32 38 36 35  84840c0da9a72865
6670: 65 31 38 39 32 61 61 37 38 30 62 38 62 38 66 35  e1892aa780b8b8f5
6680: 66 35 37 62 34 36 66 63 30 37 30 62 38 31 63 61  f57b46fc070b81ca
6690: 35 66 30 30 65 65 65 30 34 37 30 61 63 65 38 39  5f00eee0470ace89
66a0: 62 31 65 31 34 36 36 61 5d 7d 20 5c 0a 09 2d 62  b1e1466a]} \..-b
66b0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
66c0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
66d0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
66e0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
66f0: 72 65 73 75 6c 74 20 64 38 31 36 61 63 66 31 37  result d816acf17
6700: 39 37 64 65 63 66 65 33 34 66 34 63 63 34 39 65  97decfe34f4cc49e
6710: 35 32 61 61 35 30 35 63 63 35 39 62 64 31 37 66  52aa505cc59bd17f
6720: 65 36 39 64 63 39 35 34 33 66 61 64 38 32 65 39  e69dc9543fad82e9
6730: 63 66 39 36 32 39 38 31 38 33 30 32 31 66 37 30  cf96298183021f70
6740: 34 30 35 34 64 33 64 30 36 61 64 64 65 32 62 66  4054d3d06adde2bf
6750: 35 34 65 38 32 61 30 39 30 61 35 37 62 32 33 39  54e82a090a57b239
6760: 65 38 38 64 61 61 30 34 63 62 37 36 63 34 66 63  e88daa04cb76c4fc
6770: 39 31 32 37 38 34 33 0a 0a 74 63 6c 74 65 73 74  9127843..tcltest
6780: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 33  ::test Hash_SHA3
6790: 2d 35 31 32 2d 32 2e 36 38 20 7b 53 48 41 33 5f  -512-2.68 {SHA3_
67a0: 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  512ShortMsg} \..
67b0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
67c0: 33 5f 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20  3_512 \..-setup 
67d0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
67e0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 38 32  y decode hex 082
67f0: 33 36 31 36 61 62 38 37 65 34 39 30 34 33 30 38  3616ab87e4904308
6800: 36 32 38 63 32 32 32 36 65 37 32 31 62 62 34 31  628c2226e721bb41
6810: 36 39 62 37 64 33 34 65 38 37 34 34 61 30 37 30  69b7d34e8744a070
6820: 30 62 37 32 31 65 33 38 66 65 30 35 65 33 66 38  0b721e38fe05e3f8
6830: 31 33 66 65 34 30 37 35 64 34 63 31 61 39 33 36  13fe4075d4c1a936
6840: 64 33 61 33 33 64 61 32 30 63 66 62 33 65 33 61  d3a33da20cfb3e3a
6850: 63 37 32 32 65 37 64 66 37 38 36 35 33 33 30 62  c722e7df7865330b
6860: 38 66 36 32 61 37 33 64 39 31 31 39 61 31 66 32  8f62a73d9119a1f2
6870: 31 39 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  199]} \..-body {
6880: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
6890: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
68a0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
68b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
68c0: 74 20 65 31 64 61 36 62 65 34 34 30 33 61 34 66  t e1da6be4403a4f
68d0: 64 37 38 34 63 35 39 62 65 34 65 37 31 63 36 35  d784c59be4e71c65
68e0: 38 61 37 38 62 62 38 63 35 64 37 64 35 37 31 63  8a78bb8c5d7d571c
68f0: 35 65 38 31 36 66 62 62 33 65 32 31 38 61 34 31  5e816fbb3e218a41
6900: 36 32 66 36 32 64 65 31 63 32 38 35 66 33 37 37  62f62de1c285f377
6910: 39 37 38 31 63 62 35 35 30 36 65 32 39 63 39 34  9781cb5506e29c94
6920: 65 31 62 37 63 37 64 36 35 61 66 32 61 61 37 31  e1b7c7d65af2aa71
6930: 65 61 35 63 39 36 64 39 35 38 35 62 35 65 34 35  ea5c96d9585b5e45
6940: 64 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d5..tcltest::tes
6950: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
6960: 32 2e 36 39 20 7b 53 48 41 33 5f 35 31 32 53 68  2.69 {SHA3_512Sh
6970: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
6980: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
6990: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
69a0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
69b0: 6f 64 65 20 68 65 78 20 37 64 32 64 39 31 33 63  ode hex 7d2d913c
69c0: 32 34 36 30 63 30 39 38 39 38 62 32 30 33 36 36  2460c09898b20366
69d0: 61 65 33 34 37 37 35 62 31 35 36 34 66 31 30 65  ae34775b1564f10e
69e0: 64 65 61 34 39 63 30 37 33 63 65 62 65 34 31 39  dea49c073cebe419
69f0: 38 39 62 62 39 33 66 33 38 61 35 33 33 61 66 31  89bb93f38a533af1
6a00: 66 34 32 35 64 33 33 38 32 66 38 61 61 34 30 31  f425d3382f8aa401
6a10: 35 39 62 35 36 37 33 35 38 65 65 35 61 37 33 62  59b567358ee5a73b
6a20: 36 37 64 66 36 64 30 64 63 30 39 63 31 63 39 32  67df6d0dc09c1c92
6a30: 62 66 33 66 39 61 32 38 31 32 34 61 62 30 37 66  bf3f9a28124ab07f
6a40: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6a50: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6a60: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
6a70: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
6a80: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
6a90: 61 61 31 65 31 39 61 35 32 62 38 36 63 66 34 31  aa1e19a52b86cf41
6aa0: 34 64 39 37 37 37 36 38 62 62 35 33 35 62 37 65  4d977768bb535b7e
6ab0: 35 38 31 37 31 31 37 64 34 33 36 62 34 34 32 35  5817117d436b4425
6ac0: 65 63 38 64 37 37 35 65 38 63 62 30 65 30 62 35  ec8d775e8cb0e0b5
6ad0: 33 38 30 37 32 32 31 33 38 38 34 63 37 66 66 31  38072213884c7ff1
6ae0: 62 62 39 63 61 39 39 38 34 63 38 32 64 36 35 63  bb9ca9984c82d65c
6af0: 62 30 31 31 35 63 63 30 37 33 33 32 62 30 65 61  b0115cc07332b0ea
6b00: 39 30 33 65 33 62 33 38 36 35 30 65 38 38 65 0a  903e3b38650e88e.
6b10: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
6b20: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 37  ash_SHA3-512-2.7
6b30: 30 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  0 {SHA3_512Short
6b40: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
6b50: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
6b60: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
6b70: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6b80: 20 68 65 78 20 66 63 61 35 66 36 38 66 64 32 64   hex fca5f68fd2d
6b90: 33 61 35 32 31 38 37 62 33 34 39 61 38 64 32 37  3a52187b349a8d27
6ba0: 32 36 62 36 30 38 66 63 63 65 61 37 64 62 34 32  26b608fccea7db42
6bb0: 65 39 30 36 62 38 37 31 38 65 38 35 61 30 65 63  e906b8718e85a0ec
6bc0: 36 35 34 66 61 63 37 30 66 35 61 38 33 39 61 38  654fac70f5a839a8
6bd0: 64 33 66 66 39 30 63 66 65 64 37 61 65 62 35 65  d3ff90cfed7aeb5e
6be0: 61 39 62 30 38 66 34 38 37 66 63 38 34 65 31 64  a9b08f487fc84e1d
6bf0: 39 66 37 66 62 38 33 31 64 65 61 32 35 34 34 36  9f7fb831dea25446
6c00: 38 61 36 35 62 61 31 38 63 63 35 61 31 32 36 5d  8a65ba18cc5a126]
6c10: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
6c20: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6c30: 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20 24  SHA3-512 -data $
6c40: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
6c50: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 63  exact -result 2c
6c60: 37 34 66 38 34 36 65 63 63 37 32 32 65 61 34 61  74f846ecc722ea4a
6c70: 31 65 62 31 31 36 32 65 32 33 31 62 36 39 30 33  1eb1162e231b6903
6c80: 32 39 31 66 66 66 61 39 35 64 64 35 65 31 64 31  291fffa95dd5e1d1
6c90: 37 64 62 63 32 63 32 62 65 37 64 66 65 35 34 39  7dbc2c2be7dfe549
6ca0: 61 38 30 64 64 33 34 34 38 37 64 37 31 34 31 33  a80dd34487d71413
6cb0: 30 64 64 63 39 39 32 34 61 65 64 39 30 34 61 64  0ddc9924aed904ad
6cc0: 35 35 66 34 39 63 39 31 63 38 30 63 65 62 30 35  55f49c91c80ceb05
6cd0: 63 30 63 30 33 34 64 61 65 30 61 30 61 34 0a 0a  c0c034dae0a0a4..
6ce0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
6cf0: 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 37 31  sh_SHA3-512-2.71
6d00: 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74 4d   {SHA3_512ShortM
6d10: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6d20: 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a 09  nts SHA3_512 \..
6d30: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
6d40: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
6d50: 68 65 78 20 38 38 31 66 66 37 30 63 61 33 34 61  hex 881ff70ca34a
6d60: 33 65 31 61 30 65 38 36 34 66 64 32 36 31 35 63  3e1a0e864fd2615c
6d70: 61 32 61 30 65 36 33 64 65 66 32 35 34 65 36 38  a2a0e63def254e68
6d80: 38 63 33 37 61 32 30 65 66 36 32 39 37 63 62 33  8c37a20ef6297cb3
6d90: 61 65 34 63 37 36 64 37 34 36 62 35 65 33 64 36  ae4c76d746b5e3d6
6da0: 62 62 34 31 62 64 30 64 30 35 64 37 64 66 33 65  bb41bd0d05d7df3e
6db0: 65 64 65 64 37 34 33 35 31 66 34 65 62 30 61 63  eded74351f4eb0ac
6dc0: 38 30 31 61 62 65 36 64 63 31 30 65 66 39 62 36  801abe6dc10ef9b6
6dd0: 33 35 30 35 35 65 65 31 64 66 62 66 34 31 34 34  35055ee1dfbf4144
6de0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
6df0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
6e00: 20 53 48 41 33 2d 35 31 32 20 2d 64 61 74 61 20   SHA3-512 -data 
6e10: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
6e20: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
6e30: 61 31 30 61 37 63 65 32 33 63 30 34 39 37 66 65  a10a7ce23c0497fe
6e40: 38 37 38 33 39 32 37 66 38 33 33 32 33 32 61 65  8783927f833232ae
6e50: 36 36 34 66 31 65 31 62 39 31 33 30 32 32 36 36  664f1e1b91302266
6e60: 62 36 61 63 65 32 35 61 39 63 32 35 33 64 31 65  b6ace25a9c253d1e
6e70: 63 61 62 31 61 61 61 61 36 32 66 38 36 35 34 36  cab1aaaa62f86546
6e80: 39 34 38 30 62 32 31 34 35 65 64 30 65 34 38 39  9480b2145ed0e489
6e90: 61 65 33 66 33 66 39 66 37 65 36 64 61 32 37 34  ae3f3f9f7e6da274
6ea0: 39 32 63 38 31 62 30 37 65 36 30 36 66 62 36 0a  92c81b07e606fb6.
6eb0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
6ec0: 61 73 68 5f 53 48 41 33 2d 35 31 32 2d 32 2e 37  ash_SHA3-512-2.7
6ed0: 32 20 7b 53 48 41 33 5f 35 31 32 53 68 6f 72 74  2 {SHA3_512Short
6ee0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
6ef0: 69 6e 74 73 20 53 48 41 33 5f 35 31 32 20 5c 0a  ints SHA3_512 \.
6f00: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
6f10: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6f20: 20 68 65 78 20 62 30 64 65 30 34 33 30 63 32 30   hex b0de0430c20
6f30: 30 64 37 34 62 66 34 31 65 61 30 63 39 32 66 38  0d74bf41ea0c92f8
6f40: 66 32 38 65 31 31 62 36 38 30 30 36 61 38 38 34  f28e11b68006a884
6f50: 65 30 64 34 62 30 64 38 38 34 35 33 33 65 65 35  e0d4b0d884533ee5
6f60: 38 62 33 38 61 34 33 38 63 63 31 61 37 35 37 35  8b38a438cc1a7575
6f70: 30 62 36 34 33 34 66 34 36 37 65 32 64 30 63 64  0b6434f467e2d0cd
6f80: 39 61 61 34 30 35 32 63 65 62 37 39 33 32 39 31  9aa4052ceb793291
6f90: 62 39 33 65 66 38 33 66 64 35 64 38 36 32 30 34  b93ef83fd5d86204
6fa0: 35 36 63 65 31 61 66 66 32 39 34 31 62 33 36 30  56ce1aff2941b360
6fb0: 35 61 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  5a4]} \..-body {
6fc0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
6fd0: 65 73 74 20 53 48 41 33 2d 35 31 32 20 2d 64 61  est SHA3-512 -da
6fe0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6ff0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
7000: 74 20 39 65 39 65 34 36 39 63 61 39 32 32 36 63  t 9e9e469ca9226c
7010: 64 30 31 32 66 35 63 39 63 63 33 39 63 39 36 61  d012f5c9cc39c96a
7020: 64 63 32 32 66 34 32 30 30 33 30 66 63 65 65 33  dc22f420030fcee3
7030: 30 35 61 30 65 64 32 37 39 37 34 65 33 63 38 30  05a0ed27974e3c80
7040: 32 37 30 31 36 30 33 64 61 63 38 37 33 61 65 34  2701603dac873ae4
7050: 34 37 36 65 39 63 33 64 35 37 65 35 35 35 32 34  476e9c3d57e55524
7060: 34 38 33 66 63 30 31 61 64 61 65 66 38 37 64 61  483fc01adaef87da
7070: 61 39 65 33 30 34 30 37 38 63 35 39 38 30 32 37  a9e304078c598027
7080: 35 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  57..tcltest::tes
7090: 74 20 48 61 73 68 5f 53 48 41 33 2d 35 31 32 2d  t Hash_SHA3-512-
70a0: 32 2e 37 33 20 7b 53 48 41 33 5f 35 31 32 53 68  2.73 {SHA3_512Sh
70b0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
70c0: 74 72 61 69 6e 74 73 20 53 48 41 33 5f 35 31 32  traints SHA3_512
70d0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
70e0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
70f0: 6f 64 65 20 68 65 78 20 30 63 65 39 66 38 63 33  ode hex 0ce9f8c3
7100: 61 39 39 30 63 32 36 38 66 33 34 65 66 64 39 62  a990c268f34efd9b
7110: 65 66 64 62 30 66 37 63 34 65 66 38 34 36 36 63  efdb0f7c4ef8466c
7120: 66 64 62 30 31 31 37 31 66 38 64 65 37 30 64 63  fdb01171f8de70dc
7130: 35 66 65 66 61 39 32 61 63 62 65 39 33 64 32 39  5fefa92acbe93d29
7140: 65 32 61 63 31 61 35 63 32 39 37 39 31 32 39 66  e2ac1a5c2979129f
7150: 31 61 62 30 38 63 30 65 37 37 64 65 37 39 32 34  1ab08c0e77de7924
7160: 64 64 66 36 38 61 32 30 39 63 64 66 61 30 61 64  ddf68a209cdfa0ad
7170: 63 36 32 66 38 35 63 31 38 36 33 37 64 39 63 36  c62f85c18637d9c6
7180: 62 33 33 66 34 66 66 38 5d 7d 20 5c 0a 09 2d 62  b33f4ff8]} \..-b
7190: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
71a0: 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d 35 31   -digest SHA3-51
71b0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
71c0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
71d0: 72 65 73 75 6c 74 20 62 30 31 38 61 32 30 66 63  result b018a20fc
71e0: 66 38 33 31 64 64 65 32 39 30 65 34 66 62 31 38  f831dde290e4fb18
71f0: 63 35 36 33 34 32 65 66 65 31 33 38 34 37 32 63  c56342efe138472c
7200: 62 65 31 34 32 64 61 36 62 37 37 65 65 61 34 66  be142da6b77eea4f
7210: 63 65 35 32 35 38 38 63 30 34 63 38 30 38 65 62  ce52588c04c808eb
7220: 33 32 39 31 32 66 61 61 33 34 35 32 34 35 61 38  32912faa345245a8
7230: 35 30 33 34 36 66 61 65 63 34 36 63 33 61 31 36  50346faec46c3a16
7240: 64 33 39 62 64 32 65 31 64 64 62 31 38 31 36 62  d39bd2e1ddb1816b
7250: 63 35 37 64 32 64 61 0a 0a 23 20 43 6c 65 61 6e  c57d2da..# Clean
7260: 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63 6c  up.::tcltest::cl
7270: 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75 72  eanupTests.retur
7280: 6e 0a                                            n.