Hex Artifact Content

Artifact db8f842627800724f51ff2b5d10d344909ba073f022d9372e625bd208e9c7b8d:


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 35 31 32 5f 32 35   from "SHA512_25
0020: 36 53 68 6f 72 74 4d 73 67 2e 72 73 70 22 0a 70  6ShortMsg.rsp".p
0030: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 74  ackage require t
0040: 6c 73 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69  ls.package requi
0050: 72 65 20 74 63 6c 74 65 73 74 0a 0a 74 63 6c 74  re tcltest..tclt
0060: 65 73 74 3a 3a 74 65 73 74 43 6f 6e 73 74 72 61  est::testConstra
0070: 69 6e 74 20 53 48 41 35 31 32 2d 32 35 36 20 5b  int SHA512-256 [
0080: 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20 2d  expr {[lsearch -
0090: 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a 64 69 67  nocase [tls::dig
00a0: 65 73 74 73 5d 20 53 48 41 35 31 32 2d 32 35 36  ests] SHA512-256
00b0: 5d 20 3e 20 2d 31 7d 5d 0a 0a 74 63 6c 74 65 73  ] > -1}]..tcltes
00c0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
00d0: 35 31 32 2d 32 35 36 2d 32 2e 31 20 7b 53 48 41  512-256-2.1 {SHA
00e0: 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  512_256ShortMsg}
00f0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0100: 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d   SHA512-256 \..-
0110: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
0120: 22 22 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  ""} \..-body {tl
0130: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0140: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
0150: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0160: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0170: 74 20 63 36 37 32 62 38 64 31 65 66 35 36 65 64  t c672b8d1ef56ed
0180: 32 38 61 62 38 37 63 33 36 32 32 63 35 31 31 34  28ab87c3622c5114
0190: 30 36 39 62 64 64 33 61 64 37 62 38 66 39 37 33  069bdd3ad7b8f973
01a0: 37 34 39 38 64 30 63 30 31 65 63 65 66 30 39 36  7498d0c01ecef096
01b0: 37 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  7a..tcltest::tes
01c0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
01d0: 36 2d 32 2e 32 20 7b 53 48 41 35 31 32 5f 32 35  6-2.2 {SHA512_25
01e0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
01f0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
0200: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
0210: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0220: 79 20 64 65 63 6f 64 65 20 68 65 78 20 66 61 5d  y decode hex fa]
0230: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0240: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0250: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
0260: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
0270: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
0280: 63 34 65 66 33 36 39 32 33 63 36 34 65 35 31 65  c4ef36923c64e51e
0290: 38 37 35 37 32 30 65 35 35 30 32 39 38 61 35 61  875720e550298a5a
02a0: 62 38 61 33 66 32 66 38 37 35 62 31 65 31 61 34  b8a3f2f875b1e1a4
02b0: 63 39 62 39 35 62 61 62 66 37 33 34 34 66 65 66  c9b95babf7344fef
02c0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
02d0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
02e0: 32 2e 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53  2.3 {SHA512_256S
02f0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
0300: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
0310: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
0320: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
0330: 64 65 63 6f 64 65 20 68 65 78 20 37 34 65 34 5d  decode hex 74e4]
0340: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0350: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0360: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
0370: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
0380: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
0390: 30 63 39 39 34 32 32 38 62 38 64 33 62 64 35 65  0c994228b8d3bd5e
03a0: 61 35 62 35 32 35 39 31 35 37 61 39 62 62 61 37  a5b5259157a9bba7
03b0: 61 31 39 33 31 31 38 61 64 32 32 38 31 37 65 36  a193118ad22817e6
03c0: 66 62 65 64 32 64 66 31 61 33 32 61 34 31 34 38  fbed2df1a32a4148
03d0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
03e0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
03f0: 32 2e 34 20 7b 53 48 41 35 31 32 5f 32 35 36 53  2.4 {SHA512_256S
0400: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
0410: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
0420: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
0430: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
0440: 64 65 63 6f 64 65 20 68 65 78 20 36 66 36 33 62  decode hex 6f63b
0450: 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  4]} \..-body {tl
0460: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0470: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
0480: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0490: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
04a0: 74 20 61 39 65 32 34 32 37 63 65 63 33 31 34 62  t a9e2427cec314b
04b0: 32 38 31 34 61 61 62 61 38 37 30 33 39 34 38 35  2814aaba87039485
04c0: 66 63 38 64 33 61 64 65 39 39 32 66 61 31 64 39  fc8d3ade992fa1d9
04d0: 61 63 62 62 37 66 36 37 36 39 34 36 30 61 37 33  acbb7f6769460a73
04e0: 31 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  17..tcltest::tes
04f0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
0500: 36 2d 32 2e 35 20 7b 53 48 41 35 31 32 5f 32 35  6-2.5 {SHA512_25
0510: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
0520: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
0530: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
0540: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
0550: 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 62 66  y decode hex 2bf
0560: 39 38 65 37 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79  98e7f]} \..-body
0570: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
0580: 69 67 65 73 74 20 53 48 41 35 31 32 2d 32 35 36  igest SHA512-256
0590: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
05a0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
05b0: 65 73 75 6c 74 20 39 37 64 34 35 35 65 36 38 38  esult 97d455e688
05c0: 31 61 64 62 62 38 62 66 32 36 64 64 63 33 65 66  1adbb8bf26ddc3ef
05d0: 31 32 30 64 66 34 61 62 62 33 33 30 61 64 66 38  120df4abb330adf8
05e0: 65 64 32 61 63 37 61 34 62 36 63 63 65 34 61 31  ed2ac7a4b6cce4a1
05f0: 37 32 37 30 36 38 0a 0a 74 63 6c 74 65 73 74 3a  727068..tcltest:
0600: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
0610: 32 2d 32 35 36 2d 32 2e 36 20 7b 53 48 41 35 31  2-256-2.6 {SHA51
0620: 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  2_256ShortMsg} \
0630: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
0640: 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65  HA512-256 \..-se
0650: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
0660: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
0670: 20 37 37 64 32 65 65 33 66 64 31 5d 7d 20 5c 0a   77d2ee3fd1]} \.
0680: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
0690: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
06a0: 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  12-256 -data $da
06b0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
06c0: 61 63 74 20 2d 72 65 73 75 6c 74 20 33 32 39 64  act -result 329d
06d0: 30 61 65 32 36 64 66 33 36 34 36 66 62 37 64 62  0ae26df3646fb7db
06e0: 30 62 33 32 32 63 66 31 66 33 34 38 38 64 35 33  0b322cf1f3488d53
06f0: 38 31 66 36 36 65 62 33 37 36 66 65 65 34 30 66  81f66eb376fee40f
0700: 30 35 39 36 64 36 64 39 64 63 34 62 0a 0a 74 63  0596d6d9dc4b..tc
0710: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
0720: 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 37 20  _SHA512-256-2.7 
0730: 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74  {SHA512_256Short
0740: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
0750: 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20  ints SHA512-256 
0760: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
0770: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
0780: 64 65 20 68 65 78 20 37 64 61 65 38 66 63 30 32  de hex 7dae8fc02
0790: 30 64 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  0d9]} \..-body {
07a0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
07b0: 65 73 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d  est SHA512-256 -
07c0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
07d0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
07e0: 75 6c 74 20 34 34 37 30 34 34 66 30 33 62 63 33  ult 447044f03bc3
07f0: 30 65 32 63 61 61 32 34 35 64 32 36 63 65 34 63  0e2caa245d26ce4c
0800: 37 32 63 31 34 35 34 66 37 30 38 63 66 63 64 39  72c1454f708cfcd9
0810: 61 32 31 35 38 34 31 61 38 38 63 66 35 65 63 64  a215841a88cf5ecd
0820: 32 30 39 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  2095..tcltest::t
0830: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
0840: 32 35 36 2d 32 2e 38 20 7b 53 48 41 35 31 32 5f  256-2.8 {SHA512_
0850: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
0860: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
0870: 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75  512-256 \..-setu
0880: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
0890: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35  ary decode hex 5
08a0: 62 34 38 62 38 62 30 31 61 35 39 64 35 5d 7d 20  b48b8b01a59d5]} 
08b0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
08c0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
08d0: 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24  A512-256 -data $
08e0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
08f0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 61  exact -result 1a
0900: 38 36 62 34 64 33 34 63 64 31 30 34 63 31 33 62  86b4d34cd104c13b
0910: 35 62 38 64 34 31 39 37 38 34 63 65 34 63 36 64  5b8d419784ce4c6d
0920: 33 35 35 39 34 66 32 61 39 33 30 30 65 38 31 34  35594f2a9300e814
0930: 36 38 66 34 64 63 30 36 33 34 38 33 32 61 0a 0a  68f4dc0634832a..
0940: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
0950: 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e  sh_SHA512-256-2.
0960: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
0970: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
0980: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
0990: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
09a0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
09b0: 63 6f 64 65 20 68 65 78 20 62 34 65 32 65 38 35  code hex b4e2e85
09c0: 30 31 66 35 34 62 65 39 31 5d 7d 20 5c 0a 09 2d  01f54be91]} \..-
09d0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
09e0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
09f0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
0a00: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0a10: 74 20 2d 72 65 73 75 6c 74 20 64 32 35 32 36 35  t -result d25265
0a20: 62 66 39 63 62 63 30 64 64 32 66 31 30 38 61 32  bf9cbc0dd2f108a2
0a30: 66 35 65 38 66 36 39 64 62 37 64 31 35 65 35 62  f5e8f69db7d15e5b
0a40: 38 66 65 39 31 30 30 66 65 38 38 37 64 61 65 32  8fe9100fe887dae2
0a50: 30 62 36 65 30 35 34 66 65 38 0a 0a 74 63 6c 74  0b6e054fe8..tclt
0a60: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
0a70: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 30 20 7b  HA512-256-2.10 {
0a80: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
0a90: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0aa0: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
0ab0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0ac0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
0ad0: 65 20 68 65 78 20 39 30 31 64 62 30 66 37 30 66  e hex 901db0f70f
0ae0: 32 64 31 30 36 32 36 61 5d 7d 20 5c 0a 09 2d 62  2d10626a]} \..-b
0af0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0b00: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
0b10: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
0b20: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0b30: 20 2d 72 65 73 75 6c 74 20 66 38 34 63 65 37 61   -result f84ce7a
0b40: 37 36 30 63 38 35 65 36 37 38 37 32 66 66 63 61  760c85e67872ffca
0b50: 31 37 32 32 62 31 62 37 37 34 31 30 33 32 64 39  1722b1b7741032d9
0b60: 31 33 39 32 31 31 30 37 37 66 39 36 33 61 33 32  139211077f963a32
0b70: 64 39 66 38 34 37 37 31 62 0a 0a 74 63 6c 74 65  d9f84771b..tclte
0b80: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
0b90: 41 35 31 32 2d 32 35 36 2d 32 2e 31 31 20 7b 53  A512-256-2.11 {S
0ba0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
0bb0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
0bc0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
0bd0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
0be0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
0bf0: 20 68 65 78 20 66 32 34 64 39 38 35 39 31 65 65   hex f24d98591ee
0c00: 33 63 37 33 32 61 31 37 32 5d 7d 20 5c 0a 09 2d  3c732a172]} \..-
0c10: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
0c20: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
0c30: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
0c40: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0c50: 74 20 2d 72 65 73 75 6c 74 20 64 61 32 33 34 63  t -result da234c
0c60: 31 64 36 64 31 38 61 64 38 66 35 33 30 37 30 65  1d6d18ad8f53070e
0c70: 34 65 35 62 39 63 66 66 37 35 33 38 35 63 31 33  4e5b9cff75385c13
0c80: 66 33 65 34 34 62 30 31 34 66 63 34 35 63 33 35  f3e44b014fc45c35
0c90: 30 39 64 30 64 30 36 61 64 62 0a 0a 74 63 6c 74  09d0d06adb..tclt
0ca0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
0cb0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 32 20 7b  HA512-256-2.12 {
0cc0: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
0cd0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0ce0: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
0cf0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0d00: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
0d10: 65 20 68 65 78 20 62 66 62 32 37 32 35 33 37 66  e hex bfb272537f
0d20: 30 32 31 61 64 65 39 62 62 33 33 30 5d 7d 20 5c  021ade9bb330]} \
0d30: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
0d40: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
0d50: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
0d60: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
0d70: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 63 34  xact -result 7c4
0d80: 39 61 35 39 61 33 63 33 66 64 38 65 32 34 64 65  9a59a3c3fd8e24de
0d90: 38 35 38 35 34 66 36 38 61 33 62 37 65 63 36 30  85854f68a3b7ec60
0da0: 63 32 30 33 31 37 34 32 61 39 61 32 64 61 62 66  c2031742a9a2dabf
0db0: 34 39 31 39 39 64 38 38 63 32 64 62 35 0a 0a 74  49199d88c2db5..t
0dc0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0dd0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31  h_SHA512-256-2.1
0de0: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
0df0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
0e00: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
0e10: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
0e20: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0e30: 63 6f 64 65 20 68 65 78 20 30 61 35 66 37 34 32  code hex 0a5f742
0e40: 34 62 61 62 62 35 63 62 38 35 37 31 35 66 62 31  4babb5cb85715fb1
0e50: 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  7]} \..-body {tl
0e60: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
0e70: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
0e80: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
0e90: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
0ea0: 74 20 35 63 64 34 30 63 35 31 35 30 32 36 30 30  t 5cd40c51502600
0eb0: 66 33 61 30 65 65 63 37 62 33 61 33 61 64 64 62  f3a0eec7b3a3addb
0ec0: 66 36 36 37 32 65 65 65 63 63 35 30 62 33 64 65  f6672eeecc50b3de
0ed0: 32 66 64 38 36 64 64 31 63 30 61 34 37 65 38 61  2fd86dd1c0a47e8a
0ee0: 33 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  3f..tcltest::tes
0ef0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
0f00: 36 2d 32 2e 31 34 20 7b 53 48 41 35 31 32 5f 32  6-2.14 {SHA512_2
0f10: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
0f20: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
0f30: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
0f40: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
0f50: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 37  ry decode hex 57
0f60: 61 31 30 33 30 38 61 61 32 30 36 30 61 65 63 61  a10308aa2060aeca
0f70: 64 30 35 61 64 62 32 64 5d 7d 20 5c 0a 09 2d 62  d05adb2d]} \..-b
0f80: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
0f90: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
0fa0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
0fb0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0fc0: 20 2d 72 65 73 75 6c 74 20 61 35 32 30 38 65 63   -result a5208ec
0fd0: 65 31 64 65 31 33 34 32 64 30 32 65 61 39 61 62  e1de1342d02ea9ab
0fe0: 37 63 66 65 35 33 37 61 32 63 38 31 66 61 30 65  7cfe537a2c81fa0e
0ff0: 61 65 64 62 34 32 37 61 37 62 33 63 62 36 63 32  aedb427a7b3cb6c2
1000: 39 31 39 35 39 61 36 61 38 0a 0a 74 63 6c 74 65  91959a6a8..tclte
1010: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
1020: 41 35 31 32 2d 32 35 36 2d 32 2e 31 35 20 7b 53  A512-256-2.15 {S
1030: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
1040: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1050: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
1060: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1070: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1080: 20 68 65 78 20 35 65 34 36 37 34 65 39 37 61 32   hex 5e4674e97a2
1090: 35 37 63 32 33 31 64 38 65 39 31 33 39 31 64 30  57c231d8e91391d0
10a0: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
10b0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
10c0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
10d0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
10e0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
10f0: 74 20 61 38 38 64 37 63 62 62 36 65 33 31 65 38  t a88d7cbb6e31e8
1100: 37 61 36 63 39 39 37 33 34 66 35 39 39 64 31 35  7a6c99734f599d15
1110: 38 38 63 62 39 34 33 39 39 37 39 62 38 32 31 30  88cb9439979b8210
1120: 38 30 30 65 63 61 30 61 61 32 30 36 37 63 64 35  800eca0aa2067cd5
1130: 35 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  56..tcltest::tes
1140: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
1150: 36 2d 32 2e 31 36 20 7b 53 48 41 35 31 32 5f 32  6-2.16 {SHA512_2
1160: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
1170: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
1180: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
1190: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
11a0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 61  ry decode hex ba
11b0: 31 30 62 30 64 61 37 30 65 32 61 30 31 37 63 64  10b0da70e2a017cd
11c0: 63 36 33 66 39 39 36 64 62 63 31 62 5d 7d 20 5c  c63f996dbc1b]} \
11d0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
11e0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
11f0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
1200: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1210: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 66 38 61  xact -result f8a
1220: 35 61 61 32 32 39 33 37 34 35 33 37 31 39 65 62  5aa22937453719eb
1230: 34 30 62 31 64 63 66 36 38 61 33 34 36 65 32 30  40b1dcf68a346e20
1240: 32 62 61 32 32 35 66 34 64 37 61 63 63 38 37 65  2ba225f4d7acc87e
1250: 35 61 37 33 36 61 62 65 64 33 34 32 33 0a 0a 74  5a736abed3423..t
1260: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1270: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31  h_SHA512-256-2.1
1280: 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  7 {SHA512_256Sho
1290: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
12a0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
12b0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
12c0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
12d0: 63 6f 64 65 20 68 65 78 20 61 33 34 38 31 39 39  code hex a348199
12e0: 36 63 31 30 39 63 39 65 66 62 36 36 39 32 62 38  6c109c9efb6692b8
12f0: 32 31 37 33 39 32 31 62 36 5d 7d 20 5c 0a 09 2d  2173921b6]} \..-
1300: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1310: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1320: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
1330: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
1340: 74 20 2d 72 65 73 75 6c 74 20 66 62 61 30 66 30  t -result fba0f0
1350: 38 31 33 63 61 35 63 35 31 33 64 30 62 35 34 37  813ca5c513d0b547
1360: 34 31 39 61 31 35 65 32 37 61 37 30 39 37 64 33  419a15e27a7097d3
1370: 65 62 32 38 30 61 32 39 38 63 31 63 36 39 33 62  eb280a298c1c693b
1380: 35 35 65 30 33 64 32 64 32 63 0a 0a 74 63 6c 74  55e03d2d2c..tclt
1390: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
13a0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 38 20 7b  HA512-256-2.18 {
13b0: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
13c0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
13d0: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
13e0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
13f0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1400: 65 20 68 65 78 20 30 38 37 37 63 32 30 63 64 64  e hex 0877c20cdd
1410: 63 63 38 36 62 38 33 33 66 37 62 63 32 64 63 66  cc86b833f7bc2dcf
1420: 37 61 37 30 39 61 32 65 5d 7d 20 5c 0a 09 2d 62  7a709a2e]} \..-b
1430: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1440: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
1450: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
1460: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
1470: 20 2d 72 65 73 75 6c 74 20 66 34 63 33 61 32 36   -result f4c3a26
1480: 30 34 65 32 37 32 35 65 34 64 31 37 39 65 64 64  04e2725e4d179edd
1490: 31 62 34 34 35 62 61 34 38 39 39 37 39 66 34 65  1b445ba489979f4e
14a0: 61 35 39 33 37 65 30 63 36 62 32 30 62 34 32 32  a5937e0c6b20b422
14b0: 63 37 32 30 64 38 62 66 61 0a 0a 74 63 6c 74 65  c720d8bfa..tclte
14c0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
14d0: 41 35 31 32 2d 32 35 36 2d 32 2e 31 39 20 7b 53  A512-256-2.19 {S
14e0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
14f0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1500: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
1510: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1520: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1530: 20 68 65 78 20 36 39 34 34 35 62 64 31 32 66 30   hex 69445bd12f0
1540: 32 32 66 36 61 36 36 39 62 65 62 65 30 34 36 37  22f6a669bebe0467
1550: 37 32 39 66 34 64 63 37 63 5d 7d 20 5c 0a 09 2d  729f4dc7c]} \..-
1560: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1570: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1580: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
1590: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
15a0: 74 20 2d 72 65 73 75 6c 74 20 32 36 62 66 37 30  t -result 26bf70
15b0: 39 62 33 34 37 34 35 35 34 61 62 38 64 64 31 32  9b3474554ab8dd12
15c0: 64 39 35 32 34 66 61 63 61 34 33 30 33 34 31 31  d9524faca4303411
15d0: 38 62 64 39 35 35 66 63 35 32 63 62 31 66 33 35  8bd955fc52cb1f35
15e0: 35 63 36 64 66 32 32 33 39 31 0a 0a 74 63 6c 74  5c6df22391..tclt
15f0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
1600: 48 41 35 31 32 2d 32 35 36 2d 32 2e 32 30 20 7b  HA512-256-2.20 {
1610: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
1620: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1630: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
1640: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
1650: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1660: 65 20 68 65 78 20 66 37 35 31 66 34 32 38 61 30  e hex f751f428a0
1670: 61 66 30 62 39 30 61 39 31 32 61 33 62 65 37 38  af0b90a912a3be78
1680: 64 61 66 31 32 61 37 36 35 62 34 33 5d 7d 20 5c  daf12a765b43]} \
1690: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
16a0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
16b0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
16c0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
16d0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35 65 30  xact -result 5e0
16e0: 66 38 61 38 37 33 39 66 35 35 36 64 61 62 61 34  f8a8739f556daba4
16f0: 64 61 34 65 38 36 31 66 33 39 64 31 65 64 61 61  da4e861f39d1edaa
1700: 65 63 65 30 32 30 34 39 36 33 39 34 32 61 34 65  ece0204963942a4e
1710: 36 36 61 31 31 65 63 31 66 63 66 31 33 0a 0a 74  66a11ec1fcf13..t
1720: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1730: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 32  h_SHA512-256-2.2
1740: 31 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  1 {SHA512_256Sho
1750: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
1760: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
1770: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
1780: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1790: 63 6f 64 65 20 68 65 78 20 31 39 38 32 39 61 38  code hex 19829a8
17a0: 63 37 32 33 63 35 38 63 61 39 35 38 30 63 64 66  c723c58ca9580cdf
17b0: 30 64 61 64 32 62 36 64 33 38 63 64 66 36 30 61  0dad2b6d38cdf60a
17c0: 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  5]} \..-body {tl
17d0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
17e0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
17f0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
1800: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1810: 74 20 33 61 61 37 39 31 62 33 39 36 61 62 38 31  t 3aa791b396ab81
1820: 64 66 39 31 30 37 32 37 38 62 38 64 64 31 63 34  df9107278b8dd1c4
1830: 36 65 65 35 37 35 37 39 64 62 34 63 66 35 66 39  6ee57579db4cf5f9
1840: 62 38 33 63 35 34 62 33 37 62 30 61 36 30 31 66  b83c54b37b0a601f
1850: 63 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c9..tcltest::tes
1860: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
1870: 36 2d 32 2e 32 32 20 7b 53 48 41 35 31 32 5f 32  6-2.22 {SHA512_2
1880: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
1890: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
18a0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
18b0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
18c0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 65  ry decode hex ae
18d0: 34 33 31 33 32 61 63 33 30 64 65 31 38 30 63 32  43132ac30de180c2
18e0: 34 64 61 64 62 38 38 36 30 32 63 61 65 61 39 31  4dadb88602caea91
18f0: 33 36 36 62 38 65 35 31 5d 7d 20 5c 0a 09 2d 62  366b8e51]} \..-b
1900: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1910: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
1920: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
1930: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
1940: 20 2d 72 65 73 75 6c 74 20 62 39 66 30 31 34 31   -result b9f0141
1950: 62 61 30 30 36 61 33 39 38 33 39 37 32 64 62 61  ba006a3983972dba
1960: 61 35 65 32 62 66 65 37 31 35 32 65 33 38 31 31  a5e2bfe7152e3811
1970: 30 65 30 32 34 37 35 66 30 33 64 38 34 62 30 61  0e02475f03d84b0a
1980: 33 63 37 34 33 63 64 61 39 0a 0a 74 63 6c 74 65  3c743cda9..tclte
1990: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
19a0: 41 35 31 32 2d 32 35 36 2d 32 2e 32 33 20 7b 53  A512-256-2.23 {S
19b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
19c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
19d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
19e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
19f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1a00: 20 68 65 78 20 38 64 32 37 38 32 61 37 38 34 33   hex 8d2782a7843
1a10: 61 61 34 37 37 62 38 66 33 62 63 61 39 66 39 66  aa477b8f3bca9f9f
1a20: 32 62 61 66 62 35 38 31 33 64 62 34 63 38 63 34  2bafb5813db4c8c4
1a30: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  3]} \..-body {tl
1a40: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
1a50: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
1a60: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
1a70: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
1a80: 74 20 35 34 32 34 62 33 31 39 38 39 30 33 31 38  t 5424b319890318
1a90: 30 39 62 35 66 63 38 39 36 39 62 37 63 34 38 62  09b5fc8969b7c48b
1aa0: 35 64 63 30 63 32 33 33 66 63 33 34 66 66 62 35  5dc0c233fc34ffb5
1ab0: 62 32 32 33 63 64 35 66 33 61 39 37 31 32 61 38  b223cd5f3a9712a8
1ac0: 64 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d6..tcltest::tes
1ad0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
1ae0: 36 2d 32 2e 32 34 20 7b 53 48 41 35 31 32 5f 32  6-2.24 {SHA512_2
1af0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
1b00: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
1b10: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
1b20: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
1b30: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 32  ry decode hex 72
1b40: 33 32 31 66 66 66 64 37 39 31 38 64 34 66 35 63  321fffd7918d4f5c
1b50: 65 61 31 30 35 63 62 30 62 38 38 34 61 32 33 35  ea105cb0b884a235
1b60: 36 61 66 31 31 65 62 65 31 32 36 37 5d 7d 20 5c  6af11ebe1267]} \
1b70: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
1b80: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
1b90: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
1ba0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
1bb0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 37 65  xact -result 17e
1bc0: 33 66 62 33 33 65 37 66 38 35 62 31 61 64 35 36  3fb33e7f85b1ad56
1bd0: 33 34 66 62 62 63 65 39 62 35 66 39 39 30 39 66  34fbbce9b5f9909f
1be0: 33 33 32 39 66 34 64 37 34 61 63 61 64 33 64 64  3329f4d74acad3dd
1bf0: 30 39 34 31 63 31 35 33 31 63 66 35 34 0a 0a 74  0941c1531cf54..t
1c00: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
1c10: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 32  h_SHA512-256-2.2
1c20: 35 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  5 {SHA512_256Sho
1c30: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
1c40: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
1c50: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
1c60: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1c70: 63 6f 64 65 20 68 65 78 20 61 37 65 66 63 65 33  code hex a7efce3
1c80: 65 33 31 34 33 33 66 65 36 38 64 37 35 31 34 35  e31433fe68d75145
1c90: 64 38 34 62 62 30 32 39 36 30 66 62 39 36 38 38  d84bb02960fb9688
1ca0: 37 31 61 33 63 32 66 37 66 5d 7d 20 5c 0a 09 2d  71a3c2f7f]} \..-
1cb0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1cc0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1cd0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
1ce0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
1cf0: 74 20 2d 72 65 73 75 6c 74 20 38 66 66 30 62 65  t -result 8ff0be
1d00: 30 36 30 31 65 33 61 65 39 32 39 30 37 31 35 61  0601e3ae9290715a
1d10: 65 64 33 30 36 33 34 62 31 33 62 38 65 62 36 66  ed30634b13b8eb6f
1d20: 33 63 38 62 33 32 39 34 65 65 39 62 31 66 63 33  3c8b3294ee9b1fc3
1d30: 34 32 63 32 36 30 33 31 33 65 0a 0a 74 63 6c 74  42c260313e..tclt
1d40: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
1d50: 48 41 35 31 32 2d 32 35 36 2d 32 2e 32 36 20 7b  HA512-256-2.26 {
1d60: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
1d70: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
1d80: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
1d90: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
1da0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
1db0: 65 20 68 65 78 20 64 34 64 30 32 32 63 66 39 30  e hex d4d022cf90
1dc0: 65 36 34 33 37 61 61 30 62 66 64 62 38 39 32 38  e6437aa0bfdb8928
1dd0: 34 32 34 34 63 31 36 64 65 65 30 62 34 38 38 62  4244c16dee0b488b
1de0: 63 33 34 35 61 62 36 36 5d 7d 20 5c 0a 09 2d 62  c345ab66]} \..-b
1df0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
1e00: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
1e10: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
1e20: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
1e30: 20 2d 72 65 73 75 6c 74 20 63 62 33 61 36 32 66   -result cb3a62f
1e40: 65 62 30 34 38 34 62 65 30 66 66 39 62 35 36 65  eb0484be0ff9b56e
1e50: 61 39 32 34 31 34 63 37 30 38 33 66 32 62 35 37  a92414c7083f2b57
1e60: 37 36 65 38 38 33 35 30 38 62 33 61 36 31 65 35  76e883508b3a61e5
1e70: 37 33 30 35 65 65 38 33 63 0a 0a 74 63 6c 74 65  7305ee83c..tclte
1e80: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
1e90: 41 35 31 32 2d 32 35 36 2d 32 2e 32 37 20 7b 53  A512-256-2.27 {S
1ea0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
1eb0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1ec0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
1ed0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
1ee0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
1ef0: 20 68 65 78 20 39 35 64 65 35 35 32 38 37 61 64   hex 95de55287ad
1f00: 33 63 66 66 36 39 65 66 65 63 36 65 39 37 63 38  3cff69efec6e97c8
1f10: 31 32 34 35 36 65 34 37 62 65 32 35 65 34 33 33  12456e47be25e433
1f20: 34 37 30 63 33 32 35 39 62 5d 7d 20 5c 0a 09 2d  470c3259b]} \..-
1f30: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
1f40: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
1f50: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
1f60: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
1f70: 74 20 2d 72 65 73 75 6c 74 20 34 31 63 37 30 32  t -result 41c702
1f80: 37 64 31 36 65 33 37 32 35 39 36 34 35 64 30 31  7d16e37259645d01
1f90: 37 33 63 38 36 31 34 31 66 33 38 64 38 30 38 65  73c86141f38d808e
1fa0: 39 65 32 37 64 63 32 64 66 65 65 61 66 33 33 35  9e27dc2dfeeaf335
1fb0: 65 64 37 63 39 39 34 39 30 63 0a 0a 74 63 6c 74  ed7c99490c..tclt
1fc0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
1fd0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 32 38 20 7b  HA512-256-2.28 {
1fe0: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
1ff0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2000: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
2010: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
2020: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
2030: 65 20 68 65 78 20 36 33 64 38 63 66 64 37 32 37  e hex 63d8cfd727
2040: 36 38 63 34 34 39 32 30 64 37 62 30 31 35 34 36  68c44920d7b01546
2050: 30 34 38 39 61 64 35 37 38 63 30 36 33 62 65 31  0489ad578c063be1
2060: 39 30 35 33 38 38 39 63 62 38 30 39 5d 7d 20 5c  9053889cb809]} \
2070: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
2080: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
2090: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
20a0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
20b0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 37 36  xact -result 876
20c0: 65 35 39 63 38 61 36 34 66 61 66 39 64 36 36 35  e59c8a64faf9d665
20d0: 66 37 63 64 65 35 64 34 32 66 62 62 33 33 31 62  f7cde5d42fbb331b
20e0: 61 38 31 38 64 64 63 64 32 38 34 34 39 31 61 63  a818ddcd284491ac
20f0: 35 31 65 64 35 30 65 31 36 31 33 62 65 0a 0a 74  51ed50e1613be..t
2100: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2110: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 32  h_SHA512-256-2.2
2120: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
2130: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
2140: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
2150: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
2160: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2170: 63 6f 64 65 20 68 65 78 20 62 64 32 63 35 61 39  code hex bd2c5a9
2180: 31 31 36 62 66 30 64 37 35 62 33 34 39 38 63 65  116bf0d75b3498ce
2190: 32 65 65 34 62 61 32 38 36 38 65 30 36 65 30 63  2ee4ba2868e06e0c
21a0: 30 34 37 65 63 34 30 62 31 38 31 35 34 30 38 39  047ec40b18154089
21b0: 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  6]} \..-body {tl
21c0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
21d0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
21e0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
21f0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2200: 74 20 65 62 35 33 37 64 66 30 34 64 35 31 32 63  t eb537df04d512c
2210: 32 66 63 38 34 34 30 32 30 66 38 66 66 33 32 65  2fc844020f8ff32e
2220: 30 34 33 63 30 34 36 31 34 62 38 38 63 65 61 30  043c04614b88cea0
2230: 61 34 65 30 35 65 30 66 66 33 32 63 63 66 66 61  a4e05e0ff32ccffa
2240: 30 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  06..tcltest::tes
2250: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
2260: 36 2d 32 2e 33 30 20 7b 53 48 41 35 31 32 5f 32  6-2.30 {SHA512_2
2270: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
2280: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
2290: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
22a0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
22b0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 37  ry decode hex 37
22c0: 61 34 35 36 34 33 61 32 38 30 61 39 64 31 61 31  a45643a280a9d1a1
22d0: 63 38 33 65 30 39 34 65 30 31 31 37 33 61 63 64  c83e094e01173acd
22e0: 38 61 61 31 36 38 32 35 32 35 32 64 65 65 34 65  8aa16825252dee4e
22f0: 62 33 61 33 36 37 38 63 5d 7d 20 5c 0a 09 2d 62  b3a3678c]} \..-b
2300: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2310: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
2320: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
2330: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
2340: 20 2d 72 65 73 75 6c 74 20 38 30 62 63 61 35 62   -result 80bca5b
2350: 61 33 65 36 33 32 65 38 62 61 64 31 35 38 39 63  a3e632e8bad1589c
2360: 64 30 32 64 37 35 64 37 64 33 65 36 61 31 61 61  d02d75d7d3e6a1aa
2370: 39 66 66 36 34 63 32 62 39 38 32 64 35 37 32 66  9ff64c2b982d572f
2380: 33 64 30 30 64 39 34 37 64 0a 0a 74 63 6c 74 65  3d00d947d..tclte
2390: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
23a0: 41 35 31 32 2d 32 35 36 2d 32 2e 33 31 20 7b 53  A512-256-2.31 {S
23b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
23c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
23d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
23e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
23f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2400: 20 68 65 78 20 61 37 62 65 38 34 30 31 34 65 38   hex a7be84014e8
2410: 64 30 39 64 38 64 35 31 36 35 37 37 38 39 63 30  d09d8d51657789c0
2420: 37 66 32 39 66 37 64 61 34 39 63 35 62 35 63 30  7f29f7da49c5b5c0
2430: 66 38 33 36 66 66 66 63 36 62 61 66 38 32 30 36  f836fffc6baf8206
2440: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
2450: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2460: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
2470: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2480: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2490: 74 20 63 35 37 35 62 32 62 61 30 37 35 61 36 33  t c575b2ba075a63
24a0: 63 34 35 34 30 30 38 34 34 39 33 36 33 36 64 65  c4540084493636de
24b0: 61 62 65 39 62 38 64 66 36 31 39 35 32 66 30 37  abe9b8df61952f07
24c0: 31 35 35 39 33 39 34 64 34 64 61 62 38 31 30 65  1559394d4dab810e
24d0: 30 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  08..tcltest::tes
24e0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
24f0: 36 2d 32 2e 33 32 20 7b 53 48 41 35 31 32 5f 32  6-2.32 {SHA512_2
2500: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
2510: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
2520: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
2530: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2540: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 33  ry decode hex 93
2550: 63 34 35 66 62 39 31 64 63 62 61 34 32 30 38 32  c45fb91dcba42082
2560: 30 62 64 33 66 65 65 33 33 34 62 34 38 66 64 66  0bd3fee334b48fdf
2570: 37 62 37 33 64 37 62 34 33 31 65 62 64 62 61 37  7b73d7b431ebdba7
2580: 39 62 32 33 31 30 61 37 66 65 31 39 5d 7d 20 5c  9b2310a7fe19]} \
2590: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
25a0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
25b0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
25c0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
25d0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 38 31  xact -result 981
25e0: 35 31 38 33 39 62 38 66 33 35 37 34 65 30 61 30  51839b8f3574e0a0
25f0: 62 39 66 31 39 65 38 34 61 66 65 62 31 63 36 32  b9f19e84afeb1c62
2600: 30 66 62 32 64 63 65 66 32 34 38 31 34 39 63 30  0fb2dcef248149c0
2610: 30 36 31 33 32 33 33 33 33 37 39 39 37 0a 0a 74  0613233337997..t
2620: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2630: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 33  h_SHA512-256-2.3
2640: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
2650: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
2660: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
2670: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
2680: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2690: 63 6f 64 65 20 68 65 78 20 31 62 37 37 63 38 64  code hex 1b77c8d
26a0: 63 66 64 32 66 63 34 62 35 34 36 31 37 30 35 34  cfd2fc4b54617054
26b0: 66 61 36 62 31 34 64 36 65 39 64 30 39 63 65 39  fa6b14d6e9d09ce9
26c0: 31 38 35 61 33 34 61 37 66 64 32 62 32 37 39 32  185a34a7fd2b2792
26d0: 33 39 39 38 61 61 62 39 39 5d 7d 20 5c 0a 09 2d  3998aab99]} \..-
26e0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
26f0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
2700: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
2710: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
2720: 74 20 2d 72 65 73 75 6c 74 20 36 38 33 62 34 38  t -result 683b48
2730: 36 38 36 31 65 35 39 38 64 61 62 62 61 37 34 30  6861e598dabba740
2740: 61 63 39 31 39 35 32 32 63 66 33 62 36 30 39 63  ac919522cf3b609c
2750: 31 38 32 30 35 62 36 62 65 63 61 34 63 63 62 65  18205b6beca4ccbe
2760: 36 62 30 66 36 64 63 36 64 62 0a 0a 74 63 6c 74  6b0f6dc6db..tclt
2770: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
2780: 48 41 35 31 32 2d 32 35 36 2d 32 2e 33 34 20 7b  HA512-256-2.34 {
2790: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
27a0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
27b0: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
27c0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
27d0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
27e0: 65 20 68 65 78 20 38 64 35 63 62 39 33 33 34 30  e hex 8d5cb93340
27f0: 31 62 33 35 64 63 33 34 62 31 35 64 65 30 66 35  1b35dc34b15de0f5
2800: 34 37 34 64 33 63 39 62 36 61 65 62 39 30 35 37  474d3c9b6aeb9057
2810: 35 33 31 62 37 66 34 62 36 62 33 32 35 39 39 66  531b7f4b6b32599f
2820: 30 65 61 65 66 37 64 31 5d 7d 20 5c 0a 09 2d 62  0eaef7d1]} \..-b
2830: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2840: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
2850: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
2860: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
2870: 20 2d 72 65 73 75 6c 74 20 31 36 63 35 32 33 64   -result 16c523d
2880: 32 62 38 38 33 30 65 61 39 30 64 64 36 62 36 62  2b8830ea90dd6b6b
2890: 31 63 61 34 39 65 34 62 35 31 36 37 33 30 30 36  1ca49e4b51673006
28a0: 63 61 33 30 66 66 34 37 61 34 64 63 64 34 65 37  ca30ff47a4dcd4e7
28b0: 62 33 35 61 64 34 66 36 32 0a 0a 74 63 6c 74 65  b35ad4f62..tclte
28c0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
28d0: 41 35 31 32 2d 32 35 36 2d 32 2e 33 35 20 7b 53  A512-256-2.35 {S
28e0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
28f0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2900: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
2910: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2920: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2930: 20 68 65 78 20 64 36 61 36 36 64 36 36 62 66 35   hex d6a66d66bf5
2940: 34 36 62 39 37 65 62 64 30 33 33 63 62 65 64 33  46b97ebd033cbed3
2950: 35 30 34 39 33 31 65 34 35 32 39 36 33 33 34 61  504931e45296334a
2960: 65 32 38 66 34 31 37 38 64 33 64 65 36 66 30 33  e28f4178d3de6f03
2970: 31 30 36 61 61 38 32 32 31 5d 7d 20 5c 0a 09 2d  106aa8221]} \..-
2980: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
2990: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
29a0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
29b0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
29c0: 74 20 2d 72 65 73 75 6c 74 20 33 66 36 30 37 61  t -result 3f607a
29d0: 35 63 37 61 65 66 31 33 66 65 39 38 64 63 39 66  5c7aef13fe98dc9f
29e0: 36 62 36 61 34 62 35 32 39 37 39 65 37 63 36 38  6b6a4b52979e7c68
29f0: 37 38 31 65 66 35 65 31 32 66 36 39 64 65 64 32  781ef5e12f69ded2
2a00: 30 63 34 39 37 65 64 61 34 37 0a 0a 74 63 6c 74  0c497eda47..tclt
2a10: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
2a20: 48 41 35 31 32 2d 32 35 36 2d 32 2e 33 36 20 7b  HA512-256-2.36 {
2a30: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
2a40: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
2a50: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
2a60: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
2a70: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
2a80: 65 20 68 65 78 20 63 65 38 38 35 66 66 62 33 34  e hex ce885ffb34
2a90: 30 66 64 37 61 34 33 65 32 31 35 30 36 39 39 62  0fd7a43e2150699b
2aa0: 33 66 39 38 65 66 33 33 34 32 37 30 30 33 36 37  3f98ef3342700367
2ab0: 39 34 65 63 37 35 39 61 61 30 31 64 32 39 66 30  94ec759aa01d29f0
2ac0: 38 37 65 64 36 62 35 35 31 35 34 39 5d 7d 20 5c  87ed6b551549]} \
2ad0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
2ae0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
2af0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
2b00: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
2b10: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31 30 37  xact -result 107
2b20: 31 66 38 62 35 37 33 32 38 62 37 36 37 32 30 39  1f8b57328b767209
2b30: 63 31 35 61 34 33 65 31 64 38 34 35 32 37 36 33  c15a43e1d8452763
2b40: 38 36 35 61 63 39 33 64 35 38 66 39 33 63 38 34  865ac93d58f93c84
2b50: 30 38 37 36 63 31 61 35 62 32 31 65 30 0a 0a 74  0876c1a5b21e0..t
2b60: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
2b70: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 33  h_SHA512-256-2.3
2b80: 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  7 {SHA512_256Sho
2b90: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
2ba0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
2bb0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
2bc0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2bd0: 63 6f 64 65 20 68 65 78 20 66 32 63 32 38 64 36  code hex f2c28d6
2be0: 38 35 34 38 36 62 65 39 39 61 66 65 38 37 62 66  85486be99afe87bf
2bf0: 39 30 63 39 66 33 30 39 33 35 37 62 34 34 66 36  90c9f309357b44f6
2c00: 30 62 36 38 38 34 34 36 61 31 39 31 38 61 61 33  0b688446a1918aa3
2c10: 32 31 31 38 30 62 66 34 66 65 35 62 65 31 35 35  21180bf4fe5be155
2c20: 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  9]} \..-body {tl
2c30: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2c40: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
2c50: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2c60: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2c70: 74 20 33 35 62 64 31 39 32 63 63 31 30 66 61 32  t 35bd192cc10fa2
2c80: 34 62 64 37 39 35 34 65 30 65 30 65 65 32 30 63  4bd7954e0e0ee20c
2c90: 30 39 34 34 30 65 66 63 36 34 31 36 65 39 34 63  09440efc6416e94c
2ca0: 61 32 35 61 34 37 65 37 36 35 62 66 33 32 65 66  a25a47e765bf32ef
2cb0: 31 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1d..tcltest::tes
2cc0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
2cd0: 36 2d 32 2e 33 38 20 7b 53 48 41 35 31 32 5f 32  6-2.38 {SHA512_2
2ce0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
2cf0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
2d00: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
2d10: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2d20: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 36  ry decode hex 96
2d30: 65 38 65 33 30 63 37 35 66 65 63 38 32 62 65 66  e8e30c75fec82bef
2d40: 34 64 65 37 65 63 38 65 30 35 33 65 61 36 36 31  4de7ec8e053ea661
2d50: 63 62 37 32 62 63 34 65 62 39 63 31 63 31 61 61  cb72bc4eb9c1c1aa
2d60: 61 36 33 38 64 66 30 37 61 38 32 36 37 39 34 64  a638df07a826794d
2d70: 64 38 64 30 30 66 30 64 5d 7d 20 5c 0a 09 2d 62  d8d00f0d]} \..-b
2d80: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
2d90: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
2da0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
2db0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
2dc0: 20 2d 72 65 73 75 6c 74 20 62 35 35 36 37 39 38   -result b556798
2dd0: 66 37 36 65 66 37 34 32 63 63 31 65 62 35 64 31  f76ef742cc1eb5d1
2de0: 30 37 33 32 61 39 32 35 66 64 38 32 30 38 62 34  0732a925fd8208b4
2df0: 66 30 37 39 61 36 63 30 65 31 66 65 30 64 39 32  f079a6c0e1fe0d92
2e00: 66 64 38 37 35 36 34 61 35 0a 0a 74 63 6c 74 65  fd87564a5..tclte
2e10: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
2e20: 41 35 31 32 2d 32 35 36 2d 32 2e 33 39 20 7b 53  A512-256-2.39 {S
2e30: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
2e40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2e50: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
2e60: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
2e70: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
2e80: 20 68 65 78 20 32 39 31 35 63 39 62 35 38 38 33   hex 2915c9b5883
2e90: 35 66 30 65 63 31 65 30 31 31 66 65 35 65 36 64  5f0ec1e011fe5e6d
2ea0: 62 34 30 61 65 33 65 66 33 64 38 39 30 65 32 36  b40ae3ef3d890e26
2eb0: 38 39 33 34 64 31 62 62 30 32 34 61 36 33 34 33  8934d1bb024a6343
2ec0: 39 34 62 32 30 32 65 35 30 33 37 30 38 62 35 34  94b202e503708b54
2ed0: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  3]} \..-body {tl
2ee0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
2ef0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
2f00: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
2f10: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
2f20: 74 20 33 38 36 38 38 38 35 62 34 65 33 61 65 32  t 3868885b4e3ae2
2f30: 31 37 32 33 30 35 61 63 61 61 64 32 35 66 66 65  172305acaad25ffe
2f40: 39 30 39 34 63 37 32 33 34 38 65 65 39 64 37 62  9094c72348ee9d7b
2f50: 30 61 63 63 32 30 30 32 39 65 32 36 61 37 64 30  0acc20029e26a7d0
2f60: 31 33 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  13..tcltest::tes
2f70: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
2f80: 36 2d 32 2e 34 30 20 7b 53 48 41 35 31 32 5f 32  6-2.40 {SHA512_2
2f90: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
2fa0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
2fb0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
2fc0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
2fd0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 37  ry decode hex 67
2fe0: 33 63 63 63 65 32 38 30 37 63 62 34 37 36 32 32  3ccce2807cb47622
2ff0: 62 37 65 30 39 65 65 38 65 66 64 38 31 32 62 34  b7e09ee8efd812b4
3000: 34 66 61 65 65 66 34 33 36 63 33 30 31 35 30 35  4faeef436c301505
3010: 63 63 36 33 63 64 32 63 61 35 32 64 62 30 30 33  cc63cd2ca52db003
3020: 65 36 35 32 63 34 38 32 37 62 61 32 5d 7d 20 5c  e652c4827ba2]} \
3030: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
3040: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
3050: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
3060: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
3070: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 63 37 37  xact -result c77
3080: 35 32 30 39 38 63 33 62 35 66 63 65 61 39 38 34  52098c3b5fcea984
3090: 32 35 61 31 38 30 61 35 63 39 36 31 34 36 62 34  25a180a5c96146b4
30a0: 34 33 61 61 38 64 37 36 61 30 63 37 39 66 64 63  43aa8d76a0c79fdc
30b0: 66 33 37 31 36 62 64 64 32 62 39 30 36 0a 0a 74  f3716bdd2b906..t
30c0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
30d0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 34  h_SHA512-256-2.4
30e0: 31 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  1 {SHA512_256Sho
30f0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
3100: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
3110: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
3120: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3130: 63 6f 64 65 20 68 65 78 20 63 31 61 36 61 63 36  code hex c1a6ac6
3140: 39 66 34 38 30 30 38 64 62 35 30 39 35 38 36 36  9f48008db5095866
3150: 35 64 66 39 64 39 31 31 62 37 38 64 66 65 35 31  5df9d911b78dfe51
3160: 39 64 39 66 33 34 33 36 36 66 36 63 64 36 39 31  9d9f34366f6cd691
3170: 66 39 30 66 37 34 31 64 31 30 38 31 65 35 39 32  f90f741d1081e592
3180: 36 37 36 64 30 39 33 63 34 5d 7d 20 5c 0a 09 2d  676d093c4]} \..-
3190: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
31a0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
31b0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
31c0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
31d0: 74 20 2d 72 65 73 75 6c 74 20 62 64 31 38 61 66  t -result bd18af
31e0: 35 62 32 62 32 34 64 37 36 39 65 61 64 65 35 32  5b2b24d769eade52
31f0: 35 63 38 66 63 64 35 33 35 32 31 32 61 62 66 38  5c8fcd535212abf8
3200: 65 35 64 66 31 38 30 64 37 66 33 65 33 64 30 32  e5df180d7f3e3d02
3210: 33 30 33 33 66 63 65 31 39 32 0a 0a 74 63 6c 74  3033fce192..tclt
3220: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
3230: 48 41 35 31 32 2d 32 35 36 2d 32 2e 34 32 20 7b  HA512-256-2.42 {
3240: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
3250: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3260: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
3270: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
3280: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
3290: 65 20 68 65 78 20 33 63 64 31 32 33 61 65 37 62  e hex 3cd123ae7b
32a0: 66 64 32 62 33 31 36 31 33 65 63 63 35 65 65 38  fd2b31613ecc5ee8
32b0: 62 38 36 65 38 65 35 39 61 35 32 66 66 34 36 61  b86e8e59a52ff46a
32c0: 65 62 32 62 63 66 61 39 66 34 66 62 65 34 31 65  eb2bcfa9f4fbe41e
32d0: 62 61 37 62 32 63 32 63 32 31 64 30 63 61 62 39  ba7b2c2c21d0cab9
32e0: 38 61 61 61 33 66 38 66 5d 7d 20 5c 0a 09 2d 62  8aaa3f8f]} \..-b
32f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3300: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
3310: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
3320: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
3330: 20 2d 72 65 73 75 6c 74 20 37 63 65 31 39 37 31   -result 7ce1971
3340: 34 65 31 64 33 62 65 36 38 30 64 64 65 30 65 39  4e1d3be680dde0e9
3350: 31 39 64 39 30 31 35 37 61 61 62 63 61 37 36 34  19d90157aabca764
3360: 33 39 64 66 38 66 30 39 37 39 64 31 39 62 33 61  39df8f0979d19b3a
3370: 36 38 36 64 66 36 62 32 38 0a 0a 74 63 6c 74 65  686df6b28..tclte
3380: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3390: 41 35 31 32 2d 32 35 36 2d 32 2e 34 33 20 7b 53  A512-256-2.43 {S
33a0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
33b0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
33c0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
33d0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
33e0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
33f0: 20 68 65 78 20 61 35 32 64 64 65 35 61 65 61 31   hex a52dde5aea1
3400: 66 30 34 33 39 39 63 35 64 39 31 66 62 35 63 34  f04399c5d91fb5c4
3410: 65 36 32 64 61 30 36 62 37 33 61 35 64 39 62 64  e62da06b73a5d9bd
3420: 63 35 61 39 32 37 66 65 38 35 32 39 38 65 35 38  c5a927fe85298e58
3430: 65 31 36 36 31 38 37 66 31 35 34 62 36 39 61 63  e166187f154b69ac
3440: 31 30 35 37 63 30 31 61 37 5d 7d 20 5c 0a 09 2d  1057c01a7]} \..-
3450: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
3460: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
3470: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
3480: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
3490: 74 20 2d 72 65 73 75 6c 74 20 30 33 35 64 33 36  t -result 035d36
34a0: 32 61 34 32 36 35 30 33 31 34 33 34 63 33 61 61  2a4265031434c3aa
34b0: 31 35 33 61 62 34 61 65 66 36 62 30 30 64 35 31  153ab4aef6b00d51
34c0: 37 36 32 32 37 31 39 37 34 33 30 62 62 36 32 38  76227197430bb628
34d0: 38 34 61 30 38 35 63 35 66 65 0a 0a 74 63 6c 74  84a085c5fe..tclt
34e0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
34f0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 34 34 20 7b  HA512-256-2.44 {
3500: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
3510: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3520: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
3530: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
3540: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
3550: 65 20 68 65 78 20 33 38 31 39 30 36 38 30 38 33  e hex 3819068083
3560: 39 34 63 35 66 39 33 38 35 61 30 36 62 63 39 62  94c5f9385a06bc9b
3570: 36 65 35 32 38 30 39 35 65 36 66 36 61 63 30 37  6e528095e6f6ac07
3580: 66 30 66 63 37 35 35 65 31 33 35 39 34 37 36 38  f0fc755e13594768
3590: 62 37 36 38 36 37 36 36 65 38 39 37 64 36 36 32  b7686766e897d662
35a0: 35 37 36 31 37 38 63 32 61 31 37 63 5d 7d 20 5c  576178c2a17c]} \
35b0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
35c0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
35d0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
35e0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
35f0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 32 65  xact -result 22e
3600: 61 35 32 39 38 61 66 32 61 61 33 31 31 61 35 62  a5298af2aa311a5b
3610: 35 33 66 38 62 32 38 33 38 64 66 63 30 30 38 61  53f8b2838dfc008a
3620: 65 34 37 30 62 66 39 36 64 32 62 62 36 37 39 34  e470bf96d2bb6794
3630: 37 33 35 65 61 37 32 31 30 38 38 37 39 0a 0a 74  735ea72108879..t
3640: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
3650: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 34  h_SHA512-256-2.4
3660: 35 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  5 {SHA512_256Sho
3670: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
3680: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
3690: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
36a0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
36b0: 63 6f 64 65 20 68 65 78 20 61 30 34 61 35 64 35  code hex a04a5d5
36c0: 64 36 31 33 64 32 33 37 30 33 61 62 38 64 64 30  d613d23703ab8dd0
36d0: 30 39 33 64 33 35 34 38 32 39 63 35 34 34 39 38  093d354829c54498
36e0: 32 33 62 63 66 30 39 65 62 34 39 31 32 34 31 38  23bcf09eb4912418
36f0: 33 66 64 63 30 31 34 62 35 61 38 33 62 36 62 39  3fdc014b5a83b6b9
3700: 33 61 33 63 37 38 63 31 62 38 36 65 64 65 66 62  3a3c78c1b86edefb
3710: 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  9]} \..-body {tl
3720: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
3730: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
3740: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3750: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3760: 74 20 38 61 65 36 38 38 64 35 65 39 64 30 64 65  t 8ae688d5e9d0de
3770: 39 64 65 38 33 34 62 65 66 65 35 63 30 38 32 39  9de834befe5c0829
3780: 36 34 34 64 65 66 39 63 35 64 61 37 31 61 65 30  644def9c5da71ae0
3790: 64 61 34 66 37 39 64 31 38 39 30 34 38 37 65 32  da4f79d1890487e2
37a0: 35 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  5b..tcltest::tes
37b0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
37c0: 36 2d 32 2e 34 36 20 7b 53 48 41 35 31 32 5f 32  6-2.46 {SHA512_2
37d0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
37e0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
37f0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
3800: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
3810: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 37  ry decode hex 17
3820: 35 65 31 30 35 39 39 33 31 61 39 34 65 36 65 33  5e1059931a94e6e3
3830: 37 65 61 35 33 63 38 37 65 33 63 37 31 64 34 36  7ea53c87e3c71d46
3840: 62 65 32 66 34 31 30 62 32 31 33 31 66 38 66 32  be2f410b2131f8f2
3850: 38 35 66 38 31 30 61 33 63 36 37 39 66 39 64 66  85f810a3c679f9df
3860: 36 66 61 39 32 37 35 38 33 38 65 65 62 38 63 36  6fa9275838eeb8c6
3870: 63 64 64 34 35 37 33 37 5d 7d 20 5c 0a 09 2d 62  cdd45737]} \..-b
3880: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3890: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
38a0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
38b0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
38c0: 20 2d 72 65 73 75 6c 74 20 35 36 34 31 30 33 36   -result 5641036
38d0: 65 66 36 32 32 31 65 30 38 65 33 63 37 39 35 62  ef6221e08e3c795b
38e0: 32 61 64 35 36 36 61 61 63 39 61 36 39 66 38 35  2ad566aac9a69f85
38f0: 64 66 31 61 38 64 33 35 62 33 65 61 32 62 37 38  df1a8d35b3ea2b78
3900: 30 63 65 64 33 33 34 32 31 0a 0a 74 63 6c 74 65  0ced33421..tclte
3910: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3920: 41 35 31 32 2d 32 35 36 2d 32 2e 34 37 20 7b 53  A512-256-2.47 {S
3930: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
3940: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3950: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
3960: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
3970: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
3980: 20 68 65 78 20 33 63 65 33 38 61 32 65 32 38 37   hex 3ce38a2e287
3990: 66 64 61 31 33 33 38 34 63 62 33 30 36 32 33 37  fda13384cb306237
39a0: 65 38 63 37 34 33 35 37 38 34 38 38 31 38 64 33  e8c74357848818d3
39b0: 34 30 61 39 34 38 38 65 36 34 61 31 35 37 64 64  40a9488e64a157dd
39c0: 63 32 39 37 35 61 62 61 39 30 31 36 66 36 66 38  c2975aba9016f6f8
39d0: 32 34 31 38 65 62 62 65 38 37 38 66 30 63 33 38  2418ebbe878f0c38
39e0: 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  8]} \..-body {tl
39f0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
3a00: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
3a10: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
3a20: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
3a30: 74 20 62 63 32 30 34 31 30 32 39 62 31 36 38 39  t bc2041029b1689
3a40: 35 61 66 62 31 66 35 39 66 37 32 38 30 66 38 61  5afb1f59f7280f8a
3a50: 38 66 30 39 62 65 35 64 64 32 34 31 63 36 37 35  8f09be5dd241c675
3a60: 33 34 33 66 37 61 64 38 64 37 35 62 38 33 34 62  343f7ad8d75b834b
3a70: 37 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  75..tcltest::tes
3a80: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
3a90: 36 2d 32 2e 34 38 20 7b 53 48 41 35 31 32 5f 32  6-2.48 {SHA512_2
3aa0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
3ab0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
3ac0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
3ad0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
3ae0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 36  ry decode hex 96
3af0: 32 38 61 31 39 35 63 61 36 65 37 30 38 63 66 63  28a195ca6e708cfc
3b00: 63 66 39 66 34 33 34 64 62 65 36 63 35 31 30 35  cf9f434dbe6c5105
3b10: 33 32 37 66 30 66 32 38 65 65 31 63 66 64 34 61  327f0f28ee1cfd4a
3b20: 30 36 39 64 36 32 61 33 39 66 32 30 33 33 36 36  069d62a39f203366
3b30: 66 36 37 64 33 36 34 66 61 34 37 62 36 37 37 62  f67d364fa47b677b
3b40: 32 30 34 33 39 62 37 64 38 35 31 34 5d 7d 20 5c  20439b7d8514]} \
3b50: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
3b60: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
3b70: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
3b80: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
3b90: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 64 66 36  xact -result df6
3ba0: 64 38 39 31 64 32 63 32 30 34 33 35 34 62 38 32  d891d2c204354b82
3bb0: 37 66 35 33 30 63 35 34 36 35 32 39 34 30 63 62  7f530c54652940cb
3bc0: 34 38 33 66 35 38 64 36 62 34 33 33 39 37 33 37  483f58d6b4339737
3bd0: 35 32 63 31 66 64 31 64 32 66 38 34 64 0a 0a 74  52c1fd1d2f84d..t
3be0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
3bf0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 34  h_SHA512-256-2.4
3c00: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
3c10: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
3c20: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
3c30: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
3c40: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3c50: 63 6f 64 65 20 68 65 78 20 64 38 35 62 64 62 32  code hex d85bdb2
3c60: 64 66 35 64 37 32 66 32 31 39 30 65 34 62 33 64  df5d72f2190e4b3d
3c70: 34 66 61 35 62 36 64 38 34 38 61 30 38 38 62 66  4fa5b6d848a088bf
3c80: 63 66 30 61 66 35 32 62 38 63 36 34 63 35 38 34  cf0af52b8c64c584
3c90: 61 36 38 39 66 66 33 66 63 30 36 65 38 66 31 62  a689ff3fc06e8f1b
3ca0: 37 66 37 66 30 38 39 32 33 35 30 34 38 39 32 31  7f7f089235048921
3cb0: 30 62 36 64 35 66 33 31 35 5d 7d 20 5c 0a 09 2d  0b6d5f315]} \..-
3cc0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
3cd0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
3ce0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
3cf0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
3d00: 74 20 2d 72 65 73 75 6c 74 20 65 62 32 36 38 31  t -result eb2681
3d10: 65 64 66 39 32 61 31 66 35 35 35 39 64 31 30 31  edf92a1f5559d101
3d20: 37 37 31 31 30 61 64 32 31 66 66 64 33 66 63 31  77110ad21ffd3fc1
3d30: 32 39 36 65 33 63 63 38 33 65 63 65 33 32 65 34  296e3cc83ece32e4
3d40: 32 66 35 36 65 66 37 64 65 64 0a 0a 74 63 6c 74  2f56ef7ded..tclt
3d50: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
3d60: 48 41 35 31 32 2d 32 35 36 2d 32 2e 35 30 20 7b  HA512-256-2.50 {
3d70: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
3d80: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
3d90: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
3da0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
3db0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
3dc0: 65 20 68 65 78 20 64 30 37 38 61 35 64 63 36 65  e hex d078a5dc6e
3dd0: 63 35 38 39 31 31 37 31 31 39 62 61 33 63 66 62  c589117119ba3cfb
3de0: 39 62 31 31 64 65 35 37 66 63 63 62 35 36 33 62  9b11de57fccb563b
3df0: 61 64 65 38 62 33 34 61 34 66 64 32 63 37 64 64  ade8b34a4fd2c7dd
3e00: 36 62 33 66 37 63 30 33 36 33 35 38 36 63 63 37  6b3f7c0363586cc7
3e10: 61 38 31 62 61 62 62 31 32 65 66 65 65 37 38 66  a81babb12efee78f
3e20: 31 64 64 35 62 34 37 34 5d 7d 20 5c 0a 09 2d 62  1dd5b474]} \..-b
3e30: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
3e40: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
3e50: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
3e60: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
3e70: 20 2d 72 65 73 75 6c 74 20 30 66 63 37 30 34 36   -result 0fc7046
3e80: 66 30 32 64 30 37 30 36 34 32 64 38 32 31 63 37  f02d070642d821c7
3e90: 34 36 37 38 35 66 32 30 39 62 62 33 33 32 36 39  46785f209bb33269
3ea0: 30 62 62 33 34 33 33 35 65 36 63 36 34 32 38 30  0bb34335e6c64280
3eb0: 35 31 37 39 33 65 31 61 39 0a 0a 74 63 6c 74 65  51793e1a9..tclte
3ec0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3ed0: 41 35 31 32 2d 32 35 36 2d 32 2e 35 31 20 7b 53  A512-256-2.51 {S
3ee0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
3ef0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3f00: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
3f10: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
3f20: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
3f30: 20 68 65 78 20 62 37 61 65 36 30 33 37 64 39 62   hex b7ae6037d9b
3f40: 34 35 32 39 39 34 66 62 37 35 35 61 61 30 63 66  452994fb755aa0cf
3f50: 35 37 66 62 63 36 38 37 32 39 38 30 36 30 61 34  57fbc687298060a4
3f60: 37 31 66 39 62 30 63 33 64 38 65 39 64 35 61 39  71f9b0c3d8e9d5a9
3f70: 61 65 30 61 64 35 62 33 62 34 66 61 37 64 34 65  ae0ad5b3b4fa7d4e
3f80: 33 36 32 38 63 30 39 64 33 32 37 63 30 32 35 39  3628c09d327c0259
3f90: 62 62 64 37 36 64 62 32 66 5d 7d 20 5c 0a 09 2d  bbd76db2f]} \..-
3fa0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
3fb0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
3fc0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
3fd0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
3fe0: 74 20 2d 72 65 73 75 6c 74 20 63 64 31 30 34 30  t -result cd1040
3ff0: 61 30 64 39 34 33 38 32 61 36 34 34 36 61 36 39  a0d94382a6446a69
4000: 31 63 30 61 30 37 63 34 66 36 34 33 65 64 63 31  1c0a07c4f643edc1
4010: 31 65 33 31 30 33 65 33 34 33 36 30 38 36 30 33  1e3103e343608603
4020: 62 35 62 64 31 30 31 62 65 33 0a 0a 74 63 6c 74  b5bd101be3..tclt
4030: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
4040: 48 41 35 31 32 2d 32 35 36 2d 32 2e 35 32 20 7b  HA512-256-2.52 {
4050: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
4060: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4070: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
4080: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4090: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
40a0: 65 20 68 65 78 20 36 32 66 30 31 36 64 66 63 33  e hex 62f016dfc3
40b0: 38 61 34 63 37 30 62 37 66 39 35 64 36 36 39 65  8a4c70b7f95d669e
40c0: 32 64 34 37 35 37 30 34 39 30 39 65 31 33 63 39  2d475704909e13c9
40d0: 39 37 64 33 64 61 37 65 39 36 62 36 63 64 31 31  97d3da7e96b6cd11
40e0: 64 38 33 61 61 33 61 64 65 66 37 38 39 64 64 63  d83aa3adef789ddc
40f0: 34 39 66 37 62 63 65 66 30 34 32 62 33 31 39 66  49f7bcef042b319f
4100: 30 33 33 62 31 35 66 34 34 32 30 38 5d 7d 20 5c  033b15f44208]} \
4110: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
4120: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
4130: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
4140: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4150: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 61 65  xact -result 8ae
4160: 65 35 30 35 37 32 62 36 62 31 35 35 63 66 34 30  e50572b6b155cf40
4170: 64 36 65 64 36 63 37 33 38 62 64 62 63 61 66 66  d6ed6c738bdbcaff
4180: 32 61 64 65 30 39 62 64 34 64 38 62 63 39 63 32  2ade09bd4d8bc9c2
4190: 66 39 61 36 37 33 33 37 33 63 34 34 66 0a 0a 74  f9a673373c44f..t
41a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
41b0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 35  h_SHA512-256-2.5
41c0: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
41d0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
41e0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
41f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
4200: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4210: 63 6f 64 65 20 68 65 78 20 62 65 38 39 30 38 39  code hex be89089
4220: 38 62 30 33 66 37 63 62 35 32 61 39 64 34 33 30  8b03f7cb52a9d430
4230: 30 61 63 32 65 38 61 38 30 37 31 35 31 30 32 62  0ac2e8a80715102b
4240: 31 35 33 38 66 65 33 37 63 65 39 32 63 33 31 36  1538fe37ce92c316
4250: 35 66 32 66 63 33 65 30 37 66 36 37 38 37 30 62  5f2fc3e07f67870b
4260: 64 32 61 31 31 34 34 61 33 39 35 63 35 39 33 62  d2a1144a395c593b
4270: 64 37 31 65 66 31 34 37 35 64 34 36 33 32 33 34  d71ef1475d463234
4280: 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  b]} \..-body {tl
4290: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
42a0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
42b0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
42c0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
42d0: 74 20 61 64 31 35 36 66 32 66 34 31 36 63 63 65  t ad156f2f416cce
42e0: 65 62 39 61 36 61 32 35 32 30 65 37 39 62 62 61  eb9a6a2520e79bba
42f0: 35 32 39 35 62 35 38 34 63 35 39 36 30 36 66 62  5295b584c59606fb
4300: 64 66 64 61 36 65 64 31 33 65 64 39 64 39 39 61  dfda6ed13ed9d99a
4310: 66 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  f0..tcltest::tes
4320: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
4330: 36 2d 32 2e 35 34 20 7b 53 48 41 35 31 32 5f 32  6-2.54 {SHA512_2
4340: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
4350: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
4360: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
4370: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
4380: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 31  ry decode hex c1
4390: 32 31 34 39 65 65 64 34 31 31 33 65 66 61 33 31  2149eed4113efa31
43a0: 62 62 33 63 34 62 39 61 61 39 33 33 36 33 39 61  bb3c4b9aa933639a
43b0: 30 65 31 63 61 37 31 36 30 36 32 65 62 65 32 35  0e1ca716062ebe25
43c0: 31 65 35 35 33 61 32 32 31 37 65 30 37 61 66 66  1e553a2217e07aff
43d0: 65 37 37 39 63 65 64 62 30 31 35 62 64 64 64 37  e779cedb015bddd7
43e0: 64 36 62 66 34 34 32 36 39 63 39 37 38 30 36 34  d6bf44269c978064
43f0: 34 65 37 66 30 65 32 39 5d 7d 20 5c 0a 09 2d 62  4e7f0e29]} \..-b
4400: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4410: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
4420: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
4430: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
4440: 20 2d 72 65 73 75 6c 74 20 62 34 39 34 31 35 35   -result b494155
4450: 36 62 33 37 63 32 32 63 39 64 38 34 31 62 64 30  6b37c22c9d841bd0
4460: 62 31 63 34 65 35 64 38 37 37 38 62 31 63 35 39  b1c4e5d8778b1c59
4470: 38 64 38 62 31 65 63 35 35 63 34 63 66 66 31 31  8d8b1ec55c4cff11
4480: 63 63 37 34 30 32 64 30 35 0a 0a 74 63 6c 74 65  cc7402d05..tclte
4490: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
44a0: 41 35 31 32 2d 32 35 36 2d 32 2e 35 35 20 7b 53  A512-256-2.55 {S
44b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
44c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
44d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
44e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
44f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4500: 20 68 65 78 20 63 35 37 39 62 66 66 61 39 33 39   hex c579bffa939
4510: 36 31 37 32 61 61 31 64 36 35 34 62 34 37 39 33  6172aa1d654b4793
4520: 30 65 36 35 66 39 35 63 30 63 37 34 62 36 61 62  0e65f95c0c74b6ab
4530: 64 61 33 38 32 61 35 61 62 33 62 64 30 62 34 64  da382a5ab3bd0b4d
4540: 32 30 62 64 35 38 38 65 65 32 61 35 38 39 39 32  20bd588ee2a58992
4550: 38 37 33 64 65 32 62 34 35 65 32 37 62 64 30 31  873de2b45e27bd01
4560: 65 34 30 65 39 32 66 35 30 30 33 64 37 30 33 33  e40e92f5003d7033
4570: 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  4]} \..-body {tl
4580: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
4590: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
45a0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
45b0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
45c0: 74 20 36 33 66 38 39 38 62 34 66 65 37 61 37 64  t 63f898b4fe7a7d
45d0: 38 63 37 61 63 37 37 36 65 64 37 38 31 31 61 39  8c7ac776ed7811a9
45e0: 32 32 30 35 32 37 39 31 34 30 36 34 32 39 33 31  2205279140642931
45f0: 38 66 64 35 33 38 36 61 38 66 37 38 36 34 63 66  8fd5386a8f7864cf
4600: 63 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  c6..tcltest::tes
4610: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
4620: 36 2d 32 2e 35 36 20 7b 53 48 41 35 31 32 5f 32  6-2.56 {SHA512_2
4630: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
4640: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
4650: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
4660: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
4670: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 37 31  ry decode hex 71
4680: 62 35 38 66 34 30 65 32 38 62 64 39 34 32 37 66  b58f40e28bd9427f
4690: 30 66 37 38 32 31 65 63 65 39 63 36 65 30 66 33  0f7821ece9c6e0f3
46a0: 34 62 37 66 35 63 63 39 32 34 32 32 32 36 39 32  4b7f5cc924222692
46b0: 39 37 39 61 38 65 32 38 61 62 31 65 30 30 31 38  979a8e28ab1e0018
46c0: 34 34 35 36 39 34 65 65 35 32 62 66 65 30 62 33  445694ee52bfe0b3
46d0: 34 38 35 30 31 31 62 33 64 30 35 65 33 61 38 34  485011b3d05e3a84
46e0: 62 63 62 64 65 62 34 33 34 30 32 38 5d 7d 20 5c  bcbdeb434028]} \
46f0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
4700: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
4710: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
4720: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4730: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 36 31  xact -result 761
4740: 34 35 38 32 66 34 32 64 35 61 39 30 37 64 34 63  4582f42d5a907d4c
4750: 65 62 61 30 30 32 35 37 39 38 65 65 36 31 64 33  eba0025798ee61d3
4760: 38 30 37 32 34 38 35 66 35 34 62 61 33 64 37 34  8072485f54ba3d74
4770: 32 66 32 39 35 30 33 66 31 39 31 31 66 0a 0a 74  2f29503f1911f..t
4780: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
4790: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 35  h_SHA512-256-2.5
47a0: 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  7 {SHA512_256Sho
47b0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
47c0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
47d0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
47e0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
47f0: 63 6f 64 65 20 68 65 78 20 35 39 32 33 33 35 36  code hex 5923356
4800: 33 39 63 64 34 66 32 66 39 61 65 36 36 32 34 65  39cd4f2f9ae6624e
4810: 38 39 35 64 36 61 37 32 39 62 35 30 37 39 65 65  895d6a729b5079ee
4820: 31 66 34 35 61 62 61 39 31 31 62 37 66 62 39 38  1f45aba911b7fb98
4830: 63 37 66 38 62 32 63 61 66 65 32 34 61 37 65 34  c7f8b2cafe24a7e4
4840: 63 39 34 64 36 33 32 36 37 64 64 36 38 36 63 32  c94d63267dd686c2
4850: 35 61 30 36 66 62 33 38 31 33 38 64 66 66 35 34  5a06fb38138dff54
4860: 31 61 36 63 63 63 62 32 38 5d 7d 20 5c 0a 09 2d  1a6cccb28]} \..-
4870: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
4880: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
4890: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
48a0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
48b0: 74 20 2d 72 65 73 75 6c 74 20 36 38 64 36 34 63  t -result 68d64c
48c0: 62 34 33 33 31 62 37 31 65 37 32 62 34 32 63 38  b4331b71e72b42c8
48d0: 38 62 38 66 36 35 31 33 66 34 62 63 31 37 64 39  8b8f6513f4bc17d9
48e0: 39 35 32 35 34 66 30 34 64 63 32 62 37 63 61 63  95254f04dc2b7cac
48f0: 30 32 32 61 64 35 65 64 66 61 0a 0a 74 63 6c 74  022ad5edfa..tclt
4900: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
4910: 48 41 35 31 32 2d 32 35 36 2d 32 2e 35 38 20 7b  HA512-256-2.58 {
4920: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
4930: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4940: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
4950: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4960: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
4970: 65 20 68 65 78 20 65 32 36 65 31 64 63 38 39 33  e hex e26e1dc893
4980: 66 64 63 65 64 38 33 33 65 61 65 31 35 61 63 30  fdced833eae15ac0
4990: 34 65 64 34 36 32 34 61 30 37 65 33 63 38 39 64  4ed4624a07e3c89d
49a0: 63 33 64 31 64 38 32 30 35 62 65 34 34 62 66 64  c3d1d8205be44bfd
49b0: 36 33 33 32 37 37 38 32 66 66 31 62 63 32 63 38  63327782ff1bc2c8
49c0: 66 37 31 37 35 63 39 32 30 65 62 32 32 65 37 37  f7175c920eb22e77
49d0: 39 30 64 34 30 64 34 34 32 62 34 36 33 34 39 63  90d40d442b46349c
49e0: 66 66 37 32 66 31 65 31 5d 7d 20 5c 0a 09 2d 62  ff72f1e1]} \..-b
49f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
4a00: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
4a10: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
4a20: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
4a30: 20 2d 72 65 73 75 6c 74 20 65 31 34 37 30 62 32   -result e1470b2
4a40: 66 34 34 65 33 39 35 35 64 32 62 35 34 39 36 32  f44e3955d2b54962
4a50: 39 32 36 37 39 64 39 30 38 36 62 37 63 30 61 61  92679d9086b7c0aa
4a60: 39 34 66 30 64 35 31 36 65 35 33 61 31 34 32 65  94f0d516e53a142e
4a70: 34 38 36 63 36 64 65 64 38 0a 0a 74 63 6c 74 65  486c6ded8..tclte
4a80: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
4a90: 41 35 31 32 2d 32 35 36 2d 32 2e 35 39 20 7b 53  A512-256-2.59 {S
4aa0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
4ab0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
4ac0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
4ad0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
4ae0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
4af0: 20 68 65 78 20 37 64 65 66 34 64 34 33 39 61 39   hex 7def4d439a9
4b00: 62 37 61 36 63 35 37 30 30 62 62 39 31 36 38 38  b7a6c5700bb91688
4b10: 62 31 63 61 36 63 34 65 63 64 66 66 32 36 33 63  b1ca6c4ecdff263c
4b20: 36 36 34 36 34 34 36 61 62 34 64 32 61 62 39 34  6646446ab4d2ab94
4b30: 37 64 66 38 30 64 35 64 62 61 61 63 36 34 38 65  7df80d5dbaac648e
4b40: 65 36 63 64 36 35 39 33 66 33 33 39 34 32 36 66  e6cd6593f339426f
4b50: 64 63 32 63 37 33 30 33 61 33 36 32 37 31 61 39  dc2c7303a36271a9
4b60: 65 65 39 62 36 61 65 35 38 5d 7d 20 5c 0a 09 2d  ee9b6ae58]} \..-
4b70: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
4b80: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
4b90: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
4ba0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
4bb0: 74 20 2d 72 65 73 75 6c 74 20 61 35 39 35 39 31  t -result a59591
4bc0: 65 32 38 65 62 39 32 64 66 62 66 32 39 30 61 30  e28eb92dfbf290a0
4bd0: 36 37 37 32 62 62 31 34 35 36 35 35 39 37 39 63  6772bb145655979c
4be0: 64 30 66 61 30 64 66 31 35 62 66 38 32 61 61 32  d0fa0df15bf82aa2
4bf0: 37 36 36 35 61 62 61 63 30 33 0a 0a 74 63 6c 74  7665abac03..tclt
4c00: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
4c10: 48 41 35 31 32 2d 32 35 36 2d 32 2e 36 30 20 7b  HA512-256-2.60 {
4c20: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
4c30: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
4c40: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
4c50: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
4c60: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
4c70: 65 20 68 65 78 20 32 38 33 39 39 38 62 35 65 32  e hex 283998b5e2
4c80: 33 39 34 66 62 31 63 65 31 63 65 65 33 35 35 62  394fb1ce1cee355b
4c90: 36 37 37 65 37 39 66 38 39 61 30 39 61 61 32 38  677e79f89a09aa28
4ca0: 66 61 35 32 64 35 64 39 39 33 63 33 30 37 66 32  fa52d5d993c307f2
4cb0: 37 65 61 37 62 33 32 62 36 30 39 39 35 33 32 31  7ea7b32b60995321
4cc0: 33 33 33 63 35 32 61 61 34 39 32 64 32 61 36 35  333c52aa492d2a65
4cd0: 38 64 33 36 63 61 39 36 30 64 63 35 33 61 33 31  8d36ca960dc53a31
4ce0: 62 35 39 63 38 31 33 35 35 64 63 39 5d 7d 20 5c  b59c81355dc9]} \
4cf0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
4d00: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
4d10: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
4d20: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
4d30: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 32 66  xact -result 82f
4d40: 32 37 66 32 61 62 62 65 35 66 63 32 31 38 34 62  27f2abbe5fc2184b
4d50: 34 32 38 65 62 39 32 35 35 31 65 38 39 38 61 35  428eb92551e898a5
4d60: 31 37 37 65 39 39 37 65 33 33 37 65 65 62 64 63  177e997e337eebdc
4d70: 34 39 33 32 30 30 39 35 63 36 30 35 65 0a 0a 74  49320095c605e..t
4d80: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
4d90: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 36  h_SHA512-256-2.6
4da0: 31 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  1 {SHA512_256Sho
4db0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
4dc0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
4dd0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
4de0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4df0: 63 6f 64 65 20 68 65 78 20 30 39 66 33 35 32 64  code hex 09f352d
4e00: 31 61 65 38 30 37 62 32 35 38 61 39 64 34 39 38  1ae807b258a9d498
4e10: 37 33 61 34 63 34 61 61 34 63 36 33 62 66 62 35  73a4c4aa4c63bfb5
4e20: 32 62 66 39 31 38 30 37 32 38 61 65 37 39 38 31  2bf9180728ae7981
4e30: 62 66 62 39 33 64 31 66 35 32 36 32 64 66 38 65  bfb93d1f5262df8e
4e40: 32 37 31 34 63 64 34 65 34 65 65 39 31 31 34 33  2714cd4e4ee91143
4e50: 62 65 38 65 37 38 35 63 64 62 63 30 38 38 38 63  be8e785cdbc0888c
4e60: 62 65 61 34 34 63 34 39 32 36 63 37 65 31 38 63  bea44c4926c7e18c
4e70: 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  f]} \..-body {tl
4e80: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
4e90: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
4ea0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
4eb0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
4ec0: 74 20 63 33 30 65 66 63 63 63 61 63 64 61 32 36  t c30efcccacda26
4ed0: 64 65 64 31 36 65 39 32 62 30 66 32 66 32 65 36  ded16e92b0f2f2e6
4ee0: 36 37 64 63 39 38 66 32 38 39 61 37 35 34 63 61  67dc98f289a754ca
4ef0: 63 36 32 38 64 66 63 62 34 32 31 65 63 63 37 32  c628dfcb421ecc72
4f00: 34 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  40..tcltest::tes
4f10: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
4f20: 36 2d 32 2e 36 32 20 7b 53 48 41 35 31 32 5f 32  6-2.62 {SHA512_2
4f30: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
4f40: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
4f50: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
4f60: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
4f70: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 36  ry decode hex e6
4f80: 63 32 62 32 34 37 38 39 33 34 38 64 36 34 36 61  c2b24789348d646a
4f90: 32 36 33 66 66 63 64 62 36 66 63 64 35 31 31 65  263ffcdb6fcd511e
4fa0: 31 61 61 63 35 32 37 62 32 32 37 61 37 61 39 30  1aac527b227a7a90
4fb0: 37 61 65 63 66 36 65 39 35 30 30 38 30 36 64 30  7aecf6e9500806d0
4fc0: 39 33 39 34 61 35 36 36 62 33 63 65 36 63 66 33  9394a566b3ce6cf3
4fd0: 61 38 35 64 62 34 37 62 33 35 38 38 66 62 39 32  a85db47b3588fb92
4fe0: 36 65 61 36 38 39 37 30 37 38 64 35 35 32 34 38  6ea6897078d55248
4ff0: 39 30 65 66 31 66 64 36 5d 7d 20 5c 0a 09 2d 62  90ef1fd6]} \..-b
5000: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5010: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
5020: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
5030: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
5040: 20 2d 72 65 73 75 6c 74 20 62 66 39 61 65 32 39   -result bf9ae29
5050: 34 31 64 32 62 62 39 34 38 64 33 33 61 65 32 61  41d2bb948d33ae2a
5060: 38 32 32 65 38 37 33 38 66 37 34 34 62 35 61 39  822e8738f744b5a9
5070: 64 36 39 32 39 39 37 37 31 39 62 64 31 61 31 31  d692997719bd1a11
5080: 38 37 34 33 61 30 37 33 31 0a 0a 74 63 6c 74 65  8743a0731..tclte
5090: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
50a0: 41 35 31 32 2d 32 35 36 2d 32 2e 36 33 20 7b 53  A512-256-2.63 {S
50b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
50c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
50d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
50e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
50f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5100: 20 68 65 78 20 62 30 39 39 65 31 62 35 32 33 34   hex b099e1b5234
5110: 38 66 39 33 61 36 63 32 32 38 39 36 63 37 32 38  8f93a6c22896c728
5120: 35 34 61 62 30 34 66 32 64 64 33 64 31 66 39 34  54ab04f2dd3d1f94
5130: 63 35 66 61 64 32 31 64 64 64 31 32 65 35 62 33  c5fad21ddd12e5b3
5140: 35 66 35 37 63 38 30 64 62 30 39 37 31 35 30 39  5f57c80db0971509
5150: 39 37 63 34 65 35 63 64 33 66 35 61 63 32 34 31  97c4e5cd3f5ac241
5160: 38 39 37 62 35 37 63 66 37 38 34 39 33 33 34 31  897b57cf78493341
5170: 34 39 66 32 39 66 37 37 62 39 37 30 31 37 34 33  49f29f77b9701743
5180: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  3]} \..-body {tl
5190: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
51a0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
51b0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
51c0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
51d0: 74 20 30 31 64 35 38 32 63 38 32 63 65 36 65 36  t 01d582c82ce6e6
51e0: 61 38 63 30 63 66 61 38 31 37 39 32 31 31 30 62  a8c0cfa81792110b
51f0: 63 39 35 30 66 61 35 35 65 33 31 63 31 30 31 63  c950fa55e31c101c
5200: 63 36 66 32 64 66 36 62 32 61 65 62 63 31 38 39  c6f2df6b2aebc189
5210: 32 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  25..tcltest::tes
5220: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
5230: 36 2d 32 2e 36 34 20 7b 53 48 41 35 31 32 5f 32  6-2.64 {SHA512_2
5240: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
5250: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
5260: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
5270: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
5280: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 61 63  ry decode hex ac
5290: 34 30 36 35 63 38 64 63 64 35 38 30 33 31 62 37  4065c8dcd58031b7
52a0: 34 37 35 63 33 64 65 62 65 30 33 32 31 36 38 66  475c3debe032168f
52b0: 61 39 66 37 61 65 35 61 64 30 32 64 34 38 31 33  a9f7ae5ad02d4813
52c0: 34 64 66 65 33 62 34 38 63 35 38 62 66 32 34 33  4dfe3b48c58bf243
52d0: 61 66 38 32 33 38 33 61 62 35 65 65 62 32 63 36  af82383ab5eeb2c6
52e0: 35 64 35 34 61 64 39 36 65 38 66 62 31 62 36 35  5d54ad96e8fb1b65
52f0: 37 62 38 62 64 37 32 39 37 63 64 61 33 31 38 65  7b8bd7297cda318e
5300: 33 66 30 32 61 36 61 32 65 32 62 37 5d 7d 20 5c  3f02a6a2e2b7]} \
5310: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
5320: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
5330: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
5340: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
5350: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 66 62  xact -result 9fb
5360: 39 64 37 65 36 62 38 31 65 38 36 65 34 34 31 36  9d7e6b81e86e4416
5370: 39 35 63 61 35 63 37 36 32 63 66 33 62 37 37 33  95ca5c762cf3b773
5380: 35 61 37 35 64 62 63 34 62 32 62 31 65 33 65 35  5a75dbc4b2b1e3e5
5390: 36 36 37 38 34 38 66 36 63 64 64 37 33 0a 0a 74  667848f6cdd73..t
53a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
53b0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 36  h_SHA512-256-2.6
53c0: 35 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  5 {SHA512_256Sho
53d0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
53e0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
53f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
5400: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
5410: 63 6f 64 65 20 68 65 78 20 64 32 62 63 30 63 65  code hex d2bc0ce
5420: 37 32 31 37 66 66 32 65 39 34 34 65 31 61 65 34  7217ff2e944e1ae4
5430: 37 61 64 35 38 37 33 62 66 33 39 31 66 31 62 30  7ad5873bf391f1b0
5440: 63 63 30 37 66 36 31 35 31 65 62 34 63 35 30 62  cc07f6151eb4c50b
5450: 62 34 35 62 32 66 62 36 32 39 35 33 32 36 66 37  b45b2fb6295326f7
5460: 31 36 63 65 37 65 36 38 37 66 61 30 65 33 64 35  16ce7e687fa0e3d5
5470: 64 32 35 63 35 61 38 61 38 64 64 31 33 61 35 34  d25c5a8a8dd13a54
5480: 31 61 39 32 39 32 65 38 33 38 36 65 37 33 33 66  1a9292e8386e733f
5490: 34 66 32 61 32 34 37 32 38 5d 7d 20 5c 0a 09 2d  4f2a24728]} \..-
54a0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
54b0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
54c0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
54d0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
54e0: 74 20 2d 72 65 73 75 6c 74 20 39 63 31 66 65 61  t -result 9c1fea
54f0: 35 37 38 36 37 30 32 64 30 32 37 62 62 35 62 36  5786702d027bb5b6
5500: 36 62 33 66 61 39 32 64 65 33 34 36 32 31 61 38  6b3fa92de34621a8
5510: 36 32 36 39 38 32 65 63 32 31 63 30 65 63 66 38  626982ec21c0ecf8
5520: 64 61 61 37 39 64 65 61 30 35 0a 0a 74 63 6c 74  daa79dea05..tclt
5530: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
5540: 48 41 35 31 32 2d 32 35 36 2d 32 2e 36 36 20 7b  HA512-256-2.66 {
5550: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
5560: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5570: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
5580: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
5590: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
55a0: 65 20 68 65 78 20 61 38 32 61 61 30 37 39 61 64  e hex a82aa079ad
55b0: 38 37 38 63 66 31 64 36 39 39 65 39 36 31 32 66  878cf1d699e9612f
55c0: 64 33 61 65 66 36 30 33 64 66 33 30 63 33 65 38  d3aef603df30c3e8
55d0: 39 30 34 33 35 38 66 62 31 38 61 32 39 37 36 64  904358fb18a2976d
55e0: 37 62 39 31 63 33 33 66 34 33 63 30 64 61 34 39  7b91c33f43c0da49
55f0: 37 36 37 33 32 35 38 31 63 35 65 30 30 64 37 61  76732581c5e00d7a
5600: 30 36 64 38 33 30 32 62 65 34 61 61 62 34 66 32  06d8302be4aab4f2
5610: 64 35 34 35 64 62 64 39 34 64 39 63 64 38 31 37  d545dbd94d9cd817
5620: 33 32 34 66 65 32 64 61 5d 7d 20 5c 0a 09 2d 62  324fe2da]} \..-b
5630: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5640: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
5650: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
5660: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
5670: 20 2d 72 65 73 75 6c 74 20 34 36 65 62 34 39 62   -result 46eb49b
5680: 66 63 35 62 32 65 65 33 63 39 37 62 39 31 31 30  fc5b2ee3c97b9110
5690: 32 35 32 35 62 36 36 36 36 64 35 36 62 66 66 61  2525b6666d56bffa
56a0: 61 62 34 62 61 61 30 33 30 35 39 62 38 39 66 32  ab4baa03059b89f2
56b0: 34 65 63 34 62 35 36 32 32 0a 0a 74 63 6c 74 65  4ec4b5622..tclte
56c0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
56d0: 41 35 31 32 2d 32 35 36 2d 32 2e 36 37 20 7b 53  A512-256-2.67 {S
56e0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
56f0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5700: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
5710: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5720: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5730: 20 68 65 78 20 37 32 66 65 65 32 39 34 39 34 63   hex 72fee29494c
5740: 32 35 62 31 31 39 62 36 63 35 61 36 30 30 63 34  25b119b6c5a600c4
5750: 36 38 65 63 32 32 65 34 32 61 66 35 62 61 39 33  68ec22e42af5ba93
5760: 65 62 37 39 34 35 32 38 36 34 65 62 65 34 36 39  eb79452864ebe469
5770: 61 38 36 66 38 33 36 33 32 63 38 35 32 30 31 38  a86f83632c852018
5780: 30 30 66 33 32 38 38 62 35 35 33 66 37 62 65 63  00f3288b553f7bec
5790: 36 34 39 64 64 66 65 37 30 34 39 32 30 61 32 37  649ddfe704920a27
57a0: 61 38 66 36 35 64 31 33 61 61 37 35 35 39 38 35  a8f65d13aa755985
57b0: 61 32 33 38 62 33 63 64 63 5d 7d 20 5c 0a 09 2d  a238b3cdc]} \..-
57c0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
57d0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
57e0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
57f0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
5800: 74 20 2d 72 65 73 75 6c 74 20 66 37 65 65 64 64  t -result f7eedd
5810: 66 30 38 64 33 63 31 61 62 35 32 34 31 36 37 63  f08d3c1ab524167c
5820: 39 30 38 62 63 64 38 36 31 33 64 35 38 31 63 62  908bcd8613d581cb
5830: 30 64 30 33 35 32 30 64 37 62 36 62 36 34 64 31  0d03520d7b6b64d1
5840: 38 31 62 66 31 33 62 66 31 65 0a 0a 74 63 6c 74  81bf13bf1e..tclt
5850: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
5860: 48 41 35 31 32 2d 32 35 36 2d 32 2e 36 38 20 7b  HA512-256-2.68 {
5870: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
5880: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
5890: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
58a0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
58b0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
58c0: 65 20 68 65 78 20 66 65 62 37 61 30 39 34 64 66  e hex feb7a094df
58d0: 66 62 35 63 30 63 62 36 66 37 32 33 63 31 62 35  fb5c0cb6f723c1b5
58e0: 65 37 64 37 36 34 64 34 61 62 35 66 38 39 36 62  e7d764d4ab5f896b
58f0: 31 33 65 34 30 39 30 30 35 39 34 30 61 34 35 64  13e409005940a45d
5900: 65 66 62 33 65 62 65 36 37 62 64 38 35 65 32 61  efb3ebe67bd85e2a
5910: 32 31 64 38 64 31 62 38 30 30 64 65 31 34 33 34  21d8d1b800de1434
5920: 66 66 63 62 64 32 61 61 63 39 32 61 62 61 32 31  ffcbd2aac92aba21
5930: 31 36 36 36 64 64 37 34 32 64 33 61 35 37 35 64  1666dd742d3a575d
5940: 61 36 36 61 33 32 64 33 37 35 62 31 5d 7d 20 5c  a66a32d375b1]} \
5950: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
5960: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
5970: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
5980: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
5990: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 34 30 63  xact -result 40c
59a0: 66 64 38 38 64 36 31 33 62 63 37 64 31 30 35 65  fd88d613bc7d105e
59b0: 31 37 38 30 38 31 64 32 65 33 63 35 61 30 39 63  178081d2e3c5a09c
59c0: 64 36 32 39 34 36 35 38 32 31 39 30 39 64 62 63  d629465821909dbc
59d0: 31 65 39 62 38 63 64 30 34 61 32 36 36 0a 0a 74  1e9b8cd04a266..t
59e0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
59f0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 36  h_SHA512-256-2.6
5a00: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
5a10: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
5a20: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
5a30: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
5a40: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
5a50: 63 6f 64 65 20 68 65 78 20 38 63 65 33 31 63 61  code hex 8ce31ca
5a60: 32 61 62 32 65 37 63 66 66 35 66 66 35 62 63 62  2ab2e7cff5ff5bcb
5a70: 63 65 65 33 36 37 34 36 33 63 64 35 65 65 65 36  cee367463cd5eee6
5a80: 35 62 38 30 62 64 62 30 31 30 31 31 36 34 34 36  5b80bdb010116446
5a90: 37 32 39 64 31 63 33 31 65 61 64 38 64 66 32 61  729d1c31ead8df2a
5aa0: 33 32 32 36 30 32 34 35 33 38 34 32 35 35 33 38  3226024538425538
5ab0: 61 63 63 63 33 35 61 30 64 63 30 62 33 36 34 61  accc35a0dc0b364a
5ac0: 35 30 66 62 63 61 35 30 64 39 64 30 31 34 38 30  50fbca50d9d01480
5ad0: 65 31 63 33 65 61 38 65 39 64 63 34 66 63 32 66  e1c3ea8e9dc4fc2f
5ae0: 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  5]} \..-body {tl
5af0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
5b00: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
5b10: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
5b20: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
5b30: 74 20 64 36 31 66 63 66 32 63 33 31 37 38 63 62  t d61fcf2c3178cb
5b40: 66 33 34 30 34 32 61 30 66 63 30 32 38 36 39 66  f34042a0fc02869f
5b50: 34 36 37 30 65 61 34 30 30 65 61 33 38 34 63 63  4670ea400ea384cc
5b60: 66 30 34 64 38 34 36 30 38 30 36 66 65 31 31 64  f04d8460806fe11d
5b70: 63 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ce..tcltest::tes
5b80: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
5b90: 36 2d 32 2e 37 30 20 7b 53 48 41 35 31 32 5f 32  6-2.70 {SHA512_2
5ba0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
5bb0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
5bc0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
5bd0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
5be0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 39  ry decode hex 49
5bf0: 36 33 61 33 36 61 66 35 36 32 65 30 34 35 65 63  63a36af562e045ec
5c00: 32 35 65 33 39 61 30 64 39 63 32 61 30 33 35 64  25e39a0d9c2a035d
5c10: 34 66 36 64 36 32 30 34 34 66 63 39 37 35 39 38  4f6d62044fc97598
5c20: 36 64 31 65 61 61 39 65 61 62 62 36 33 34 34 65  6d1eaa9eabb6344e
5c30: 66 30 32 37 35 65 39 37 30 30 37 61 31 66 36 33  f0275e97007a1f63
5c40: 61 61 38 63 65 66 31 63 34 34 62 35 64 61 36 66  aa8cef1c44b5da6f
5c50: 35 34 61 38 64 33 35 30 39 30 39 61 34 61 33 65  54a8d350909a4a3e
5c60: 30 39 61 37 30 31 63 38 61 33 37 31 31 62 35 30  09a701c8a3711b50
5c70: 63 38 30 61 37 36 30 66 5d 7d 20 5c 0a 09 2d 62  c80a760f]} \..-b
5c80: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
5c90: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
5ca0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
5cb0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
5cc0: 20 2d 72 65 73 75 6c 74 20 36 39 64 66 35 34 63   -result 69df54c
5cd0: 30 66 62 62 33 35 38 35 39 62 35 66 62 32 34 37  0fbb35859b5fb247
5ce0: 63 39 32 62 35 36 36 35 65 64 32 37 39 36 32 66  c92b5665ed27962f
5cf0: 30 34 32 61 37 39 30 35 31 39 64 62 38 63 65 32  042a790519db8ce2
5d00: 37 33 34 33 62 39 35 39 30 0a 0a 74 63 6c 74 65  7343b9590..tclte
5d10: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
5d20: 41 35 31 32 2d 32 35 36 2d 32 2e 37 31 20 7b 53  A512-256-2.71 {S
5d30: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
5d40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5d50: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
5d60: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
5d70: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
5d80: 20 68 65 78 20 30 36 36 33 61 63 32 34 36 66 36   hex 0663ac246f6
5d90: 34 33 34 32 37 64 37 31 39 38 66 65 62 35 34 39  43427d7198feb549
5da0: 31 39 66 39 37 66 39 65 30 33 36 38 36 34 64 63  19f97f9e036864dc
5db0: 33 32 63 30 32 66 63 38 37 61 66 35 30 63 64 32  32c02fc87af50cd2
5dc0: 36 64 62 65 65 64 34 62 34 38 61 31 38 65 39 66  6dbeed4b48a18e9f
5dd0: 39 36 65 39 30 35 39 36 30 35 64 39 66 64 62 31  96e9059605d9fdb1
5de0: 30 65 62 35 37 63 35 35 38 33 65 31 63 37 66 35  0eb57c5583e1c7f5
5df0: 30 31 65 36 33 33 38 62 64 34 63 62 38 64 39 33  01e6338bd4cb8d93
5e00: 36 31 35 30 36 33 37 38 35 32 36 31 33 38 64 35  61506378526138d5
5e10: 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  0]} \..-body {tl
5e20: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
5e30: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
5e40: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
5e50: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
5e60: 74 20 64 62 34 35 38 61 33 32 37 64 64 32 31 62  t db458a327dd21b
5e70: 62 39 63 30 37 33 62 64 35 37 33 36 61 37 34 35  b9c073bd5736a745
5e80: 65 34 36 37 35 33 38 64 39 34 37 36 62 37 36 34  e467538d9476b764
5e90: 37 62 37 34 64 63 64 31 37 30 33 31 62 61 64 37  7b74dcd17031bad7
5ea0: 32 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  2d..tcltest::tes
5eb0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
5ec0: 36 2d 32 2e 37 32 20 7b 53 48 41 35 31 32 5f 32  6-2.72 {SHA512_2
5ed0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
5ee0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
5ef0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
5f00: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
5f10: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 65 37  ry decode hex e7
5f20: 30 64 66 39 63 65 37 36 33 33 34 63 63 32 30 39  0df9ce76334cc209
5f30: 36 63 30 65 37 31 35 64 38 63 39 36 36 35 32 34  6c0e715d8c966524
5f40: 39 32 62 35 62 36 36 33 37 64 33 65 38 30 31 39  92b5b6637d3e8019
5f50: 36 31 63 35 39 34 32 31 62 39 61 36 36 65 35 39  61c59421b9a66e59
5f60: 66 66 34 61 36 38 30 34 37 61 61 35 32 64 36 64  ff4a68047aa52d6d
5f70: 35 38 30 33 36 66 63 65 66 63 30 35 64 64 36 66  58036fcefc05dd6f
5f80: 39 39 65 36 34 66 31 32 30 30 30 33 34 34 38 66  99e64f120003448f
5f90: 62 36 39 62 38 66 62 63 34 61 64 33 34 64 38 66  b69b8fbc4ad34d8f
5fa0: 65 35 66 64 31 61 38 37 32 33 31 39 5d 7d 20 5c  e5fd1a872319]} \
5fb0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
5fc0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
5fd0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
5fe0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
5ff0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 32 39  xact -result 229
6000: 62 65 39 64 65 65 64 62 64 31 36 65 39 34 38 65  be9deedbd16e948e
6010: 65 62 66 38 61 61 35 38 33 38 64 32 37 36 65 30  ebf8aa5838d276e0
6020: 65 36 65 32 39 35 35 37 30 63 34 39 65 61 64 63  e6e295570c49eadc
6030: 39 66 32 37 63 30 65 32 65 35 37 39 38 0a 0a 74  9f27c0e2e5798..t
6040: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
6050: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 37  h_SHA512-256-2.7
6060: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
6070: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
6080: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
6090: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
60a0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
60b0: 63 6f 64 65 20 68 65 78 20 64 64 64 61 64 35 38  code hex dddad58
60c0: 31 35 38 33 34 61 39 39 64 37 39 61 62 66 34 65  15834a99d79abf4e
60d0: 64 33 36 61 66 37 34 30 36 35 62 32 65 37 30 65  d36af74065b2e70e
60e0: 38 37 63 62 38 34 38 33 62 32 65 65 32 35 30 64  87cb8483b2ee250d
60f0: 38 37 37 65 38 64 65 38 62 38 32 39 36 61 32 31  877e8de8b8296a21
6100: 37 39 37 36 38 33 36 37 62 34 62 66 30 66 36 37  79768367b4bf0f67
6110: 34 66 34 37 38 31 32 34 33 36 30 65 39 65 32 62  4f478124360e9e2b
6120: 30 63 37 65 62 37 39 34 66 66 64 34 65 37 63 30  0c7eb794ffd4e7c0
6130: 32 65 63 61 39 33 35 62 66 34 32 34 30 65 33 39  2eca935bf4240e39
6140: 34 36 37 32 62 35 34 65 38 5d 7d 20 5c 0a 09 2d  4672b54e8]} \..-
6150: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
6160: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
6170: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
6180: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
6190: 74 20 2d 72 65 73 75 6c 74 20 31 33 62 31 31 61  t -result 13b11a
61a0: 33 38 65 66 37 34 61 62 31 36 62 64 36 35 62 38  38ef74ab16bd65b8
61b0: 34 65 38 33 64 33 34 38 34 38 62 66 33 63 35 36  4e83d34848bf3c56
61c0: 65 36 63 61 62 35 63 35 36 63 63 30 35 34 31 65  e6cab5c56cc0541e
61d0: 37 38 33 64 66 31 64 34 62 37 0a 0a 74 63 6c 74  783df1d4b7..tclt
61e0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
61f0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 37 34 20 7b  HA512-256-2.74 {
6200: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
6210: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6220: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
6230: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
6240: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6250: 65 20 68 65 78 20 38 34 36 31 37 62 63 64 65 61  e hex 84617bcdea
6260: 38 37 34 32 30 63 62 30 65 39 33 66 65 65 62 66  87420cb0e93feebf
6270: 64 65 33 61 61 62 62 66 37 63 63 37 31 37 38 30  de3aabbf7cc71780
6280: 36 35 63 38 31 63 39 39 65 33 33 33 36 38 34 66  65c81c99e333684f
6290: 33 38 31 35 36 33 62 38 32 66 64 37 36 34 32 30  381563b82fd76420
62a0: 66 37 63 30 32 34 61 62 33 31 62 63 37 33 33 63  f7c024ab31bc733c
62b0: 34 38 35 63 32 39 39 36 30 31 31 64 36 30 63 31  485c2996011d60c1
62c0: 35 33 65 64 65 30 62 30 37 38 65 62 64 62 32 30  53ede0b078ebdb20
62d0: 34 34 36 66 64 62 63 33 62 36 34 61 66 38 39 65  446fdbc3b64af89e
62e0: 63 64 34 66 34 65 61 66 5d 7d 20 5c 0a 09 2d 62  cd4f4eaf]} \..-b
62f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6300: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
6310: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
6320: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
6330: 20 2d 72 65 73 75 6c 74 20 35 62 62 35 31 62 63   -result 5bb51bc
6340: 66 65 65 64 63 36 31 38 61 32 38 63 63 66 33 62  feedc618a28ccf3b
6350: 62 64 39 36 62 65 30 38 39 37 32 65 65 62 31 62  bd96be08972eeb1b
6360: 63 32 32 64 39 62 62 36 34 38 38 33 64 61 62 64  c22d9bb64883dabd
6370: 63 36 63 33 63 36 62 35 34 0a 0a 74 63 6c 74 65  c6c3c6b54..tclte
6380: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
6390: 41 35 31 32 2d 32 35 36 2d 32 2e 37 35 20 7b 53  A512-256-2.75 {S
63a0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
63b0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
63c0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
63d0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
63e0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
63f0: 20 68 65 78 20 39 37 30 66 35 61 39 33 30 38 66   hex 970f5a9308f
6400: 39 32 39 63 35 64 65 37 38 65 38 31 31 39 62 39  929c5de78e8119b9
6410: 36 63 61 66 30 61 64 39 63 34 61 30 36 66 31 38  6caf0ad9c4a06f18
6420: 32 63 37 33 65 37 35 61 39 37 31 31 63 38 32 63  2c73e75a9711c82c
6430: 64 36 39 34 66 64 61 33 35 32 34 38 36 33 65 32  d694fda3524863e2
6440: 63 31 31 38 35 33 33 62 35 37 62 37 38 30 36 37  c118533b57b78067
6450: 62 62 30 38 37 30 65 30 37 36 33 61 61 33 31 33  bb0870e0763aa313
6460: 35 34 66 62 66 61 39 65 39 31 64 64 61 30 38 66  54fbfa9e91dda08f
6470: 65 38 38 64 63 37 61 37 66 62 66 34 37 34 62 31  e88dc7a7fbf474b1
6480: 61 30 61 35 30 61 39 64 31 5d 7d 20 5c 0a 09 2d  a0a50a9d1]} \..-
6490: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
64a0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
64b0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
64c0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
64d0: 74 20 2d 72 65 73 75 6c 74 20 39 33 30 61 39 63  t -result 930a9c
64e0: 33 33 65 33 39 33 61 65 38 62 31 63 33 39 65 30  33e393ae8b1c39e0
64f0: 37 32 62 30 38 66 39 37 32 61 64 38 34 30 64 62  72b08f972ad840db
6500: 35 34 30 31 61 34 65 64 65 64 31 66 31 66 64 31  5401a4eded1f1fd1
6510: 34 66 38 61 30 66 36 38 63 36 0a 0a 74 63 6c 74  4f8a0f68c6..tclt
6520: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
6530: 48 41 35 31 32 2d 32 35 36 2d 32 2e 37 36 20 7b  HA512-256-2.76 {
6540: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
6550: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6560: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
6570: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
6580: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6590: 65 20 68 65 78 20 66 32 39 65 63 34 34 33 61 37  e hex f29ec443a7
65a0: 63 34 62 66 34 66 63 62 63 32 63 63 34 65 39 39  c4bf4fcbc2cc4e99
65b0: 32 66 33 62 31 65 30 63 37 30 65 62 66 36 30 61  2f3b1e0c70ebf60a
65c0: 32 30 31 39 65 66 64 63 62 36 37 36 63 33 65 32  2019efdcb676c3e2
65d0: 36 31 37 63 64 34 38 35 33 37 30 31 37 30 36 63  617cd4853701706c
65e0: 38 66 30 64 35 33 66 33 61 62 65 39 36 64 64 39  8f0d53f3abe96dd9
65f0: 39 62 37 38 65 36 33 38 35 64 63 61 36 30 62 62  9b78e6385dca60bb
6600: 34 39 65 66 37 63 30 62 61 64 30 39 39 66 38 61  49ef7c0bad099f8a
6610: 62 34 61 35 66 36 34 34 38 63 34 63 62 37 32 33  b4a5f6448c4cb723
6620: 63 37 35 34 61 61 36 32 30 32 66 63 5d 7d 20 5c  c754aa6202fc]} \
6630: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
6640: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
6650: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
6660: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
6670: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 36 64  xact -result 36d
6680: 31 63 62 35 64 39 33 30 64 37 33 66 30 31 39 39  1cb5d930d73f0199
6690: 39 35 33 33 62 30 33 35 33 31 33 61 35 34 62 31  9533b035313a54b1
66a0: 65 32 63 63 32 32 33 66 30 37 61 66 38 32 39 34  e2cc223f07af8294
66b0: 32 34 32 33 30 62 38 34 30 35 31 37 37 0a 0a 74  24230b8405177..t
66c0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
66d0: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 37  h_SHA512-256-2.7
66e0: 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  7 {SHA512_256Sho
66f0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
6700: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
6710: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
6720: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6730: 63 6f 64 65 20 68 65 78 20 34 39 31 33 37 30 39  code hex 4913709
6740: 61 30 39 65 36 30 36 66 30 30 33 34 39 32 36 66  a09e606f0034926f
6750: 32 31 63 65 30 66 61 65 65 66 63 30 34 38 33 62  21ce0faeefc0483b
6760: 35 63 30 61 64 65 39 39 66 65 66 39 35 30 66 64  5c0ade99fef950fd
6770: 30 62 30 39 61 36 62 62 61 33 61 36 34 31 35 65  0b09a6bba3a6415e
6780: 33 38 62 34 39 31 64 65 38 35 64 36 64 32 32 63  38b491de85d6d22c
6790: 33 35 36 32 65 32 30 34 39 37 66 62 66 38 61 66  3562e20497fbf8af
67a0: 36 66 37 31 32 39 39 65 64 65 39 66 63 65 33 33  6f71299ede9fce33
67b0: 62 62 62 39 34 32 66 35 63 38 38 64 63 38 38 30  bbb942f5c88dc880
67c0: 30 64 31 61 33 39 30 30 66 36 66 61 39 31 37 65  0d1a3900f6fa917e
67d0: 61 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  a]} \..-body {tl
67e0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
67f0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
6800: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6810: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
6820: 74 20 30 39 34 38 64 31 64 63 37 61 30 61 30 31  t 0948d1dc7a0a01
6830: 37 32 64 33 64 61 65 34 61 65 34 30 64 31 32 38  72d3dae4ae40d128
6840: 34 34 34 66 32 66 36 33 30 39 62 34 34 33 61 64  444f2f6309b443ad
6850: 36 61 38 61 62 33 38 34 39 64 65 66 36 30 36 61  6a8ab3849def606a
6860: 37 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  7e..tcltest::tes
6870: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
6880: 36 2d 32 2e 37 38 20 7b 53 48 41 35 31 32 5f 32  6-2.78 {SHA512_2
6890: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
68a0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
68b0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
68c0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
68d0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 33  ry decode hex 33
68e0: 36 35 64 63 38 37 63 37 66 32 39 62 35 30 39 32  65dc87c7f29b5092
68f0: 35 66 32 64 35 30 62 31 65 34 33 37 61 34 39 63  5f2d50b1e437a49c
6900: 61 39 39 35 63 61 61 63 33 35 66 63 62 33 64 62  a995caac35fcb3db
6910: 32 39 64 64 31 39 63 63 32 65 38 63 31 33 30 62  29dd19cc2e8c130b
6920: 32 63 61 31 65 37 39 35 62 64 39 66 31 66 39 62  2ca1e795bd9f1f9b
6930: 65 31 64 33 64 66 38 33 66 33 37 66 37 35 33 30  e1d3df83f37f7530
6940: 64 62 33 38 33 32 38 33 38 36 38 64 37 38 32 31  db383283868d7821
6950: 39 33 65 39 31 35 37 37 34 66 62 62 63 66 66 63  93e915774fbbcffc
6960: 65 34 64 33 34 30 62 36 63 64 30 66 65 35 30 30  e4d340b6cd0fe500
6970: 38 64 33 38 37 31 38 61 5d 7d 20 5c 0a 09 2d 62  8d38718a]} \..-b
6980: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
6990: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
69a0: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
69b0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
69c0: 20 2d 72 65 73 75 6c 74 20 35 37 39 64 36 63 34   -result 579d6c4
69d0: 39 32 64 63 66 62 30 33 32 62 39 32 37 32 61 61  92dcfb032b9272aa
69e0: 30 66 35 34 64 31 33 65 63 65 30 66 62 32 32 37  0f54d13ece0fb227
69f0: 36 36 31 39 64 64 37 65 37 35 66 38 36 61 65 66  6619dd7e75f86aef
6a00: 33 66 35 38 62 66 61 65 61 0a 0a 74 63 6c 74 65  3f58bfaea..tclte
6a10: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
6a20: 41 35 31 32 2d 32 35 36 2d 32 2e 37 39 20 7b 53  A512-256-2.79 {S
6a30: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
6a40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
6a50: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
6a60: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
6a70: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
6a80: 20 68 65 78 20 34 35 61 38 39 39 65 65 32 34 63   hex 45a899ee24c
6a90: 65 31 65 62 37 66 66 65 31 33 61 61 35 61 63 62  e1eb7ffe13aa5acb
6aa0: 30 38 63 61 62 65 39 34 66 66 30 30 33 39 35 37  08cabe94ff003957
6ab0: 31 35 33 62 37 32 30 31 39 63 36 36 36 34 30 37  153b72019c666407
6ac0: 32 64 30 34 35 65 35 66 61 30 39 36 34 37 30 65  2d045e5fa096470e
6ad0: 36 65 34 33 33 31 66 63 33 63 64 34 34 63 63 35  6e4331fc3cd44cc5
6ae0: 39 37 34 35 32 64 38 64 34 36 38 38 33 36 32 32  97452d8d46883622
6af0: 36 65 37 65 61 62 63 61 37 66 35 35 30 31 66 66  6e7eabca7f5501ff
6b00: 65 61 62 33 34 39 64 34 35 64 32 31 30 35 38 36  eab349d45d210586
6b10: 38 62 30 64 65 66 32 63 65 32 32 64 62 34 34 33  8b0def2ce22db443
6b20: 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  c]} \..-body {tl
6b30: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
6b40: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
6b50: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
6b60: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
6b70: 74 20 35 63 30 38 38 63 64 30 63 31 38 62 66 36  t 5c088cd0c18bf6
6b80: 39 39 65 64 66 34 37 64 64 62 62 64 31 65 31 31  99edf47ddbbd1e11
6b90: 63 39 63 61 61 39 31 36 31 62 38 35 32 61 36 30  c9caa9161b852a60
6ba0: 32 34 34 39 32 65 37 61 62 37 64 64 35 37 34 35  24492e7ab7dd5745
6bb0: 65 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  ee..tcltest::tes
6bc0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
6bd0: 36 2d 32 2e 38 30 20 7b 53 48 41 35 31 32 5f 32  6-2.80 {SHA512_2
6be0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
6bf0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
6c00: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
6c10: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
6c20: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 38  ry decode hex 38
6c30: 39 64 37 36 63 31 38 64 38 64 31 31 65 62 35 62  9d76c18d8d11eb5b
6c40: 37 65 36 65 38 30 64 37 39 66 39 33 62 65 35 32  7e6e80d79f93be52
6c50: 63 37 38 34 65 62 31 31 30 31 62 37 66 33 35 39  c784eb1101b7f359
6c60: 34 38 63 37 35 32 63 39 38 66 36 63 33 34 65 64  48c752c98f6c34ed
6c70: 30 35 61 62 64 62 30 66 39 36 34 61 34 32 35 30  05abdb0f964a4250
6c80: 62 35 38 37 30 30 66 38 35 39 30 61 36 65 30 62  b58700f8590a6e0b
6c90: 34 35 31 37 30 63 31 64 38 64 30 38 32 31 36 36  45170c1d8d082166
6ca0: 35 36 66 62 61 32 31 39 64 64 63 38 35 35 66 32  56fba219ddc855f2
6cb0: 62 62 33 36 33 36 30 65 36 37 36 65 31 61 30 30  bb36360e676e1a00
6cc0: 66 63 61 66 39 32 32 31 33 63 34 34 5d 7d 20 5c  fcaf92213c44]} \
6cd0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
6ce0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
6cf0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
6d00: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
6d10: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 62 33 32  xact -result b32
6d20: 64 31 62 30 61 63 63 30 39 37 65 64 64 63 31 33  d1b0acc097eddc13
6d30: 64 62 62 61 39 31 64 32 63 31 34 34 37 37 34 66  dbba91d2c144774f
6d40: 34 62 66 31 62 61 32 32 37 35 37 37 30 62 35 32  4bf1ba2275770b52
6d50: 38 35 38 34 37 31 64 65 32 36 63 61 31 0a 0a 74  858471de26ca1..t
6d60: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
6d70: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 38  h_SHA512-256-2.8
6d80: 31 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  1 {SHA512_256Sho
6d90: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
6da0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
6db0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
6dc0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6dd0: 63 6f 64 65 20 68 65 78 20 31 32 30 62 38 30 62  code hex 120b80b
6de0: 34 34 61 32 34 33 35 64 34 37 38 33 37 36 36 34  44a2435d47837664
6df0: 31 36 65 64 65 31 37 38 34 65 30 30 64 33 34 36  16ede1784e00d346
6e00: 37 63 37 65 64 31 62 36 33 30 34 65 37 35 62 35  7c7ed1b6304e75b5
6e10: 38 34 36 66 65 62 62 38 31 32 64 36 33 37 66 61  846febb812d637fa
6e20: 36 62 30 34 33 65 36 39 33 62 63 65 34 66 37 63  6b043e693bce4f7c
6e30: 61 31 64 66 30 37 64 37 35 61 32 31 31 35 31 39  a1df07d75a211519
6e40: 65 37 63 62 64 64 37 61 32 65 38 35 34 63 62 65  e7cbdd7a2e854cbe
6e50: 33 30 65 36 38 33 65 62 65 32 38 35 62 64 62 62  30e683ebe285bdbb
6e60: 64 65 36 33 30 36 66 30 64 31 31 39 62 61 39 33  de6306f0d119ba93
6e70: 32 37 30 35 61 31 65 66 39 5d 7d 20 5c 0a 09 2d  2705a1ef9]} \..-
6e80: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
6e90: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
6ea0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
6eb0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
6ec0: 74 20 2d 72 65 73 75 6c 74 20 32 30 30 38 31 38  t -result 200818
6ed0: 61 37 66 61 39 36 33 34 32 33 64 30 61 39 30 62  a7fa963423d0a90b
6ee0: 64 38 35 34 37 35 64 36 37 62 65 66 64 66 61 34  d85475d67befdfa4
6ef0: 33 62 62 34 39 62 65 37 63 30 32 36 62 39 36 39  3bb49be7c026b969
6f00: 33 37 34 33 34 30 34 64 63 64 0a 0a 74 63 6c 74  3743404dcd..tclt
6f10: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
6f20: 48 41 35 31 32 2d 32 35 36 2d 32 2e 38 32 20 7b  HA512-256-2.82 {
6f30: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
6f40: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
6f50: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
6f60: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
6f70: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
6f80: 65 20 68 65 78 20 37 31 33 37 30 35 36 37 34 65  e hex 713705674e
6f90: 32 30 30 36 36 64 36 31 62 66 65 39 63 61 37 36  20066d61bfe9ca76
6fa0: 33 61 38 37 30 35 63 62 36 63 61 31 65 38 63 66  3a8705cb6ca1e8cf
6fb0: 39 35 63 36 64 37 32 39 35 30 37 36 36 31 66 63  95c6d729507661fc
6fc0: 63 36 38 37 31 35 36 39 32 32 63 38 39 37 35 36  c687156922c89756
6fd0: 34 35 65 35 66 33 36 65 62 61 38 61 33 30 36 39  45e5f36eba8a3069
6fe0: 65 63 63 62 32 39 38 65 39 36 63 34 39 38 37 36  eccb298e96c49876
6ff0: 37 63 37 63 37 34 31 32 35 39 31 30 37 64 66 30  7c7c741259107df0
7000: 31 38 30 64 31 35 62 39 34 36 31 64 35 31 66 66  180d15b9461d51ff
7010: 63 38 65 36 35 30 33 35 63 39 32 66 63 62 66 66  c8e65035c92fcbff
7020: 66 37 34 34 65 65 61 64 5d 7d 20 5c 0a 09 2d 62  f744eead]} \..-b
7030: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7040: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
7050: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
7060: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
7070: 20 2d 72 65 73 75 6c 74 20 37 38 36 65 61 33 36   -result 786ea36
7080: 38 31 35 36 34 37 37 36 31 36 66 64 37 36 30 33  8156477616fd7603
7090: 39 66 39 62 31 63 61 61 61 39 35 37 36 33 61 64  9f9b1caaa95763ad
70a0: 63 65 62 63 31 63 66 64 61 65 38 31 39 38 66 38  cebc1cfdae8198f8
70b0: 32 61 34 31 31 38 32 61 39 0a 0a 74 63 6c 74 65  2a41182a9..tclte
70c0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
70d0: 41 35 31 32 2d 32 35 36 2d 32 2e 38 33 20 7b 53  A512-256-2.83 {S
70e0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
70f0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7100: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
7110: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
7120: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7130: 20 68 65 78 20 31 32 33 63 63 61 65 63 35 32 32   hex 123ccaec522
7140: 63 32 39 38 33 62 36 63 63 32 65 30 36 62 30 39  c2983b6cc2e06b09
7150: 30 30 63 33 33 31 64 62 34 39 64 63 35 64 35 38  00c331db49dc5d58
7160: 30 39 63 64 66 38 30 63 62 31 34 61 65 61 63 62  09cdf80cb14aeacb
7170: 65 31 38 34 62 31 64 64 61 62 35 64 65 36 34 33  e184b1ddab5de643
7180: 63 32 35 30 39 62 34 32 30 34 35 38 34 66 30 61  c2509b4204584f0a
7190: 35 34 61 30 34 30 38 64 30 61 66 36 32 38 36 64  54a0408d0af6286d
71a0: 32 37 31 66 39 36 34 38 65 37 66 35 30 32 31 35  271f9648e7f50215
71b0: 36 36 63 66 39 31 34 66 35 36 38 62 38 66 66 66  66cf914f568b8fff
71c0: 33 36 65 65 38 65 37 31 34 62 66 31 62 32 33 32  36ee8e714bf1b232
71d0: 32 38 65 30 31 62 34 65 63 5d 7d 20 5c 0a 09 2d  28e01b4ec]} \..-
71e0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
71f0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
7200: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
7210: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
7220: 74 20 2d 72 65 73 75 6c 74 20 39 31 62 33 65 32  t -result 91b3e2
7230: 34 36 33 35 35 38 39 34 31 64 30 36 32 36 39 33  463558941d062693
7240: 36 61 38 64 32 37 35 37 32 32 66 65 32 65 36 30  6a8d275722fe2e60
7250: 30 62 62 32 34 64 66 37 38 64 37 63 34 36 37 35  0bb24df78d7c4675
7260: 32 36 37 35 64 31 63 34 64 61 0a 0a 74 63 6c 74  2675d1c4da..tclt
7270: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
7280: 48 41 35 31 32 2d 32 35 36 2d 32 2e 38 34 20 7b  HA512-256-2.84 {
7290: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
72a0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
72b0: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
72c0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
72d0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
72e0: 65 20 68 65 78 20 37 35 64 30 34 30 64 64 65 61  e hex 75d040ddea
72f0: 30 34 32 38 64 38 32 33 31 64 63 65 34 66 62 63  0428d8231dce4fbc
7300: 39 38 63 63 34 61 32 66 35 37 38 61 35 66 34 37  98cc4a2f578a5f47
7310: 34 37 35 33 37 39 64 37 34 30 61 65 64 38 61 62  475379d740aed8ab
7320: 32 63 65 62 35 39 62 66 36 63 66 63 66 38 61 66  2ceb59bf6cfcf8af
7330: 37 37 38 36 39 33 36 66 63 34 33 38 66 31 33 63  7786936fc438f13c
7340: 65 62 35 63 30 32 64 32 30 37 61 62 36 38 65 30  eb5c02d207ab68e0
7350: 35 65 36 36 33 37 62 39 34 34 61 32 66 39 34 63  5e6637b944a2f94c
7360: 33 63 65 34 66 36 35 36 36 31 65 64 62 32 64 36  3ce4f65661edb2d6
7370: 30 34 64 37 62 36 63 32 39 37 36 31 39 33 66 38  04d7b6c2976193f8
7380: 63 39 38 38 32 35 37 37 66 33 35 37 5d 7d 20 5c  c9882577f357]} \
7390: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
73a0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
73b0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
73c0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
73d0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 34 39  xact -result 749
73e0: 62 61 65 39 33 32 32 61 66 35 38 38 34 39 35 64  bae9322af588495d
73f0: 62 63 30 63 65 34 32 36 64 65 62 64 39 65 39 63  bc0ce426debd9e9c
7400: 63 34 63 30 32 66 35 30 63 35 32 63 61 32 34 36  c4c02f50c52ca246
7410: 62 35 35 38 32 38 34 30 61 38 36 63 62 0a 0a 74  b5582840a86cb..t
7420: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
7430: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 38  h_SHA512-256-2.8
7440: 35 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  5 {SHA512_256Sho
7450: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
7460: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
7470: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
7480: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7490: 63 6f 64 65 20 68 65 78 20 37 63 32 33 38 61 61  code hex 7c238aa
74a0: 66 64 65 36 61 61 62 61 62 31 37 37 66 37 31 38  fde6aabab177f718
74b0: 65 30 63 66 65 31 33 38 36 63 62 31 34 32 31 62  e0cfe1386cb1421b
74c0: 34 37 39 39 62 31 35 37 38 38 62 38 36 32 62 66  4799b15788b862bf
74d0: 30 33 61 38 30 37 32 62 62 33 30 64 30 32 33 30  03a8072bb30d0230
74e0: 33 38 38 38 30 33 32 62 61 66 35 62 65 32 34 32  3888032baf5be242
74f0: 33 34 31 38 32 32 30 39 35 66 61 37 31 34 38 37  341822095fa71487
7500: 63 36 38 30 32 34 61 61 30 63 31 64 66 33 31 61  c68024aa0c1df31a
7510: 61 61 30 38 65 38 32 65 34 62 34 35 30 38 34 34  aa08e82e4b450844
7520: 30 62 35 34 39 64 66 39 63 39 64 65 32 36 38 34  0b549df9c9de2684
7530: 34 31 34 36 63 33 63 62 38 32 63 30 36 30 63 62  4146c3cb82c060cb
7540: 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  0]} \..-body {tl
7550: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
7560: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
7570: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
7580: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
7590: 74 20 33 36 62 61 37 62 66 35 33 66 37 64 32 35  t 36ba7bf53f7d25
75a0: 33 37 33 38 66 35 39 30 65 65 32 35 63 36 31 32  3738f590ee25c612
75b0: 30 65 30 65 38 39 62 31 62 38 39 63 32 61 30 36  0e0e89b1b89c2a06
75c0: 39 31 64 62 36 64 33 38 62 37 32 63 32 30 30 35  91db6d38b72c2005
75d0: 35 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  5b..tcltest::tes
75e0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
75f0: 36 2d 32 2e 38 36 20 7b 53 48 41 35 31 32 5f 32  6-2.86 {SHA512_2
7600: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
7610: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
7620: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
7630: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
7640: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 34 37  ry decode hex 47
7650: 30 62 65 31 61 62 35 39 35 66 38 62 66 63 62 65  0be1ab595f8bfcbe
7660: 36 35 31 61 61 66 62 65 35 38 61 39 30 63 64 34  651aafbe58a90cd4
7670: 64 37 32 64 62 61 35 34 66 33 34 33 37 61 35 30  d72dba54f3437a50
7680: 38 37 32 63 31 36 62 64 63 38 31 35 39 33 64 32  872c16bdc81593d2
7690: 31 63 39 63 61 65 62 31 33 30 39 31 38 37 34 39  1c9caeb130918749
76a0: 34 34 66 39 39 37 37 62 63 61 35 39 65 37 37 62  44f9977bca59e77b
76b0: 33 30 33 31 38 34 37 61 66 61 63 36 32 65 38 32  3031847afac62e82
76c0: 31 33 32 34 35 30 61 31 36 35 36 34 33 35 34 39  132450a165643549
76d0: 61 37 32 62 37 38 66 37 37 36 37 33 62 63 31 33  a72b78f77673bc13
76e0: 61 38 38 65 39 65 31 37 64 64 36 37 65 38 66 34  a88e9e17dd67e8f4
76f0: 35 36 30 63 30 37 62 32 5d 7d 20 5c 0a 09 2d 62  560c07b2]} \..-b
7700: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7710: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
7720: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
7730: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
7740: 20 2d 72 65 73 75 6c 74 20 38 65 66 38 64 36 34   -result 8ef8d64
7750: 37 32 65 30 39 66 35 36 36 66 37 30 65 31 37 62  72e09f566f70e17b
7760: 34 35 34 34 38 39 63 31 39 33 64 31 31 66 64 39  454489c193d11fd9
7770: 39 38 35 35 66 37 65 36 39 63 30 65 65 64 33 38  9855f7e69c0eed38
7780: 39 35 31 35 64 66 35 37 37 0a 0a 74 63 6c 74 65  9515df577..tclte
7790: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
77a0: 41 35 31 32 2d 32 35 36 2d 32 2e 38 37 20 7b 53  A512-256-2.87 {S
77b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
77c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
77d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
77e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
77f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7800: 20 68 65 78 20 36 39 37 33 62 32 64 35 66 64 34   hex 6973b2d5fd4
7810: 32 65 37 38 61 32 32 34 35 63 37 36 66 32 35 36  2e78a2245c76f256
7820: 38 31 64 37 30 34 65 61 31 39 34 65 32 62 35 37  81d704ea194e2b57
7830: 38 32 38 31 65 35 38 63 36 64 62 36 66 36 62 62  8281e58c6db6f6bb
7840: 64 61 39 32 66 65 66 32 38 62 64 32 63 38 36 66  da92fef28bd2c86f
7850: 34 65 35 35 31 38 36 66 30 34 34 38 32 34 63 64  4e55186f044824cd
7860: 31 34 37 63 37 64 33 37 39 64 61 61 64 38 35 37  147c7d379daad857
7870: 39 64 62 65 39 35 30 64 34 63 65 33 66 66 64 30  9dbe950d4ce3ffd0
7880: 36 64 33 61 32 62 64 34 34 64 36 39 64 30 35 30  6d3a2bd44d69d050
7890: 36 30 36 66 31 39 63 63 33 38 38 38 30 66 33 66  606f19cc38880f3f
78a0: 62 36 63 36 39 62 34 37 62 65 30 37 35 39 64 64  b6c69b47be0759dd
78b0: 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  d]} \..-body {tl
78c0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
78d0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
78e0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
78f0: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
7900: 74 20 32 32 36 66 61 35 34 61 62 33 31 66 35 61  t 226fa54ab31f5a
7910: 37 38 65 61 62 34 66 39 32 62 31 30 39 37 32 66  78eab4f92b10972f
7920: 63 66 63 38 63 63 61 64 32 35 65 30 66 66 61 34  cfc8ccad25e0ffa4
7930: 39 33 36 35 64 61 38 33 66 32 37 32 32 30 66 36  9365da83f27220f6
7940: 63 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  cd..tcltest::tes
7950: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
7960: 36 2d 32 2e 38 38 20 7b 53 48 41 35 31 32 5f 32  6-2.88 {SHA512_2
7970: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
7980: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
7990: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
79a0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
79b0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 34  ry decode hex c4
79c0: 64 30 64 31 34 63 39 33 30 35 38 38 36 35 64 30  d0d14c93058865d0
79d0: 66 62 65 32 65 36 65 31 34 65 39 39 66 31 37 30  fbe2e6e14e99f170
79e0: 63 65 63 64 37 35 63 31 38 33 66 39 35 33 34 33  cecd75c183f95343
79f0: 65 66 32 36 62 66 36 35 39 32 35 66 65 39 61 61  ef26bf65925fe9aa
7a00: 62 34 36 34 64 64 30 30 35 65 61 33 61 38 34 65  b464dd005ea3a84e
7a10: 61 61 36 33 62 64 34 63 33 63 34 33 39 37 39 37  aa63bd4c3c439797
7a20: 31 31 65 33 39 66 30 35 37 38 65 31 34 66 33 35  11e39f0578e14f35
7a30: 35 64 30 37 39 38 36 62 63 64 63 32 38 31 39 62  5d07986bcdc2819b
7a40: 62 37 64 36 31 32 63 34 66 30 35 31 37 30 38 30  b7d612c4f0517080
7a50: 37 61 62 64 34 39 64 38 30 36 39 61 37 32 35 63  7abd49d8069a725c
7a60: 62 37 30 63 63 66 37 34 32 39 64 30 5d 7d 20 5c  b70ccf7429d0]} \
7a70: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
7a80: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
7a90: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
7aa0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
7ab0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 38 65  xact -result 88e
7ac0: 31 38 33 61 37 39 34 66 34 37 38 61 38 35 30 38  183a794f478a8508
7ad0: 35 36 39 36 36 66 64 65 64 64 37 31 62 31 34 64  56966fdedd71b14d
7ae0: 38 61 62 61 37 32 38 31 39 66 62 32 36 66 31 34  8aba72819fb26f14
7af0: 64 32 33 31 35 63 36 37 66 32 64 65 62 0a 0a 74  d2315c67f2deb..t
7b00: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
7b10: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 38  h_SHA512-256-2.8
7b20: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
7b30: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
7b40: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
7b50: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
7b60: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7b70: 63 6f 64 65 20 68 65 78 20 37 33 36 36 31 37 39  code hex 7366179
7b80: 39 63 37 64 32 65 32 34 65 61 34 38 34 32 39 39  9c7d2e24ea484299
7b90: 64 38 63 38 63 31 31 32 35 37 33 39 64 63 65 35  d8c8c1125739dce5
7ba0: 63 63 33 30 37 63 33 32 37 61 33 65 35 65 61 61  cc307c327a3e5eaa
7bb0: 38 37 39 39 38 37 37 35 37 61 64 37 34 62 38 35  879987757ad74b85
7bc0: 35 62 31 62 38 34 30 66 64 33 65 63 34 34 34 62  5b1b840fd3ec444b
7bd0: 62 65 30 38 36 34 35 32 31 62 34 33 36 65 66 33  be0864521b436ef3
7be0: 37 37 30 34 33 34 32 31 33 61 35 38 64 65 66 61  770434213a58defa
7bf0: 61 34 31 64 34 30 35 65 36 35 38 37 30 63 63 66  a41d405e65870ccf
7c00: 39 32 34 34 33 66 31 66 30 34 61 65 64 65 34 38  92443f1f04aede48
7c10: 62 35 65 33 65 37 66 34 63 61 61 66 31 65 38 63  b5e3e7f4caaf1e8c
7c20: 65 32 62 39 37 62 38 35 38 5d 7d 20 5c 0a 09 2d  e2b97b858]} \..-
7c30: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
7c40: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
7c50: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
7c60: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
7c70: 74 20 2d 72 65 73 75 6c 74 20 61 64 31 61 66 66  t -result ad1aff
7c80: 64 31 62 31 39 34 62 63 30 61 66 63 33 38 39 61  d1b194bc0afc389a
7c90: 32 63 62 32 33 32 38 31 32 34 34 61 38 64 38 30  2cb23281244a8d80
7ca0: 61 35 32 34 32 36 32 62 32 35 36 30 64 35 38 66  a524262b2560d58f
7cb0: 37 66 36 64 32 32 36 66 35 31 0a 0a 74 63 6c 74  7f6d226f51..tclt
7cc0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
7cd0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 39 30 20 7b  HA512-256-2.90 {
7ce0: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
7cf0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
7d00: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
7d10: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
7d20: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
7d30: 65 20 68 65 78 20 64 34 39 30 36 33 34 35 33 62  e hex d49063453b
7d40: 37 37 39 62 31 38 39 33 33 64 32 33 33 33 36 39  779b18933d233369
7d50: 38 38 31 36 31 37 63 39 38 37 66 65 66 34 62 31  881617c987fef4b1
7d60: 38 65 65 61 36 66 63 36 30 30 63 31 61 32 34 36  8eea6fc600c1a246
7d70: 37 32 64 35 36 34 33 65 30 64 62 62 63 62 66 64  72d5643e0dbbcbfd
7d80: 33 34 35 62 66 30 63 38 36 37 34 33 66 32 63 66  345bf0c86743f2cf
7d90: 36 38 34 31 33 65 36 30 39 63 33 30 30 64 35 62  68413e609c300d5b
7da0: 62 33 31 32 32 65 65 36 38 63 35 66 30 35 36 31  b3122ee68c5f0561
7db0: 35 32 39 64 64 34 39 64 65 63 33 31 33 39 34 38  529dd49dec313948
7dc0: 39 34 37 35 66 38 61 63 63 35 30 61 66 62 39 61  9475f8acc50afb9a
7dd0: 35 62 37 30 39 37 61 30 66 36 64 33 31 31 38 32  5b7097a0f6d31182
7de0: 39 66 32 38 36 31 65 38 5d 7d 20 5c 0a 09 2d 62  9f2861e8]} \..-b
7df0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
7e00: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
7e10: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
7e20: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
7e30: 20 2d 72 65 73 75 6c 74 20 36 37 36 38 39 34 36   -result 6768946
7e40: 61 33 61 32 37 66 34 36 32 38 38 64 64 66 64 34  a3a27f46288ddfd4
7e50: 63 62 37 62 35 66 63 39 65 32 37 63 64 33 62 61  cb7b5fc9e27cd3ba
7e60: 34 36 65 63 39 35 39 65 36 66 33 64 30 63 62 35  46ec959e6f3d0cb5
7e70: 62 66 66 36 38 65 32 32 36 0a 0a 74 63 6c 74 65  bff68e226..tclte
7e80: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
7e90: 41 35 31 32 2d 32 35 36 2d 32 2e 39 31 20 7b 53  A512-256-2.91 {S
7ea0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
7eb0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7ec0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
7ed0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
7ee0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
7ef0: 20 68 65 78 20 39 30 35 38 38 38 31 32 31 33 36   hex 90588812136
7f00: 30 66 65 34 36 66 38 36 64 64 64 64 31 31 39 30  0fe46f86dddd1190
7f10: 37 36 31 39 35 32 31 33 34 34 33 66 33 33 39 39  76195213443f3399
7f20: 30 37 66 38 37 65 35 61 30 35 62 31 32 32 38 36  07f87e5a05b12286
7f30: 34 61 35 62 37 65 66 32 62 33 63 36 62 61 64 61  4a5b7ef2b3c6bada
7f40: 62 64 32 61 37 34 32 35 31 65 66 35 66 32 31 64  bd2a74251ef5f21d
7f50: 36 33 39 33 38 62 32 31 33 66 34 66 36 66 35 31  63938b213f4f6f51
7f60: 36 63 35 33 33 36 39 37 35 62 62 35 37 32 63 65  6c5336975bb572ce
7f70: 32 38 66 63 34 36 33 30 30 32 62 35 31 64 63 37  28fc463002b51dc7
7f80: 36 36 61 66 61 66 32 34 31 31 66 64 36 62 31 34  66afaf2411fd6b14
7f90: 65 35 38 34 39 33 62 34 38 65 34 37 61 36 61 61  e58493b48e47a6aa
7fa0: 66 31 32 30 37 62 37 32 61 5d 7d 20 5c 0a 09 2d  f1207b72a]} \..-
7fb0: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
7fc0: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
7fd0: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
7fe0: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
7ff0: 74 20 2d 72 65 73 75 6c 74 20 31 34 35 66 66 32  t -result 145ff2
8000: 36 32 65 32 30 33 39 35 37 61 38 38 61 38 37 35  62e203957a88a875
8010: 65 66 39 38 36 61 63 34 38 34 32 30 34 62 32 30  ef986ac484204b20
8020: 64 39 63 34 62 65 37 64 33 35 61 64 35 39 36 31  d9c4be7d35ad5961
8030: 32 37 36 34 39 39 31 64 34 39 0a 0a 74 63 6c 74  2764991d49..tclt
8040: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
8050: 48 41 35 31 32 2d 32 35 36 2d 32 2e 39 32 20 7b  HA512-256-2.92 {
8060: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
8070: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
8080: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
8090: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
80a0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
80b0: 65 20 68 65 78 20 62 37 35 32 61 63 34 61 64 63  e hex b752ac4adc
80c0: 39 37 30 31 32 31 31 39 64 38 39 35 61 38 30 30  97012119d895a800
80d0: 66 33 31 38 64 62 36 61 65 37 65 33 63 37 30 33  f318db6ae7e3c703
80e0: 34 34 39 34 39 64 30 39 65 30 66 38 30 35 35 30  44949d09e0f80550
80f0: 63 63 32 66 62 34 38 61 38 36 30 61 34 31 63 35  cc2fb48a860a41c5
8100: 37 30 62 38 33 34 33 35 38 31 61 32 36 31 33 34  70b8343581a26134
8110: 33 62 39 33 37 34 38 37 64 64 31 63 63 63 65 33  3b937487dd1ccce3
8120: 64 39 33 37 38 64 61 66 38 38 32 61 66 30 30 63  d9378daf882af00c
8130: 31 64 61 65 64 65 31 33 64 38 35 31 62 65 35 64  1daede13d851be5d
8140: 37 63 31 39 38 62 63 39 30 32 36 61 32 39 37 39  7c198bc9026a2979
8150: 38 66 32 39 66 39 31 65 61 34 32 32 61 62 37 36  8f29f91ea422ab76
8160: 39 34 61 37 35 33 31 33 33 63 37 61 5d 7d 20 5c  94a753133c7a]} \
8170: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
8180: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
8190: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
81a0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
81b0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 66 33  xact -result 2f3
81c0: 39 39 64 63 35 35 33 64 61 36 30 37 62 31 63 32  99dc553da607b1c2
81d0: 64 34 39 30 65 36 34 36 31 36 36 34 61 35 61 32  d490e6461664a5a2
81e0: 63 30 30 37 66 31 38 30 30 64 37 36 61 32 61 61  c007f1800d76a2aa
81f0: 66 37 37 34 32 61 38 36 62 39 36 31 37 0a 0a 74  f7742a86b9617..t
8200: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
8210: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 39  h_SHA512-256-2.9
8220: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
8230: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
8240: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
8250: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
8260: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
8270: 63 6f 64 65 20 68 65 78 20 31 65 66 37 30 30 31  code hex 1ef7001
8280: 63 35 32 38 30 33 39 33 38 65 39 33 37 64 39 33  c52803938e937d93
8290: 66 35 63 38 35 33 66 36 36 31 63 65 34 38 33 62  f5c853f661ce483b
82a0: 34 32 36 32 65 61 63 36 33 64 38 31 61 32 33 38  4262eac63d81a238
82b0: 39 30 33 30 33 36 38 66 38 34 31 65 63 30 34 36  9030368f841ec046
82c0: 32 38 39 63 32 62 66 63 31 30 30 65 30 31 32 66  289c2bfc100e012f
82d0: 35 31 32 64 39 64 66 61 66 63 32 37 31 36 30 38  512d9dfafc271608
82e0: 66 33 65 65 63 35 65 38 39 62 37 38 63 61 33 38  f3eec5e89b78ca38
82f0: 64 36 66 35 35 62 31 36 37 31 34 31 33 62 34 65  d6f55b1671413b4e
8300: 34 34 63 39 65 62 36 33 36 39 31 35 64 31 32 39  44c9eb636915d129
8310: 39 33 66 30 39 32 62 33 37 65 62 62 33 35 64 34  93f092b37ebb35d4
8320: 39 66 37 30 39 33 34 38 30 36 33 64 35 64 63 61  9f709348063d5dca
8330: 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  3]} \..-body {tl
8340: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
8350: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
8360: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
8370: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
8380: 74 20 37 37 65 33 37 31 33 34 39 63 34 36 36 66  t 77e371349c466f
8390: 36 63 33 33 31 66 61 63 30 32 38 34 39 38 37 35  6c331fac02849875
83a0: 33 37 63 31 35 64 30 34 33 30 65 33 66 30 63 63  37c15d0430e3f0cc
83b0: 61 38 66 31 66 65 32 61 61 37 63 37 39 34 65 66  a8f1fe2aa7c794ef
83c0: 30 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  09..tcltest::tes
83d0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
83e0: 36 2d 32 2e 39 34 20 7b 53 48 41 35 31 32 5f 32  6-2.94 {SHA512_2
83f0: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
8400: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
8410: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
8420: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
8430: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32 38  ry decode hex 28
8440: 34 62 66 66 33 62 36 61 36 38 33 66 66 32 32 30  4bff3b6a683ff220
8450: 66 35 63 62 66 64 33 63 32 66 62 38 61 37 32 62  f5cbfd3c2fb8a72b
8460: 64 62 38 35 30 36 66 63 64 64 35 62 32 64 63 35  db8506fcdd5b2dc5
8470: 30 37 39 34 61 33 34 32 32 66 37 62 31 34 63 30  0794a3422f7b14c0
8480: 38 34 35 32 34 37 33 39 32 32 39 61 35 30 63 31  84524739229a50c1
8490: 65 33 38 65 30 37 32 30 37 38 66 31 62 38 63 31  e38e072078f1b8c1
84a0: 62 39 30 39 31 63 63 62 33 61 65 63 38 38 38 64  b9091ccb3aec888d
84b0: 31 66 66 61 36 35 31 66 33 31 61 62 65 30 34 36  1ffa651f31abe046
84c0: 33 31 38 62 65 32 39 39 36 63 38 32 34 33 65 32  318be2996c8243e2
84d0: 38 66 35 39 33 62 63 37 62 64 37 61 31 39 61 61  8f593bc7bd7a19aa
84e0: 64 66 66 37 33 37 63 64 33 62 63 65 32 64 62 61  dff737cd3bce2dba
84f0: 34 39 36 63 34 35 65 32 5d 7d 20 5c 0a 09 2d 62  496c45e2]} \..-b
8500: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
8510: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
8520: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
8530: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
8540: 20 2d 72 65 73 75 6c 74 20 62 66 61 61 35 34 39   -result bfaa549
8550: 36 33 35 32 31 65 36 65 31 61 63 37 32 62 35 35  63521e6e1ac72b55
8560: 65 65 34 64 36 35 34 63 30 34 31 66 36 32 62 37  ee4d654c041f62b7
8570: 33 61 64 35 61 35 33 30 35 63 35 38 66 34 37 62  3ad5a5305c58f47b
8580: 62 32 35 64 62 37 63 63 32 0a 0a 74 63 6c 74 65  b25db7cc2..tclte
8590: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
85a0: 41 35 31 32 2d 32 35 36 2d 32 2e 39 35 20 7b 53  A512-256-2.95 {S
85b0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
85c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
85d0: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
85e0: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
85f0: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
8600: 20 68 65 78 20 30 38 31 64 30 38 33 39 37 65 31   hex 081d08397e1
8610: 33 35 33 30 37 33 66 38 64 66 32 34 36 37 35 35  353073f8df246755
8620: 38 38 61 64 32 31 35 65 34 64 63 33 36 31 35 61  88ad215e4dc3615a
8630: 35 39 64 32 61 64 39 62 39 38 31 35 61 65 65 63  59d2ad9b9815aeec
8640: 62 39 61 36 39 66 61 33 37 65 30 33 36 66 33 36  b9a69fa37e036f36
8650: 66 31 31 35 65 39 30 39 64 62 62 30 32 66 64 38  f115e909dbb02fd8
8660: 61 39 36 63 61 64 33 62 65 31 38 32 39 34 37 65  a96cad3be182947e
8670: 39 34 34 65 33 61 32 38 31 63 33 63 64 66 31 61  944e3a281c3cdf1a
8680: 64 33 35 64 34 66 64 36 32 63 39 34 31 37 64 63  d35d4fd62c9417dc
8690: 62 30 62 33 63 38 62 65 66 66 65 38 65 35 35 38  b0b3c8beffe8e558
86a0: 65 36 62 61 62 31 35 34 62 37 38 65 66 34 33 31  e6bab154b78ef431
86b0: 31 37 63 32 38 30 38 61 66 31 32 35 35 66 37 63  17c2808af1255f7c
86c0: 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  5]} \..-body {tl
86d0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
86e0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
86f0: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
8700: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
8710: 74 20 65 61 38 66 62 65 32 37 33 63 64 32 62 62  t ea8fbe273cd2bb
8720: 33 61 62 39 63 63 37 66 33 36 34 30 66 62 34 65  3ab9cc7f3640fb4e
8730: 33 31 35 33 61 30 32 38 64 38 62 61 39 61 38 38  3153a028d8ba9a88
8740: 30 62 33 62 38 32 31 39 30 30 36 63 32 38 32 38  0b3b8219006c2828
8750: 31 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  1f..tcltest::tes
8760: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
8770: 36 2d 32 2e 39 36 20 7b 53 48 41 35 31 32 5f 32  6-2.96 {SHA512_2
8780: 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  56ShortMsg} \..-
8790: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
87a0: 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70  12-256 \..-setup
87b0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
87c0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 31 65  ry decode hex 1e
87d0: 64 36 32 34 34 61 35 39 39 36 64 35 61 34 34 32  d6244a5996d5a442
87e0: 33 63 30 31 30 36 61 34 62 38 65 37 38 35 64 37  3c0106a4b8e785d7
87f0: 35 30 63 37 33 31 33 38 34 33 66 33 64 66 64 36  50c7313843f3dfd6
8800: 61 63 32 37 32 63 36 65 61 61 31 64 62 65 39 61  ac272c6eaa1dbe9a
8810: 62 65 35 64 63 64 34 35 37 34 35 33 65 32 36 32  be5dcd457453e262
8820: 34 36 61 33 64 66 64 64 62 64 63 31 34 30 64 32  46a3dfddbdc140d2
8830: 64 39 62 63 61 30 66 65 62 33 35 61 37 66 37 33  d9bca0feb35a7f73
8840: 36 31 36 61 34 32 38 66 31 61 35 36 37 62 32 65  616a428f1a567b2e
8850: 39 61 66 38 36 62 31 66 63 38 61 65 63 36 64 35  9af86b1fc8aec6d5
8860: 39 37 62 31 62 35 35 66 32 61 61 32 32 31 39 62  97b1b55f2aa2219b
8870: 33 62 36 36 32 66 61 36 62 64 33 34 30 37 39 36  3b662fa6bd340796
8880: 63 30 65 63 64 61 36 63 39 36 61 62 5d 7d 20 5c  c0ecda6c96ab]} \
8890: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
88a0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
88b0: 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64  512-256 -data $d
88c0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
88d0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 66 63  xact -result 8fc
88e0: 32 32 36 33 35 31 37 63 38 35 64 37 61 62 38 39  2263517c85d7ab89
88f0: 32 36 35 39 35 62 38 30 34 37 62 34 62 38 33 38  26595b8047b4b838
8900: 61 30 37 35 61 32 39 62 32 34 64 61 37 31 32 33  a075a29b24da7123
8910: 30 33 63 33 65 36 65 35 39 37 65 34 39 0a 0a 74  03c3e6e597e49..t
8920: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
8930: 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 39  h_SHA512-256-2.9
8940: 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  7 {SHA512_256Sho
8950: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
8960: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
8970: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
8980: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
8990: 63 6f 64 65 20 68 65 78 20 36 33 31 38 38 37 38  code hex 6318878
89a0: 31 66 34 65 39 63 62 64 31 65 38 39 61 35 34 61  1f4e9cbd1e89a54a
89b0: 36 35 64 61 30 35 33 62 39 33 37 32 32 65 31 31  65da053b93722e11
89c0: 30 36 66 30 30 66 30 32 34 61 64 31 35 38 32 34  06f00f024ad15824
89d0: 32 31 61 62 39 31 39 33 32 36 66 38 61 36 65 31  21ab919326f8a6e1
89e0: 37 35 33 36 64 36 35 39 36 65 33 63 66 34 31 33  7536d6596e3cf413
89f0: 61 39 32 33 31 31 34 31 37 33 33 65 33 37 61 61  a9231141733e37aa
8a00: 65 35 34 30 66 38 37 31 31 63 65 66 61 66 65 34  e540f8711cefafe4
8a10: 38 39 61 38 37 63 34 66 32 65 36 66 64 39 34 32  89a87c4f2e6fd942
8a20: 66 36 38 30 39 66 33 62 65 66 33 30 37 36 37 36  f6809f3bef307676
8a30: 33 34 38 37 64 65 34 38 63 32 65 65 38 38 37 33  3487de48c2ee8873
8a40: 33 63 35 62 63 38 37 30 36 31 37 61 36 36 38 63  3c5bc870617a668c
8a50: 36 66 30 31 34 37 31 65 64 5d 7d 20 5c 0a 09 2d  6f01471ed]} \..-
8a60: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
8a70: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
8a80: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
8a90: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
8aa0: 74 20 2d 72 65 73 75 6c 74 20 39 31 61 38 65 32  t -result 91a8e2
8ab0: 38 35 30 32 39 30 38 35 65 32 32 34 39 38 37 30  85029085e2249870
8ac0: 37 38 30 36 36 34 38 36 62 36 63 36 30 35 63 62  78066486b6c605cb
8ad0: 61 63 32 37 65 34 39 65 38 34 66 34 36 33 39 37  ac27e49e84f46397
8ae0: 31 30 64 64 64 30 35 64 33 33 0a 0a 74 63 6c 74  10ddd05d33..tclt
8af0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
8b00: 48 41 35 31 32 2d 32 35 36 2d 32 2e 39 38 20 7b  HA512-256-2.98 {
8b10: 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d  SHA512_256ShortM
8b20: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
8b30: 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c  nts SHA512-256 \
8b40: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
8b50: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
8b60: 65 20 68 65 78 20 33 37 31 31 37 31 62 36 32 36  e hex 371171b626
8b70: 63 63 65 61 38 62 32 39 38 30 64 63 64 33 33 62  ccea8b2980dcd33b
8b80: 63 62 62 38 34 39 66 65 35 37 64 32 30 31 30 30  cbb849fe57d20100
8b90: 30 62 63 32 34 34 33 64 38 33 30 61 39 62 65 36  0bc2443d830a9be6
8ba0: 62 65 66 61 32 61 36 31 31 37 64 31 33 66 39 31  befa2a6117d13f91
8bb0: 37 37 32 35 32 62 35 37 63 38 38 35 35 31 35 39  77252b57c8855159
8bc0: 61 64 35 63 37 63 30 32 37 30 31 38 37 36 63 61  ad5c7c02701876ca
8bd0: 33 63 38 63 64 36 62 37 38 63 39 33 31 39 32 33  3c8cd6b78c931923
8be0: 65 33 66 37 66 34 63 31 62 65 39 31 65 39 64 62  e3f7f4c1be91e9db
8bf0: 63 36 62 31 31 39 64 64 34 62 63 30 35 39 31 37  c6b119dd4bc05917
8c00: 65 65 32 33 38 37 62 66 39 64 36 33 31 66 33 35  ee2387bf9d631f35
8c10: 63 35 38 62 30 39 38 62 63 32 64 32 62 35 34 35  c58b098bc2d2b545
8c20: 39 62 37 61 36 61 35 64 5d 7d 20 5c 0a 09 2d 62  9b7a6a5d]} \..-b
8c30: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
8c40: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d   -digest SHA512-
8c50: 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d  256 -data $data}
8c60: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
8c70: 20 2d 72 65 73 75 6c 74 20 65 36 38 36 35 35 31   -result e686551
8c80: 34 39 64 63 31 34 62 63 35 37 35 39 62 38 63 61  49dc14bc5759b8ca
8c90: 63 62 37 63 32 64 32 61 38 35 30 34 35 36 61 36  cb7c2d2a850456a6
8ca0: 34 61 38 37 61 66 34 31 64 65 38 34 66 35 36 37  4a87af41de84f567
8cb0: 66 66 65 39 63 35 65 36 30 0a 0a 74 63 6c 74 65  ffe9c5e60..tclte
8cc0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
8cd0: 41 35 31 32 2d 32 35 36 2d 32 2e 39 39 20 7b 53  A512-256-2.99 {S
8ce0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
8cf0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8d00: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
8d10: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
8d20: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
8d30: 20 68 65 78 20 39 62 66 37 63 37 64 39 39 30 35   hex 9bf7c7d9905
8d40: 39 32 34 38 35 38 39 62 31 38 61 33 66 64 33 62  9248589b18a3fd3b
8d50: 30 33 66 34 61 37 32 64 32 31 64 32 61 61 63 64  03f4a72d21d2aacd
8d60: 36 33 35 62 35 63 63 37 31 62 38 36 64 32 30 34  635b5cc71b86d204
8d70: 33 31 38 30 64 34 34 30 61 36 61 36 32 61 32 31  3180d440a6a62a21
8d80: 36 30 66 35 63 33 61 66 64 39 33 36 35 39 66 38  60f5c3afd93659f8
8d90: 66 64 35 66 31 34 32 30 63 36 38 35 37 66 33 39  fd5f1420c6857f39
8da0: 35 33 61 64 66 61 35 65 31 37 33 31 63 37 32 33  53adfa5e1731c723
8db0: 31 61 30 37 63 64 66 38 36 31 31 31 64 36 30 31  1a07cdf86111d601
8dc0: 31 37 66 65 32 31 66 65 62 66 33 63 37 66 39 30  17fe21febf3c7f90
8dd0: 36 65 32 37 31 63 39 36 34 39 64 30 61 65 61 38  6e271c9649d0aea8
8de0: 36 65 39 34 62 66 37 32 38 65 39 64 61 64 35 32  6e94bf728e9dad52
8df0: 62 34 35 64 37 66 34 64 33 5d 7d 20 5c 0a 09 2d  b45d7f4d3]} \..-
8e00: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
8e10: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
8e20: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
8e30: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
8e40: 74 20 2d 72 65 73 75 6c 74 20 33 38 35 62 39 35  t -result 385b95
8e50: 35 34 31 35 35 38 61 64 30 61 39 61 32 30 63 62  541558ad0a9a20cb
8e60: 39 31 31 31 36 65 64 61 30 33 63 35 61 36 39 34  91116eda03c5a694
8e70: 63 61 39 35 65 61 62 31 63 61 66 35 63 30 64 31  ca95eab1caf5c0d1
8e80: 35 30 31 38 39 39 64 33 62 64 0a 0a 74 63 6c 74  501899d3bd..tclt
8e90: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
8ea0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 30 30 20  HA512-256-2.100 
8eb0: 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74  {SHA512_256Short
8ec0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
8ed0: 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20  ints SHA512-256 
8ee0: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
8ef0: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
8f00: 64 65 20 68 65 78 20 31 39 37 33 32 36 33 61 32  de hex 1973263a2
8f10: 36 64 34 61 34 31 38 63 36 39 31 64 64 35 66 35  6d4a418c691dd5f5
8f20: 63 63 62 37 64 64 37 32 34 31 65 62 63 61 65 32  ccb7dd7241ebcae2
8f30: 34 63 63 65 62 62 65 36 30 31 37 34 63 30 66 34  4ccebbe60174c0f4
8f40: 65 65 65 32 37 39 64 38 39 63 63 31 61 35 62 63  eee279d89cc1a5bc
8f50: 39 64 65 62 31 37 37 31 33 36 34 33 37 65 30 32  9deb177136437e02
8f60: 64 35 39 63 62 30 36 35 35 35 36 62 36 65 31 33  d59cb065556b6e13
8f70: 32 62 34 66 62 33 34 30 62 66 31 33 30 31 33 33  2b4fb340bf130133
8f80: 37 35 34 38 64 61 33 64 35 64 34 34 33 32 31 62  7548da3d5d44321b
8f90: 64 33 37 30 65 32 35 62 36 37 37 30 65 32 38 65  d370e25b6770e28e
8fa0: 39 36 39 64 33 34 34 39 35 61 30 62 37 33 63 30  969d34495a0b73c0
8fb0: 35 39 30 37 30 62 63 62 66 65 66 65 35 65 32 66  59070bcbfefe5e2f
8fc0: 66 36 31 34 31 66 63 36 33 35 33 34 36 5d 7d 20  f6141fc635346]} 
8fd0: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
8fe0: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
8ff0: 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24  A512-256 -data $
9000: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
9010: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33 39  exact -result 39
9020: 64 38 37 34 30 64 35 36 65 35 38 66 30 32 37 61  d8740d56e58f027a
9030: 36 61 66 31 33 63 63 65 39 62 36 34 38 34 62 32  6af13cce9b6484b2
9040: 33 66 61 36 62 33 36 39 33 33 35 34 31 37 35 63  3fa6b3693354175c
9050: 30 33 34 61 63 31 37 37 38 61 31 61 37 35 0a 0a  034ac1778a1a75..
9060: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
9070: 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e  sh_SHA512-256-2.
9080: 31 30 31 20 7b 53 48 41 35 31 32 5f 32 35 36 53  101 {SHA512_256S
9090: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
90a0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
90b0: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
90c0: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
90d0: 64 65 63 6f 64 65 20 68 65 78 20 65 63 38 65 65  decode hex ec8ee
90e0: 36 35 63 65 66 30 35 34 35 32 64 65 66 65 38 33  65cef05452defe83
90f0: 32 65 30 61 33 61 33 62 61 36 31 31 36 61 38 64  2e0a3a3ba6116a8d
9100: 35 64 36 61 38 36 33 38 65 32 65 35 36 36 66 36  5d6a8638e2e566f6
9110: 33 66 64 33 63 30 61 65 66 38 37 35 38 63 36 63  3fd3c0aef8758c6c
9120: 36 31 61 39 31 38 32 61 31 61 32 66 38 39 39 62  61a9182a1a2f899b
9130: 62 37 37 34 64 35 39 37 61 37 39 63 35 62 37 35  b774d597a79c5b75
9140: 32 35 66 30 61 34 30 65 37 34 63 38 34 35 33 37  25f0a40e74c84537
9150: 31 61 33 64 37 38 65 36 35 31 64 61 64 38 36 35  1a3d78e651dad865
9160: 32 31 39 62 35 62 62 30 38 33 33 65 63 63 62 30  219b5bb0833eccb0
9170: 30 31 37 31 62 65 35 66 38 39 38 61 30 38 31 64  0171be5f898a081d
9180: 65 66 63 37 32 34 65 65 66 39 61 36 30 36 63 32  efc724eef9a606c2
9190: 30 61 38 39 39 64 63 62 64 34 65 37 31 33 35 35  0a899dcbd4e71355
91a0: 30 66 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  0fe]} \..-body {
91b0: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
91c0: 65 73 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d  est SHA512-256 -
91d0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
91e0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
91f0: 75 6c 74 20 33 65 37 61 36 35 32 64 38 39 64 66  ult 3e7a652d89df
9200: 39 65 64 37 63 61 63 66 35 33 64 30 33 33 39 39  9ed7cacf53d03399
9210: 37 63 38 37 35 32 38 62 38 63 63 33 37 64 35 39  7c87528b8cc37d59
9220: 62 38 65 61 66 62 65 64 62 65 34 65 38 65 39 63  b8eafbedbe4e8e9c
9230: 35 63 33 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  5c3b..tcltest::t
9240: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
9250: 32 35 36 2d 32 2e 31 30 32 20 7b 53 48 41 35 31  256-2.102 {SHA51
9260: 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  2_256ShortMsg} \
9270: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
9280: 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65  HA512-256 \..-se
9290: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
92a0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
92b0: 20 64 66 34 31 30 61 38 62 36 35 66 31 37 31 33   df410a8b65f1713
92c0: 39 66 63 38 65 62 38 34 39 35 64 66 38 31 33 62  9fc8eb8495df813b
92d0: 31 66 36 66 39 66 31 62 37 34 37 31 63 37 65 36  1f6f9f1b7471c7e6
92e0: 32 38 63 63 33 36 64 32 65 39 63 37 34 66 36 30  28cc36d2e9c74f60
92f0: 33 31 31 37 34 31 61 36 38 61 39 39 37 32 65 66  311741a68a9972ef
9300: 35 65 63 35 36 39 37 30 36 30 66 32 32 64 33 62  5ec5697060f22d3b
9310: 37 31 39 66 38 62 39 30 63 34 34 33 36 30 31 36  719f8b90c4436016
9320: 66 61 36 61 64 30 36 36 30 31 30 66 37 63 62 36  fa6ad066010f7cb6
9330: 38 33 37 30 61 33 63 34 65 31 31 30 65 62 37 38  8370a3c4e110eb78
9340: 65 38 32 36 63 63 62 30 37 33 38 32 38 34 30 66  e826ccb07382840f
9350: 34 64 34 37 30 35 37 31 64 34 61 37 35 35 32 34  4d470571d4a75524
9360: 66 38 61 37 39 33 37 30 39 36 30 32 39 64 32 37  f8a7937096029d27
9370: 38 39 38 32 65 66 39 61 35 36 37 5d 7d 20 5c 0a  8982ef9a567]} \.
9380: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
9390: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
93a0: 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  12-256 -data $da
93b0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
93c0: 61 63 74 20 2d 72 65 73 75 6c 74 20 32 39 34 63  act -result 294c
93d0: 38 37 38 38 30 33 36 30 39 38 66 34 39 63 32 33  8788036098f49c23
93e0: 30 31 36 35 33 34 64 30 33 32 39 33 39 64 35 65  016534d032939d5e
93f0: 39 36 33 38 65 33 65 34 65 38 34 37 34 35 33 33  9638e3e4e8474533
9400: 66 35 32 62 36 36 38 66 32 64 61 31 0a 0a 74 63  f52b668f2da1..tc
9410: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
9420: 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 30  _SHA512-256-2.10
9430: 33 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  3 {SHA512_256Sho
9440: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
9450: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
9460: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
9470: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
9480: 63 6f 64 65 20 68 65 78 20 32 37 63 32 65 65 35  code hex 27c2ee5
9490: 66 36 33 63 31 31 34 63 31 66 36 31 35 33 30 36  f63c114c1f615306
94a0: 38 35 63 31 39 63 32 31 61 34 62 37 64 34 37 62  85c19c21a4b7d47b
94b0: 33 34 32 38 65 36 62 38 32 36 35 62 38 37 62 66  3428e6b8265b87bf
94c0: 30 38 38 34 39 31 39 36 32 38 61 37 37 33 33 36  0884919628a77336
94d0: 31 65 34 61 35 33 36 66 39 38 31 65 32 37 65 35  1e4a536f981e27e5
94e0: 65 64 31 62 33 31 32 64 36 31 39 31 32 38 65 64  ed1b312d619128ed
94f0: 32 30 64 62 36 36 30 35 65 61 30 39 35 33 37 62  20db6605ea09537b
9500: 63 31 62 61 38 62 39 34 63 36 63 65 65 37 35 62  c1ba8b94c6cee75b
9510: 30 63 31 62 33 31 38 32 63 35 36 31 32 65 33 35  0c1b3182c5612e35
9520: 33 38 62 62 39 35 63 65 30 33 61 65 63 34 34 65  38bb95ce03aec44e
9530: 32 34 37 63 64 63 61 31 63 37 39 64 61 66 65 61  247cdca1c79dafea
9540: 62 38 38 62 37 38 38 65 39 37 37 32 65 39 61 39  b88b788e9772e9a9
9550: 32 32 33 37 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79  22374]} \..-body
9560: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
9570: 69 67 65 73 74 20 53 48 41 35 31 32 2d 32 35 36  igest SHA512-256
9580: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
9590: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
95a0: 65 73 75 6c 74 20 63 66 30 32 37 66 36 30 31 37  esult cf027f6017
95b0: 36 31 38 64 39 37 30 64 61 38 33 38 36 35 64 38  618d970da83865d8
95c0: 64 61 35 36 30 66 34 35 34 63 65 32 62 64 38 36  da560f454ce2bd86
95d0: 61 66 35 39 36 32 34 66 62 38 37 63 38 65 34 38  af59624fb87c8e48
95e0: 62 65 62 32 30 38 0a 0a 74 63 6c 74 65 73 74 3a  beb208..tcltest:
95f0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
9600: 32 2d 32 35 36 2d 32 2e 31 30 34 20 7b 53 48 41  2-256-2.104 {SHA
9610: 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  512_256ShortMsg}
9620: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
9630: 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d   SHA512-256 \..-
9640: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
9650: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
9660: 65 78 20 32 66 35 31 30 62 37 32 61 64 31 61 32  ex 2f510b72ad1a2
9670: 36 66 65 61 64 36 36 39 63 63 61 66 65 39 61 64  6fead669ccafe9ad
9680: 30 66 65 33 31 63 65 30 61 31 32 66 33 64 30 36  0fe31ce0a12f3d06
9690: 62 65 65 39 61 36 63 32 37 35 30 66 64 65 62 65  bee9a6c2750fdebe
96a0: 65 36 64 38 39 64 61 61 62 64 62 39 31 30 64 37  e6d89daabdb910d7
96b0: 31 61 65 65 36 65 33 62 32 65 32 61 38 63 61 62  1aee6e3b2e2a8cab
96c0: 33 66 39 35 62 30 36 33 63 65 34 33 64 61 66 39  3f95b063ce43daf9
96d0: 34 32 37 64 37 66 39 61 64 33 39 64 33 62 39 39  427d7f9ad39d3b99
96e0: 62 32 39 30 64 32 34 34 61 38 37 65 64 64 39 37  b290d244a87edd97
96f0: 31 38 32 66 33 32 32 63 32 34 65 39 33 37 36 36  182f322c24e93766
9700: 34 63 39 34 34 34 33 61 32 35 64 64 34 65 62 65  4c94443a25dd4ebe
9710: 35 32 38 66 65 30 63 64 66 35 61 33 65 30 35 30  528fe0cdf5a3e050
9720: 61 64 66 65 34 62 36 35 31 33 66 36 38 38 37 30  adfe4b6513f68870
9730: 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  c]} \..-body {tl
9740: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
9750: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
9760: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
9770: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
9780: 74 20 38 39 36 39 37 32 37 66 35 32 32 61 62 33  t 8969727f522ab3
9790: 39 32 64 31 31 63 33 63 66 61 37 64 30 32 66 61  92d11c3cfa7d02fa
97a0: 32 66 39 62 34 35 37 61 31 64 65 32 61 66 64 33  2f9b457a1de2afd3
97b0: 36 30 61 63 39 62 32 62 34 66 65 63 65 38 34 65  60ac9b2b4fece84e
97c0: 33 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  32..tcltest::tes
97d0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
97e0: 36 2d 32 2e 31 30 35 20 7b 53 48 41 35 31 32 5f  6-2.105 {SHA512_
97f0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
9800: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
9810: 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75  512-256 \..-setu
9820: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
9830: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 32  ary decode hex 2
9840: 61 38 31 65 62 30 65 36 66 31 64 31 33 64 66 36  a81eb0e6f1d13df6
9850: 35 34 34 63 36 39 33 32 31 63 35 36 31 61 34 38  544c69321c561a48
9860: 39 66 66 39 64 37 37 62 39 61 65 31 31 64 37 61  9ff9d77b9ae11d7a
9870: 36 30 34 66 38 61 32 30 31 66 63 33 35 63 32 35  604f8a201fc35c25
9880: 66 65 62 39 34 35 66 39 36 35 37 35 33 35 33 36  feb945f965753536
9890: 61 30 64 65 31 64 66 36 39 36 65 65 35 39 63 31  a0de1df696ee59c1
98a0: 33 30 61 38 32 62 34 33 65 37 30 64 39 35 31 62  30a82b43e70d951b
98b0: 39 34 33 64 30 35 36 33 30 39 31 31 32 34 65 34  943d0563091124e4
98c0: 66 36 31 35 38 61 31 32 61 38 62 65 36 30 65 64  f6158a12a8be60ed
98d0: 64 63 64 35 38 35 35 36 66 31 61 39 65 33 34 66  dcd58556f1a9e34f
98e0: 64 33 35 34 36 39 35 31 34 37 66 66 39 30 36 35  d354695147ff9065
98f0: 65 30 65 34 39 36 39 38 31 66 65 61 61 65 64 34  e0e496981feaaed4
9900: 34 30 63 62 64 33 64 66 34 36 30 64 35 66 37 5d  40cbd3df460d5f7]
9910: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9920: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9930: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
9940: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
9950: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
9960: 33 38 31 38 61 31 34 62 34 61 62 64 39 30 30 63  3818a14b4abd900c
9970: 38 32 33 32 37 35 64 34 35 61 66 65 61 36 65 64  823275d45afea6ed
9980: 31 64 66 36 63 63 36 35 39 65 62 33 65 66 33 38  1df6cc659eb3ef38
9990: 37 34 34 35 66 38 61 64 33 39 30 33 36 32 33 66  7445f8ad3903623f
99a0: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
99b0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
99c0: 32 2e 31 30 36 20 7b 53 48 41 35 31 32 5f 32 35  2.106 {SHA512_25
99d0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
99e0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
99f0: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
9a00: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
9a10: 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 61 61  y decode hex 9aa
9a20: 31 66 61 35 34 30 61 63 62 34 64 32 61 35 39 61  1fa540acb4d2a59a
9a30: 36 61 33 61 61 38 63 32 66 64 62 63 64 30 61 34  6a3aa8c2fdbcd0a4
9a40: 61 31 37 62 36 62 35 35 35 30 38 65 36 35 61 30  a17b6b55508e65a0
9a50: 33 36 63 62 33 34 62 36 38 64 34 66 36 34 61 35  36cb34b68d4f64a5
9a60: 30 61 62 30 35 61 39 64 35 37 34 65 31 62 30 33  0ab05a9d574e1b03
9a70: 31 35 33 62 30 33 66 64 30 63 66 36 64 62 34 61  153b03fd0cf6db4a
9a80: 61 64 36 64 65 30 66 63 66 30 31 63 36 35 35 34  ad6de0fcf01c6554
9a90: 33 31 61 35 64 33 32 30 64 64 63 66 64 65 31 38  31a5d320ddcfde18
9aa0: 62 66 39 31 65 35 31 30 38 36 32 38 34 38 30 39  bf91e51086284809
9ab0: 30 63 32 62 37 32 62 30 33 34 62 62 34 61 61 36  0c2b72b034bb4aa6
9ac0: 39 62 36 65 32 31 36 38 35 38 35 34 37 61 63 61  9b6e216858547aca
9ad0: 64 38 63 66 63 37 36 64 39 61 66 64 65 32 38 66  d8cfc76d9afde28f
9ae0: 39 65 64 38 37 34 38 38 63 39 65 37 64 39 31 5d  9ed87488c9e7d91]
9af0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9b00: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9b10: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
9b20: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
9b30: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
9b40: 66 39 34 32 34 62 33 64 64 37 39 64 35 35 35 65  f9424b3dd79d555e
9b50: 32 66 35 66 38 61 31 38 35 39 33 33 66 37 37 64  2f5f8a185933f77d
9b60: 62 39 35 38 36 34 66 34 62 35 39 37 65 65 38 30  b95864f4b597ee80
9b70: 35 64 35 62 36 32 66 65 30 33 39 36 36 37 33 65  5d5b62fe0396673e
9b80: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
9b90: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
9ba0: 32 2e 31 30 37 20 7b 53 48 41 35 31 32 5f 32 35  2.107 {SHA512_25
9bb0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
9bc0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
9bd0: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
9be0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
9bf0: 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 63 66  y decode hex ccf
9c00: 32 63 63 30 63 64 32 32 33 62 38 30 65 62 62 64  2cc0cd223b80ebbd
9c10: 34 39 64 62 39 65 64 65 37 61 32 32 38 36 32 38  49db9ede7a228628
9c20: 31 32 64 62 63 34 62 31 61 61 36 63 39 66 61 64  12dbc4b1aa6c9fad
9c30: 30 37 66 38 65 66 65 30 31 37 31 36 62 39 30 31  07f8efe01716b901
9c40: 38 30 38 34 65 32 65 61 37 36 31 36 66 38 35 62  8084e2ea7616f85b
9c50: 37 33 33 33 64 39 34 35 63 30 63 39 37 30 66 38  7333d945c0c970f8
9c60: 63 64 64 34 30 30 31 33 30 62 39 38 64 62 36 37  cdd400130b98db67
9c70: 63 64 61 36 31 64 38 37 63 65 35 35 62 64 38 66  cda61d87ce55bd8f
9c80: 30 36 65 34 65 38 66 35 61 62 66 66 32 32 36 35  06e4e8f5abff2265
9c90: 35 64 35 64 39 33 33 32 38 61 63 61 34 32 34 39  5d5d93328aca4249
9ca0: 62 62 64 37 36 65 31 30 61 63 34 61 39 61 64 62  bbd76e10ac4a9adb
9cb0: 37 63 36 63 30 34 64 36 34 35 33 39 64 36 64 32  7c6c04d64539d6d2
9cc0: 32 30 39 66 35 33 66 36 34 35 39 30 30 36 35 35  209f53f645900655
9cd0: 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  7]} \..-body {tl
9ce0: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
9cf0: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
9d00: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
9d10: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
9d20: 74 20 30 36 64 31 63 64 35 34 34 66 39 35 34 31  t 06d1cd544f9541
9d30: 36 30 61 64 65 38 33 61 31 30 32 65 62 39 33 35  60ade83a102eb935
9d40: 66 37 66 39 34 38 30 30 39 35 39 31 62 33 65 61  f7f948009591b3ea
9d50: 64 61 66 34 37 36 35 38 36 38 63 36 33 34 35 30  daf4765868c63450
9d60: 64 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  d8..tcltest::tes
9d70: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
9d80: 36 2d 32 2e 31 30 38 20 7b 53 48 41 35 31 32 5f  6-2.108 {SHA512_
9d90: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
9da0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
9db0: 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75  512-256 \..-setu
9dc0: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
9dd0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35  ary decode hex 5
9de0: 61 61 31 62 38 35 63 61 38 34 66 32 34 66 34 38  aa1b85ca84f24f48
9df0: 37 66 36 39 65 37 39 36 32 36 38 38 32 36 35 31  7f69e79626882651
9e00: 38 31 35 34 62 64 36 61 32 32 34 35 38 33 65 66  8154bd6a224583ef
9e10: 36 63 33 66 31 35 63 32 62 62 62 38 35 36 62 64  6c3f15c2bbb856bd
9e20: 64 34 37 33 35 39 39 64 33 32 36 39 37 62 61 64  d473599d32697bad
9e30: 66 65 66 62 33 33 65 30 36 61 35 35 32 36 30 65  fefb33e06a55260e
9e40: 31 38 62 37 39 61 31 34 33 33 39 33 30 37 35 31  18b79a1433930751
9e50: 64 66 30 38 37 33 63 39 65 32 62 64 62 37 33 39  df0873c9e2bdb739
9e60: 65 37 36 35 36 32 63 33 63 38 33 62 35 62 62 63  e76562c3c83b5bbc
9e70: 36 37 62 34 65 62 33 64 61 39 32 35 31 31 31 63  67b4eb3da925111c
9e80: 62 64 65 34 65 62 36 34 36 36 39 66 37 31 62 33  bde4eb64669f71b3
9e90: 36 38 35 32 38 34 30 65 34 35 66 32 34 65 35 36  6852840e45f24e56
9ea0: 33 64 37 32 32 66 64 32 62 38 66 30 38 36 30 30  3d722fd2b8f08600
9eb0: 34 34 32 37 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79  44276]} \..-body
9ec0: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
9ed0: 69 67 65 73 74 20 53 48 41 35 31 32 2d 32 35 36  igest SHA512-256
9ee0: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
9ef0: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
9f00: 65 73 75 6c 74 20 63 37 36 30 64 65 35 36 31 32  esult c760de5612
9f10: 65 63 39 64 30 34 37 38 34 38 37 32 37 62 32 36  ec9d047848727b26
9f20: 31 63 38 38 37 36 62 36 63 33 33 62 32 63 35 37  1c8876b6c33b2c57
9f30: 65 65 31 61 63 39 39 64 61 30 38 39 30 63 30 30  ee1ac99da0890c00
9f40: 39 62 39 35 34 30 0a 0a 74 63 6c 74 65 73 74 3a  9b9540..tcltest:
9f50: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
9f60: 32 2d 32 35 36 2d 32 2e 31 30 39 20 7b 53 48 41  2-256-2.109 {SHA
9f70: 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  512_256ShortMsg}
9f80: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
9f90: 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d   SHA512-256 \..-
9fa0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
9fb0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
9fc0: 65 78 20 62 36 31 33 65 65 62 62 61 64 37 61 31  ex b613eebbad7a1
9fd0: 38 36 30 39 32 38 61 65 37 33 32 39 61 33 38 63  860928ae7329a38c
9fe0: 66 65 38 36 66 31 31 37 34 61 35 37 39 37 34 30  fe86f1174a579740
9ff0: 65 63 63 35 63 66 66 31 32 31 36 63 32 34 37 30  ecc5cff1216c2470
a000: 66 65 32 35 61 63 63 64 35 63 63 32 31 32 63 64  fe25accd5cc212cd
a010: 64 38 30 65 30 39 36 65 35 64 31 66 35 38 32 64  d80e096e5d1f582d
a020: 62 30 35 35 37 39 66 66 63 37 33 64 35 30 64 33  b05579ffc73d50d3
a030: 64 35 31 39 65 63 64 65 61 63 37 30 36 37 36 38  d519ecdeac706768
a040: 64 34 37 38 37 32 39 31 31 32 31 30 36 63 36 32  d478729112106c62
a050: 37 35 32 35 38 36 30 65 39 39 64 30 35 65 66 62  7525860e99d05efb
a060: 64 64 65 34 63 34 35 37 64 39 61 36 37 34 34 64  dde4c457d9a6744d
a070: 35 64 61 31 30 34 64 65 63 33 61 34 33 66 62 34  5da104dec3a43fb4
a080: 36 33 64 34 36 31 32 65 39 65 33 65 37 62 32 62  63d4612e9e3e7b2b
a090: 65 37 65 30 35 64 31 33 62 63 31 5d 7d 20 5c 0a  e7e05d13bc1]} \.
a0a0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
a0b0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
a0c0: 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  12-256 -data $da
a0d0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
a0e0: 61 63 74 20 2d 72 65 73 75 6c 74 20 30 31 32 34  act -result 0124
a0f0: 39 39 66 34 65 36 65 32 61 66 33 62 35 33 30 64  99f4e6e2af3b530d
a100: 32 36 34 62 63 65 39 37 65 33 34 34 34 30 35 66  264bce97e344405f
a110: 66 65 35 39 63 30 34 62 33 31 34 33 32 65 37 66  fe59c04b31432e7f
a120: 30 34 34 36 61 36 65 66 33 33 61 65 0a 0a 74 63  0446a6ef33ae..tc
a130: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
a140: 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 31  _SHA512-256-2.11
a150: 30 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  0 {SHA512_256Sho
a160: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
a170: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
a180: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
a190: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
a1a0: 63 6f 64 65 20 68 65 78 20 38 32 33 65 66 30 39  code hex 823ef09
a1b0: 61 30 61 36 35 37 64 32 38 66 66 65 38 31 37 33  a0a657d28ffe8173
a1c0: 62 36 63 66 30 34 62 66 34 37 39 35 61 39 36 62  b6cf04bf4795a96b
a1d0: 33 39 62 31 39 33 33 39 36 30 38 64 35 33 32 33  39b19339608d5323
a1e0: 63 36 65 64 38 63 61 63 66 65 34 32 62 66 30 34  c6ed8cacfe42bf04
a1f0: 31 32 31 66 63 32 38 64 35 65 62 34 33 39 63 65  121fc28d5eb439ce
a200: 32 64 33 61 36 36 62 64 34 32 30 39 39 34 33 37  2d3a66bd42099437
a210: 33 30 39 63 39 33 32 36 38 32 37 62 62 62 39 66  309c9326827bbb9f
a220: 63 32 39 62 30 32 33 32 34 63 61 63 64 31 34 62  c29b02324cacd14b
a230: 62 30 30 37 38 36 35 30 65 37 36 30 35 32 66 39  b0078650e76052f9
a240: 64 33 64 39 32 32 36 32 30 62 66 32 66 32 39 63  d3d922620bf2f29c
a250: 39 66 34 34 33 31 37 63 39 64 38 32 62 65 33 31  9f44317c9d82be31
a260: 35 31 63 32 33 65 62 36 61 31 62 36 61 38 35 38  51c23eb6a1b6a858
a270: 65 31 31 61 31 64 62 64 61 38 37 37 34 66 61 66  e11a1dbda8774faf
a280: 35 31 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  512]} \..-body {
a290: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
a2a0: 65 73 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d  est SHA512-256 -
a2b0: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
a2c0: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
a2d0: 75 6c 74 20 30 38 30 34 32 63 37 39 35 30 37 32  ult 08042c795072
a2e0: 36 38 66 64 63 65 62 66 31 32 37 31 39 36 31 30  68fdcebf12719610
a2f0: 32 31 39 64 31 33 36 34 31 31 37 65 36 36 39 31  219d1364117e6691
a300: 36 62 39 65 30 63 31 61 32 61 65 64 66 35 62 34  6b9e0c1a2aedf5b4
a310: 61 38 64 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  a8df..tcltest::t
a320: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
a330: 32 35 36 2d 32 2e 31 31 31 20 7b 53 48 41 35 31  256-2.111 {SHA51
a340: 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  2_256ShortMsg} \
a350: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
a360: 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65  HA512-256 \..-se
a370: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
a380: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
a390: 20 39 36 30 37 63 63 61 34 35 38 37 33 61 64 64   9607cca45873add
a3a0: 31 39 61 39 33 64 63 63 66 33 64 30 66 37 39 30  19a93dccf3d0f790
a3b0: 65 38 35 36 66 66 33 30 62 38 34 63 38 32 31 31  e856ff30b84c8211
a3c0: 61 64 36 39 62 38 65 36 32 38 66 66 61 31 34 32  ad69b8e628ffa142
a3d0: 39 37 32 65 63 61 63 35 32 36 34 31 33 38 34 32  972ecac526413842
a3e0: 33 32 30 38 63 35 32 34 63 32 62 31 37 65 39 32  3208c524c2b17e92
a3f0: 35 30 62 37 38 30 39 33 38 62 34 31 64 37 63 66  50b780938b41d7cf
a400: 66 34 33 30 30 35 65 65 66 65 65 63 66 62 64 62  f43005eefeecfbdb
a410: 35 33 62 34 62 36 32 62 66 37 31 65 65 65 64 66  53b4b62bf71eeedf
a420: 65 34 63 64 30 32 38 65 61 66 35 63 62 39 35 63  e4cd028eaf5cb95c
a430: 37 33 31 64 64 34 39 32 37 64 39 63 66 66 64 62  731dd4927d9cffdb
a440: 31 38 61 31 34 36 33 32 30 39 64 66 34 62 36 38  18a1463209df4b68
a450: 66 35 61 65 61 39 35 66 33 36 38 34 61 31 31 65  f5aea95f3684a11e
a460: 39 38 38 32 36 30 35 62 32 38 34 37 33 5d 7d 20  9882605b28473]} 
a470: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
a480: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
a490: 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24  A512-256 -data $
a4a0: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
a4b0: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37 33  exact -result 73
a4c0: 62 34 30 38 36 64 36 39 30 61 63 65 36 39 34 30  b4086d690ace6940
a4d0: 63 30 31 39 31 32 61 63 62 33 61 35 37 62 66 63  c01912acb3a57bfc
a4e0: 31 35 63 34 61 31 36 63 34 30 61 39 30 62 34 33  15c4a16c40a90b43
a4f0: 32 39 66 31 66 61 39 66 33 30 38 35 64 32 0a 0a  29f1fa9f3085d2..
a500: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
a510: 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e  sh_SHA512-256-2.
a520: 31 31 32 20 7b 53 48 41 35 31 32 5f 32 35 36 53  112 {SHA512_256S
a530: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
a540: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
a550: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
a560: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
a570: 64 65 63 6f 64 65 20 68 65 78 20 35 37 33 31 66  decode hex 5731f
a580: 34 36 37 63 35 62 39 32 33 63 34 33 61 66 39 63  467c5b923c43af9c
a590: 35 66 61 38 34 39 61 61 64 32 31 61 62 38 64 64  5fa849aad21ab8dd
a5a0: 37 64 62 31 63 61 31 61 36 38 37 30 36 35 35 37  7db1ca1a68706557
a5b0: 31 62 37 30 35 65 61 33 65 65 34 66 65 62 64 63  1b705ea3ee4febdc
a5c0: 64 36 31 34 61 64 34 64 39 38 65 31 36 62 37 39  d614ad4d98e16b79
a5d0: 61 34 65 30 39 38 31 38 65 62 62 32 38 33 36 37  a4e09818ebb28367
a5e0: 39 31 38 66 37 35 37 61 62 30 36 65 31 62 34 38  918f757ab06e1b48
a5f0: 31 66 62 64 61 38 32 32 65 66 31 34 33 61 64 62  1fbda822ef143adb
a600: 62 35 62 30 65 37 30 34 64 35 64 32 32 32 32 61  b5b0e704d5d2222a
a610: 37 33 63 30 31 35 33 65 66 31 34 61 38 31 37 62  73c0153ef14a817b
a620: 35 63 39 62 37 61 32 33 31 33 66 64 31 31 35 63  5c9b7a2313fd115c
a630: 63 63 65 34 36 39 38 65 33 66 30 65 66 61 39 63  cce4698e3f0efa9c
a640: 37 33 64 35 61 62 33 30 38 39 61 32 37 65 33 66  73d5ab3089a27e3f
a650: 33 61 64 62 32 33 37 35 39 5d 7d 20 5c 0a 09 2d  3adb23759]} \..-
a660: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
a670: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
a680: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
a690: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
a6a0: 74 20 2d 72 65 73 75 6c 74 20 66 35 32 35 33 62  t -result f5253b
a6b0: 35 63 36 39 64 62 39 63 37 32 34 61 65 62 66 37  5c69db9c724aebf7
a6c0: 36 32 65 63 35 31 63 32 32 31 66 38 61 34 64 34  62ec51c221f8a4d4
a6d0: 65 32 31 37 34 61 34 62 37 66 35 36 65 34 64 36  e2174a4b7f56e4d6
a6e0: 39 61 61 34 34 61 64 66 61 33 0a 0a 74 63 6c 74  9aa44adfa3..tclt
a6f0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
a700: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 31 33 20  HA512-256-2.113 
a710: 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74  {SHA512_256Short
a720: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
a730: 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20  ints SHA512-256 
a740: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
a750: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
a760: 64 65 20 68 65 78 20 39 32 62 32 33 63 30 62 63  de hex 92b23c0bc
a770: 34 64 38 64 30 37 64 32 32 65 32 38 38 31 32 37  4d8d07d22e288127
a780: 31 30 64 66 66 30 36 63 62 39 62 62 65 63 65 61  10dff06cb9bbecea
a790: 32 63 39 36 30 61 63 30 32 30 30 66 34 38 30 31  2c960ac0200f4801
a7a0: 36 34 66 61 32 65 31 65 65 31 39 39 32 36 63 37  64fa2e1ee19926c7
a7b0: 66 30 62 30 39 35 63 65 63 35 31 64 35 35 63 30  f0b095cec51d55c0
a7c0: 34 30 61 65 63 39 39 30 62 66 39 35 30 31 61 62  40aec990bf9501ab
a7d0: 64 37 64 33 35 35 34 39 30 63 33 36 36 66 39 33  d7d355490c366f93
a7e0: 61 33 61 65 35 31 32 37 33 34 37 64 31 34 64 66  a3ae5127347d14df
a7f0: 63 33 62 38 64 39 38 65 30 38 32 31 66 65 65 66  c3b8d98e0821feef
a800: 61 31 63 64 36 37 31 62 37 35 32 33 30 62 61 31  a1cd671b75230ba1
a810: 64 61 31 66 61 36 64 30 63 66 62 62 39 31 30 63  da1fa6d0cfbb910c
a820: 34 32 66 34 39 31 64 61 38 61 35 63 34 35 35 34  42f491da8a5c4554
a830: 32 34 65 61 36 35 38 38 36 64 62 32 65 37 33 35  24ea65886db2e735
a840: 62 32 64 30 37 62 39 5d 7d 20 5c 0a 09 2d 62 6f  b2d07b9]} \..-bo
a850: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
a860: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d 32  -digest SHA512-2
a870: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
a880: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
a890: 2d 72 65 73 75 6c 74 20 35 35 61 30 35 39 37 66  -result 55a0597f
a8a0: 31 31 66 66 37 31 63 34 32 36 32 30 31 37 31 35  11ff71c426201715
a8b0: 62 65 62 35 38 35 66 32 35 34 62 62 33 31 63 31  beb585f254bb31c1
a8c0: 64 62 61 64 65 35 33 33 66 30 34 65 34 39 39 63  dbade533f04e499c
a8d0: 33 33 39 31 66 66 37 39 0a 0a 74 63 6c 74 65 73  3391ff79..tcltes
a8e0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
a8f0: 35 31 32 2d 32 35 36 2d 32 2e 31 31 34 20 7b 53  512-256-2.114 {S
a900: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
a910: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
a920: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
a930: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
a940: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
a950: 20 68 65 78 20 62 63 63 35 31 65 61 30 61 36 36   hex bcc51ea0a66
a960: 35 36 34 61 31 37 31 64 61 62 66 61 32 37 39 65  564a171dabfa279e
a970: 33 38 34 66 34 64 39 66 64 63 62 61 33 38 30 32  384f4d9fdcba3802
a980: 38 32 31 35 37 38 38 65 65 37 64 37 38 63 33 61  8215788ee7d78c3a
a990: 32 37 36 39 35 39 36 65 36 62 32 30 37 30 61 36  2769596e6b2070a6
a9a0: 66 61 32 64 31 32 30 30 64 36 63 63 62 36 35 65  fa2d1200d6ccb65e
a9b0: 35 32 39 30 30 63 37 30 31 35 31 35 34 61 37 30  52900c7015154a70
a9c0: 63 37 33 36 61 32 66 35 36 32 61 63 34 65 36 31  c736a2f562ac4e61
a9d0: 66 34 63 32 63 38 31 31 31 36 34 35 33 66 64 30  f4c2c81116453fd0
a9e0: 65 36 33 62 39 65 61 32 63 39 32 63 63 30 61 66  e63b9ea2c92cc0af
a9f0: 65 63 62 35 34 31 61 31 36 65 39 30 65 66 30 63  ecb541a16e90ef0c
aa00: 37 37 64 39 37 63 36 33 30 63 33 38 63 64 36 37  77d97c630c38cd67
aa10: 35 64 34 66 30 32 37 35 30 31 63 63 65 61 36 63  5d4f027501ccea6c
aa20: 39 30 66 31 66 37 38 34 31 31 38 65 64 38 66 62  90f1f784118ed8fb
aa30: 35 64 32 62 39 37 62 5d 7d 20 5c 0a 09 2d 62 6f  5d2b97b]} \..-bo
aa40: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
aa50: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d 32  -digest SHA512-2
aa60: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
aa70: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
aa80: 2d 72 65 73 75 6c 74 20 63 31 36 63 61 37 39 63  -result c16ca79c
aa90: 30 61 62 34 34 66 33 39 64 61 31 63 36 35 65 38  0ab44f39da1c65e8
aaa0: 39 34 33 61 64 32 65 39 30 38 38 38 63 33 64 38  943ad2e90888c3d8
aab0: 30 62 35 65 33 62 33 62 31 62 66 66 35 39 34 30  0b5e3b3b1bff5940
aac0: 38 62 35 39 64 36 66 33 0a 0a 74 63 6c 74 65 73  8b59d6f3..tcltes
aad0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
aae0: 35 31 32 2d 32 35 36 2d 32 2e 31 31 35 20 7b 53  512-256-2.115 {S
aaf0: 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73  HA512_256ShortMs
ab00: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
ab10: 74 73 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a  ts SHA512-256 \.
ab20: 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74  .-setup {set dat
ab30: 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65  a [binary decode
ab40: 20 68 65 78 20 32 31 38 33 62 66 35 34 36 35 62   hex 2183bf5465b
ab50: 31 38 33 35 39 61 34 35 31 63 66 33 30 33 30 62  18359a451cf3030b
ab60: 61 62 30 37 66 61 37 36 31 64 31 31 39 32 36 34  ab07fa761d119264
ab70: 34 34 63 37 64 62 61 38 38 63 30 61 30 31 37 36  44c7dba88c0a0176
ab80: 30 61 34 65 63 38 64 33 32 64 62 38 38 33 37 66  0a4ec8d32db8837f
ab90: 35 38 38 64 61 37 36 64 65 32 33 34 61 39 64 33  588da76de234a9d3
aba0: 62 63 64 34 39 65 65 39 66 65 30 39 32 63 36 33  bcd49ee9fe092c63
abb0: 66 63 62 62 30 31 34 39 63 31 64 63 31 30 66 36  fcbb0149c1dc10f6
abc0: 32 64 66 37 39 32 39 39 30 32 37 36 61 33 65 64  2df792990276a3ed
abd0: 61 65 61 38 32 31 32 34 63 31 32 64 35 66 61 32  aea82124c12d5fa2
abe0: 66 64 30 39 63 64 39 33 30 33 34 37 65 34 65 62  fd09cd930347e4eb
abf0: 66 66 62 30 66 32 63 62 36 61 38 39 37 32 62 33  ffb0f2cb6a8972b3
ac00: 62 64 36 31 34 64 64 65 37 63 63 38 32 65 33 32  bd614dde7cc82e32
ac10: 38 35 32 35 39 36 30 65 33 63 33 35 38 61 65 35  8525960e3c358ae5
ac20: 65 36 34 38 31 35 30 35 65 5d 7d 20 5c 0a 09 2d  e6481505e]} \..-
ac30: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
ac40: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
ac50: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
ac60: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
ac70: 74 20 2d 72 65 73 75 6c 74 20 37 65 35 62 34 62  t -result 7e5b4b
ac80: 64 38 30 38 62 39 30 30 37 33 35 63 30 66 65 36  d808b900735c0fe6
ac90: 36 35 64 61 39 34 33 37 64 61 63 61 66 38 35 32  65da9437dacaf852
aca0: 34 39 64 66 36 35 33 63 36 65 65 37 32 66 62 32  49df653c6ee72fb2
acb0: 39 36 65 38 61 39 62 38 62 62 0a 0a 74 63 6c 74  96e8a9b8bb..tclt
acc0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
acd0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 31 36 20  HA512-256-2.116 
ace0: 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74  {SHA512_256Short
acf0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
ad00: 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20  ints SHA512-256 
ad10: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
ad20: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
ad30: 64 65 20 68 65 78 20 39 35 39 62 61 39 34 62 37  de hex 959ba94b7
ad40: 32 38 61 38 61 64 66 35 33 35 31 33 35 32 31 30  28a8adf535135210
ad50: 32 32 35 35 38 31 38 33 61 36 33 32 65 32 34 61  22558183a632e24a
ad60: 64 38 32 61 33 39 30 34 62 34 37 62 39 36 36 63  d82a3904b47b966c
ad70: 32 33 37 32 61 38 37 34 31 35 32 34 66 66 61 38  2372a8741524ffa8
ad80: 32 66 65 34 30 38 35 30 37 34 32 33 64 37 61 61  2fe408507423d7aa
ad90: 34 33 34 34 64 64 34 33 64 62 35 32 34 38 32 64  4344dd43db52482d
ada0: 31 35 62 34 61 30 33 62 37 61 66 37 61 33 33 32  15b4a03b7af7a332
adb0: 38 39 39 34 39 36 35 66 65 31 38 30 38 62 31 62  8994965fe1808b1b
adc0: 62 33 36 65 61 39 30 63 64 33 63 36 61 61 36 31  b36ea90cd3c6aa61
add0: 31 32 32 65 37 64 65 39 35 34 39 39 31 62 63 61  122e7de954991bca
ade0: 32 36 64 38 39 65 66 66 61 64 35 34 34 32 36 35  26d89effad544265
adf0: 65 63 63 33 31 32 35 35 33 35 35 39 62 31 38 32  ecc312553559b182
ae00: 36 31 62 64 30 32 37 32 65 61 37 38 33 34 61 35  61bd0272ea7834a5
ae10: 31 64 35 36 66 35 66 63 39 38 39 33 64 5d 7d 20  1d56f5fc9893d]} 
ae20: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
ae30: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
ae40: 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24  A512-256 -data $
ae50: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
ae60: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 38 35  exact -result 85
ae70: 63 32 66 31 32 35 65 36 64 31 31 66 38 33 31 38  c2f125e6d11f8318
ae80: 30 37 38 32 30 63 63 66 30 61 35 33 39 33 32 37  07820ccf0a539327
ae90: 31 33 64 62 63 65 66 33 65 32 33 62 30 65 33 63  13dbcef3e23b0e3c
aea0: 30 61 61 64 38 66 38 39 31 33 39 63 63 34 0a 0a  0aad8f89139cc4..
aeb0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
aec0: 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e  sh_SHA512-256-2.
aed0: 31 31 37 20 7b 53 48 41 35 31 32 5f 32 35 36 53  117 {SHA512_256S
aee0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
aef0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
af00: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
af10: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
af20: 64 65 63 6f 64 65 20 68 65 78 20 33 30 64 36 32  decode hex 30d62
af30: 66 66 34 32 36 33 61 37 33 31 61 32 30 35 30 36  ff4263a731a20506
af40: 39 63 66 37 63 30 61 30 64 62 30 62 35 30 64 33  9cf7c0a0db0b50d3
af50: 64 62 31 33 66 30 38 63 30 30 66 62 32 34 35 38  db13f08c00fb2458
af60: 36 38 36 32 62 37 65 33 31 63 35 65 66 66 31 64  6862b7e31c5eff1d
af70: 35 31 66 35 32 62 36 66 63 38 33 64 38 35 31 65  51f52b6fc83d851e
af80: 65 61 65 39 39 38 34 32 66 39 66 65 61 36 37 34  eae99842f9fea674
af90: 38 34 62 33 39 62 61 63 61 39 33 33 39 37 39 39  84b39baca9339799
afa0: 31 37 33 34 30 62 31 34 36 37 63 65 64 39 33 32  17340b1467ced932
afb0: 37 38 34 30 64 63 36 30 62 39 63 62 66 30 32 61  7840dc60b9cbf02a
afc0: 30 34 32 64 37 64 62 66 38 64 38 38 31 64 61 34  042d7dbf8d881da4
afd0: 34 35 35 32 37 64 32 64 66 33 62 39 34 37 31 38  45527d2df3b94718
afe0: 65 63 39 35 39 31 36 30 36 37 31 36 66 65 32 61  ec9591606716fe2a
aff0: 65 38 63 31 66 31 32 61 37 34 64 31 66 38 63 30  e8c1f12a74d1f8c0
b000: 61 66 33 66 65 62 37 37 30 34 33 63 31 39 30 62  af3feb77043c190b
b010: 38 33 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  836]} \..-body {
b020: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
b030: 65 73 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d  est SHA512-256 -
b040: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
b050: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
b060: 75 6c 74 20 34 35 34 33 33 37 38 65 64 35 61 30  ult 4543378ed5a0
b070: 35 34 35 35 37 38 38 39 62 34 36 33 34 64 34 61  54557889b4634d4a
b080: 61 37 37 62 64 33 30 37 32 36 62 37 39 37 32 33  a77bd30726b79723
b090: 35 30 31 30 64 36 61 34 39 32 30 62 66 39 63 63  5010d6a4920bf9cc
b0a0: 33 62 34 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  3b40..tcltest::t
b0b0: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
b0c0: 32 35 36 2d 32 2e 31 31 38 20 7b 53 48 41 35 31  256-2.118 {SHA51
b0d0: 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  2_256ShortMsg} \
b0e0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
b0f0: 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65  HA512-256 \..-se
b100: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
b110: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
b120: 20 33 37 36 31 61 34 38 36 31 32 34 39 63 34 65   3761a4861249c4e
b130: 30 31 31 35 62 39 39 37 63 32 63 38 37 65 38 35  0115b997c2c87e85
b140: 65 35 65 61 32 62 63 61 66 34 34 61 65 61 33 31  e5ea2bcaf44aea31
b150: 61 65 36 35 63 31 39 37 35 64 35 63 66 34 35 61  ae65c1975d5cf45a
b160: 34 37 36 61 33 65 33 62 61 39 64 32 65 38 32 36  476a3e3ba9d2e826
b170: 32 35 64 30 35 65 66 37 65 31 66 63 32 66 31 30  25d05ef7e1fc2f10
b180: 64 66 32 30 35 33 36 35 32 32 32 62 39 38 65 33  df205365222b98e3
b190: 33 30 63 39 39 35 37 64 66 33 30 66 32 33 38 62  30c9957df30f238b
b1a0: 33 38 38 61 61 31 33 35 66 31 39 38 31 33 34 34  388aa135f1981344
b1b0: 34 63 37 39 37 63 66 32 31 36 64 32 66 61 39 65  4c797cf216d2fa9e
b1c0: 66 32 64 62 32 31 35 30 39 30 35 66 37 32 32 39  f2db2150905f7229
b1d0: 30 61 33 63 31 31 33 30 65 37 62 38 39 30 66 35  0a3c1130e7b890f5
b1e0: 39 31 36 37 65 31 61 62 62 61 64 63 62 34 34 34  9167e1abbadcb444
b1f0: 66 66 36 31 38 32 30 61 65 33 65 35 33 37 38 63  ff61820ae3e5378c
b200: 62 62 38 62 30 33 66 31 63 31 35 5d 7d 20 5c 0a  bb8b03f1c15]} \.
b210: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
b220: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
b230: 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  12-256 -data $da
b240: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
b250: 61 63 74 20 2d 72 65 73 75 6c 74 20 30 38 38 31  act -result 0881
b260: 36 37 66 31 32 65 38 32 61 34 35 36 39 38 63 61  67f12e82a45698ca
b270: 64 32 35 62 34 30 35 64 61 35 65 32 34 61 30 66  d25b405da5e24a0f
b280: 34 35 31 35 62 32 38 62 39 31 35 62 66 65 37 39  4515b28b915bfe79
b290: 39 64 30 39 39 30 37 32 33 35 39 38 0a 0a 74 63  9d0990723598..tc
b2a0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
b2b0: 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 31  _SHA512-256-2.11
b2c0: 39 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  9 {SHA512_256Sho
b2d0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
b2e0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
b2f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
b300: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
b310: 63 6f 64 65 20 68 65 78 20 36 65 32 36 65 32 62  code hex 6e26e2b
b320: 34 31 62 38 30 66 32 36 62 38 37 63 62 61 39 62  41b80f26b87cba9b
b330: 66 35 65 31 31 62 37 33 34 36 31 31 65 38 39 31  f5e11b734611e891
b340: 31 30 63 39 32 31 30 31 35 37 36 33 34 63 35 36  10c9210157634c56
b350: 36 37 61 38 39 65 61 63 61 31 34 61 36 31 32 31  67a89eaca14a6121
b360: 39 30 64 34 32 65 33 66 33 64 62 30 66 31 62 61  90d42e3f3db0f1ba
b370: 65 63 33 34 62 64 31 39 32 34 30 39 31 66 65 34  ec34bd1924091fe4
b380: 39 61 38 66 36 33 62 39 31 30 64 35 31 63 63 33  9a8f63b910d51cc3
b390: 34 36 31 64 61 64 65 33 61 64 65 66 37 30 64 35  461dade3adef70d5
b3a0: 64 61 35 35 32 32 39 62 64 61 36 32 66 33 61 64  da55229bda62f3ad
b3b0: 35 62 66 66 64 63 31 61 65 32 38 32 61 34 31 35  5bffdc1ae282a415
b3c0: 32 30 65 33 63 66 65 38 34 37 65 31 65 30 35 61  20e3cfe847e1e05a
b3d0: 65 38 35 62 37 36 63 31 62 39 36 63 31 64 62 36  e85b76c1b96c1db6
b3e0: 36 32 62 64 39 34 63 33 33 61 66 64 32 30 65 31  62bd94c33afd20e1
b3f0: 63 39 63 34 66 31 30 65 66 65 31 39 31 35 63 31  c9c4f10efe1915c1
b400: 36 38 36 38 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79  6868d]} \..-body
b410: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
b420: 69 67 65 73 74 20 53 48 41 35 31 32 2d 32 35 36  igest SHA512-256
b430: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
b440: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
b450: 65 73 75 6c 74 20 61 64 35 34 39 30 30 34 63 37  esult ad549004c7
b460: 35 66 61 37 38 31 38 64 66 61 36 65 39 30 36 30  5fa7818dfa6e9060
b470: 36 32 61 38 35 30 35 38 39 66 37 61 38 64 31 37  62a850589f7a8d17
b480: 61 31 63 34 31 31 66 63 39 35 35 31 36 38 32 31  a1c411fc95516821
b490: 35 65 34 35 63 63 0a 0a 74 63 6c 74 65 73 74 3a  5e45cc..tcltest:
b4a0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
b4b0: 32 2d 32 35 36 2d 32 2e 31 32 30 20 7b 53 48 41  2-256-2.120 {SHA
b4c0: 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  512_256ShortMsg}
b4d0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
b4e0: 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d   SHA512-256 \..-
b4f0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
b500: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
b510: 65 78 20 66 65 38 62 33 64 63 61 32 38 33 30 32  ex fe8b3dca28302
b520: 32 64 61 66 37 30 32 32 61 38 38 64 66 62 38 66  2daf7022a88dfb8f
b530: 66 36 31 38 34 37 35 30 39 63 34 31 65 39 63 65  f61847509c41e9ce
b540: 63 34 66 32 32 65 36 35 32 39 37 31 66 62 32 65  c4f22e652971fb2e
b550: 61 31 63 65 35 39 63 62 31 37 63 65 64 35 30 37  a1ce59cb17ced507
b560: 30 65 36 66 35 61 31 38 35 64 32 65 62 64 35 65  0e6f5a185d2ebd5e
b570: 37 65 66 30 63 34 33 36 35 35 64 34 64 32 31 32  7ef0c43655d4d212
b580: 65 31 64 66 61 39 37 39 36 63 36 39 64 31 37 31  e1dfa9796c69d171
b590: 37 37 39 32 31 66 31 39 36 31 36 33 37 32 32 65  77921f196163722e
b5a0: 38 62 30 66 39 36 64 39 35 33 66 63 64 61 65 64  8b0f96d953fcdaed
b5b0: 63 39 35 38 64 36 61 66 37 39 34 65 35 61 61 61  c958d6af794e5aaa
b5c0: 30 39 64 66 63 30 61 64 33 34 62 35 36 30 64 64  09dfc0ad34b560dd
b5d0: 36 36 32 66 39 62 33 37 37 30 32 63 65 34 65 39  662f9b37702ce4e9
b5e0: 35 32 31 34 62 39 31 65 31 33 38 34 66 65 61 65  5214b91e1384feae
b5f0: 36 33 62 34 64 31 32 34 37 63 66 61 64 65 32 34  63b4d1247cfade24
b600: 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  8]} \..-body {tl
b610: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
b620: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
b630: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
b640: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
b650: 74 20 33 37 61 38 39 61 36 33 62 34 61 33 30 65  t 37a89a63b4a30e
b660: 36 61 32 31 35 34 39 61 32 34 35 61 32 36 33 33  6a21549a245a2633
b670: 65 65 35 66 64 62 36 31 38 65 36 37 34 39 66 36  ee5fdb618e6749f6
b680: 30 35 32 32 66 35 61 64 30 33 61 33 34 64 34 34  0522f5ad03a34d44
b690: 36 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  65..tcltest::tes
b6a0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
b6b0: 36 2d 32 2e 31 32 31 20 7b 53 48 41 35 31 32 5f  6-2.121 {SHA512_
b6c0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
b6d0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
b6e0: 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75  512-256 \..-setu
b6f0: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
b700: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
b710: 34 63 34 38 62 34 63 33 37 61 30 64 61 66 65 38  4c48b4c37a0dafe8
b720: 61 62 32 63 35 31 37 65 65 62 34 37 32 33 38 35  ab2c517eeb472385
b730: 36 36 31 30 30 31 33 37 36 32 39 36 61 63 35 63  661001376296ac5c
b740: 61 32 61 61 66 36 37 64 62 35 63 33 30 64 66 62  a2aaf67db5c30dfb
b750: 65 30 62 35 39 66 63 64 64 38 62 38 33 63 33 66  e0b59fcdd8b83c3f
b760: 61 32 37 31 39 30 33 37 30 35 61 66 61 33 30 62  a271903705afa30b
b770: 63 34 32 31 66 36 64 33 64 35 31 37 65 65 62 33  c421f6d3d517eeb3
b780: 38 34 36 32 65 37 32 31 66 35 62 63 62 33 64 31  8462e721f5bcb3d1
b790: 33 63 30 31 63 30 62 61 37 34 39 66 33 37 33 65  3c01c0ba749f373e
b7a0: 37 36 34 35 35 37 38 39 39 34 64 64 62 35 64 63  7645578994ddb5dc
b7b0: 32 38 35 35 38 62 62 36 63 38 30 62 63 64 30 61  28558bb6c80bcd0a
b7c0: 37 39 64 33 39 31 61 63 65 35 63 61 34 32 34 30  79d391ace5ca4240
b7d0: 62 63 63 31 64 61 31 31 64 34 32 66 32 62 37 35  bcc1da11d42f2b75
b7e0: 39 35 30 63 31 39 64 65 66 66 35 64 64 36 38 36  950c19deff5dd686
b7f0: 66 31 32 66 33 32 32 38 63 31 64 65 65 31 64 5d  f12f3228c1dee1d]
b800: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
b810: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
b820: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
b830: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
b840: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
b850: 32 39 61 36 62 30 34 33 35 33 65 61 38 32 66 33  29a6b04353ea82f3
b860: 66 32 61 32 38 35 30 33 61 31 32 35 32 33 33 66  f2a28503a125233f
b870: 38 61 66 63 35 62 36 30 31 39 32 31 36 33 37 61  8afc5b601921637a
b880: 30 61 32 34 62 38 33 34 33 36 61 62 66 39 62 35  0a24b83436abf9b5
b890: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
b8a0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
b8b0: 32 2e 31 32 32 20 7b 53 48 41 35 31 32 5f 32 35  2.122 {SHA512_25
b8c0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
b8d0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
b8e0: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
b8f0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
b900: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 63 34  y decode hex bc4
b910: 33 61 65 35 39 63 31 62 65 64 37 34 66 64 34 65  3ae59c1bed74fd4e
b920: 62 36 31 62 65 39 37 62 30 32 37 36 65 63 35 61  b61be97b0276ec5a
b930: 64 64 61 39 36 63 36 37 63 33 62 34 36 38 30 33  dda96c67c3b46803
b940: 37 38 65 30 32 36 66 33 62 34 62 61 66 66 38 32  78e026f3b4baff82
b950: 63 31 36 62 34 66 61 33 61 66 31 35 39 61 37 61  c16b4fa3af159a7a
b960: 32 62 31 37 32 39 32 37 37 61 65 34 32 30 38 61  2b1729277ae4208a
b970: 32 62 66 39 61 61 34 32 38 36 36 34 31 31 65 61  2bf9aa42866411ea
b980: 62 34 37 39 38 36 34 33 34 64 66 37 65 65 63 32  b47986434df7eec2
b990: 66 37 32 37 32 34 38 62 37 34 35 66 37 66 62 31  f727248b745f7fb1
b9a0: 34 30 65 33 64 38 62 38 32 61 39 66 64 64 37 33  40e3d8b82a9fdd73
b9b0: 34 30 63 61 35 61 62 39 39 37 64 62 35 39 32 64  40ca5ab997db592d
b9c0: 65 30 33 36 39 65 62 62 34 31 61 39 38 33 66 35  e0369ebb41a983f5
b9d0: 33 61 61 64 63 64 32 62 66 33 61 66 33 37 38 34  3aadcd2bf3af3784
b9e0: 61 36 31 36 35 61 61 35 61 37 65 36 37 64 39 36  a6165aa5a7e67d96
b9f0: 63 61 39 30 30 30 32 35 39 65 61 36 61 38 33 5d  ca9000259ea6a83]
ba00: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
ba10: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
ba20: 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61  SHA512-256 -data
ba30: 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63   $data} \..-matc
ba40: 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20  h exact -result 
ba50: 36 65 31 32 34 34 35 38 37 31 37 39 65 66 66 32  6e1244587179eff2
ba60: 38 38 38 31 62 62 38 30 62 30 32 64 31 39 33 39  8881bb80b02d1939
ba70: 30 38 61 34 63 34 64 30 31 34 62 34 64 61 35 62  08a4c4d014b4da5b
ba80: 37 65 39 33 63 30 39 65 32 62 32 39 36 34 66 35  7e93c09e2b2964f5
ba90: 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20  ..tcltest::test 
baa0: 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d  Hash_SHA512-256-
bab0: 32 2e 31 32 33 20 7b 53 48 41 35 31 32 5f 32 35  2.123 {SHA512_25
bac0: 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  6ShortMsg} \..-c
bad0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
bae0: 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20  2-256 \..-setup 
baf0: 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72  {set data [binar
bb00: 79 20 64 65 63 6f 64 65 20 68 65 78 20 64 64 61  y decode hex dda
bb10: 64 37 38 39 37 32 38 35 38 31 30 34 34 66 66 37  d789728581044ff7
bb20: 36 30 66 37 39 30 39 39 65 30 31 61 32 63 66 63  60f79099e01a2cfc
bb30: 39 34 62 61 32 37 61 30 37 30 65 32 32 64 65 37  94ba27a070e22de7
bb40: 31 34 65 32 38 62 38 35 66 35 34 65 62 33 34 64  14e28b85f54eb34d
bb50: 62 35 30 65 36 62 33 35 35 34 33 32 62 63 61 39  b50e6b355432bca9
bb60: 38 31 63 66 61 38 65 66 63 32 31 39 32 30 66 64  81cfa8efc21920fd
bb70: 64 39 31 34 37 32 32 34 64 38 38 64 35 36 34 30  d9147224d88d5640
bb80: 36 32 32 66 34 37 62 61 32 65 33 32 63 39 66 30  622f47ba2e32c9f0
bb90: 66 35 37 65 62 35 61 33 64 66 35 64 35 38 62 31  f57eb5a3df5d58b1
bba0: 39 34 39 35 62 62 31 62 66 35 33 38 66 36 36 65  9495bb1bf538f66e
bbb0: 62 32 61 33 36 32 61 62 31 65 34 31 66 36 32 36  b2a362ab1e41f626
bbc0: 66 62 61 62 34 61 30 66 66 36 38 63 66 32 35 33  fbab4a0ff68cf253
bbd0: 31 64 33 63 66 61 35 37 38 65 65 65 61 34 61 65  1d3cfa578eeea4ae
bbe0: 33 64 65 63 35 66 62 34 66 35 64 34 31 64 64 64  3dec5fb4f5d41ddd
bbf0: 63 35 63 39 38 31 61 39 64 65 63 61 61 65 32 39  c5c981a9decaae29
bc00: 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c  4]} \..-body {tl
bc10: 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73  s::digest -diges
bc20: 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d 64 61  t SHA512-256 -da
bc30: 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61  ta $data} \..-ma
bc40: 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c  tch exact -resul
bc50: 74 20 36 65 33 66 66 39 36 66 34 65 34 61 37 32  t 6e3ff96f4e4a72
bc60: 32 63 39 31 32 33 39 32 62 33 62 35 66 61 32 30  2c912392b3b5fa20
bc70: 61 65 37 36 32 63 63 65 66 32 34 34 63 30 31 31  ae762ccef244c011
bc80: 32 36 38 37 32 30 39 36 32 31 38 34 33 38 33 61  268720962184383a
bc90: 36 36 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73  66..tcltest::tes
bca0: 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 35  t Hash_SHA512-25
bcb0: 36 2d 32 2e 31 32 34 20 7b 53 48 41 35 31 32 5f  6-2.124 {SHA512_
bcc0: 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09  256ShortMsg} \..
bcd0: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41  -constraints SHA
bce0: 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65 74 75  512-256 \..-setu
bcf0: 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e  p {set data [bin
bd00: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 38  ary decode hex 8
bd10: 63 37 32 31 34 65 31 34 65 62 36 65 30 65 65 31  c7214e14eb6e0ee1
bd20: 34 64 65 33 63 61 30 65 64 63 62 35 31 30 61 65  4de3ca0edcb510ae
bd30: 63 35 30 37 39 62 33 64 31 34 33 66 66 34 38 65  c5079b3d143ff48e
bd40: 35 64 33 32 36 38 64 32 36 31 62 36 63 39 39 61  5d3268d261b6c99a
bd50: 34 66 38 30 66 34 33 32 62 31 38 64 31 64 38 32  4f80f432b18d1d82
bd60: 32 35 34 66 38 30 66 62 33 34 30 39 61 33 65 32  254f80fb3409a3e2
bd70: 64 30 30 31 37 63 64 61 36 35 64 65 37 65 62 65  d0017cda65de7ebe
bd80: 34 31 38 39 36 38 31 37 65 37 64 30 63 36 34 33  41896817e7d0c643
bd90: 65 33 63 31 32 63 66 63 61 37 35 31 32 31 30 38  e3c12cfca7512108
bda0: 33 31 32 31 65 38 31 61 65 35 39 33 34 62 61 64  3121e81ae5934bad
bdb0: 32 63 31 63 31 30 35 36 30 30 35 36 33 31 33 39  2c1c105600563139
bdc0: 39 37 38 66 33 65 64 61 64 39 38 63 33 32 63 32  978f3edad98c32c2
bdd0: 30 65 35 32 34 36 64 37 32 66 34 32 63 30 30 66  0e5246d72f42c00f
bde0: 66 62 66 62 36 65 30 32 34 33 66 61 39 65 38 61  fbfb6e0243fa9e8a
bdf0: 33 33 64 37 65 34 33 34 39 36 35 66 63 32 35 63  33d7e434965fc25c
be00: 65 39 63 34 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79  e9c46]} \..-body
be10: 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64   {tls::digest -d
be20: 69 67 65 73 74 20 53 48 41 35 31 32 2d 32 35 36  igest SHA512-256
be30: 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a   -data $data} \.
be40: 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72  .-match exact -r
be50: 65 73 75 6c 74 20 62 34 62 34 65 35 65 64 64 61  esult b4b4e5edda
be60: 34 66 62 34 66 37 63 30 65 37 33 34 63 62 63 63  4fb4f7c0e734cbcc
be70: 61 33 63 37 38 64 62 64 36 66 32 63 39 61 39 39  a3c78dbd6f2c9a99
be80: 37 61 65 38 35 61 36 33 39 34 31 30 38 63 62 63  7ae85a6394108cbc
be90: 35 63 35 36 37 64 0a 0a 74 63 6c 74 65 73 74 3a  5c567d..tcltest:
bea0: 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31  :test Hash_SHA51
beb0: 32 2d 32 35 36 2d 32 2e 31 32 35 20 7b 53 48 41  2-256-2.125 {SHA
bec0: 35 31 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d  512_256ShortMsg}
bed0: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
bee0: 20 53 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d   SHA512-256 \..-
bef0: 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20  setup {set data 
bf00: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
bf10: 65 78 20 33 62 37 36 36 66 62 62 61 33 33 33 39  ex 3b766fbba3339
bf20: 39 35 39 62 31 39 34 31 36 33 63 33 36 62 34 65  959b194163c36b4e
bf30: 62 36 35 30 35 61 63 31 37 65 37 62 32 34 65 37  b6505ac17e7b24e7
bf40: 35 33 65 39 39 31 36 65 33 65 31 32 32 35 64 61  53e9916e3e1225da
bf50: 34 31 62 34 34 64 30 30 33 31 36 34 38 32 31 33  41b44d0031648213
bf60: 39 33 39 64 30 66 63 39 31 62 33 31 37 33 64 63  939d0fc91b3173dc
bf70: 61 35 38 37 61 36 30 62 64 61 64 33 38 33 38 34  a587a60bdad38384
bf80: 30 33 65 37 36 65 34 34 39 33 38 38 36 30 30 35  03e76e4493886005
bf90: 37 33 33 36 38 31 38 30 64 35 30 39 31 36 32 32  73368180d5091622
bfa0: 30 38 34 65 63 61 63 37 34 33 33 31 66 39 33 38  084ecac74331f938
bfb0: 32 30 31 30 66 66 36 66 64 65 35 61 36 61 61 62  2010ff6fde5a6aab
bfc0: 35 37 66 64 34 36 66 62 62 61 62 64 33 32 33 63  57fd46fbbabd323c
bfd0: 36 35 36 62 30 33 36 64 35 39 30 30 37 35 65 31  656b036d590075e1
bfe0: 36 65 33 30 65 38 63 30 37 65 33 64 34 31 65 64  6e30e8c07e3d41ed
bff0: 62 30 37 63 62 35 36 31 66 62 37 38 35 30 62 39  b07cb561fb7850b9
c000: 64 61 36 62 62 39 65 38 31 36 32 5d 7d 20 5c 0a  da6bb9e8162]} \.
c010: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
c020: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
c030: 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61  12-256 -data $da
c040: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
c050: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 34 35 30  act -result b450
c060: 65 30 38 33 64 39 66 33 66 35 38 32 38 34 65 66  e083d9f3f58284ef
c070: 38 30 30 32 33 65 33 62 61 63 62 31 38 32 36 65  80023e3bacb1826e
c080: 35 36 30 61 32 32 66 36 65 36 36 32 35 64 31 34  560a22f6e6625d14
c090: 61 64 31 33 34 38 64 66 39 36 62 31 0a 0a 74 63  ad1348df96b1..tc
c0a0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
c0b0: 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 32  _SHA512-256-2.12
c0c0: 36 20 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f  6 {SHA512_256Sho
c0d0: 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74  rtMsg} \..-const
c0e0: 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35  raints SHA512-25
c0f0: 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  6 \..-setup {set
c100: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
c110: 63 6f 64 65 20 68 65 78 20 36 65 64 38 61 39 66  code hex 6ed8a9f
c120: 39 66 32 62 61 66 35 37 65 36 35 39 61 65 64 31  9f2baf57e659aed1
c130: 32 37 38 33 33 65 64 65 65 39 30 32 35 61 38 34  27833edee9025a84
c140: 38 31 63 66 36 31 64 37 37 32 35 35 36 63 37 35  81cf61d772556c75
c150: 38 32 36 61 37 31 34 66 30 31 66 62 63 31 39 35  826a714f01fbc195
c160: 33 65 35 65 31 38 34 63 34 62 63 31 63 64 32 31  3e5e184c4bc1cd21
c170: 64 32 37 62 33 63 32 37 32 66 66 65 65 30 39 66  d27b3c272ffee09f
c180: 31 63 33 31 65 34 37 30 63 32 66 64 65 33 61 64  1c31e470c2fde3ad
c190: 62 31 30 39 39 33 31 62 62 35 36 34 64 63 34 33  b109931bb564dc43
c1a0: 63 36 62 38 65 63 33 33 61 63 33 63 64 36 63 34  c6b8ec33ac3cd6c4
c1b0: 39 62 35 64 61 65 31 35 37 38 39 61 38 64 39 38  9b5dae15789a8d98
c1c0: 63 64 32 35 31 39 35 37 35 66 65 35 39 31 36 36  cd2519575fe59166
c1d0: 32 32 62 33 37 38 64 30 63 33 63 31 31 31 33 37  22b378d0c3c11137
c1e0: 62 32 63 63 38 39 61 32 37 61 33 33 34 32 33 35  b2cc89a27a334235
c1f0: 65 63 37 62 31 33 32 65 35 35 35 64 61 37 66 65  ec7b132e555da7fe
c200: 32 66 30 39 34 65 66 66 39 62 39 34 66 63 32 62  2f094eff9b94fc2b
c210: 36 31 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b  61f]} \..-body {
c220: 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67  tls::digest -dig
c230: 65 73 74 20 53 48 41 35 31 32 2d 32 35 36 20 2d  est SHA512-256 -
c240: 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d  data $data} \..-
c250: 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73  match exact -res
c260: 75 6c 74 20 31 37 33 31 32 61 32 36 65 66 39 62  ult 17312a26ef9b
c270: 34 31 66 66 65 62 65 33 31 65 65 37 65 65 35 31  41ffebe31ee7ee51
c280: 31 36 32 37 30 34 61 32 66 30 35 61 35 39 30 35  162704a2f05a5905
c290: 66 66 38 62 36 39 32 66 64 36 30 33 39 34 32 65  ff8b692fd603942e
c2a0: 39 36 36 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  9668..tcltest::t
c2b0: 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d  est Hash_SHA512-
c2c0: 32 35 36 2d 32 2e 31 32 37 20 7b 53 48 41 35 31  256-2.127 {SHA51
c2d0: 32 5f 32 35 36 53 68 6f 72 74 4d 73 67 7d 20 5c  2_256ShortMsg} \
c2e0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53  ..-constraints S
c2f0: 48 41 35 31 32 2d 32 35 36 20 5c 0a 09 2d 73 65  HA512-256 \..-se
c300: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
c310: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
c320: 20 64 63 62 34 35 38 31 39 33 63 34 62 61 38 32   dcb458193c4ba82
c330: 61 34 35 62 66 64 66 30 32 38 30 30 30 38 34 31  a45bfdf028000841
c340: 65 34 61 38 63 36 37 31 66 38 65 32 62 38 34 31  e4a8c671f8e2b841
c350: 64 64 34 64 63 32 61 33 64 37 62 30 66 35 64 38  dd4dc2a3d7b0f5d8
c360: 36 34 32 31 34 37 38 66 30 30 65 64 34 31 37 62  6421478f00ed417b
c370: 65 65 37 62 66 33 33 30 65 34 33 30 35 38 66 61  ee7bf330e43058fa
c380: 66 38 37 30 39 35 33 33 32 63 62 31 33 66 37 34  f87095332cb13f74
c390: 34 64 64 34 34 36 33 33 62 38 39 64 30 35 35 65  4dd44633b89d055e
c3a0: 65 31 38 36 37 30 32 63 61 31 37 66 34 30 30 32  e186702ca17f4002
c3b0: 32 35 61 38 61 36 33 63 37 34 30 39 62 32 37 64  25a8a63c7409b27d
c3c0: 39 33 37 36 63 63 65 64 63 38 33 63 35 34 39 30  9376ccedc83c5490
c3d0: 65 33 63 65 64 31 63 66 38 39 36 64 36 62 65 34  e3ced1cf896d6be4
c3e0: 34 36 36 39 34 33 65 63 65 65 31 31 33 32 63 66  466943ecee1132cf
c3f0: 65 61 36 30 61 62 37 35 34 66 66 32 62 31 33 34  ea60ab754ff2b134
c400: 34 36 33 39 64 31 65 34 35 34 30 61 62 34 32 32  4639d1e4540ab422
c410: 35 66 38 62 65 39 64 39 66 32 39 38 38 5d 7d 20  5f8be9d9f2988]} 
c420: 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64  \..-body {tls::d
c430: 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48  igest -digest SH
c440: 41 35 31 32 2d 32 35 36 20 2d 64 61 74 61 20 24  A512-256 -data $
c450: 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20  data} \..-match 
c460: 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39 33  exact -result 93
c470: 39 32 63 65 31 34 64 33 34 34 64 65 30 35 65 34  92ce14d344de05e4
c480: 66 38 37 66 36 33 34 62 34 35 37 30 37 39 33 34  f87f634b45707934
c490: 33 65 32 37 30 66 66 66 35 62 35 63 37 62 37 33  3e270fff5b5c7b73
c4a0: 31 65 39 66 65 66 31 33 37 31 31 35 64 64 0a 0a  1e9fef137115dd..
c4b0: 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61  tcltest::test Ha
c4c0: 73 68 5f 53 48 41 35 31 32 2d 32 35 36 2d 32 2e  sh_SHA512-256-2.
c4d0: 31 32 38 20 7b 53 48 41 35 31 32 5f 32 35 36 53  128 {SHA512_256S
c4e0: 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e  hortMsg} \..-con
c4f0: 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 2d  straints SHA512-
c500: 32 35 36 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73  256 \..-setup {s
c510: 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20  et data [binary 
c520: 64 65 63 6f 64 65 20 68 65 78 20 33 65 33 61 35  decode hex 3e3a5
c530: 32 64 33 32 36 31 65 31 31 39 34 32 34 39 37 38  2d3261e119424978
c540: 36 64 36 63 30 65 31 38 64 35 32 64 39 32 66 31  6d6c0e18d52d92f1
c550: 63 37 36 33 39 66 30 37 39 63 32 36 63 35 31 61  c7639f079c26c51a
c560: 61 37 32 64 31 30 33 32 65 35 64 66 31 33 65 65  a72d1032e5df13ee
c570: 61 31 64 31 30 30 36 36 36 37 30 30 32 61 64 33  a1d1006667002ad3
c580: 39 64 65 34 30 39 39 63 32 39 63 33 62 34 37 31  9de4099c29c3b471
c590: 39 62 31 66 30 39 30 34 35 35 37 62 64 32 62 62  9b1f0904557bd2bb
c5a0: 30 61 34 37 33 37 34 64 38 36 39 61 63 36 62 34  0a47374d869ac6b4
c5b0: 36 35 62 35 66 30 30 63 34 37 30 62 31 38 65 63  65b5f00c470b18ec
c5c0: 62 38 63 30 65 61 35 33 62 35 64 37 39 30 63 34  b8c0ea53b5d790c4
c5d0: 65 38 33 32 30 30 36 63 66 66 35 33 34 64 35 38  e832006cff534d58
c5e0: 37 61 30 66 37 37 64 66 39 35 31 31 37 63 61 34  7a0f77df95117ca4
c5f0: 66 64 34 33 61 39 34 39 33 35 65 64 61 34 32 32  fd43a94935eda422
c600: 32 32 38 35 33 38 64 35 65 35 64 33 61 38 37 61  228538d5e5d3a87a
c610: 34 33 36 66 31 64 62 37 65 36 33 37 38 35 36 31  436f1db7e6378561
c620: 39 61 65 38 36 61 36 66 39 5d 7d 20 5c 0a 09 2d  9ae86a6f9]} \..-
c630: 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73  body {tls::diges
c640: 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32  t -digest SHA512
c650: 2d 32 35 36 20 2d 64 61 74 61 20 24 64 61 74 61  -256 -data $data
c660: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
c670: 74 20 2d 72 65 73 75 6c 74 20 62 33 34 65 37 32  t -result b34e72
c680: 63 65 66 65 66 62 36 33 64 36 65 33 30 39 62 63  cefefb63d6e309bc
c690: 66 62 34 66 30 62 31 64 33 35 30 66 32 63 35 63  fb4f0b1d350f2c5c
c6a0: 35 38 32 64 65 33 62 39 33 61 64 31 33 37 66 39  582de3b93ad137f9
c6b0: 32 31 61 39 32 61 37 65 37 39 0a 0a 74 63 6c 74  21a92a7e79..tclt
c6c0: 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53  est::test Hash_S
c6d0: 48 41 35 31 32 2d 32 35 36 2d 32 2e 31 32 39 20  HA512-256-2.129 
c6e0: 7b 53 48 41 35 31 32 5f 32 35 36 53 68 6f 72 74  {SHA512_256Short
c6f0: 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61  Msg} \..-constra
c700: 69 6e 74 73 20 53 48 41 35 31 32 2d 32 35 36 20  ints SHA512-256 
c710: 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64  \..-setup {set d
c720: 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f  ata [binary deco
c730: 64 65 20 68 65 78 20 62 63 38 31 37 33 63 38 37  de hex bc8173c87
c740: 38 63 61 36 30 65 39 61 30 66 38 32 33 66 39 61  8ca60e9a0f823f9a
c750: 35 38 39 64 34 66 66 38 34 35 34 37 62 33 38 39  589d4ff84547b389
c760: 62 31 31 37 66 62 36 62 62 31 62 36 31 34 65 37  b117fb6bb1b614e7
c770: 65 37 35 61 39 62 31 64 62 30 62 32 31 64 39 66  e75a9b1db0b21d9f
c780: 37 33 62 34 32 61 37 33 65 39 34 65 63 63 61 62  73b42a73e94eccab
c790: 33 64 65 35 61 65 32 38 34 35 61 35 34 65 35 65  3de5ae2845a54e5e
c7a0: 32 34 62 61 36 63 32 30 66 62 34 64 32 34 35 62  24ba6c20fb4d245b
c7b0: 39 36 34 30 32 33 62 38 36 33 30 34 30 64 36 66  964023b863040d6f
c7c0: 30 38 30 65 39 35 33 35 33 30 64 35 66 64 39 34  080e953530d5fd94
c7d0: 34 65 38 66 66 61 35 32 35 62 66 35 33 36 34 66  4e8ffa525bf5364f
c7e0: 36 35 63 38 38 65 30 36 65 36 65 32 32 64 66 34  65c88e06e6e22df4
c7f0: 62 38 63 65 65 34 38 65 36 37 37 33 38 38 38 30  b8cee48e67738880
c800: 61 39 66 33 66 33 34 30 36 65 39 65 36 66 30 30  a9f3f3406e9e6f00
c810: 31 62 30 61 63 38 66 38 65 30 61 64 65 37 63 38  1b0ac8f8e0ade7c8
c820: 31 34 63 30 63 35 38 30 30 64 30 62 39 65 34 64  14c0c5800d0b9e4d
c830: 64 66 35 35 36 32 32 5d 7d 20 5c 0a 09 2d 62 6f  df55622]} \..-bo
c840: 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20  dy {tls::digest 
c850: 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 2d 32  -digest SHA512-2
c860: 35 36 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  56 -data $data} 
c870: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
c880: 2d 72 65 73 75 6c 74 20 66 36 39 31 64 30 31 65  -result f691d01e
c890: 65 39 61 62 36 37 35 66 33 38 37 32 33 31 33 62  e9ab675f3872313b
c8a0: 37 37 65 36 61 34 35 34 33 63 37 31 65 33 65 38  77e6a4543c71e3e8
c8b0: 39 61 61 39 34 63 34 38 66 39 31 64 36 65 65 37  9aa94c48f91d6ee7
c8c0: 66 61 31 61 62 34 66 62 0a 0a                    fa1ab4fb..