Hex Artifact Content

Artifact 3059eaebf04b50dc72487e0aa84ae4426a82e294f9d0af056954a25bb8b6e183:


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 53 68 6f   from "SHA512Sho
0020: 72 74 4d 73 67 2e 72 73 70 22 0a 6c 61 70 70 65  rtMsg.rsp".lappe
0030: 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 5b 66 69  nd auto_path [fi
0040: 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65  le dirname [file
0050: 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64   dirname [file d
0060: 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72  irname [file dir
0070: 6e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  name [file join 
0080: 5b 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69  [pwd] [info scri
0090: 70 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65  pt]]]]]].package
00a0: 20 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63   require tls.pac
00b0: 6b 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c  kage require tcl
00c0: 74 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74  test..tcltest::t
00d0: 65 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 53 48  estConstraint SH
00e0: 41 35 31 32 20 5b 65 78 70 72 20 7b 5b 6c 73 65  A512 [expr {[lse
00f0: 61 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c  arch -nocase [tl
0100: 73 3a 3a 64 69 67 65 73 74 73 5d 20 53 48 41 35  s::digests] SHA5
0110: 31 32 5d 20 3e 20 2d 31 7d 5d 0a 63 61 74 63 68  12] > -1}].catch
0120: 20 7b 74 6c 73 3a 3a 70 72 6f 76 69 64 65 72 20   {tls::provider 
0130: 6c 65 67 61 63 79 7d 0a 0a 74 63 6c 74 65 73 74  legacy}..tcltest
0140: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35  ::test Hash_SHA5
0150: 31 32 2d 32 2e 31 20 7b 53 48 41 35 31 32 53 68  12-2.1 {SHA512Sh
0160: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
0170: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
0180: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
0190: 74 61 20 22 22 7d 20 5c 0a 09 2d 62 6f 64 79 20  ta ""} \..-body 
01a0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
01b0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
01c0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
01d0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
01e0: 20 63 66 38 33 65 31 33 35 37 65 65 66 62 38 62   cf83e1357eefb8b
01f0: 64 66 31 35 34 32 38 35 30 64 36 36 64 38 30 30  df1542850d66d800
0200: 37 64 36 32 30 65 34 30 35 30 62 35 37 31 35 64  7d620e4050b5715d
0210: 63 38 33 66 34 61 39 32 31 64 33 36 63 65 39 63  c83f4a921d36ce9c
0220: 65 34 37 64 30 64 31 33 63 35 64 38 35 66 32 62  e47d0d13c5d85f2b
0230: 30 66 66 38 33 31 38 64 32 38 37 37 65 65 63 32  0ff8318d2877eec2
0240: 66 36 33 62 39 33 31 62 64 34 37 34 31 37 61 38  f63b931bd47417a8
0250: 31 61 35 33 38 33 32 37 61 66 39 32 37 64 61 33  1a538327af927da3
0260: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
0270: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
0280: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
0290: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
02a0: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
02b0: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
02c0: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
02d0: 32 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  21]} \..-body {t
02e0: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
02f0: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
0300: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
0310: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 33   exact -result 3
0320: 38 33 31 61 36 61 36 31 35 35 65 35 30 39 64 65  831a6a6155e509de
0330: 65 35 39 61 37 66 34 35 31 65 62 33 35 33 32 34  e59a7f451eb35324
0340: 64 38 66 38 66 32 64 66 36 65 33 37 30 38 38 39  d8f8f2df6e370889
0350: 34 37 34 30 66 39 38 66 64 65 65 32 33 38 38 39  4740f98fdee23889
0360: 66 34 64 65 35 61 64 62 30 63 35 30 31 30 64 66  f4de5adb0c5010df
0370: 62 35 35 35 63 64 61 37 37 63 38 61 62 35 64 63  b555cda77c8ab5dc
0380: 39 30 32 30 39 34 63 35 32 64 65 33 32 37 38 66  902094c52de3278f
0390: 33 35 61 37 35 65 62 63 32 35 66 30 39 33 61 0a  35a75ebc25f093a.
03a0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
03b0: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33 20 7b  ash_SHA512-2.3 {
03c0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
03d0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
03e0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
03f0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
0400: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 39 30  ry decode hex 90
0410: 38 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  83]} \..-body {t
0420: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
0430: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
0440: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
0450: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 35   exact -result 5
0460: 35 35 38 36 65 62 62 61 34 38 37 36 38 61 65 62  5586ebba48768aeb
0470: 33 32 33 36 35 35 61 62 36 66 34 32 39 38 66 63  323655ab6f4298fc
0480: 39 66 36 37 30 39 36 34 66 63 32 65 35 66 32 37  9f670964fc2e5f27
0490: 33 31 65 33 34 64 66 61 34 62 30 63 30 39 65 36  31e34dfa4b0c09e6
04a0: 65 31 65 31 32 65 33 64 37 32 38 36 62 33 31 34  e1e12e3d7286b314
04b0: 35 63 36 31 63 32 30 34 37 66 62 31 61 32 61 31  5c61c2047fb1a2a1
04c0: 32 39 37 66 33 36 64 61 36 34 31 36 30 62 33 31  297f36da64160b31
04d0: 66 61 34 63 38 63 32 63 64 64 64 32 66 62 34 0a  fa4c8c2cddd2fb4.
04e0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
04f0: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34 20 7b  ash_SHA512-2.4 {
0500: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
0510: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
0520: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
0530: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
0540: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 61  ry decode hex 0a
0550: 35 35 64 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  55db]} \..-body 
0560: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
0570: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
0580: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
0590: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
05a0: 20 37 39 35 32 35 38 35 65 35 33 33 30 63 62 32   7952585e5330cb2
05b0: 34 37 64 37 32 62 61 65 36 39 36 66 63 38 61 36  47d72bae696fc8a6
05c0: 62 30 66 37 64 30 38 30 34 35 37 37 65 33 34 37  b0f7d0804577e347
05d0: 64 39 39 62 63 31 62 31 31 65 35 32 66 33 38 34  d99bc1b11e52f384
05e0: 39 38 35 61 34 32 38 34 34 39 33 38 32 33 30 36  985a428449382306
05f0: 61 38 39 32 36 31 61 65 31 34 33 63 32 66 33 66  a89261ae143c2f3f
0600: 62 36 31 33 38 30 34 61 62 32 30 62 34 32 64 63  b613804ab20b42dc
0610: 30 39 37 65 35 62 66 34 61 39 36 65 66 39 31 39  097e5bf4a96ef919
0620: 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  b..tcltest::test
0630: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 35   Hash_SHA512-2.5
0640: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
0650: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
0660: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
0670: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
0680: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
0690: 32 33 62 65 38 36 64 35 5d 7d 20 5c 0a 09 2d 62  23be86d5]} \..-b
06a0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
06b0: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20   -digest SHA512 
06c0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
06d0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
06e0: 73 75 6c 74 20 37 36 64 34 32 63 38 65 61 64 65  sult 76d42c8eade
06f0: 61 33 35 61 36 39 39 39 30 63 36 33 61 37 36 32  a35a69990c63a762
0700: 66 33 33 30 36 31 34 61 34 36 39 39 39 37 37 66  f330614a4699977f
0710: 30 35 38 61 64 62 39 38 38 66 34 30 36 66 62 30  058adb988f406fb0
0720: 62 65 38 66 32 65 61 33 64 63 65 33 61 32 62 62  be8f2ea3dce3a2bb
0730: 64 31 64 38 32 37 62 37 30 62 39 62 32 39 39 61  d1d827b70b9b299a
0740: 65 36 66 39 65 35 30 35 38 65 65 39 37 62 35 30  e6f9e5058ee97b50
0750: 62 64 34 39 32 32 64 36 64 33 37 64 64 63 37 36  bd4922d6d37ddc76
0760: 31 66 38 65 62 0a 0a 74 63 6c 74 65 73 74 3a 3a  1f8eb..tcltest::
0770: 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32  test Hash_SHA512
0780: 2d 32 2e 36 20 7b 53 48 41 35 31 32 53 68 6f 72  -2.6 {SHA512Shor
0790: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
07a0: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
07b0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
07c0: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
07d0: 68 65 78 20 65 62 30 63 61 39 34 36 63 31 5d 7d  hex eb0ca946c1]}
07e0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
07f0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
0800: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
0810: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
0820: 63 74 20 2d 72 65 73 75 6c 74 20 64 33 39 65 63  ct -result d39ec
0830: 65 64 66 65 36 65 37 30 35 61 38 32 31 61 65 65  edfe6e705a821aee
0840: 34 66 35 38 62 66 63 34 38 39 63 33 64 39 34 33  4f58bfc489c3d943
0850: 33 65 62 34 61 63 31 62 30 33 61 39 37 65 33 32  3eb4ac1b03a97e32
0860: 31 61 32 35 38 36 62 34 30 64 64 30 35 32 32 66  1a2586b40dd0522f
0870: 34 30 66 61 35 61 65 66 33 36 61 66 66 66 35 39  40fa5aef36afff59
0880: 31 61 37 38 63 39 31 36 62 66 63 36 64 31 63 61  1a78c916bfc6d1ca
0890: 35 31 35 63 34 39 38 33 64 64 38 36 39 35 62 31  515c4983dd8695b1
08a0: 65 63 37 39 35 31 64 37 32 33 65 0a 0a 74 63 6c  ec7951d723e..tcl
08b0: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
08c0: 53 48 41 35 31 32 2d 32 2e 37 20 7b 53 48 41 35  SHA512-2.7 {SHA5
08d0: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
08e0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
08f0: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
0900: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
0910: 65 63 6f 64 65 20 68 65 78 20 33 38 36 36 37 66  ecode hex 38667f
0920: 33 39 32 37 37 62 5d 7d 20 5c 0a 09 2d 62 6f 64  39277b]} \..-bod
0930: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
0940: 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64  digest SHA512 -d
0950: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
0960: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
0970: 6c 74 20 38 35 37 30 38 62 38 66 66 30 35 64 39  lt 85708b8ff05d9
0980: 37 34 64 36 61 66 30 38 30 31 63 31 35 32 62 39  74d6af0801c152b9
0990: 35 66 35 66 61 35 63 30 36 61 66 39 61 33 35 32  5f5fa5c06af9a352
09a0: 33 30 63 35 62 65 61 32 37 35 32 66 30 33 31 66  30c5bea2752f031f
09b0: 39 62 64 38 34 62 64 38 34 34 37 31 37 62 33 61  9bd84bd844717b3a
09c0: 64 64 33 30 38 61 37 30 64 63 37 37 37 66 39 30  dd308a70dc777f90
09d0: 38 31 33 63 32 30 62 34 37 62 31 36 33 38 35 36  813c20b47b163856
09e0: 36 34 65 65 66 63 38 38 34 34 39 66 30 34 66 32  64eefc88449f04f2
09f0: 31 33 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  131..tcltest::te
0a00: 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32  st Hash_SHA512-2
0a10: 2e 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d  .8 {SHA512ShortM
0a20: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
0a30: 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73  nts SHA512 \..-s
0a40: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
0a50: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
0a60: 78 20 62 33 39 66 37 31 61 61 61 38 61 31 30 38  x b39f71aaa8a108
0a70: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
0a80: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
0a90: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
0aa0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
0ab0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 32 35 38  xact -result 258
0ac0: 62 38 65 66 61 30 35 62 34 61 30 36 62 31 65 36  b8efa05b4a06b1e6
0ad0: 33 63 37 61 33 66 39 32 35 63 35 65 66 31 31 66  3c7a3f925c5ef11f
0ae0: 61 30 33 65 33 64 34 37 64 36 33 31 62 66 34 64  a03e3d47d631bf4d
0af0: 34 37 34 39 38 33 37 38 33 64 38 63 30 62 30 39  474983783d8c0b09
0b00: 34 34 39 30 30 39 65 38 34 32 66 63 39 66 61 31  449009e842fc9fa1
0b10: 35 64 65 35 38 36 63 36 37 63 66 38 39 35 35 61  5de586c67cf8955a
0b20: 31 37 64 37 39 30 62 32 30 66 34 31 64 61 64 66  17d790b20f41dadf
0b30: 36 37 65 65 38 63 64 63 64 66 63 65 36 0a 0a 74  67ee8cdcdfce6..t
0b40: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
0b50: 68 5f 53 48 41 35 31 32 2d 32 2e 39 20 7b 53 48  h_SHA512-2.9 {SH
0b60: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
0b70: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
0b80: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
0b90: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
0ba0: 20 64 65 63 6f 64 65 20 68 65 78 20 36 66 38 64   decode hex 6f8d
0bb0: 35 38 62 37 63 61 62 31 38 38 38 63 5d 7d 20 5c  58b7cab1888c]} \
0bc0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
0bd0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
0be0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
0bf0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0c00: 20 2d 72 65 73 75 6c 74 20 61 33 39 34 31 64 65   -result a3941de
0c10: 66 32 38 30 33 63 38 64 66 63 30 38 66 32 30 63  f2803c8dfc08f20c
0c20: 30 36 62 61 37 65 39 61 33 33 32 61 65 30 63 36  06ba7e9a332ae0c6
0c30: 37 65 34 37 61 65 35 37 33 36 35 63 32 34 33 65  7e47ae57365c243e
0c40: 66 34 30 30 35 39 62 31 31 62 65 32 32 63 39 31  f40059b11be22c91
0c50: 64 61 36 61 38 30 63 32 63 66 66 30 37 34 32 61  da6a80c2cff0742a
0c60: 38 66 34 62 63 64 39 34 31 62 64 65 65 30 62 38  8f4bcd941bdee0b8
0c70: 36 31 65 63 38 37 32 62 32 31 35 34 33 33 63 65  61ec872b215433ce
0c80: 38 64 63 66 33 63 30 33 31 0a 0a 74 63 6c 74 65  8dcf3c031..tclte
0c90: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
0ca0: 41 35 31 32 2d 32 2e 31 30 20 7b 53 48 41 35 31  A512-2.10 {SHA51
0cb0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
0cc0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
0cd0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
0ce0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0cf0: 63 6f 64 65 20 68 65 78 20 31 36 32 62 30 63 66  code hex 162b0cf
0d00: 39 62 33 37 35 30 66 39 34 33 38 5d 7d 20 5c 0a  9b3750f9438]} \.
0d10: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
0d20: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
0d30: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
0d40: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
0d50: 2d 72 65 73 75 6c 74 20 61 64 65 32 31 37 33 30  -result ade21730
0d60: 35 64 63 33 34 33 39 32 61 61 34 62 38 65 35 37  5dc34392aa4b8e57
0d70: 66 36 34 66 35 61 33 61 66 64 64 32 37 66 31 66  f64f5a3afdd27f1f
0d80: 61 39 36 39 61 39 61 32 36 30 38 33 35 33 66 38  a969a9a2608353f8
0d90: 32 62 39 35 63 66 62 34 61 65 38 34 35 39 38 64  2b95cfb4ae84598d
0da0: 30 31 35 37 35 61 35 37 38 61 31 30 36 38 61 35  01575a578a1068a5
0db0: 39 62 33 34 62 35 30 34 35 66 66 36 64 35 32 39  9b34b5045ff6d529
0dc0: 39 63 35 63 62 37 65 65 31 37 31 38 30 37 30 31  9c5cb7ee17180701
0dd0: 62 32 64 31 64 36 39 35 0a 0a 74 63 6c 74 65 73  b2d1d695..tcltes
0de0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
0df0: 35 31 32 2d 32 2e 31 31 20 7b 53 48 41 35 31 32  512-2.11 {SHA512
0e00: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
0e10: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
0e20: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
0e30: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
0e40: 6f 64 65 20 68 65 78 20 62 61 64 37 63 36 31 38  ode hex bad7c618
0e50: 66 34 35 62 65 32 30 37 39 37 35 65 5d 7d 20 5c  f45be207975e]} \
0e60: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
0e70: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
0e80: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
0e90: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0ea0: 20 2d 72 65 73 75 6c 74 20 35 38 38 36 38 32 38   -result 5886828
0eb0: 39 35 39 64 31 66 38 32 32 35 34 30 36 38 62 65  959d1f82254068be
0ec0: 30 62 64 31 34 62 36 61 38 38 66 35 39 66 35 33  0bd14b6a88f59f53
0ed0: 34 30 36 31 66 62 32 30 33 37 36 61 30 35 34 31  4061fb20376a0541
0ee0: 30 35 32 64 64 33 36 33 35 65 64 66 33 63 36 66  052dd3635edf3c6f
0ef0: 30 63 61 33 64 30 38 37 37 35 65 31 33 35 32 35  0ca3d08775e13525
0f00: 64 66 39 33 33 33 61 32 31 31 33 63 30 62 32 61  df9333a2113c0b2a
0f10: 66 37 36 35 31 35 38 38 37 35 32 39 39 31 30 62  f76515887529910b
0f20: 36 63 37 39 33 63 38 61 35 0a 0a 74 63 6c 74 65  6c793c8a5..tclte
0f30: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
0f40: 41 35 31 32 2d 32 2e 31 32 20 7b 53 48 41 35 31  A512-2.12 {SHA51
0f50: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
0f60: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
0f70: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
0f80: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
0f90: 63 6f 64 65 20 68 65 78 20 36 32 31 33 65 31 30  code hex 6213e10
0fa0: 61 34 34 32 30 65 30 64 39 62 37 37 30 33 37 5d  a4420e0d9b77037]
0fb0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
0fc0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
0fd0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
0fe0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
0ff0: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 39 38 32  act -result 9982
1000: 64 63 32 61 30 34 64 66 66 31 36 35 35 36 37 66  dc2a04dff165567f
1010: 32 37 36 66 64 34 36 33 65 66 65 66 32 62 33 36  276fd463efef2b36
1020: 39 66 61 32 66 62 63 61 38 63 65 65 33 31 63 65  9fa2fbca8cee31ce
1030: 30 64 65 38 61 37 39 61 32 65 62 30 62 35 33 65  0de8a79a2eb0b53e
1040: 34 33 37 66 37 64 39 64 31 66 34 31 63 37 31 64  437f7d9d1f41c71d
1050: 37 32 35 63 61 62 62 39 34 39 62 35 31 33 30 37  725cabb949b51307
1060: 35 62 61 64 31 37 34 30 63 39 65 65 66 62 66 36  5bad1740c9eefbf6
1070: 61 35 63 36 36 33 33 34 30 30 63 37 0a 0a 74 63  a5c6633400c7..tc
1080: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1090: 5f 53 48 41 35 31 32 2d 32 2e 31 33 20 7b 53 48  _SHA512-2.13 {SH
10a0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
10b0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
10c0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
10d0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
10e0: 20 64 65 63 6f 64 65 20 68 65 78 20 36 33 33 32   decode hex 6332
10f0: 63 33 63 32 61 30 61 36 32 35 61 36 31 64 66 37  c3c2a0a625a61df7
1100: 31 38 35 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  1858]} \..-body 
1110: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1120: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1130: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1140: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1150: 20 39 64 36 30 33 37 35 64 39 38 35 38 64 39 66   9d60375d9858d9f
1160: 32 34 31 36 66 62 38 36 66 61 30 61 32 31 38 39  2416fb86fa0a2189
1170: 65 65 34 32 31 33 65 38 37 31 30 33 31 34 66 64  ee4213e8710314fd
1180: 31 65 62 65 64 30 66 64 31 35 38 62 30 34 33 65  1ebed0fd158b043e
1190: 36 65 37 63 39 61 37 36 64 36 32 63 36 62 61 31  6e7c9a76d62c6ba1
11a0: 65 31 64 34 31 31 61 37 33 30 39 30 32 33 30 39  e1d411a730902309
11b0: 65 63 36 37 36 64 64 34 39 31 34 33 33 63 36 65  ec676dd491433c6e
11c0: 66 36 36 63 38 66 31 31 36 32 33 33 64 36 63 65  f66c8f116233d6ce
11d0: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
11e0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
11f0: 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  4 {SHA512ShortMs
1200: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1210: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
1220: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
1230: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
1240: 20 66 34 37 62 65 33 61 32 62 30 31 39 64 31 62   f47be3a2b019d1b
1250: 65 65 64 65 64 66 35 62 38 30 63 5d 7d 20 5c 0a  eededf5b80c]} \.
1260: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
1270: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
1280: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
1290: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
12a0: 2d 72 65 73 75 6c 74 20 62 39 34 32 39 32 36 32  -result b9429262
12b0: 35 63 61 61 32 38 63 37 62 65 32 34 61 30 39 39  5caa28c7be24a099
12c0: 37 65 62 37 33 32 38 30 36 32 61 37 36 64 39 62  7eb7328062a76d9b
12d0: 35 32 39 63 30 66 31 64 35 36 38 66 38 35 30 64  529c0f1d568f850d
12e0: 66 36 64 35 36 39 62 35 65 38 34 64 66 30 37 65  f6d569b5e84df07e
12f0: 39 65 32 34 36 62 65 32 33 32 30 33 33 66 66 61  9e246be232033ffa
1300: 63 33 61 64 66 32 64 31 38 66 39 32 61 62 39 64  c3adf2d18f92ab9d
1310: 61 63 66 63 30 65 63 66 30 38 61 66 66 37 31 34  acfc0ecf08aff714
1320: 35 66 30 62 38 33 33 62 0a 0a 74 63 6c 74 65 73  5f0b833b..tcltes
1330: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
1340: 35 31 32 2d 32 2e 31 35 20 7b 53 48 41 35 31 32  512-2.15 {SHA512
1350: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
1360: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
1370: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1380: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1390: 6f 64 65 20 68 65 78 20 62 31 37 31 35 66 37 38  ode hex b1715f78
13a0: 32 66 66 30 32 63 36 62 38 38 39 33 37 66 30 35  2ff02c6b88937f05
13b0: 34 31 31 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  4116]} \..-body 
13c0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
13d0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
13e0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
13f0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1400: 20 65 65 31 61 35 36 65 65 37 38 31 38 32 65 63   ee1a56ee78182ec
1410: 34 31 64 32 63 33 61 62 33 33 64 34 63 34 31 38  41d2c3ab33d4c418
1420: 37 31 64 34 33 37 63 35 63 31 63 61 30 36 30 65  71d437c5c1ca060e
1430: 65 39 65 32 31 39 63 62 38 33 36 38 39 62 34 65  e9e219cb83689b4e
1440: 35 61 34 31 37 34 64 66 64 61 62 35 64 31 64 31  5a4174dfdab5d1d1
1450: 30 39 36 61 33 31 61 37 63 38 64 33 61 62 64 61  096a31a7c8d3abda
1460: 37 35 63 31 62 35 65 36 64 61 39 37 65 31 38 31  75c1b5e6da97e181
1470: 34 39 30 31 63 35 30 35 62 30 62 63 30 37 66 32  4901c505b0bc07f2
1480: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
1490: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
14a0: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
14b0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
14c0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
14d0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
14e0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
14f0: 20 39 62 63 64 35 32 36 32 38 36 38 63 64 39 63   9bcd5262868cd9c
1500: 38 61 39 36 63 39 65 38 32 39 38 37 66 30 33 5d  8a96c9e82987f03]
1510: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1520: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1530: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
1540: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1550: 61 63 74 20 2d 72 65 73 75 6c 74 20 32 65 30 37  act -result 2e07
1560: 36 36 32 61 30 30 31 62 39 37 35 35 61 65 39 32  662a001b9755ae92
1570: 32 63 38 65 38 61 39 35 37 35 36 64 62 35 33 34  2c8e8a95756db534
1580: 31 64 63 30 66 32 65 36 32 61 65 31 63 66 38 32  1dc0f2e62ae1cf82
1590: 37 30 33 38 66 33 33 63 65 30 35 35 66 36 33 61  7038f33ce055f63a
15a0: 64 35 63 30 30 62 36 35 33 39 31 34 32 38 34 33  d5c00b6539142843
15b0: 34 64 64 63 30 31 65 35 35 33 35 65 37 66 65 63  4ddc01e5535e7fec
15c0: 62 66 35 33 64 62 36 36 64 39 33 30 39 39 62 38  bf53db66d93099b8
15d0: 65 30 62 37 65 34 34 65 34 62 32 35 0a 0a 74 63  e0b7e44e4b25..tc
15e0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
15f0: 5f 53 48 41 35 31 32 2d 32 2e 31 37 20 7b 53 48  _SHA512-2.17 {SH
1600: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
1610: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
1620: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
1630: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
1640: 20 64 65 63 6f 64 65 20 68 65 78 20 63 64 36 37   decode hex cd67
1650: 62 64 34 30 35 34 61 61 61 33 62 61 61 30 64 62  bd4054aaa3baa0db
1660: 31 37 38 63 65 32 33 32 66 64 35 61 5d 7d 20 5c  178ce232fd5a]} \
1670: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
1680: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
1690: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
16a0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
16b0: 20 2d 72 65 73 75 6c 74 20 30 64 38 35 32 31 66   -result 0d8521f
16c0: 38 66 32 66 33 39 30 30 33 33 32 64 31 61 31 61  8f2f3900332d1a1a
16d0: 35 35 63 36 30 62 61 38 31 64 30 34 64 32 38 64  55c60ba81d04d28d
16e0: 66 65 38 63 35 30 34 62 36 33 32 38 61 65 37 38  fe8c504b6328ae78
16f0: 37 39 32 35 66 65 30 31 38 38 66 32 62 61 39 31  7925fe0188f2ba91
1700: 63 33 61 39 66 30 63 31 36 35 33 63 34 62 66 30  c3a9f0c1653c4bf0
1710: 61 64 61 33 35 36 34 35 35 65 61 33 36 66 64 33  ada356455ea36fd3
1720: 31 66 38 65 37 33 65 33 39 35 31 63 61 64 34 65  1f8e73e3951cad4e
1730: 62 62 61 38 63 36 65 30 34 0a 0a 74 63 6c 74 65  bba8c6e04..tclte
1740: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
1750: 41 35 31 32 2d 32 2e 31 38 20 7b 53 48 41 35 31  A512-2.18 {SHA51
1760: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
1770: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
1780: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
1790: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
17a0: 63 6f 64 65 20 68 65 78 20 36 62 61 30 30 34 66  code hex 6ba004f
17b0: 64 31 37 36 37 39 31 65 66 62 33 38 31 62 38 36  d176791efb381b86
17c0: 32 65 32 39 38 63 36 37 62 30 38 5d 7d 20 5c 0a  2e298c67b08]} \.
17d0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
17e0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
17f0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
1800: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
1810: 2d 72 65 73 75 6c 74 20 31 31 32 65 31 39 31 34  -result 112e1914
1820: 34 61 39 63 35 31 61 32 32 33 61 30 30 32 62 39  4a9c51a223a002b9
1830: 37 37 34 35 39 39 32 30 65 33 38 61 66 64 34 63  77459920e38afd4c
1840: 61 36 31 30 62 64 31 63 35 33 32 33 34 39 65 39  a610bd1c532349e9
1850: 66 61 37 63 30 64 35 30 33 32 31 35 63 30 31 61  fa7c0d503215c01a
1860: 64 37 30 65 31 62 32 61 63 35 31 33 33 63 66 32  d70e1b2ac5133cf2
1870: 64 31 30 63 39 65 38 63 31 61 34 63 39 34 30 35  d10c9e8c1a4c9405
1880: 66 32 39 31 64 61 32 64 63 34 35 66 37 30 36 37  f291da2dc45f7067
1890: 36 31 63 35 65 38 66 65 0a 0a 74 63 6c 74 65 73  61c5e8fe..tcltes
18a0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
18b0: 35 31 32 2d 32 2e 31 39 20 7b 53 48 41 35 31 32  512-2.19 {SHA512
18c0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
18d0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
18e0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
18f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1900: 6f 64 65 20 68 65 78 20 63 36 61 31 37 30 39 33  ode hex c6a17093
1910: 36 35 36 38 36 35 31 30 32 30 65 64 66 65 31 35  6568651020edfe15
1920: 64 66 38 30 31 32 61 63 64 61 38 64 5d 7d 20 5c  df8012acda8d]} \
1930: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
1940: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
1950: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
1960: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
1970: 20 2d 72 65 73 75 6c 74 20 63 33 36 63 31 30 30   -result c36c100
1980: 63 64 62 36 63 38 63 34 35 62 30 37 32 66 31 38  cdb6c8c45b072f18
1990: 32 35 36 64 36 33 61 36 36 63 39 38 34 33 61 63  256d63a66c9843ac
19a0: 62 34 64 30 37 64 65 36 32 65 30 36 30 30 37 31  b4d07de62e060071
19b0: 31 64 34 66 62 65 36 34 63 38 63 66 33 31 34 65  1d4fbe64c8cf314e
19c0: 63 33 34 35 37 63 39 30 33 30 38 31 34 37 63 62  c3457c90308147cb
19d0: 37 61 63 37 65 34 64 30 37 33 62 61 31 30 66 30  7ac7e4d073ba10f0
19e0: 63 65 64 37 38 65 61 37 32 34 61 34 37 34 62 33  ced78ea724a474b3
19f0: 32 64 61 65 37 31 32 33 31 0a 0a 74 63 6c 74 65  2dae71231..tclte
1a00: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
1a10: 41 35 31 32 2d 32 2e 32 30 20 7b 53 48 41 35 31  A512-2.20 {SHA51
1a20: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
1a30: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
1a40: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
1a50: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
1a60: 63 6f 64 65 20 68 65 78 20 36 31 62 65 30 63 39  code hex 61be0c9
1a70: 66 35 63 66 36 32 37 34 35 63 37 64 61 34 37 63  f5cf62745c7da47c
1a80: 31 30 34 35 39 37 31 39 34 64 62 32 34 35 63 5d  104597194db245c]
1a90: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
1aa0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
1ab0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
1ac0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
1ad0: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 33 37 39  act -result b379
1ae0: 32 34 39 61 33 63 61 35 66 31 34 63 32 39 34 35  249a3ca5f14c2945
1af0: 36 37 31 30 31 31 34 62 61 36 66 36 31 33 36 62  6710114ba6f6136b
1b00: 33 34 63 33 66 63 39 66 36 66 62 39 31 62 35 39  34c3fc9f6fb91b59
1b10: 64 34 39 31 61 66 37 38 32 64 36 62 32 33 37 65  d491af782d6b237e
1b20: 62 37 31 61 61 66 66 64 64 33 38 30 37 39 34 36  b71aaffdd3807946
1b30: 31 63 66 36 39 30 61 34 36 64 39 61 34 64 64 64  1cf690a46d9a4ddd
1b40: 36 30 32 64 31 39 38 30 38 61 62 36 32 33 35 64  602d19808ab6235d
1b50: 31 64 38 61 61 30 31 65 38 32 30 30 0a 0a 74 63  1d8aa01e8200..tc
1b60: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
1b70: 5f 53 48 41 35 31 32 2d 32 2e 32 31 20 7b 53 48  _SHA512-2.21 {SH
1b80: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
1b90: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
1ba0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
1bb0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
1bc0: 20 64 65 63 6f 64 65 20 68 65 78 20 65 30 37 30   decode hex e070
1bd0: 35 36 64 34 66 37 32 37 37 62 63 35 34 38 30 39  56d4f7277bc54809
1be0: 39 35 37 37 37 32 30 61 35 38 31 65 65 63 39 34  9577720a581eec94
1bf0: 31 34 31 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  141d]} \..-body 
1c00: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1c10: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1c20: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1c30: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1c40: 20 35 39 66 31 38 35 36 33 30 33 66 66 31 36 35   59f1856303ff165
1c50: 65 32 61 62 35 36 38 33 64 64 64 65 62 36 65 38  e2ab5683dddeb6e8
1c60: 61 64 38 31 66 31 35 62 62 35 37 38 35 37 39 62  ad81f15bb578579b
1c70: 39 39 39 65 62 35 37 34 36 36 38 30 66 32 32 63  999eb5746680f22c
1c80: 66 65 63 36 64 62 61 37 34 31 65 35 39 31 63 61  fec6dba741e591ca
1c90: 34 64 39 65 35 33 39 30 34 38 33 37 37 30 31 62  4d9e53904837701b
1ca0: 33 37 34 62 65 37 34 62 62 63 30 38 34 37 61 39  374be74bbc0847a9
1cb0: 32 31 37 39 61 63 32 62 36 37 34 39 36 64 38 30  2179ac2b67496d80
1cc0: 37 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  7..tcltest::test
1cd0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
1ce0: 32 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  2 {SHA512ShortMs
1cf0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1d00: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
1d10: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
1d20: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
1d30: 20 36 37 65 62 64 61 30 61 33 35 37 33 61 39 61   67ebda0a3573a9a
1d40: 35 38 37 35 31 64 34 31 36 39 65 31 30 63 37 65  58751d4169e10c7e
1d50: 38 36 36 33 66 65 62 62 33 61 38 5d 7d 20 5c 0a  8663febb3a8]} \.
1d60: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
1d70: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
1d80: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
1d90: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
1da0: 2d 72 65 73 75 6c 74 20 31 33 39 36 33 66 38 31  -result 13963f81
1db0: 63 66 61 62 66 63 61 37 31 64 65 34 37 33 39 66  cfabfca71de4739f
1dc0: 64 32 34 61 31 30 63 65 33 38 39 37 62 62 61 31  d24a10ce3897bba1
1dd0: 64 37 31 36 39 30 37 66 63 30 61 32 38 34 39 30  d716907fc0a28490
1de0: 63 31 39 32 61 37 66 63 33 63 63 62 38 64 62 31  c192a7fc3ccb8db1
1df0: 66 39 31 61 66 37 61 32 64 32 35 30 64 36 36 31  f91af7a2d250d661
1e00: 37 66 30 64 66 64 31 35 31 39 64 32 32 31 64 36  7f0dfd1519d221d6
1e10: 31 38 61 30 32 65 33 65 33 66 61 39 30 34 31 63  18a02e3e3fa9041c
1e20: 66 33 35 65 64 31 65 61 0a 0a 74 63 6c 74 65 73  f35ed1ea..tcltes
1e30: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
1e40: 35 31 32 2d 32 2e 32 33 20 7b 53 48 41 35 31 32  512-2.23 {SHA512
1e50: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
1e60: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
1e70: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
1e80: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
1e90: 6f 64 65 20 68 65 78 20 36 33 65 30 39 64 62 39  ode hex 63e09db9
1ea0: 39 65 62 34 63 64 36 32 33 38 36 37 37 38 35 39  9eb4cd6238677859
1eb0: 61 35 36 37 64 66 33 31 33 63 38 35 32 30 64 38  a567df313c8520d8
1ec0: 34 35 62 34 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  45b4]} \..-body 
1ed0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
1ee0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
1ef0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
1f00: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
1f10: 20 39 30 38 33 65 35 33 34 38 62 30 38 65 62 39   9083e5348b08eb9
1f20: 38 31 30 62 32 64 31 35 37 38 31 64 38 32 36 35  810b2d15781d8265
1f30: 38 34 35 34 31 30 64 65 35 34 66 65 36 31 37 35  845410de54fe6175
1f40: 30 64 34 62 39 33 38 35 33 36 39 30 36 34 39 61  0d4b93853690649a
1f50: 64 63 36 65 37 32 34 39 30 62 63 32 62 37 63 33  dc6e72490bc2b7c3
1f60: 36 35 65 32 33 39 30 35 37 33 64 39 34 31 34 62  65e2390573d9414b
1f70: 65 63 63 30 39 33 39 37 31 39 65 30 63 62 37 38  ecc0939719e0cb78
1f80: 65 63 61 36 62 32 63 38 30 63 32 66 64 61 39 32  eca6b2c80c2fda92
1f90: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
1fa0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 32   Hash_SHA512-2.2
1fb0: 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  4 {SHA512ShortMs
1fc0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
1fd0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
1fe0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
1ff0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
2000: 20 66 33 65 30 36 62 34 62 64 37 39 65 33 38 30   f3e06b4bd79e380
2010: 61 36 35 63 62 36 37 39 61 39 38 63 63 64 37 33  a65cb679a98ccd73
2020: 32 35 36 33 63 63 35 65 62 65 38 39 32 65 32 5d  2563cc5ebe892e2]
2030: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
2040: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
2050: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
2060: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
2070: 61 63 74 20 2d 72 65 73 75 6c 74 20 36 62 33 31  act -result 6b31
2080: 35 66 31 30 36 62 30 37 63 35 39 65 65 64 63 35  5f106b07c59eedc5
2090: 61 62 31 64 66 38 31 33 62 33 63 30 62 39 30 33  ab1df813b3c0b903
20a0: 30 36 30 65 37 32 31 37 63 63 30 31 30 65 39 30  060e7217cc010e90
20b0: 37 30 32 37 38 35 31 32 61 38 38 35 30 30 38 64  70278512a885008d
20c0: 61 63 38 62 32 34 37 32 61 35 32 31 65 37 37 38  ac8b2472a521e778
20d0: 33 35 61 37 66 34 64 65 61 64 63 31 64 35 39 31  35a7f4deadc1d591
20e0: 61 61 32 33 62 36 32 34 62 36 39 39 34 38 61 39  aa23b624b69948a9
20f0: 39 62 62 36 30 31 32 31 63 35 34 65 0a 0a 74 63  9bb60121c54e..tc
2100: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
2110: 5f 53 48 41 35 31 32 2d 32 2e 32 35 20 7b 53 48  _SHA512-2.25 {SH
2120: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
2130: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
2140: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
2150: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
2160: 20 64 65 63 6f 64 65 20 68 65 78 20 31 36 62 31   decode hex 16b1
2170: 37 30 37 34 64 33 65 33 64 39 37 35 35 37 66 39  7074d3e3d97557f9
2180: 65 64 37 37 64 39 32 30 62 34 62 31 62 66 66 34  ed77d920b4b1bff4
2190: 65 38 34 35 62 33 34 35 61 39 32 32 5d 7d 20 5c  e845b345a922]} \
21a0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
21b0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
21c0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
21d0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
21e0: 20 2d 72 65 73 75 6c 74 20 36 38 38 34 31 33 34   -result 6884134
21f0: 35 38 32 61 37 36 30 30 34 36 34 33 33 61 62 63  582a760046433abc
2200: 62 64 35 33 64 62 38 66 66 31 61 38 39 39 39 35  bd53db8ff1a89995
2210: 38 36 32 66 33 30 35 62 38 38 37 30 32 30 66 36  862f305b887020f6
2220: 64 61 36 63 37 62 39 30 33 61 33 31 34 37 32 31  da6c7b903a314721
2230: 65 39 37 32 62 66 34 33 38 34 38 33 66 34 35 32  e972bf438483f452
2240: 61 38 62 30 39 35 39 36 32 39 38 61 35 37 36 63  a8b09596298a576c
2250: 39 30 33 63 39 31 64 66 34 61 34 31 34 63 37 62  903c91df4a414c7b
2260: 64 32 30 66 64 31 64 30 37 0a 0a 74 63 6c 74 65  d20fd1d07..tclte
2270: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
2280: 41 35 31 32 2d 32 2e 32 36 20 7b 53 48 41 35 31  A512-2.26 {SHA51
2290: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
22a0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
22b0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
22c0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
22d0: 63 6f 64 65 20 68 65 78 20 33 65 64 66 39 33 32  code hex 3edf932
22e0: 35 31 33 34 39 64 32 32 38 30 36 62 65 64 32 35  51349d22806bed25
22f0: 33 34 35 66 64 35 63 31 39 30 61 61 63 39 36 64  345fd5c190aac96d
2300: 36 63 64 62 32 64 37 35 38 62 38 5d 7d 20 5c 0a  6cdb2d758b8]} \.
2310: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
2320: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
2330: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
2340: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
2350: 2d 72 65 73 75 6c 74 20 32 39 39 65 30 64 61 66  -result 299e0daf
2360: 36 36 30 35 65 35 62 30 63 33 30 65 31 65 63 38  6605e5b0c30e1ec8
2370: 62 62 39 38 65 37 61 33 62 64 37 62 33 33 62 33  bb98e7a3bd7b33b3
2380: 38 38 62 64 62 34 35 37 34 35 32 64 61 62 35 30  88bdb457452dab50
2390: 39 35 39 34 34 30 36 63 38 65 37 62 38 34 31 65  9594406c8e7b841e
23a0: 36 66 34 65 37 35 63 38 64 36 66 62 64 36 31 34  6f4e75c8d6fbd614
23b0: 64 35 65 62 39 65 35 36 63 33 35 39 62 66 61 66  d5eb9e56c359bfaf
23c0: 62 34 32 38 35 37 35 34 37 38 37 61 62 37 32 62  b4285754787ab72b
23d0: 34 36 64 64 33 33 66 30 0a 0a 74 63 6c 74 65 73  46dd33f0..tcltes
23e0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
23f0: 35 31 32 2d 32 2e 32 37 20 7b 53 48 41 35 31 32  512-2.27 {SHA512
2400: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2410: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
2420: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2430: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2440: 6f 64 65 20 68 65 78 20 62 32 64 35 61 31 34 66  ode hex b2d5a14f
2450: 30 31 65 36 62 37 37 38 38 38 38 63 35 36 32 61  01e6b778888c562a
2460: 30 35 39 65 63 38 31 39 61 64 38 39 39 39 32 64  059ec819ad89992d
2470: 31 36 61 30 39 66 37 61 35 34 62 34 5d 7d 20 5c  16a09f7a54b4]} \
2480: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
2490: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
24a0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
24b0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
24c0: 20 2d 72 65 73 75 6c 74 20 61 62 32 65 37 64 37   -result ab2e7d7
24d0: 34 35 64 38 61 64 33 39 33 34 33 39 61 66 32 61  45d8ad393439af2a
24e0: 33 66 62 63 39 63 64 63 32 35 35 31 30 64 34 61  3fbc9cdc25510d4a
24f0: 30 34 65 37 38 62 35 32 36 65 31 32 62 31 63 30  04e78b526e12b1c0
2500: 62 65 33 62 32 32 39 36 36 38 37 32 65 62 65 36  be3b22966872ebe6
2510: 35 32 65 32 66 34 36 65 64 35 63 35 61 63 65 63  52e2f46ed5c5acec
2520: 64 32 66 32 33 33 61 39 31 37 35 64 64 32 39 35  d2f233a9175dd295
2530: 65 62 65 62 33 61 30 37 30 36 66 63 36 36 66 61  ebeb3a0706fc66fa
2540: 31 62 31 33 37 30 34 32 62 0a 0a 74 63 6c 74 65  1b137042b..tclte
2550: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
2560: 41 35 31 32 2d 32 2e 32 38 20 7b 53 48 41 35 31  A512-2.28 {SHA51
2570: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
2580: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
2590: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
25a0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
25b0: 63 6f 64 65 20 68 65 78 20 38 34 34 62 36 36 66  code hex 844b66f
25c0: 31 32 62 61 30 63 35 66 39 65 39 32 37 33 31 66  12ba0c5f9e92731f
25d0: 35 37 31 35 33 39 64 31 65 65 66 33 33 32 65 31  571539d1eef332e1
25e0: 35 34 39 61 34 39 64 62 66 61 34 63 36 64 65 5d  549a49dbfa4c6de]
25f0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
2600: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
2610: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
2620: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
2630: 61 63 74 20 2d 72 65 73 75 6c 74 20 63 33 66 39  act -result c3f9
2640: 63 35 37 38 31 39 32 35 37 37 34 37 38 33 61 65  c5781925774783ae
2650: 39 64 38 33 39 37 37 32 64 37 35 31 33 64 66 63  9d839772d7513dfc
2660: 65 61 38 63 35 61 66 38 64 61 32 36 32 63 31 39  ea8c5af8da262c19
2670: 36 66 39 66 65 38 30 31 33 35 62 32 62 30 63 38  6f9fe80135b2b0c8
2680: 63 36 63 61 30 61 31 36 30 34 65 30 61 33 34 36  c6ca0a1604e0a346
2690: 30 32 34 37 36 32 30 64 65 32 30 62 32 39 39 66  0247620de20b299f
26a0: 32 64 62 37 38 37 31 39 38 32 64 32 37 63 32 31  2db7871982d27c21
26b0: 37 36 61 65 35 66 61 37 61 64 36 35 0a 0a 74 63  76ae5fa7ad65..tc
26c0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
26d0: 5f 53 48 41 35 31 32 2d 32 2e 32 39 20 7b 53 48  _SHA512-2.29 {SH
26e0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
26f0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
2700: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
2710: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
2720: 20 64 65 63 6f 64 65 20 68 65 78 20 36 62 36 63   decode hex 6b6c
2730: 63 36 39 32 64 33 39 38 36 30 62 31 66 33 30 32  c692d39860b1f302
2740: 30 33 36 35 33 65 32 35 64 30 39 63 30 31 65 36  03653e25d09c01e6
2750: 61 38 30 34 33 63 31 61 39 63 62 38 62 32 34 39  a8043c1a9cb8b249
2760: 61 34 31 65 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  a41e]} \..-body 
2770: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2780: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
2790: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
27a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
27b0: 20 32 65 35 32 36 33 64 39 61 34 66 32 31 62 32   2e5263d9a4f21b2
27c0: 31 30 65 30 65 31 36 31 65 64 33 39 64 66 34 34  10e0e161ed39df44
27d0: 31 30 32 38 36 34 33 32 35 37 38 38 36 34 37 32  1028643257886472
27e0: 36 31 61 36 65 37 30 65 61 34 62 31 65 65 30 61  61a6e70ea4b1ee0a
27f0: 62 62 35 37 62 35 37 34 39 39 62 63 38 32 31 35  bb57b57499bc8215
2800: 38 64 38 32 33 33 36 64 64 35 33 66 31 65 66 34  8d82336dd53f1ef4
2810: 34 36 34 63 36 61 30 38 31 32 36 65 31 33 38 62  464c6a08126e138b
2820: 32 63 63 30 38 39 32 66 37 36 35 66 36 61 66 38  2cc0892f765f6af8
2830: 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  5..tcltest::test
2840: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33   Hash_SHA512-2.3
2850: 30 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  0 {SHA512ShortMs
2860: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2870: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
2880: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
2890: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
28a0: 20 61 62 31 66 63 39 65 65 38 34 35 65 65 62 32   ab1fc9ee845eeb2
28b0: 30 35 65 63 31 33 37 32 35 64 61 66 31 66 62 31  05ec13725daf1fb1
28c0: 66 35 64 35 30 36 32 39 62 31 34 65 61 39 61 32  f5d50629b14ea9a2
28d0: 32 33 35 61 39 33 35 30 61 38 38 5d 7d 20 5c 0a  235a9350a88]} \.
28e0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
28f0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
2900: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
2910: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
2920: 2d 72 65 73 75 6c 74 20 37 32 64 31 38 38 61 39  -result 72d188a9
2930: 64 66 35 66 33 62 30 30 30 35 37 62 63 61 32 32  df5f3b00057bca22
2940: 63 39 32 63 30 66 38 32 32 38 34 32 32 64 39 37  c92c0f8228422d97
2950: 34 33 30 32 64 32 32 64 34 62 33 32 32 65 37 61  4302d22d4b322e7a
2960: 36 63 38 66 63 33 62 32 62 35 30 65 63 37 34 63  6c8fc3b2b50ec74c
2970: 36 38 34 32 37 38 31 66 32 39 66 37 30 37 35 63  6842781f29f7075c
2980: 33 64 34 62 64 30 36 35 38 37 38 36 34 38 38 34  3d4bd06587864884
2990: 36 63 33 39 62 62 33 65 34 65 32 36 39 32 63 30  6c39bb3e4e2692c0
29a0: 66 30 35 33 66 37 65 64 0a 0a 74 63 6c 74 65 73  f053f7ed..tcltes
29b0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
29c0: 35 31 32 2d 32 2e 33 31 20 7b 53 48 41 35 31 32  512-2.31 {SHA512
29d0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
29e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
29f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2a00: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
2a10: 6f 64 65 20 68 65 78 20 35 39 34 65 64 38 32 61  ode hex 594ed82a
2a20: 63 66 63 30 33 63 30 65 33 35 39 63 63 35 36 30  cfc03c0e359cc560
2a30: 62 38 65 34 62 38 35 66 36 65 65 37 37 65 65 35  b8e4b85f6ee77ee5
2a40: 39 61 37 30 30 32 33 63 32 62 33 64 35 62 33 32  9a70023c2b3d5b32
2a50: 38 35 62 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  85b2]} \..-body 
2a60: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
2a70: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
2a80: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
2a90: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
2aa0: 20 35 65 66 33 32 32 63 62 34 30 31 34 65 63 62   5ef322cb4014ecb
2ab0: 62 37 31 33 61 31 33 36 35 39 36 31 32 61 32 32  b713a13659612a22
2ac0: 32 32 32 35 39 38 34 64 33 31 63 31 38 37 64 65  2225984d31c187de
2ad0: 62 63 34 34 35 39 62 61 37 39 30 31 66 30 33 64  bc4459ba7901f03d
2ae0: 61 63 37 37 35 34 30 30 61 63 66 65 33 35 31 30  ac775400acfe3510
2af0: 62 33 30 36 62 37 39 38 39 34 66 62 30 65 38 34  b306b79894fb0e84
2b00: 33 37 62 34 31 32 31 35 30 63 39 31 39 33 65 65  37b412150c9193ee
2b10: 35 61 32 31 36 34 33 30 36 65 62 62 37 38 33 30  5a2164306ebb7830
2b20: 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  1..tcltest::test
2b30: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33   Hash_SHA512-2.3
2b40: 32 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  2 {SHA512ShortMs
2b50: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
2b60: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
2b70: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
2b80: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
2b90: 20 66 32 63 36 36 65 66 62 66 32 61 37 36 63 35   f2c66efbf2a76c5
2ba0: 62 30 34 31 38 36 30 65 61 35 37 36 31 30 33 63  b041860ea576103c
2bb0: 64 38 63 36 62 32 35 65 35 30 65 63 61 39 66 66  d8c6b25e50eca9ff
2bc0: 36 61 32 66 61 38 38 30 38 33 66 65 39 61 63 5d  6a2fa88083fe9ac]
2bd0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
2be0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
2bf0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
2c00: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
2c10: 61 63 74 20 2d 72 65 73 75 6c 74 20 37 39 37 38  act -result 7978
2c20: 66 39 33 65 66 37 65 64 30 32 63 34 61 32 34 61  f93ef7ed02c4a24a
2c30: 62 65 63 62 61 31 32 34 64 31 34 64 64 32 31 34  becba124d14dd214
2c40: 65 31 34 39 32 66 66 31 65 31 36 38 33 30 34 63  e1492ff1e168304c
2c50: 30 65 61 62 38 39 36 33 37 64 61 30 66 37 61 35  0eab89637da0f7a5
2c60: 36 39 63 34 33 64 63 34 35 36 32 62 64 62 39 34  69c43dc4562bdb94
2c70: 30 34 61 30 31 38 62 36 33 31 34 66 65 30 65 65  04a018b6314fe0ee
2c80: 62 61 63 63 66 62 32 35 62 61 37 36 35 30 36 61  baccfb25ba76506a
2c90: 61 37 65 39 64 63 64 39 35 36 61 37 0a 0a 74 63  a7e9dcd956a7..tc
2ca0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
2cb0: 5f 53 48 41 35 31 32 2d 32 2e 33 33 20 7b 53 48  _SHA512-2.33 {SH
2cc0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
2cd0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
2ce0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
2cf0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
2d00: 20 64 65 63 6f 64 65 20 68 65 78 20 38 63 63 62   decode hex 8ccb
2d10: 30 38 64 32 61 31 61 32 38 32 61 61 38 63 63 39  08d2a1a282aa8cc9
2d20: 39 39 30 32 65 63 61 66 30 66 36 37 61 39 66 32  9902ecaf0f67a9f2
2d30: 31 63 66 66 65 32 38 30 30 35 63 62 32 37 66 63  1cffe28005cb27fc
2d40: 66 31 32 39 65 39 36 33 66 39 39 64 5d 7d 20 5c  f129e963f99d]} \
2d50: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
2d60: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
2d70: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
2d80: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
2d90: 20 2d 72 65 73 75 6c 74 20 34 35 35 31 64 65 66   -result 4551def
2da0: 32 66 39 31 32 37 33 38 36 65 65 61 38 64 34 64  2f9127386eea8d4d
2db0: 61 65 31 65 61 38 64 38 65 34 39 62 32 61 64 64  ae1ea8d8e49b2add
2dc0: 30 35 30 39 66 32 37 63 63 62 63 65 37 64 39 65  0509f27ccbce7d9e
2dd0: 39 35 30 61 63 37 64 62 30 31 64 35 62 63 61 35  950ac7db01d5bca5
2de0: 37 39 63 32 37 31 62 39 66 32 64 38 30 36 37 33  79c271b9f2d80673
2df0: 30 64 38 38 66 35 38 32 35 32 66 64 30 63 32 35  0d88f58252fd0c25
2e00: 38 37 38 35 31 63 33 61 63 38 61 30 65 37 32 62  87851c3ac8a0e72b
2e10: 34 65 31 64 63 30 64 61 36 0a 0a 74 63 6c 74 65  4e1dc0da6..tclte
2e20: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
2e30: 41 35 31 32 2d 32 2e 33 34 20 7b 53 48 41 35 31  A512-2.34 {SHA51
2e40: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
2e50: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
2e60: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
2e70: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
2e80: 63 6f 64 65 20 68 65 78 20 39 66 38 63 34 39 33  code hex 9f8c493
2e90: 32 30 61 66 39 33 37 30 63 64 33 64 62 32 30 65  20af9370cd3db20e
2ea0: 39 62 35 30 64 33 65 61 61 35 39 61 36 32 33 32  9b50d3eaa59a6232
2eb0: 64 37 61 38 36 66 62 37 64 34 37 32 66 31 32 34  d7a86fb7d472f124
2ec0: 35 30 38 64 37 39 36 38 62 30 35 5d 7d 20 5c 0a  508d7968b05]} \.
2ed0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
2ee0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
2ef0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
2f00: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
2f10: 2d 72 65 73 75 6c 74 20 38 31 62 30 30 32 66 31  -result 81b002f1
2f20: 35 63 34 64 34 38 62 65 38 35 31 37 66 37 65 64  5c4d48be8517f7ed
2f30: 38 39 64 66 33 30 32 66 62 31 34 33 35 63 39 34  89df302fb1435c94
2f40: 33 35 65 66 65 66 65 64 35 38 66 33 65 62 38 65  35efefed58f3eb8e
2f50: 61 31 31 39 31 30 36 32 33 66 31 65 62 39 30 32  a11910623f1eb902
2f60: 38 61 36 36 65 30 32 31 32 31 61 37 66 30 38 61  8a66e02121a7f08a
2f70: 37 63 36 30 34 32 32 36 66 32 33 32 34 66 34 38  7c604226f2324f48
2f80: 33 65 39 31 35 34 38 64 62 62 64 32 63 34 34 31  3e91548dbbd2c441
2f90: 61 62 37 30 34 63 65 35 0a 0a 74 63 6c 74 65 73  ab704ce5..tcltes
2fa0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
2fb0: 35 31 32 2d 32 2e 33 35 20 7b 53 48 41 35 31 32  512-2.35 {SHA512
2fc0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
2fd0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
2fe0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
2ff0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3000: 6f 64 65 20 68 65 78 20 34 61 62 39 61 61 30 36  ode hex 4ab9aa06
3010: 39 34 37 35 65 35 34 62 32 35 65 35 36 38 38 61  9475e54b25e5688a
3020: 35 32 64 64 34 61 63 64 31 33 34 31 36 39 63 38  52dd4acd134169c8
3030: 35 38 31 30 35 66 30 31 61 30 61 31 62 31 33 34  58105f01a0a1b134
3040: 63 37 32 64 34 61 66 35 31 66 38 65 5d 7d 20 5c  c72d4af51f8e]} \
3050: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
3060: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
3070: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
3080: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
3090: 20 2d 72 65 73 75 6c 74 20 34 38 62 61 35 61 36   -result 48ba5a6
30a0: 33 61 62 61 37 65 37 62 64 38 65 34 32 30 34 37  3aba7e7bd8e42047
30b0: 35 33 33 31 31 32 35 61 39 34 37 39 32 38 63 36  5331125a947928c6
30c0: 37 66 64 62 30 30 66 36 35 63 34 30 38 30 64 39  7fdb00f65c4080d9
30d0: 61 30 62 39 39 63 30 36 37 32 34 32 34 65 37 36  a0b99c0672424e76
30e0: 61 31 62 61 36 62 64 37 36 64 66 65 34 39 32 63  a1ba6bd76dfe492c
30f0: 37 33 30 66 36 66 39 61 64 63 63 61 65 65 37 62  730f6f9adccaee7b
3100: 62 31 31 35 37 31 61 61 64 62 33 31 66 36 62 62  b11571aadb31f6bb
3110: 36 32 38 63 66 61 39 33 33 0a 0a 74 63 6c 74 65  628cfa933..tclte
3120: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3130: 41 35 31 32 2d 32 2e 33 36 20 7b 53 48 41 35 31  A512-2.36 {SHA51
3140: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
3150: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
3160: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
3170: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3180: 63 6f 64 65 20 68 65 78 20 66 30 63 31 64 33 34  code hex f0c1d34
3190: 30 37 64 65 39 32 65 66 37 34 32 31 65 34 32 64  07de92ef7421e42d
31a0: 66 35 63 39 61 62 33 31 64 32 65 63 30 61 37 35  f5c9ab31d2ec0a75
31b0: 30 61 39 35 32 32 38 36 39 63 62 65 34 63 61 62  0a9522869cbe4cab
31c0: 64 36 36 39 30 38 64 35 38 32 33 65 63 30 34 5d  d66908d5823ec04]
31d0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
31e0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
31f0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
3200: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3210: 61 63 74 20 2d 72 65 73 75 6c 74 20 39 65 37 35  act -result 9e75
3220: 63 35 62 63 61 32 63 32 61 66 31 64 37 37 33 39  c5bca2c2af1d7739
3230: 37 38 37 66 34 36 65 31 64 39 38 31 63 34 66 39  787f46e1d981c4f9
3240: 38 65 34 39 33 64 30 37 32 34 62 35 32 35 32 63  8e493d0724b5252c
3250: 32 66 62 61 65 33 63 35 32 36 37 31 39 66 31 64  2fbae3c526719f1d
3260: 32 37 65 36 63 63 64 30 64 37 30 35 32 34 30 32  27e6ccd0d7052402
3270: 38 31 65 38 66 62 66 33 64 62 37 35 62 39 62 33  81e8fbf3db75b9b3
3280: 32 30 35 63 31 34 31 33 34 33 36 64 33 62 35 64  205c1413436d3b5d
3290: 31 34 30 30 30 34 62 38 63 63 61 31 0a 0a 74 63  140004b8cca1..tc
32a0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
32b0: 5f 53 48 41 35 31 32 2d 32 2e 33 37 20 7b 53 48  _SHA512-2.37 {SH
32c0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
32d0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
32e0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
32f0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
3300: 20 64 65 63 6f 64 65 20 68 65 78 20 61 65 38 63   decode hex ae8c
3310: 39 66 38 66 62 34 31 62 35 31 39 62 36 64 39 34  9f8fb41b519b6d94
3320: 33 38 33 33 66 65 31 63 33 32 64 31 63 34 32 39  3833fe1c32d1c429
3330: 32 66 62 31 64 64 66 31 64 62 65 32 65 62 32 32  2fb1ddf1dbe2eb22
3340: 37 64 39 65 31 34 64 33 31 65 64 37 34 65 62 61  7d9e14d31ed74eba
3350: 65 66 31 32 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  ef12]} \..-body 
3360: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3370: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3380: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
3390: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
33a0: 20 30 34 32 66 39 66 64 30 61 34 65 64 33 64 39   042f9fd0a4ed3d9
33b0: 66 65 63 33 36 35 35 61 65 31 31 30 31 31 63 36  fec3655ae11011c6
33c0: 66 32 62 63 37 65 34 35 37 65 38 38 31 32 62 36  f2bc7e457e8812b6
33d0: 64 38 62 65 32 63 64 34 35 66 63 36 63 34 33 32  d8be2cd45fc6c432
33e0: 61 39 34 35 35 38 63 38 38 66 32 32 63 30 31 34  a94558c88f22c014
33f0: 33 39 36 31 38 38 36 35 65 38 65 34 39 65 35 30  39618865e8e49e50
3400: 39 63 34 34 38 62 33 34 32 63 61 39 31 34 62 31  9c448b342ca914b1
3410: 32 30 33 34 34 61 61 66 37 62 63 62 64 63 61 31  20344aaf7bcbdca1
3420: 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  8..tcltest::test
3430: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 33   Hash_SHA512-2.3
3440: 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  8 {SHA512ShortMs
3450: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3460: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
3470: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
3480: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
3490: 20 64 61 33 39 66 62 38 36 32 33 37 66 30 30 33   da39fb86237f003
34a0: 30 33 38 34 34 65 36 31 66 63 36 63 66 65 37 37  03844e61fc6cfe77
34b0: 39 65 34 32 61 66 35 33 33 34 39 38 33 39 35 39  9e42af5334983959
34c0: 30 62 63 64 32 66 30 65 34 63 62 62 63 32 37 39  0bcd2f0e4cbbc279
34d0: 65 63 30 62 37 65 38 38 35 64 31 5d 7d 20 5c 0a  ec0b7e885d1]} \.
34e0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
34f0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
3500: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
3510: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
3520: 2d 72 65 73 75 6c 74 20 65 63 62 34 33 64 65 38  -result ecb43de8
3530: 63 32 33 33 61 37 33 31 62 33 38 65 33 30 63 35  c233a731b38e30c5
3540: 36 39 36 66 38 38 37 36 37 36 31 62 37 65 61 37  696f8876761b7ea7
3550: 32 65 66 65 32 38 33 66 64 30 37 62 65 64 66 32  2efe283fd07bedf2
3560: 30 30 32 39 66 34 37 63 36 64 32 61 34 34 32 37  0029f47c6d2a4427
3570: 38 32 33 65 31 30 30 66 62 30 38 37 61 62 61 66  823e100fb087abaf
3580: 32 32 64 37 65 66 66 34 32 61 39 35 31 63 39 37  22d7eff42a951c97
3590: 63 33 64 64 30 35 66 34 38 61 32 30 31 36 33 66  c3dd05f48a20163f
35a0: 61 34 33 36 37 63 62 61 0a 0a 74 63 6c 74 65 73  a4367cba..tcltes
35b0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
35c0: 35 31 32 2d 32 2e 33 39 20 7b 53 48 41 35 31 32  512-2.39 {SHA512
35d0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
35e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
35f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3600: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3610: 6f 64 65 20 68 65 78 20 33 65 37 32 37 31 64 32  ode hex 3e7271d2
3620: 30 37 30 65 66 30 39 35 33 39 34 36 32 30 63 34  070ef095394620c4
3630: 62 30 31 36 35 37 36 63 31 35 30 66 33 34 62 65  b016576c150f34be
3640: 61 36 30 37 38 34 36 31 33 61 30 66 36 36 30 64  a60784613a0f660d
3650: 37 66 61 35 61 65 35 36 38 37 32 62 38 38 63 35  7fa5ae56872b88c5
3660: 38 33 39 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  8398]} \..-body 
3670: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3680: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3690: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
36a0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
36b0: 20 38 31 35 34 64 30 64 61 36 33 34 61 62 32 32   8154d0da634ab22
36c0: 36 36 30 36 31 61 63 63 31 32 33 61 63 62 34 30  66061acc123acb40
36d0: 37 36 35 30 66 66 65 39 31 36 34 61 32 32 64 65  7650ffe9164a22de
36e0: 33 66 65 32 39 62 66 30 35 33 39 33 62 32 61 65  3fe29bf05393b2ae
36f0: 63 65 39 32 63 66 34 64 62 30 30 65 61 35 62 34  ce92cf4db00ea5b4
3700: 33 34 31 63 33 31 64 64 62 37 64 65 31 35 31 36  341c31ddb7de1516
3710: 38 33 63 38 61 37 31 62 35 61 34 34 64 35 63 33  83c8a71b5a44d5c3
3720: 31 37 35 37 39 30 66 65 61 63 36 37 64 31 38 65  175790feac67d18e
3730: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
3740: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
3750: 30 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  0 {SHA512ShortMs
3760: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
3770: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
3780: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
3790: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
37a0: 20 33 31 31 66 62 36 37 66 36 61 30 37 38 34 62   311fb67f6a0784b
37b0: 62 30 31 61 32 64 35 61 33 66 33 30 39 32 63 34  b01a2d5a3f3092c4
37c0: 30 37 61 39 64 33 33 32 32 33 31 39 64 66 66 39  07a9d3322319dff9
37d0: 61 37 39 66 38 39 34 32 39 31 63 35 66 61 63 33  a79f894291c5fac3
37e0: 37 33 31 39 66 62 34 30 38 34 30 32 65 31 38 5d  7319fb408402e18]
37f0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3800: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3810: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
3820: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3830: 61 63 74 20 2d 72 65 73 75 6c 74 20 31 38 37 30  act -result 1870
3840: 66 65 39 31 33 61 62 62 30 61 34 62 34 66 35 33  fe913abb0a4b4f53
3850: 62 36 35 38 31 61 65 31 38 33 32 32 63 64 30 35  b6581ae18322cd05
3860: 33 32 38 35 31 34 35 35 36 36 30 37 66 33 66 34  328514556607f3f4
3870: 64 37 62 36 61 32 61 63 38 65 39 31 38 35 64 39  d7b6a2ac8e9185d9
3880: 34 64 39 34 37 64 38 62 39 63 38 38 65 30 65 66  4d947d8b9c88e0ef
3890: 61 36 36 64 38 39 62 35 39 66 37 34 33 39 63 37  a66d89b59f7439c7
38a0: 35 66 64 61 64 64 31 38 31 36 66 37 34 31 32 33  5fdadd1816f74123
38b0: 30 36 61 62 32 62 35 39 64 36 36 34 0a 0a 74 63  06ab2b59d664..tc
38c0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
38d0: 5f 53 48 41 35 31 32 2d 32 2e 34 31 20 7b 53 48  _SHA512-2.41 {SH
38e0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
38f0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
3900: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
3910: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
3920: 20 64 65 63 6f 64 65 20 68 65 78 20 37 36 35 31   decode hex 7651
3930: 61 62 34 39 31 62 38 66 61 38 36 66 39 36 39 64  ab491b8fa86f969d
3940: 34 32 39 37 37 64 30 39 64 66 35 66 38 62 65 65  42977d09df5f8bee
3950: 33 65 35 38 39 39 31 38 30 62 35 32 63 39 36 38  3e5899180b52c968
3960: 62 30 64 62 30 35 37 61 36 66 30 32 61 38 38 36  b0db057a6f02a886
3970: 61 64 36 31 37 61 38 34 39 31 35 61 5d 7d 20 5c  ad617a84915a]} \
3980: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
3990: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
39a0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
39b0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
39c0: 20 2d 72 65 73 75 6c 74 20 66 33 35 65 35 30 65   -result f35e50e
39d0: 32 65 30 32 62 38 37 38 31 33 34 35 66 38 63 65  2e02b8781345f8ce
39e0: 62 32 31 39 38 66 30 36 38 62 61 31 30 33 34 37  b2198f068ba10347
39f0: 36 66 37 31 35 63 66 62 34 38 37 61 34 35 32 38  6f715cfb487a4528
3a00: 38 32 63 39 66 30 64 65 30 63 37 32 30 62 32 61  82c9f0de0c720b2a
3a10: 30 38 38 61 33 39 64 30 36 61 38 61 36 62 36 34  088a39d06a8a6b64
3a20: 63 65 34 64 36 34 37 30 64 66 65 61 64 63 34 66  ce4d6470dfeadc4f
3a30: 36 35 61 65 30 36 36 37 32 63 30 35 37 65 32 39  65ae06672c057e29
3a40: 66 31 34 63 34 64 61 66 39 0a 0a 74 63 6c 74 65  f14c4daf9..tclte
3a50: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3a60: 41 35 31 32 2d 32 2e 34 32 20 7b 53 48 41 35 31  A512-2.42 {SHA51
3a70: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
3a80: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
3a90: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
3aa0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3ab0: 63 6f 64 65 20 68 65 78 20 64 62 65 35 64 62 36  code hex dbe5db6
3ac0: 38 35 65 64 37 63 62 38 34 38 63 30 39 34 35 32  85ed7cb848c09452
3ad0: 34 63 31 37 32 33 35 31 39 64 34 39 64 63 36 36  4c1723519d49dc66
3ae0: 65 66 39 66 65 36 64 35 37 65 36 38 36 32 61 36  ef9fe6d57e6862a6
3af0: 34 33 35 37 35 30 62 66 61 30 61 37 30 66 31 30  435750bfa0a70f10
3b00: 34 66 35 64 33 39 36 65 36 31 61 5d 7d 20 5c 0a  4f5d396e61a]} \.
3b10: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
3b20: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
3b30: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
3b40: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
3b50: 2d 72 65 73 75 6c 74 20 32 66 61 36 65 35 62 32  -result 2fa6e5b2
3b60: 63 34 34 33 61 36 38 30 35 30 66 30 39 33 65 37  c443a68050f093e7
3b70: 66 62 37 31 33 62 64 36 62 31 38 66 36 32 37 34  fb713bd6b18f6274
3b80: 63 30 36 31 65 64 36 31 64 37 39 62 66 30 36 38  c061ed61d79bf068
3b90: 38 61 36 31 64 62 61 31 39 34 30 62 63 63 33 30  8a61dba1940bcc30
3ba0: 39 39 38 32 37 36 38 36 30 39 34 33 61 62 30 33  998276860943ab03
3bb0: 38 39 30 32 38 39 36 64 30 66 62 66 35 39 62 38  8902896d0fbf59b8
3bc0: 38 62 30 37 63 38 30 64 65 39 32 37 30 33 37 30  8b07c80de9270370
3bd0: 39 37 31 35 30 63 34 30 0a 0a 74 63 6c 74 65 73  97150c40..tcltes
3be0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
3bf0: 35 31 32 2d 32 2e 34 33 20 7b 53 48 41 35 31 32  512-2.43 {SHA512
3c00: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
3c10: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
3c20: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
3c30: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
3c40: 6f 64 65 20 68 65 78 20 39 66 61 38 33 65 39 36  ode hex 9fa83e96
3c50: 62 32 61 36 64 66 32 33 66 62 33 37 32 38 39 35  b2a6df23fb372895
3c60: 30 31 35 36 37 38 65 30 62 32 63 39 63 64 31 38  015678e0b2c9cd18
3c70: 61 38 35 34 32 63 33 65 61 61 32 63 34 33 35 61  a8542c3eaa2c435a
3c80: 37 36 61 65 34 64 63 39 62 64 35 31 33 36 64 39  76ae4dc9bd5136d9
3c90: 37 30 64 61 66 66 39 33 33 61 63 66 5d 7d 20 5c  70daff933acf]} \
3ca0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
3cb0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
3cc0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
3cd0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
3ce0: 20 2d 72 65 73 75 6c 74 20 33 61 32 63 30 65 63   -result 3a2c0ec
3cf0: 38 38 61 33 65 35 33 34 37 63 66 30 65 61 39 63  88a3e5347cf0ea9c
3d00: 30 37 38 38 33 38 33 30 30 65 66 37 33 35 36 66  078838300ef7356f
3d10: 39 61 36 63 33 34 32 30 36 33 32 37 37 63 31 30  9a6c342063277c10
3d20: 36 62 38 38 30 61 30 30 65 64 32 62 65 32 30 35  6b880a00ed2be205
3d30: 63 31 33 30 36 34 30 39 37 62 64 33 37 32 66 64  c13064097bd372fd
3d40: 65 33 38 30 30 37 62 63 33 30 36 35 36 31 65 62  e38007bc306561eb
3d50: 34 65 37 34 62 62 61 32 62 62 32 30 62 64 33 35  4e74bba2bb20bd35
3d60: 34 61 61 36 39 30 63 61 36 0a 0a 74 63 6c 74 65  4aa690ca6..tclte
3d70: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
3d80: 41 35 31 32 2d 32 2e 34 34 20 7b 53 48 41 35 31  A512-2.44 {SHA51
3d90: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
3da0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
3db0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
3dc0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
3dd0: 63 6f 64 65 20 68 65 78 20 38 61 35 61 34 35 65  code hex 8a5a45e
3de0: 33 39 38 62 61 63 31 64 39 62 38 39 36 62 35 61  398bac1d9b896b5a
3df0: 32 62 34 65 33 35 36 36 62 39 31 64 38 30 61 64  2b4e3566b91d80ad
3e00: 32 30 63 39 37 37 65 61 37 34 35 30 66 66 32 65  20c977ea7450ff2e
3e10: 66 62 35 32 31 64 38 32 66 36 35 30 31 39 65 65  fb521d82f65019ee
3e20: 37 36 32 65 30 63 38 35 63 36 63 63 38 34 31 5d  762e0c85c6cc841]
3e30: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
3e40: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
3e50: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
3e60: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
3e70: 61 63 74 20 2d 72 65 73 75 6c 74 20 33 63 37 30  act -result 3c70
3e80: 34 36 32 30 66 34 30 36 36 64 37 39 63 31 66 66  4620f4066d79c1ff
3e90: 36 37 37 35 32 39 38 30 66 33 39 65 66 33 64 39  67752980f39ef3d9
3ea0: 63 31 30 32 33 66 61 35 61 32 31 33 61 35 32 36  c1023fa5a213a526
3eb0: 35 33 37 36 62 31 34 61 31 35 31 36 36 66 66 65  5376b14a15166ffe
3ec0: 30 36 39 62 35 31 64 66 37 37 31 30 64 38 39 30  069b51df7710d890
3ed0: 37 66 65 66 39 34 30 36 62 66 33 37 35 64 35 30  7fef9406bf375d50
3ee0: 32 63 65 30 38 36 61 63 38 32 61 66 66 31 37 32  2ce086ac82aff172
3ef0: 32 39 61 61 61 37 61 35 61 33 33 34 0a 0a 74 63  29aaa7a5a334..tc
3f00: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
3f10: 5f 53 48 41 35 31 32 2d 32 2e 34 35 20 7b 53 48  _SHA512-2.45 {SH
3f20: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
3f30: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
3f40: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
3f50: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
3f60: 20 64 65 63 6f 64 65 20 68 65 78 20 34 39 63 66   decode hex 49cf
3f70: 66 66 64 61 66 34 64 30 33 31 65 33 33 62 31 64  ffdaf4d031e33b1d
3f80: 32 38 61 34 34 37 34 35 30 35 34 35 66 36 63 34  28a447450545f6c4
3f90: 32 39 33 62 33 38 64 35 61 66 62 63 62 39 38 38  293b38d5afbcb988
3fa0: 33 39 37 36 63 30 31 34 66 30 38 30 35 37 36 65  3976c014f080576e
3fb0: 63 36 39 31 61 63 31 62 66 66 37 30 62 37 34 32  c691ac1bff70b742
3fc0: 65 66 61 62 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  efab]} \..-body 
3fd0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
3fe0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
3ff0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
4000: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
4010: 20 38 62 63 63 34 66 31 65 61 32 62 37 38 36 32   8bcc4f1ea2b7862
4020: 65 66 31 35 39 31 62 66 61 37 33 39 31 36 36 36  ef1591bfa7391666
4030: 35 64 65 38 66 61 66 36 35 34 33 39 64 64 66 35  5de8faf65439ddf5
4040: 63 63 31 62 65 34 33 63 65 62 66 64 35 66 36 30  cc1be43cebfd5f60
4050: 66 32 30 35 65 38 33 35 61 32 62 31 38 36 62 36  f205e835a2b186b6
4060: 37 35 62 30 34 31 32 35 38 63 35 63 66 66 34 32  75b041258c5cff42
4070: 36 36 39 33 31 36 63 65 32 35 62 34 36 61 32 66  669316ce25b46a2f
4080: 34 64 34 32 31 38 65 31 30 32 66 30 66 35 64 36  4d4218e102f0f5d6
4090: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
40a0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
40b0: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
40c0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
40d0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
40e0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
40f0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4100: 20 32 66 66 38 34 35 64 38 35 65 66 62 63 34 66   2ff845d85efbc4f
4110: 61 35 36 33 37 65 39 34 34 38 64 39 35 30 34 39  a5637e9448d95049
4120: 36 66 31 39 64 38 64 35 37 64 61 39 39 62 37 62  6f19d8d57da99b7b
4130: 64 33 64 66 37 34 37 34 38 32 32 66 30 61 37 39  d3df7474822f0a79
4140: 30 35 38 36 37 33 36 34 31 36 37 31 34 65 33 36  0586736416714e36
4150: 34 63 36 65 31 66 61 65 30 34 65 5d 7d 20 5c 0a  4c6e1fae04e]} \.
4160: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
4170: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
4180: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
4190: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
41a0: 2d 72 65 73 75 6c 74 20 32 33 36 66 36 66 34 65  -result 236f6f4e
41b0: 64 36 65 38 35 38 63 30 32 64 35 31 37 38 37 65  d6e858c02d51787e
41c0: 36 30 63 35 37 38 66 37 33 31 66 36 39 34 66 38  60c578f731f694f8
41d0: 65 35 32 62 35 64 66 34 65 63 64 35 62 30 34 64  e52b5df4ecd5b04d
41e0: 66 66 31 34 63 37 38 65 35 36 62 61 64 31 30 32  ff14c78e56bad102
41f0: 38 64 36 66 36 32 36 63 32 39 64 38 35 61 65 65  8d6f626c29d85aee
4200: 65 31 35 31 61 32 61 32 38 34 36 64 33 65 65 64  e151a2a2846d3eed
4210: 35 63 66 61 66 61 39 38 35 34 61 36 39 66 65 61  5cfafa9854a69fea
4220: 38 61 66 36 64 30 34 61 0a 0a 74 63 6c 74 65 73  8af6d04a..tcltes
4230: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
4240: 35 31 32 2d 32 2e 34 37 20 7b 53 48 41 35 31 32  512-2.47 {SHA512
4250: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
4260: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
4270: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
4280: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4290: 6f 64 65 20 68 65 78 20 63 66 63 61 30 35 66 64  ode hex cfca05fd
42a0: 38 39 33 63 30 66 30 30 35 66 35 66 66 37 39 36  893c0f005f5ff796
42b0: 66 34 64 61 31 39 62 61 32 37 61 31 65 37 32 39  f4da19ba27a1e729
42c0: 39 35 36 62 38 62 37 31 35 65 36 37 63 65 34 62  956b8b715e67ce4b
42d0: 32 64 32 61 33 38 32 61 37 32 65 63 37 38 31 34  2d2a382a72ec7814
42e0: 66 32 66 35 30 37 62 31 38 32 35 32 30 39 61 32  f2f507b1825209a2
42f0: 30 66 63 63 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  0fcc]} \..-body 
4300: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4310: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
4320: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
4330: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
4340: 20 64 38 30 39 36 39 32 38 34 61 34 35 36 35 61   d80969284a4565a
4350: 64 64 34 64 61 64 36 61 62 39 62 33 62 64 66 35  dd4dad6ab9b3bdf5
4360: 33 34 34 36 31 34 32 66 38 34 61 61 66 39 32 64  3446142f84aaf92d
4370: 34 62 32 33 64 64 32 32 65 65 37 32 34 31 65 36  4b23dd22ee7241e6
4380: 63 38 31 34 38 39 61 63 38 62 32 34 36 65 64 63  c81489ac8b246edc
4390: 62 36 64 66 39 62 64 37 62 32 33 64 39 31 61 30  b6df9bd7b23d91a0
43a0: 63 35 31 37 66 35 34 36 66 65 62 61 34 65 64 35  c517f546feba4ed5
43b0: 37 39 30 61 32 62 65 36 65 31 36 35 63 31 37 30  790a2be6e165c170
43c0: 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  9..tcltest::test
43d0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 34   Hash_SHA512-2.4
43e0: 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  8 {SHA512ShortMs
43f0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
4400: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
4410: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
4420: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4430: 20 63 66 63 34 32 35 37 35 39 61 39 63 33 36 62   cfc425759a9c36b
4440: 62 39 66 34 62 33 32 65 65 64 37 37 36 37 61 66  b9f4b32eed7767af
4450: 36 35 36 36 66 36 38 64 65 64 30 61 64 65 61 65  6566f68ded0adeae
4460: 32 35 63 37 61 37 30 63 61 37 38 65 63 30 39 37  25c7a70ca78ec097
4470: 37 34 64 31 36 63 38 62 63 33 35 37 66 36 64 36  74d16c8bc357f6d6
4480: 66 37 62 64 34 34 31 62 66 36 32 64 39 34 32 5d  f7bd441bf62d942]
4490: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
44a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
44b0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
44c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
44d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 35 38 37  act -result b587
44e0: 61 37 38 35 63 64 66 34 35 35 63 63 39 63 35 34  a785cdf455cc9c54
44f0: 34 65 37 35 36 63 31 65 33 30 36 33 30 30 61 61  4e756c1e306300aa
4500: 33 63 35 39 66 38 37 32 35 30 31 32 65 36 38 61  3c59f8725012e68a
4510: 62 34 64 35 34 30 32 30 62 36 64 32 32 37 61 31  b4d54020b6d227a1
4520: 36 34 64 39 66 38 33 63 39 30 35 65 38 36 66 38  64d9f83c905e86f8
4530: 63 65 62 65 65 66 37 30 38 61 36 39 66 39 37 36  cebeef708a69f976
4540: 64 36 65 37 62 31 38 62 39 62 66 37 38 65 39 62  d6e7b18b9bf78e9b
4550: 39 38 63 63 34 61 35 63 64 31 62 36 0a 0a 74 63  98cc4a5cd1b6..tc
4560: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
4570: 5f 53 48 41 35 31 32 2d 32 2e 34 39 20 7b 53 48  _SHA512-2.49 {SH
4580: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
4590: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
45a0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
45b0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
45c0: 20 64 65 63 6f 64 65 20 68 65 78 20 30 39 37 63   decode hex 097c
45d0: 39 64 62 39 31 39 35 31 35 32 34 32 63 39 39 64  9db919515242c99d
45e0: 39 37 33 61 63 62 31 64 63 34 65 64 34 38 32 37  973acb1dc4ed4827
45f0: 36 38 66 39 37 34 65 62 38 33 62 34 36 35 66 39  68f974eb83b465f9
4600: 66 36 63 38 32 35 30 33 33 37 32 30 30 36 65 34  f6c82503372006e4
4610: 34 39 30 38 33 35 65 32 65 63 38 66 39 32 33 30  490835e2ec8f9230
4620: 31 31 33 30 62 66 62 37 39 30 62 32 5d 7d 20 5c  1130bfb790b2]} \
4630: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
4640: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
4650: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
4660: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
4670: 20 2d 72 65 73 75 6c 74 20 66 66 35 61 33 37 36   -result ff5a376
4680: 66 39 33 38 65 37 33 30 31 34 63 61 65 66 37 66  f938e73014caef7f
4690: 65 33 39 36 32 39 34 34 61 37 32 33 30 64 30 32  e3962944a7230d02
46a0: 30 62 37 30 38 37 38 36 39 65 62 65 37 65 63 37  0b7087869ebe7ec7
46b0: 30 33 30 32 37 32 31 63 64 30 36 66 63 64 63 39  0302721cd06fcdc9
46c0: 38 31 63 38 39 33 61 34 32 35 64 30 35 65 32 66  81c893a425d05e2f
46d0: 39 39 66 65 31 39 38 65 34 64 62 35 30 61 30 38  99fe198e4db50a08
46e0: 38 61 65 65 32 62 66 31 32 36 33 32 31 32 31 31  8aee2bf126321211
46f0: 30 65 66 65 64 34 32 32 63 0a 0a 74 63 6c 74 65  0efed422c..tclte
4700: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
4710: 41 35 31 32 2d 32 2e 35 30 20 7b 53 48 41 35 31  A512-2.50 {SHA51
4720: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
4730: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
4740: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
4750: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4760: 63 6f 64 65 20 68 65 78 20 37 37 65 37 33 64 33  code hex 77e73d3
4770: 38 37 65 37 62 63 38 30 34 31 39 65 62 66 35 34  87e7bc80419ebf54
4780: 38 32 62 36 31 64 35 32 35 35 63 61 66 38 31 39  82b61d5255caf819
4790: 66 62 35 39 32 35 31 66 66 36 61 33 38 34 65 37  fb59251ff6a384e7
47a0: 35 66 36 30 31 65 61 30 32 36 64 38 33 65 66 39  5f601ea026d83ef9
47b0: 35 30 65 64 30 62 36 37 35 31 38 66 62 39 39 64  50ed0b67518fb99d
47c0: 65 65 30 64 38 61 61 65 66 31 66 5d 7d 20 5c 0a  ee0d8aaef1f]} \.
47d0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
47e0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
47f0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
4800: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
4810: 2d 72 65 73 75 6c 74 20 63 34 63 38 39 63 64 38  -result c4c89cd8
4820: 38 32 65 63 39 34 35 63 63 38 38 38 66 62 39 61  82ec945cc888fb9a
4830: 30 31 32 37 64 33 35 65 35 38 35 65 63 63 31 34  0127d35e585ecc14
4840: 61 37 35 65 34 62 35 62 33 64 38 33 33 30 35 33  a75e4b5b3d833053
4850: 38 64 32 32 64 61 32 38 63 66 36 61 66 31 65 62  8d22da28cf6af1eb
4860: 65 63 39 36 64 63 32 34 37 66 31 30 39 63 64 32  ec96dc247f109cd2
4870: 61 61 61 62 39 37 35 36 65 36 39 34 36 61 33 64  aaab9756e6946a3d
4880: 38 30 64 62 38 33 36 33 61 34 64 61 33 65 36 64  80db8363a4da3e6d
4890: 64 62 62 35 31 30 61 31 0a 0a 74 63 6c 74 65 73  dbb510a1..tcltes
48a0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
48b0: 35 31 32 2d 32 2e 35 31 20 7b 53 48 41 35 31 32  512-2.51 {SHA512
48c0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
48d0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
48e0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
48f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4900: 6f 64 65 20 68 65 78 20 33 31 37 65 35 64 39 61  ode hex 317e5d9a
4910: 63 37 33 65 64 30 36 33 33 66 61 31 38 65 62 65  c73ed0633fa18ebe
4920: 62 62 63 61 37 39 30 39 65 63 33 61 35 65 66 37  bbca7909ec3a5ef7
4930: 39 30 34 37 38 66 39 63 33 38 63 61 63 65 63 34  90478f9c38cacec4
4940: 34 66 31 39 36 64 38 39 35 38 33 35 62 34 32 35  4f196d895835b425
4950: 37 37 34 34 38 33 30 34 33 33 34 31 33 38 31 65  774483043341381e
4960: 37 61 66 32 64 33 38 33 65 35 31 61 5d 7d 20 5c  7af2d383e51a]} \
4970: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
4980: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
4990: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
49a0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
49b0: 20 2d 72 65 73 75 6c 74 20 62 31 30 62 62 30 34   -result b10bb04
49c0: 34 39 31 62 39 63 30 63 33 33 34 37 30 39 62 34  491b9c0c334709b4
49d0: 30 37 63 64 61 31 64 35 30 33 65 66 62 36 62 36  07cda1d503efb6b6
49e0: 33 65 65 39 34 34 66 32 64 33 36 36 62 36 38 35  3ee944f2d366b685
49f0: 35 65 36 65 36 33 65 35 62 38 30 31 31 35 62 65  5e6e63e5b80115be
4a00: 34 62 65 37 66 66 36 33 65 64 65 63 64 66 62 35  4be7ff63edecdfb5
4a10: 39 32 33 37 39 32 65 36 38 31 32 33 39 37 36 64  923792e68123976d
4a20: 37 39 32 31 32 62 33 38 38 34 64 65 63 32 31 37  79212b3884dec217
4a30: 39 64 31 66 63 66 33 38 32 0a 0a 74 63 6c 74 65  9d1fcf382..tclte
4a40: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
4a50: 41 35 31 32 2d 32 2e 35 32 20 7b 53 48 41 35 31  A512-2.52 {SHA51
4a60: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
4a70: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
4a80: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
4a90: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
4aa0: 63 6f 64 65 20 68 65 78 20 32 30 39 34 36 31 66  code hex 209461f
4ab0: 32 30 36 36 36 61 33 34 36 66 65 64 66 34 61 35  20666a346fedf4a5
4ac0: 33 30 66 34 31 61 36 66 61 32 38 30 63 34 33 36  30f41a6fa280c436
4ad0: 36 35 37 36 37 62 65 39 32 33 62 63 31 64 38 30  65767be923bc1d80
4ae0: 62 62 63 62 38 63 39 66 38 66 39 33 61 64 37 35  bbcb8c9f8f93ad75
4af0: 37 38 32 65 61 32 36 38 39 63 38 63 35 64 32 31  782ea2689c8c5d21
4b00: 31 64 32 30 35 33 62 39 39 33 31 34 35 61 30 5d  1d2053b993145a0]
4b10: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
4b20: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
4b30: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
4b40: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
4b50: 61 63 74 20 2d 72 65 73 75 6c 74 20 36 37 62 37  act -result 67b7
4b60: 61 33 32 38 64 39 34 34 34 30 35 36 61 35 32 63  a328d9444056a52c
4b70: 61 32 66 36 39 35 63 35 64 33 66 33 62 61 61 66  a2f695c5d3f3baaf
4b80: 62 36 32 35 61 31 34 66 62 33 32 65 65 65 38 66  b625a14fb32eee8f
4b90: 66 32 36 61 34 30 63 63 62 32 39 36 62 65 63 31  f26a40ccb296bec1
4ba0: 37 37 31 61 38 32 36 62 35 35 66 37 64 64 62 36  771a826b55f7ddb6
4bb0: 31 37 30 64 34 63 61 66 37 37 39 35 62 36 31 32  170d4caf7795b612
4bc0: 34 34 38 65 36 36 61 30 66 31 39 33 35 36 66 65  448e66a0f19356fe
4bd0: 35 30 35 39 32 37 31 34 39 62 34 37 0a 0a 74 63  505927149b47..tc
4be0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
4bf0: 5f 53 48 41 35 31 32 2d 32 2e 35 33 20 7b 53 48  _SHA512-2.53 {SH
4c00: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
4c10: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
4c20: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
4c30: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
4c40: 20 64 65 63 6f 64 65 20 68 65 78 20 35 64 36 31   decode hex 5d61
4c50: 61 61 34 35 63 34 34 36 66 33 62 66 39 33 36 30  aa45c446f3bf9360
4c60: 34 62 30 35 31 31 33 31 33 62 34 65 32 66 33 30  4b0511313b4e2f30
4c70: 36 64 36 62 30 34 36 66 62 64 39 34 37 39 37 62  6d6b046fbd94797b
4c80: 39 32 36 37 34 36 38 33 36 66 32 65 31 64 62 64  926746836f2e1dbd
4c90: 63 35 36 31 32 34 30 36 30 63 36 63 61 39 63 39  c56124060c6ca9c9
4ca0: 31 31 62 31 31 32 32 31 39 32 64 31 31 32 34 32  11b1122192d11242
4cb0: 30 38 32 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  0827]} \..-body 
4cc0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
4cd0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
4ce0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
4cf0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
4d00: 20 64 33 39 33 31 62 64 65 32 62 64 65 38 32 37   d3931bde2bde827
4d10: 31 65 64 31 38 63 61 30 62 39 31 34 38 62 31 32  1ed18ca0b9148b12
4d20: 66 36 66 31 36 31 36 31 65 36 33 37 65 33 37 36  f6f16161e637e376
4d30: 66 63 39 36 31 66 36 35 62 63 33 33 62 63 61 63  fc961f65bc33bcac
4d40: 66 32 66 36 61 64 64 66 32 36 61 33 65 61 61 38  f2f6addf26a3eaa8
4d50: 31 62 31 39 36 36 35 33 63 63 33 37 65 38 61 37  1b196653cc37e8a7
4d60: 33 39 65 63 35 62 33 64 66 38 37 30 64 38 63 33  39ec5b3df870d8c3
4d70: 38 63 38 66 32 38 36 39 31 63 32 32 61 33 39 62  8c8f28691c22a39b
4d80: 62 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  b..tcltest::test
4d90: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 35   Hash_SHA512-2.5
4da0: 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  4 {SHA512ShortMs
4db0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
4dc0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
4dd0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
4de0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
4df0: 20 39 32 38 38 63 37 39 35 62 62 30 62 38 36 63   9288c795bb0b86c
4e00: 30 34 31 39 64 39 63 35 36 33 37 64 63 63 33 37  0419d9c5637dcc37
4e10: 62 33 39 62 66 61 31 38 64 34 34 31 65 33 66 62  b39bfa18d441e3fb
4e20: 66 63 61 37 35 62 63 30 33 30 36 65 35 34 33 32  fca75bc0306e5432
4e30: 65 38 65 37 62 33 61 35 36 32 37 62 35 62 63 37  e8e7b3a5627b5bc7
4e40: 66 64 63 34 32 34 61 37 37 35 32 30 61 62 64 66  fdc424a77520abdf
4e50: 66 35 36 36 65 37 66 32 62 62 38 5d 7d 20 5c 0a  f566e7f2bb8]} \.
4e60: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
4e70: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
4e80: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
4e90: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
4ea0: 2d 72 65 73 75 6c 74 20 65 33 36 33 64 30 65 39  -result e363d0e9
4eb0: 35 64 38 63 64 31 38 63 33 38 34 30 31 36 65 62  5d8cd18c384016eb
4ec0: 65 65 64 36 64 39 39 63 34 66 61 32 37 36 38 65  eed6d99c4fa2768e
4ed0: 32 62 64 35 38 66 63 61 30 31 39 63 35 31 30 38  2bd58fca019c5108
4ee0: 62 39 63 64 65 31 63 62 34 36 66 33 66 38 38 34  b9cde1cb46f3f884
4ef0: 30 32 38 61 35 35 63 65 32 38 32 65 63 33 31 30  028a55ce282ec310
4f00: 61 31 30 30 33 37 66 61 61 31 62 31 36 62 34 61  a10037faa1b16b4a
4f10: 36 61 36 36 39 39 35 37 66 30 62 30 30 66 33 35  6a669957f0b00f35
4f20: 30 62 62 64 36 33 64 30 0a 0a 74 63 6c 74 65 73  0bbd63d0..tcltes
4f30: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
4f40: 35 31 32 2d 32 2e 35 35 20 7b 53 48 41 35 31 32  512-2.55 {SHA512
4f50: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
4f60: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
4f70: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
4f80: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
4f90: 6f 64 65 20 68 65 78 20 37 38 30 34 32 37 64 63  ode hex 780427dc
4fa0: 31 36 34 62 32 66 36 39 62 38 63 37 64 35 36 39  164b2f69b8c7d569
4fb0: 32 36 36 66 34 36 31 65 32 64 33 30 63 38 38 63  266f461e2d30c88c
4fc0: 34 63 64 36 30 35 37 66 62 30 33 30 61 36 63 66  4cd6057fb030a6cf
4fd0: 36 33 36 66 32 34 65 33 63 30 64 30 64 62 37 34  636f24e3c0d0db74
4fe0: 32 61 37 62 36 31 39 33 66 64 61 61 31 35 65 65  2a7b6193fdaa15ee
4ff0: 63 35 30 64 66 62 34 66 61 65 36 65 63 37 36 35  c50dfb4fae6ec765
5000: 33 63 39 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  3c91]} \..-body 
5010: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5020: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5030: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5040: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5050: 20 32 39 36 34 62 30 30 39 66 62 31 62 66 39 39   2964b009fb1bf99
5060: 36 64 65 31 32 65 30 33 30 62 39 64 36 65 30 36  6de12e030b9d6e06
5070: 30 38 61 65 38 62 39 64 62 66 32 61 63 66 62 39  08ae8b9dbf2acfb9
5080: 62 65 62 37 36 66 63 35 33 36 31 63 63 31 30 34  beb76fc5361cc104
5090: 65 65 38 35 63 32 61 34 36 66 62 37 62 34 63 65  ee85c2a46fb7b4ce
50a0: 65 39 30 38 34 38 33 31 32 64 61 33 30 32 64 65  e90848312da302de
50b0: 34 39 61 66 65 36 31 63 35 34 36 34 37 37 65 32  49afe61c546477e2
50c0: 62 32 35 64 32 32 33 64 35 65 33 64 33 33 35 36  b25d223d5e3d3356
50d0: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
50e0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 35   Hash_SHA512-2.5
50f0: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
5100: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5110: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5120: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5130: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5140: 20 65 63 32 61 39 32 65 34 37 66 36 39 32 62 35   ec2a92e47f692b5
5150: 33 63 31 33 35 35 34 37 35 63 37 31 63 65 66 66  3c1355475c71ceff
5160: 30 62 30 39 35 32 61 38 62 33 35 34 31 62 32 39  0b0952a8b3541b29
5170: 33 38 32 37 30 32 34 37 64 34 34 65 37 63 35 63  38270247d44e7c5c
5180: 63 30 34 65 31 37 32 33 36 62 33 35 33 64 61 30  c04e17236b353da0
5190: 32 38 36 37 34 65 61 62 34 30 34 37 64 38 39 65  28674eab4047d89e
51a0: 63 35 64 61 64 38 36 38 63 66 64 39 31 63 65 5d  c5dad868cfd91ce]
51b0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
51c0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
51d0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
51e0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
51f0: 61 63 74 20 2d 72 65 73 75 6c 74 20 63 38 33 61  act -result c83a
5200: 63 61 36 31 34 37 62 66 63 62 62 63 37 32 63 33  ca6147bfcbbc72c3
5210: 37 37 65 66 61 38 64 35 33 36 35 34 62 61 30 38  77efa8d53654ba08
5220: 33 30 63 35 61 36 61 38 39 65 31 64 32 61 31 39  30c5a6a89e1d2a19
5230: 62 37 31 33 65 36 38 66 62 35 33 34 36 34 30 64  b713e68fb534640d
5240: 65 62 38 33 33 63 61 35 31 32 32 34 37 31 36 36  eb833ca512247166
5250: 64 64 32 37 33 62 35 38 39 37 65 35 37 64 35 32  dd273b5897e57d52
5260: 36 66 38 38 65 65 66 35 38 66 36 66 66 39 37 62  6f88eef58f6ff97b
5270: 61 65 65 30 62 34 65 65 35 36 34 34 0a 0a 74 63  aee0b4ee5644..tc
5280: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
5290: 5f 53 48 41 35 31 32 2d 32 2e 35 37 20 7b 53 48  _SHA512-2.57 {SH
52a0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
52b0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
52c0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
52d0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
52e0: 20 64 65 63 6f 64 65 20 68 65 78 20 63 39 39 65   decode hex c99e
52f0: 33 31 61 64 34 65 32 33 61 63 36 38 65 31 35 65  31ad4e23ac68e15e
5300: 36 30 35 64 30 62 30 32 34 33 37 66 38 31 34 37  605d0b02437f8147
5310: 63 34 34 66 35 34 34 35 61 35 35 62 36 38 61 31  c44f5445a55b68a1
5320: 30 39 30 35 32 37 36 63 63 65 38 36 37 36 34 38  0905276cce867648
5330: 31 63 33 33 65 38 63 64 33 65 66 65 33 32 32 62  1c33e8cd3efe322b
5340: 62 31 33 66 65 30 31 30 37 62 62 35 34 36 63 63  b13fe0107bb546cc
5350: 62 65 63 37 62 38 62 33 38 64 31 30 5d 7d 20 5c  bec7b8b38d10]} \
5360: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
5370: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
5380: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
5390: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
53a0: 20 2d 72 65 73 75 6c 74 20 35 32 39 39 32 64 34   -result 52992d4
53b0: 35 61 38 38 32 32 31 64 39 37 32 39 35 38 65 39  5a88221d972958e9
53c0: 66 32 38 35 34 61 64 61 61 39 61 32 31 64 32 62  f2854adaa9a21d2b
53d0: 66 37 30 35 31 65 31 66 31 30 31 39 61 65 37 38  f7051e1f1019ae78
53e0: 30 30 34 64 61 35 30 63 35 62 35 35 63 31 34 34  004da50c5b55c144
53f0: 61 30 32 61 66 66 66 65 35 33 39 64 37 35 33 39  a02afffe539d7539
5400: 34 39 61 32 62 30 35 36 35 33 34 66 35 62 34 63  49a2b056534f5b4c
5410: 32 31 66 32 34 38 61 30 35 62 61 61 35 32 61 36  21f248a05baa52a6
5420: 63 33 38 63 37 66 35 64 64 0a 0a 74 63 6c 74 65  c38c7f5dd..tclte
5430: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
5440: 41 35 31 32 2d 32 2e 35 38 20 7b 53 48 41 35 31  A512-2.58 {SHA51
5450: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
5460: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
5470: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
5480: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
5490: 63 6f 64 65 20 68 65 78 20 39 61 61 33 65 38 61  code hex 9aa3e8a
54a0: 64 39 32 37 37 37 64 66 65 62 31 32 31 61 36 34  d92777dfeb121a64
54b0: 36 63 65 32 65 39 31 38 64 31 65 31 32 62 33 30  6ce2e918d1e12b30
54c0: 37 35 34 62 63 30 39 34 37 30 64 36 64 61 34 61  754bc09470d6da4a
54d0: 66 36 63 63 39 36 34 32 62 30 31 32 66 30 34 31  f6cc9642b012f041
54e0: 66 66 30 34 36 35 36 39 64 34 66 64 38 64 30 64  ff046569d4fd8d0d
54f0: 63 63 66 65 34 34 38 65 35 39 66 65 65 66 63 39  ccfe448e59feefc9
5500: 30 38 64 39 61 64 35 61 66 36 66 5d 7d 20 5c 0a  08d9ad5af6f]} \.
5510: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
5520: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
5530: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
5540: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
5550: 2d 72 65 73 75 6c 74 20 39 39 34 64 31 63 64 61  -result 994d1cda
5560: 34 64 65 34 30 61 66 66 34 37 31 33 32 33 37 63  4de40aff4713237c
5570: 66 39 66 37 38 66 37 30 33 33 61 66 38 33 33 36  f9f78f7033af8336
5580: 39 61 63 39 63 36 34 65 35 30 34 30 39 31 65 61  9ac9c64e504091ea
5590: 32 66 31 63 61 66 66 36 63 35 31 35 32 64 36 61  2f1caff6c5152d6a
55a0: 30 63 35 36 30 38 66 38 32 38 38 36 63 30 30 39  0c5608f82886c009
55b0: 33 62 33 64 37 66 62 61 64 64 34 39 64 66 64 31  3b3d7fbadd49dfd1
55c0: 66 39 65 30 66 38 35 61 63 63 66 32 33 62 63 37  f9e0f85accf23bc7
55d0: 64 61 64 34 38 39 30 34 0a 0a 74 63 6c 74 65 73  dad48904..tcltes
55e0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
55f0: 35 31 32 2d 32 2e 35 39 20 7b 53 48 41 35 31 32  512-2.59 {SHA512
5600: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
5610: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
5620: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
5630: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5640: 6f 64 65 20 68 65 78 20 35 38 34 32 35 31 32 63  ode hex 5842512c
5650: 33 37 33 31 32 35 31 31 61 33 64 38 61 65 34 31  37312511a3d8ae41
5660: 66 35 38 30 31 64 66 36 30 63 64 36 38 32 64 35  f5801df60cd682d5
5670: 38 62 34 61 39 39 37 33 34 32 62 36 65 37 31 37  8b4a997342b6e717
5680: 65 39 34 30 30 36 63 32 31 34 38 31 33 65 36 63  e94006c214813e6c
5690: 36 33 65 37 35 35 39 31 66 39 35 37 61 37 65 63  63e75591f957a7ec
56a0: 33 30 31 37 37 39 38 33 38 62 65 63 38 61 65 33  301779838bec8ae3
56b0: 65 64 37 66 65 62 61 64 30 38 30 35 5d 7d 20 5c  ed7febad0805]} \
56c0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
56d0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
56e0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
56f0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
5700: 20 2d 72 65 73 75 6c 74 20 39 37 36 33 63 34 33   -result 9763c43
5710: 33 33 31 61 64 30 65 62 32 37 39 64 37 30 34 63  331ad0eb279d704c
5720: 35 66 36 65 39 37 65 30 32 64 61 38 37 32 34 31  5f6e97e02da87241
5730: 31 35 30 32 36 38 32 37 66 38 38 39 65 39 66 63  15026827f889e9fc
5740: 64 61 32 31 66 36 30 66 64 32 33 30 38 39 34 61  da21f60fd230894a
5750: 62 33 35 61 62 62 37 31 39 38 39 30 66 33 61 66  b35abb719890f3af
5760: 61 35 31 61 66 64 33 31 62 63 36 38 35 32 31 38  a51afd31bc685218
5770: 33 62 39 63 35 31 30 35 39 39 31 30 61 66 34 36  3b9c51059910af46
5780: 30 61 62 64 32 34 37 34 64 0a 0a 74 63 6c 74 65  0abd2474d..tclte
5790: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
57a0: 41 35 31 32 2d 32 2e 36 30 20 7b 53 48 41 35 31  A512-2.60 {SHA51
57b0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
57c0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
57d0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
57e0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
57f0: 63 6f 64 65 20 68 65 78 20 63 61 31 34 65 32 65  code hex ca14e2e
5800: 61 32 66 33 37 63 37 38 66 37 38 65 66 32 38 30  a2f37c78f78ef280
5810: 66 35 38 37 30 37 65 63 35 34 39 61 33 31 61 39  f58707ec549a31a9
5820: 34 33 36 31 30 37 33 65 33 37 37 30 31 62 66 65  4361073e37701bfe
5830: 35 30 33 65 34 63 30 31 65 65 31 66 32 65 31 32  503e4c01ee1f2e12
5840: 33 65 30 30 65 38 31 61 31 38 38 66 30 38 66 61  3e00e81a188f08fa
5850: 30 35 30 38 32 35 37 30 39 31 32 38 61 39 62 36  050825709128a9b6
5860: 36 62 62 38 61 65 36 65 61 34 37 65 34 31 64 5d  6bb8ae6ea47e41d]
5870: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
5880: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5890: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
58a0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
58b0: 61 63 74 20 2d 72 65 73 75 6c 74 20 34 36 30 30  act -result 4600
58c0: 65 30 32 32 61 30 32 32 35 38 37 33 39 66 36 37  e022a02258739f67
58d0: 66 64 64 33 36 37 63 63 31 65 36 36 32 36 33 31  fdd367cc1e662631
58e0: 66 62 30 38 37 39 31 38 37 36 38 33 35 32 30 36  fb08791876835206
58f0: 32 62 39 62 33 63 38 64 65 38 64 62 63 61 30 65  2b9b3c8de8dbca0e
5900: 39 65 63 37 35 31 62 39 31 66 32 38 34 36 39 34  9ec751b91f284694
5910: 66 62 64 64 62 38 64 33 32 35 63 30 36 33 37 62  fbddb8d325c0637b
5920: 63 63 62 32 31 64 64 32 65 66 61 39 32 65 34 38  ccb21dd2efa92e48
5930: 64 62 61 62 32 65 35 65 39 63 32 36 0a 0a 74 63  dbab2e5e9c26..tc
5940: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
5950: 5f 53 48 41 35 31 32 2d 32 2e 36 31 20 7b 53 48  _SHA512-2.61 {SH
5960: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
5970: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
5980: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
5990: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
59a0: 20 64 65 63 6f 64 65 20 68 65 78 20 36 34 37 36   decode hex 6476
59b0: 32 39 63 37 37 39 62 32 34 63 31 65 37 36 66 34  29c779b24c1e76f4
59c0: 31 37 34 34 61 62 61 31 37 31 35 39 34 38 37 35  1744aba171594875
59d0: 33 32 61 30 31 35 36 61 37 64 38 32 36 34 64 62  32a0156a7d8264db
59e0: 35 30 64 36 34 35 65 39 35 39 35 66 66 38 31 65  50d645e9595ff81e
59f0: 30 63 39 36 61 38 35 30 66 32 61 61 35 36 63 38  0c96a850f2aa56c8
5a00: 34 34 63 36 31 33 61 34 62 38 39 32 37 32 37 61  44c613a4b892727a
5a10: 39 62 66 63 33 64 33 65 32 30 33 38 36 37 36 36  9bfc3d3e20386766
5a20: 66 38 30 35 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  f805]} \..-body 
5a30: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5a40: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5a50: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5a60: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5a70: 20 35 62 63 38 34 32 66 63 32 64 33 62 37 65 62   5bc842fc2d3b7eb
5a80: 33 31 64 32 64 33 30 34 34 64 66 33 65 63 33 32  31d2d3044df3ec32
5a90: 61 66 31 31 34 66 65 61 61 37 63 66 63 32 37 65  af114feaa7cfc27e
5aa0: 62 63 38 36 33 30 66 34 36 61 62 36 66 30 63 35  bc8630f46ab6f0c5
5ab0: 34 33 66 35 39 62 38 31 32 65 37 37 36 65 35 33  43f59b812e776e53
5ac0: 30 33 38 36 31 64 31 37 64 61 33 66 31 66 31 36  03861d17da3f1f16
5ad0: 30 39 37 36 34 31 66 33 62 38 30 38 64 34 64 35  097641f3b808d4d5
5ae0: 63 62 33 65 34 38 33 39 34 36 34 30 39 37 34 36  cb3e483946409746
5af0: 63 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  c..tcltest::test
5b00: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 36   Hash_SHA512-2.6
5b10: 32 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  2 {SHA512ShortMs
5b20: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5b30: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5b40: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5b50: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5b60: 20 31 63 35 64 63 30 64 31 64 64 32 65 34 63 37   1c5dc0d1dd2e4c7
5b70: 31 37 36 33 35 66 66 33 65 39 62 36 37 63 61 66  17635ff3e9b67caf
5b80: 39 35 37 61 65 63 30 66 38 66 36 33 63 31 62 31  957aec0f8f63c1b1
5b90: 65 32 32 31 65 38 30 30 61 34 63 31 34 38 34 38  e221e800a4c14848
5ba0: 66 34 65 61 30 36 65 36 34 34 65 35 64 33 65 31  f4ea06e644e5d3e1
5bb0: 64 65 35 39 32 65 66 35 61 38 30 30 37 66 61 33  de592ef5a8007fa3
5bc0: 66 30 37 31 37 31 62 32 34 62 64 30 37 35 37 38  f07171b24bd07578
5bd0: 64 36 38 39 36 33 65 35 63 62 31 5d 7d 20 5c 0a  d68963e5cb1]} \.
5be0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
5bf0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
5c00: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
5c10: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
5c20: 2d 72 65 73 75 6c 74 20 63 62 66 31 65 61 38 36  -result cbf1ea86
5c30: 66 61 35 62 33 64 62 66 36 37 62 65 38 32 66 61  fa5b3dbf67be82fa
5c40: 63 34 31 65 38 34 63 63 63 64 30 64 32 39 36 63  c41e84cccd0d296c
5c50: 37 35 37 31 36 39 62 33 37 38 33 37 64 32 37 33  757169b37837d273
5c60: 63 63 63 30 31 35 65 65 63 64 31 30 32 62 39 63  ccc015eecd102b9c
5c70: 65 31 63 66 66 36 38 66 64 63 37 66 30 35 64 32  e1cff68fdc7f05d2
5c80: 32 66 32 62 37 37 34 37 33 34 66 36 32 64 65 64  2f2b774734f62ded
5c90: 35 34 63 38 65 65 30 62 66 35 37 61 35 61 38 32  54c8ee0bf57a5a82
5ca0: 30 31 30 64 37 34 66 35 0a 0a 74 63 6c 74 65 73  010d74f5..tcltes
5cb0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
5cc0: 35 31 32 2d 32 2e 36 33 20 7b 53 48 41 35 31 32  512-2.63 {SHA512
5cd0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
5ce0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
5cf0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
5d00: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
5d10: 6f 64 65 20 68 65 78 20 38 61 35 35 35 65 37 35  ode hex 8a555e75
5d20: 34 37 37 64 30 36 35 62 33 61 66 37 65 36 31 35  477d065b3af7e615
5d30: 34 37 35 66 33 37 63 30 61 36 36 37 66 37 33 61  475f37c0a667f73a
5d40: 34 63 37 61 66 35 65 34 61 36 39 66 32 38 61 36  4c7af5e4a69f28a6
5d50: 38 64 39 66 34 34 33 34 37 37 36 61 38 66 39 30  8d9f4434776a8f90
5d60: 65 61 62 37 66 31 64 31 33 37 65 62 34 62 32 32  eab7f1d137eb4b22
5d70: 36 34 33 63 30 61 30 64 36 61 31 36 66 63 66 61  643c0a0d6a16fcfa
5d80: 61 31 62 64 36 32 66 32 37 38 33 35 34 36 61 39  a1bd62f2783546a9
5d90: 36 39 35 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  695f]} \..-body 
5da0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
5db0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
5dc0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
5dd0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
5de0: 20 63 30 38 38 65 34 61 33 64 37 64 61 32 66 36   c088e4a3d7da2f6
5df0: 66 39 39 61 38 66 33 66 37 31 37 33 36 31 31 30  f99a8f3f71736110
5e00: 38 38 37 32 62 38 66 66 65 66 39 32 31 62 33 38  8872b8ffef921b38
5e10: 33 63 32 34 62 38 30 36 31 64 34 65 37 63 32 37  3c24b8061d4e7c27
5e20: 66 63 35 36 66 34 66 32 30 64 63 38 66 39 35 32  fc56f4f20dc8f952
5e30: 61 31 34 30 34 33 63 35 36 35 30 62 35 61 39 65  a14043c5650b5a9e
5e40: 37 37 37 63 34 39 63 34 31 63 66 65 62 33 66 32  777c49c41cfeb3f2
5e50: 64 65 39 37 65 65 32 65 31 36 62 32 63 33 39 32  de97ee2e16b2c392
5e60: 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  4..tcltest::test
5e70: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 36   Hash_SHA512-2.6
5e80: 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  4 {SHA512ShortMs
5e90: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
5ea0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
5eb0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
5ec0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
5ed0: 20 65 62 62 33 65 32 61 64 37 38 30 33 35 30 38   ebb3e2ad7803508
5ee0: 62 61 34 36 65 38 31 65 32 32 30 62 31 63 66 66  ba46e81e220b1cff
5ef0: 33 33 65 61 38 33 38 31 35 30 34 31 31 30 65 39  33ea8381504110e9
5f00: 66 38 30 39 32 65 66 30 38 35 61 66 65 66 38 34  f8092ef085afef84
5f10: 64 62 30 64 34 33 36 39 33 31 64 30 38 35 64 30  db0d436931d085d0
5f20: 65 31 62 30 36 62 64 32 31 38 63 66 35 37 31 63  e1b06bd218cf571c
5f30: 37 39 33 33 38 64 61 33 31 61 38 33 62 34 63 62  79338da31a83b4cb
5f40: 31 65 63 36 63 30 36 64 36 62 39 38 37 36 38 5d  1ec6c06d6b98768]
5f50: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
5f60: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
5f70: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
5f80: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
5f90: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 33 33 34  act -result f334
5fa0: 32 38 64 38 66 63 36 37 61 61 32 63 63 31 61 64  28d8fc67aa2cc1ad
5fb0: 63 62 32 38 32 32 66 33 37 66 32 39 63 62 64 37  cb2822f37f29cbd7
5fc0: 32 61 62 66 66 36 38 31 39 30 34 38 33 65 34 31  2abff68190483e41
5fd0: 35 38 32 34 66 30 62 63 65 63 64 34 34 37 63 62  5824f0bcecd447cb
5fe0: 34 66 30 35 61 39 63 34 37 30 33 31 62 39 63 35  4f05a9c47031b9c5
5ff0: 30 65 30 34 31 31 63 35 35 32 66 33 31 63 64 30  0e0411c552f31cd0
6000: 34 63 33 30 63 65 61 32 62 63 36 34 62 63 66 38  4c30cea2bc64bcf8
6010: 32 35 61 35 66 38 61 36 36 30 32 38 0a 0a 74 63  25a5f8a66028..tc
6020: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
6030: 5f 53 48 41 35 31 32 2d 32 2e 36 35 20 7b 53 48  _SHA512-2.65 {SH
6040: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
6050: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
6060: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
6070: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
6080: 20 64 65 63 6f 64 65 20 68 65 78 20 63 31 63 61   decode hex c1ca
6090: 37 30 61 65 31 32 37 39 62 61 30 62 39 31 38 31  70ae1279ba0b9181
60a0: 35 37 35 35 38 62 34 39 32 30 64 36 62 37 66 62  57558b4920d6b7fb
60b0: 61 38 61 30 36 62 65 35 31 35 31 37 30 66 32 30  a8a06be515170f20
60c0: 32 66 61 66 64 33 36 66 62 37 66 37 39 64 36 39  2fafd36fb7f79d69
60d0: 66 61 64 37 34 35 64 62 61 36 31 35 30 35 36 38  fad745dba6150568
60e0: 64 62 31 65 32 62 37 32 38 35 30 34 31 31 33 65  db1e2b728504113e
60f0: 65 61 63 33 34 66 35 32 37 66 63 38 32 66 32 32  eac34f527fc82f22
6100: 30 30 62 34 36 32 65 63 62 66 35 64 5d 7d 20 5c  00b462ecbf5d]} \
6110: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
6120: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
6130: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
6140: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
6150: 20 2d 72 65 73 75 6c 74 20 30 34 36 65 34 36 36   -result 046e466
6160: 32 33 39 31 32 62 33 39 33 32 62 38 64 36 36 32  23912b3932b8d662
6170: 61 62 34 32 35 38 33 34 32 33 38 34 33 32 30 36  ab42583423843206
6180: 33 30 31 62 35 38 62 66 32 30 61 62 36 64 37 36  301b58bf20ab6d76
6190: 66 64 34 37 66 31 63 62 62 63 66 34 32 31 64 66  fd47f1cbbcf421df
61a0: 35 33 36 65 63 64 37 65 35 36 64 62 35 33 35 34  536ecd7e56db5354
61b0: 65 37 65 30 66 39 38 38 32 32 64 32 31 32 39 63  e7e0f98822d2129c
61c0: 31 39 37 66 36 66 30 66 32 32 32 62 38 65 63 35  197f6f0f222b8ec5
61d0: 32 33 31 66 33 39 36 37 64 0a 0a 74 63 6c 74 65  231f3967d..tclte
61e0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
61f0: 41 35 31 32 2d 32 2e 36 36 20 7b 53 48 41 35 31  A512-2.66 {SHA51
6200: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
6210: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
6220: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
6230: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
6240: 63 6f 64 65 20 68 65 78 20 64 33 64 64 64 64 66  code hex d3ddddf
6250: 38 30 35 62 31 36 37 38 61 30 32 65 33 39 32 30  805b1678a02e3920
6260: 30 66 36 34 34 30 30 34 37 61 63 62 62 30 36 32  0f6440047acbb062
6270: 65 34 61 32 66 30 34 36 61 33 63 61 37 66 31 64  e4a2f046a3ca7f1d
6280: 64 36 65 62 30 33 61 31 38 62 65 30 30 63 64 31  d6eb03a18be00cd1
6290: 65 62 31 35 38 37 30 36 61 36 34 61 66 35 38 33  eb158706a64af583
62a0: 34 63 36 38 63 66 37 66 31 30 35 62 34 31 35 31  4c68cf7f105b4151
62b0: 39 34 36 30 35 32 32 32 63 39 39 61 32 63 62 66  94605222c99a2cbf
62c0: 37 32 63 35 30 63 62 31 34 62 66 5d 7d 20 5c 0a  72c50cb14bf]} \.
62d0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
62e0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
62f0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
6300: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
6310: 2d 72 65 73 75 6c 74 20 62 61 65 37 63 35 64 35  -result bae7c5d5
6320: 39 30 62 66 32 35 61 34 39 33 64 38 66 34 38 62  90bf25a493d8f48b
6330: 38 62 34 36 33 38 63 63 62 31 30 35 34 31 63 36  8b4638ccb10541c6
6340: 37 39 39 36 65 34 37 32 38 37 62 39 38 34 33 32  7996e47287b98432
6350: 32 30 30 39 64 32 37 64 31 33 34 38 66 33 65 66  2009d27d1348f3ef
6360: 32 39 39 39 66 35 65 65 30 64 33 38 65 31 31 32  2999f5ee0d38e112
6370: 63 64 35 61 38 30 37 61 35 37 38 33 30 63 64 63  cd5a807a57830cdc
6380: 33 31 38 61 31 31 38 31 65 36 63 34 36 35 33 63  318a1181e6c4653c
6390: 64 62 38 63 66 31 32 32 0a 0a 74 63 6c 74 65 73  db8cf122..tcltes
63a0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
63b0: 35 31 32 2d 32 2e 36 37 20 7b 53 48 41 35 31 32  512-2.67 {SHA512
63c0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
63d0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
63e0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
63f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6400: 6f 64 65 20 68 65 78 20 38 65 38 65 66 38 61 61  ode hex 8e8ef8aa
6410: 33 33 36 62 33 62 39 38 38 39 34 63 33 31 32 36  336b3b98894c3126
6420: 63 37 31 38 37 38 39 31 30 36 31 38 38 33 38 63  c71878910618838c
6430: 30 30 61 63 38 35 39 30 31 37 33 63 39 31 37 34  00ac8590173c9174
6440: 39 39 37 32 66 66 33 64 34 32 61 36 31 31 33 37  9972ff3d42a61137
6450: 30 32 39 61 64 37 34 35 30 31 36 38 34 66 37 35  029ad74501684f75
6460: 65 31 62 38 64 31 64 37 34 33 33 36 61 61 39 30  e1b8d1d74336aa90
6470: 38 63 34 34 30 38 32 61 65 39 65 62 31 36 32 65  8c44082ae9eb162e
6480: 39 30 31 38 36 37 66 35 34 39 30 35 5d 7d 20 5c  901867f54905]} \
6490: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
64a0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
64b0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
64c0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
64d0: 20 2d 72 65 73 75 6c 74 20 34 31 36 37 32 39 33   -result 4167293
64e0: 31 35 35 38 61 39 33 37 36 32 35 32 32 62 31 64  1558a93762522b1d
64f0: 35 35 33 38 39 65 63 66 31 62 38 63 30 66 65 62  55389ecf1b8c0feb
6500: 38 62 38 38 66 34 35 38 37 66 62 64 34 31 37 63  8b88f4587fbd417c
6510: 61 38 30 39 30 35 35 62 30 63 62 36 33 30 64 38  a809055b0cb630d8
6520: 62 65 61 31 33 33 61 62 37 66 36 63 66 31 66 32  bea133ab7f6cf1f2
6530: 31 63 36 62 33 35 65 32 65 32 35 63 30 64 31 39  1c6b35e2e25c0d19
6540: 35 38 33 32 35 38 38 30 38 65 36 63 32 33 65 31  583258808e6c23e1
6550: 61 37 35 33 33 36 31 30 33 0a 0a 74 63 6c 74 65  a75336103..tclte
6560: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
6570: 41 35 31 32 2d 32 2e 36 38 20 7b 53 48 41 35 31  A512-2.68 {SHA51
6580: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
6590: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
65a0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
65b0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
65c0: 63 6f 64 65 20 68 65 78 20 35 32 37 36 31 65 31  code hex 52761e1
65d0: 64 61 63 30 65 61 65 61 38 39 38 65 30 62 30 37  dac0eaea898e0b07
65e0: 63 64 32 34 66 34 62 32 65 36 62 62 37 62 63 32  cd24f4b2e6bb7bc2
65f0: 30 30 65 61 34 62 30 35 32 38 38 34 32 66 31 37  00ea4b0528842f17
6600: 62 38 37 31 35 34 35 35 39 61 32 65 61 39 34 34  b87154559a2ea944
6610: 35 39 61 30 65 34 38 30 61 65 30 62 64 66 39 66  59a0e480ae0bdf9f
6620: 37 35 37 64 64 34 61 33 33 35 61 65 64 30 65 35  757dd4a335aed0e5
6630: 31 30 31 33 38 62 30 32 34 61 30 34 65 64 31 64  10138b024a04ed1d
6640: 35 39 31 62 34 33 32 33 32 33 34 64 62 64 35 5d  591b4323234dbd5]
6650: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
6660: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6670: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
6680: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
6690: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 38 32 36  act -result b826
66a0: 66 65 38 30 34 39 34 65 31 39 63 35 31 62 34 32  fe80494e19c51b42
66b0: 66 32 35 38 32 62 32 64 30 38 30 62 61 36 62 39  f2582b2d080ba6b9
66c0: 30 35 31 32 66 33 35 66 32 64 62 36 37 64 64 37  0512f35f2db67dd7
66d0: 66 64 35 65 65 35 33 32 65 61 61 31 36 34 39 38  fd5ee532eaa16498
66e0: 61 66 62 61 30 38 62 34 39 39 36 63 62 63 66 64  afba08b4996cbcfd
66f0: 66 38 64 31 61 32 64 66 36 62 31 64 61 39 33 39  f8d1a2df6b1da939
6700: 65 38 32 36 35 31 31 35 61 34 38 61 65 66 61 34  e8265115a48aefa4
6710: 32 66 33 38 32 30 35 64 62 34 33 36 0a 0a 74 63  2f38205db436..tc
6720: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
6730: 5f 53 48 41 35 31 32 2d 32 2e 36 39 20 7b 53 48  _SHA512-2.69 {SH
6740: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
6750: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
6760: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
6770: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
6780: 20 64 65 63 6f 64 65 20 68 65 78 20 33 38 30 34   decode hex 3804
6790: 65 62 63 34 33 63 62 65 61 38 30 63 32 62 64 37  ebc43cbea80c2bd7
67a0: 65 34 66 64 61 35 63 35 35 31 35 35 30 30 63 64  e4fda5c5515500cd
67b0: 32 64 32 62 38 34 36 61 31 33 37 38 64 62 66 32  2d2b846a1378dbf2
67c0: 31 38 64 35 63 33 37 37 31 33 38 36 30 36 65 62  18d5c377138606eb
67d0: 33 63 62 38 61 63 38 38 66 39 30 37 36 66 36 66  3cb8ac88f9076f6f
67e0: 66 34 34 33 36 66 39 30 37 31 37 34 32 37 63 39  f4436f90717427c9
67f0: 64 66 31 62 61 30 35 32 61 63 62 62 65 34 35 38  df1ba052acbbe458
6800: 35 65 39 38 62 36 65 38 65 30 62 66 38 30 30 66  5e98b6e8e0bf800f
6810: 31 39 34 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  1946]} \..-body 
6820: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
6830: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
6840: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
6850: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
6860: 20 31 37 64 64 36 64 38 37 62 63 36 37 37 33 30   17dd6d87bc67730
6870: 35 31 65 35 32 30 34 37 66 64 34 34 34 39 39 36  51e52047fd444996
6880: 61 66 61 38 31 32 34 62 30 34 38 33 66 65 31 32  afa8124b0483fe12
6890: 31 38 37 37 66 39 38 35 35 33 34 34 38 37 37 32  1877f98553448772
68a0: 62 64 30 65 37 37 35 31 66 63 36 35 35 65 39 63  bd0e7751fc655e9c
68b0: 63 32 64 32 39 38 33 30 32 31 31 30 31 35 64 33  c2d29830211015d3
68c0: 31 30 66 31 39 31 34 37 34 63 61 36 61 64 63 30  10f191474ca6adc0
68d0: 34 37 37 61 31 38 37 63 30 33 62 38 66 65 32 35  477a187c03b8fe25
68e0: 32 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  2..tcltest::test
68f0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37   Hash_SHA512-2.7
6900: 30 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  0 {SHA512ShortMs
6910: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
6920: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
6930: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
6940: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6950: 20 32 32 34 39 64 36 39 38 63 34 64 38 30 37 61   2249d698c4d807a
6960: 38 65 37 62 34 64 65 32 31 63 34 38 35 37 33 38  8e7b4de21c485738
6970: 39 35 39 61 30 64 36 37 65 35 64 32 63 61 36 66  959a0d67e5d2ca6f
6980: 37 37 39 38 33 64 66 63 63 62 35 64 62 66 34 37  77983dfccb5dbf47
6990: 39 33 31 32 36 31 65 31 66 31 35 33 37 66 33 63  931261e1f1537f3c
69a0: 62 63 61 32 35 33 61 66 62 36 62 66 34 66 65 35  bca253afb6bf4fe5
69b0: 65 37 36 37 32 65 31 64 63 63 38 36 30 62 33 64  e7672e1dcc860b3d
69c0: 36 63 38 64 32 34 33 61 66 65 32 64 39 37 35 38  6c8d243afe2d9758
69d0: 62 33 37 35 65 39 35 35 36 39 32 5d 7d 20 5c 0a  b375e955692]} \.
69e0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
69f0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
6a00: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
6a10: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
6a20: 2d 72 65 73 75 6c 74 20 36 61 66 34 34 35 36 33  -result 6af44563
6a30: 66 63 34 36 38 64 35 31 31 38 32 66 36 63 33 62  fc468d51182f6c3b
6a40: 65 35 38 64 34 35 39 33 32 61 66 31 64 39 38 35  e58d45932af1d985
6a50: 63 36 66 32 38 33 39 37 36 63 39 31 61 39 66 66  c6f283976c91a9ff
6a60: 34 32 31 66 33 38 33 66 65 32 31 64 63 37 33 32  421f383fe21dc732
6a70: 32 66 33 39 37 63 63 65 61 64 35 38 33 65 32 36  2f397ccead583e26
6a80: 62 33 65 33 66 64 61 30 36 37 39 37 36 61 37 66  b3e3fda067976a7f
6a90: 33 34 36 36 35 64 66 32 35 61 32 63 65 64 37 62  34665df25a2ced7b
6aa0: 34 62 30 39 63 64 65 63 0a 0a 74 63 6c 74 65 73  4b09cdec..tcltes
6ab0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
6ac0: 35 31 32 2d 32 2e 37 31 20 7b 53 48 41 35 31 32  512-2.71 {SHA512
6ad0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
6ae0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
6af0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
6b00: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
6b10: 6f 64 65 20 68 65 78 20 33 32 61 39 63 31 37 30  ode hex 32a9c170
6b20: 33 33 36 35 38 63 35 34 66 32 32 63 37 31 33 35  33658c54f22c7135
6b30: 64 64 66 63 38 37 39 64 65 39 34 64 37 39 35 39  ddfc879de94d7959
6b40: 33 65 66 32 64 63 37 64 33 30 34 31 62 66 61 38  3ef2dc7d3041bfa8
6b50: 37 32 37 33 38 33 38 39 38 36 34 65 65 64 61 32  72738389864eeda2
6b60: 37 38 30 31 37 39 34 63 63 63 34 66 66 31 66 63  7801794ccc4ff1fc
6b70: 62 35 65 66 33 66 63 34 38 38 33 33 38 30 31 64  b5ef3fc48833801d
6b80: 36 66 65 39 35 39 65 33 36 32 37 66 38 65 61 31  6fe959e3627f8ea1
6b90: 35 33 36 61 64 30 30 66 61 39 63 37 64 37 64 39  536ad00fa9c7d7d9
6ba0: 66 30 34 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  f043]} \..-body 
6bb0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
6bc0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
6bd0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
6be0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
6bf0: 20 36 61 34 37 36 39 39 64 64 33 61 64 61 32 66   6a47699dd3ada2f
6c00: 31 31 62 63 34 65 61 34 32 30 37 32 62 30 36 63  11bc4ea42072b06c
6c10: 63 32 30 38 35 37 62 66 31 36 34 34 39 37 64 66  c20857bf164497df
6c20: 31 32 38 35 34 30 30 63 32 35 30 66 35 38 34 38  1285400c250f5848
6c30: 62 36 66 37 31 39 35 37 64 62 64 63 38 34 35 66  b6f71957dbdc845f
6c40: 35 64 61 65 61 62 39 31 33 30 33 36 36 36 31 66  5daeab913036661f
6c50: 36 39 33 38 37 38 39 33 66 63 32 64 36 31 63 32  69387893fc2d61c2
6c60: 35 66 61 35 39 62 39 64 38 35 62 31 39 66 34 30  5fa59b9d85b19f40
6c70: 31 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  1..tcltest::test
6c80: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37   Hash_SHA512-2.7
6c90: 32 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  2 {SHA512ShortMs
6ca0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
6cb0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
6cc0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
6cd0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
6ce0: 20 33 64 36 35 66 36 39 61 35 39 30 61 35 62 61   3d65f69a590a5ba
6cf0: 61 61 62 63 64 32 37 34 66 65 33 65 66 39 65 38  aabcd274fe3ef9e8
6d00: 38 39 32 30 66 66 63 37 61 64 66 30 35 63 31 36  8920ffc7adf05c16
6d10: 64 37 62 30 66 34 64 31 38 64 37 32 62 61 63 31  d7b0f4d18d72bac1
6d20: 65 39 34 63 33 62 33 64 38 33 62 38 66 34 63 35  e94c3b3d83b8f4c5
6d30: 35 32 65 62 38 30 65 39 66 64 65 33 39 31 31 34  52eb80e9fde39114
6d40: 30 33 66 38 62 30 30 30 35 37 39 38 31 36 66 30  03f8b000579816f0
6d50: 32 65 31 37 31 36 66 64 36 32 37 39 34 36 30 33  2e1716fd62794603
6d60: 31 64 30 61 66 30 37 39 33 65 37 66 33 65 31 5d  1d0af0793e7f3e1]
6d70: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
6d80: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
6d90: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
6da0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
6db0: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 66 62 32  act -result ffb2
6dc0: 64 39 34 35 30 39 34 33 63 32 34 62 35 39 33 33  d9450943c24b5933
6dd0: 63 32 34 38 31 32 34 35 39 62 37 35 64 33 64 39  c24812459b75d3d9
6de0: 66 33 38 30 33 34 34 63 39 62 63 30 36 66 61 33  f380344c9bc06fa3
6df0: 65 31 37 65 65 34 34 38 65 63 61 32 66 39 38 66  e17ee448eca2f98f
6e00: 66 37 39 66 37 65 32 32 33 35 63 63 64 39 66 39  f79f7e2235ccd9f9
6e10: 61 38 31 37 36 66 36 38 61 32 32 35 34 62 62 63  a8176f68a2254bbc
6e20: 39 62 38 33 34 64 36 61 63 38 64 32 62 66 64 62  9b834d6ac8d2bfdb
6e30: 63 31 35 39 37 63 34 33 32 63 39 66 0a 0a 74 63  c1597c432c9f..tc
6e40: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
6e50: 5f 53 48 41 35 31 32 2d 32 2e 37 33 20 7b 53 48  _SHA512-2.73 {SH
6e60: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
6e70: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
6e80: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
6e90: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
6ea0: 20 64 65 63 6f 64 65 20 68 65 78 20 37 36 66 66   decode hex 76ff
6eb0: 38 62 32 30 61 31 38 63 66 31 30 34 66 36 63 64  8b20a18cf104f6cd
6ec0: 62 36 35 65 32 62 61 38 66 36 36 65 63 66 38 34  b65e2ba8f66ecf84
6ed0: 34 61 66 37 65 38 35 65 38 65 66 32 64 61 31 39  4af7e85e8ef2da19
6ee0: 65 38 38 34 38 61 31 36 30 35 32 65 63 34 30 35  e8848a16052ec405
6ef0: 61 36 34 34 64 61 66 62 35 63 61 30 38 65 63 34  a644dafb5ca08ec4
6f00: 38 66 39 37 33 32 37 61 63 35 32 63 30 65 35 36  8f97327ac52c0e56
6f10: 32 31 38 34 30 32 63 37 32 61 39 61 36 64 63 31  218402c72a9a6dc1
6f20: 63 66 33 34 34 64 35 38 61 37 31 36 61 37 38 64  cf344d58a716a78d
6f30: 37 64 37 35 32 39 36 38 30 62 61 65 5d 7d 20 5c  7d7529680bae]} \
6f40: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
6f50: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
6f60: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
6f70: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
6f80: 20 2d 72 65 73 75 6c 74 20 66 38 38 35 38 31 34   -result f885814
6f90: 34 63 36 64 37 30 39 64 64 30 36 38 39 61 35 32  4c6d709dd0689a52
6fa0: 36 61 35 34 38 61 34 33 66 31 37 34 39 34 39 35  6a548a43f1749495
6fb0: 30 62 61 32 61 63 32 30 35 34 34 37 39 39 65 38  0ba2ac20544799e8
6fc0: 65 61 32 37 32 30 31 64 37 38 62 63 65 35 62 39  ea27201d78bce5b9
6fd0: 32 31 65 32 39 61 37 62 34 30 32 39 32 37 38 65  21e29a7b4029278e
6fe0: 36 38 33 34 31 65 66 32 61 30 63 61 34 62 61 33  68341ef2a0ca4ba3
6ff0: 38 39 34 35 36 36 62 33 63 38 66 38 39 35 30 65  894566b3c8f8950e
7000: 33 65 35 34 35 61 36 38 39 0a 0a 74 63 6c 74 65  3e545a689..tclte
7010: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
7020: 41 35 31 32 2d 32 2e 37 34 20 7b 53 48 41 35 31  A512-2.74 {SHA51
7030: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
7040: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
7050: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
7060: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7070: 63 6f 64 65 20 68 65 78 20 63 61 38 38 64 64 64  code hex ca88ddd
7080: 66 63 38 37 36 61 31 32 66 34 35 66 31 39 35 36  fc876a12f45f1956
7090: 32 62 63 39 63 61 32 35 30 66 34 33 32 36 37 61  2bc9ca250f43267a
70a0: 62 32 35 31 61 37 66 33 34 35 63 33 63 30 32 32  b251a7f345c3c022
70b0: 65 32 30 31 34 34 65 31 33 35 36 30 34 30 37 38  e20144e135604078
70c0: 37 36 32 65 66 35 63 38 61 38 66 30 33 38 63 66  762ef5c8a8f038cf
70d0: 31 62 31 64 36 61 39 31 37 30 39 62 35 39 64 64  1b1d6a91709b59dd
70e0: 30 36 38 33 39 36 61 39 65 39 37 31 61 62 36 32  068396a9e971ab62
70f0: 38 66 37 34 38 38 36 65 37 36 35 33 38 34 61 32  8f74886e765384a2
7100: 33 36 30 37 63 31 61 31 65 36 65 5d 7d 20 5c 0a  3607c1a1e6e]} \.
7110: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
7120: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
7130: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
7140: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
7150: 2d 72 65 73 75 6c 74 20 34 66 33 64 39 65 65 65  -result 4f3d9eee
7160: 66 33 34 39 63 61 35 31 61 37 65 34 31 39 61 66  f349ca51a7e419af
7170: 31 36 38 36 66 34 32 37 39 35 61 62 64 65 35 38  1686f42795abde58
7180: 61 38 35 33 33 35 63 65 36 38 64 34 39 36 65 38  a85335ce68d496e8
7190: 31 65 34 34 33 36 61 38 30 61 36 31 64 63 31 34  1e4436a80a61dc14
71a0: 33 61 34 33 30 30 30 30 38 63 32 33 61 33 65 37  3a4300008c23a3e7
71b0: 31 66 34 62 61 39 38 37 34 33 31 39 35 61 33 36  1f4ba98743195a36
71c0: 39 34 61 38 64 30 32 66 65 65 31 31 62 64 33 31  94a8d02fee11bd31
71d0: 34 35 36 39 61 62 63 30 0a 0a 74 63 6c 74 65 73  4569abc0..tcltes
71e0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
71f0: 35 31 32 2d 32 2e 37 35 20 7b 53 48 41 35 31 32  512-2.75 {SHA512
7200: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
7210: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
7220: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
7230: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
7240: 6f 64 65 20 68 65 78 20 30 61 37 38 62 31 36 62  ode hex 0a78b16b
7250: 34 30 32 36 66 37 65 63 30 36 33 64 62 34 65 37  4026f7ec063db4e7
7260: 62 37 37 63 34 32 61 32 39 38 65 35 32 34 65 32  b77c42a298e524e2
7270: 36 38 30 39 33 63 35 30 33 38 38 35 33 65 32 31  68093c5038853e21
7280: 37 64 63 64 36 35 66 36 36 34 32 38 36 35 30 31  7dcd65f664286501
7290: 36 35 66 63 61 30 36 61 31 62 34 63 39 63 66 31  65fca06a1b4c9cf1
72a0: 35 33 37 66 62 35 64 34 36 33 36 33 30 66 66 33  537fb5d463630ff3
72b0: 62 64 37 31 63 66 33 32 63 33 35 33 38 62 31 66  bd71cf32c3538b1f
72c0: 64 64 61 33 66 65 64 35 63 39 66 36 30 31 32 30  dda3fed5c9f60120
72d0: 33 33 31 39 62 37 65 31 38 36 39 61 5d 7d 20 5c  3319b7e1869a]} \
72e0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
72f0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
7300: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
7310: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
7320: 20 2d 72 65 73 75 6c 74 20 36 30 39 35 63 33 64   -result 6095c3d
7330: 66 35 62 39 64 62 37 63 65 35 32 34 64 37 36 31  f5b9db7ce524d761
7340: 32 33 66 37 37 34 32 31 63 65 38 38 38 62 38 36  23f77421ce888b86
7350: 61 34 37 37 61 65 38 63 36 64 62 31 64 30 62 65  a477ae8c6db1d0be
7360: 38 64 33 32 36 64 32 32 63 38 35 32 39 31 35 61  8d326d22c852915a
7370: 62 30 33 63 30 63 38 31 61 35 62 37 61 63 37 31  b03c0c81a5b7ac71
7380: 65 32 63 31 34 65 37 34 62 64 61 31 37 61 37 38  e2c14e74bda17a78
7390: 64 32 62 31 30 35 38 35 66 61 32 31 34 66 36 35  d2b10585fa214f65
73a0: 34 36 65 62 37 31 30 61 30 0a 0a 74 63 6c 74 65  46eb710a0..tclte
73b0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
73c0: 41 35 31 32 2d 32 2e 37 36 20 7b 53 48 41 35 31  A512-2.76 {SHA51
73d0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
73e0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
73f0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
7400: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7410: 63 6f 64 65 20 68 65 78 20 32 30 66 31 30 65 66  code hex 20f10ef
7420: 39 61 30 65 36 31 32 38 36 37 35 33 34 30 31 37  9a0e612867534017
7430: 31 63 64 32 34 38 64 66 33 30 62 35 38 36 35 35  1cd248df30b58655
7440: 37 36 32 30 62 36 31 35 63 61 33 39 61 30 30 64  7620b615ca39a00d
7450: 62 35 33 34 33 31 35 61 39 30 31 32 64 62 64 62  b534315a9012dbdb
7460: 66 64 36 61 39 39 34 39 38 36 65 62 38 32 39 64  fd6a994986eb829d
7470: 62 65 36 63 64 61 66 33 61 33 37 64 34 66 35 39  be6cdaf3a37d4f59
7480: 61 63 32 37 32 39 38 37 34 32 63 38 66 37 37 37  ac27298742c8f777
7490: 62 36 62 31 32 36 37 37 66 32 31 65 62 32 38 39  b6b12677f21eb289
74a0: 31 32 39 35 37 39 38 36 38 37 30 35 66 32 37 5d  129579868705f27]
74b0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
74c0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
74d0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
74e0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
74f0: 61 63 74 20 2d 72 65 73 75 6c 74 20 62 34 65 61  act -result b4ea
7500: 64 33 66 38 36 30 65 61 62 62 64 33 36 63 37 37  d3f860eabbd36c77
7510: 30 64 36 36 63 37 33 35 36 66 38 31 30 37 61 63  0d66c7356f8107ac
7520: 64 31 34 38 35 63 37 63 39 34 31 37 38 63 32 65  d1485c7c94178c2e
7530: 61 61 62 64 35 30 32 36 36 64 37 36 34 35 64 30  aabd50266d7645d0
7540: 30 39 39 37 32 35 38 36 65 66 38 33 65 64 34 33  09972586ef83ed43
7550: 65 64 39 32 38 38 32 31 33 37 64 66 35 31 31 37  ed92882137df5117
7560: 62 38 38 66 33 35 32 33 31 62 38 39 34 65 63 31  b88f35231b894ec1
7570: 37 34 31 61 65 37 35 30 31 31 34 35 0a 0a 74 63  741ae7501145..tc
7580: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
7590: 5f 53 48 41 35 31 32 2d 32 2e 37 37 20 7b 53 48  _SHA512-2.77 {SH
75a0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
75b0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
75c0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
75d0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
75e0: 20 64 65 63 6f 64 65 20 68 65 78 20 39 39 35 63   decode hex 995c
75f0: 38 66 37 34 37 65 61 34 31 38 66 37 64 36 33 61  8f747ea418f7d63a
7600: 62 61 32 32 36 30 62 33 34 61 63 33 63 37 64 63  ba2260b34ac3c7dc
7610: 65 65 62 62 37 38 34 33 38 63 61 34 62 31 66 39  eebb78438ca4b1f9
7620: 38 32 62 37 64 62 39 37 39 38 65 63 31 61 37 66  82b7db9798ec1a7f
7630: 33 32 36 32 32 32 36 34 63 62 30 32 34 63 30 64  32622264cb024c0d
7640: 39 65 36 30 65 39 35 35 61 36 65 31 64 36 37 37  9e60e955a6e1d677
7650: 63 39 32 33 35 31 38 38 35 31 39 39 30 61 34 35  c923518851990a45
7660: 39 62 37 36 37 64 30 66 31 33 63 64 38 30 33 34  9b767d0f13cd8034
7670: 36 30 66 36 31 38 37 30 64 62 33 33 39 31 62 34  60f61870db3391b4
7680: 34 36 39 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  4693]} \..-body 
7690: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
76a0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
76b0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
76c0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
76d0: 20 61 30 30 61 36 30 31 65 64 65 61 63 61 38 33   a00a601edeaca83
76e0: 30 34 31 64 63 34 35 32 64 34 33 38 61 38 64 65  041dc452d438a8de
76f0: 35 34 39 35 39 34 65 32 35 64 38 34 33 63 32 63  549594e25d843c2c
7700: 66 36 30 61 30 65 30 30 39 66 62 39 32 64 38 37  f60a0e009fb92d87
7710: 61 62 65 32 38 61 37 32 36 39 30 61 62 36 35 37  abe28a72690ab657
7720: 63 38 64 33 35 62 34 33 63 64 30 32 64 32 32 65  c8d35b43cd02d22e
7730: 63 30 37 35 35 64 65 32 32 39 64 31 66 39 32 32  c0755de229d1f922
7740: 66 61 36 63 61 31 38 61 36 64 36 63 32 61 61 61  fa6ca18a6d6c2aaa
7750: 65 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  e..tcltest::test
7760: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 37   Hash_SHA512-2.7
7770: 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  8 {SHA512ShortMs
7780: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7790: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
77a0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
77b0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
77c0: 20 30 66 65 62 32 33 63 37 65 34 61 31 39 62 63   0feb23c7e4a19bc
77d0: 62 64 37 30 62 64 33 30 30 64 37 36 65 63 39 30  bd70bd300d76ec90
77e0: 34 35 64 36 39 36 66 38 63 39 36 38 37 66 34 39  45d696f8c9687f49
77f0: 65 63 34 31 35 34 34 30 30 65 32 33 31 64 32 66  ec4154400e231d2f
7800: 30 38 36 32 34 39 35 31 35 30 63 66 32 35 30 62  0862495150cf250b
7810: 36 66 31 32 66 31 37 32 61 37 64 31 33 30 66 38  6f12f172a7d130f8
7820: 66 61 35 64 31 37 35 62 66 32 66 32 35 65 32 38  fa5d175bf2f25e28
7830: 30 31 37 32 63 63 64 66 62 33 32 37 39 35 31 37  0172ccdfb3279517
7840: 30 31 31 36 35 33 30 32 37 32 38 61 36 31 39 61  01165302728a619a
7850: 61 32 66 32 34 32 36 33 31 63 39 5d 7d 20 5c 0a  a2f242631c9]} \.
7860: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
7870: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
7880: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
7890: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
78a0: 2d 72 65 73 75 6c 74 20 65 65 62 36 64 65 65 33  -result eeb6dee3
78b0: 30 63 31 31 39 66 62 31 65 31 65 62 35 63 31 35  0c119fb1e1eb5c15
78c0: 66 66 32 62 33 32 64 38 62 39 63 37 34 36 34 61  ff2b32d8b9c7464a
78d0: 34 65 34 63 63 36 38 31 35 63 64 32 35 31 61 36  4e4cc6815cd251a6
78e0: 62 61 65 32 39 62 34 39 39 36 31 64 64 35 63 32  bae29b49961dd5c2
78f0: 66 61 39 63 34 34 61 39 62 31 34 32 63 61 30 36  fa9c44a9b142ca06
7900: 32 63 37 30 37 32 63 62 66 33 64 62 30 34 32 39  2c7072cbf3db0429
7910: 39 62 37 36 37 37 38 39 30 34 30 31 39 36 62 66  9b767789040196bf
7920: 30 63 30 36 61 61 37 36 0a 0a 74 63 6c 74 65 73  0c06aa76..tcltes
7930: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
7940: 35 31 32 2d 32 2e 37 39 20 7b 53 48 41 35 31 32  512-2.79 {SHA512
7950: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
7960: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
7970: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
7980: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
7990: 6f 64 65 20 68 65 78 20 61 63 35 39 61 31 31 30  ode hex ac59a110
79a0: 36 32 33 66 31 61 36 34 36 36 36 66 31 36 30 65  623f1a64666f160e
79b0: 64 33 32 39 32 36 36 37 36 63 62 35 62 65 32 35  d32926676cb5be25
79c0: 64 64 39 64 39 36 32 66 34 34 31 39 35 31 62 30  dd9d962f441951b0
79d0: 65 66 63 62 35 64 36 61 36 37 61 63 31 61 34 65  efcb5d6a67ac1a4e
79e0: 61 65 34 37 33 65 34 39 63 36 32 35 37 38 36 30  ae473e49c6257860
79f0: 37 32 38 38 35 33 66 66 34 31 35 63 35 65 38 65  728853ff415c5e8e
7a00: 63 37 36 61 38 61 34 36 32 65 63 66 64 33 34 33  c76a8a462ecfd343
7a10: 65 65 61 63 32 32 64 61 64 38 32 30 37 32 32 63  eeac22dad820722c
7a20: 35 39 37 33 33 32 66 62 66 64 39 34 65 62 62 64  597332fbfd94ebbd
7a30: 33 32 63 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  32c6]} \..-body 
7a40: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
7a50: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
7a60: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
7a70: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
7a80: 20 66 36 35 65 61 39 34 32 61 65 30 61 34 37 65   f65ea942ae0a47e
7a90: 37 33 62 30 32 62 31 34 34 32 65 35 62 32 36 30  73b02b1442e5b260
7aa0: 38 33 64 62 37 39 33 30 37 66 36 34 64 64 33 34  83db79307f64dd34
7ab0: 61 30 33 39 63 34 37 36 66 61 66 31 38 64 35 63  a039c476faf18d5c
7ac0: 35 31 34 62 62 37 37 61 32 63 34 31 32 61 36 30  514bb77a2c412a60
7ad0: 37 34 61 37 61 66 63 33 32 36 65 61 36 36 63 37  74a7afc326ea66c7
7ae0: 34 65 35 37 30 35 66 65 32 61 62 62 61 62 66 32  4e5705fe2abbabf2
7af0: 37 34 33 33 33 33 32 35 61 31 35 62 36 31 66 64  74333325a15b61fd
7b00: 39 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  9..tcltest::test
7b10: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
7b20: 30 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  0 {SHA512ShortMs
7b30: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
7b40: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
7b50: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
7b60: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
7b70: 20 39 65 33 65 31 30 37 37 65 31 33 33 33 61 31   9e3e1077e1333a1
7b80: 66 62 31 61 61 36 33 33 63 63 66 32 66 37 34 36  fb1aa633ccf2f746
7b90: 35 38 38 61 64 34 32 36 34 38 39 65 61 30 38 64  588ad426489ea08d
7ba0: 66 66 35 35 31 31 34 33 38 62 35 66 34 63 30 62  ff5511438b5f4c0b
7bb0: 31 31 30 64 31 61 34 64 34 37 62 35 34 30 61 31  110d1a4d47b540a1
7bc0: 32 62 32 31 65 61 32 61 61 30 37 30 35 37 38 63  2b21ea2aa070578c
7bd0: 63 66 61 35 63 32 32 66 65 30 62 37 34 33 65 63  cfa5c22fe0b743ec
7be0: 30 63 63 36 32 31 63 36 62 33 61 30 33 62 37 35  0cc621c6b3a03b75
7bf0: 66 34 64 33 65 65 61 35 64 63 65 38 39 65 30 33  f4d3eea5dce89e03
7c00: 32 36 39 61 66 63 64 39 36 30 33 64 30 64 62 5d  269afcd9603d0db]
7c10: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
7c20: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
7c30: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
7c40: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
7c50: 61 63 74 20 2d 72 65 73 75 6c 74 20 34 62 35 63  act -result 4b5c
7c60: 35 64 66 38 30 63 33 34 34 63 31 32 33 38 38 63  5df80c344c12388c
7c70: 37 32 33 38 35 36 63 64 30 36 39 36 35 62 32 31  723856cd06965b21
7c80: 39 30 61 66 36 35 32 34 38 30 34 37 36 37 34 37  90af652480476747
7c90: 64 63 32 31 39 35 65 61 33 37 31 36 66 38 37 63  dc2195ea3716f87c
7ca0: 31 37 36 32 33 35 39 35 38 33 61 35 66 33 31 35  1762359583a5f315
7cb0: 32 32 66 38 33 66 37 38 33 33 62 65 63 33 30 66  22f83f7833bec30f
7cc0: 31 66 34 37 64 31 34 35 34 30 34 31 37 64 64 34  1f47d14540417dd4
7cd0: 36 33 66 35 64 32 35 38 63 64 34 61 0a 0a 74 63  63f5d258cd4a..tc
7ce0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
7cf0: 5f 53 48 41 35 31 32 2d 32 2e 38 31 20 7b 53 48  _SHA512-2.81 {SH
7d00: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
7d10: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
7d20: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
7d30: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
7d40: 20 64 65 63 6f 64 65 20 68 65 78 20 65 38 38 31   decode hex e881
7d50: 65 33 32 38 34 63 37 39 64 38 66 35 32 33 37 65  e3284c79d8f5237e
7d60: 36 39 39 65 34 66 62 63 61 38 34 30 39 30 63 36  699e4fbca84090c6
7d70: 36 34 62 62 35 33 32 32 39 66 35 38 63 62 30 38  64bb53229f58cb08
7d80: 34 32 62 30 34 33 36 37 31 30 63 39 62 33 32 39  42b0436710c9b329
7d90: 64 39 38 31 39 31 62 38 66 30 33 30 65 39 63 31  d98191b8f030e9c1
7da0: 64 66 38 39 62 30 33 38 35 38 63 31 35 36 39 63  df89b03858c1569c
7db0: 36 66 66 34 39 61 37 63 30 37 63 34 61 32 33 61  6ff49a7c07c4a23a
7dc0: 38 61 34 33 34 62 30 66 64 65 31 33 62 65 34 66  8a434b0fde13be4f
7dd0: 39 34 63 62 34 34 65 65 36 32 39 64 35 62 34 34  94cb44ee629d5b44
7de0: 64 33 33 36 30 39 30 64 33 64 65 36 5d 7d 20 5c  d336090d3de6]} \
7df0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
7e00: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
7e10: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -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 31 34 37 64 38 30 37   -result 147d807
7e40: 31 63 37 38 37 31 65 66 39 32 35 36 63 66 66 33  1c7871ef9256cff3
7e50: 32 61 61 36 33 65 61 30 33 31 34 30 34 66 61 35  2aa63ea031404fa5
7e60: 65 65 34 65 63 30 39 63 35 36 61 66 64 64 35 64  ee4ec09c56afdd5d
7e70: 61 39 31 39 62 30 63 63 38 34 61 39 64 33 35 64  a919b0cc84a9d35d
7e80: 31 34 32 63 34 31 37 37 31 35 32 30 33 33 31 36  142c417715203316
7e90: 30 31 31 63 63 36 32 30 63 64 36 38 35 35 62 62  011cc620cd6855bb
7ea0: 31 31 37 30 36 33 61 35 65 35 32 38 36 37 66 61  117063a5e52867fa
7eb0: 63 63 36 38 30 64 35 66 34 0a 0a 74 63 6c 74 65  cc680d5f4..tclte
7ec0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
7ed0: 41 35 31 32 2d 32 2e 38 32 20 7b 53 48 41 35 31  A512-2.82 {SHA51
7ee0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
7ef0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
7f00: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
7f10: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
7f20: 63 6f 64 65 20 68 65 78 20 65 35 38 35 32 31 30  code hex e585210
7f30: 39 38 39 31 31 35 30 33 64 65 38 34 33 31 31 33  98911503de843113
7f40: 38 37 64 33 37 35 63 32 35 39 32 39 65 36 65 35  87d375c25929e6e5
7f50: 35 30 37 36 65 62 36 39 33 34 66 64 38 66 32 62  5076eb6934fd8f2b
7f60: 31 62 62 37 62 39 36 36 37 66 62 64 37 36 64 35  1bb7b9667fbd76d5
7f70: 65 65 32 30 34 38 32 38 37 36 39 61 33 34 31 62  ee204828769a341b
7f80: 31 66 37 31 36 64 61 35 62 64 66 65 63 65 36 63  1f716da5bdfece6c
7f90: 36 32 61 39 66 34 64 34 66 39 38 38 32 36 37 66  62a9f4d4f988267f
7fa0: 63 65 31 66 35 36 31 35 35 34 30 64 62 65 33 37  ce1f5615540dbe37
7fb0: 35 33 32 34 65 65 66 36 30 37 63 39 31 30 64 39  5324eef607c910d9
7fc0: 37 36 62 34 35 61 35 65 61 35 66 5d 7d 20 5c 0a  76b45a5ea5f]} \.
7fd0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
7fe0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
7ff0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
8000: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
8010: 2d 72 65 73 75 6c 74 20 66 39 37 62 61 30 35 36  -result f97ba056
8020: 66 61 34 31 66 34 33 62 38 65 31 39 38 37 30 37  fa41f43b8e198707
8030: 32 61 30 39 65 38 32 38 63 37 31 63 35 66 66 36  2a09e828c71c5ff6
8040: 61 64 34 65 33 37 66 39 61 62 36 62 38 39 65 32  ad4e37f9ab6b89e2
8050: 61 30 37 38 39 33 33 64 64 32 33 30 35 32 66 61  a078933dd23052fa
8060: 37 32 63 36 36 31 35 62 36 31 33 39 30 34 32 35  72c6615b61390425
8070: 39 65 39 66 66 39 62 35 35 65 66 37 62 39 32 33  9e9ff9b55ef7b923
8080: 62 38 39 62 63 38 37 35 32 66 36 62 61 62 64 64  b89bc8752f6babdd
8090: 64 32 35 36 65 31 31 37 0a 0a 74 63 6c 74 65 73  d256e117..tcltes
80a0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
80b0: 35 31 32 2d 32 2e 38 33 20 7b 53 48 41 35 31 32  512-2.83 {SHA512
80c0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
80d0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
80e0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
80f0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
8100: 6f 64 65 20 68 65 78 20 33 37 39 36 63 66 35 31  ode hex 3796cf51
8110: 62 38 37 32 36 36 35 32 61 34 32 30 34 37 33 33  b8726652a4204733
8120: 62 38 66 62 62 30 34 37 63 66 30 30 66 62 39 31  b8fbb047cf00fb91
8130: 61 39 38 33 37 65 32 32 65 63 32 32 62 31 61 32  a9837e22ec22b1a2
8140: 36 38 66 38 38 65 32 63 39 66 31 33 33 65 35 66  68f88e2c9f133e5f
8150: 38 35 32 37 66 31 62 31 38 34 38 33 30 65 30 37  8527f1b184830e07
8160: 63 33 34 35 38 63 38 33 61 38 63 61 39 66 39 64  c3458c83a8ca9f9d
8170: 39 63 36 39 39 38 37 36 30 65 36 31 30 36 36 38  9c6998760e610668
8180: 62 61 30 66 32 32 65 32 32 62 36 35 36 61 37 33  ba0f22e22b656a73
8190: 37 65 39 37 38 62 32 34 36 61 31 37 38 34 30 62  7e978b246a17840b
81a0: 37 64 63 34 30 39 31 64 61 38 35 66 5d 7d 20 5c  7dc4091da85f]} \
81b0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
81c0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
81d0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
81e0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
81f0: 20 2d 72 65 73 75 6c 74 20 63 38 61 34 36 36 31   -result c8a4661
8200: 39 39 61 63 62 63 62 63 39 33 66 32 63 65 30 34  99acbcbc93f2ce04
8210: 32 39 36 38 35 30 38 63 30 34 36 39 30 31 36 33  2968508c04690163
8220: 31 65 33 31 31 38 61 32 64 30 62 66 33 39 61 39  1e3118a2d0bf39a9
8230: 62 34 32 62 34 31 39 37 61 33 37 39 62 33 61 38  b42b4197a379b3a8
8240: 36 63 64 65 63 61 39 64 66 32 64 65 31 61 33 65  6cdeca9df2de1a3e
8250: 62 37 31 62 37 39 61 65 39 62 66 32 64 36 35 37  b71b79ae9bf2d657
8260: 35 65 61 64 66 31 38 37 38 30 32 39 63 34 30 39  5eadf1878029c409
8270: 33 31 33 33 66 35 34 64 33 0a 0a 74 63 6c 74 65  3133f54d3..tclte
8280: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
8290: 41 35 31 32 2d 32 2e 38 34 20 7b 53 48 41 35 31  A512-2.84 {SHA51
82a0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
82b0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
82c0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
82d0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
82e0: 63 6f 64 65 20 68 65 78 20 39 61 66 36 30 38 64  code hex 9af608d
82f0: 30 33 31 63 63 66 33 30 39 64 37 32 37 33 63 36  031ccf309d7273c6
8300: 30 37 61 38 65 35 65 33 36 38 34 30 64 34 34 39  07a8e5e36840d449
8310: 62 35 35 64 62 35 62 31 33 66 30 33 61 65 62 39  b55db5b13f03aeb9
8320: 61 66 34 39 66 61 37 65 37 63 66 31 33 38 33 65  af49fa7e7cf1383e
8330: 65 32 65 64 39 63 35 61 38 62 37 35 31 35 66 31  e2ed9c5a8b7515f1
8340: 36 66 62 31 63 37 63 38 34 61 36 38 31 35 39 30  6fb1c7c84a681590
8350: 62 66 39 30 66 35 36 35 39 37 62 38 34 34 64 62  bf90f56597b844db
8360: 35 65 62 65 65 32 32 33 64 37 38 31 30 39 62 37  5ebee223d78109b7
8370: 32 33 35 30 37 37 32 66 37 63 37 32 65 61 39 39  2350772f7c72ea99
8380: 36 36 30 33 65 31 65 38 34 66 32 62 61 35 66 5d  6603e1e84f2ba5f]
8390: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
83a0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
83b0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
83c0: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
83d0: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 30 64 65  act -result f0de
83e0: 64 39 34 39 35 62 34 66 36 34 63 61 63 35 38 35  d9495b4f64cac585
83f0: 62 65 38 61 37 33 37 63 66 61 31 34 32 34 37 61  be8a737cfa14247a
8400: 34 61 38 31 63 64 66 37 66 30 31 65 62 63 62 31  4a81cdf7f01ebcb1
8410: 33 34 61 63 65 37 31 66 35 61 38 33 64 66 32 63  34ace71f5a83df2c
8420: 64 37 32 65 37 37 37 33 66 65 61 31 65 38 32 62  d72e7773fea1e82b
8430: 65 61 65 31 37 65 31 33 38 35 37 33 37 32 37 39  eae17e1385737279
8440: 32 63 38 32 33 31 65 32 61 62 39 66 62 65 62 36  2c8231e2ab9fbeb6
8450: 33 33 65 33 39 39 64 35 66 30 61 65 0a 0a 74 63  33e399d5f0ae..tc
8460: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
8470: 5f 53 48 41 35 31 32 2d 32 2e 38 35 20 7b 53 48  _SHA512-2.85 {SH
8480: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
8490: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
84a0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
84b0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
84c0: 20 64 65 63 6f 64 65 20 68 65 78 20 64 30 64 66   decode hex d0df
84d0: 31 62 64 66 31 64 66 36 32 30 33 32 34 31 37 32  1bdf1df620324172
84e0: 32 66 62 39 63 39 63 31 63 66 37 34 30 35 30 31  2fb9c9c1cf740501
84f0: 37 34 39 37 61 65 31 35 34 35 33 38 63 63 66 39  7497ae154538ccf9
8500: 32 32 34 61 64 37 35 32 65 36 63 65 31 64 34 61  224ad752e6ce1d4a
8510: 65 39 34 38 36 33 39 61 63 61 37 30 63 66 65 38  e948639aca70cfe8
8520: 36 62 32 62 30 36 35 34 33 63 62 39 39 31 34 65  6b2b06543cb9914e
8530: 62 64 33 30 38 35 61 61 33 65 32 39 36 33 66 36  bd3085aa3e2963f6
8540: 65 39 62 39 33 64 30 62 30 33 61 33 31 61 65 32  e9b93d0b03a31ae2
8550: 36 66 63 62 39 63 61 39 37 34 65 65 65 30 31 36  6fcb9ca974eee016
8560: 63 30 39 31 61 36 66 63 61 63 33 37 62 32 31 63  c091a6fcac37b21c
8570: 63 31 64 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  c1d7]} \..-body 
8580: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8590: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
85a0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
85b0: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
85c0: 20 63 32 64 61 33 65 61 33 63 38 61 33 66 64 38   c2da3ea3c8a3fd8
85d0: 38 61 35 62 63 35 64 65 61 32 62 63 30 37 36 66  8a5bc5dea2bc076f
85e0: 38 36 31 61 62 65 64 65 66 61 65 35 61 35 66 62  861abedefae5a5fb
85f0: 64 39 34 31 64 64 66 64 31 63 34 31 63 63 33 33  d941ddfd1c41cc33
8600: 31 32 65 62 32 64 63 38 32 36 63 32 63 30 66 36  12eb2dc826c2c0f6
8610: 35 34 31 34 66 65 37 32 65 62 65 65 34 34 37 64  5414fe72ebee447d
8620: 32 66 39 62 31 61 36 61 35 36 33 30 32 36 36 30  2f9b1a6a56302660
8630: 64 31 66 38 36 36 33 32 65 65 38 30 61 31 37 35  d1f86632ee80a175
8640: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
8650: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
8660: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
8670: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8680: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
8690: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
86a0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
86b0: 20 38 63 62 63 39 34 38 30 35 35 33 61 63 65 66   8cbc9480553acef
86c0: 37 62 63 64 62 61 39 37 31 36 65 61 38 64 36 36  7bcdba9716ea8d66
86d0: 62 34 31 33 31 37 38 30 39 31 37 64 65 32 62 30  b4131780917de2b0
86e0: 62 30 34 38 30 34 35 66 63 62 33 32 62 35 63 61  b048045fcb32b5ca
86f0: 63 30 35 34 38 30 38 65 31 66 63 65 36 65 39 34  c054808e1fce6e94
8700: 61 64 38 35 31 65 63 62 34 37 66 65 36 63 62 38  ad851ecb47fe6cb8
8710: 30 32 32 32 35 64 33 35 35 31 65 30 38 65 61 31  02225d3551e08ea1
8720: 32 32 30 39 33 64 30 30 37 38 64 61 64 61 35 36  22093d0078dada56
8730: 34 32 31 32 65 61 63 66 31 64 36 33 39 34 65 30  4212eacf1d6394e0
8740: 30 30 37 63 63 36 32 61 31 64 35 39 35 61 62 31  007cc62a1d595ab1
8750: 34 63 61 30 38 61 32 38 34 62 63 5d 7d 20 5c 0a  4ca08a284bc]} \.
8760: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
8770: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
8780: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
8790: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
87a0: 2d 72 65 73 75 6c 74 20 36 33 62 33 39 62 38 38  -result 63b39b88
87b0: 63 65 62 38 34 38 31 38 38 62 33 37 33 31 36 65  ceb848188b37316e
87c0: 30 34 35 36 30 65 37 35 61 35 33 34 30 61 62 38  04560e75a5340ab8
87d0: 64 34 31 37 39 33 32 64 32 33 31 63 39 39 37 65  d417932d231c997e
87e0: 38 39 32 62 34 31 64 61 61 36 39 64 39 66 65 33  892b41daa69d9fe3
87f0: 65 39 61 31 34 64 64 31 39 63 63 66 62 62 66 61  e9a14dd19ccfbbfa
8800: 30 31 34 38 38 63 32 30 38 65 37 62 39 34 36 63  01488c208e7b946c
8810: 66 61 66 31 36 63 61 32 62 31 62 66 37 63 38 64  faf16ca2b1bf7c8d
8820: 38 64 61 34 65 36 62 32 0a 0a 74 63 6c 74 65 73  8da4e6b2..tcltes
8830: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
8840: 35 31 32 2d 32 2e 38 37 20 7b 53 48 41 35 31 32  512-2.87 {SHA512
8850: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
8860: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
8870: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
8880: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
8890: 6f 64 65 20 68 65 78 20 33 38 66 31 38 34 34 34  ode hex 38f18444
88a0: 38 66 33 63 66 38 32 61 35 34 63 61 66 63 35 35  8f3cf82a54cafc55
88b0: 36 61 66 66 33 33 36 66 32 33 66 39 31 34 39 65  6aff336f23f9149e
88c0: 36 31 32 31 33 34 62 33 66 63 30 30 63 38 61 35  612134b3fc00c8a5
88d0: 36 34 35 35 36 35 33 64 38 38 36 34 30 62 31 32  6455653d88640b12
88e0: 66 36 39 30 36 32 62 38 34 33 32 63 34 33 33 35  f69062b8432c4335
88f0: 61 64 38 66 37 61 62 34 66 66 36 36 63 62 37 65  ad8f7ab4ff66cb7e
8900: 62 35 34 66 33 33 32 35 36 31 61 33 36 66 30 32  b54f332561a36f02
8910: 34 64 39 32 63 33 65 32 36 32 37 36 66 34 66 64  4d92c3e26276f4fd
8920: 34 38 36 31 39 36 32 38 63 66 66 38 38 65 34 62  48619628cff88e4b
8930: 38 65 38 35 63 66 31 34 63 61 34 37 36 37 65 64  8e85cf14ca4767ed
8940: 39 39 30 64 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  990d]} \..-body 
8950: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
8960: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
8970: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
8980: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
8990: 20 39 61 34 39 32 36 35 66 63 36 34 31 63 35 39   9a49265fc641c59
89a0: 66 31 61 39 31 38 37 32 63 64 61 65 34 39 30 64  f1a91872cdae490d
89b0: 33 64 61 37 33 63 30 63 36 30 66 64 35 39 36 34  3da73c0c60fd5964
89c0: 38 65 31 64 31 37 64 62 61 31 61 36 34 37 61 35  8e1d17dba1a647a5
89d0: 62 39 35 36 32 39 33 39 32 62 62 34 66 66 35 31  b95629392bb4ff51
89e0: 36 33 64 31 61 33 63 62 34 35 34 32 37 63 31 34  63d1a3cb45427c14
89f0: 33 37 61 33 62 32 65 31 64 39 66 30 33 30 63 30  37a3b2e1d9f030c0
8a00: 61 38 62 63 63 35 65 64 32 32 64 61 39 65 32 65  a8bcc5ed22da9e2e
8a10: 64 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  d..tcltest::test
8a20: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 38   Hash_SHA512-2.8
8a30: 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  8 {SHA512ShortMs
8a40: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
8a50: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
8a60: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
8a70: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
8a80: 20 37 30 39 30 30 36 31 38 62 31 65 39 65 39 64   70900618b1e9e9d
8a90: 62 36 32 32 39 36 66 62 36 63 36 35 39 30 63 39  b62296fb6c6590c9
8aa0: 66 31 30 62 30 61 36 33 32 37 36 35 63 34 38 39  f10b0a632765c489
8ab0: 63 38 38 37 66 31 61 62 37 63 30 37 37 39 31 37  c887f1ab7c077917
8ac0: 36 35 61 36 32 65 33 38 34 36 35 65 31 62 65 32  65a62e38465e1be2
8ad0: 38 31 62 31 64 33 39 36 63 36 65 30 38 30 62 37  81b1d396c6e080b7
8ae0: 65 65 33 65 36 66 61 35 36 61 33 30 62 39 37 39  ee3e6fa56a30b979
8af0: 39 64 30 65 36 32 39 62 65 31 35 33 65 65 37 36  9d0e629be153ee76
8b00: 66 38 31 62 63 36 61 33 32 39 35 61 61 36 31 34  f81bc6a3295aa614
8b10: 38 39 62 66 61 38 37 64 35 33 61 38 61 64 32 34  89bfa87d53a8ad24
8b20: 32 34 38 61 36 65 64 65 30 64 66 63 66 65 39 5d  248a6ede0dfcfe9]
8b30: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
8b40: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
8b50: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
8b60: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
8b70: 61 63 74 20 2d 72 65 73 75 6c 74 20 31 63 38 63  act -result 1c8c
8b80: 33 33 35 37 66 66 31 66 38 64 36 61 63 34 64 65  3357ff1f8d6ac4de
8b90: 66 62 33 61 66 34 36 32 61 37 33 65 30 39 31 35  fb3af462a73e0915
8ba0: 39 65 33 61 32 30 63 36 35 30 36 65 64 64 38 63  9e3a20c6506edd8c
8bb0: 64 33 30 35 32 64 66 39 34 31 63 38 31 66 36 38  d3052df941c81f68
8bc0: 63 35 66 62 62 38 39 33 39 31 32 36 31 39 65 32  c5fbb893912619e2
8bd0: 38 36 34 30 39 37 37 66 65 38 65 61 61 65 38 65  8640977fe8eaae8e
8be0: 39 64 35 64 34 65 37 64 35 66 31 33 32 35 35 32  9d5d4e7d5f132552
8bf0: 63 65 66 61 62 34 35 34 30 62 61 63 0a 0a 74 63  cefab4540bac..tc
8c00: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
8c10: 5f 53 48 41 35 31 32 2d 32 2e 38 39 20 7b 53 48  _SHA512-2.89 {SH
8c20: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
8c30: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
8c40: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
8c50: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
8c60: 20 64 65 63 6f 64 65 20 68 65 78 20 34 65 36 64   decode hex 4e6d
8c70: 64 61 65 30 64 38 30 35 61 66 63 64 31 30 61 30  dae0d805afcd10a0
8c80: 35 35 62 63 65 35 38 34 63 38 34 38 64 30 35 30  55bce584c848d050
8c90: 66 62 32 39 66 65 38 66 31 63 36 34 62 31 38 65  fb29fe8f1c64b18e
8ca0: 31 61 62 66 65 34 36 62 36 35 37 38 32 65 36 66  1abfe46b65782e6f
8cb0: 66 35 33 36 65 38 39 64 38 64 34 30 39 32 38 62  f536e89d8d40928b
8cc0: 34 31 65 64 37 33 37 31 33 36 35 63 38 30 38 30  41ed7371365c8080
8cd0: 61 39 36 34 37 66 37 35 33 32 63 65 36 63 36 64  a9647f7532ce6c6d
8ce0: 34 61 63 32 31 63 66 62 30 63 38 30 32 30 37 38  4ac21cfb0c802078
8cf0: 33 38 35 31 65 63 39 61 37 64 62 63 33 39 34 38  3851ec9a7dbc3948
8d00: 66 38 66 63 61 37 61 64 66 38 62 32 61 37 38 63  f8fca7adf8b2a78c
8d10: 30 34 64 38 39 38 64 33 31 66 66 36 5d 7d 20 5c  04d898d31ff6]} \
8d20: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
8d30: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
8d40: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
8d50: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
8d60: 20 2d 72 65 73 75 6c 74 20 35 63 32 66 39 39 36   -result 5c2f996
8d70: 63 37 37 39 62 39 31 62 33 63 34 36 33 39 33 31  c779b91b3c463931
8d80: 31 66 35 34 66 61 62 62 64 64 65 37 65 32 32 31  1f54fabbdde7e221
8d90: 32 62 35 33 64 62 61 65 34 38 32 38 63 38 33 39  2b53dbae4828c839
8da0: 39 35 38 38 66 63 30 30 64 33 62 32 61 65 36 30  9588fc00d3b2ae60
8db0: 39 31 38 61 61 61 66 36 62 62 34 38 62 63 37 35  918aaaf6bb48bc75
8dc0: 37 65 35 32 62 32 62 63 65 61 38 34 66 35 64 31  7e52b2bcea84f5d1
8dd0: 35 62 66 34 65 63 32 35 64 35 35 31 39 66 62 35  5bf4ec25d5519fb5
8de0: 34 66 36 66 32 36 65 31 62 0a 0a 74 63 6c 74 65  4f6f26e1b..tclte
8df0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
8e00: 41 35 31 32 2d 32 2e 39 30 20 7b 53 48 41 35 31  A512-2.90 {SHA51
8e10: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
8e20: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
8e30: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
8e40: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
8e50: 63 6f 64 65 20 68 65 78 20 36 39 36 38 32 35 66  code hex 696825f
8e60: 36 64 36 65 61 38 31 37 33 65 63 34 37 64 30 39  6d6ea8173ec47d09
8e70: 35 39 61 34 30 31 63 34 64 64 66 36 39 66 38 66  59a401c4ddf69f8f
8e80: 30 38 64 64 64 36 37 38 61 34 64 32 66 66 39 37  08ddd678a4d2ff97
8e90: 36 65 33 61 34 33 37 32 62 62 33 39 66 34 31 35  6e3a4372bb39f415
8ea0: 39 38 34 35 63 62 36 33 35 38 35 65 31 64 34 31  9845cb63585e1d41
8eb0: 30 38 64 33 32 65 31 32 66 61 37 63 35 63 39 64  08d32e12fa7c5c9d
8ec0: 37 63 65 33 35 30 38 61 37 66 35 33 61 63 61 32  7ce3508a7f53aca2
8ed0: 62 34 62 64 39 35 31 61 64 62 63 64 38 39 38 34  b4bd951adbcd8984
8ee0: 65 62 62 37 35 33 36 35 36 33 66 35 38 38 34 63  ebb7536563f5884c
8ef0: 39 30 62 63 35 30 32 33 62 33 33 31 36 66 37 65  90bc5023b3316f7e
8f00: 34 64 63 36 39 35 38 66 37 34 33 5d 7d 20 5c 0a  4dc6958f743]} \.
8f10: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
8f20: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
8f30: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
8f40: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
8f50: 2d 72 65 73 75 6c 74 20 33 63 65 39 34 30 63 61  -result 3ce940ca
8f60: 39 36 62 30 30 30 31 31 33 37 35 64 61 61 39 35  96b00011375daa95
8f70: 63 36 35 66 36 36 39 30 37 64 36 39 62 33 65 62  c65f66907d69b3eb
8f80: 33 62 38 64 37 37 39 65 36 66 63 39 37 31 61 66  3b8d779e6fc971af
8f90: 63 63 30 35 65 39 39 30 62 63 34 63 35 34 31 66  cc05e990bc4c541f
8fa0: 34 33 34 35 39 30 66 36 62 31 38 62 36 38 63 30  434590f6b18b68c0
8fb0: 38 30 64 30 66 32 34 34 37 35 61 33 65 37 36 34  80d0f24475a3e764
8fc0: 65 39 63 62 38 35 33 34 33 33 30 31 33 31 34 65  e9cb85343301314e
8fd0: 65 32 66 62 36 36 31 65 0a 0a 74 63 6c 74 65 73  e2fb661e..tcltes
8fe0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
8ff0: 35 31 32 2d 32 2e 39 31 20 7b 53 48 41 35 31 32  512-2.91 {SHA512
9000: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
9010: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
9020: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
9030: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
9040: 6f 64 65 20 68 65 78 20 37 39 65 63 64 66 64 34  ode hex 79ecdfd4
9050: 37 61 32 39 61 37 34 32 32 30 61 35 32 38 31 39  7a29a74220a52819
9060: 63 65 34 35 38 39 37 34 37 66 32 62 33 30 62 33  ce4589747f2b30b3
9070: 36 34 64 30 38 35 32 63 63 65 35 32 66 39 31 65  64d0852cce52f91e
9080: 34 66 30 66 34 38 65 36 31 63 37 32 66 61 37 36  4f0f48e61c72fa76
9090: 62 36 30 64 33 30 30 32 63 61 65 38 39 64 66 63  b60d3002cae89dfc
90a0: 35 35 31 39 64 33 34 33 30 62 39 35 63 30 39 38  5519d3430b95c098
90b0: 66 61 34 36 37 38 35 31 36 62 35 65 33 35 35 31  fa4678516b5e3551
90c0: 30 39 65 61 39 62 33 37 34 35 61 61 34 31 64 36  09ea9b3745aa41d6
90d0: 66 38 32 30 36 65 65 36 34 61 65 37 32 30 66 38  f8206ee64ae720f8
90e0: 64 34 34 36 35 33 62 30 30 31 30 35 37 66 32 65  d44653b001057f2e
90f0: 62 61 37 66 36 33 63 64 34 32 66 39 5d 7d 20 5c  ba7f63cd42f9]} \
9100: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
9110: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
9120: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
9130: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
9140: 20 2d 72 65 73 75 6c 74 20 62 61 33 64 30 66 65   -result ba3d0fe
9150: 30 34 34 37 30 66 34 63 66 38 66 30 38 63 34 36  04470f4cf8f08c46
9160: 64 38 32 61 65 33 61 66 64 31 63 61 65 61 38 63  d82ae3afd1caea8c
9170: 31 33 62 65 62 62 65 30 32 36 62 35 63 31 37 37  13bebbe026b5c177
9180: 37 61 61 35 39 38 36 30 61 66 32 65 33 64 61 37  7aa59860af2e3da7
9190: 37 35 31 38 34 34 65 30 62 65 32 34 30 37 32 61  751844e0be24072a
91a0: 66 34 38 62 63 38 61 36 66 64 37 37 36 37 38 61  f48bc8a6fd77678a
91b0: 61 65 65 30 34 65 30 38 66 36 33 33 39 35 66 35  aee04e08f63395f5
91c0: 63 38 61 34 36 35 37 36 33 0a 0a 74 63 6c 74 65  c8a465763..tclte
91d0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
91e0: 41 35 31 32 2d 32 2e 39 32 20 7b 53 48 41 35 31  A512-2.92 {SHA51
91f0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
9200: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
9210: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
9220: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
9230: 63 6f 64 65 20 68 65 78 20 39 32 36 33 66 65 37  code hex 9263fe7
9240: 35 65 38 66 36 63 37 64 35 64 36 34 32 65 32 63  5e8f6c7d5d642e2c
9250: 61 36 61 36 65 65 61 34 66 34 34 65 39 61 30 66  a6a6eea4f44e9a0f
9260: 32 34 39 35 31 33 65 64 37 39 63 39 34 30 39 66  249513ed79c9409f
9270: 66 63 61 35 35 32 36 63 61 34 34 39 31 61 65 62  fca5526ca4491aeb
9280: 62 31 33 38 32 30 35 37 63 63 37 63 33 36 37 32  b1382057cc7c3672
9290: 32 62 30 62 36 63 33 62 31 35 31 32 33 63 64 65  2b0b6c3b15123cde
92a0: 33 31 32 32 31 34 66 32 35 33 35 33 61 62 66 65  312214f25353abfe
92b0: 33 30 62 63 61 31 37 30 35 36 38 61 38 65 31 62  30bca170568a8e1b
92c0: 61 35 34 30 38 39 31 37 34 30 33 61 30 31 38 33  a5408917403a0183
92d0: 34 30 38 30 61 62 36 30 37 63 35 36 61 31 30 64  4080ab607c56a10d
92e0: 30 32 36 35 30 38 32 34 39 38 66 65 30 62 36 5d  0265082498fe0b6]
92f0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9300: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9310: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
9320: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
9330: 61 63 74 20 2d 72 65 73 75 6c 74 20 37 37 33 36  act -result 7736
9340: 64 37 61 37 66 63 31 65 62 30 35 38 35 37 63 65  d7a7fc1eb05857ce
9350: 37 64 38 38 61 62 66 66 66 61 38 37 66 35 38 63  7d88abfffa87f58c
9360: 36 37 30 62 66 64 66 63 30 61 38 30 33 31 66 36  670bfdfc0a8031f6
9370: 30 66 33 37 39 65 34 62 36 61 64 39 34 61 63 38  0f379e4b6ad94ac8
9380: 66 31 33 66 66 65 32 38 63 36 39 37 38 30 39 62  f13ffe28c697809b
9390: 35 63 66 61 63 37 66 31 33 62 65 30 31 65 37 34  5cfac7f13be01e74
93a0: 39 36 61 38 35 32 33 37 63 34 30 32 35 35 33 39  96a85237c4025539
93b0: 30 35 31 66 62 32 65 33 32 66 62 36 0a 0a 74 63  051fb2e32fb6..tc
93c0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
93d0: 5f 53 48 41 35 31 32 2d 32 2e 39 33 20 7b 53 48  _SHA512-2.93 {SH
93e0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
93f0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
9400: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
9410: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
9420: 20 64 65 63 6f 64 65 20 68 65 78 20 37 38 63 31   decode hex 78c1
9430: 37 62 66 65 30 65 30 32 65 62 35 32 36 64 31 61  7bfe0e02eb526d1a
9440: 34 34 61 31 61 63 31 32 37 62 65 30 38 32 31 38  44a1ac127be08218
9450: 31 34 35 32 62 36 32 35 33 39 34 62 64 36 64 63  1452b625394bd6dc
9460: 30 39 33 61 32 63 62 34 33 32 65 36 65 65 35 39  093a2cb432e6ee59
9470: 63 32 66 38 62 35 35 30 33 61 62 61 33 30 64 61  c2f8b5503aba30da
9480: 65 34 31 65 31 61 31 63 36 37 30 32 36 39 37 63  e41e1a1c6702697c
9490: 39 39 62 32 63 39 34 65 39 34 61 66 34 38 62 30  99b2c94e94af48b0
94a0: 30 63 61 66 35 33 62 32 65 30 65 34 65 31 62 62  0caf53b2e0e4e1bb
94b0: 65 65 38 31 65 65 32 38 32 63 37 62 32 62 33 35  ee81ee282c7b2b35
94c0: 66 35 38 63 66 34 32 31 61 30 37 65 38 32 38 64  f58cf421a07e828d
94d0: 35 37 61 36 36 32 32 36 32 36 61 66 32 35 38 33  57a6622626af2583
94e0: 35 33 39 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  5399]} \..-body 
94f0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
9500: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
9510: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
9520: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
9530: 20 62 35 36 62 36 65 33 34 33 31 36 36 33 32 38   b56b6e343166328
9540: 35 32 33 65 30 64 31 36 39 33 65 35 31 37 34 64  523e0d1693e5174d
9550: 61 36 34 33 61 65 38 33 63 66 36 39 63 38 35 61  a643ae83cf69c85a
9560: 37 62 33 63 33 62 65 65 32 34 37 62 37 37 62 38  7b3c3bee247b77b8
9570: 34 37 30 32 30 36 39 64 39 65 36 62 34 63 61 62  4702069d9e6b4cab
9580: 30 33 62 66 31 37 66 65 36 31 32 30 30 39 62 66  03bf17fe612009bf
9590: 34 32 33 39 36 38 33 63 61 37 38 63 61 37 65 38  4239683ca78ca7e8
95a0: 37 36 61 63 61 37 64 30 37 36 30 33 62 61 37 31  76aca7d07603ba71
95b0: 34 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  4..tcltest::test
95c0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 39   Hash_SHA512-2.9
95d0: 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  4 {SHA512ShortMs
95e0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
95f0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
9600: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
9610: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
9620: 20 32 39 38 62 62 33 30 34 61 39 32 30 66 39 36   298bb304a920f96
9630: 30 34 34 37 64 38 66 64 33 38 62 30 36 31 62 66  0447d8fd38b061bf
9640: 38 66 65 34 61 63 31 66 38 37 31 64 38 61 30 66  8fe4ac1f871d8a0f
9650: 65 62 34 35 34 39 66 65 62 37 32 63 61 36 39 34  eb4549feb72ca694
9660: 61 35 61 34 31 62 36 38 36 37 64 39 34 63 64 35  a5a41b6867d94cd5
9670: 61 66 37 37 64 34 36 38 61 64 32 66 33 31 35 64  af77d468ad2f315d
9680: 31 32 37 62 36 63 34 31 61 38 36 32 38 30 30 66  127b6c41a862800f
9690: 33 39 38 35 65 35 37 33 65 30 33 37 37 34 30 32  3985e573e0377402
96a0: 39 38 65 32 63 35 63 36 31 38 36 61 39 66 62 38  98e2c5c6186a9fb8
96b0: 33 36 30 39 62 65 32 64 34 39 66 38 62 34 63 33  3609be2d49f8b4c3
96c0: 31 66 39 36 61 32 65 34 39 62 35 36 64 62 66 30  1f96a2e49b56dbf0
96d0: 39 35 37 31 62 33 38 35 38 37 66 5d 7d 20 5c 0a  9571b38587f]} \.
96e0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
96f0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
9700: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
9710: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
9720: 2d 72 65 73 75 6c 74 20 33 34 65 33 38 37 38 36  -result 34e38786
9730: 32 37 39 30 34 66 66 62 62 62 64 38 35 32 36 36  27904ffbbbd85266
9740: 63 63 39 37 33 63 33 34 66 39 33 31 65 33 63 61  cc973c34f931e3ca
9750: 62 35 64 34 63 33 31 66 38 34 31 63 35 35 33 64  b5d4c31f841c553d
9760: 64 36 39 66 38 34 38 33 38 32 30 36 30 36 37 64  d69f84838206067d
9770: 66 34 66 39 66 33 62 39 31 30 32 30 30 31 62 65  f4f9f3b9102001be
9780: 31 39 32 36 37 31 35 31 65 36 37 33 66 35 63 32  19267151e673f5c2
9790: 64 34 63 32 66 38 34 33 38 61 36 39 39 39 61 30  d4c2f8438a6999a0
97a0: 61 33 32 35 34 38 37 64 0a 0a 74 63 6c 74 65 73  a325487d..tcltes
97b0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
97c0: 35 31 32 2d 32 2e 39 35 20 7b 53 48 41 35 31 32  512-2.95 {SHA512
97d0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
97e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
97f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
9800: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
9810: 6f 64 65 20 68 65 78 20 61 33 63 66 37 31 34 62  ode hex a3cf714b
9820: 66 31 31 32 36 34 37 65 37 32 37 65 38 63 66 64  f112647e727e8cfd
9830: 34 36 34 39 39 61 63 64 33 35 61 36 34 30 64 64  46499acd35a640dd
9840: 33 39 33 64 64 64 32 36 33 63 64 38 35 63 66 36  393ddd263cd85cf6
9850: 32 32 35 66 35 39 38 39 30 61 30 36 38 36 64 61  225f59890a0686da
9860: 64 31 63 35 34 65 62 38 64 38 30 39 62 38 31 63  d1c54eb8d809b81c
9870: 30 38 61 39 38 64 62 61 31 33 31 62 62 64 64 36  08a98dba131bbdd6
9880: 66 63 65 38 66 66 35 39 64 39 35 64 62 38 32 34  fce8ff59d95db824
9890: 64 38 38 33 31 65 61 34 38 30 35 32 39 64 61 37  d8831ea480529da7
98a0: 33 39 32 32 37 61 36 65 30 66 36 32 62 36 30 33  39227a6e0f62b603
98b0: 62 33 38 63 33 35 63 64 63 32 35 38 31 66 36 31  b38c35cdc2581f61
98c0: 34 61 33 31 38 37 39 62 38 62 65 35 34 61 65 65  4a31879b8be54aee
98d0: 66 61 61 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  faa0]} \..-body 
98e0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
98f0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
9900: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
9910: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
9920: 20 36 66 32 33 30 61 65 34 39 30 33 64 64 62 65   6f230ae4903ddbe
9930: 66 30 62 61 33 38 34 63 32 65 33 35 30 36 65 61  f0ba384c2e3506ea
9940: 62 33 31 38 62 66 64 31 61 34 36 65 61 37 36 30  b318bfd1a46ea760
9950: 39 39 66 36 35 61 33 66 64 35 32 39 63 39 31 62  99f65a3fd529c91b
9960: 63 32 38 36 35 62 39 66 64 39 34 33 65 33 34 36  c2865b9fd943e346
9970: 64 65 36 34 36 32 36 62 38 35 32 39 66 39 64 62  de64626b8529f9db
9980: 31 33 37 37 62 66 32 63 35 65 30 31 32 39 63 36  1377bf2c5e0129c6
9990: 36 62 35 30 63 36 61 35 63 66 62 33 36 34 62 33  6b50c6a5cfb364b3
99a0: 61 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  a..tcltest::test
99b0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 39   Hash_SHA512-2.9
99c0: 36 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73  6 {SHA512ShortMs
99d0: 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e  g} \..-constrain
99e0: 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65  ts SHA512 \..-se
99f0: 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62  tup {set data [b
9a00: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
9a10: 20 30 61 34 32 37 61 65 35 35 65 66 33 61 37 65   0a427ae55ef3a7e
9a20: 36 30 34 34 61 30 38 63 66 36 31 32 38 63 62 61  6044a08cf6128cba
9a30: 61 61 62 66 64 37 37 36 63 34 65 39 33 37 34 37  aabfd776c4e93747
9a40: 30 38 66 32 65 63 65 32 34 36 66 64 37 33 36 30  08f2ece246fd7360
9a50: 33 64 32 66 35 34 61 63 33 65 30 31 64 31 36 63  3d2f54ac3e01d16c
9a60: 66 61 63 32 62 64 61 66 37 31 33 39 32 30 64 36  fac2bdaf713920d6
9a70: 36 65 38 66 30 61 33 64 35 34 65 65 36 38 63 66  6e8f0a3d54ee68cf
9a80: 66 36 34 32 36 37 64 35 35 32 38 63 64 66 32 66  f64267d5528cdf2f
9a90: 32 39 35 66 34 37 34 64 31 30 66 38 31 31 37 33  295f474d10f81173
9aa0: 65 30 31 34 33 34 38 38 61 63 35 33 66 63 35 30  e0143488ac53fc50
9ab0: 33 63 34 34 34 65 64 32 33 64 65 63 36 33 61 30  3c444ed23dec63a0
9ac0: 38 30 63 65 39 30 63 32 34 34 33 64 62 61 38 5d  80ce90c2443dba8]
9ad0: 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a  } \..-body {tls:
9ae0: 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20  :digest -digest 
9af0: 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61  SHA512 -data $da
9b00: 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78  ta} \..-match ex
9b10: 61 63 74 20 2d 72 65 73 75 6c 74 20 66 36 62 62  act -result f6bb
9b20: 65 35 64 30 63 66 31 33 64 64 66 34 31 63 31 34  e5d0cf13ddf41c14
9b30: 33 36 37 34 38 61 35 64 31 63 63 61 65 32 39 34  36748a5d1ccae294
9b40: 38 35 34 37 62 34 35 32 63 32 31 37 31 63 37 63  8547b452c2171c7c
9b50: 38 65 38 62 36 36 63 36 61 65 34 64 65 33 63 30  8e8b66c6ae4de3c0
9b60: 65 38 62 32 39 36 32 62 63 62 36 30 64 33 64 65  e8b2962bcb60d3de
9b70: 33 36 30 38 34 37 39 66 38 30 65 34 35 35 63 39  3608479f80e455c9
9b80: 30 32 34 64 39 37 31 36 63 33 38 66 36 66 31 32  024d9716c38f6f12
9b90: 30 36 38 36 31 61 62 31 65 61 61 63 0a 0a 74 63  06861ab1eaac..tc
9ba0: 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68  ltest::test Hash
9bb0: 5f 53 48 41 35 31 32 2d 32 2e 39 37 20 7b 53 48  _SHA512-2.97 {SH
9bc0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
9bd0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
9be0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
9bf0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
9c00: 20 64 65 63 6f 64 65 20 68 65 78 20 32 63 62 62   decode hex 2cbb
9c10: 62 38 37 35 31 31 66 34 39 34 38 65 66 65 63 33  b87511f4948efec3
9c20: 61 36 31 62 35 31 31 65 64 65 64 62 31 64 64 61  a61b511ededb1dda
9c30: 38 62 36 65 63 66 63 30 32 31 30 63 31 31 65 34  8b6ecfc0210c11e4
9c40: 33 61 37 37 65 65 33 32 64 63 32 65 33 37 34 61  3a77ee32dc2e374a
9c50: 66 61 65 34 32 36 38 65 33 64 33 30 34 32 37 38  fae4268e3d304278
9c60: 30 34 38 36 38 32 33 32 61 39 36 36 62 35 36 30  04868232a966b560
9c70: 30 36 64 33 32 31 34 30 33 37 30 37 36 62 66 36  06d3214037076bf6
9c80: 61 32 36 35 62 37 32 31 33 35 61 66 30 66 62 32  a265b72135af0fb2
9c90: 65 66 37 39 30 39 66 65 61 32 64 65 61 34 31 32  ef7909fea2dea412
9ca0: 66 37 37 31 37 34 34 36 62 32 37 36 66 66 31 35  f7717446b276ff15
9cb0: 33 37 35 33 36 36 32 62 34 64 34 31 34 38 63 30  3753662b4d4148c0
9cc0: 32 33 34 37 65 33 32 35 39 31 36 39 5d 7d 20 5c  2347e3259169]} \
9cd0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
9ce0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
9cf0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
9d00: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
9d10: 20 2d 72 65 73 75 6c 74 20 37 36 38 39 37 62 38   -result 76897b8
9d20: 37 61 38 61 31 63 66 38 33 35 63 34 33 34 66 36  7a8a1cf835c434f6
9d30: 64 33 39 31 63 39 65 35 32 32 37 33 35 31 61 66  d391c9e5227351af
9d40: 39 64 33 65 32 30 61 33 33 38 39 63 37 39 36 62  9d3e20a3389c796b
9d50: 39 38 62 34 32 34 32 38 31 61 35 39 30 36 38 64  98b424281a59068d
9d60: 39 63 38 64 35 36 37 65 63 32 62 65 62 63 34 33  9c8d567ec2bebc43
9d70: 35 62 30 31 32 36 62 30 35 39 65 32 64 38 36 33  5b0126b059e2d863
9d80: 39 34 61 39 38 35 34 64 36 36 31 31 65 31 63 39  94a9854d6611e1c9
9d90: 32 32 66 33 38 35 34 39 36 0a 0a 74 63 6c 74 65  22f385496..tclte
9da0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
9db0: 41 35 31 32 2d 32 2e 39 38 20 7b 53 48 41 35 31  A512-2.98 {SHA51
9dc0: 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63  2ShortMsg} \..-c
9dd0: 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31  onstraints SHA51
9de0: 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74  2 \..-setup {set
9df0: 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65   data [binary de
9e00: 63 6f 64 65 20 68 65 78 20 32 62 32 33 33 32 34  code hex 2b23324
9e10: 63 39 39 39 32 66 36 30 61 37 66 63 30 31 30 31  c9992f60a7fc0101
9e20: 35 39 61 30 33 63 62 39 61 32 62 32 39 30 64 66  59a03cb9a2b290df
9e30: 34 66 61 36 61 38 32 33 35 39 62 39 61 66 36 30  4fa6a82359b9af60
9e40: 32 66 30 61 34 30 33 61 35 65 66 33 33 65 64 35  2f0a403a5ef33ed5
9e50: 64 61 35 62 32 63 61 66 38 37 62 37 37 65 36 61  da5b2caf87b77e6a
9e60: 34 62 39 33 62 36 35 30 33 34 38 63 65 32 61 37  4b93b650348ce2a7
9e70: 64 62 63 30 38 66 38 64 61 39 32 30 33 64 37 31  dbc08f8da9203d71
9e80: 30 62 35 38 37 62 61 35 39 34 37 63 36 35 65 38  0b587ba5947c65e8
9e90: 39 39 66 34 61 37 35 39 66 38 65 32 62 30 34 39  99f4a759f8e2b049
9ea0: 61 65 37 38 35 30 61 38 65 33 65 32 39 36 32 66  ae7850a8e3e2962f
9eb0: 36 65 66 39 33 65 61 34 63 36 33 31 64 65 35 64  6ef93ea4c631de5d
9ec0: 37 38 65 37 32 39 65 63 35 62 63 5d 7d 20 5c 0a  78e729ec5bc]} \.
9ed0: 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67  .-body {tls::dig
9ee0: 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35  est -digest SHA5
9ef0: 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20  12 -data $data} 
9f00: 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20  \..-match exact 
9f10: 2d 72 65 73 75 6c 74 20 33 62 65 65 61 30 62 33  -result 3beea0b3
9f20: 37 33 65 64 30 39 63 66 31 63 39 31 39 63 35 31  73ed09cf1c919c51
9f30: 64 38 36 64 36 34 32 63 39 31 32 35 65 30 65 65  d86d642c9125e0ee
9f40: 38 31 36 39 38 64 63 34 63 62 61 64 66 30 32 65  81698dc4cbadf02e
9f50: 39 65 36 39 32 35 65 66 62 35 36 32 66 64 39 62  9e6925efb562fd9b
9f60: 38 37 33 30 31 61 36 33 37 37 63 61 31 39 32 62  87301a6377ca192b
9f70: 65 37 39 63 34 31 31 38 64 65 61 62 63 34 35 30  e79c4118deabc450
9f80: 62 35 34 36 33 39 30 30 30 63 32 65 33 31 32 39  b54639000c2e3129
9f90: 34 35 34 35 31 66 62 35 0a 0a 74 63 6c 74 65 73  45451fb5..tcltes
9fa0: 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41  t::test Hash_SHA
9fb0: 35 31 32 2d 32 2e 39 39 20 7b 53 48 41 35 31 32  512-2.99 {SHA512
9fc0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
9fd0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
9fe0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
9ff0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
a000: 6f 64 65 20 68 65 78 20 34 30 32 32 66 39 33 30  ode hex 4022f930
a010: 63 37 30 33 33 62 30 30 64 39 38 36 63 36 35 66  c7033b00d986c65f
a020: 66 36 62 62 62 64 66 39 65 62 64 30 65 35 38 63  f6bbbdf9ebd0e58c
a030: 35 32 38 34 34 66 66 36 35 38 64 66 33 38 39 33  52844ff658df3893
a040: 63 33 32 30 32 64 63 35 33 33 66 38 37 33 64 34  c3202dc533f873d4
a050: 61 37 66 35 61 35 66 39 34 34 34 31 39 66 62 35  a7f5a5f944419fb5
a060: 35 32 38 63 39 62 36 37 38 38 34 37 39 61 31 65  528c9b6788479a1e
a070: 38 39 31 33 30 36 61 63 61 65 37 39 39 35 66 63  891306acae7995fc
a080: 30 36 64 62 37 30 61 35 39 62 61 61 39 35 62 65  06db70a59baa95be
a090: 66 37 64 61 37 39 66 35 65 37 39 33 66 32 64 62  f7da79f5e793f2db
a0a0: 37 66 32 61 35 35 38 32 35 65 34 66 64 62 34 61  7f2a55825e4fdb4a
a0b0: 33 34 38 38 34 61 66 38 38 31 64 65 64 31 30 38  34884af881ded108
a0c0: 39 66 64 35 33 33 34 35 30 32 61 32 5d 7d 20 5c  9fd5334502a2]} \
a0d0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
a0e0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
a0f0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
a100: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
a110: 20 2d 72 65 73 75 6c 74 20 30 33 35 38 37 37 35   -result 0358775
a120: 62 62 62 37 33 33 63 63 63 34 39 65 37 38 66 35  bbb733ccc49e78f5
a130: 34 34 61 65 65 65 35 31 32 33 37 30 64 34 38 30  44aeee512370d480
a140: 64 30 65 31 33 63 37 65 38 64 35 63 34 34 34 63  d0e13c7e8d5c444c
a150: 34 32 33 65 35 39 32 31 34 36 62 34 35 66 64 62  423e592146b45fdb
a160: 39 31 61 31 62 36 39 34 64 33 35 65 33 36 62 36  91a1b694d35e36b6
a170: 30 65 34 62 63 38 33 39 37 66 63 61 38 62 62 39  0e4bc8397fca8bb9
a180: 37 39 30 65 36 31 39 33 33 39 37 37 38 62 39 63  790e619339778b9c
a190: 64 31 61 62 65 33 66 65 39 0a 0a 74 63 6c 74 65  d1abe3fe9..tclte
a1a0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
a1b0: 41 35 31 32 2d 32 2e 31 30 30 20 7b 53 48 41 35  A512-2.100 {SHA5
a1c0: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
a1d0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
a1e0: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
a1f0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
a200: 65 63 6f 64 65 20 68 65 78 20 31 63 62 37 37 62  ecode hex 1cb77b
a210: 61 34 33 63 65 37 37 65 32 33 36 62 39 66 63 39  a43ce77e236b9fc9
a220: 32 35 66 35 38 39 62 31 63 30 37 30 37 38 30 61  25f589b1c070780a
a230: 38 34 66 39 39 65 38 66 35 30 63 31 66 66 38 34  84f99e8f50c1ff84
a240: 36 61 63 39 32 35 39 39 63 66 65 39 31 36 31 32  6ac92599cfe91612
a250: 63 38 31 37 38 33 32 35 62 65 65 36 34 32 61 33  c8178325bee642a3
a260: 34 66 34 64 66 66 64 62 61 32 61 61 32 65 62 63  4f4dffdba2aa2ebc
a270: 66 37 30 36 34 33 33 39 38 32 39 62 32 36 66 32  f7064339829b26f2
a280: 37 39 39 33 65 31 31 30 36 63 31 33 39 63 37 30  7993e1106c139c70
a290: 64 35 37 38 63 63 30 35 66 30 65 31 61 37 37 37  d578cc05f0e1a777
a2a0: 63 63 65 64 64 62 31 30 61 32 63 36 37 66 64 39  cceddb10a2c67fd9
a2b0: 36 37 35 65 34 61 30 30 39 64 66 38 30 33 37 64  675e4a009df8037d
a2c0: 36 65 65 62 33 38 66 35 66 62 61 32 33 33 64 66  6eeb38f5fba233df
a2d0: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
a2e0: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
a2f0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
a300: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
a310: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 35 30  xact -result 650
a320: 32 66 34 36 35 35 31 61 33 66 61 62 33 61 39 36  2f46551a3fab3a96
a330: 34 32 38 66 62 39 37 38 30 31 64 37 61 34 61 61  428fb97801d7a4aa
a340: 32 66 31 37 66 65 66 36 36 30 33 32 33 38 64 66  2f17fef6603238df
a350: 38 34 65 31 37 63 37 34 33 30 39 65 64 33 64 39  84e17c74309ed3d9
a360: 34 38 39 63 38 62 31 36 61 39 33 38 34 65 65 36  489c8b16a9384ee6
a370: 33 34 61 33 66 38 36 64 30 62 33 62 61 39 61 34  34a3f86d0b3ba9a4
a380: 64 62 63 39 63 35 31 65 63 38 62 64 34 62 66 38  dbc9c51ec8bd4bf8
a390: 64 36 31 64 65 36 64 33 64 38 37 64 37 0a 0a 74  d61de6d3d87d7..t
a3a0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
a3b0: 68 5f 53 48 41 35 31 32 2d 32 2e 31 30 31 20 7b  h_SHA512-2.101 {
a3c0: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
a3d0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
a3e0: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
a3f0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
a400: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 32  ry decode hex 52
a410: 31 36 37 64 65 32 64 36 63 35 30 32 64 39 39 66  167de2d6c502d99f
a420: 61 31 30 63 32 37 62 32 61 62 36 32 30 33 62 64  a10c27b2ab6203bd
a430: 65 62 63 32 63 61 66 62 62 66 64 65 66 31 35 38  ebc2cafbbfdef158
a440: 37 32 61 34 33 64 64 36 31 30 63 32 33 36 32 66  72a43dd610c2362f
a450: 37 39 36 61 64 39 62 63 62 35 35 32 38 64 39 35  796ad9bcb5528d95
a460: 38 37 30 30 35 38 66 61 34 35 34 34 35 33 66 31  870058fa454453f1
a470: 65 36 30 36 35 62 33 31 35 64 34 31 30 61 33 66  e6065b315d410a3f
a480: 32 36 35 30 65 35 64 37 31 65 36 39 64 37 38 64  2650e5d71e69d78d
a490: 39 37 36 37 64 66 62 34 61 63 63 63 30 35 37 66  9767dfb4accc057f
a4a0: 64 32 30 36 39 32 36 36 62 30 66 31 38 30 63 62  d2069266b0f180cb
a4b0: 33 31 39 65 33 30 64 65 64 37 35 33 35 62 62 65  319e30ded7535bbe
a4c0: 35 32 64 32 34 62 65 31 35 31 64 65 34 62 62 35  52d24be151de4bb5
a4d0: 39 38 66 63 35 63 5d 7d 20 5c 0a 09 2d 62 6f 64  98fc5c]} \..-bod
a4e0: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
a4f0: 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64  digest SHA512 -d
a500: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
a510: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
a520: 6c 74 20 32 35 63 62 33 65 64 33 39 38 33 61 39  lt 25cb3ed3983a9
a530: 31 62 34 63 66 33 37 61 36 35 31 39 33 39 31 36  1b4cf37a65193916
a540: 63 35 65 33 65 32 31 31 62 36 33 65 39 34 33 65  c5e3e211b63e943e
a550: 32 66 37 62 35 30 61 38 35 64 33 34 39 61 34 36  2f7b50a85d349a46
a560: 33 62 39 34 31 61 61 64 33 33 65 66 66 31 36 35  3b941aad33eff165
a570: 36 31 62 64 66 64 63 39 32 66 64 61 30 36 61 34  61bdfdc92fda06a4
a580: 65 31 64 39 34 62 31 36 32 64 65 34 38 66 30 36  e1d94b162de48f06
a590: 64 33 63 36 32 36 39 34 30 62 33 31 30 32 30 39  d3c626940b310209
a5a0: 32 35 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  25f..tcltest::te
a5b0: 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32  st Hash_SHA512-2
a5c0: 2e 31 30 32 20 7b 53 48 41 35 31 32 53 68 6f 72  .102 {SHA512Shor
a5d0: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
a5e0: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
a5f0: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
a600: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
a610: 68 65 78 20 63 65 64 65 36 36 39 37 64 34 32 32  hex cede6697d422
a620: 64 64 61 61 37 38 65 32 64 35 35 61 65 30 38 30  ddaa78e2d55ae080
a630: 62 38 62 39 65 39 33 35 36 63 36 39 62 63 35 35  b8b9e9356c69bc55
a640: 38 32 30 31 61 32 64 34 62 30 62 33 31 39 30 61  8201a2d4b0b3190a
a650: 38 31 32 63 32 37 62 33 34 62 62 63 65 65 33 61  812c27b34bbcee3a
a660: 36 32 62 37 38 31 33 37 38 62 31 62 66 36 33 36  62b781378b1bf636
a670: 62 33 37 32 62 63 62 61 65 31 66 61 32 66 38 31  b372bcbae1fa2f81
a680: 36 61 30 34 36 61 30 61 36 34 39 61 35 63 35 35  6a046a0a649a5c55
a690: 35 63 36 34 31 66 65 61 34 63 63 64 38 34 31 63  5c641fea4ccd841c
a6a0: 63 37 36 31 66 33 38 66 37 37 37 39 37 32 66 38  c761f38f777972f8
a6b0: 63 39 31 62 30 33 32 34 65 37 31 63 33 33 33 63  c91b0324e71c333c
a6c0: 65 37 38 37 66 30 34 37 34 31 34 33 39 62 66 30  e787f04741439bf0
a6d0: 38 37 65 66 35 65 38 39 35 30 31 31 63 30 5d 7d  87ef5e895011c0]}
a6e0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
a6f0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
a700: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
a710: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
a720: 63 74 20 2d 72 65 73 75 6c 74 20 30 62 65 34 32  ct -result 0be42
a730: 61 32 35 64 37 37 61 63 36 61 64 39 39 35 63 36  a25d77ac6ad995c6
a740: 62 65 34 38 65 37 38 33 33 38 30 62 61 64 32 35  be48e783380bad25
a750: 61 36 31 37 33 32 66 38 37 63 65 66 62 30 63 63  a61732f87cefb0cc
a760: 65 31 61 37 36 39 63 64 36 39 30 38 31 66 34 39  e1a769cd69081f49
a770: 34 61 31 61 31 32 64 36 35 37 36 36 34 65 66 32  4a1a12d657664ef2
a780: 62 34 64 39 63 34 31 66 32 65 65 38 33 66 36 65  b4d9c41f2ee83f6e
a790: 39 61 38 34 33 32 37 64 38 37 35 36 61 66 39 66  9a84327d8756af9f
a7a0: 39 38 35 35 39 35 65 37 64 33 62 0a 0a 74 63 6c  985595e7d3b..tcl
a7b0: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
a7c0: 53 48 41 35 31 32 2d 32 2e 31 30 33 20 7b 53 48  SHA512-2.103 {SH
a7d0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
a7e0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
a7f0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
a800: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
a810: 20 64 65 63 6f 64 65 20 68 65 78 20 35 36 64 31   decode hex 56d1
a820: 38 64 33 65 32 65 34 39 36 34 34 30 64 30 61 35  8d3e2e496440d0a5
a830: 63 39 65 31 62 63 62 34 36 34 66 61 66 35 62 63  c9e1bcb464faf5bc
a840: 37 30 61 38 62 35 36 32 31 32 34 66 35 66 63 39  70a8b562124f5fc9
a850: 65 39 64 65 62 35 66 65 65 36 35 34 34 62 39 34  e9deb5fee6544b94
a860: 35 65 38 33 33 62 38 62 35 64 31 33 31 62 37 37  5e833b8b5d131b77
a870: 33 65 63 62 32 63 64 64 37 38 30 63 64 34 65 31  3ecb2cdd780cd4e1
a880: 62 62 39 65 34 66 31 65 33 63 62 30 61 31 64 36  bb9e4f1e3cb0a1d6
a890: 34 64 31 39 63 66 34 62 33 30 65 34 34 65 36 63  4d19cf4b30e44e6c
a8a0: 32 64 30 63 62 63 62 34 65 32 38 34 63 65 35 30  2d0cbcb4e284ce50
a8b0: 64 62 37 61 38 61 38 30 36 32 64 64 62 36 33 66  db7a8a8062ddb63f
a8c0: 39 38 31 64 39 30 32 36 63 35 33 32 62 66 38 65  981d9026c532bf8e
a8d0: 65 64 64 66 38 61 66 35 61 34 33 38 34 38 61 33  eddf8af5a43848a3
a8e0: 32 32 36 32 31 37 38 63 5d 7d 20 5c 0a 09 2d 62  2262178c]} \..-b
a8f0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
a900: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20   -digest SHA512 
a910: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
a920: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
a930: 73 75 6c 74 20 39 38 32 64 63 36 31 63 39 31 61  sult 982dc61c91a
a940: 39 33 37 37 30 35 38 32 65 65 65 38 30 32 35 61  93770582eee8025a
a950: 61 35 35 64 61 38 65 39 65 64 62 39 36 36 62 66  a55da8e9edb966bf
a960: 35 63 66 37 30 64 34 61 36 35 33 34 63 30 64 35  5cf70d4a6534c0d5
a970: 33 61 32 37 38 39 61 38 63 34 66 62 36 35 62 37  3a2789a8c4fb65b7
a980: 66 65 64 34 37 38 63 64 61 30 32 65 64 31 65 30  fed478cda02ed1e0
a990: 64 31 39 38 64 38 35 63 35 63 37 33 35 62 32 34  d198d85c5c735b24
a9a0: 31 37 63 35 66 61 62 35 64 33 34 65 39 36 39 66  17c5fab5d34e969f
a9b0: 63 38 65 37 65 0a 0a 74 63 6c 74 65 73 74 3a 3a  c8e7e..tcltest::
a9c0: 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32  test Hash_SHA512
a9d0: 2d 32 2e 31 30 34 20 7b 53 48 41 35 31 32 53 68  -2.104 {SHA512Sh
a9e0: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
a9f0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
aa00: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
aa10: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
aa20: 65 20 68 65 78 20 32 35 61 37 33 32 30 64 66 61  e hex 25a7320dfa
aa30: 65 63 35 61 66 36 35 64 61 34 64 30 66 38 36 38  ec5af65da4d0f868
aa40: 38 65 32 39 65 38 65 39 35 35 33 32 65 63 63 31  8e29e8e95532ecc1
aa50: 36 36 37 39 65 61 38 61 66 66 30 66 34 30 37 64  6679ea8aff0f407d
aa60: 38 39 38 64 62 36 39 32 32 38 35 35 62 30 65 38  898db6922855b0e8
aa70: 39 30 31 61 61 39 36 38 31 61 61 33 64 63 61 36  901aa9681aa3dca6
aa80: 31 37 63 62 34 34 30 37 36 34 63 64 63 37 32 39  17cb440764cdc729
aa90: 33 66 62 65 61 66 37 66 35 38 35 62 35 39 33 63  3fbeaf7f585b593c
aaa0: 32 62 30 35 33 31 37 33 38 65 30 61 64 65 37 63  2b0531738e0ade7c
aab0: 38 36 32 36 62 39 39 39 35 66 34 61 38 34 64 39  8626b9995f4a84d9
aac0: 66 63 39 62 35 39 33 64 36 62 62 65 65 30 31 61  fc9b593d6bbee01a
aad0: 62 63 35 33 63 35 62 65 31 34 62 66 36 39 35 36  bc53c5be14bf6956
aae0: 66 64 32 66 64 38 31 30 30 30 64 61 66 63 37 63  fd2fd81000dafc7c
aaf0: 37 36 38 36 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  7686]} \..-body 
ab00: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
ab10: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
ab20: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
ab30: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
ab40: 20 37 34 39 63 39 32 38 63 33 64 35 35 31 30 39   749c928c3d55109
ab50: 32 35 62 66 65 39 38 36 35 39 30 32 35 62 30 65  25bfe98659025b0e
ab60: 64 37 63 30 31 61 63 64 34 64 35 39 61 39 62 66  d7c01acd4d59a9bf
ab70: 31 63 35 34 38 36 33 61 30 38 38 30 39 31 37 37  1c54863a08809177
ab80: 31 64 63 39 64 34 30 37 62 64 62 66 38 33 62 30  1dc9d407bdbf83b0
ab90: 66 34 34 62 30 39 30 32 65 31 30 33 34 39 62 61  f44b0902e10349ba
aba0: 37 39 63 38 34 64 30 39 38 31 64 35 65 38 63 34  79c84d0981d5e8c4
abb0: 66 35 63 37 33 33 61 31 31 37 66 65 64 30 37 39  f5c733a117fed079
abc0: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
abd0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
abe0: 30 35 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d  05 {SHA512ShortM
abf0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
ac00: 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73  nts SHA512 \..-s
ac10: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
ac20: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
ac30: 78 20 33 64 37 31 37 37 62 32 38 66 66 64 39 31  x 3d7177b28ffd91
ac40: 36 65 37 65 30 36 33 34 38 39 35 38 33 33 62 61  6e7e0634895833ba
ac50: 30 62 64 39 65 30 36 35 33 64 66 32 63 63 34 32  0bd9e0653df2cc42
ac60: 30 32 63 38 31 31 35 33 36 61 30 30 35 61 65 63  02c811536a005aec
ac70: 38 35 33 61 35 30 35 65 37 35 64 62 35 35 64 33  853a505e75db55d3
ac80: 63 37 31 30 37 35 37 39 30 34 31 30 39 39 65 33  c7107579041099e3
ac90: 38 32 61 31 66 65 61 63 38 30 64 64 65 36 35 64  82a1feac80dde65d
aca0: 37 32 33 36 38 65 39 30 39 61 62 38 35 66 35 36  72368e909ab85f56
acb0: 64 38 38 65 36 38 64 37 63 33 63 38 30 63 33 38  d88e68d7c3c80c38
acc0: 66 38 35 62 66 38 63 32 62 33 36 39 35 39 34 30  f85bf8c2b3695940
acd0: 39 63 63 33 34 62 61 38 65 33 61 64 39 34 66 65  9cc34ba8e3ad94fe
ace0: 38 65 65 31 39 32 37 36 31 32 64 36 37 32 64 39  8ee1927612d672d9
acf0: 32 31 34 31 61 33 32 39 63 34 64 64 38 61 38 38  2141a329c4dd8a88
ad00: 61 39 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  a9]} \..-body {t
ad10: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
ad20: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
ad30: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
ad40: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 31   exact -result 1
ad50: 34 61 33 33 31 35 30 38 63 64 37 64 39 34 66 63  4a331508cd7d94fc
ad60: 63 65 35 36 61 36 36 62 66 36 35 66 32 30 38 37  ce56a66bf65f2087
ad70: 30 61 32 38 31 63 38 34 34 32 66 38 64 62 64 34  0a281c8442f8dbd4
ad80: 63 32 33 37 31 34 35 34 61 32 62 36 36 66 38 64  c2371454a2b66f8d
ad90: 30 39 39 34 61 30 62 36 37 36 39 32 65 37 37 31  0994a0b67692e771
ada0: 65 66 63 36 61 35 65 30 62 38 38 37 61 63 61 65  efc6a5e0b887acae
adb0: 37 64 36 66 34 65 63 37 33 33 38 65 31 61 61 38  7d6f4ec7338e1aa8
adc0: 39 66 32 61 62 63 37 30 33 34 63 34 65 34 63 0a  9f2abc7034c4e4c.
add0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
ade0: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 30 36  ash_SHA512-2.106
adf0: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
ae00: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
ae10: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
ae20: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
ae30: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
ae40: 63 30 33 33 65 34 61 35 31 32 32 39 37 63 61 65  c033e4a512297cae
ae50: 63 64 62 65 61 64 38 39 32 62 31 31 61 39 66 37  cdbead892b11a9f7
ae60: 30 30 37 61 66 39 61 37 34 62 63 61 62 38 39 65  007af9a74bcab89e
ae70: 30 62 64 34 66 66 64 64 35 34 32 63 61 30 33 65  0bd4ffdd542ca03e
ae80: 61 31 32 65 31 37 61 30 36 63 34 32 62 64 34 33  a12e17a06c42bd43
ae90: 66 63 35 66 33 66 37 35 37 66 63 65 34 66 36 66  fc5f3f757fce4f6f
aea0: 35 38 33 31 39 39 37 61 62 61 63 33 66 39 35 36  5831997abac3f956
aeb0: 37 36 65 31 65 62 64 62 31 31 63 61 34 33 65 31  76e1ebdb11ca43e1
aec0: 31 61 61 33 31 65 35 65 62 61 62 65 31 38 63 65  1aa31e5ebabe18ce
aed0: 38 64 31 62 62 66 64 38 62 30 32 66 34 38 32 65  8d1bbfd8b02f482e
aee0: 31 63 65 35 38 31 62 35 33 32 65 33 30 37 65 36  1ce581b532e307e6
aef0: 39 36 30 65 62 39 37 34 34 31 35 30 36 63 32 65  960eb97441506c2e
af00: 64 32 39 39 65 31 32 38 32 35 32 33 66 34 31 35  d299e1282523f415
af10: 32 37 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  27]} \..-body {t
af20: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
af30: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
af40: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
af50: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 39   exact -result 9
af60: 35 61 63 39 62 37 64 32 32 61 61 34 35 38 39 32  5ac9b7d22aa45892
af70: 31 38 37 34 63 34 62 34 33 33 31 65 37 64 36 34  1874c4b4331e7d64
af80: 37 36 31 38 35 33 32 31 37 63 33 66 38 33 63 36  761853217c3f83c6
af90: 30 31 61 62 63 62 63 63 64 37 65 32 65 61 61 36  01abcbccd7e2eaa6
afa0: 63 61 36 63 65 39 61 32 32 65 62 63 66 65 35 30  ca6ce9a22ebcfe50
afb0: 34 36 64 35 32 66 38 61 30 39 30 39 37 66 30 34  46d52f8a09097f04
afc0: 33 61 62 38 62 63 35 39 32 34 33 66 64 37 37 30  3ab8bc59243fd770
afd0: 30 39 30 62 62 34 33 32 63 33 31 35 35 65 39 0a  090bb432c3155e9.
afe0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
aff0: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 30 37  ash_SHA512-2.107
b000: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
b010: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
b020: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
b030: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
b040: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
b050: 36 39 66 66 66 30 66 31 61 33 64 62 66 62 33 36  69fff0f1a3dbfb36
b060: 65 33 32 66 30 32 35 38 31 39 66 61 39 39 65 61  e32f025819fa99ea
b070: 39 61 30 65 64 61 65 66 37 33 31 34 35 62 66 37  9a0edaef73145bf7
b080: 66 63 64 30 35 64 38 62 62 30 61 36 34 36 63 62  fcd05d8bb0a646cb
b090: 33 62 35 64 35 32 35 36 64 35 32 34 38 35 36 61  3b5d5256d524856a
b0a0: 63 66 64 32 65 34 34 64 36 62 37 32 65 34 65 62  cfd2e44d6b72e4eb
b0b0: 66 31 66 66 32 33 63 30 66 66 36 63 35 36 66 38  f1ff23c0ff6c56f8
b0c0: 32 31 65 37 38 32 64 35 61 31 35 66 37 30 35 32  21e782d5a15f7052
b0d0: 61 31 34 34 35 62 30 36 36 36 38 65 65 62 34 61  a1445b06668eeb4a
b0e0: 66 37 30 30 36 37 39 65 65 37 61 65 32 36 34 39  f700679ee7ae2649
b0f0: 36 66 62 64 34 36 34 30 63 30 36 61 61 31 34 39  6fbd4640c06aa149
b100: 39 36 34 64 66 64 36 30 31 31 64 66 38 33 35 61  964dfd6011df835a
b110: 63 31 33 62 37 33 63 38 66 66 32 31 31 35 31 65  c13b73c8ff21151e
b120: 38 34 34 30 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  8440]} \..-body 
b130: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
b140: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
b150: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
b160: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
b170: 20 34 35 64 34 64 61 61 36 35 32 35 35 38 64 31   45d4daa652558d1
b180: 63 31 32 62 65 62 30 66 35 36 36 32 63 37 31 32  c12beb0f5662c712
b190: 66 33 32 35 62 34 63 38 30 32 66 63 36 65 62 39  f325b4c802fc6eb9
b1a0: 65 65 30 33 39 63 39 34 39 64 30 30 32 62 62 37  ee039c949d002bb7
b1b0: 38 36 66 31 61 37 33 32 37 31 32 62 65 39 34 31  86f1a732712be941
b1c0: 66 39 63 35 63 37 39 62 33 65 35 63 34 33 30 36  f9c5c79b3e5c4306
b1d0: 34 64 36 33 61 33 38 35 37 38 65 35 61 35 34 65  4d63a38578e5a54e
b1e0: 65 35 32 36 61 63 62 37 33 35 62 39 61 64 34 35  e526acb735b9ad45
b1f0: 66 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  f..tcltest::test
b200: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
b210: 30 38 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d  08 {SHA512ShortM
b220: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
b230: 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73  nts SHA512 \..-s
b240: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
b250: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
b260: 78 20 62 32 63 34 33 39 63 39 37 61 62 37 63 36  x b2c439c97ab7c6
b270: 33 37 33 36 62 33 37 39 36 33 32 34 64 36 38 65  3736b3796324d68e
b280: 65 62 37 61 34 37 31 65 64 31 34 32 62 64 39 36  eb7a471ed142bd96
b290: 32 32 36 38 34 31 36 37 64 36 31 32 33 34 66 66  22684167d61234ff
b2a0: 66 38 32 66 39 33 66 39 30 37 35 33 37 61 39 30  f82f93f907537a90
b2b0: 39 62 63 32 65 37 35 61 34 62 63 62 63 31 33 33  9bc2e75a4bcbc133
b2c0: 63 66 35 37 31 39 37 36 36 32 63 31 61 66 37 34  cf57197662c1af74
b2d0: 36 61 65 38 62 38 31 65 35 62 38 33 64 65 30 35  6ae8b81e5b83de05
b2e0: 64 39 62 35 38 39 38 35 31 64 65 32 35 64 33 63  d9b589851de25d3c
b2f0: 39 39 63 30 30 34 63 31 64 66 62 31 32 64 39 33  99c004c1dfb12d93
b300: 62 66 35 30 64 34 35 30 61 66 34 39 63 34 32 38  bf50d450af49c428
b310: 37 31 36 66 35 62 39 30 65 66 30 38 38 65 33 62  716f5b90ef088e3b
b320: 36 61 36 62 32 63 34 36 64 33 63 65 36 37 62 33  6a6b2c46d3ce67b3
b330: 37 39 35 39 39 30 31 38 5d 7d 20 5c 0a 09 2d 62  79599018]} \..-b
b340: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
b350: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20   -digest SHA512 
b360: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
b370: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
b380: 73 75 6c 74 20 63 34 38 65 63 38 33 62 65 35 66  sult c48ec83be5f
b390: 61 36 36 39 65 36 65 63 38 64 62 39 30 61 63 61  a669e6ec8db90aca
b3a0: 39 36 37 36 63 66 65 32 65 63 30 64 35 65 38 65  9676cfe2ec0d5e8e
b3b0: 37 61 32 34 33 31 36 38 37 62 62 39 35 33 63 30  7a2431687bb953c0
b3c0: 61 33 30 30 62 65 33 64 62 34 30 37 35 63 63 61  a300be3db4075cca
b3d0: 33 62 61 63 34 64 66 61 34 64 39 37 31 62 61 66  3bac4dfa4d971baf
b3e0: 30 66 61 31 61 66 66 34 36 36 33 39 64 62 34 62  0fa1aff46639db4b
b3f0: 32 33 38 38 35 36 66 66 33 36 64 31 64 66 63 64  238856ff36d1dfcd
b400: 35 32 30 66 31 0a 0a 74 63 6c 74 65 73 74 3a 3a  520f1..tcltest::
b410: 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32  test Hash_SHA512
b420: 2d 32 2e 31 30 39 20 7b 53 48 41 35 31 32 53 68  -2.109 {SHA512Sh
b430: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
b440: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
b450: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
b460: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
b470: 65 20 68 65 78 20 63 30 31 36 66 35 32 32 66 32  e hex c016f522f2
b480: 36 62 37 34 37 30 65 39 32 32 62 39 61 32 38 37  6b7470e922b9a287
b490: 65 36 64 34 35 66 36 63 32 38 38 31 33 62 36 38  e6d45f6c28813b68
b4a0: 63 31 34 35 37 65 33 36 64 39 62 61 32 36 36 37  c1457e36d9ba2667
b4b0: 30 38 32 37 32 66 39 63 62 63 35 34 31 31 66 38  08272f9cbc5411f8
b4c0: 64 62 39 64 38 62 64 35 61 39 34 34 39 66 62 36  db9d8bd5a9449fb6
b4d0: 65 62 30 63 64 65 37 64 34 64 30 33 65 35 64 66  eb0cde7d4d03e5df
b4e0: 30 31 39 66 32 38 31 34 61 39 30 63 65 65 64 33  019f2814a90ceed3
b4f0: 37 37 63 35 39 64 37 64 39 32 36 32 33 38 39 39  77c59d7d92623899
b500: 62 63 62 30 32 36 38 30 33 33 30 37 33 35 35 39  bcb0268033073559
b510: 64 34 64 38 64 65 34 38 38 36 38 36 63 62 65 33  d4d8de488686cbe3
b520: 64 36 37 37 39 36 65 36 64 66 36 61 64 34 32 37  d67796e6df6ad427
b530: 36 64 30 62 35 32 63 63 36 32 63 34 39 65 62 62  6d0b52cc62c49ebb
b540: 35 38 64 37 63 39 35 32 38 37 61 61 36 63 5d 7d  58d7c95287aa6c]}
b550: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
b560: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
b570: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
b580: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
b590: 63 74 20 2d 72 65 73 75 6c 74 20 37 34 30 32 66  ct -result 7402f
b5a0: 31 61 39 39 62 34 37 65 31 30 32 62 33 62 37 33  1a99b47e102b3b73
b5b0: 31 34 30 63 36 37 37 31 62 30 37 65 65 36 63 33  140c6771b07ee6c3
b5c0: 33 62 33 37 31 35 65 39 63 34 30 32 37 63 34 34  3b3715e9c4027c44
b5d0: 31 62 65 65 34 30 35 31 31 62 37 33 35 64 39 35  1bee40511b735d95
b5e0: 65 35 30 38 62 61 65 61 37 38 64 61 32 36 66 64  e508baea78da26fd
b5f0: 65 64 39 62 37 30 33 38 65 39 61 35 33 64 65 66  ed9b7038e9a53def
b600: 61 35 38 34 34 38 61 62 61 34 30 64 63 31 65 36  a58448aba40dc1e6
b610: 32 64 37 65 63 35 39 32 31 30 37 0a 0a 74 63 6c  2d7ec592107..tcl
b620: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
b630: 53 48 41 35 31 32 2d 32 2e 31 31 30 20 7b 53 48  SHA512-2.110 {SH
b640: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
b650: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
b660: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
b670: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
b680: 20 64 65 63 6f 64 65 20 68 65 78 20 61 37 36 36   decode hex a766
b690: 62 32 61 37 65 66 39 31 36 37 32 31 66 34 36 37  b2a7ef916721f467
b6a0: 37 62 36 37 64 62 63 36 35 65 66 39 62 34 64 31  7b67dbc65ef9b4d1
b6b0: 62 64 61 31 61 64 34 65 35 33 66 63 38 35 34 62  bda1ad4e53fc854b
b6c0: 30 32 33 36 34 34 30 38 32 32 31 35 32 61 31 31  0236440822152a11
b6d0: 31 39 33 39 65 35 61 62 32 62 61 32 30 37 37 31  1939e5ab2ba20771
b6e0: 39 34 37 32 62 36 33 66 64 34 66 34 61 35 34 66  9472b63fd4f4a54f
b6f0: 34 62 64 65 34 34 61 32 30 35 64 33 33 34 61 32  4bde44a205d334a2
b700: 64 37 32 63 66 65 30 35 61 62 66 38 30 34 66 34  d72cfe05abf804f4
b710: 31 38 34 31 62 38 36 64 33 36 39 32 30 62 65 36  1841b86d36920be6
b720: 62 30 62 35 32 39 33 33 31 61 63 31 36 33 61 39  b0b529331ac163a9
b730: 38 35 35 35 36 63 38 34 35 31 31 65 63 39 38 36  85556c84511ec986
b740: 34 33 39 66 38 33 65 31 64 37 33 31 31 66 35 37  439f83e1d7311f57
b750: 64 38 34 38 63 66 61 30 32 64 66 39 65 61 30 63  d848cfa02df9ea0c
b760: 66 36 62 39 39 61 5d 7d 20 5c 0a 09 2d 62 6f 64  f6b99a]} \..-bod
b770: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
b780: 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64  digest SHA512 -d
b790: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
b7a0: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
b7b0: 6c 74 20 64 64 64 36 30 66 39 33 61 33 62 61 62  lt ddd60f93a3bab
b7c0: 63 37 38 32 39 39 63 66 37 36 33 65 37 39 31 39  c78299cf763e7919
b7d0: 64 34 35 61 63 36 66 34 37 39 37 30 30 65 31 61  d45ac6f479700e1a
b7e0: 64 62 30 35 61 62 31 33 37 61 63 64 66 38 39 63  db05ab137acdf89c
b7f0: 31 35 32 31 65 63 62 39 64 66 65 61 63 64 30 39  1521ecb9dfeacd09
b800: 31 65 35 38 63 61 35 37 61 31 64 62 39 36 34 61  1e58ca57a1db964a
b810: 39 63 33 63 64 31 66 61 33 39 31 39 32 63 63 31  9c3cd1fa39192cc1
b820: 65 39 66 37 33 34 63 61 61 31 63 35 66 61 36 32  e9f734caa1c5fa62
b830: 39 37 35 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  975..tcltest::te
b840: 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32  st Hash_SHA512-2
b850: 2e 31 31 31 20 7b 53 48 41 35 31 32 53 68 6f 72  .111 {SHA512Shor
b860: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
b870: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
b880: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
b890: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
b8a0: 68 65 78 20 31 30 66 32 62 65 37 37 61 34 30 35  hex 10f2be77a405
b8b0: 35 37 37 31 61 36 37 30 30 37 63 64 38 36 33 30  5771a67007cd8630
b8c0: 65 33 32 33 30 65 33 38 32 38 38 34 39 39 63 62  e3230e38288499cb
b8d0: 31 36 30 33 38 30 32 39 30 31 37 34 64 36 36 64  160380290174d66d
b8e0: 61 35 37 34 35 35 62 36 62 61 61 61 39 37 38 35  a57455b6baaa9785
b8f0: 63 38 34 63 38 61 36 36 33 64 65 34 31 65 64 33  c84c8a663de41ed3
b900: 62 64 35 34 34 30 35 35 62 39 31 37 30 63 65 63  bd544055b9170cec
b910: 34 33 63 62 33 65 62 31 32 30 65 63 65 61 62 61  43cb3eb120eceaba
b920: 31 66 65 33 36 65 33 65 61 61 33 66 61 34 66 39  1fe36e3eaa3fa4f9
b930: 39 62 34 32 35 63 64 32 35 31 39 66 30 39 62 63  9b425cd2519f09bc
b940: 30 32 38 32 62 61 64 61 35 32 64 31 34 63 65 36  0282bada52d14ce6
b950: 32 35 62 31 64 65 64 33 62 32 34 64 38 36 62 31  25b1ded3b24d86b1
b960: 64 61 64 33 34 32 64 32 62 37 62 65 33 32 32 62  dad342d2b7be322b
b970: 37 37 35 62 30 34 66 63 36 62 38 36 61 66 62 34  775b04fc6b86afb4
b980: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
b990: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
b9a0: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
b9b0: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
b9c0: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 61 38 37  xact -result a87
b9d0: 32 66 61 33 33 64 34 36 33 62 33 33 34 33 63 65  2fa33d463b3343ce
b9e0: 63 35 37 63 32 30 63 36 36 39 37 39 63 33 33 65  c57c20c66979c33e
b9f0: 31 61 64 30 36 37 62 66 63 37 30 33 34 35 34 36  1ad067bfc7034546
ba00: 39 36 61 61 62 35 64 64 30 30 30 33 62 63 31 39  96aab5dd0003bc19
ba10: 34 33 31 38 66 34 61 38 65 62 62 63 37 34 35 30  4318f4a8ebbc7450
ba20: 33 66 65 62 37 32 31 31 61 34 37 32 64 61 64 65  3feb7211a472dade
ba30: 65 39 39 31 65 66 65 33 65 33 38 66 32 31 61 31  e991efe3e38f21a1
ba40: 33 31 30 66 38 61 37 36 65 61 63 38 30 0a 0a 74  310f8a76eac80..t
ba50: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
ba60: 68 5f 53 48 41 35 31 32 2d 32 2e 31 31 32 20 7b  h_SHA512-2.112 {
ba70: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
ba80: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
ba90: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
baa0: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
bab0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 33 32  ry decode hex 32
bac0: 34 35 33 33 65 36 38 35 66 31 38 35 32 65 33 35  4533e685f1852e35
bad0: 38 65 65 61 38 65 61 38 62 38 31 63 32 38 38 62  8eea8ea8b81c288b
bae0: 33 66 33 62 65 62 31 66 32 62 63 32 62 38 64 33  3f3beb1f2bc2b8d3
baf0: 66 64 62 61 63 33 31 38 33 38 32 65 33 64 37 31  fdbac318382e3d71
bb00: 32 30 64 65 33 30 63 39 63 32 33 37 61 61 30 61  20de30c9c237aa0a
bb10: 33 34 38 33 31 64 65 62 31 65 35 65 30 36 30 61  34831deb1e5e060a
bb20: 37 39 36 39 63 64 33 61 39 37 34 32 65 63 31 65  7969cd3a9742ec1e
bb30: 36 34 62 33 35 34 66 37 65 62 32 39 30 63 62 61  64b354f7eb290cba
bb40: 31 63 36 38 31 63 36 36 63 63 37 65 61 39 39 34  1c681c66cc7ea994
bb50: 66 64 66 35 36 31 34 66 36 30 34 64 31 61 32 37  fdf5614f604d1a27
bb60: 31 38 61 61 62 35 38 31 63 31 63 39 34 39 33 31  18aab581c1c94931
bb70: 62 31 33 38 37 65 34 62 37 64 63 37 33 36 33 35  b1387e4b7dc73635
bb80: 62 66 33 61 37 33 30 31 31 37 34 30 37 35 66 61  bf3a7301174075fa
bb90: 37 30 61 39 32 32 37 64 38 35 64 33 5d 7d 20 5c  70a9227d85d3]} \
bba0: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
bbb0: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
bbc0: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
bbd0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
bbe0: 20 2d 72 65 73 75 6c 74 20 33 62 32 36 63 35 31   -result 3b26c51
bbf0: 37 30 37 32 39 64 30 38 31 34 31 35 33 62 65 63  70729d0814153bec
bc00: 62 39 35 66 31 62 36 35 63 64 34 32 66 39 61 36  b95f1b65cd42f9a6
bc10: 64 30 36 34 39 64 39 31 34 65 34 66 36 39 64 39  d0649d914e4f69d9
bc20: 33 38 62 35 65 39 64 63 30 34 31 63 64 30 66 35  38b5e9dc041cd0f5
bc30: 63 38 64 61 30 62 34 38 34 64 37 63 37 62 63 37  c8da0b484d7c7bc7
bc40: 62 31 62 64 65 66 62 30 38 66 65 38 62 31 62 66  b1bdefb08fe8b1bf
bc50: 65 64 63 38 31 31 30 39 33 34 35 62 63 39 65 39  edc81109345bc9e9
bc60: 61 33 39 39 66 65 65 64 66 0a 0a 74 63 6c 74 65  a399feedf..tclte
bc70: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
bc80: 41 35 31 32 2d 32 2e 31 31 33 20 7b 53 48 41 35  A512-2.113 {SHA5
bc90: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
bca0: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
bcb0: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
bcc0: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
bcd0: 65 63 6f 64 65 20 68 65 78 20 35 31 38 39 38 35  ecode hex 518985
bce0: 39 37 37 65 65 32 31 64 32 62 66 36 32 32 61 32  977ee21d2bf622a2
bcf0: 30 35 36 37 31 32 34 66 63 62 66 31 31 63 37 32  0567124fcbf11c72
bd00: 64 66 38 30 35 33 36 35 38 33 35 61 62 33 63 30  df805365835ab3c0
bd10: 34 31 66 34 61 39 63 64 38 61 30 61 64 36 33 63  41f4a9cd8a0ad63c
bd20: 39 64 65 65 31 30 31 38 61 61 32 31 61 39 66 61  9dee1018aa21a9fa
bd30: 33 37 32 30 66 34 37 64 63 34 38 30 30 36 66 31  3720f47dc48006f1
bd40: 61 61 33 64 62 61 35 34 34 39 35 30 66 38 37 65  aa3dba544950f87e
bd50: 36 32 37 66 33 36 39 62 63 32 37 39 33 65 64 65  627f369bc2793ede
bd60: 32 31 32 32 33 32 37 34 34 39 32 63 63 65 62 37  21223274492cceb7
bd70: 37 62 65 37 65 65 61 35 30 65 35 61 35 30 39 30  7be7eea50e5a5090
bd80: 35 39 39 32 39 61 31 36 64 33 33 61 39 66 35 34  59929a16d33a9f54
bd90: 37 39 36 63 64 65 35 37 37 30 63 37 34 62 64 33  796cde5770c74bd3
bda0: 65 63 63 32 35 33 31 38 35 30 33 66 31 61 34 31  ecc25318503f1a41
bdb0: 39 37 36 34 30 37 61 66 66 32 5d 7d 20 5c 0a 09  976407aff2]} \..
bdc0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
bdd0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31  st -digest SHA51
bde0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
bdf0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
be00: 72 65 73 75 6c 74 20 63 30 30 39 32 36 61 33 37  result c00926a37
be10: 34 63 64 65 35 35 62 38 66 62 64 37 37 66 35 30  4cde55b8fbd77f50
be20: 64 61 31 33 36 33 64 61 31 39 37 34 34 64 33 66  da1363da19744d3f
be30: 34 36 34 65 30 37 63 65 33 31 37 39 34 63 35 61  464e07ce31794c5a
be40: 36 31 62 36 66 39 63 38 35 36 38 39 66 61 31 63  61b6f9c85689fa1c
be50: 66 65 31 33 36 35 35 33 35 32 37 66 64 38 37 36  fe136553527fd876
be60: 62 65 39 31 36 37 33 63 32 63 61 63 32 64 64 31  be91673c2cac2dd1
be70: 35 37 62 32 64 65 66 65 61 33 36 30 38 35 31 62  57b2defea360851b
be80: 36 64 39 32 63 66 34 0a 0a 74 63 6c 74 65 73 74  6d92cf4..tcltest
be90: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35  ::test Hash_SHA5
bea0: 31 32 2d 32 2e 31 31 34 20 7b 53 48 41 35 31 32  12-2.114 {SHA512
beb0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
bec0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
bed0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
bee0: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
bef0: 6f 64 65 20 68 65 78 20 39 31 35 39 37 36 37 32  ode hex 91597672
bf00: 37 35 62 61 36 66 37 39 63 62 62 33 64 35 38 63  75ba6f79cbb3d58c
bf10: 30 31 30 38 33 33 39 64 38 63 36 61 34 31 31 33  0108339d8c6a4113
bf20: 38 39 39 31 61 62 37 61 61 35 38 62 31 34 37 39  8991ab7aa58b1479
bf30: 33 62 35 34 35 62 30 34 62 64 61 36 31 64 64 32  3b545b04bda61dd2
bf40: 35 35 31 32 37 62 31 32 63 63 35 30 31 64 35 61  55127b12cc501d5a
bf50: 61 61 64 34 37 36 65 30 39 66 61 31 34 61 65 63  aad476e09fa14aec
bf60: 32 31 36 32 36 65 38 64 35 37 62 37 64 30 38 63  21626e8d57b7d08c
bf70: 33 36 63 64 62 37 39 65 65 61 33 31 34 62 64 64  36cdb79eea314bdd
bf80: 37 37 65 36 35 37 37 39 61 30 62 35 34 65 61 62  77e65779a0b54eab
bf90: 30 38 63 34 38 63 65 62 39 37 36 61 64 66 36 33  08c48ceb976adf63
bfa0: 31 66 34 32 34 36 61 33 33 66 37 65 66 38 39 36  1f4246a33f7ef896
bfb0: 38 38 37 65 61 38 62 35 64 66 61 32 30 38 37 61  887ea8b5dfa2087a
bfc0: 32 32 35 63 38 63 31 38 30 66 38 39 37 30 36 39  225c8c180f897069
bfd0: 36 31 30 31 66 63 32 38 33 62 5d 7d 20 5c 0a 09  6101fc283b]} \..
bfe0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
bff0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31  st -digest SHA51
c000: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
c010: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
c020: 72 65 73 75 6c 74 20 33 63 64 33 33 38 30 61 39  result 3cd3380a9
c030: 30 38 36 38 64 65 31 37 64 65 65 34 62 64 34 64  0868de17dee4bd4d
c040: 37 66 39 30 64 37 35 31 32 36 39 36 66 30 61 39  7f90d7512696f0a9
c050: 32 62 32 64 30 38 39 32 34 30 64 36 31 61 39 64  2b2d089240d61a9d
c060: 32 30 63 64 33 61 66 30 39 34 63 37 38 62 66 34  20cd3af094c78bf4
c070: 36 36 63 32 64 34 30 34 64 64 32 66 36 36 32 65  66c2d404dd2f662e
c080: 63 35 66 34 61 32 39 39 62 65 32 61 64 65 61 64  c5f4a299be2adead
c090: 66 36 32 37 62 39 38 65 35 30 65 31 63 30 37 32  f627b98e50e1c072
c0a0: 62 37 36 39 64 36 32 0a 0a 74 63 6c 74 65 73 74  b769d62..tcltest
c0b0: 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48 41 35  ::test Hash_SHA5
c0c0: 31 32 2d 32 2e 31 31 35 20 7b 53 48 41 35 31 32  12-2.115 {SHA512
c0d0: 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f  ShortMsg} \..-co
c0e0: 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35 31 32  nstraints SHA512
c0f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20   \..-setup {set 
c100: 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63  data [binary dec
c110: 6f 64 65 20 68 65 78 20 66 65 32 64 38 61 65 32  ode hex fe2d8ae2
c120: 30 30 65 36 36 35 37 66 64 63 37 34 39 34 61 66  00e6657fdc7494af
c130: 35 61 31 32 62 32 61 65 39 34 30 33 34 38 66 31  5a12b2ae940348f1
c140: 66 39 38 33 66 30 62 61 39 38 66 65 62 62 65 39  f983f0ba98febbe9
c150: 39 63 38 30 64 31 31 35 31 32 36 64 35 37 64 62  9c80d115126d57db
c160: 66 33 37 32 39 36 37 36 35 65 62 62 35 39 39 30  f37296765ebb5990
c170: 32 35 36 36 39 36 35 38 38 62 33 38 35 31 64 35  256696588b3851d5
c180: 34 63 38 66 62 65 37 61 64 65 39 38 61 36 66 61  4c8fbe7ade98a6fa
c190: 66 37 63 32 30 62 35 65 34 66 37 33 30 66 35 34  f7c20b5e4f730f54
c1a0: 61 37 66 39 31 32 63 61 30 61 63 33 31 62 62 62  a7f912ca0ac31bbb
c1b0: 35 33 64 31 37 39 34 39 65 66 36 39 61 61 30 64  53d17949ef69aa0d
c1c0: 65 34 30 63 37 62 61 62 31 32 61 38 37 31 61 39  e40c7bab12a871a9
c1d0: 62 39 30 66 36 38 38 31 33 63 61 38 37 61 66 34  b90f68813ca87af4
c1e0: 32 35 36 34 32 32 61 32 36 38 66 34 61 31 64 38  256422a268f4a1d8
c1f0: 65 63 33 61 61 31 61 39 34 37 66 64 5d 7d 20 5c  ec3aa1a947fd]} \
c200: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
c210: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
c220: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
c230: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
c240: 20 2d 72 65 73 75 6c 74 20 38 30 32 35 61 38 36   -result 8025a86
c250: 30 38 64 66 30 66 36 61 30 31 63 33 34 63 64 65  08df0f6a01c34cde
c260: 63 30 31 32 64 34 63 62 32 35 38 35 32 65 31 62  c012d4cb25852e1b
c270: 31 30 30 62 36 38 31 37 32 66 63 34 65 38 36 61  100b68172fc4e86a
c280: 63 38 62 37 31 32 36 62 36 34 38 35 39 63 62 39  c8b7126b64859cb9
c290: 65 37 36 37 61 37 65 35 39 30 36 30 39 38 39 63  e767a7e59060989c
c2a0: 65 64 62 64 39 32 35 61 66 63 34 37 35 63 61 37  edbd925afc475ca7
c2b0: 33 36 39 62 64 34 33 66 38 35 61 65 35 39 30 65  369bd43f85ae590e
c2c0: 32 32 34 65 30 33 36 64 64 0a 0a 74 63 6c 74 65  224e036dd..tclte
c2d0: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
c2e0: 41 35 31 32 2d 32 2e 31 31 36 20 7b 53 48 41 35  A512-2.116 {SHA5
c2f0: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
c300: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
c310: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
c320: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
c330: 65 63 6f 64 65 20 68 65 78 20 64 63 32 38 34 38  ecode hex dc2848
c340: 34 65 62 66 64 32 39 33 64 36 32 61 63 37 35 39  4ebfd293d62ac759
c350: 64 35 37 35 34 62 64 66 35 30 32 34 32 33 65 34  d5754bdf502423e4
c360: 64 34 31 39 66 61 37 39 30 32 30 38 30 35 31 33  d419fa7902080513
c370: 34 62 32 63 65 33 64 66 66 37 33 38 63 37 35 35  4b2ce3dff738c755
c380: 36 63 39 31 64 38 31 30 61 64 62 61 64 38 64 64  6c91d810adbad8dd
c390: 32 31 30 66 30 34 31 32 39 36 62 37 33 63 32 31  210f041296b73c21
c3a0: 38 35 64 34 36 34 36 63 39 37 66 63 30 61 35 62  85d4646c97fc0a5b
c3b0: 36 39 65 64 34 39 61 63 38 63 37 63 65 64 30 62  69ed49ac8c7ced0b
c3c0: 64 31 63 66 64 37 65 33 63 33 63 63 61 34 37 33  d1cfd7e3c3cca473
c3d0: 37 34 64 31 38 39 32 34 37 64 61 36 38 31 31 61  74d189247da6811a
c3e0: 34 30 62 30 61 62 30 39 37 30 36 37 65 64 34 61  40b0ab097067ed4a
c3f0: 64 34 30 61 64 65 32 65 34 37 39 31 65 33 39 32  d40ade2e4791e392
c400: 30 34 65 33 39 38 62 33 32 30 34 39 37 31 34 34  04e398b320497144
c410: 35 38 32 32 61 31 62 65 30 64 64 39 33 61 66 38  5822a1be0dd93af8
c420: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
c430: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
c440: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
c450: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
c460: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36 31 35  xact -result 615
c470: 31 31 35 64 32 65 38 62 36 32 65 33 34 35 61 64  115d2e8b62e345ad
c480: 61 61 34 62 64 62 39 35 33 39 35 61 33 62 34 66  aa4bdb95395a3b4f
c490: 65 32 37 64 37 31 63 34 61 31 31 31 62 38 36 63  e27d71c4a111b86c
c4a0: 31 38 34 31 34 36 33 63 35 66 30 33 64 36 62 32  1841463c5f03d6b2
c4b0: 30 64 31 36 34 61 33 39 39 34 38 61 62 30 38 61  0d164a39948ab08a
c4c0: 65 30 36 30 37 32 30 64 30 35 63 31 30 66 36 30  e060720d05c10f60
c4d0: 32 32 65 35 63 38 63 61 66 32 66 61 33 62 63 61  22e5c8caf2fa3bca
c4e0: 32 65 30 34 64 39 63 35 33 39 64 65 64 0a 0a 74  2e04d9c539ded..t
c4f0: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
c500: 68 5f 53 48 41 35 31 32 2d 32 2e 31 31 37 20 7b  h_SHA512-2.117 {
c510: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
c520: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
c530: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
c540: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
c550: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 35 61  ry decode hex 5a
c560: 66 38 63 30 66 32 36 64 62 34 65 39 39 62 34 37  f8c0f26db4e99b47
c570: 65 63 32 65 34 61 30 31 61 37 38 36 65 37 37 38  ec2e4a01a786e778
c580: 39 39 65 34 36 64 34 36 34 61 63 33 33 37 66 31  99e46d464ac337f1
c590: 37 35 30 32 37 62 36 31 61 65 66 33 31 34 39 38  75027b61aef31498
c5a0: 34 38 61 66 38 34 39 64 37 36 61 63 33 39 62 39  48af849d76ac39b9
c5b0: 62 30 39 31 30 66 65 36 35 39 34 38 31 37 38 35  b0910fe659481785
c5c0: 39 65 35 35 39 37 34 66 61 31 36 37 35 31 38 65  9e55974fa167518e
c5d0: 64 37 32 64 30 38 38 64 61 65 36 62 34 31 34 64  d72d088dae6b414d
c5e0: 37 34 34 64 34 37 37 39 37 34 66 62 37 31 39 63  744d477974fb719c
c5f0: 36 32 36 64 61 37 39 32 66 39 38 31 32 33 33 64  626da792f981233d
c600: 65 32 34 62 37 35 37 39 64 38 61 63 63 61 35 31  e24b7579d8acca51
c610: 30 61 32 36 36 64 37 33 63 30 65 65 38 65 65 31  0a266d73c0ee8ee1
c620: 34 32 34 33 34 33 65 61 66 36 66 66 63 63 35 39  424343eaf6ffcc59
c630: 63 38 36 63 31 62 65 63 63 65 35 38 39 34 30 37  c86c1becce589407
c640: 32 63 36 63 31 31 5d 7d 20 5c 0a 09 2d 62 6f 64  2c6c11]} \..-bod
c650: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
c660: 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64  digest SHA512 -d
c670: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
c680: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
c690: 6c 74 20 30 39 64 61 32 38 34 64 35 62 36 35 35  lt 09da284d5b655
c6a0: 36 35 30 38 62 65 35 34 63 38 61 62 36 63 39 37  6508be54c8ab6c97
c6b0: 62 62 64 34 37 32 39 39 35 63 36 62 62 64 35 38  bbd472995c6bbd58
c6c0: 35 39 31 37 65 63 64 62 35 34 65 61 39 31 36 37  5917ecdb54ea9167
c6d0: 32 30 38 64 61 61 61 30 37 30 61 37 62 32 62 37  208daaa070a7b2b7
c6e0: 64 38 65 39 33 63 65 31 33 31 35 66 30 64 31 65  d8e93ce1315f0d1e
c6f0: 66 38 64 36 39 36 36 37 34 32 39 63 34 34 64 63  f8d69667429c44dc
c700: 35 65 65 31 34 39 39 64 65 35 37 62 32 32 39 61  5ee1499de57b229a
c710: 33 39 38 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  398..tcltest::te
c720: 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32  st Hash_SHA512-2
c730: 2e 31 31 38 20 7b 53 48 41 35 31 32 53 68 6f 72  .118 {SHA512Shor
c740: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
c750: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
c760: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
c770: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
c780: 68 65 78 20 34 39 63 64 30 62 61 30 64 66 35 62  hex 49cd0ba0df5b
c790: 62 33 66 34 33 66 36 38 34 36 34 65 33 65 38 33  b3f43f68464e3e83
c7a0: 65 39 63 62 64 35 64 35 65 65 30 37 37 66 66 61  e9cbd5d5ee077ffa
c7b0: 35 35 39 31 65 33 30 66 39 33 39 63 62 33 30 63  5591e30f939cb30c
c7c0: 39 33 66 37 64 34 35 34 66 62 33 66 62 66 38 62  93f7d454fb3fbf8b
c7d0: 62 30 35 33 32 37 61 38 39 63 30 38 64 63 34 62  b05327a89c08dc4b
c7e0: 61 66 31 65 65 66 35 30 32 33 37 33 31 37 61 34  af1eef50237317a4
c7f0: 30 35 37 37 35 33 35 37 66 31 65 30 64 31 66 33  05775357f1e0d1f3
c800: 31 64 39 66 30 66 30 64 39 38 31 32 34 30 31 39  1d9f0f0d98124019
c810: 64 34 37 62 66 31 38 33 36 33 62 31 65 63 66 62  d47bf18363b1ecfb
c820: 66 65 31 35 35 63 31 30 63 62 63 38 33 33 30 30  fe155c10cbc83300
c830: 65 30 31 62 63 39 63 65 30 33 34 37 63 35 39 36  e01bc9ce0347c596
c840: 62 33 35 66 34 31 31 65 36 64 38 32 32 39 61 64  b35f411e6d8229ad
c850: 32 38 35 35 65 34 32 30 32 32 62 30 33 37 33 61  2855e42022b0373a
c860: 64 65 39 38 36 36 33 63 36 64 36 65 39 63 5d 7d  de98663c6d6e9c]}
c870: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
c880: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
c890: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
c8a0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
c8b0: 63 74 20 2d 72 65 73 75 6c 74 20 33 30 63 62 66  ct -result 30cbf
c8c0: 30 36 37 39 61 39 37 63 38 37 31 35 37 34 64 32  0679a97c871574d2
c8d0: 66 63 30 35 64 37 61 61 37 36 30 63 36 62 63 38  fc05d7aa760c6bc8
c8e0: 61 38 36 34 62 37 64 32 34 36 63 33 39 62 39 65  a864b7d246c39b9e
c8f0: 38 31 32 66 39 62 37 66 66 37 62 34 65 66 35 31  812f9b7ff7b4ef51
c900: 39 37 64 64 35 62 36 39 34 39 33 33 30 36 36 38  97dd5b6949330668
c910: 38 62 38 35 36 34 64 65 31 61 64 34 37 64 37 35  8b8564de1ad47d75
c920: 35 30 35 63 39 31 33 62 61 36 61 37 38 37 38 38  505c913ba6a78788
c930: 66 38 63 61 66 35 37 38 38 62 64 0a 0a 74 63 6c  f8caf5788bd..tcl
c940: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
c950: 53 48 41 35 31 32 2d 32 2e 31 31 39 20 7b 53 48  SHA512-2.119 {SH
c960: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
c970: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
c980: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
c990: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
c9a0: 20 64 65 63 6f 64 65 20 68 65 78 20 61 38 61 33   decode hex a8a3
c9b0: 37 64 66 63 30 38 33 61 64 32 66 34 37 66 66 66  7dfc083ad2f47fff
c9c0: 34 36 38 37 33 38 62 66 38 62 37 32 38 65 62 37  468738bf8b728eb7
c9d0: 66 31 39 30 37 65 34 32 37 66 61 31 35 63 62 34  f1907e427fa15cb4
c9e0: 34 32 34 62 63 36 38 35 65 35 35 65 64 37 62 32  424bc685e55ed7b2
c9f0: 38 32 35 63 39 63 36 30 62 38 33 39 63 63 63 32  825c9c60b839ccc2
ca00: 66 65 35 66 62 33 33 65 33 36 66 35 37 30 63 62  fe5fb33e36f570cb
ca10: 38 36 36 31 36 30 39 65 36 33 30 62 64 61 30 35  8661609e630bda05
ca20: 65 65 36 34 31 64 39 33 38 34 32 38 38 36 37 64  ee641d938428867d
ca30: 39 30 65 30 30 37 34 34 61 34 61 61 64 34 39 34  90e00744a4aad494
ca40: 63 39 33 63 35 66 36 64 31 33 32 37 38 37 38 30  c93c5f6d13278780
ca50: 37 38 35 39 30 63 64 63 65 31 65 36 34 37 63 39  78590cdce1e647c9
ca60: 38 32 30 38 31 38 66 34 36 37 36 34 31 66 63 64  820818f467641fcd
ca70: 35 30 38 65 32 66 32 65 62 66 64 30 66 66 33 64  508e2f2ebfd0ff3d
ca80: 34 66 32 37 32 33 39 33 34 37 38 66 33 62 39 65  4f272393478f3b9e
ca90: 36 66 38 30 36 62 34 33 5d 7d 20 5c 0a 09 2d 62  6f806b43]} \..-b
caa0: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
cab0: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20   -digest SHA512 
cac0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
cad0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
cae0: 73 75 6c 74 20 38 65 31 63 39 31 37 32 39 62 65  sult 8e1c91729be
caf0: 38 65 62 34 30 32 32 36 66 36 63 35 38 61 30 32  8eb40226f6c58a02
cb00: 39 33 38 30 65 66 37 65 64 62 39 64 63 31 36 36  9380ef7edb9dc166
cb10: 61 35 63 33 63 64 62 63 65 66 65 39 30 62 64 33  a5c3cdbcefe90bd3
cb20: 30 64 38 35 63 62 37 63 34 62 32 34 38 65 36 36  0d85cb7c4b248e66
cb30: 61 62 66 30 61 33 61 34 63 38 34 32 32 38 31 32  abf0a3a4c8422812
cb40: 39 39 62 65 66 36 64 62 38 38 38 35 38 64 39 65  99bef6db88858d9e
cb50: 35 61 62 35 32 34 34 66 37 30 62 37 39 36 39 65  5ab5244f70b7969e
cb60: 31 63 30 37 32 0a 0a 74 63 6c 74 65 73 74 3a 3a  1c072..tcltest::
cb70: 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32  test Hash_SHA512
cb80: 2d 32 2e 31 32 30 20 7b 53 48 41 35 31 32 53 68  -2.120 {SHA512Sh
cb90: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
cba0: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
cbb0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
cbc0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
cbd0: 65 20 68 65 78 20 33 36 61 66 31 37 35 39 35 34  e hex 36af175954
cbe0: 39 34 65 66 37 39 33 63 34 32 66 34 38 34 31 30  94ef793c42f48410
cbf0: 32 34 36 64 66 30 37 64 30 35 39 33 36 61 39 31  246df07d05936a91
cc00: 38 61 66 65 37 34 63 64 30 30 35 65 35 33 37 63  8afe74cd005e537c
cc10: 35 38 36 62 32 38 34 33 37 30 31 66 35 64 66 38  586b2843701f5df8
cc20: 39 35 32 32 34 32 62 37 34 35 38 36 66 38 33 33  952242b74586f833
cc30: 33 39 62 34 38 66 34 62 61 33 61 36 36 62 64 65  39b48f4ba3a66bde
cc40: 62 34 35 37 65 63 64 66 36 31 37 38 34 65 61 63  b457ecdf61784eac
cc50: 36 37 36 35 63 64 39 62 38 63 35 37 30 64 64 36  6765cd9b8c570dd6
cc60: 32 38 64 62 62 61 36 61 65 35 38 33 36 62 39 61  28dbba6ae5836b9a
cc70: 63 33 64 62 63 64 37 39 35 66 39 65 66 64 62 38  c3dbcd795f9efdb8
cc80: 37 34 32 61 33 35 62 63 61 32 33 32 61 62 66 33  742a35bca232abf3
cc90: 36 65 62 33 62 36 36 39 38 62 32 39 33 33 39 36  6eb3b6698b293396
cca0: 35 38 30 32 32 37 37 62 61 39 35 33 61 36 65 64  5802277ba953a6ed
ccb0: 63 61 63 61 66 33 33 30 63 31 65 34 65 38 63 37  cacaf330c1e4e8c7
ccc0: 64 34 35 66 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  d45f]} \..-body 
ccd0: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
cce0: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
ccf0: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
cd00: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
cd10: 20 31 35 38 62 66 63 33 34 38 61 33 30 62 34 66   158bfc348a30b4f
cd20: 61 62 62 65 33 35 35 61 37 64 34 34 62 64 63 32  abbe355a7d44bdc2
cd30: 31 32 32 61 34 63 38 35 30 34 34 34 63 30 33 66  122a4c850444c03f
cd40: 32 38 39 30 30 33 63 65 30 31 62 66 63 31 65 62  289003ce01bfc1eb
cd50: 66 33 65 63 63 30 66 65 62 62 36 61 38 66 66 35  f3ecc0febb6a8ff5
cd60: 32 33 64 32 35 64 62 37 36 38 31 62 30 35 62 64  23d25db7681b05bd
cd70: 63 65 30 34 38 64 31 31 39 34 33 61 62 34 37 36  ce048d11943ab476
cd80: 63 31 39 36 37 63 66 36 35 35 36 63 34 61 31 32  c1967cf6556c4a12
cd90: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
cda0: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
cdb0: 32 31 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d  21 {SHA512ShortM
cdc0: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
cdd0: 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73  nts SHA512 \..-s
cde0: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
cdf0: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
ce00: 78 20 34 32 64 36 36 65 64 63 35 66 32 32 65 30  x 42d66edc5f22e0
ce10: 63 31 33 63 32 35 35 30 34 63 35 31 30 31 61 35  c13c25504c5101a5
ce20: 64 31 37 32 64 32 64 62 37 32 30 39 65 34 36 31  d172d2db7209e461
ce30: 65 66 61 33 32 33 63 30 62 66 61 65 64 32 37 65  efa323c0bfaed27e
ce40: 35 66 38 30 38 30 34 32 65 61 39 63 33 38 33 38  5f808042ea9c3838
ce50: 65 61 33 31 66 39 62 37 36 64 65 34 36 35 32 32  ea31f9b76de46522
ce60: 35 63 63 66 62 64 30 63 30 39 63 61 30 64 39 66  5ccfbd0c09ca0d9f
ce70: 30 37 65 39 61 34 33 65 33 65 34 36 63 37 36 39  07e9a43e3e46c769
ce80: 33 65 30 30 61 37 65 31 64 34 38 33 39 30 30 64  3e00a7e1d483900d
ce90: 64 62 30 61 36 32 39 64 35 35 36 33 34 35 36 64  db0a629d5563456d
cea0: 62 62 66 32 39 39 61 63 39 31 66 39 32 63 33 64  bbf299ac91f92c3d
ceb0: 33 63 31 37 62 30 35 64 31 38 30 65 36 63 38 37  3c17b05d180e6c87
cec0: 63 36 63 39 33 31 39 34 63 33 39 64 39 30 32 37  c6c93194c39d9027
ced0: 33 66 63 66 34 61 34 38 32 63 35 36 30 38 34 66  3fcf4a482c56084f
cee0: 39 35 65 33 34 63 30 34 33 31 31 66 61 38 30 34  95e34c04311fa804
cef0: 33 38 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  38]} \..-body {t
cf00: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
cf10: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
cf20: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
cf30: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 30   exact -result 0
cf40: 36 31 61 66 62 31 31 39 61 33 63 36 30 38 37 36  61afb119a3c60876
cf50: 65 30 34 63 31 30 66 31 32 61 64 30 66 34 62 39  e04c10f12ad0f4b9
cf60: 37 37 35 39 33 64 63 35 61 32 64 32 31 30 39 36  77593dc5a2d21096
cf70: 61 35 37 65 37 64 33 66 37 64 34 64 34 34 66 64  a57e7d3f7d4d44fd
cf80: 65 66 39 33 34 62 32 63 31 37 64 37 35 33 30 36  ef934b2c17d75306
cf90: 37 34 65 34 66 34 61 31 63 31 37 36 64 62 64 63  74e4f4a1c176dbdc
cfa0: 63 35 34 38 31 31 61 32 32 65 31 62 38 37 31 32  c54811a22e1b8712
cfb0: 65 34 31 39 32 66 63 32 64 34 62 66 38 65 38 0a  e4192fc2d4bf8e8.
cfc0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
cfd0: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 32 32  ash_SHA512-2.122
cfe0: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
cff0: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
d000: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
d010: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
d020: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
d030: 66 39 31 62 62 32 65 31 61 39 63 34 63 64 39 36  f91bb2e1a9c4cd96
d040: 62 66 32 35 30 34 32 36 62 33 61 36 61 66 64 39  bf250426b3a6afd9
d050: 62 38 37 61 63 35 31 65 39 33 32 35 34 64 32 64  b87ac51e93254d2d
d060: 61 65 33 62 31 36 65 63 36 38 36 62 61 38 30 66  ae3b16ec686ba80f
d070: 62 30 62 64 37 61 38 34 64 32 31 38 36 36 30 65  b0bd7a84d218660e
d080: 39 30 30 37 35 39 33 30 37 35 62 63 34 66 34 63  9007593075bc4f4c
d090: 36 36 35 36 37 66 30 63 37 61 35 66 64 32 30 31  66567f0c7a5fd201
d0a0: 30 63 39 39 39 61 38 61 30 65 66 61 38 31 66 38  0c999a8a0efa81f8
d0b0: 39 66 66 35 62 66 65 66 65 30 66 62 39 31 30 66  9ff5bfefe0fb910f
d0c0: 30 34 34 32 65 36 64 34 61 37 63 35 35 62 62 62  0442e6d4a7c55bbb
d0d0: 36 31 38 63 36 39 61 37 39 61 32 64 64 64 38 32  618c69a79a2ddd82
d0e0: 61 30 39 33 38 39 32 37 66 36 66 65 33 61 38 30  a0938927f6fe3a80
d0f0: 66 30 34 62 65 61 65 62 37 63 37 36 33 36 65 33  f04beaeb7c7636e3
d100: 34 33 35 64 31 32 64 63 66 31 63 36 62 62 36 65  435d12dcf1c6bb6e
d110: 64 30 61 34 65 64 62 36 39 63 39 36 35 37 66 61  d0a4edb69c9657fa
d120: 39 33 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74  93]} \..-body {t
d130: 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65  ls::digest -dige
d140: 73 74 20 53 48 41 35 31 32 20 2d 64 61 74 61 20  st SHA512 -data 
d150: 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68  $data} \..-match
d160: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 36   exact -result 6
d170: 65 36 39 32 63 38 63 36 39 34 65 65 30 61 33 35  e692c8c694ee0a35
d180: 36 35 66 33 37 61 32 39 39 65 30 30 30 36 62 38  65f37a299e0006b8
d190: 35 61 62 34 61 38 32 31 62 32 30 65 37 36 37 39  5ab4a821b20e7679
d1a0: 38 32 32 30 32 32 39 66 36 35 36 65 66 63 36 61  8220229f656efc6a
d1b0: 32 30 32 31 31 61 34 65 37 65 34 65 64 37 37 66  20211a4e7e4ed77f
d1c0: 61 63 64 65 30 64 37 30 65 34 64 35 64 39 35 62  acde0d70e4d5d95b
d1d0: 63 38 65 64 31 64 37 61 35 36 64 38 64 66 31 34  c8ed1d7a56d8df14
d1e0: 34 36 64 35 36 32 66 30 34 34 62 33 34 34 63 0a  46d562f044b344c.
d1f0: 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48  .tcltest::test H
d200: 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31 32 33  ash_SHA512-2.123
d210: 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67   {SHA512ShortMsg
d220: 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74  } \..-constraint
d230: 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74  s SHA512 \..-set
d240: 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69  up {set data [bi
d250: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
d260: 64 31 65 62 39 36 31 63 61 36 61 38 66 36 37 63  d1eb961ca6a8f67c
d270: 34 39 62 36 31 65 34 64 33 63 65 61 61 32 61 31  49b61e4d3ceaa2a1
d280: 64 65 36 66 30 65 61 39 32 37 62 31 33 32 62 66  de6f0ea927b132bf
d290: 39 38 37 61 62 64 61 61 37 32 35 62 30 65 31 65  987abdaa725b0e1e
d2a0: 32 37 34 65 34 36 38 33 30 65 39 39 61 32 66 37  274e46830e99a2f7
d2b0: 35 61 66 36 30 38 39 36 34 64 66 30 64 66 66 39  5af608964df0dff9
d2c0: 61 39 39 30 32 34 66 63 36 38 33 39 62 61 63 35  a99024fc6839bac5
d2d0: 61 63 64 31 30 32 30 32 66 39 32 31 61 63 37 31  acd10202f921ac71
d2e0: 61 32 37 66 63 64 61 36 38 31 61 61 33 31 30 39  a27fcda681aa3109
d2f0: 65 62 66 35 66 32 31 65 65 33 61 38 34 39 30 39  ebf5f21ee3a84909
d300: 38 65 61 33 61 35 35 31 65 38 34 34 66 61 65 34  8ea3a551e844fae4
d310: 62 34 38 62 35 63 35 62 62 39 37 63 63 63 38 30  b48b5c5bb97ccc80
d320: 32 62 63 35 35 32 30 64 36 38 61 31 34 63 62 37  2bc5520d68a14cb7
d330: 65 35 66 63 30 35 36 62 36 37 64 38 38 39 64 38  e5fc056b67d889d8
d340: 37 36 65 66 62 38 32 64 30 65 39 61 39 61 32 34  76efb82d0e9a9a24
d350: 39 39 66 31 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20  99f1]} \..-body 
d360: 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d 64 69  {tls::digest -di
d370: 67 65 73 74 20 53 48 41 35 31 32 20 2d 64 61 74  gest SHA512 -dat
d380: 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d 61 74  a $data} \..-mat
d390: 63 68 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74  ch exact -result
d3a0: 20 33 39 62 32 63 37 36 65 63 32 30 37 31 32 30   39b2c76ec207120
d3b0: 64 65 34 62 33 32 30 63 37 66 65 30 36 39 65 36  de4b320c7fe069e6
d3c0: 30 32 63 39 63 33 38 66 32 35 37 35 39 36 64 61  02c9c38f257596da
d3d0: 37 33 36 39 33 39 35 65 38 37 65 62 36 34 62 33  7369395e87eb64b3
d3e0: 61 63 66 66 39 38 38 63 31 38 33 39 61 63 32 36  acff988c1839ac26
d3f0: 39 64 35 30 31 32 63 30 39 33 66 39 65 64 64 34  9d5012c093f9edd4
d400: 62 37 63 61 62 66 31 33 62 64 65 61 37 64 34 32  b7cabf13bdea7d42
d410: 65 39 36 39 61 62 31 30 38 32 36 39 63 36 61 62  e969ab108269c6ab
d420: 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  0..tcltest::test
d430: 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32 2e 31   Hash_SHA512-2.1
d440: 32 34 20 7b 53 48 41 35 31 32 53 68 6f 72 74 4d  24 {SHA512ShortM
d450: 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69  sg} \..-constrai
d460: 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09 2d 73  nts SHA512 \..-s
d470: 65 74 75 70 20 7b 73 65 74 20 64 61 74 61 20 5b  etup {set data [
d480: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
d490: 78 20 61 64 66 32 32 36 33 32 30 30 66 33 37 36  x adf2263200f376
d4a0: 38 38 36 62 61 37 62 36 66 35 65 34 34 31 31 64  886ba7b6f5e4411d
d4b0: 35 66 30 37 66 37 64 39 64 31 30 31 35 39 30 63  5f07f7d9d101590c
d4c0: 37 33 61 63 65 31 31 34 62 61 66 62 63 62 30 66  73ace114bafbcb0f
d4d0: 64 63 39 39 32 36 39 65 38 37 63 64 32 63 65 61  dc99269e87cd2cea
d4e0: 64 32 61 31 63 66 65 35 37 34 34 33 39 34 64 33  d2a1cfe5744394d3
d4f0: 33 33 61 62 61 34 30 38 61 30 37 65 32 31 66 33  33aba408a07e21f3
d500: 30 32 33 33 62 36 35 62 39 30 37 34 37 32 65 39  0233b65b907472e9
d510: 65 33 63 37 64 36 65 37 61 61 36 64 32 63 34 37  e3c7d6e7aa6d2c47
d520: 61 30 38 61 31 62 65 37 62 62 38 37 37 39 31 33  a08a1be7bb877913
d530: 61 36 62 35 36 30 34 63 37 32 33 33 38 34 34 37  a6b5604c72338447
d540: 38 39 31 31 63 33 33 39 65 33 62 35 66 65 35 32  8911c339e3b5fe52
d550: 37 63 37 65 32 38 38 37 30 35 61 38 39 63 39 35  7c7e288705a89c95
d560: 64 39 37 30 62 34 34 33 33 34 37 38 39 37 65 37  d970b443347897e7
d570: 39 66 36 63 35 32 32 62 61 66 65 36 32 62 31 31  9f6c522bafe62b11
d580: 65 66 38 66 33 31 33 35 5d 7d 20 5c 0a 09 2d 62  ef8f3135]} \..-b
d590: 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74  ody {tls::digest
d5a0: 20 2d 64 69 67 65 73 74 20 53 48 41 35 31 32 20   -digest SHA512 
d5b0: 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09  -data $data} \..
d5c0: 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d 72 65  -match exact -re
d5d0: 73 75 6c 74 20 33 63 32 33 64 32 64 38 63 66 34  sult 3c23d2d8cf4
d5e0: 64 62 36 61 63 36 61 34 32 65 32 37 32 30 38 31  db6ac6a42e272081
d5f0: 38 30 66 33 37 36 36 38 62 65 66 35 65 65 30 61  80f37668bef5ee0a
d600: 33 66 38 37 39 34 38 33 63 38 65 36 30 34 65 37  3f879483c8e604e7
d610: 66 34 32 35 38 33 66 32 30 32 30 33 37 62 38 64  f42583f202037b8d
d620: 32 34 32 63 30 34 61 38 37 33 34 35 62 38 62 65  242c04a87345b8be
d630: 36 64 63 38 62 31 32 31 64 36 34 38 34 62 39 65  6dc8b121d6484b9e
d640: 64 61 64 30 64 37 33 63 38 39 34 63 31 32 38 38  dad0d73c894c1288
d650: 66 35 63 61 65 0a 0a 74 63 6c 74 65 73 74 3a 3a  f5cae..tcltest::
d660: 74 65 73 74 20 48 61 73 68 5f 53 48 41 35 31 32  test Hash_SHA512
d670: 2d 32 2e 31 32 35 20 7b 53 48 41 35 31 32 53 68  -2.125 {SHA512Sh
d680: 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73  ortMsg} \..-cons
d690: 74 72 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c  traints SHA512 \
d6a0: 0a 09 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61  ..-setup {set da
d6b0: 74 61 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ta [binary decod
d6c0: 65 20 68 65 78 20 31 38 65 37 35 62 34 37 64 38  e hex 18e75b47d8
d6d0: 39 38 61 63 36 32 39 63 34 38 65 38 30 64 62 66  98ac629c48e80dbf
d6e0: 62 37 35 64 61 65 31 65 31 37 30 30 62 37 37 31  b75dae1e1700b771
d6f0: 31 36 35 65 63 63 64 62 31 38 64 36 32 38 62 66  165eccdb18d628bf
d700: 63 34 30 36 33 64 64 36 63 33 38 33 39 61 37 65  c4063dd6c3839a7e
d710: 63 34 63 64 31 32 35 35 63 34 38 32 31 62 30 37  c4cd1255c4821b07
d720: 38 63 64 31 37 34 36 34 37 62 33 32 30 62 62 36  8cd174647b320bb6
d730: 38 35 35 34 31 64 35 31 37 63 35 37 39 66 36 62  85541d517c579f6b
d740: 38 65 33 63 64 64 32 65 31 30 39 61 36 31 30 63  8e3cdd2e109a610c
d750: 37 61 39 32 31 36 35 33 62 32 30 34 61 64 30 31  7a921653b204ad01
d760: 38 64 30 33 34 30 64 39 39 33 38 37 33 35 62 36  8d0340d9938735b6
d770: 30 32 36 32 36 36 32 30 31 36 37 36 37 65 31 64  0262662016767e1d
d780: 38 38 32 34 61 36 34 39 35 34 30 38 36 32 32 39  8824a64954086229
d790: 63 30 65 33 62 35 62 64 39 61 64 38 38 63 35 34  c0e3b5bd9ad88c54
d7a0: 63 31 64 63 35 61 61 34 65 37 36 38 66 66 31 61  c1dc5aa4e768ff1a
d7b0: 39 34 37 30 65 65 36 66 36 65 39 39 38 66 5d 7d  9470ee6f6e998f]}
d7c0: 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a   \..-body {tls::
d7d0: 64 69 67 65 73 74 20 2d 64 69 67 65 73 74 20 53  digest -digest S
d7e0: 48 41 35 31 32 20 2d 64 61 74 61 20 24 64 61 74  HA512 -data $dat
d7f0: 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  a} \..-match exa
d800: 63 74 20 2d 72 65 73 75 6c 74 20 30 31 63 37 35  ct -result 01c75
d810: 36 62 37 63 32 30 62 35 66 39 35 66 64 32 62 30  6b7c20b5f95fd2b0
d820: 37 39 61 62 36 61 35 30 66 32 38 62 39 34 36 66  79ab6a50f28b946f
d830: 62 31 36 32 36 36 62 30 37 63 36 30 36 30 39 34  b16266b07c606094
d840: 35 64 63 34 66 65 39 65 30 64 32 37 39 63 35 62  5dc4fe9e0d279c5b
d850: 31 35 30 35 62 39 65 63 37 64 38 66 38 66 33 63  1505b9ec7d8f8f3c
d860: 39 65 62 66 30 63 35 65 65 39 33 36 35 61 65 63  9ebf0c5ee9365aec
d870: 30 38 63 66 32 37 38 64 36 35 62 36 34 64 61 65  08cf278d65b64dae
d880: 63 63 63 31 39 64 33 63 62 66 34 0a 0a 74 63 6c  ccc19d3cbf4..tcl
d890: 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f  test::test Hash_
d8a0: 53 48 41 35 31 32 2d 32 2e 31 32 36 20 7b 53 48  SHA512-2.126 {SH
d8b0: 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a  A512ShortMsg} \.
d8c0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48  .-constraints SH
d8d0: 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b  A512 \..-setup {
d8e0: 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79  set data [binary
d8f0: 20 64 65 63 6f 64 65 20 68 65 78 20 63 32 39 36   decode hex c296
d900: 33 33 34 32 63 66 61 61 38 38 63 63 64 31 30 32  3342cfaa88ccd102
d910: 61 32 35 38 65 36 64 36 32 39 66 36 62 30 64 33  a258e6d629f6b0d3
d920: 36 37 64 64 35 35 31 31 36 35 30 32 63 61 34 34  67dd55116502ca44
d930: 35 31 65 61 35 32 33 36 32 33 62 63 34 31 37 35  51ea523623bc4175
d940: 38 31 39 61 30 36 34 38 64 66 33 31 36 38 65 38  819a0648df3168e8
d950: 65 61 38 66 31 30 65 64 32 37 33 35 34 38 30 37  ea8f10ed27354807
d960: 64 37 36 65 30 32 65 65 31 66 64 66 31 63 39 63  d76e02ee1fdf1c9c
d970: 36 35 35 65 65 32 62 39 66 64 30 38 64 35 35 37  655ee2b9fd08d557
d980: 30 35 38 64 61 62 64 66 38 64 63 66 39 36 34 62  058dabdf8dcf964b
d990: 66 63 61 63 63 39 39 36 61 65 31 37 33 39 37 31  fcacc996ae173971
d9a0: 65 32 36 65 61 30 33 38 64 34 30 37 63 38 32 34  e26ea038d407c824
d9b0: 32 36 30 64 30 36 63 32 38 34 38 61 30 34 61 34  260d06c2848a04a4
d9c0: 38 38 63 34 63 34 35 36 64 62 63 64 65 32 39 33  88c4c456dbcde293
d9d0: 39 65 35 36 31 61 62 39 30 38 63 34 30 39 37 62  9e561ab908c4097b
d9e0: 35 30 38 36 33 38 64 36 63 64 61 35 35 36 34 36  508638d6cda55646
d9f0: 35 63 39 63 63 35 5d 7d 20 5c 0a 09 2d 62 6f 64  5c9cc5]} \..-bod
da00: 79 20 7b 74 6c 73 3a 3a 64 69 67 65 73 74 20 2d  y {tls::digest -
da10: 64 69 67 65 73 74 20 53 48 41 35 31 32 20 2d 64  digest SHA512 -d
da20: 61 74 61 20 24 64 61 74 61 7d 20 5c 0a 09 2d 6d  ata $data} \..-m
da30: 61 74 63 68 20 65 78 61 63 74 20 2d 72 65 73 75  atch exact -resu
da40: 6c 74 20 61 34 64 32 66 35 39 33 39 33 61 35 66  lt a4d2f59393a5f
da50: 65 61 36 31 32 63 33 63 37 34 35 66 34 62 62 39  ea612c3c745f4bb9
da60: 66 34 31 61 61 66 33 61 33 63 65 31 36 37 39 61  f41aaf3a3ce1679a
da70: 61 38 61 66 63 31 61 36 32 62 61 61 34 65 64 34  a8afc1a62baa4ed4
da80: 35 32 38 31 39 34 31 38 63 38 61 65 31 61 31 65  52819418c8ae1a1e
da90: 36 35 38 37 35 37 39 37 36 36 39 32 33 39 30 66  658757976692390f
daa0: 63 34 33 64 34 64 65 63 66 37 64 38 35 35 63 64  c43d4decf7d855cd
dab0: 38 62 34 39 38 62 36 64 63 36 30 63 61 65 30 35  8b498b6dc60cae05
dac0: 61 39 30 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  a90..tcltest::te
dad0: 73 74 20 48 61 73 68 5f 53 48 41 35 31 32 2d 32  st Hash_SHA512-2
dae0: 2e 31 32 37 20 7b 53 48 41 35 31 32 53 68 6f 72  .127 {SHA512Shor
daf0: 74 4d 73 67 7d 20 5c 0a 09 2d 63 6f 6e 73 74 72  tMsg} \..-constr
db00: 61 69 6e 74 73 20 53 48 41 35 31 32 20 5c 0a 09  aints SHA512 \..
db10: 2d 73 65 74 75 70 20 7b 73 65 74 20 64 61 74 61  -setup {set data
db20: 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20   [binary decode 
db30: 68 65 78 20 38 35 33 36 30 63 33 64 34 32 35 37  hex 85360c3d4257
db40: 64 39 38 37 38 65 32 66 35 63 31 36 64 33 63 64  d9878e2f5c16d3cd
db50: 37 64 30 37 34 37 64 66 33 64 32 33 31 65 31 61  7d0747df3d231e1a
db60: 38 66 36 33 66 64 64 63 36 39 62 33 62 31 31 30  8f63fddc69b3b110
db70: 31 61 66 37 32 31 35 33 64 65 34 63 38 31 35 34  1af72153de4c8154
db80: 62 30 39 30 63 39 38 31 35 66 32 34 36 36 65 30  b090c9815f2466e0
db90: 65 34 66 30 32 66 33 61 66 33 61 38 39 61 37 66  e4f02f3af3a89a7f
dba0: 64 30 34 65 33 30 36 36 36 34 66 39 33 65 35 34  d04e306664f93e54
dbb0: 39 30 64 34 63 65 37 66 63 31 36 39 64 35 35 33  90d4ce7fc169d553
dbc0: 63 35 32 30 61 65 31 35 64 64 30 32 63 37 63 36  c520ae15dd02c7c6
dbd0: 31 33 63 33 39 62 34 61 63 64 30 30 65 30 63 39  13c39b4acd00e0c9
dbe0: 61 33 63 35 30 31 35 36 36 65 35 32 63 65 63 65  a3c501566e52cece
dbf0: 61 31 31 66 37 33 30 33 64 64 31 64 61 36 31 61  a11f7303dd1da61a
dc00: 62 66 33 66 32 35 33 32 66 64 33 39 36 30 34 37  bf3f2532fd396047
dc10: 62 31 38 38 37 32 35 35 66 34 62 32 35 36 63 30  b1887255f4b256c0
dc20: 61 66 63 66 35 38 66 33 61 65 34 38 63 39 34 37  afcf58f3ae48c947
dc30: 5d 7d 20 5c 0a 09 2d 62 6f 64 79 20 7b 74 6c 73  ]} \..-body {tls
dc40: 3a 3a 64 69 67 65 73 74 20 2d 64 69 67 65 73 74  ::digest -digest
dc50: 20 53 48 41 35 31 32 20 2d 64 61 74 61 20 24 64   SHA512 -data $d
dc60: 61 74 61 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65  ata} \..-match e
dc70: 78 61 63 74 20 2d 72 65 73 75 6c 74 20 65 38 33  xact -result e83
dc80: 35 32 64 64 63 61 63 35 39 65 33 37 37 65 61 30  52ddcac59e377ea0
dc90: 66 39 63 33 32 62 62 62 34 33 64 66 64 31 62 36  f9c32bbb43dfd1b6
dca0: 63 38 32 39 66 61 64 31 39 35 34 32 34 30 63 34  c829fad1954240c4
dcb0: 31 62 37 63 34 35 62 30 62 30 39 64 62 31 31 30  1b7c45b0b09db110
dcc0: 36 34 62 36 34 65 32 34 34 32 61 39 36 66 36 35  64b64e2442a96f65
dcd0: 33 30 61 61 63 32 63 34 61 62 66 33 62 65 62 31  30aac2c4abf3beb1
dce0: 65 61 65 37 37 66 32 62 63 65 34 65 66 65 38 38  eae77f2bce4efe88
dcf0: 66 65 65 31 61 37 30 63 66 35 34 32 33 0a 0a 74  fee1a70cf5423..t
dd00: 63 6c 74 65 73 74 3a 3a 74 65 73 74 20 48 61 73  cltest::test Has
dd10: 68 5f 53 48 41 35 31 32 2d 32 2e 31 32 38 20 7b  h_SHA512-2.128 {
dd20: 53 48 41 35 31 32 53 68 6f 72 74 4d 73 67 7d 20  SHA512ShortMsg} 
dd30: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
dd40: 53 48 41 35 31 32 20 5c 0a 09 2d 73 65 74 75 70  SHA512 \..-setup
dd50: 20 7b 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61   {set data [bina
dd60: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 63 31  ry decode hex c1
dd70: 33 65 36 63 61 33 61 62 62 38 39 33 61 61 35 66  3e6ca3abb893aa5f
dd80: 38 32 63 34 61 38 65 66 37 35 34 34 36 30 36 32  82c4a8ef75446062
dd90: 38 61 66 36 62 37 35 61 66 30 32 31 36 38 66 34  8af6b75af02168f4
dda0: 35 62 37 32 66 38 66 30 39 65 34 35 65 64 31 32  5b72f8f09e45ed12
ddb0: 37 63 32 30 33 62 63 37 62 62 38 30 66 66 30 63  7c203bc7bb80ff0c
ddc0: 37 62 64 39 36 66 38 63 63 36 64 38 31 31 30 38  7bd96f8cc6d81108
ddd0: 36 38 65 62 32 63 66 63 30 31 30 33 37 64 38 30  68eb2cfc01037d80
dde0: 35 38 39 39 32 61 36 63 66 32 65 66 66 63 62 66  58992a6cf2effcbf
ddf0: 65 34 39 38 63 38 34 32 65 35 33 61 32 65 36 38  e498c842e53a2e68
de00: 61 37 39 33 38 36 37 39 36 38 62 61 31 38 65 66  a793867968ba18ef
de10: 63 34 61 37 38 62 32 31 63 64 66 36 61 31 31 65  c4a78b21cdf6a11e
de20: 35 64 65 38 32 31 64 63 61 62 61 62 31 34 39 32  5de821dcabab1492
de30: 31 64 64 62 33 33 36 32 35 64 34 38 61 31 33 62  1ddb33625d48a13b
de40: 61 66 66 61 64 36 66 65 38 32 37 32 64 62 64 66  affad6fe8272dbdf
de50: 34 34 33 33 62 64 30 66 37 62 38 31 33 63 39 38  4433bd0f7b813c98
de60: 31 32 36 39 63 33 38 38 66 30 30 31 5d 7d 20 5c  1269c388f001]} \
de70: 0a 09 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69  ..-body {tls::di
de80: 67 65 73 74 20 2d 64 69 67 65 73 74 20 53 48 41  gest -digest SHA
de90: 35 31 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d  512 -data $data}
dea0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
deb0: 20 2d 72 65 73 75 6c 74 20 36 65 35 36 66 37 37   -result 6e56f77
dec0: 66 36 38 38 33 64 30 62 64 34 66 61 63 65 38 62  f6883d0bd4face8b
ded0: 38 64 35 35 37 66 31 34 34 36 36 31 39 38 39 66  8d557f144661989f
dee0: 36 36 64 35 31 62 31 66 65 34 62 38 66 63 37 31  66d51b1fe4b8fc71
def0: 32 34 64 36 36 64 39 64 32 30 32 31 38 36 31 36  24d66d9d20218616
df00: 66 65 61 31 62 63 66 38 36 63 30 38 64 36 33 62  fea1bcf86c08d63b
df10: 66 38 66 32 66 32 31 38 34 35 61 33 65 35 31 39  f8f2f21845a3e519
df20: 30 38 33 62 39 33 37 65 37 30 61 61 37 63 33 35  083b937e70aa7c35
df30: 38 33 31 30 62 35 61 37 63 0a 0a 74 63 6c 74 65  8310b5a7c..tclte
df40: 73 74 3a 3a 74 65 73 74 20 48 61 73 68 5f 53 48  st::test Hash_SH
df50: 41 35 31 32 2d 32 2e 31 32 39 20 7b 53 48 41 35  A512-2.129 {SHA5
df60: 31 32 53 68 6f 72 74 4d 73 67 7d 20 5c 0a 09 2d  12ShortMsg} \..-
df70: 63 6f 6e 73 74 72 61 69 6e 74 73 20 53 48 41 35  constraints SHA5
df80: 31 32 20 5c 0a 09 2d 73 65 74 75 70 20 7b 73 65  12 \..-setup {se
df90: 74 20 64 61 74 61 20 5b 62 69 6e 61 72 79 20 64  t data [binary d
dfa0: 65 63 6f 64 65 20 68 65 78 20 66 64 32 32 30 33  ecode hex fd2203
dfb0: 65 34 36 37 35 37 34 65 38 33 34 61 62 30 37 63  e467574e834ab07c
dfc0: 39 30 39 37 61 65 31 36 34 35 33 32 66 32 34 62  9097ae164532f24b
dfd0: 65 31 65 62 35 64 38 38 66 31 61 66 37 37 34 38  e1eb5d88f1af7748
dfe0: 63 65 66 66 30 64 32 63 36 37 61 32 31 66 34 65  ceff0d2c67a21f4e
dff0: 34 30 39 37 66 39 64 33 62 62 34 65 39 66 62 66  4097f9d3bb4e9fbf
e000: 39 37 31 38 36 65 30 64 62 36 64 62 30 31 30 30  97186e0db6db0100
e010: 32 33 30 61 35 32 62 34 35 33 64 34 32 31 66 38  230a52b453d421f8
e020: 61 62 39 63 39 61 36 30 34 33 61 61 33 32 39 35  ab9c9a6043aa3295
e030: 65 61 32 30 64 32 66 30 36 61 32 66 33 37 34 37  ea20d2f06a2f3747
e040: 30 64 38 61 39 39 30 37 35 66 31 62 38 61 38 33  0d8a99075f1b8a83
e050: 33 36 66 36 32 32 38 63 66 30 38 62 35 39 34 32  36f6228cf08b5942
e060: 66 63 31 66 62 34 32 39 39 63 37 64 32 34 38 30  fc1fb4299c7d2480
e070: 65 38 65 38 32 62 63 65 31 37 35 35 34 30 62 64  e8e82bce175540bd
e080: 66 61 64 37 37 35 32 62 63 39 35 62 35 37 37 66  fad7752bc95b577f
e090: 32 32 39 35 31 35 33 39 34 66 33 61 65 35 63 65  229515394f3ae5ce
e0a0: 63 38 37 30 61 34 62 32 66 38 5d 7d 20 5c 0a 09  c870a4b2f8]} \..
e0b0: 2d 62 6f 64 79 20 7b 74 6c 73 3a 3a 64 69 67 65  -body {tls::dige
e0c0: 73 74 20 2d 64 69 67 65 73 74 20 53 48 41 35 31  st -digest SHA51
e0d0: 32 20 2d 64 61 74 61 20 24 64 61 74 61 7d 20 5c  2 -data $data} \
e0e0: 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74 20 2d  ..-match exact -
e0f0: 72 65 73 75 6c 74 20 61 32 31 62 31 30 37 37 64  result a21b1077d
e100: 35 32 62 32 37 61 63 35 34 35 61 66 36 33 62 33  52b27ac545af63b3
e110: 32 37 34 36 63 36 65 33 63 35 31 63 62 30 63 62  2746c6e3c51cb0cb
e120: 39 66 32 38 31 65 62 39 66 33 35 38 30 61 36 64  9f281eb9f3580a6d
e130: 34 39 39 36 64 35 63 39 39 31 37 64 32 61 36 65  4996d5c9917d2a6e
e140: 34 38 34 36 32 37 61 39 64 35 61 30 36 66 61 31  484627a9d5a06fa1
e150: 62 32 35 33 32 37 61 39 64 37 31 30 65 30 32 37  b25327a9d710e027
e160: 33 38 37 66 63 33 65 30 37 64 37 63 34 64 31 34  387fc3e07d7c4d14
e170: 63 36 30 38 36 63 63 0a 0a 23 20 43 6c 65 61 6e  c6086cc..# Clean
e180: 75 70 0a 3a 3a 74 63 6c 74 65 73 74 3a 3a 63 6c  up.::tcltest::cl
e190: 65 61 6e 75 70 54 65 73 74 73 0a 72 65 74 75 72  eanupTests.retur
e1a0: 6e 0a                                            n.