Hex Artifact Content

Artifact 2969f7b1ad68a5a75538cb9f69004f1ba42e4742a1814644ff56bb0f9d57e059:


0000: 23 20 47 72 6f 75 70 2c 4e 61 6d 65 2c 43 6f 6e  # Group,Name,Con
0010: 73 74 72 61 69 6e 74 73 2c 53 65 74 75 70 2c 42  straints,Setup,B
0020: 6f 64 79 2c 43 6c 65 61 6e 75 70 2c 4d 61 74 63  ody,Cleanup,Matc
0030: 68 2c 52 65 73 75 6c 74 2c 4f 75 74 70 75 74 2c  h,Result,Output,
0040: 45 72 72 6f 72 20 4f 75 74 70 75 74 2c 52 65 74  Error Output,Ret
0050: 75 72 6e 20 43 6f 64 65 73 0a 63 6f 6d 6d 61 6e  urn Codes.comman
0060: 64 2c 70 61 63 6b 61 67 65 20 72 65 71 75 69 72  d,package requir
0070: 65 20 74 6c 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c  e tls,,,,,,,,,.,
0080: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
0090: 64 2c 23 20 43 6f 6e 73 74 72 61 69 6e 74 73 2c  d,# Constraints,
00a0: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
00b0: 2c 73 6f 75 72 63 65 20 63 6f 6d 6d 6f 6e 2e 74  ,source common.t
00c0: 63 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c  cl,,,,,,,,,.,,,,
00d0: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
00e0: 20 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e   Helper function
00f0: 73 20 2d 20 53 65 65 20 63 6f 6d 6d 6f 6e 2e 74  s - See common.t
0100: 63 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  cl,,,,,,,,,.comm
0110: 61 6e 64 2c 70 72 6f 63 20 64 69 67 65 73 74 5f  and,proc digest_
0120: 72 65 61 64 5f 63 68 61 6e 20 7b 63 6d 64 20 66  read_chan {cmd f
0130: 69 6c 65 6e 61 6d 65 20 61 72 67 73 7d 20 7b 3b  ilename args} {;
0140: 73 65 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69  set ch [open $fi
0150: 6c 65 6e 61 6d 65 20 72 62 5d 3b 73 65 74 20 62  lename rb];set b
0160: 73 69 7a 65 20 5b 66 63 6f 6e 66 69 67 75 72 65  size [fconfigure
0170: 20 24 63 68 20 2d 62 75 66 66 65 72 73 69 7a 65   $ch -buffersize
0180: 5d 3b 73 65 74 20 6e 65 77 20 5b 24 63 6d 64 20  ];set new [$cmd 
0190: 7b 2a 7d 24 61 72 67 73 20 2d 63 68 61 6e 20 24  {*}$args -chan $
01a0: 63 68 5d 3b 77 68 69 6c 65 20 7b 21 5b 65 6f 66  ch];while {![eof
01b0: 20 24 6e 65 77 5d 7d 20 7b 73 65 74 20 6d 64 20   $new]} {set md 
01c0: 5b 72 65 61 64 20 24 6e 65 77 20 24 62 73 69 7a  [read $new $bsiz
01d0: 65 5d 7d 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 72  e]};close $new;r
01e0: 65 74 75 72 6e 20 24 6d 64 7d 2c 2c 2c 2c 2c 2c  eturn $md},,,,,,
01f0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 70 72 6f 63  ,,,.command,proc
0200: 20 64 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68   digest_write_ch
0210: 61 6e 20 7b 63 6d 64 20 66 69 6c 65 6e 61 6d 65  an {cmd filename
0220: 20 64 61 74 61 20 61 72 67 73 7d 20 7b 3b 73 65   data args} {;se
0230: 74 20 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65  t ch [open $file
0240: 6e 61 6d 65 20 77 62 5d 3b 73 65 74 20 6e 65 77  name wb];set new
0250: 20 5b 24 63 6d 64 20 7b 2a 7d 24 61 72 67 73 20   [$cmd {*}$args 
0260: 2d 63 68 61 6e 20 24 63 68 5d 3b 70 75 74 73 20  -chan $ch];puts 
0270: 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 6e 65 77 20  -nonewline $new 
0280: 24 64 61 74 61 3b 66 6c 75 73 68 20 24 6e 65 77  $data;flush $new
0290: 3b 63 6c 6f 73 65 20 24 6e 65 77 3b 73 65 74 20  ;close $new;set 
02a0: 63 68 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e 61  ch [open $filena
02b0: 6d 65 20 72 62 5d 3b 73 65 74 20 6d 64 20 5b 72  me rb];set md [r
02c0: 65 61 64 20 24 63 68 5d 3b 63 6c 6f 73 65 20 24  ead $ch];close $
02d0: 63 68 3b 72 65 74 75 72 6e 20 24 6d 64 7d 2c 2c  ch;return $md},,
02e0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
02f0: 70 72 6f 63 20 64 69 67 65 73 74 5f 61 63 63 75  proc digest_accu
0300: 6d 75 6c 61 74 65 20 7b 73 74 72 69 6e 67 20 61  mulate {string a
0310: 72 67 73 7d 20 7b 3b 73 65 74 20 63 6d 64 20 5b  rgs} {;set cmd [
0320: 7b 2a 7d 24 61 72 67 73 20 2d 63 6f 6d 6d 61 6e  {*}$args -comman
0330: 64 20 64 63 6d 64 5d 3b 20 24 63 6d 64 20 75 70  d dcmd]; $cmd up
0340: 64 61 74 65 20 5b 73 74 72 69 6e 67 20 72 61 6e  date [string ran
0350: 67 65 20 24 73 74 72 69 6e 67 20 30 20 32 30 5d  ge $string 0 20]
0360: 3b 24 63 6d 64 20 75 70 64 61 74 65 20 5b 73 74  ;$cmd update [st
0370: 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 69  ring range $stri
0380: 6e 67 20 32 31 20 65 6e 64 5d 3b 72 65 74 75 72  ng 21 end];retur
0390: 6e 20 5b 24 63 6d 64 20 66 69 6e 61 6c 69 7a 65  n [$cmd finalize
03a0: 5d 7d 2c 24 63 6d 64 20 75 70 64 61 74 65 20 5b  ]},$cmd update [
03b0: 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74  string range $st
03c0: 72 69 6e 67 20 30 20 32 30 5d 3b 24 63 6d 64 20  ring 0 20];$cmd 
03d0: 75 70 64 61 74 65 20 5b 73 74 72 69 6e 67 20 72  update [string r
03e0: 61 6e 67 65 20 24 73 74 72 69 6e 67 20 32 31 20  ange $string 21 
03f0: 65 6e 64 5d 3b 72 65 74 75 72 6e 20 5b 24 63 6d  end];return [$cm
0400: 64 20 66 69 6e 61 6c 69 7a 65 5d 7d 2c 2c 2c 2c  d finalize]},,,,
0410: 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,,.,,,,,,,,,,.
0420: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
0430: 74 5f 64 61 74 61 20 22 22 45 78 61 6d 70 6c 65  t_data ""Example
0440: 20 73 74 72 69 6e 67 20 66 6f 72 20 6d 65 73 73   string for mess
0450: 61 67 65 20 64 69 67 65 73 74 20 74 65 73 74 73  age digest tests
0460: 2e 5c 6e 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  .\n""",,,,,,,,,.
0470: 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73  command,"set tes
0480: 74 5f 66 69 6c 65 20 22 22 6d 64 5f 64 61 74 61  t_file ""md_data
0490: 2e 64 61 74 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  .dat""",,,,,,,,,
04a0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65  .command,"set te
04b0: 73 74 5f 61 6c 74 5f 66 69 6c 65 20 22 22 6d 64  st_alt_file ""md
04c0: 5f 61 6c 74 5f 64 61 74 61 2e 64 61 74 22 22 22  _alt_data.dat"""
04d0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
04e0: 64 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20  d,"set test_key 
04f0: 22 22 45 78 61 6d 70 6c 65 20 6b 65 79 22 22 22  ""Example key"""
0500: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
0510: 64 2c 3a 3a 74 63 6c 74 65 73 74 3a 3a 6d 61 6b  d,::tcltest::mak
0520: 65 46 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  eFile $test_data
0530: 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 2c 2c   $test_file,,,,,
0540: 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  ,,,,.,,,,,,,,,,.
0550: 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 73  command,# Test s
0560: 68 6f 72 74 2d 63 75 74 20 63 6f 6d 6d 61 6e 64  hort-cut command
0570: 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 53 68 6f 72 74  s,,,,,,,,,.Short
0580: 63 75 74 20 43 6d 64 73 2c 6d 64 34 20 63 6d 64  cut Cmds,md4 cmd
0590: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 34 20 24 74  ,,,::tls::md4 $t
05a0: 65 73 74 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39  est_data,,,79339
05b0: 39 66 37 39 32 65 63 61 32 37 35 32 63 36 61 66  9f792eca2752c6af
05c0: 33 32 33 34 62 61 37 30 38 35 38 2c 2c 2c 0a 53  3234ba70858,,,.S
05d0: 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 6d 64 35  hortcut Cmds,md5
05e0: 20 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64   cmd,,,::tls::md
05f0: 35 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  5 $test_data,,,9
0600: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
0610: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
0620: 2c 2c 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73  ,,.Shortcut Cmds
0630: 2c 73 68 61 31 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ,sha1 cmd,,,::tl
0640: 73 3a 3a 73 68 61 31 20 24 74 65 73 74 5f 64 61  s::sha1 $test_da
0650: 74 61 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  ta,,,4fe03b7f256
0660: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
0670: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
0680: 0a 53 68 6f 72 74 63 75 74 20 43 6d 64 73 2c 73  .Shortcut Cmds,s
0690: 68 61 32 35 36 20 63 6d 64 2c 2c 2c 3a 3a 74 6c  ha256 cmd,,,::tl
06a0: 73 3a 3a 73 68 61 32 35 36 20 24 74 65 73 74 5f  s::sha256 $test_
06b0: 64 61 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31  data,,,9d3578fc1
06c0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
06d0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
06e0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
06f0: 37 66 39 35 65 31 39 2c 2c 2c 0a 53 68 6f 72 74  7f95e19,,,.Short
0700: 63 75 74 20 43 6d 64 73 2c 73 68 61 35 31 32 20  cut Cmds,sha512 
0710: 63 6d 64 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 68 61  cmd,,,::tls::sha
0720: 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c 2c  512 $test_data,,
0730: 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32 37  ,d178e759dc59127
0740: 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63 30  071588d2fad173c0
0750: 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30 33  6238d87e800a6403
0760: 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35 64  c0a30daa4faaf05d
0770: 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36 61  0e7ce04916afaa6a
0780: 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63 62  58a30cbeb597dacb
0790: 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61 62  01c62f9fb9d89bab
07a0: 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36 66  9da630c699e4816f
07b0: 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  1,,,.,,,,,,,,,,.
07c0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
07d0: 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 63 6f 6d  nd,# Test MD com
07e0: 6d 61 6e 64 20 66 6f 72 20 72 65 61 64 20 63 68  mand for read ch
07f0: 61 6e 6e 65 6c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d  annel,,,,,,,,,.M
0800: 44 20 43 68 61 6e 20 52 65 61 64 2c 6d 64 34 2c  D Chan Read,md4,
0810: 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68  ,,digest_read_ch
0820: 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65  an ::tls::md $te
0830: 73 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20  st_file -digest 
0840: 6d 64 34 2c 2c 2c 37 39 33 33 39 39 66 37 39 32  md4,,,793399f792
0850: 65 63 61 32 37 35 32 63 36 61 66 33 32 33 34 62  eca2752c6af3234b
0860: 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 43 68 61  a70858,,,.MD Cha
0870: 6e 20 52 65 61 64 2c 6d 64 35 2c 2c 2c 64 69 67  n Read,md5,,,dig
0880: 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a  est_read_chan ::
0890: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69  tls::md $test_fi
08a0: 6c 65 20 2d 64 69 67 65 73 74 20 6d 64 35 2c 2c  le -digest md5,,
08b0: 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65  ,962bf0803b4232e
08c0: 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30  c23bd8427bb94ea0
08d0: 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52 65 61  9,,,.MD Chan Rea
08e0: 64 2c 73 68 61 31 2c 2c 2c 64 69 67 65 73 74 5f  d,sha1,,,digest_
08f0: 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  read_chan ::tls:
0900: 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65 20 2d  :md $test_file -
0910: 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 34 66  digest sha1,,,4f
0920: 65 30 33 62 37 66 32 35 36 38 35 35 31 64 66 61  e03b7f2568551dfa
0930: 66 62 39 38 63 61 36 30 30 34 65 36 35 63 34 62  fb98ca6004e65c4b
0940: 37 31 61 61 37 64 2c 2c 2c 0a 4d 44 20 43 68 61  71aa7d,,,.MD Cha
0950: 6e 20 52 65 61 64 2c 73 68 61 32 35 36 2c 2c 2c  n Read,sha256,,,
0960: 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61 6e  digest_read_chan
0970: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0980: 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73 68  _file -digest sh
0990: 61 32 35 36 2c 2c 2c 39 64 33 35 37 38 66 63 31  a256,,,9d3578fc1
09a0: 33 38 32 30 35 63 66 30 65 65 34 62 34 63 65 66  38205cf0ee4b4cef
09b0: 33 35 66 65 31 30 31 62 62 34 65 63 61 63 37 62  35fe101bb4ecac7b
09c0: 31 36 31 34 63 31 38 65 36 66 61 34 38 62 35 63  1614c18e6fa48b5c
09d0: 37 66 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 68  7f95e19,,,.MD Ch
09e0: 61 6e 20 52 65 61 64 2c 73 68 61 35 31 32 2c 2c  an Read,sha512,,
09f0: 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63 68 61  ,digest_read_cha
0a00: 6e 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73  n ::tls::md $tes
0a10: 74 5f 66 69 6c 65 20 2d 64 69 67 65 73 74 20 73  t_file -digest s
0a20: 68 61 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39  ha512,,,d178e759
0a30: 64 63 35 39 31 32 37 30 37 31 35 38 38 64 32 66  dc59127071588d2f
0a40: 61 64 31 37 33 63 30 36 32 33 38 64 38 37 65 38  ad173c06238d87e8
0a50: 30 30 61 36 34 30 33 63 30 61 33 30 64 61 61 34  00a6403c0a30daa4
0a60: 66 61 61 66 30 35 64 30 65 37 63 65 30 34 39 31  faaf05d0e7ce0491
0a70: 36 61 66 61 61 36 61 35 38 61 33 30 63 62 65 62  6afaa6a58a30cbeb
0a80: 35 39 37 64 61 63 62 30 31 63 36 32 66 39 66 62  597dacb01c62f9fb
0a90: 39 64 38 39 62 61 62 39 64 61 36 33 30 63 36 39  9d89bab9da630c69
0aa0: 39 65 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43  9e4816f1,,,.MD C
0ab0: 68 61 6e 20 52 65 61 64 2c 6d 64 35 20 62 69 6e  han Read,md5 bin
0ac0: 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65  ,,,binary encode
0ad0: 20 68 65 78 20 5b 64 69 67 65 73 74 5f 72 65 61   hex [digest_rea
0ae0: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  d_chan ::tls::md
0af0: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 62 69 6e   $test_file -bin
0b00: 20 2d 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c   -digest md5],,,
0b10: 39 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63  962bf0803b4232ec
0b20: 32 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39  23bd8427bb94ea09
0b30: 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 52 65 61 64  ,,,.MD Chan Read
0b40: 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67 65 73  ,md5 hex,,,diges
0b50: 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74 6c  t_read_chan ::tl
0b60: 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c 65  s::md $test_file
0b70: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 6d 64   -hex -digest md
0b80: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0b90: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
0ba0: 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ea09,,,.,,,,,,,,
0bb0: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73  ,,.command,# Tes
0bc0: 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  t MD command for
0bd0: 20 77 72 69 74 65 20 63 68 61 6e 6e 65 6c 2c 2c   write channel,,
0be0: 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  ,,,,,,,.MD Chan 
0bf0: 57 72 69 74 65 2c 6d 64 34 2c 2c 2c 64 69 67 65  Write,md4,,,dige
0c00: 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a  st_write_chan ::
0c10: 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c  tls::md $test_al
0c20: 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74  t_file $test_dat
0c30: 61 20 2d 64 69 67 65 73 74 20 6d 64 34 2c 2c 2c  a -digest md4,,,
0c40: 37 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35  793399f792eca275
0c50: 32 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38  2c6af3234ba70858
0c60: 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69 74  ,,,.MD Chan Writ
0c70: 65 2c 6d 64 35 2c 2c 2c 64 69 67 65 73 74 5f 77  e,md5,,,digest_w
0c80: 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a  rite_chan ::tls:
0c90: 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74 5f 66 69  :md $test_alt_fi
0ca0: 6c 65 20 24 74 65 73 74 5f 64 61 74 61 20 2d 64  le $test_data -d
0cb0: 69 67 65 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62  igest md5,,,962b
0cc0: 66 30 38 30 33 62 34 32 33 32 65 63 32 33 62 64  f0803b4232ec23bd
0cd0: 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a  8427bb94ea09,,,.
0ce0: 4d 44 20 43 68 61 6e 20 57 72 69 74 65 2c 73 68  MD Chan Write,sh
0cf0: 61 31 2c 2c 2c 64 69 67 65 73 74 5f 77 72 69 74  a1,,,digest_writ
0d00: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0d10: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0d20: 24 74 65 73 74 5f 64 61 74 61 20 2d 64 69 67 65  $test_data -dige
0d30: 73 74 20 73 68 61 31 2c 2c 2c 34 66 65 30 33 62  st sha1,,,4fe03b
0d40: 37 66 32 35 36 38 35 35 31 64 66 61 66 62 39 38  7f2568551dfafb98
0d50: 63 61 36 30 30 34 65 36 35 63 34 62 37 31 61 61  ca6004e65c4b71aa
0d60: 37 64 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72  7d,,,.MD Chan Wr
0d70: 69 74 65 2c 73 68 61 32 35 36 2c 2c 2c 64 69 67  ite,sha256,,,dig
0d80: 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a  est_write_chan :
0d90: 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61  :tls::md $test_a
0da0: 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61  lt_file $test_da
0db0: 74 61 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  ta -digest sha25
0dc0: 36 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38 32  6,,,9d3578fc1382
0dd0: 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35 66  05cf0ee4b4cef35f
0de0: 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36 31  e101bb4ecac7b161
0df0: 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66 39  4c18e6fa48b5c7f9
0e00: 35 65 31 39 2c 2c 2c 0a 4d 44 20 43 68 61 6e 20  5e19,,,.MD Chan 
0e10: 57 72 69 74 65 2c 73 68 61 35 31 32 2c 2c 2c 64  Write,sha512,,,d
0e20: 69 67 65 73 74 5f 77 72 69 74 65 5f 63 68 61 6e  igest_write_chan
0e30: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 24 74 65 73 74   ::tls::md $test
0e40: 5f 61 6c 74 5f 66 69 6c 65 20 24 74 65 73 74 5f  _alt_file $test_
0e50: 64 61 74 61 20 2d 64 69 67 65 73 74 20 73 68 61  data -digest sha
0e60: 35 31 32 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  512,,,d178e759dc
0e70: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
0e80: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
0e90: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
0ea0: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
0eb0: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
0ec0: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
0ed0: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
0ee0: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 43 68 61  4816f1,,,.MD Cha
0ef0: 6e 20 57 72 69 74 65 2c 6d 64 35 20 62 69 6e 2c  n Write,md5 bin,
0f00: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
0f10: 68 65 78 20 5b 64 69 67 65 73 74 5f 77 72 69 74  hex [digest_writ
0f20: 65 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  e_chan ::tls::md
0f30: 20 24 74 65 73 74 5f 61 6c 74 5f 66 69 6c 65 20   $test_alt_file 
0f40: 24 74 65 73 74 5f 64 61 74 61 20 2d 62 69 6e 20  $test_data -bin 
0f50: 2d 64 69 67 65 73 74 20 6d 64 35 5d 2c 2c 2c 39  -digest md5],,,9
0f60: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
0f70: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
0f80: 2c 2c 0a 4d 44 20 43 68 61 6e 20 57 72 69 74 65  ,,.MD Chan Write
0f90: 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67 65 73  ,md5 hex,,,diges
0fa0: 74 5f 77 72 69 74 65 5f 63 68 61 6e 20 3a 3a 74  t_write_chan ::t
0fb0: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 61 6c 74  ls::md $test_alt
0fc0: 5f 66 69 6c 65 20 24 74 65 73 74 5f 64 61 74 61  _file $test_data
0fd0: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 6d 64   -hex -digest md
0fe0: 35 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  5,,,962bf0803b42
0ff0: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1000: 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  ea09,,,.,,,,,,,,
1010: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73  ,,.command,# Tes
1020: 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72  t MD command for
1030: 20 6f 62 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 2c   object command,
1040: 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d  ,,,,,,,,.MD Comm
1050: 61 6e 64 2c 6d 64 34 2c 2c 2c 64 69 67 65 73 74  and,md4,,,digest
1060: 5f 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73  _accumulate $tes
1070: 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64  t_data ::tls::md
1080: 20 2d 64 69 67 65 73 74 20 6d 64 34 2c 2c 2c 37   -digest md4,,,7
1090: 39 33 33 39 39 66 37 39 32 65 63 61 32 37 35 32  93399f792eca2752
10a0: 63 36 61 66 33 32 33 34 62 61 37 30 38 35 38 2c  c6af3234ba70858,
10b0: 2c 2c 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64  ,,.MD Command,md
10c0: 35 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  5,,,digest_accum
10d0: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
10e0: 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65   ::tls::md -dige
10f0: 73 74 20 6d 64 35 2c 2c 2c 39 36 32 62 66 30 38  st md5,,,962bf08
1100: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
1110: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20  7bb94ea09,,,.MD 
1120: 43 6f 6d 6d 61 6e 64 2c 73 68 61 31 2c 2c 2c 64  Command,sha1,,,d
1130: 69 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65  igest_accumulate
1140: 20 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c   $test_data ::tl
1150: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
1160: 61 31 2c 2c 2c 34 66 65 30 33 62 37 66 32 35 36  a1,,,4fe03b7f256
1170: 38 35 35 31 64 66 61 66 62 39 38 63 61 36 30 30  8551dfafb98ca600
1180: 34 65 36 35 63 34 62 37 31 61 61 37 64 2c 2c 2c  4e65c4b71aa7d,,,
1190: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 32  .MD Command,sha2
11a0: 35 36 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  56,,,digest_accu
11b0: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
11c0: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
11d0: 65 73 74 20 73 68 61 32 35 36 2c 2c 2c 39 64 33  est sha256,,,9d3
11e0: 35 37 38 66 63 31 33 38 32 30 35 63 66 30 65 65  578fc138205cf0ee
11f0: 34 62 34 63 65 66 33 35 66 65 31 30 31 62 62 34  4b4cef35fe101bb4
1200: 65 63 61 63 37 62 31 36 31 34 63 31 38 65 36 66  ecac7b1614c18e6f
1210: 61 34 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c  a48b5c7f95e19,,,
1220: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 73 68 61 35  .MD Command,sha5
1230: 31 32 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75  12,,,digest_accu
1240: 6d 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74  mulate $test_dat
1250: 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  a ::tls::md -dig
1260: 65 73 74 20 73 68 61 35 31 32 2c 2c 2c 64 31 37  est sha512,,,d17
1270: 38 65 37 35 39 64 63 35 39 31 32 37 30 37 31 35  8e759dc591270715
1280: 38 38 64 32 66 61 64 31 37 33 63 30 36 32 33 38  88d2fad173c06238
1290: 64 38 37 65 38 30 30 61 36 34 30 33 63 30 61 33  d87e800a6403c0a3
12a0: 30 64 61 61 34 66 61 61 66 30 35 64 30 65 37 63  0daa4faaf05d0e7c
12b0: 65 30 34 39 31 36 61 66 61 61 36 61 35 38 61 33  e04916afaa6a58a3
12c0: 30 63 62 65 62 35 39 37 64 61 63 62 30 31 63 36  0cbeb597dacb01c6
12d0: 32 66 39 66 62 39 64 38 39 62 61 62 39 64 61 36  2f9fb9d89bab9da6
12e0: 33 30 63 36 39 39 65 34 38 31 36 66 31 2c 2c 2c  30c699e4816f1,,,
12f0: 0a 4d 44 20 43 6f 6d 6d 61 6e 64 2c 6d 64 35 20  .MD Command,md5 
1300: 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63  bin,,,binary enc
1310: 6f 64 65 20 68 65 78 20 5b 64 69 67 65 73 74 5f  ode hex [digest_
1320: 61 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74  accumulate $test
1330: 5f 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20  _data ::tls::md 
1340: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 62 69 6e  -digest md5 -bin
1350: 5d 2c 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32  ],,,962bf0803b42
1360: 33 32 65 63 32 33 62 64 38 34 32 37 62 62 39 34  32ec23bd8427bb94
1370: 65 61 30 39 2c 2c 2c 0a 4d 44 20 43 6f 6d 6d 61  ea09,,,.MD Comma
1380: 6e 64 2c 6d 64 35 20 68 65 78 2c 2c 2c 64 69 67  nd,md5 hex,,,dig
1390: 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20 24  est_accumulate $
13a0: 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73 3a  test_data ::tls:
13b0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20  :md -digest md5 
13c0: 2d 68 65 78 2c 2c 2c 39 36 32 62 66 30 38 30 33  -hex,,,962bf0803
13d0: 62 34 32 33 32 65 63 32 33 62 64 38 34 32 37 62  b4232ec23bd8427b
13e0: 62 39 34 65 61 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c  b94ea09,,,.,,,,,
13f0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
1400: 54 65 73 74 20 4d 44 20 63 6f 6d 6d 61 6e 64 20  Test MD command 
1410: 66 6f 72 20 64 61 74 61 20 73 68 6f 72 74 63 75  for data shortcu
1420: 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 53 68  t,,,,,,,,,.MD Sh
1430: 6f 72 74 63 75 74 2c 6d 64 34 2c 2c 2c 3a 3a 74  ortcut,md4,,,::t
1440: 6c 73 3a 3a 6d 64 20 6d 64 34 20 24 74 65 73 74  ls::md md4 $test
1450: 5f 64 61 74 61 2c 2c 2c 37 39 33 33 39 39 66 37  _data,,,793399f7
1460: 39 32 65 63 61 32 37 35 32 63 36 61 66 33 32 33  92eca2752c6af323
1470: 34 62 61 37 30 38 35 38 2c 2c 2c 0a 4d 44 20 53  4ba70858,,,.MD S
1480: 68 6f 72 74 63 75 74 2c 6d 64 35 2c 2c 2c 3a 3a  hortcut,md5,,,::
1490: 74 6c 73 3a 3a 6d 64 20 6d 64 35 20 24 74 65 73  tls::md md5 $tes
14a0: 74 5f 64 61 74 61 2c 2c 2c 39 36 32 62 66 30 38  t_data,,,962bf08
14b0: 30 33 62 34 32 33 32 65 63 32 33 62 64 38 34 32  03b4232ec23bd842
14c0: 37 62 62 39 34 65 61 30 39 2c 2c 2c 0a 4d 44 20  7bb94ea09,,,.MD 
14d0: 53 68 6f 72 74 63 75 74 2c 73 68 61 31 2c 2c 2c  Shortcut,sha1,,,
14e0: 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68 61 31 20 24  ::tls::md sha1 $
14f0: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30  test_data,,,4fe0
1500: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1510: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
1520: 61 61 37 64 2c 2c 2c 0a 4d 44 20 53 68 6f 72 74  aa7d,,,.MD Short
1530: 63 75 74 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  cut,sha256,,,::t
1540: 6c 73 3a 3a 6d 64 20 73 68 61 32 35 36 20 24 74  ls::md sha256 $t
1550: 65 73 74 5f 64 61 74 61 2c 2c 2c 39 64 33 35 37  est_data,,,9d357
1560: 38 66 63 31 33 38 32 30 35 63 66 30 65 65 34 62  8fc138205cf0ee4b
1570: 34 63 65 66 33 35 66 65 31 30 31 62 62 34 65 63  4cef35fe101bb4ec
1580: 61 63 37 62 31 36 31 34 63 31 38 65 36 66 61 34  ac7b1614c18e6fa4
1590: 38 62 35 63 37 66 39 35 65 31 39 2c 2c 2c 0a 4d  8b5c7f95e19,,,.M
15a0: 44 20 53 68 6f 72 74 63 75 74 2c 73 68 61 35 31  D Shortcut,sha51
15b0: 32 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 73 68  2,,,::tls::md sh
15c0: 61 35 31 32 20 24 74 65 73 74 5f 64 61 74 61 2c  a512 $test_data,
15d0: 2c 2c 64 31 37 38 65 37 35 39 64 63 35 39 31 32  ,,d178e759dc5912
15e0: 37 30 37 31 35 38 38 64 32 66 61 64 31 37 33 63  7071588d2fad173c
15f0: 30 36 32 33 38 64 38 37 65 38 30 30 61 36 34 30  06238d87e800a640
1600: 33 63 30 61 33 30 64 61 61 34 66 61 61 66 30 35  3c0a30daa4faaf05
1610: 64 30 65 37 63 65 30 34 39 31 36 61 66 61 61 36  d0e7ce04916afaa6
1620: 61 35 38 61 33 30 63 62 65 62 35 39 37 64 61 63  a58a30cbeb597dac
1630: 62 30 31 63 36 32 66 39 66 62 39 64 38 39 62 61  b01c62f9fb9d89ba
1640: 62 39 64 61 36 33 30 63 36 39 39 65 34 38 31 36  b9da630c699e4816
1650: 66 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  f1,,,.,,,,,,,,,,
1660: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
1670: 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64  MD command for d
1680: 61 74 61 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  ata,,,,,,,,,.MD 
1690: 44 61 74 61 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73  Data,md4,,,::tls
16a0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34  ::md -digest md4
16b0: 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74   -data $test_dat
16c0: 61 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63  a,,,793399f792ec
16d0: 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37  a2752c6af3234ba7
16e0: 30 38 35 38 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  0858,,,.MD Data,
16f0: 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  md5,,,::tls::md 
1700: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
1710: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 39  a $test_data,,,9
1720: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1730: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1740: 2c 2c 0a 4d 44 20 44 61 74 61 2c 73 68 61 31 2c  ,,.MD Data,sha1,
1750: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
1760: 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20 24  est sha1 -data $
1770: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 34 66 65 30  test_data,,,4fe0
1780: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1790: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
17a0: 61 61 37 64 2c 2c 2c 0a 4d 44 20 44 61 74 61 2c  aa7d,,,.MD Data,
17b0: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
17c0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
17d0: 36 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  6 -data $test_da
17e0: 74 61 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38  ta,,,9d3578fc138
17f0: 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35  205cf0ee4b4cef35
1800: 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36  fe101bb4ecac7b16
1810: 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66  14c18e6fa48b5c7f
1820: 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 44 61 74 61  95e19,,,.MD Data
1830: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
1840: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35  :md -digest sha5
1850: 31 32 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64  12 -data $test_d
1860: 61 74 61 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  ata,,,d178e759dc
1870: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
1880: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
1890: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
18a0: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
18b0: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
18c0: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
18d0: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
18e0: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 44 61 74  4816f1,,,.MD Dat
18f0: 61 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61  a,md5 bin,,,bina
1900: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
1910: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1920: 20 6d 64 35 20 2d 64 61 74 61 20 24 74 65 73 74   md5 -data $test
1930: 5f 64 61 74 61 20 2d 62 69 6e 5d 2c 2c 2c 39 36  _data -bin],,,96
1940: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
1950: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
1960: 2c 0a 4d 44 20 44 61 74 61 2c 6d 64 35 20 68 65  ,.MD Data,md5 he
1970: 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  x,,,::tls::md -d
1980: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
1990: 24 74 65 73 74 5f 64 61 74 61 20 2d 68 65 78 2c  $test_data -hex,
19a0: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
19b0: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
19c0: 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  09,,,.,,,,,,,,,,
19d0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
19e0: 4d 44 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 66  MD command for f
19f0: 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20  ile,,,,,,,,,.MD 
1a00: 46 69 6c 65 2c 6d 64 34 2c 2c 2c 3a 3a 74 6c 73  File,md4,,,::tls
1a10: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 34  ::md -digest md4
1a20: 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69 6c   -file $test_fil
1a30: 65 2c 2c 2c 37 39 33 33 39 39 66 37 39 32 65 63  e,,,793399f792ec
1a40: 61 32 37 35 32 63 36 61 66 33 32 33 34 62 61 37  a2752c6af3234ba7
1a50: 30 38 35 38 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c  0858,,,.MD File,
1a60: 6d 64 35 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  md5,,,::tls::md 
1a70: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c  -digest md5 -fil
1a80: 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 39  e $test_file,,,9
1a90: 36 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32  62bf0803b4232ec2
1aa0: 33 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c  3bd8427bb94ea09,
1ab0: 2c 2c 0a 4d 44 20 46 69 6c 65 2c 73 68 61 31 2c  ,,.MD File,sha1,
1ac0: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,,::tls::md -dig
1ad0: 65 73 74 20 73 68 61 31 20 2d 66 69 6c 65 20 24  est sha1 -file $
1ae0: 74 65 73 74 5f 66 69 6c 65 2c 2c 2c 34 66 65 30  test_file,,,4fe0
1af0: 33 62 37 66 32 35 36 38 35 35 31 64 66 61 66 62  3b7f2568551dfafb
1b00: 39 38 63 61 36 30 30 34 65 36 35 63 34 62 37 31  98ca6004e65c4b71
1b10: 61 61 37 64 2c 2c 2c 0a 4d 44 20 46 69 6c 65 2c  aa7d,,,.MD File,
1b20: 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha256,,,::tls::
1b30: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
1b40: 36 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66 69  6 -file $test_fi
1b50: 6c 65 2c 2c 2c 39 64 33 35 37 38 66 63 31 33 38  le,,,9d3578fc138
1b60: 32 30 35 63 66 30 65 65 34 62 34 63 65 66 33 35  205cf0ee4b4cef35
1b70: 66 65 31 30 31 62 62 34 65 63 61 63 37 62 31 36  fe101bb4ecac7b16
1b80: 31 34 63 31 38 65 36 66 61 34 38 62 35 63 37 66  14c18e6fa48b5c7f
1b90: 39 35 65 31 39 2c 2c 2c 0a 4d 44 20 46 69 6c 65  95e19,,,.MD File
1ba0: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
1bb0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 35  :md -digest sha5
1bc0: 31 32 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  12 -file $test_f
1bd0: 69 6c 65 2c 2c 2c 64 31 37 38 65 37 35 39 64 63  ile,,,d178e759dc
1be0: 35 39 31 32 37 30 37 31 35 38 38 64 32 66 61 64  59127071588d2fad
1bf0: 31 37 33 63 30 36 32 33 38 64 38 37 65 38 30 30  173c06238d87e800
1c00: 61 36 34 30 33 63 30 61 33 30 64 61 61 34 66 61  a6403c0a30daa4fa
1c10: 61 66 30 35 64 30 65 37 63 65 30 34 39 31 36 61  af05d0e7ce04916a
1c20: 66 61 61 36 61 35 38 61 33 30 63 62 65 62 35 39  faa6a58a30cbeb59
1c30: 37 64 61 63 62 30 31 63 36 32 66 39 66 62 39 64  7dacb01c62f9fb9d
1c40: 38 39 62 61 62 39 64 61 36 33 30 63 36 39 39 65  89bab9da630c699e
1c50: 34 38 31 36 66 31 2c 2c 2c 0a 4d 44 20 46 69 6c  4816f1,,,.MD Fil
1c60: 65 2c 6d 64 35 20 62 69 6e 2c 2c 2c 62 69 6e 61  e,md5 bin,,,bina
1c70: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
1c80: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
1c90: 20 6d 64 35 20 2d 66 69 6c 65 20 24 74 65 73 74   md5 -file $test
1ca0: 5f 66 69 6c 65 20 2d 62 69 6e 5d 2c 2c 2c 39 36  _file -bin],,,96
1cb0: 32 62 66 30 38 30 33 62 34 32 33 32 65 63 32 33  2bf0803b4232ec23
1cc0: 62 64 38 34 32 37 62 62 39 34 65 61 30 39 2c 2c  bd8427bb94ea09,,
1cd0: 2c 0a 4d 44 20 46 69 6c 65 2c 6d 64 35 20 68 65  ,.MD File,md5 he
1ce0: 78 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  x,,,::tls::md -d
1cf0: 69 67 65 73 74 20 6d 64 35 20 2d 66 69 6c 65 20  igest md5 -file 
1d00: 24 74 65 73 74 5f 66 69 6c 65 20 2d 68 65 78 2c  $test_file -hex,
1d10: 2c 2c 39 36 32 62 66 30 38 30 33 62 34 32 33 32  ,,962bf0803b4232
1d20: 65 63 32 33 62 64 38 34 32 37 62 62 39 34 65 61  ec23bd8427bb94ea
1d30: 30 39 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  09,,,.,,,,,,,,,,
1d40: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4d 44 20 45 72  .command,# MD Er
1d50: 72 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c  ror Cases,,,,,,,
1d60: 2c 2c 0a 4d 44 20 45 72 72 6f 72 73 2c 54 6f 6f  ,,.MD Errors,Too
1d70: 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c   few args,,,::tl
1d80: 73 3a 3a 6d 64 2c 2c 2c 22 77 72 6f 6e 67 20 23  s::md,,,"wrong #
1d90: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65   args: should be
1da0: 20 22 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62   ""::tls::md ?-b
1db0: 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65  in|-hex? ?-ciphe
1dc0: 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74  r name? ?-digest
1dd0: 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79   name? ?-key key
1de0: 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d  ? ?-mac name? [-
1df0: 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d  channel chan | -
1e00: 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20  command cmdName 
1e10: 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65  | -file filename
1e20: 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d   | ?-data? data]
1e30: 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72  """,,,1.MD Error
1e40: 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c  s,Too many args,
1e50: 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 74 6f 6f 20  ,,::tls::md too 
1e60: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  many command lin
1e70: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74  e args to pass t
1e80: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20  he test without 
1e90: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c  an error or fail
1ea0: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61  ing,,,"wrong # a
1eb0: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22  rgs: should be "
1ec0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 3f 2d 62 69 6e  "::tls::md ?-bin
1ed0: 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72 20  |-hex? ?-cipher 
1ee0: 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e  name? ?-digest n
1ef0: 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20  ame? ?-key key? 
1f00: 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68  ?-mac name? [-ch
1f10: 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f  annel chan | -co
1f20: 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20  mmand cmdName | 
1f30: 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c  -file filename |
1f40: 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22 22   ?-data? data]""
1f50: 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c  ",,,1.MD Errors,
1f60: 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c 2c  Invalid digest,,
1f70: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 62 6f 67 75 73  ,::tls::md bogus
1f80: 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c 69 64   data,,,"Invalid
1f90: 20 64 69 67 65 73 74 20 22 22 62 6f 67 75 73 22   digest ""bogus"
1fa0: 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73  "",,,1.MD Errors
1fb0: 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 73 74 20  ,Invalid digest 
1fc0: 41 72 67 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20  Arg,,,::tls::md 
1fd0: 2d 64 69 67 65 73 74 20 62 6f 67 75 73 20 2d 64  -digest bogus -d
1fe0: 61 74 61 20 64 61 74 61 2c 2c 2c 22 49 6e 76 61  ata data,,,"Inva
1ff0: 6c 69 64 20 64 69 67 65 73 74 20 22 22 62 6f 67  lid digest ""bog
2000: 75 73 22 22 22 2c 2c 2c 31 0a 4d 44 20 45 72 72  us""",,,1.MD Err
2010: 6f 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c 2c  ors,No digest,,,
2020: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 68 65 78 20 2d  ::tls::md -hex -
2030: 64 61 74 61 20 76 61 6c 75 65 2c 2c 2c 4e 6f 20  data value,,,No 
2040: 64 69 67 65 73 74 20 73 70 65 63 69 66 69 65 64  digest specified
2050: 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49  ,,,1.MD Errors,I
2060: 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 2c 2c 2c  nvalid option,,,
2070: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
2080: 74 20 73 68 61 32 35 36 20 2d 62 6f 67 75 73 20  t sha256 -bogus 
2090: 76 61 6c 75 65 2c 2c 2c 22 62 61 64 20 6f 70 74  value,,,"bad opt
20a0: 69 6f 6e 20 22 22 2d 62 6f 67 75 73 22 22 3a 20  ion ""-bogus"": 
20b0: 6d 75 73 74 20 62 65 20 2d 62 69 6e 2c 20 2d 62  must be -bin, -b
20c0: 69 6e 61 72 79 2c 20 2d 68 65 78 2c 20 2d 68 65  inary, -hex, -he
20d0: 78 61 64 65 63 69 6d 61 6c 2c 20 2d 63 68 61 6e  xadecimal, -chan
20e0: 2c 20 2d 63 68 61 6e 6e 65 6c 2c 20 2d 63 69 70  , -channel, -cip
20f0: 68 65 72 2c 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d  her, -command, -
2100: 64 61 74 61 2c 20 2d 64 69 67 65 73 74 2c 20 2d  data, -digest, -
2110: 66 69 6c 65 2c 20 2d 66 69 6c 65 6e 61 6d 65 2c  file, -filename,
2120: 20 2d 68 61 73 68 2c 20 2d 6b 65 79 2c 20 6f 72   -hash, -key, or
2130: 20 2d 6d 61 63 22 2c 2c 2c 31 0a 4d 44 20 45 72   -mac",,,1.MD Er
2140: 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 66 69 6c  rors,Invalid fil
2150: 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  e,,,::tls::md -d
2160: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 66 69  igest sha256 -fi
2170: 6c 65 20 62 6f 67 75 73 2c 2c 2c 22 63 6f 75 6c  le bogus,,,"coul
2180: 64 6e 27 74 20 6f 70 65 6e 20 22 22 62 6f 67 75  dn't open ""bogu
2190: 73 22 22 3a 20 6e 6f 20 73 75 63 68 20 66 69 6c  s"": no such fil
21a0: 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 22 2c  e or directory",
21b0: 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 49 6e  ,,1.MD Errors,In
21c0: 76 61 6c 69 64 20 63 68 61 6e 6e 65 6c 2c 2c 2c  valid channel,,,
21d0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
21e0: 74 20 73 68 61 32 35 36 20 2d 63 68 61 6e 6e 65  t sha256 -channe
21f0: 6c 20 62 6f 67 75 73 2c 2c 2c 22 63 61 6e 20 6e  l bogus,,,"can n
2200: 6f 74 20 66 69 6e 64 20 63 68 61 6e 6e 65 6c 20  ot find channel 
2210: 6e 61 6d 65 64 20 22 22 62 6f 67 75 73 22 22 22  named ""bogus"""
2220: 2c 2c 2c 31 0a 4d 44 20 45 72 72 6f 72 73 2c 4e  ,,,1.MD Errors,N
2230: 6f 20 6f 70 65 72 61 74 69 6f 6e 2c 2c 2c 3a 3a  o operation,,,::
2240: 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20  tls::md -digest 
2250: 73 68 61 32 35 36 20 2d 62 69 6e 2c 2c 2c 22 4e  sha256 -bin,,,"N
2260: 6f 20 6f 70 65 72 61 74 69 6f 6e 20 73 70 65 63  o operation spec
2270: 69 66 69 65 64 3a 20 55 73 65 20 2d 63 68 61 6e  ified: Use -chan
2280: 6e 65 6c 2c 20 2d 63 6f 6d 6d 61 6e 64 2c 20 2d  nel, -command, -
2290: 64 61 74 61 2c 20 6f 72 20 2d 66 69 6c 65 20 6f  data, or -file o
22a0: 70 74 69 6f 6e 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c  ption",,,1.,,,,,
22b0: 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  ,,,,,.,,,,,,,,,,
22c0: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20  .command,# Test 
22d0: 43 4d 41 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c  CMAC command,,,,
22e0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
22f0: 65 74 20 74 65 73 74 5f 63 69 70 68 65 72 20 22  et test_cipher "
2300: 22 61 65 73 2d 31 32 38 2d 63 62 63 22 22 22 2c  "aes-128-cbc""",
2310: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
2320: 2c 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22  ,"set test_key "
2330: 22 45 78 61 6d 70 6c 65 20 6b 65 79 20 31 32 33  "Example key 123
2340: 34 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  4""",,,,,,,,,.CM
2350: 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a  AC,data,,,::tls:
2360: 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20 24 74  :cmac -cipher $t
2370: 65 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20  est_cipher -key 
2380: 24 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20  $test_key -data 
2390: 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66  $test_data,,,baf
23a0: 35 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62  5c20f9973e2d606b
23b0: 31 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c  14c7efdfe52fa,,,
23c0: 0a 43 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a 3a 74  .CMAC,file,,,::t
23d0: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
23e0: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
23f0: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 66 69  ey $test_key -fi
2400: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
2410: 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64 36  baf5c20f9973e2d6
2420: 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66 61  06b14c7efdfe52fa
2430: 2c 2c 2c 0a 43 4d 41 43 2c 63 68 61 6e 6e 65 6c  ,,,.CMAC,channel
2440: 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61 64 5f 63  ,,,digest_read_c
2450: 68 61 6e 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20  han ::tls::cmac 
2460: 24 74 65 73 74 5f 66 69 6c 65 20 2d 63 69 70 68  $test_file -ciph
2470: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
2480: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c 2c  -key $test_key,,
2490: 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32 64  ,baf5c20f9973e2d
24a0: 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32 66  606b14c7efdfe52f
24b0: 61 2c 2c 2c 0a 43 4d 41 43 2c 63 6f 6d 6d 61 6e  a,,,.CMAC,comman
24c0: 64 2c 2c 2c 64 69 67 65 73 74 5f 61 63 63 75 6d  d,,,digest_accum
24d0: 75 6c 61 74 65 20 24 74 65 73 74 5f 64 61 74 61  ulate $test_data
24e0: 20 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69   ::tls::cmac -ci
24f0: 70 68 65 72 20 24 74 65 73 74 5f 63 69 70 68 65  pher $test_ciphe
2500: 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79  r -key $test_key
2510: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
2520: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
2530: 32 66 61 2c 2c 2c 0a 43 4d 41 43 2c 64 61 74 61  2fa,,,.CMAC,data
2540: 20 62 69 6e 2c 2c 2c 62 69 6e 61 72 79 20 65 6e   bin,,,binary en
2550: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a  code hex [::tls:
2560: 3a 63 6d 61 63 20 2d 62 69 6e 20 2d 63 69 70 68  :cmac -bin -ciph
2570: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
2580: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
2590: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 5d  data $test_data]
25a0: 2c 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65  ,,,baf5c20f9973e
25b0: 32 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35  2d606b14c7efdfe5
25c0: 32 66 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  2fa,,,.,,,,,,,,,
25d0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74  ,.command,# Test
25e0: 20 4d 44 20 43 4d 41 43 2c 2c 2c 2c 2c 2c 2c 2c   MD CMAC,,,,,,,,
25f0: 2c 0a 4d 44 20 43 4d 41 43 2c 64 61 74 61 2c 2c  ,.MD CMAC,data,,
2600: 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 63 69 70 68  ,::tls::md -ciph
2610: 65 72 20 24 74 65 73 74 5f 63 69 70 68 65 72 20  er $test_cipher 
2620: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
2630: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
2640: 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32  ,,baf5c20f9973e2
2650: 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32  d606b14c7efdfe52
2660: 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41 43 2c 66 69  fa,,,.MD CMAC,fi
2670: 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  le,,,::tls::md -
2680: 63 69 70 68 65 72 20 24 74 65 73 74 5f 63 69 70  cipher $test_cip
2690: 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  her -key $test_k
26a0: 65 79 20 2d 66 69 6c 65 20 24 74 65 73 74 5f 66  ey -file $test_f
26b0: 69 6c 65 2c 2c 2c 62 61 66 35 63 32 30 66 39 39  ile,,,baf5c20f99
26c0: 37 33 65 32 64 36 30 36 62 31 34 63 37 65 66 64  73e2d606b14c7efd
26d0: 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43 4d 41  fe52fa,,,.MD CMA
26e0: 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67 65  C,channel,,,dige
26f0: 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a 74  st_read_chan ::t
2700: 6c 73 3a 3a 6d 64 20 24 74 65 73 74 5f 66 69 6c  ls::md $test_fil
2710: 65 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  e -cipher $test_
2720: 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73  cipher -key $tes
2730: 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63 32 30 66  t_key,,,baf5c20f
2740: 39 39 37 33 65 32 64 36 30 36 62 31 34 63 37 65  9973e2d606b14c7e
2750: 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 44 20 43  fdfe52fa,,,.MD C
2760: 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69  MAC,command,,,di
2770: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
2780: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
2790: 3a 3a 6d 64 20 2d 63 69 70 68 65 72 20 24 74 65  ::md -cipher $te
27a0: 73 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24  st_cipher -key $
27b0: 74 65 73 74 5f 6b 65 79 2c 2c 2c 62 61 66 35 63  test_key,,,baf5c
27c0: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
27d0: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d  c7efdfe52fa,,,.M
27e0: 44 20 43 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c  D CMAC,data bin,
27f0: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20  ,,binary encode 
2800: 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  hex [::tls::md -
2810: 62 69 6e 20 2d 63 69 70 68 65 72 20 24 74 65 73  bin -cipher $tes
2820: 74 5f 63 69 70 68 65 72 20 2d 6b 65 79 20 24 74  t_cipher -key $t
2830: 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74  est_key -data $t
2840: 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 62 61 66 35  est_data],,,baf5
2850: 63 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31  c20f9973e2d606b1
2860: 34 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a  4c7efdfe52fa,,,.
2870: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
2880: 6e 64 2c 23 20 54 65 73 74 20 43 4d 41 43 20 53  nd,# Test CMAC S
2890: 68 6f 72 74 63 75 74 2c 2c 2c 2c 2c 2c 2c 2c 2c  hortcut,,,,,,,,,
28a0: 0a 43 4d 41 43 20 53 68 6f 72 74 63 75 74 2c 64  .CMAC Shortcut,d
28b0: 61 74 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  ata,,,::tls::cma
28c0: 63 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d  c $test_cipher -
28d0: 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 24 74  key $test_key $t
28e0: 65 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63  est_data,,,baf5c
28f0: 32 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34  20f9973e2d606b14
2900: 63 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 2c  c7efdfe52fa,,,.,
2910: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e  ,,,,,,,,,.comman
2920: 64 2c 23 20 43 4d 41 43 20 45 72 72 6f 72 20 43  d,# CMAC Error C
2930: 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 43 4d  ases,,,,,,,,,.CM
2940: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65  AC Errors,Too fe
2950: 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a  w args,,,::tls::
2960: 63 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23 20  cmac,,,"wrong # 
2970: 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20  args: should be 
2980: 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 3f 2d  ""::tls::cmac ?-
2990: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68  bin|-hex? ?-ciph
29a0: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73  er name? ?-diges
29b0: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65  t name? ?-key ke
29c0: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b  y? ?-mac name? [
29d0: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20  -channel chan | 
29e0: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65  -command cmdName
29f0: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d   | -file filenam
2a00: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61  e | ?-data? data
2a10: 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41 43 20 45 72  ]""",,,1.CMAC Er
2a20: 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e 79 20 61 72  rors,Too many ar
2a30: 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  gs,,,::tls::cmac
2a40: 20 74 6f 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e   too many comman
2a50: 64 20 6c 69 6e 65 20 61 72 67 73 20 74 6f 20 70  d line args to p
2a60: 61 73 73 20 74 68 65 20 74 65 73 74 20 77 69 74  ass the test wit
2a70: 68 6f 75 74 20 61 6e 20 65 72 72 6f 72 20 6f 72  hout an error or
2a80: 20 66 61 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e   failing,,,"wron
2a90: 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64  g # args: should
2aa0: 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 63 6d 61   be ""::tls::cma
2ab0: 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d  c ?-bin|-hex? ?-
2ac0: 63 69 70 68 65 72 20 6e 61 6d 65 3f 20 3f 2d 64  cipher name? ?-d
2ad0: 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65  igest name? ?-ke
2ae0: 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d  y key? ?-mac nam
2af0: 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20 63 68 61  e? [-channel cha
2b00: 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64  n | -command cmd
2b10: 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20 66 69 6c  Name | -file fil
2b20: 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74 61 3f 20  ename | ?-data? 
2b30: 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a 43 4d 41  data]""",,,1.CMA
2b40: 43 20 45 72 72 6f 72 73 2c 4e 6f 20 63 69 70 68  C Errors,No ciph
2b50: 65 72 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61 63  er,,,::tls::cmac
2b60: 20 2d 68 65 78 20 2d 64 61 74 61 20 24 74 65 73   -hex -data $tes
2b70: 74 5f 64 61 74 61 2c 2c 2c 4e 6f 20 63 69 70 68  t_data,,,No ciph
2b80: 65 72 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31  er specified,,,1
2b90: 0a 43 4d 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20  .CMAC Errors,No 
2ba0: 6b 65 79 2c 2c 2c 3a 3a 74 6c 73 3a 3a 63 6d 61  key,,,::tls::cma
2bb0: 63 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f  c -cipher $test_
2bc0: 63 69 70 68 65 72 20 2d 64 61 74 61 20 24 74 65  cipher -data $te
2bd0: 73 74 5f 64 61 74 61 2c 2c 2c 4e 6f 20 6b 65 79  st_data,,,No key
2be0: 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 43   specified,,,1.C
2bf0: 4d 41 43 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c  MAC Errors,Inval
2c00: 69 64 20 63 69 70 68 65 72 2c 2c 2c 3a 3a 74 6c  id cipher,,,::tl
2c10: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
2c20: 62 6f 67 75 73 20 2d 64 61 74 61 20 24 74 65 73  bogus -data $tes
2c30: 74 5f 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c 69  t_data,,,"Invali
2c40: 64 20 63 69 70 68 65 72 20 22 22 62 6f 67 75 73  d cipher ""bogus
2c50: 22 22 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 2c  """,,,1.,,,,,,,,
2c60: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
2c70: 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 48 4d 41  mmand,# Test HMA
2c80: 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c  C command,,,,,,,
2c90: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 65 74 20 74  ,,.command,set t
2ca0: 65 73 74 5f 64 69 67 65 73 74 20 6d 64 35 2c 2c  est_digest md5,,
2cb0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
2cc0: 22 73 65 74 20 74 65 73 74 5f 6b 65 79 20 22 22  "set test_key ""
2cd0: 45 78 61 6d 70 6c 65 20 6b 65 79 22 22 22 2c 2c  Example key""",,
2ce0: 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43 2c 64 61 74  ,,,,,,,.HMAC,dat
2cf0: 61 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  a,,,::tls::hmac 
2d00: 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69  -digest $test_di
2d10: 67 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f  gest -key $test_
2d20: 6b 65 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f  key -data $test_
2d30: 64 61 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33  data,,,f98327ef3
2d40: 65 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36  e20ab6d388f676c6
2d50: 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d 41 43 2c  a79d93d,,,.HMAC,
2d60: 66 69 6c 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d  file,,,::tls::hm
2d70: 61 63 20 2d 64 69 67 65 73 74 20 24 74 65 73 74  ac -digest $test
2d80: 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74 65  _digest -key $te
2d90: 73 74 5f 6b 65 79 20 2d 66 69 6c 65 20 24 74 65  st_key -file $te
2da0: 73 74 5f 66 69 6c 65 2c 2c 2c 66 39 38 33 32 37  st_file,,,f98327
2db0: 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36 37  ef3e20ab6d388f67
2dc0: 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48 4d  6c6a79d93d,,,.HM
2dd0: 41 43 2c 63 68 61 6e 6e 65 6c 2c 2c 2c 64 69 67  AC,channel,,,dig
2de0: 65 73 74 5f 72 65 61 64 5f 63 68 61 6e 20 3a 3a  est_read_chan ::
2df0: 74 6c 73 3a 3a 68 6d 61 63 20 24 74 65 73 74 5f  tls::hmac $test_
2e00: 66 69 6c 65 20 2d 64 69 67 65 73 74 20 24 74 65  file -digest $te
2e10: 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24  st_digest -key $
2e20: 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38 33 32  test_key,,,f9832
2e30: 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66 36  7ef3e20ab6d388f6
2e40: 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a 48  76c6a79d93d,,,.H
2e50: 4d 41 43 2c 63 6f 6d 6d 61 6e 64 2c 2c 2c 64 69  MAC,command,,,di
2e60: 67 65 73 74 5f 61 63 63 75 6d 75 6c 61 74 65 20  gest_accumulate 
2e70: 24 74 65 73 74 5f 64 61 74 61 20 3a 3a 74 6c 73  $test_data ::tls
2e80: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 24  ::hmac -digest $
2e90: 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79  test_digest -key
2ea0: 20 24 74 65 73 74 5f 6b 65 79 2c 2c 2c 66 39 38   $test_key,,,f98
2eb0: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
2ec0: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
2ed0: 0a 48 4d 41 43 2c 64 61 74 61 20 62 69 6e 2c 2c  .HMAC,data bin,,
2ee0: 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68  ,binary encode h
2ef0: 65 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  ex [::tls::hmac 
2f00: 2d 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69  -digest $test_di
2f10: 67 65 73 74 20 2d 62 69 6e 20 2d 6b 65 79 20 24  gest -bin -key $
2f20: 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24  test_key -data $
2f30: 74 65 73 74 5f 64 61 74 61 5d 2c 2c 2c 66 39 38  test_data],,,f98
2f40: 33 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38  327ef3e20ab6d388
2f50: 66 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c  f676c6a79d93d,,,
2f60: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
2f70: 61 6e 64 2c 23 20 54 65 73 74 20 4d 44 20 48 4d  and,# Test MD HM
2f80: 41 43 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4d 44 20 48  AC,,,,,,,,,.MD H
2f90: 4d 41 43 2c 64 61 74 61 2c 2c 2c 3a 3a 74 6c 73  MAC,data,,,::tls
2fa0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 24 74 65  ::md -digest $te
2fb0: 73 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24  st_digest -key $
2fc0: 74 65 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24  test_key -data $
2fd0: 74 65 73 74 5f 64 61 74 61 2c 2c 2c 66 39 38 33  test_data,,,f983
2fe0: 32 37 65 66 33 65 32 30 61 62 36 64 33 38 38 66  27ef3e20ab6d388f
2ff0: 36 37 36 63 36 61 37 39 64 39 33 64 2c 2c 2c 0a  676c6a79d93d,,,.
3000: 4d 44 20 48 4d 41 43 2c 66 69 6c 65 2c 2c 2c 3a  MD HMAC,file,,,:
3010: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
3020: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 6b   $test_digest -k
3030: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 66 69  ey $test_key -fi
3040: 6c 65 20 24 74 65 73 74 5f 66 69 6c 65 2c 2c 2c  le $test_file,,,
3050: 66 39 38 33 32 37 65 66 33 65 32 30 61 62 36 64  f98327ef3e20ab6d
3060: 33 38 38 66 36 37 36 63 36 61 37 39 64 39 33 64  388f676c6a79d93d
3070: 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 63 68 61 6e  ,,,.MD HMAC,chan
3080: 6e 65 6c 2c 2c 2c 64 69 67 65 73 74 5f 72 65 61  nel,,,digest_rea
3090: 64 5f 63 68 61 6e 20 3a 3a 74 6c 73 3a 3a 6d 64  d_chan ::tls::md
30a0: 20 24 74 65 73 74 5f 66 69 6c 65 20 2d 64 69 67   $test_file -dig
30b0: 65 73 74 20 24 74 65 73 74 5f 64 69 67 65 73 74  est $test_digest
30c0: 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 2c   -key $test_key,
30d0: 2c 2c 66 39 38 33 32 37 65 66 33 65 32 30 61 62  ,,f98327ef3e20ab
30e0: 36 64 33 38 38 66 36 37 36 63 36 61 37 39 64 39  6d388f676c6a79d9
30f0: 33 64 2c 2c 2c 0a 4d 44 20 48 4d 41 43 2c 63 6f  3d,,,.MD HMAC,co
3100: 6d 6d 61 6e 64 2c 2c 2c 64 69 67 65 73 74 5f 61  mmand,,,digest_a
3110: 63 63 75 6d 75 6c 61 74 65 20 24 74 65 73 74 5f  ccumulate $test_
3120: 64 61 74 61 20 3a 3a 74 6c 73 3a 3a 6d 64 20 2d  data ::tls::md -
3130: 64 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67  digest $test_dig
3140: 65 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b  est -key $test_k
3150: 65 79 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  ey,,,f98327ef3e2
3160: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
3170: 39 64 39 33 64 2c 2c 2c 0a 4d 44 20 48 4d 41 43  9d93d,,,.MD HMAC
3180: 2c 64 61 74 61 20 62 69 6e 2c 2c 2c 62 69 6e 61  ,data bin,,,bina
3190: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a  ry encode hex [:
31a0: 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74  :tls::md -digest
31b0: 20 24 74 65 73 74 5f 64 69 67 65 73 74 20 2d 62   $test_digest -b
31c0: 69 6e 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  in -key $test_ke
31d0: 79 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  y -data $test_da
31e0: 74 61 5d 2c 2c 2c 66 39 38 33 32 37 65 66 33 65  ta],,,f98327ef3e
31f0: 32 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61  20ab6d388f676c6a
3200: 37 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c  79d93d,,,.,,,,,,
3210: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 54  ,,,,.command,# T
3220: 65 73 74 20 48 4d 41 43 20 53 68 6f 72 74 63 75  est HMAC Shortcu
3230: 74 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43 20  t,,,,,,,,,.HMAC 
3240: 53 68 6f 72 74 63 75 74 2c 64 61 74 61 2c 2c 2c  Shortcut,data,,,
3250: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 24 74 65 73  ::tls::hmac $tes
3260: 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74  t_digest -key $t
3270: 65 73 74 5f 6b 65 79 20 24 74 65 73 74 5f 64 61  est_key $test_da
3280: 74 61 2c 2c 2c 66 39 38 33 32 37 65 66 33 65 32  ta,,,f98327ef3e2
3290: 30 61 62 36 64 33 38 38 66 36 37 36 63 36 61 37  0ab6d388f676c6a7
32a0: 39 64 39 33 64 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c  9d93d,,,.,,,,,,,
32b0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 48 4d  ,,,.command,# HM
32c0: 41 43 20 45 72 72 6f 72 20 43 61 73 65 73 2c 2c  AC Error Cases,,
32d0: 2c 2c 2c 2c 2c 2c 2c 0a 48 4d 41 43 20 45 72 72  ,,,,,,,.HMAC Err
32e0: 6f 72 73 2c 54 6f 6f 20 66 65 77 20 61 72 67 73  ors,Too few args
32f0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 2c 2c  ,,,::tls::hmac,,
3300: 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20  ,"wrong # args: 
3310: 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c  should be ""::tl
3320: 73 3a 3a 68 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68  s::hmac ?-bin|-h
3330: 65 78 3f 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d  ex? ?-cipher nam
3340: 65 3f 20 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65  e? ?-digest name
3350: 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d  ? ?-key key? ?-m
3360: 61 63 20 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e  ac name? [-chann
3370: 65 6c 20 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61  el chan | -comma
3380: 6e 64 20 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69  nd cmdName | -fi
3390: 6c 65 20 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d  le filename | ?-
33a0: 64 61 74 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c  data? data]""",,
33b0: 2c 31 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 54  ,1.HMAC Errors,T
33c0: 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c 3a  oo many args,,,:
33d0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 74 6f 6f 20 6d  :tls::hmac too m
33e0: 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  any command line
33f0: 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74 68   args to pass th
3400: 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20 61  e test without a
3410: 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c 69  n error or faili
3420: 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 72  ng,,,"wrong # ar
3430: 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 22  gs: should be ""
3440: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 3f 2d 62 69  ::tls::hmac ?-bi
3450: 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68 65 72  n|-hex? ?-cipher
3460: 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73 74 20   name? ?-digest 
3470: 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65 79 3f  name? ?-key key?
3480: 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b 2d 63   ?-mac name? [-c
3490: 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20 2d 63  hannel chan | -c
34a0: 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65 20 7c  ommand cmdName |
34b0: 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20   -file filename 
34c0: 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61 5d 22  | ?-data? data]"
34d0: 22 22 2c 2c 2c 31 0a 48 4d 41 43 20 45 72 72 6f  "",,,1.HMAC Erro
34e0: 72 73 2c 4e 6f 20 64 69 67 65 73 74 2c 2c 2c 3a  rs,No digest,,,:
34f0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 68 65 78 20  :tls::hmac -hex 
3500: 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61  -data $test_data
3510: 2c 2c 2c 4e 6f 20 64 69 67 65 73 74 20 73 70 65  ,,,No digest spe
3520: 63 69 66 69 65 64 2c 2c 2c 31 0a 48 4d 41 43 20  cified,,,1.HMAC 
3530: 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c  Errors,No key,,,
3540: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
3550: 65 73 74 20 73 68 61 32 35 36 20 2d 64 61 74 61  est sha256 -data
3560: 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 4e 6f   $test_data,,,No
3570: 20 6b 65 79 20 73 70 65 63 69 66 69 65 64 2c 2c   key specified,,
3580: 2c 31 0a 48 4d 41 43 20 45 72 72 6f 72 73 2c 49  ,1.HMAC Errors,I
3590: 6e 76 61 6c 69 64 20 64 69 67 65 73 74 2c 2c 2c  nvalid digest,,,
35a0: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
35b0: 74 20 62 6f 67 75 73 20 2d 6b 65 79 20 24 74 65  t bogus -key $te
35c0: 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65  st_key -data $te
35d0: 73 74 5f 64 61 74 61 2c 2c 2c 22 49 6e 76 61 6c  st_data,,,"Inval
35e0: 69 64 20 64 69 67 65 73 74 20 22 22 62 6f 67 75  id digest ""bogu
35f0: 73 22 22 22 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c  s""",,,1.,,,,,,,
3600: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
3610: 6f 6d 6d 61 6e 64 2c 23 20 54 65 73 74 20 4d 41  ommand,# Test MA
3620: 43 20 63 6f 6d 6d 61 6e 64 2c 2c 2c 2c 2c 2c 2c  C command,,,,,,,
3630: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
3640: 74 65 73 74 5f 63 69 70 68 65 72 20 22 22 61 65  test_cipher ""ae
3650: 73 2d 31 32 38 2d 63 62 63 22 22 22 2c 2c 2c 2c  s-128-cbc""",,,,
3660: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 65  ,,,,,.command,se
3670: 74 20 74 65 73 74 5f 64 69 67 65 73 74 20 73 68  t test_digest sh
3680: 61 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  a256,,,,,,,,,.co
3690: 6d 6d 61 6e 64 2c 22 73 65 74 20 74 65 73 74 5f  mmand,"set test_
36a0: 6b 65 79 20 22 22 45 78 61 6d 70 6c 65 20 6b 65  key ""Example ke
36b0: 79 20 31 32 33 34 22 22 22 2c 2c 2c 2c 2c 2c 2c  y 1234""",,,,,,,
36c0: 2c 2c 0a 4d 41 43 2c 43 4d 41 43 2c 2c 2c 3a 3a  ,,.MAC,CMAC,,,::
36d0: 74 6c 73 3a 3a 6d 61 63 20 2d 63 69 70 68 65 72  tls::mac -cipher
36e0: 20 24 74 65 73 74 5f 63 69 70 68 65 72 20 2d 6b   $test_cipher -k
36f0: 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d 6d 61  ey $test_key -ma
3700: 63 20 63 6d 61 63 20 2d 64 61 74 61 20 24 74 65  c cmac -data $te
3710: 73 74 5f 64 61 74 61 2c 2c 2c 62 61 66 35 63 32  st_data,,,baf5c2
3720: 30 66 39 39 37 33 65 32 64 36 30 36 62 31 34 63  0f9973e2d606b14c
3730: 37 65 66 64 66 65 35 32 66 61 2c 2c 2c 0a 4d 41  7efdfe52fa,,,.MA
3740: 43 2c 48 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a  C,HMAC,,,::tls::
3750: 6d 61 63 20 2d 64 69 67 65 73 74 20 24 74 65 73  mac -digest $tes
3760: 74 5f 64 69 67 65 73 74 20 2d 6b 65 79 20 24 74  t_digest -key $t
3770: 65 73 74 5f 6b 65 79 20 2d 6d 61 63 20 68 6d 61  est_key -mac hma
3780: 63 20 2d 64 61 74 61 20 24 74 65 73 74 5f 64 61  c -data $test_da
3790: 74 61 2c 2c 2c 36 37 36 64 61 66 39 36 33 37 30  ta,,,676daf96370
37a0: 64 30 65 33 63 35 35 39 38 35 35 37 64 61 33 38  d0e3c5598557da38
37b0: 61 39 61 38 31 30 61 34 66 62 61 63 62 62 32 64  a9a810a4fbacbb2d
37c0: 31 30 63 36 37 66 36 64 66 61 38 33 66 31 30 66  10c67f6dfa83f10f
37d0: 34 38 65 39 36 2c 2c 2c 0a 4d 41 43 2c 4d 44 2d  48e96,,,.MAC,MD-
37e0: 43 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64  CMAC,,,::tls::md
37f0: 20 2d 63 69 70 68 65 72 20 24 74 65 73 74 5f 63   -cipher $test_c
3800: 69 70 68 65 72 20 2d 6b 65 79 20 24 74 65 73 74  ipher -key $test
3810: 5f 6b 65 79 20 2d 6d 61 63 20 63 6d 61 63 20 2d  _key -mac cmac -
3820: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
3830: 2c 2c 62 61 66 35 63 32 30 66 39 39 37 33 65 32  ,,baf5c20f9973e2
3840: 64 36 30 36 62 31 34 63 37 65 66 64 66 65 35 32  d606b14c7efdfe52
3850: 66 61 2c 2c 2c 0a 4d 41 43 2c 4d 44 2d 48 4d 41  fa,,,.MAC,MD-HMA
3860: 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  C,,,::tls::md -d
3870: 69 67 65 73 74 20 24 74 65 73 74 5f 64 69 67 65  igest $test_dige
3880: 73 74 20 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65  st -key $test_ke
3890: 79 20 2d 6d 61 63 20 68 6d 61 63 20 2d 64 61 74  y -mac hmac -dat
38a0: 61 20 24 74 65 73 74 5f 64 61 74 61 2c 2c 2c 36  a $test_data,,,6
38b0: 37 36 64 61 66 39 36 33 37 30 64 30 65 33 63 35  76daf96370d0e3c5
38c0: 35 39 38 35 35 37 64 61 33 38 61 39 61 38 31 30  598557da38a9a810
38d0: 61 34 66 62 61 63 62 62 32 64 31 30 63 36 37 66  a4fbacbb2d10c67f
38e0: 36 64 66 61 38 33 66 31 30 66 34 38 65 39 36 2c  6dfa83f10f48e96,
38f0: 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ,,.,,,,,,,,,,.co
3900: 6d 6d 61 6e 64 2c 23 20 4d 41 43 20 45 72 72 6f  mmand,# MAC Erro
3910: 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c  r Cases,,,,,,,,,
3920: 0a 4d 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20  .MAC Errors,Too 
3930: 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73  few args,,,::tls
3940: 3a 3a 6d 61 63 2c 2c 2c 22 77 72 6f 6e 67 20 23  ::mac,,,"wrong #
3950: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65   args: should be
3960: 20 22 22 3a 3a 74 6c 73 3a 3a 6d 61 63 20 3f 2d   ""::tls::mac ?-
3970: 62 69 6e 7c 2d 68 65 78 3f 20 3f 2d 63 69 70 68  bin|-hex? ?-ciph
3980: 65 72 20 6e 61 6d 65 3f 20 3f 2d 64 69 67 65 73  er name? ?-diges
3990: 74 20 6e 61 6d 65 3f 20 3f 2d 6b 65 79 20 6b 65  t name? ?-key ke
39a0: 79 3f 20 3f 2d 6d 61 63 20 6e 61 6d 65 3f 20 5b  y? ?-mac name? [
39b0: 2d 63 68 61 6e 6e 65 6c 20 63 68 61 6e 20 7c 20  -channel chan | 
39c0: 2d 63 6f 6d 6d 61 6e 64 20 63 6d 64 4e 61 6d 65  -command cmdName
39d0: 20 7c 20 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d   | -file filenam
39e0: 65 20 7c 20 3f 2d 64 61 74 61 3f 20 64 61 74 61  e | ?-data? data
39f0: 5d 22 22 22 2c 2c 2c 31 0a 4d 41 43 20 45 72 72  ]""",,,1.MAC Err
3a00: 6f 72 73 2c 4e 6f 20 6d 61 63 2c 2c 2c 3a 3a 74  ors,No mac,,,::t
3a10: 6c 73 3a 3a 6d 61 63 20 2d 6b 65 79 20 24 74 65  ls::mac -key $te
3a20: 73 74 5f 6b 65 79 20 2d 64 61 74 61 20 24 74 65  st_key -data $te
3a30: 73 74 5f 64 61 74 61 2c 2c 2c 4e 6f 20 4d 41 43  st_data,,,No MAC
3a40: 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a 4d   specified,,,1.M
3a50: 41 43 20 45 72 72 6f 72 73 2c 4e 6f 20 6b 65 79  AC Errors,No key
3a60: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 6d 61 63 20 2d 6d  ,,,::tls::mac -m
3a70: 61 63 20 68 6d 61 63 20 2d 64 61 74 61 20 24 74  ac hmac -data $t
3a80: 65 73 74 5f 64 61 74 61 2c 2c 2c 4e 6f 20 6b 65  est_data,,,No ke
3a90: 79 20 73 70 65 63 69 66 69 65 64 2c 2c 2c 31 0a  y specified,,,1.
3aa0: 4d 41 43 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c  MAC Errors,Inval
3ab0: 69 64 20 4d 41 43 2c 2c 2c 3a 3a 74 6c 73 3a 3a  id MAC,,,::tls::
3ac0: 6d 61 63 20 2d 6d 61 63 20 73 63 72 79 70 74 20  mac -mac scrypt 
3ad0: 2d 6b 65 79 20 24 74 65 73 74 5f 6b 65 79 20 2d  -key $test_key -
3ae0: 64 61 74 61 20 24 74 65 73 74 5f 64 61 74 61 2c  data $test_data,
3af0: 2c 2c 22 49 6e 76 61 6c 69 64 20 4d 41 43 20 22  ,,"Invalid MAC "
3b00: 22 73 63 72 79 70 74 22 22 22 2c 2c 2c 31 0a 4d  "scrypt""",,,1.M
3b10: 41 43 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61  AC Errors,Too ma
3b20: 6e 79 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a  ny args,,,::tls:
3b30: 3a 6d 61 63 20 74 6f 6f 20 6d 61 6e 79 20 63 6f  :mac too many co
3b40: 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 73 20  mmand line args 
3b50: 74 6f 20 70 61 73 73 20 74 68 65 20 74 65 73 74  to pass the test
3b60: 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72 72 6f   without an erro
3b70: 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c 2c 22  r or failing,,,"
3b80: 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68  wrong # args: sh
3b90: 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a  ould be ""::tls:
3ba0: 3a 6d 61 63 20 3f 2d 62 69 6e 7c 2d 68 65 78 3f  :mac ?-bin|-hex?
3bb0: 20 3f 2d 63 69 70 68 65 72 20 6e 61 6d 65 3f 20   ?-cipher name? 
3bc0: 3f 2d 64 69 67 65 73 74 20 6e 61 6d 65 3f 20 3f  ?-digest name? ?
3bd0: 2d 6b 65 79 20 6b 65 79 3f 20 3f 2d 6d 61 63 20  -key key? ?-mac 
3be0: 6e 61 6d 65 3f 20 5b 2d 63 68 61 6e 6e 65 6c 20  name? [-channel 
3bf0: 63 68 61 6e 20 7c 20 2d 63 6f 6d 6d 61 6e 64 20  chan | -command 
3c00: 63 6d 64 4e 61 6d 65 20 7c 20 2d 66 69 6c 65 20  cmdName | -file 
3c10: 66 69 6c 65 6e 61 6d 65 20 7c 20 3f 2d 64 61 74  filename | ?-dat
3c20: 61 3f 20 64 61 74 61 5d 22 22 22 2c 2c 2c 31 0a  a? data]""",,,1.
3c30: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c  ,,,,,,,,,,.,,,,,
3c40: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20  ,,,,,.command,# 
3c50: 52 46 43 20 31 33 32 31 20 4d 65 73 73 61 67 65  RFC 1321 Message
3c60: 20 44 69 67 65 73 74 20 35 2c 2c 2c 2c 2c 2c 2c   Digest 5,,,,,,,
3c70: 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54  ,,.RFC1321-MD5,T
3c80: 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C1,,,"::tls::md 
3c90: 2d 64 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74  -digest md5 -dat
3ca0: 61 20 22 22 22 22 22 2c 2c 2c 64 34 31 64 38 63  a """"",,,d41d8c
3cb0: 64 39 38 66 30 30 62 32 30 34 65 39 38 30 30 39  d98f00b204e98009
3cc0: 39 38 65 63 66 38 34 32 37 65 2c 2c 2c 0a 52 46  98ecf8427e,,,.RF
3cd0: 43 31 33 32 31 2d 4d 44 35 2c 54 43 32 2c 2c 2c  C1321-MD5,TC2,,,
3ce0: 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65  "::tls::md -dige
3cf0: 73 74 20 6d 64 35 20 2d 64 61 74 61 20 22 22 61  st md5 -data ""a
3d00: 22 22 22 2c 2c 2c 30 63 63 31 37 35 62 39 63 30  """,,,0cc175b9c0
3d10: 66 31 62 36 61 38 33 31 63 33 39 39 65 32 36 39  f1b6a831c399e269
3d20: 37 37 32 36 36 31 2c 2c 2c 0a 52 46 43 31 33 32  772661,,,.RFC132
3d30: 31 2d 4d 44 35 2c 54 43 33 2c 2c 2c 22 3a 3a 74  1-MD5,TC3,,,"::t
3d40: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d  ls::md -digest m
3d50: 64 35 20 2d 64 61 74 61 20 22 22 61 62 63 22 22  d5 -data ""abc""
3d60: 22 2c 2c 2c 39 30 30 31 35 30 39 38 33 63 64 32  ",,,900150983cd2
3d70: 34 66 62 30 64 36 39 36 33 66 37 64 32 38 65 31  4fb0d6963f7d28e1
3d80: 37 66 37 32 2c 2c 2c 0a 52 46 43 31 33 32 31 2d  7f72,,,.RFC1321-
3d90: 4d 44 35 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73  MD5,TC4,,,"::tls
3da0: 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35  ::md -digest md5
3db0: 20 2d 64 61 74 61 20 22 22 6d 65 73 73 61 67 65   -data ""message
3dc0: 20 64 69 67 65 73 74 22 22 22 2c 2c 2c 66 39 36   digest""",,,f96
3dd0: 62 36 39 37 64 37 63 62 37 39 33 38 64 35 32 35  b697d7cb7938d525
3de0: 61 32 66 33 31 61 61 66 31 36 31 64 30 2c 2c 2c  a2f31aaf161d0,,,
3df0: 0a 52 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 35  .RFC1321-MD5,TC5
3e00: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
3e10: 69 67 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20  igest md5 -data 
3e20: 22 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e  ""abcdefghijklmn
3e30: 6f 70 71 72 73 74 75 76 77 78 79 7a 22 22 22 2c  opqrstuvwxyz""",
3e40: 2c 2c 63 33 66 63 64 33 64 37 36 31 39 32 65 34  ,,c3fcd3d76192e4
3e50: 30 30 37 64 66 62 34 39 36 63 63 61 36 37 65 31  007dfb496cca67e1
3e60: 33 62 2c 2c 2c 0a 52 46 43 31 33 32 31 2d 4d 44  3b,,,.RFC1321-MD
3e70: 35 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  5,TC6,,,"::tls::
3e80: 6d 64 20 2d 64 69 67 65 73 74 20 6d 64 35 20 2d  md -digest md5 -
3e90: 64 61 74 61 20 22 22 41 42 43 44 45 46 47 48 49  data ""ABCDEFGHI
3ea0: 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59  JKLMNOPQRSTUVWXY
3eb0: 5a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f  Zabcdefghijklmno
3ec0: 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34  pqrstuvwxyz01234
3ed0: 35 36 37 38 39 22 22 22 2c 2c 2c 64 31 37 34 61  56789""",,,d174a
3ee0: 62 39 38 64 32 37 37 64 39 66 35 61 35 36 31 31  b98d277d9f5a5611
3ef0: 63 32 63 39 66 34 31 39 64 39 66 2c 2c 2c 0a 52  c2c9f419d9f,,,.R
3f00: 46 43 31 33 32 31 2d 4d 44 35 2c 54 43 37 2c 2c  FC1321-MD5,TC7,,
3f10: 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67  ,"::tls::md -dig
3f20: 65 73 74 20 6d 64 35 20 2d 64 61 74 61 20 5b 73  est md5 -data [s
3f30: 74 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 31  tring repeat ""1
3f40: 32 33 34 35 36 37 38 39 30 22 22 20 38 5d 22 2c  234567890"" 8]",
3f50: 2c 2c 35 37 65 64 66 34 61 32 32 62 65 33 63 39  ,,57edf4a22be3c9
3f60: 35 35 61 63 34 39 64 61 32 65 32 31 30 37 62 36  55ac49da2e2107b6
3f70: 37 61 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  7a,,,.,,,,,,,,,,
3f80: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 36  .command,# RFC 6
3f90: 32 33 34 20 53 48 41 31 2c 2c 2c 2c 2c 2c 2c 2c  234 SHA1,,,,,,,,
3fa0: 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41  ,.RFC6234-MD-SHA
3fb0: 31 2c 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  1,TC1,,,"::tls::
3fc0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20  md -digest sha1 
3fd0: 2d 64 61 74 61 20 22 22 61 62 63 22 22 22 2c 2c  -data ""abc""",,
3fe0: 2c 61 39 39 39 33 65 33 36 34 37 30 36 38 31 36  ,a9993e364706816
3ff0: 61 62 61 33 65 32 35 37 31 37 38 35 30 63 32 36  aba3e25717850c26
4000: 63 39 63 64 30 64 38 39 64 2c 2c 2c 0a 52 46 43  c9cd0d89d,,,.RFC
4010: 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54 43 32  6234-MD-SHA1,TC2
4020: 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  _1,,,"::tls::md 
4030: 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d 64 61  -digest sha1 -da
4040: 74 61 20 22 22 61 62 63 64 62 63 64 65 63 64 65  ta ""abcdbcdecde
4050: 66 64 65 66 67 65 66 67 68 66 67 68 69 67 68 69  fdefgefghfghighi
4060: 6a 68 69 6a 6b 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d  jhijkijkljklmklm
4070: 6e 6c 6d 6e 6f 6d 6e 6f 70 6e 6f 70 71 22 22 22  nlmnomnopnopq"""
4080: 2c 2c 2c 38 34 39 38 33 65 34 34 31 63 33 62 64  ,,,84983e441c3bd
4090: 32 36 65 62 61 61 65 34 61 61 31 66 39 35 31 32  26ebaae4aa1f9512
40a0: 39 65 35 65 35 34 36 37 30 66 31 2c 2c 2c 0a 52  9e5e54670f1,,,.R
40b0: 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54  FC6234-MD-SHA1,T
40c0: 43 33 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20  C3,,,"::tls::md 
40d0: 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d 64 61  -digest sha1 -da
40e0: 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ta [string repea
40f0: 74 20 22 22 61 22 22 20 31 30 30 30 30 30 30 5d  t ""a"" 1000000]
4100: 22 2c 2c 2c 33 34 61 61 39 37 33 63 64 34 63 34  ",,,34aa973cd4c4
4110: 64 61 61 34 66 36 31 65 65 62 32 62 64 62 61 64  daa4f61eeb2bdbad
4120: 32 37 33 31 36 35 33 34 30 31 36 66 2c 2c 2c 0a  27316534016f,,,.
4130: 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c  RFC6234-MD-SHA1,
4140: 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  TC4,,,"::tls::md
4150: 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d 64   -digest sha1 -d
4160: 61 74 61 20 5b 73 74 72 69 6e 67 20 72 65 70 65  ata [string repe
4170: 61 74 20 22 22 30 31 32 33 34 35 36 37 22 22 20  at ""01234567"" 
4180: 38 30 5d 22 2c 2c 2c 64 65 61 33 35 36 61 32 63  80]",,,dea356a2c
4190: 64 64 64 39 30 63 37 61 37 65 63 65 64 63 35 65  ddd90c7a7ecedc5e
41a0: 62 62 35 36 33 39 33 34 66 34 36 30 34 35 32 2c  bb563934f460452,
41b0: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
41c0: 41 31 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c 73 3a  A1,TC6,,,"::tls:
41d0: 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 31  :md -digest sha1
41e0: 20 2d 64 61 74 61 20 22 22 5c 78 35 65 22 22 22   -data ""\x5e"""
41f0: 2c 2c 2c 35 65 36 66 38 30 61 33 34 61 39 37 39  ,,,5e6f80a34a979
4200: 38 63 61 66 63 36 61 35 64 62 39 36 63 63 35 37  8cafc6a5db96cc57
4210: 62 61 34 63 34 64 62 35 39 63 32 2c 2c 2c 0a 52  ba4c4db59c2,,,.R
4220: 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 31 2c 54  FC6234-MD-SHA1,T
4230: 43 38 5f 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  C8_1,,,"::tls::m
4240: 64 20 2d 64 69 67 65 73 74 20 73 68 61 31 20 2d  d -digest sha1 -
4250: 64 61 74 61 20 22 22 5c 78 39 61 5c 78 37 64 5c  data ""\x9a\x7d\
4260: 78 66 64 5c 78 66 31 5c 78 65 63 5c 78 65 61 5c  xfd\xf1\xec\xea\
4270: 78 64 30 5c 78 36 65 5c 78 64 36 5c 78 34 36 5c  xd0\x6e\xd6\x46\
4280: 78 61 61 5c 78 35 35 5c 78 66 65 5c 78 37 35 5c  xaa\x55\xfe\x75\
4290: 78 37 31 5c 78 34 36 22 22 22 2c 2c 2c 38 32 61  x71\x46""",,,82a
42a0: 62 66 66 36 36 30 35 64 62 65 31 63 31 37 64 65  bff6605dbe1c17de
42b0: 66 31 32 61 33 39 34 66 61 32 32 61 38 32 62 35  f12a394fa22a82b5
42c0: 34 34 61 33 35 2c 2c 2c 0a 52 46 43 36 32 33 34  44a35,,,.RFC6234
42d0: 2d 4d 44 2d 53 48 41 31 2c 54 43 31 30 5f 31 2c  -MD-SHA1,TC10_1,
42e0: 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69  ,,"::tls::md -di
42f0: 67 65 73 74 20 73 68 61 31 20 2d 64 61 74 61 20  gest sha1 -data 
4300: 22 22 5c 78 66 37 5c 78 38 66 5c 78 39 32 5c 78  ""\xf7\x8f\x92\x
4310: 31 34 5c 78 31 62 5c 78 63 64 5c 78 31 37 5c 78  14\x1b\xcd\x17\x
4320: 30 61 5c 78 65 38 5c 78 39 62 5c 78 34 66 5c 78  0a\xe8\x9b\x4f\x
4330: 62 61 5c 78 31 35 5c 78 61 31 5c 78 64 35 5c 78  ba\x15\xa1\xd5\x
4340: 39 66 5c 78 33 66 5c 78 64 38 5c 78 34 64 5c 78  9f\x3f\xd8\x4d\x
4350: 32 32 5c 78 33 63 5c 78 39 32 5c 78 35 31 5c 78  22\x3c\x92\x51\x
4360: 62 64 5c 78 61 63 5c 78 62 62 5c 78 61 65 5c 78  bd\xac\xbb\xae\x
4370: 36 31 5c 78 64 30 5c 78 35 65 5c 78 64 31 5c 78  61\xd0\x5e\xd1\x
4380: 31 35 5c 78 61 30 5c 78 36 61 5c 78 37 63 5c 78  15\xa0\x6a\x7c\x
4390: 65 31 5c 78 31 37 5c 78 62 37 5c 78 62 65 5c 78  e1\x17\xb7\xbe\x
43a0: 65 61 5c 78 64 32 5c 78 34 34 5c 78 32 31 5c 78  ea\xd2\x44\x21\x
43b0: 64 65 5c 78 64 39 5c 78 63 33 5c 78 32 35 5c 78  de\xd9\xc3\x25\x
43c0: 39 32 5c 78 62 64 5c 78 35 37 5c 78 65 64 5c 78  92\xbd\x57\xed\x
43d0: 65 61 5c 78 65 33 5c 78 39 63 5c 78 33 39 5c 78  ea\xe3\x9c\x39\x
43e0: 66 61 5c 78 31 66 5c 78 65 38 5c 78 39 34 5c 78  fa\x1f\xe8\x94\x
43f0: 36 61 5c 78 38 34 5c 78 64 30 5c 78 63 66 5c 78  6a\x84\xd0\xcf\x
4400: 31 66 5c 78 37 62 5c 78 65 65 5c 78 61 64 5c 78  1f\x7b\xee\xad\x
4410: 31 37 5c 78 31 33 5c 78 65 32 5c 78 65 30 5c 78  17\x13\xe2\xe0\x
4420: 39 35 5c 78 39 38 5c 78 39 37 5c 78 33 34 5c 78  95\x98\x97\x34\x
4430: 37 66 5c 78 36 37 5c 78 63 38 5c 78 30 62 5c 78  7f\x67\xc8\x0b\x
4440: 30 34 5c 78 30 30 5c 78 63 32 5c 78 30 39 5c 78  04\x00\xc2\x09\x
4450: 38 31 5c 78 35 64 5c 78 36 62 5c 78 31 30 5c 78  81\x5d\x6b\x10\x
4460: 61 36 5c 78 38 33 5c 78 38 33 5c 78 36 66 5c 78  a6\x83\x83\x6f\x
4470: 64 35 5c 78 35 36 5c 78 32 61 5c 78 35 36 5c 78  d5\x56\x2a\x56\x
4480: 63 61 5c 78 62 31 5c 78 61 32 5c 78 38 65 5c 78  ca\xb1\xa2\x8e\x
4490: 38 31 5c 78 62 36 5c 78 35 37 5c 78 36 36 5c 78  81\xb6\x57\x66\x
44a0: 35 34 5c 78 36 33 5c 78 31 63 5c 78 66 31 5c 78  54\x63\x1c\xf1\x
44b0: 36 35 5c 78 36 36 5c 78 62 38 5c 78 36 65 5c 78  65\x66\xb8\x6e\x
44c0: 33 62 5c 78 33 33 5c 78 61 31 5c 78 30 38 5c 78  3b\x33\xa1\x08\x
44d0: 62 30 5c 78 35 33 5c 78 30 37 5c 78 63 30 5c 78  b0\x53\x07\xc0\x
44e0: 30 61 5c 78 66 66 5c 78 31 34 5c 78 61 37 5c 78  0a\xff\x14\xa7\x
44f0: 36 38 5c 78 65 64 5c 78 37 33 5c 78 35 30 5c 78  68\xed\x73\x50\x
4500: 36 30 5c 78 36 61 5c 78 30 66 5c 78 38 35 5c 78  60\x6a\x0f\x85\x
4510: 65 36 5c 78 61 39 5c 78 31 64 5c 78 33 39 5c 78  e6\xa9\x1d\x39\x
4520: 36 66 5c 78 35 62 5c 78 35 63 5c 78 62 65 5c 78  6f\x5b\x5c\xbe\x
4530: 35 37 5c 78 37 66 5c 78 39 62 5c 78 33 38 5c 78  57\x7f\x9b\x38\x
4540: 38 30 5c 78 37 63 5c 78 37 64 5c 78 35 32 5c 78  80\x7c\x7d\x52\x
4550: 33 64 5c 78 36 64 5c 78 37 39 5c 78 32 66 5c 78  3d\x6d\x79\x2f\x
4560: 36 65 5c 78 62 63 5c 78 32 34 5c 78 61 34 5c 78  6e\xbc\x24\xa4\x
4570: 65 63 5c 78 66 32 5c 78 62 33 5c 78 61 34 5c 78  ec\xf2\xb3\xa4\x
4580: 32 37 5c 78 63 64 5c 78 62 62 5c 78 66 62 22 22  27\xcd\xbb\xfb""
4590: 22 2c 2c 2c 63 62 30 30 38 32 63 38 66 31 39 37  ",,,cb0082c8f197
45a0: 64 32 36 30 39 39 31 62 61 36 61 34 36 30 65 37  d260991ba6a460e7
45b0: 36 65 32 30 32 62 61 64 32 37 62 33 2c 2c 2c 0a  6e202bad27b3,,,.
45c0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61  ,,,,,,,,,,.comma
45d0: 6e 64 2c 23 20 52 46 43 20 36 32 33 34 20 53 48  nd,# RFC 6234 SH
45e0: 41 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46  A256,,,,,,,,,.RF
45f0: 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35 36 2c  C6234-MD-SHA256,
4600: 54 43 31 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64  TC1,,,"::tls::md
4610: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20   -digest sha256 
4620: 2d 64 61 74 61 20 22 22 61 62 63 22 22 22 2c 2c  -data ""abc""",,
4630: 2c 62 61 37 38 31 36 62 66 38 66 30 31 63 66 65  ,ba7816bf8f01cfe
4640: 61 34 31 34 31 34 30 64 65 35 64 61 65 32 32 32  a414140de5dae222
4650: 33 62 30 30 33 36 31 61 33 39 36 31 37 37 61 39  3b00361a396177a9
4660: 63 62 34 31 30 66 66 36 31 66 32 30 30 31 35 61  cb410ff61f20015a
4670: 64 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d  d,,,.RFC6234-MD-
4680: 53 48 41 32 35 36 2c 54 43 32 5f 31 2c 2c 2c 22  SHA256,TC2_1,,,"
4690: 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73  ::tls::md -diges
46a0: 74 20 73 68 61 32 35 36 20 2d 64 61 74 61 20 22  t sha256 -data "
46b0: 22 61 62 63 64 62 63 64 65 63 64 65 66 64 65 66  "abcdbcdecdefdef
46c0: 67 65 66 67 68 66 67 68 69 67 68 69 6a 68 69 6a  gefghfghighijhij
46d0: 6b 69 6a 6b 6c 6a 6b 6c 6d 6b 6c 6d 6e 6c 6d 6e  kijkljklmklmnlmn
46e0: 6f 6d 6e 6f 70 6e 6f 70 71 22 22 22 2c 2c 2c 32  omnopnopq""",,,2
46f0: 34 38 64 36 61 36 31 64 32 30 36 33 38 62 38 65  48d6a61d20638b8e
4700: 35 63 30 32 36 39 33 30 63 33 65 36 30 33 39 61  5c026930c3e6039a
4710: 33 33 63 65 34 35 39 36 34 66 66 32 31 36 37 66  33ce45964ff2167f
4720: 36 65 63 65 64 64 34 31 39 64 62 30 36 63 31 2c  6ecedd419db06c1,
4730: 2c 2c 0a 52 46 43 36 32 33 34 2d 4d 44 2d 53 48  ,,.RFC6234-MD-SH
4740: 41 32 35 36 2c 54 43 33 2c 2c 2c 22 3a 3a 74 6c  A256,TC3,,,"::tl
4750: 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73 68  s::md -digest sh
4760: 61 32 35 36 20 2d 64 61 74 61 20 5b 73 74 72 69  a256 -data [stri
4770: 6e 67 20 72 65 70 65 61 74 20 22 22 61 22 22 20  ng repeat ""a"" 
4780: 31 30 30 30 30 30 30 5d 22 2c 2c 2c 63 64 63 37  1000000]",,,cdc7
4790: 36 65 35 63 39 39 31 34 66 62 39 32 38 31 61 31  6e5c9914fb9281a1
47a0: 63 37 65 32 38 34 64 37 33 65 36 37 66 31 38 30  c7e284d73e67f180
47b0: 39 61 34 38 61 34 39 37 32 30 30 65 30 34 36 64  9a48a497200e046d
47c0: 33 39 63 63 63 37 31 31 32 63 64 30 2c 2c 2c 0a  39ccc7112cd0,,,.
47d0: 52 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35  RFC6234-MD-SHA25
47e0: 36 2c 54 43 34 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a  6,TC4,,,"::tls::
47f0: 6d 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35  md -digest sha25
4800: 36 20 2d 64 61 74 61 20 5b 73 74 72 69 6e 67 20  6 -data [string 
4810: 72 65 70 65 61 74 20 22 22 30 31 32 33 34 35 36  repeat ""0123456
4820: 37 22 22 20 38 30 5d 22 2c 2c 2c 35 39 34 38 34  7"" 80]",,,59484
4830: 37 33 32 38 34 35 31 62 64 66 61 38 35 30 35 36  7328451bdfa85056
4840: 32 32 35 34 36 32 63 63 31 64 38 36 37 64 38 37  225462cc1d867d87
4850: 37 66 62 33 38 38 64 66 30 63 65 33 35 66 32 35  7fb388df0ce35f25
4860: 61 62 35 35 36 32 62 66 62 62 35 2c 2c 2c 0a 52  ab5562bfbb5,,,.R
4870: 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35 36  FC6234-MD-SHA256
4880: 2c 54 43 36 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d  ,TC6,,,"::tls::m
4890: 64 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36  d -digest sha256
48a0: 20 2d 64 61 74 61 20 22 22 5c 78 31 39 22 22 22   -data ""\x19"""
48b0: 2c 2c 2c 36 38 61 61 32 65 32 65 65 35 64 66 66  ,,,68aa2e2ee5dff
48c0: 39 36 65 33 33 35 35 65 36 63 37 65 65 33 37 33  96e3355e6c7ee373
48d0: 65 33 64 36 61 34 65 31 37 66 37 35 66 39 35 31  e3d6a4e17f75f951
48e0: 38 64 38 34 33 37 30 39 63 30 63 39 62 63 33 65  8d843709c0c9bc3e
48f0: 33 64 34 2c 2c 2c 0a 52 46 43 36 32 33 34 2d 4d  3d4,,,.RFC6234-M
4900: 44 2d 53 48 41 32 35 36 2c 54 43 38 5f 32 35 36  D-SHA256,TC8_256
4910: 2c 2c 2c 22 3a 3a 74 6c 73 3a 3a 6d 64 20 2d 64  ,,,"::tls::md -d
4920: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 64 61  igest sha256 -da
4930: 74 61 20 22 22 5c 78 65 33 5c 78 64 37 5c 78 32  ta ""\xe3\xd7\x2
4940: 35 5c 78 37 30 5c 78 64 63 5c 78 64 64 5c 78 37  5\x70\xdc\xdd\x7
4950: 38 5c 78 37 63 5c 78 65 33 5c 78 38 38 5c 78 37  8\x7c\xe3\x88\x7
4960: 61 5c 78 62 32 5c 78 63 64 5c 78 36 38 5c 78 34  a\xb2\xcd\x68\x4
4970: 36 5c 78 35 32 22 22 22 2c 2c 2c 31 37 35 65 65  6\x52""",,,175ee
4980: 36 39 62 30 32 62 61 39 62 35 38 65 32 62 30 61  69b02ba9b58e2b0a
4990: 35 66 64 31 33 38 31 39 63 65 61 35 37 33 66 33  5fd13819cea573f3
49a0: 39 34 30 61 39 34 66 38 32 35 31 32 38 63 66 34  940a94f825128cf4
49b0: 32 30 39 62 65 61 62 62 34 65 38 2c 2c 2c 0a 52  209beabb4e8,,,.R
49c0: 46 43 36 32 33 34 2d 4d 44 2d 53 48 41 32 35 36  FC6234-MD-SHA256
49d0: 2c 54 43 31 30 5f 32 35 36 2c 2c 2c 22 3a 3a 74  ,TC10_256,,,"::t
49e0: 6c 73 3a 3a 6d 64 20 2d 64 69 67 65 73 74 20 73  ls::md -digest s
49f0: 68 61 32 35 36 20 2d 64 61 74 61 20 22 22 5c 78  ha256 -data ""\x
4a00: 38 33 5c 78 32 36 5c 78 37 35 5c 78 34 65 5c 78  83\x26\x75\x4e\x
4a10: 32 32 5c 78 37 37 5c 78 33 37 5c 78 32 66 5c 78  22\x77\x37\x2f\x
4a20: 34 66 5c 78 63 31 5c 78 32 62 5c 78 32 30 5c 78  4f\xc1\x2b\x20\x
4a30: 35 32 5c 78 37 61 5c 78 66 65 5c 78 66 30 5c 78  52\x7a\xfe\xf0\x
4a40: 34 64 5c 78 38 61 5c 78 30 35 5c 78 36 39 5c 78  4d\x8a\x05\x69\x
4a50: 37 31 5c 78 62 31 5c 78 31 61 5c 78 64 35 5c 78  71\xb1\x1a\xd5\x
4a60: 37 31 5c 78 32 33 5c 78 61 37 5c 78 63 31 5c 78  71\x23\xa7\xc1\x
4a70: 33 37 5c 78 37 36 5c 78 30 30 5c 78 30 30 5c 78  37\x76\x00\x00\x
4a80: 64 37 5c 78 62 65 5c 78 66 36 5c 78 66 33 5c 78  d7\xbe\xf6\xf3\x
4a90: 63 31 5c 78 66 37 5c 78 61 39 5c 78 30 38 5c 78  c1\xf7\xa9\x08\x
4aa0: 33 61 5c 78 61 33 5c 78 39 64 5c 78 38 31 5c 78  3a\xa3\x9d\x81\x
4ab0: 30 64 5c 78 62 33 5c 78 31 30 5c 78 37 37 5c 78  0d\xb3\x10\x77\x
4ac0: 37 64 5c 78 61 62 5c 78 38 62 5c 78 31 65 5c 78  7d\xab\x8b\x1e\x
4ad0: 37 66 5c 78 30 32 5c 78 62 38 5c 78 34 61 5c 78  7f\x02\xb8\x4a\x
4ae0: 32 36 5c 78 63 37 5c 78 37 33 5c 78 33 32 5c 78  26\xc7\x73\x32\x
4af0: 35 66 5c 78 38 62 5c 78 32 33 5c 78 37 34 5c 78  5f\x8b\x23\x74\x
4b00: 64 65 5c 78 37 61 5c 78 34 62 5c 78 35 61 5c 78  de\x7a\x4b\x5a\x
4b10: 35 38 5c 78 63 62 5c 78 35 63 5c 78 35 63 5c 78  58\xcb\x5c\x5c\x
4b20: 66 33 5c 78 35 62 5c 78 63 65 5c 78 65 36 5c 78  f3\x5b\xce\xe6\x
4b30: 66 62 5c 78 39 34 5c 78 36 65 5c 78 35 62 5c 78  fb\x94\x6e\x5b\x
4b40: 64 36 5c 78 39 34 5c 78 66 61 5c 78 35 39 5c 78  d6\x94\xfa\x59\x
4b50: 33 61 5c 78 38 62 5c 78 65 62 5c 78 33 66 5c 78  3a\x8b\xeb\x3f\x
4b60: 39 64 5c 78 36 35 5c 78 39 32 5c 78 65 63 5c 78  9d\x65\x92\xec\x
4b70: 65 64 5c 78 61 61 5c 78 36 36 5c 78 63 61 5c 78  ed\xaa\x66\xca\x
4b80: 38 32 5c 78 61 32 5c 78 39 64 5c 78 30 63 5c 78  82\xa2\x9d\x0c\x
4b90: 35 31 5c 78 62 63 5c 78 66 39 5c 78 33 33 5c 78  51\xbc\xf9\x33\x
4ba0: 36 32 5c 78 33 30 5c 78 65 35 5c 78 64 37 5c 78  62\x30\xe5\xd7\x
4bb0: 38 34 5c 78 65 34 5c 78 63 30 5c 78 61 34 5c 78  84\xe4\xc0\xa4\x
4bc0: 33 66 5c 78 38 64 5c 78 37 39 5c 78 61 33 5c 78  3f\x8d\x79\xa3\x
4bd0: 30 61 5c 78 31 36 5c 78 35 63 5c 78 62 61 5c 78  0a\x16\x5c\xba\x
4be0: 62 65 5c 78 34 35 5c 78 32 62 5c 78 37 37 5c 78  be\x45\x2b\x77\x
4bf0: 34 62 5c 78 39 63 5c 78 37 31 5c 78 30 39 5c 78  4b\x9c\x71\x09\x
4c00: 61 39 5c 78 37 64 5c 78 31 33 5c 78 38 66 5c 78  a9\x7d\x13\x8f\x
4c10: 31 32 5c 78 39 32 5c 78 32 38 5c 78 39 36 5c 78  12\x92\x28\x96\x
4c20: 36 66 5c 78 36 63 5c 78 30 61 5c 78 64 63 5c 78  6f\x6c\x0a\xdc\x
4c30: 31 30 5c 78 36 61 5c 78 61 64 5c 78 35 61 5c 78  10\x6a\xad\x5a\x
4c40: 39 66 5c 78 64 64 5c 78 33 30 5c 78 38 32 5c 78  9f\xdd\x30\x82\x
4c50: 35 37 5c 78 36 39 5c 78 62 32 5c 78 63 36 5c 78  57\x69\xb2\xc6\x
4c60: 37 31 5c 78 61 66 5c 78 36 37 5c 78 35 39 5c 78  71\xaf\x67\x59\x
4c70: 64 66 5c 78 32 38 5c 78 65 62 5c 78 33 39 5c 78  df\x28\xeb\x39\x
4c80: 33 64 5c 78 35 34 5c 78 64 36 22 22 22 2c 2c 2c  3d\x54\xd6""",,,
4c90: 39 37 64 62 63 61 37 64 66 34 36 64 36 32 63 38  97dbca7df46d62c8
4ca0: 61 34 32 32 63 39 34 31 64 64 37 65 38 33 35 62  a422c941dd7e835b
4cb0: 38 61 64 33 33 36 31 37 36 33 66 37 65 39 62 32  8ad3361763f7e9b2
4cc0: 64 39 35 66 34 66 30 64 61 36 65 31 63 63 62 63  d95f4f0da6e1ccbc
4cd0: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
4ce0: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33  ommand,# RFC 423
4cf0: 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20  1 HMAC Examples 
4d00: 54 65 73 74 20 43 61 73 65 20 23 31 2c 2c 2c 2c  Test Case #1,,,,
4d10: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
4d20: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64  et key [binary d
4d30: 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e  ecode hex [strin
4d40: 67 20 72 65 70 65 61 74 20 22 22 30 62 22 22 20  g repeat ""0b"" 
4d50: 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  20]]",,,,,,,,,.c
4d60: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
4d70: 20 22 22 48 69 20 54 68 65 72 65 22 22 22 2c 2c   ""Hi There""",,
4d80: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ,,,,,,,.RFC4231 
4d90: 48 4d 41 43 20 54 43 31 2c 73 68 61 32 32 34 2c  HMAC TC1,sha224,
4da0: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
4db0: 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65  igest sha224 -ke
4dc0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
4dd0: 74 61 2c 2c 2c 38 39 36 66 62 31 31 32 38 61 62  ta,,,896fb1128ab
4de0: 62 64 66 31 39 36 38 33 32 31 30 37 63 64 34 39  bdf196832107cd49
4df0: 64 66 33 33 66 34 37 62 34 62 31 31 36 39 39 31  df33f47b4b116991
4e00: 32 62 61 34 66 35 33 36 38 34 62 32 32 2c 2c 2c  2ba4f53684b22,,,
4e10: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
4e20: 31 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  1,sha256,,,::tls
4e30: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
4e40: 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20  ha256 -key $key 
4e50: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 62 30  -data $data,,,b0
4e60: 33 34 34 63 36 31 64 38 64 62 33 38 35 33 35 63  344c61d8db38535c
4e70: 61 38 61 66 63 65 61 66 30 62 66 31 32 62 38 38  a8afceaf0bf12b88
4e80: 31 64 63 32 30 30 63 39 38 33 33 64 61 37 32 36  1dc200c9833da726
4e90: 65 39 33 37 36 63 32 65 33 32 63 66 66 37 2c 2c  e9376c2e32cff7,,
4ea0: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
4eb0: 43 31 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c  C1,sha384,,,::tl
4ec0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
4ed0: 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79  sha384 -key $key
4ee0: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 61   -data $data,,,a
4ef0: 66 64 30 33 39 34 34 64 38 34 38 39 35 36 32 36  fd03944d84895626
4f00: 62 30 38 32 35 66 34 61 62 34 36 39 30 37 66 31  b0825f4ab46907f1
4f10: 35 66 39 64 61 64 62 65 34 31 30 31 65 63 36 38  5f9dadbe4101ec68
4f20: 32 61 61 30 33 34 63 37 63 65 62 63 35 39 63 66  2aa034c7cebc59cf
4f30: 61 65 61 39 65 61 39 30 37 36 65 64 65 37 66 34  aea9ea9076ede7f4
4f40: 61 66 31 35 32 65 38 62 32 66 61 39 63 62 36 2c  af152e8b2fa9cb6,
4f50: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
4f60: 54 43 31 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74  TC1,sha512,,,::t
4f70: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
4f80: 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65   sha512 -key $ke
4f90: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
4fa0: 38 37 61 61 37 63 64 65 61 35 65 66 36 31 39 64  87aa7cdea5ef619d
4fb0: 34 66 66 30 62 34 32 34 31 61 31 64 36 63 62 30  4ff0b4241a1d6cb0
4fc0: 32 33 37 39 66 34 65 32 63 65 34 65 63 32 37 38  2379f4e2ce4ec278
4fd0: 37 61 64 30 62 33 30 35 34 35 65 31 37 63 64 65  7ad0b30545e17cde
4fe0: 64 61 61 38 33 33 62 37 64 36 62 38 61 37 30 32  daa833b7d6b8a702
4ff0: 30 33 38 62 32 37 34 65 61 65 61 33 66 34 65 34  038b274eaea3f4e4
5000: 62 65 39 64 39 31 34 65 65 62 36 31 66 31 37 30  be9d914eeb61f170
5010: 32 65 36 39 36 63 32 30 33 61 31 32 36 38 35 34  2e696c203a126854
5020: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
5030: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33  ommand,# RFC 423
5040: 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20  1 HMAC Examples 
5050: 54 65 73 74 20 43 61 73 65 20 23 32 20 2d 20 54  Test Case #2 - T
5060: 65 73 74 20 77 69 74 68 20 61 20 6b 65 79 20 73  est with a key s
5070: 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68 65 20  horter than the 
5080: 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 48 4d  length of the HM
5090: 41 43 20 6f 75 74 70 75 74 2e 2c 2c 2c 2c 2c 2c  AC output.,,,,,,
50a0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74  ,,,.command,"set
50b0: 20 6b 65 79 20 22 22 4a 65 66 65 22 22 22 2c 2c   key ""Jefe""",,
50c0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
50d0: 22 73 65 74 20 64 61 74 61 20 22 22 77 68 61 74  "set data ""what
50e0: 20 64 6f 20 79 61 20 77 61 6e 74 20 66 6f 72 20   do ya want for 
50f0: 6e 6f 74 68 69 6e 67 3f 22 22 22 2c 2c 2c 2c 2c  nothing?""",,,,,
5100: 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  ,,,,.RFC4231 HMA
5110: 43 20 54 43 32 2c 73 68 61 32 32 34 2c 2c 2c 3a  C TC2,sha224,,,:
5120: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
5130: 73 74 20 73 68 61 32 32 34 20 2d 6b 65 79 20 24  st sha224 -key $
5140: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
5150: 2c 2c 61 33 30 65 30 31 30 39 38 62 63 36 64 62  ,,a30e01098bc6db
5160: 62 66 34 35 36 39 30 66 33 61 37 65 39 65 36 64  bf45690f3a7e9e6d
5170: 30 66 38 62 62 65 61 32 61 33 39 65 36 31 34 38  0f8bbea2a39e6148
5180: 30 30 38 66 64 30 35 65 34 34 2c 2c 2c 0a 52 46  008fd05e44,,,.RF
5190: 43 34 32 33 31 20 48 4d 41 43 20 54 43 32 2c 73  C4231 HMAC TC2,s
51a0: 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68  ha256,,,::tls::h
51b0: 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61 32  mac -digest sha2
51c0: 35 36 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61  56 -key $key -da
51d0: 74 61 20 24 64 61 74 61 2c 2c 2c 35 62 64 63 63  ta $data,,,5bdcc
51e0: 31 34 36 62 66 36 30 37 35 34 65 36 61 30 34 32  146bf60754e6a042
51f0: 34 32 36 30 38 39 35 37 35 63 37 35 61 30 30 33  426089575c75a003
5200: 66 30 38 39 64 32 37 33 39 38 33 39 64 65 63 35  f089d2739839dec5
5210: 38 62 39 36 34 65 63 33 38 34 33 2c 2c 2c 0a 52  8b964ec3843,,,.R
5220: 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 32 2c  FC4231 HMAC TC2,
5230: 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a  sha384,,,::tls::
5240: 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68 61  hmac -digest sha
5250: 33 38 34 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64  384 -key $key -d
5260: 61 74 61 20 24 64 61 74 61 2c 2c 2c 61 66 34 35  ata $data,,,af45
5270: 64 32 65 33 37 36 34 38 34 30 33 31 36 31 37 66  d2e376484031617f
5280: 37 38 64 32 62 35 38 61 36 62 31 62 39 63 37 65  78d2b58a6b1b9c7e
5290: 66 34 36 34 66 35 61 30 31 62 34 37 65 34 32 65  f464f5a01b47e42e
52a0: 63 33 37 33 36 33 32 32 34 34 35 65 38 65 32 32  c3736322445e8e22
52b0: 34 30 63 61 35 65 36 39 65 32 63 37 38 62 33 32  40ca5e69e2c78b32
52c0: 33 39 65 63 66 61 62 32 31 36 34 39 2c 2c 2c 0a  39ecfab21649,,,.
52d0: 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43 32  RFC4231 HMAC TC2
52e0: 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74 6c 73 3a  ,sha512,,,::tls:
52f0: 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73 68  :hmac -digest sh
5300: 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20 2d  a512 -key $key -
5310: 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 31 36 34  data $data,,,164
5320: 62 37 61 37 62 66 63 66 38 31 39 65 32 65 33 39  b7a7bfcf819e2e39
5330: 35 66 62 65 37 33 62 35 36 65 30 61 33 38 37 62  5fbe73b56e0a387b
5340: 64 36 34 32 32 32 65 38 33 31 66 64 36 31 30 32  d64222e831fd6102
5350: 37 30 63 64 37 65 61 32 35 30 35 35 34 39 37 35  70cd7ea250554975
5360: 38 62 66 37 35 63 30 35 61 39 39 34 61 36 64 30  8bf75c05a994a6d0
5370: 33 34 66 36 35 66 38 66 30 65 36 66 64 63 61 65  34f65f8f0e6fdcae
5380: 61 62 31 61 33 34 64 34 61 36 62 34 62 36 33 36  ab1a34d4a6b4b636
5390: 65 30 37 30 61 33 38 62 63 65 37 33 37 2c 2c 2c  e070a38bce737,,,
53a0: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d  .,,,,,,,,,,.comm
53b0: 61 6e 64 2c 23 20 52 46 43 20 34 32 33 31 20 48  and,# RFC 4231 H
53c0: 4d 41 43 20 45 78 61 6d 70 6c 65 73 20 54 65 73  MAC Examples Tes
53d0: 74 20 43 61 73 65 20 23 33 20 2d 20 54 65 73 74  t Case #3 - Test
53e0: 20 77 69 74 68 20 61 20 63 6f 6d 62 69 6e 65 64   with a combined
53f0: 20 6c 65 6e 67 74 68 20 6f 66 20 6b 65 79 20 61   length of key a
5400: 6e 64 20 64 61 74 61 20 74 68 61 74 20 69 73 20  nd data that is 
5410: 6c 61 72 67 65 72 20 74 68 61 6e 20 36 34 20 62  larger than 64 b
5420: 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b 2d 73 69  ytes (= block-si
5430: 7a 65 20 6f 66 20 53 48 41 2d 32 32 34 20 61 6e  ze of SHA-224 an
5440: 64 20 53 48 41 2d 32 35 36 29 2e 2c 2c 2c 2c 2c  d SHA-256).,,,,,
5450: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65  ,,,,.command,"se
5460: 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 65  t key [binary de
5470: 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e 67  code hex [string
5480: 20 72 65 70 65 61 74 20 22 22 61 61 22 22 20 32   repeat ""aa"" 2
5490: 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  0]]",,,,,,,,,.co
54a0: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
54b0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
54c0: 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ex [string repea
54d0: 74 20 22 22 64 64 22 22 20 35 30 5d 5d 22 2c 2c  t ""dd"" 50]]",,
54e0: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ,,,,,,,.RFC4231 
54f0: 48 4d 41 43 20 54 43 33 2c 73 68 61 32 32 34 2c  HMAC TC3,sha224,
5500: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
5510: 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65  igest sha224 -ke
5520: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5530: 74 61 2c 2c 2c 37 66 62 33 63 62 33 35 38 38 63  ta,,,7fb3cb3588c
5540: 36 63 31 66 36 66 66 61 39 36 39 34 64 37 64 36  6c1f6ffa9694d7d6
5550: 61 64 32 36 34 39 33 36 35 62 30 63 31 66 36 35  ad2649365b0c1f65
5560: 64 36 39 64 31 65 63 38 33 33 33 65 61 2c 2c 2c  d69d1ec8333ea,,,
5570: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
5580: 33 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  3,sha256,,,::tls
5590: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
55a0: 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20  ha256 -key $key 
55b0: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 37 37  -data $data,,,77
55c0: 33 65 61 39 31 65 33 36 38 30 30 65 34 36 38 35  3ea91e36800e4685
55d0: 34 64 62 38 65 62 64 30 39 31 38 31 61 37 32 39  4db8ebd09181a729
55e0: 35 39 30 39 38 62 33 65 66 38 63 31 32 32 64 39  59098b3ef8c122d9
55f0: 36 33 35 35 31 34 63 65 64 35 36 35 66 65 2c 2c  635514ced565fe,,
5600: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
5610: 43 33 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c  C3,sha384,,,::tl
5620: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
5630: 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79  sha384 -key $key
5640: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 38   -data $data,,,8
5650: 38 30 36 32 36 30 38 64 33 65 36 61 64 38 61 30  8062608d3e6ad8a0
5660: 61 61 32 61 63 65 30 31 34 63 38 61 38 36 66 30  aa2ace014c8a86f0
5670: 61 61 36 33 35 64 39 34 37 61 63 39 66 65 62 65  aa635d947ac9febe
5680: 38 33 65 66 34 65 35 35 39 36 36 31 34 34 62 32  83ef4e55966144b2
5690: 61 35 61 62 33 39 64 63 31 33 38 31 34 62 39 34  a5ab39dc13814b94
56a0: 65 33 61 62 36 65 31 30 31 61 33 34 66 32 37 2c  e3ab6e101a34f27,
56b0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
56c0: 54 43 33 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74  TC3,sha512,,,::t
56d0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
56e0: 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65   sha512 -key $ke
56f0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
5700: 66 61 37 33 62 30 30 38 39 64 35 36 61 32 38 34  fa73b0089d56a284
5710: 65 66 62 30 66 30 37 35 36 63 38 39 30 62 65 39  efb0f0756c890be9
5720: 62 31 62 35 64 62 64 64 38 65 65 38 31 61 33 36  b1b5dbdd8ee81a36
5730: 35 35 66 38 33 65 33 33 62 32 32 37 39 64 33 39  55f83e33b2279d39
5740: 62 66 33 65 38 34 38 32 37 39 61 37 32 32 63 38  bf3e848279a722c8
5750: 30 36 62 34 38 35 61 34 37 65 36 37 63 38 30 37  06b485a47e67c807
5760: 62 39 34 36 61 33 33 37 62 65 65 38 39 34 32 36  b946a337bee89426
5770: 37 34 32 37 38 38 35 39 65 31 33 32 39 32 66 62  74278859e13292fb
5780: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
5790: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33  ommand,# RFC 423
57a0: 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20  1 HMAC Examples 
57b0: 54 65 73 74 20 43 61 73 65 20 23 34 20 2d 20 54  Test Case #4 - T
57c0: 65 73 74 20 77 69 74 68 20 61 20 63 6f 6d 62 69  est with a combi
57d0: 6e 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 6b 65  ned length of ke
57e0: 79 20 61 6e 64 20 64 61 74 61 20 74 68 61 74 20  y and data that 
57f0: 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 36  is larger than 6
5800: 34 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b  4 bytes (= block
5810: 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 32 32 34  -size of SHA-224
5820: 20 61 6e 64 20 53 48 41 2d 32 35 36 29 2e 2c 2c   and SHA-256).,,
5830: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
5840: 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79  "set key [binary
5850: 20 64 65 63 6f 64 65 20 68 65 78 20 22 22 30 31   decode hex ""01
5860: 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39  0203040506070809
5870: 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31  0a0b0c0d0e0f1011
5880: 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39  1213141516171819
5890: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  ""]",,,,,,,,,.co
58a0: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
58b0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
58c0: 65 78 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61  ex [string repea
58d0: 74 20 22 22 63 64 22 22 20 35 30 5d 5d 22 2c 2c  t ""cd"" 50]]",,
58e0: 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33 31 20  ,,,,,,,.RFC4231 
58f0: 48 4d 41 43 20 54 43 34 2c 73 68 61 32 32 34 2c  HMAC TC4,sha224,
5900: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64  ,,::tls::hmac -d
5910: 69 67 65 73 74 20 73 68 61 32 32 34 20 2d 6b 65  igest sha224 -ke
5920: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
5930: 74 61 2c 2c 2c 36 63 31 31 35 30 36 38 37 34 30  ta,,,6c115068740
5940: 31 33 63 61 63 36 61 32 61 62 63 31 62 62 33 38  13cac6a2abc1bb38
5950: 32 36 32 37 63 65 63 36 61 39 30 64 38 36 65 66  2627cec6a90d86ef
5960: 63 30 31 32 64 65 37 61 66 65 63 35 61 2c 2c 2c  c012de7afec5a,,,
5970: 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54 43  .RFC4231 HMAC TC
5980: 34 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74 6c 73  4,sha256,,,::tls
5990: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
59a0: 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65 79 20  ha256 -key $key 
59b0: 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 38 32  -data $data,,,82
59c0: 35 35 38 61 33 38 39 61 34 34 33 63 30 65 61 34  558a389a443c0ea4
59d0: 63 63 38 31 39 38 39 39 66 32 30 38 33 61 38 35  cc819899f2083a85
59e0: 66 30 66 61 61 33 65 35 37 38 66 38 30 37 37 61  f0faa3e578f8077a
59f0: 32 65 33 66 66 34 36 37 32 39 36 36 35 62 2c 2c  2e3ff46729665b,,
5a00: 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20 54  ,.RFC4231 HMAC T
5a10: 43 34 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a 74 6c  C4,sha384,,,::tl
5a20: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
5a30: 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b 65 79  sha384 -key $key
5a40: 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c 33   -data $data,,,3
5a50: 65 38 61 36 39 62 37 37 38 33 63 32 35 38 35 31  e8a69b7783c25851
5a60: 39 33 33 61 62 36 32 39 30 61 66 36 63 61 37 37  933ab6290af6ca77
5a70: 61 39 39 38 31 34 38 30 38 35 30 30 30 39 63 63  a9981480850009cc
5a80: 35 35 37 37 63 36 65 31 66 35 37 33 62 34 65 36  5577c6e1f573b4e6
5a90: 38 30 31 64 64 32 33 63 34 61 37 64 36 37 39 63  801dd23c4a7d679c
5aa0: 63 66 38 61 33 38 36 63 36 37 34 63 66 66 62 2c  cf8a386c674cffb,
5ab0: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
5ac0: 54 43 34 2c 73 68 61 35 31 32 2c 2c 2c 3a 3a 74  TC4,sha512,,,::t
5ad0: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
5ae0: 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65   sha512 -key $ke
5af0: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
5b00: 62 30 62 61 34 36 35 36 33 37 34 35 38 63 36 39  b0ba465637458c69
5b10: 39 30 65 35 61 38 63 35 66 36 31 64 34 61 66 37  90e5a8c5f61d4af7
5b20: 65 35 37 36 64 39 37 66 66 39 34 62 38 37 32 64  e576d97ff94b872d
5b30: 65 37 36 66 38 30 35 30 33 36 31 65 65 33 64 62  e76f8050361ee3db
5b40: 61 39 31 63 61 35 63 31 31 61 61 32 35 65 62 34  a91ca5c11aa25eb4
5b50: 64 36 37 39 32 37 35 63 63 35 37 38 38 30 36 33  d679275cc5788063
5b60: 61 35 66 31 39 37 34 31 31 32 30 63 34 66 32 64  a5f19741120c4f2d
5b70: 65 32 61 64 65 62 65 62 31 30 61 32 39 38 64 64  e2adebeb10a298dd
5b80: 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  ,,,.,,,,,,,,,,.c
5b90: 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34 32 33  ommand,# RFC 423
5ba0: 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65 73 20  1 HMAC Examples 
5bb0: 54 65 73 74 20 43 61 73 65 20 23 35 20 2d 20 54  Test Case #5 - T
5bc0: 65 73 74 20 77 69 74 68 20 61 20 74 72 75 6e 63  est with a trunc
5bd0: 61 74 69 6f 6e 20 6f 66 20 6f 75 74 70 75 74 20  ation of output 
5be0: 74 6f 20 31 32 38 20 62 69 74 73 2e 2c 2c 2c 2c  to 128 bits.,,,,
5bf0: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73  ,,,,,.command,"s
5c00: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64  et key [binary d
5c10: 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72 69 6e  ecode hex [strin
5c20: 67 20 72 65 70 65 61 74 20 22 22 30 63 22 22 20  g repeat ""0c"" 
5c30: 32 30 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63  20]]",,,,,,,,,.c
5c40: 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61  ommand,"set data
5c50: 20 22 22 54 65 73 74 20 57 69 74 68 20 54 72 75   ""Test With Tru
5c60: 6e 63 61 74 69 6f 6e 22 22 22 2c 2c 2c 2c 2c 2c  ncation""",,,,,,
5c70: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
5c80: 20 54 43 35 2c 73 68 61 32 32 34 2c 2c 2c 73 74   TC5,sha224,,,st
5c90: 72 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74 6c  ring range [::tl
5ca0: 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20  s::hmac -digest 
5cb0: 73 68 61 32 32 34 20 2d 6b 65 79 20 24 6b 65 79  sha224 -key $key
5cc0: 20 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30 20   -data $data] 0 
5cd0: 33 31 2c 2c 2c 30 65 32 61 65 61 36 38 61 39 30  31,,,0e2aea68a90
5ce0: 63 38 64 33 37 63 39 38 38 62 63 64 62 39 66 63  c8d37c988bcdb9fc
5cf0: 61 36 66 61 38 2c 2c 2c 0a 52 46 43 34 32 33 31  a6fa8,,,.RFC4231
5d00: 20 48 4d 41 43 20 54 43 35 2c 73 68 61 32 35 36   HMAC TC5,sha256
5d10: 2c 2c 2c 73 74 72 69 6e 67 20 72 61 6e 67 65 20  ,,,string range 
5d20: 5b 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69  [::tls::hmac -di
5d30: 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 79  gest sha256 -key
5d40: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
5d50: 61 5d 20 30 20 33 31 2c 2c 2c 61 33 62 36 31 36  a] 0 31,,,a3b616
5d60: 37 34 37 33 31 30 30 65 65 30 36 65 30 63 37 39  7473100ee06e0c79
5d70: 36 63 32 39 35 35 35 35 32 62 2c 2c 2c 0a 52 46  6c2955552b,,,.RF
5d80: 43 34 32 33 31 20 48 4d 41 43 20 54 43 35 2c 73  C4231 HMAC TC5,s
5d90: 68 61 33 38 34 2c 2c 2c 73 74 72 69 6e 67 20 72  ha384,,,string r
5da0: 61 6e 67 65 20 5b 3a 3a 74 6c 73 3a 3a 68 6d 61  ange [::tls::hma
5db0: 63 20 2d 64 69 67 65 73 74 20 73 68 61 33 38 34  c -digest sha384
5dc0: 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61   -key $key -data
5dd0: 20 24 64 61 74 61 5d 20 30 20 33 31 2c 2c 2c 33   $data] 0 31,,,3
5de0: 61 62 66 33 34 63 33 35 30 33 62 32 61 32 33 61  abf34c3503b2a23a
5df0: 34 36 65 66 63 36 31 39 62 61 65 66 38 39 37 2c  46efc619baef897,
5e00: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
5e10: 54 43 35 2c 73 68 61 35 31 32 2c 2c 2c 73 74 72  TC5,sha512,,,str
5e20: 69 6e 67 20 72 61 6e 67 65 20 5b 3a 3a 74 6c 73  ing range [::tls
5e30: 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74 20 73  ::hmac -digest s
5e40: 68 61 35 31 32 20 2d 6b 65 79 20 24 6b 65 79 20  ha512 -key $key 
5e50: 2d 64 61 74 61 20 24 64 61 74 61 5d 20 30 20 33  -data $data] 0 3
5e60: 31 2c 2c 2c 34 31 35 66 61 64 36 32 37 31 35 38  1,,,415fad627158
5e70: 30 61 35 33 31 64 34 31 37 39 62 63 38 39 31 64  0a531d4179bc891d
5e80: 38 37 61 36 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  87a6,,,.,,,,,,,,
5e90: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43  ,,.command,# RFC
5ea0: 20 34 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70   4231 HMAC Examp
5eb0: 6c 65 73 20 54 65 73 74 20 43 61 73 65 20 23 36  les Test Case #6
5ec0: 20 2d 20 54 65 73 74 20 77 69 74 68 20 61 20 6b   - Test with a k
5ed0: 65 79 20 6c 61 72 67 65 72 20 74 68 61 6e 20 31  ey larger than 1
5ee0: 32 38 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63  28 bytes (= bloc
5ef0: 6b 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 33 38  k-size of SHA-38
5f00: 34 20 61 6e 64 20 53 48 41 2d 35 31 32 29 2e 2c  4 and SHA-512).,
5f10: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  ,,,,,,,,.command
5f20: 2c 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72  ,"set key [binar
5f30: 79 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74  y decode hex [st
5f40: 72 69 6e 67 20 72 65 70 65 61 74 20 22 22 61 61  ring repeat ""aa
5f50: 22 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c 2c 2c 2c  "" 131]]",,,,,,,
5f60: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20  ,,.command,"set 
5f70: 64 61 74 61 20 22 22 54 65 73 74 20 55 73 69 6e  data ""Test Usin
5f80: 67 20 4c 61 72 67 65 72 20 54 68 61 6e 20 42 6c  g Larger Than Bl
5f90: 6f 63 6b 2d 53 69 7a 65 20 4b 65 79 20 2d 20 48  ock-Size Key - H
5fa0: 61 73 68 20 4b 65 79 20 46 69 72 73 74 22 22 22  ash Key First"""
5fb0: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32 33  ,,,,,,,,,.RFC423
5fc0: 31 20 48 4d 41 43 20 54 43 36 2c 73 68 61 32 32  1 HMAC TC6,sha22
5fd0: 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20  4,,,::tls::hmac 
5fe0: 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20 2d  -digest sha224 -
5ff0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24  key $key -data $
6000: 64 61 74 61 2c 2c 2c 39 35 65 39 61 30 64 62 39  data,,,95e9a0db9
6010: 36 32 30 39 35 61 64 61 65 62 65 39 62 32 64 36  62095adaebe9b2d6
6020: 66 30 64 62 63 65 32 64 34 39 39 66 31 31 32 66  f0dbce2d499f112f
6030: 32 64 32 62 37 32 37 33 66 61 36 38 37 30 65 2c  2d2b7273fa6870e,
6040: 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43 20  ,,.RFC4231 HMAC 
6050: 54 43 36 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a 74  TC6,sha256,,,::t
6060: 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73 74  ls::hmac -digest
6070: 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b 65   sha256 -key $ke
6080: 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c 2c  y -data $data,,,
6090: 36 30 65 34 33 31 35 39 31 65 65 30 62 36 37 66  60e431591ee0b67f
60a0: 30 64 38 61 32 36 61 61 63 62 66 35 62 37 37 66  0d8a26aacbf5b77f
60b0: 38 65 30 62 63 36 32 31 33 37 32 38 63 35 31 34  8e0bc6213728c514
60c0: 30 35 34 36 30 34 30 66 30 65 65 33 37 66 35 34  0546040f0ee37f54
60d0: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
60e0: 20 54 43 36 2c 73 68 61 33 38 34 2c 2c 2c 3a 3a   TC6,sha384,,,::
60f0: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
6100: 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24 6b  t sha384 -key $k
6110: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
6120: 2c 34 65 63 65 30 38 34 34 38 35 38 31 33 65 39  ,4ece084485813e9
6130: 30 38 38 64 32 63 36 33 61 30 34 31 62 63 35 62  088d2c63a041bc5b
6140: 34 34 66 39 65 66 31 30 31 32 61 32 62 35 38 38  44f9ef1012a2b588
6150: 66 33 63 64 31 31 66 30 35 30 33 33 61 63 34 63  f3cd11f05033ac4c
6160: 36 30 63 32 65 66 36 61 62 34 30 33 30 66 65 38  60c2ef6ab4030fe8
6170: 32 39 36 32 34 38 64 66 31 36 33 66 34 34 39 35  296248df163f4495
6180: 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  2,,,.RFC4231 HMA
6190: 43 20 54 43 36 2c 73 68 61 35 31 32 2c 2c 2c 3a  C TC6,sha512,,,:
61a0: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
61b0: 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20 24  st sha512 -key $
61c0: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
61d0: 2c 2c 38 30 62 32 34 32 36 33 63 37 63 31 61 33  ,,80b24263c7c1a3
61e0: 65 62 62 37 31 34 39 33 63 31 64 64 37 62 65 38  ebb71493c1dd7be8
61f0: 62 34 39 62 34 36 64 31 66 34 31 62 34 61 65 65  b49b46d1f41b4aee
6200: 63 31 31 32 31 62 30 31 33 37 38 33 66 38 66 33  c1121b013783f8f3
6210: 35 32 36 62 35 36 64 30 33 37 65 30 35 66 32 35  526b56d037e05f25
6220: 39 38 62 64 30 66 64 32 32 31 35 64 36 61 31 65  98bd0fd2215d6a1e
6230: 35 32 39 35 65 36 34 66 37 33 66 36 33 66 30 61  5295e64f73f63f0a
6240: 65 63 38 62 39 31 35 61 39 38 35 64 37 38 36 35  ec8b915a985d7865
6250: 39 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c  98,,,.,,,,,,,,,,
6260: 0a 63 6f 6d 6d 61 6e 64 2c 23 20 52 46 43 20 34  .command,# RFC 4
6270: 32 33 31 20 48 4d 41 43 20 45 78 61 6d 70 6c 65  231 HMAC Example
6280: 73 20 54 65 73 74 20 43 61 73 65 20 23 37 20 2d  s Test Case #7 -
6290: 20 54 65 73 74 20 77 69 74 68 20 61 20 6b 65 79   Test with a key
62a0: 20 61 6e 64 20 64 61 74 61 20 74 68 61 74 20 69   and data that i
62b0: 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 31 32  s larger than 12
62c0: 38 20 62 79 74 65 73 20 28 3d 20 62 6c 6f 63 6b  8 bytes (= block
62d0: 2d 73 69 7a 65 20 6f 66 20 53 48 41 2d 33 38 34  -size of SHA-384
62e0: 20 61 6e 64 20 53 48 41 2d 35 31 32 29 2e 2c 2c   and SHA-512).,,
62f0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c  ,,,,,,,.command,
6300: 22 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79  "set key [binary
6310: 20 64 65 63 6f 64 65 20 68 65 78 20 5b 73 74 72   decode hex [str
6320: 69 6e 67 20 72 65 70 65 61 74 20 22 22 61 61 22  ing repeat ""aa"
6330: 22 20 31 33 31 5d 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  " 131]]",,,,,,,,
6340: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 64  ,.command,"set d
6350: 61 74 61 20 22 22 54 68 69 73 20 69 73 20 61 20  ata ""This is a 
6360: 74 65 73 74 20 75 73 69 6e 67 20 61 20 6c 61 72  test using a lar
6370: 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d 73  ger than block-s
6380: 69 7a 65 20 6b 65 79 20 61 6e 64 20 61 20 6c 61  ize key and a la
6390: 72 67 65 72 20 74 68 61 6e 20 62 6c 6f 63 6b 2d  rger than block-
63a0: 73 69 7a 65 20 64 61 74 61 2e 20 54 68 65 20 6b  size data. The k
63b0: 65 79 20 6e 65 65 64 73 20 74 6f 20 62 65 20 68  ey needs to be h
63c0: 61 73 68 65 64 20 62 65 66 6f 72 65 20 62 65 69  ashed before bei
63d0: 6e 67 20 75 73 65 64 20 62 79 20 74 68 65 20 48  ng used by the H
63e0: 4d 41 43 20 61 6c 67 6f 72 69 74 68 6d 2e 22 22  MAC algorithm.""
63f0: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 52 46 43 34 32  ",,,,,,,,,.RFC42
6400: 33 31 20 48 4d 41 43 20 54 43 37 2c 73 68 61 32  31 HMAC TC7,sha2
6410: 32 34 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 6d 61 63  24,,,::tls::hmac
6420: 20 2d 64 69 67 65 73 74 20 73 68 61 32 32 34 20   -digest sha224 
6430: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
6440: 24 64 61 74 61 2c 2c 2c 33 61 38 35 34 31 36 36  $data,,,3a854166
6450: 61 63 35 64 39 66 30 32 33 66 35 34 64 35 31 37  ac5d9f023f54d517
6460: 64 30 62 33 39 64 62 64 39 34 36 37 37 30 64 62  d0b39dbd946770db
6470: 39 63 32 62 39 35 63 39 66 36 66 35 36 35 64 31  9c2b95c9f6f565d1
6480: 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41 43  ,,,.RFC4231 HMAC
6490: 20 54 43 37 2c 73 68 61 32 35 36 2c 2c 2c 3a 3a   TC7,sha256,,,::
64a0: 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65 73  tls::hmac -diges
64b0: 74 20 73 68 61 32 35 36 20 2d 6b 65 79 20 24 6b  t sha256 -key $k
64c0: 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c 2c  ey -data $data,,
64d0: 2c 39 62 30 39 66 66 61 37 31 62 39 34 32 66 63  ,9b09ffa71b942fc
64e0: 62 32 37 36 33 35 66 62 63 64 35 62 30 65 39 34  b27635fbcd5b0e94
64f0: 34 62 66 64 63 36 33 36 34 34 66 30 37 31 33 39  4bfdc63644f07139
6500: 33 38 61 37 66 35 31 35 33 35 63 33 61 33 35 65  38a7f51535c3a35e
6510: 32 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d 41  2,,,.RFC4231 HMA
6520: 43 20 54 43 37 2c 73 68 61 33 38 34 2c 2c 2c 3a  C TC7,sha384,,,:
6530: 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67 65  :tls::hmac -dige
6540: 73 74 20 73 68 61 33 38 34 20 2d 6b 65 79 20 24  st sha384 -key $
6550: 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61 2c  key -data $data,
6560: 2c 2c 36 36 31 37 31 37 38 65 39 34 31 66 30 32  ,,6617178e941f02
6570: 30 64 33 35 31 65 32 66 32 35 34 65 38 66 64 33  0d351e2f254e8fd3
6580: 32 63 36 30 32 34 32 30 66 65 62 30 62 38 66 62  2c602420feb0b8fb
6590: 39 61 64 63 63 65 62 62 38 32 34 36 31 65 39 39  9adccebb82461e99
65a0: 63 35 61 36 37 38 63 63 33 31 65 37 39 39 31 37  c5a678cc31e79917
65b0: 36 64 33 38 36 30 65 36 31 31 30 63 34 36 35 32  6d3860e6110c4652
65c0: 33 65 2c 2c 2c 0a 52 46 43 34 32 33 31 20 48 4d  3e,,,.RFC4231 HM
65d0: 41 43 20 54 43 37 2c 73 68 61 35 31 32 2c 2c 2c  AC TC7,sha512,,,
65e0: 3a 3a 74 6c 73 3a 3a 68 6d 61 63 20 2d 64 69 67  ::tls::hmac -dig
65f0: 65 73 74 20 73 68 61 35 31 32 20 2d 6b 65 79 20  est sha512 -key 
6600: 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74 61  $key -data $data
6610: 2c 2c 2c 65 33 37 62 36 61 37 37 35 64 63 38 37  ,,,e37b6a775dc87
6620: 64 62 61 61 34 64 66 61 39 66 39 36 65 35 65 33  dbaa4dfa9f96e5e3
6630: 66 66 64 64 65 62 64 37 31 66 38 38 36 37 32 38  ffddebd71f886728
6640: 39 38 36 35 64 66 35 61 33 32 64 32 30 63 64 63  9865df5a32d20cdc
6650: 39 34 34 62 36 30 32 32 63 61 63 33 63 34 39 38  944b6022cac3c498
6660: 32 62 31 30 64 35 65 65 62 35 35 63 33 65 34 64  2b10d5eeb55c3e4d
6670: 65 31 35 31 33 34 36 37 36 66 62 36 64 65 30 34  e15134676fb6de04
6680: 34 36 30 36 35 63 39 37 34 34 30 66 61 38 63 36  46065c97440fa8c6
6690: 61 35 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c  a58,,,.,,,,,,,,,
66a0: 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 4e 49 53 54  ,.command,# NIST
66b0: 20 38 30 30 2d 33 38 62 20 52 65 63 6f 6d 6d 65   800-38b Recomme
66c0: 6e 64 61 74 69 6f 6e 20 66 6f 72 20 42 6c 6f 63  ndation for Bloc
66d0: 6b 20 43 69 70 68 65 72 20 4d 6f 64 65 73 20 6f  k Cipher Modes o
66e0: 66 20 4f 70 65 72 61 74 69 6f 6e 3a 20 54 68 65  f Operation: The
66f0: 20 43 4d 41 43 20 4d 6f 64 65 20 66 6f 72 20 41   CMAC Mode for A
6700: 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 2c 2c  uthentication,,,
6710: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23  ,,,,,,.command,#
6720: 20 41 45 53 2d 31 32 38 2c 2c 2c 2c 2c 2c 2c 2c   AES-128,,,,,,,,
6730: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 6b  ,.command,"set k
6740: 65 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64  ey [binary decod
6750: 65 20 68 65 78 20 22 22 32 62 37 65 31 35 31 36  e hex ""2b7e1516
6760: 32 38 61 65 64 32 61 36 61 62 66 37 31 35 38 38  28aed2a6abf71588
6770: 30 39 63 66 34 66 33 63 22 22 5d 22 2c 2c 2c 2c  09cf4f3c""]",,,,
6780: 2c 2c 2c 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38  ,,,,,.NIST800-38
6790: 62 2d 41 45 53 31 32 38 2c 6c 65 6e 3d 30 2c 2c  b-AES128,len=0,,
67a0: 2c 22 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63  ,"::tls::cmac -c
67b0: 69 70 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62  ipher aes-128-cb
67c0: 63 20 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74  c -key $key -dat
67d0: 61 20 22 22 22 22 22 2c 2c 2c 62 62 31 64 36 39  a """"",,,bb1d69
67e0: 32 39 65 39 35 39 33 37 32 38 37 66 61 33 37 64  29e95937287fa37d
67f0: 31 32 39 62 37 35 36 37 34 36 2c 2c 2c 0a 63 6f  129b756746,,,.co
6800: 6d 6d 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20  mmand,"set data 
6810: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68  [binary decode h
6820: 65 78 20 22 22 36 62 63 31 62 65 65 32 32 65 34  ex ""6bc1bee22e4
6830: 30 39 66 39 36 65 39 33 64 37 65 31 31 37 33 39  09f96e93d7e11739
6840: 33 31 37 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c  3172a""]",,,,,,,
6850: 2c 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41  ,,.NIST800-38b-A
6860: 45 53 31 32 38 2c 6c 65 6e 3d 31 32 38 2c 2c 2c  ES128,len=128,,,
6870: 3a 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70  ::tls::cmac -cip
6880: 68 65 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20  her aes-128-cbc 
6890: 2d 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20  -key $key -data 
68a0: 24 64 61 74 61 2c 2c 2c 30 37 30 61 31 36 62 34  $data,,,070a16b4
68b0: 36 62 34 64 34 31 34 34 66 37 39 62 64 64 39 64  6b4d4144f79bdd9d
68c0: 64 30 34 61 32 38 37 63 2c 2c 2c 0a 63 6f 6d 6d  d04a287c,,,.comm
68d0: 61 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62  and,"set data [b
68e0: 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78  inary decode hex
68f0: 20 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39   ""6bc1bee22e409
6900: 66 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31  f96e93d7e1173931
6910: 37 32 61 61 65 32 64 38 61 35 37 31 65 30 33 61  72aae2d8a571e03a
6920: 63 39 63 39 65 62 37 36 66 61 63 34 35 61 66 38  c9c9eb76fac45af8
6930: 65 35 31 33 30 63 38 31 63 34 36 61 33 35 63 65  e5130c81c46a35ce
6940: 34 31 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c  411""]",,,,,,,,,
6950: 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53  .NIST800-38b-AES
6960: 31 32 38 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a 3a  128,len=320,,,::
6970: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
6980: 72 20 61 65 73 2d 31 32 38 2d 63 62 63 20 2d 6b  r aes-128-cbc -k
6990: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
69a0: 61 74 61 2c 2c 2c 64 66 61 36 36 37 34 37 64 65  ata,,,dfa66747de
69b0: 39 61 65 36 33 30 33 30 63 61 33 32 36 31 31 34  9ae63030ca326114
69c0: 39 37 63 38 32 37 2c 2c 2c 0a 63 6f 6d 6d 61 6e  97c827,,,.comman
69d0: 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e  d,"set data [bin
69e0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22  ary decode hex "
69f0: 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39  "6bc1bee22e409f9
6a00: 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32  6e93d7e117393172
6a10: 61 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39  aae2d8a571e03ac9
6a20: 63 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35  c9eb76fac45af8e5
6a30: 31 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31  130c81c46a35ce41
6a40: 31 65 35 66 62 63 31 31 39 31 61 30 61 35 32 65  1e5fbc1191a0a52e
6a50: 66 66 36 39 66 32 34 34 35 64 66 34 66 39 62 31  ff69f2445df4f9b1
6a60: 37 61 64 32 62 34 31 37 62 65 36 36 63 33 37 31  7ad2b417be66c371
6a70: 30 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e  0""]",,,,,,,,,.N
6a80: 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 31 32  IST800-38b-AES12
6a90: 38 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a 74 6c  8,len=512,,,::tl
6aa0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
6ab0: 61 65 73 2d 31 32 38 2d 63 62 63 20 2d 6b 65 79  aes-128-cbc -key
6ac0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
6ad0: 61 2c 2c 2c 35 31 66 30 62 65 62 66 37 65 33 62  a,,,51f0bebf7e3b
6ae0: 39 64 39 32 66 63 34 39 37 34 31 37 37 39 33 36  9d92fc4974177936
6af0: 33 63 66 65 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  3cfe,,,.,,,,,,,,
6b00: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41 45 53  ,,.command,# AES
6b10: 2d 31 39 32 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  -192,,,,,,,,,.co
6b20: 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b  mmand,"set key [
6b30: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6b40: 78 20 22 22 38 65 37 33 62 30 66 37 64 61 30 65  x ""8e73b0f7da0e
6b50: 36 34 35 32 63 38 31 30 66 33 32 62 38 30 39 30  6452c810f32b8090
6b60: 37 39 65 35 36 32 66 38 65 61 64 32 35 32 32 63  79e562f8ead2522c
6b70: 36 62 37 62 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  6b7b""]",,,,,,,,
6b80: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
6b90: 53 2d 31 39 32 2c 6c 65 6e 3d 30 2c 2c 2c 22 3a  S-192,len=0,,,":
6ba0: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68  :tls::cmac -ciph
6bb0: 65 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d  er aes-192-cbc -
6bc0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 22  key $key -data "
6bd0: 22 22 22 22 2c 2c 2c 64 31 37 64 64 66 34 36 61  """",,,d17ddf46a
6be0: 64 61 61 63 64 65 35 33 31 63 61 63 34 38 33 64  daacde531cac483d
6bf0: 65 37 61 39 33 36 37 2c 2c 2c 0a 63 6f 6d 6d 61  e7a9367,,,.comma
6c00: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69  nd,"set data [bi
6c10: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
6c20: 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66  ""6bc1bee22e409f
6c30: 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37  96e93d7e11739317
6c40: 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  2a""]",,,,,,,,,.
6c50: 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d  NIST800-38b-AES-
6c60: 31 39 32 2c 6c 65 6e 3d 31 32 38 2c 2c 2c 3a 3a  192,len=128,,,::
6c70: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
6c80: 72 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b  r aes-192-cbc -k
6c90: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
6ca0: 61 74 61 2c 2c 2c 39 65 39 39 61 37 62 66 33 31  ata,,,9e99a7bf31
6cb0: 65 37 31 30 39 30 30 36 36 32 66 36 35 65 36 31  e710900662f65e61
6cc0: 37 63 35 31 38 34 2c 2c 2c 0a 63 6f 6d 6d 61 6e  7c5184,,,.comman
6cd0: 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e  d,"set data [bin
6ce0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22  ary decode hex "
6cf0: 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39  "6bc1bee22e409f9
6d00: 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32  6e93d7e117393172
6d10: 61 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39  aae2d8a571e03ac9
6d20: 63 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35  c9eb76fac45af8e5
6d30: 31 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31  130c81c46a35ce41
6d40: 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e  1""]",,,,,,,,,.N
6d50: 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31  IST800-38b-AES-1
6d60: 39 32 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a 3a 74  92,len=320,,,::t
6d70: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
6d80: 20 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65   aes-192-cbc -ke
6d90: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
6da0: 74 61 2c 2c 2c 38 61 31 64 65 35 62 65 32 65 62  ta,,,8a1de5be2eb
6db0: 33 31 61 61 64 30 38 39 61 38 32 65 36 65 65 39  31aad089a82e6ee9
6dc0: 30 38 62 30 65 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  08b0e,,,.command
6dd0: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
6de0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22  ry decode hex ""
6df0: 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39 36  6bc1bee22e409f96
6e00: 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32 61  e93d7e117393172a
6e10: 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39 63  ae2d8a571e03ac9c
6e20: 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35 31  9eb76fac45af8e51
6e30: 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31 31  30c81c46a35ce411
6e40: 65 35 66 62 63 31 31 39 31 61 30 61 35 32 65 66  e5fbc1191a0a52ef
6e50: 66 36 39 66 32 34 34 35 64 66 34 66 39 62 31 37  f69f2445df4f9b17
6e60: 61 64 32 62 34 31 37 62 65 36 36 63 33 37 31 30  ad2b417be66c3710
6e70: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49  ""]",,,,,,,,,.NI
6e80: 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 31 39  ST800-38b-AES-19
6e90: 32 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a 74 6c  2,len=512,,,::tl
6ea0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
6eb0: 61 65 73 2d 31 39 32 2d 63 62 63 20 2d 6b 65 79  aes-192-cbc -key
6ec0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
6ed0: 61 2c 2c 2c 61 31 64 35 64 66 30 65 65 64 37 39  a,,,a1d5df0eed79
6ee0: 30 66 37 39 34 64 37 37 35 38 39 36 35 39 66 33  0f794d77589659f3
6ef0: 39 61 31 31 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  9a11,,,.,,,,,,,,
6f00: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 41 45 53  ,,.command,# AES
6f10: 2d 32 35 36 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  -256,,,,,,,,,.co
6f20: 6d 6d 61 6e 64 2c 22 73 65 74 20 6b 65 79 20 5b  mmand,"set key [
6f30: 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65  binary decode he
6f40: 78 20 22 22 36 30 33 64 65 62 31 30 31 35 63 61  x ""603deb1015ca
6f50: 37 31 62 65 32 62 37 33 61 65 66 30 38 35 37 64  71be2b73aef0857d
6f60: 37 37 38 31 31 66 33 35 32 63 30 37 33 62 36 31  77811f352c073b61
6f70: 30 38 64 37 32 64 39 38 31 30 61 33 30 39 31 34  08d72d9810a30914
6f80: 64 66 66 34 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c  dff4""]",,,,,,,,
6f90: 2c 0a 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45  ,.NIST800-38b-AE
6fa0: 53 2d 32 35 36 2c 6c 65 6e 3d 30 2c 2c 2c 22 3a  S-256,len=0,,,":
6fb0: 3a 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68  :tls::cmac -ciph
6fc0: 65 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20 2d  er aes-256-cbc -
6fd0: 6b 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 22  key $key -data "
6fe0: 22 22 22 22 2c 2c 2c 30 32 38 39 36 32 66 36 31  """",,,028962f61
6ff0: 62 37 62 66 38 39 65 66 63 36 62 35 35 31 66 34  b7bf89efc6b551f4
7000: 36 36 37 64 39 38 33 2c 2c 2c 0a 63 6f 6d 6d 61  667d983,,,.comma
7010: 6e 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69  nd,"set data [bi
7020: 6e 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20  nary decode hex 
7030: 22 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66  ""6bc1bee22e409f
7040: 39 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37  96e93d7e11739317
7050: 32 61 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  2a""]",,,,,,,,,.
7060: 4e 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d  NIST800-38b-AES-
7070: 32 35 36 2c 6c 65 6e 3d 31 32 38 2c 2c 2c 3a 3a  256,len=128,,,::
7080: 74 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65  tls::cmac -ciphe
7090: 72 20 61 65 73 2d 32 35 36 2d 63 62 63 20 2d 6b  r aes-256-cbc -k
70a0: 65 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64  ey $key -data $d
70b0: 61 74 61 2c 2c 2c 32 38 61 37 30 32 33 66 34 35  ata,,,28a7023f45
70c0: 32 65 38 66 38 32 62 64 34 62 66 32 38 64 38 63  2e8f82bd4bf28d8c
70d0: 33 37 63 33 35 63 2c 2c 2c 0a 63 6f 6d 6d 61 6e  37c35c,,,.comman
70e0: 64 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e  d,"set data [bin
70f0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22  ary decode hex "
7100: 22 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39  "6bc1bee22e409f9
7110: 36 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32  6e93d7e117393172
7120: 61 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39  aae2d8a571e03ac9
7130: 63 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35  c9eb76fac45af8e5
7140: 31 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31  130c81c46a35ce41
7150: 31 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e  1""]",,,,,,,,,.N
7160: 49 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 32  IST800-38b-AES-2
7170: 35 36 2c 6c 65 6e 3d 33 32 30 2c 2c 2c 3a 3a 74  56,len=320,,,::t
7180: 6c 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72  ls::cmac -cipher
7190: 20 61 65 73 2d 32 35 36 2d 63 62 63 20 2d 6b 65   aes-256-cbc -ke
71a0: 79 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61  y $key -data $da
71b0: 74 61 2c 2c 2c 61 61 66 33 64 38 66 31 64 65 35  ta,,,aaf3d8f1de5
71c0: 36 34 30 63 32 33 32 66 35 62 31 36 39 62 39 63  640c232f5b169b9c
71d0: 39 31 31 65 36 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64  911e6,,,.command
71e0: 2c 22 73 65 74 20 64 61 74 61 20 5b 62 69 6e 61  ,"set data [bina
71f0: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 22 22  ry decode hex ""
7200: 36 62 63 31 62 65 65 32 32 65 34 30 39 66 39 36  6bc1bee22e409f96
7210: 65 39 33 64 37 65 31 31 37 33 39 33 31 37 32 61  e93d7e117393172a
7220: 61 65 32 64 38 61 35 37 31 65 30 33 61 63 39 63  ae2d8a571e03ac9c
7230: 39 65 62 37 36 66 61 63 34 35 61 66 38 65 35 31  9eb76fac45af8e51
7240: 33 30 63 38 31 63 34 36 61 33 35 63 65 34 31 31  30c81c46a35ce411
7250: 65 35 66 62 63 31 31 39 31 61 30 61 35 32 65 66  e5fbc1191a0a52ef
7260: 66 36 39 66 32 34 34 35 64 66 34 66 39 62 31 37  f69f2445df4f9b17
7270: 61 64 32 62 34 31 37 62 65 36 36 63 33 37 31 30  ad2b417be66c3710
7280: 22 22 5d 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 4e 49  ""]",,,,,,,,,.NI
7290: 53 54 38 30 30 2d 33 38 62 2d 41 45 53 2d 32 35  ST800-38b-AES-25
72a0: 36 2c 6c 65 6e 3d 35 31 32 2c 2c 2c 3a 3a 74 6c  6,len=512,,,::tl
72b0: 73 3a 3a 63 6d 61 63 20 2d 63 69 70 68 65 72 20  s::cmac -cipher 
72c0: 61 65 73 2d 32 35 36 2d 63 62 63 20 2d 6b 65 79  aes-256-cbc -key
72d0: 20 24 6b 65 79 20 2d 64 61 74 61 20 24 64 61 74   $key -data $dat
72e0: 61 2c 2c 2c 65 31 39 39 32 31 39 30 35 34 39 66  a,,,e1992190549f
72f0: 36 65 64 35 36 39 36 61 32 63 30 35 36 63 33 31  6ed5696a2c056c31
7300: 35 34 31 30 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c  5410,,,.,,,,,,,,
7310: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 43 6c 65  ,,.command,# Cle
7320: 61 6e 75 70 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f  anup,,,,,,,,,.co
7330: 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74 65 73 74 3a  mmand,::tcltest:
7340: 3a 72 65 6d 6f 76 65 46 69 6c 65 20 24 74 65 73  :removeFile $tes
7350: 74 5f 66 69 6c 65 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a  t_file,,,,,,,,,.
7360: 63 6f 6d 6d 61 6e 64 2c 3a 3a 74 63 6c 74 65 73  command,::tcltes
7370: 74 3a 3a 72 65 6d 6f 76 65 46 69 6c 65 20 24 74  t::removeFile $t
7380: 65 73 74 5f 61 6c 74 5f 66 69 6c 65 2c 2c 2c 2c  est_alt_file,,,,
7390: 2c 2c 2c 2c 2c 0a                                ,,,,,.