Hex Artifact Content

Artifact 9537fd8299339485342f807cfd7de65b3412b3bcf658e0548447bca5e947cbd2:


0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 66 72 6f 6d 20 22 48 4d 41 43 5f 53 48 41 33   from "HMAC_SHA3
0020: 2d 35 31 32 2e 74 78 74 22 0a 6c 61 70 70 65 6e  -512.txt".lappen
0030: 64 20 61 75 74 6f 5f 70 61 74 68 20 5b 66 69 6c  d auto_path [fil
0040: 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20  e dirname [file 
0050: 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69  dirname [file di
0060: 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e  rname [file dirn
0070: 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b  ame [file join [
0080: 70 77 64 5d 20 5b 69 6e 66 6f 20 73 63 72 69 70  pwd] [info scrip
0090: 74 5d 5d 5d 5d 5d 5d 0a 70 61 63 6b 61 67 65 20  t]]]]]].package 
00a0: 72 65 71 75 69 72 65 20 74 6c 73 0a 70 61 63 6b  require tls.pack
00b0: 61 67 65 20 72 65 71 75 69 72 65 20 74 63 6c 74  age require tclt
00c0: 65 73 74 0a 0a 74 63 6c 74 65 73 74 3a 3a 74 65  est..tcltest::te
00d0: 73 74 43 6f 6e 73 74 72 61 69 6e 74 20 48 4d 41  stConstraint HMA
00e0: 43 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63  C [expr {[lsearc
00f0: 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73 3a 3a  h -nocase [tls::
0100: 6d 61 63 73 5d 20 48 4d 41 43 5d 20 3e 20 2d 31  macs] HMAC] > -1
0110: 7d 5d 0a 74 63 6c 74 65 73 74 3a 3a 74 65 73 74  }].tcltest::test
0120: 43 6f 6e 73 74 72 61 69 6e 74 20 53 48 41 33 5f  Constraint SHA3_
0130: 35 31 32 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61  512 [expr {[lsea
0140: 72 63 68 20 2d 6e 6f 63 61 73 65 20 5b 74 6c 73  rch -nocase [tls
0150: 3a 3a 64 69 67 65 73 74 73 5d 20 53 48 41 33 2d  ::digests] SHA3-
0160: 35 31 32 5d 20 3e 20 2d 31 7d 5d 0a 63 61 74 63  512] > -1}].catc
0170: 68 20 7b 74 6c 73 3a 3a 70 72 6f 76 69 64 65 72  h {tls::provider
0180: 20 6c 65 67 61 63 79 7d 0a 0a 74 63 6c 74 65 73   legacy}..tcltes
0190: 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41 43  t::test MAC_HMAC
01a0: 2d 53 48 41 33 2d 35 31 32 2d 31 2e 31 20 7b 48  -SHA3-512-1.1 {H
01b0: 4d 41 43 5f 53 48 41 33 2d 35 31 32 7d 20 5c 0a  MAC_SHA3-512} \.
01c0: 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 48  .-constraints {H
01d0: 4d 41 43 20 53 48 41 33 5f 35 31 32 20 7d 20 5c  MAC SHA3_512 } \
01e0: 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09 2d  ..-setup {} \..-
01f0: 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61 6e  body {string ran
0200: 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d 68  ge [tls::hmac -h
0210: 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 33 2d  ex -digest SHA3-
0220: 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72 79  512 -key [binary
0230: 20 64 65 63 6f 64 65 20 68 65 78 20 30 30 30 31   decode hex 0001
0240: 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30 39  0203040506070809
0250: 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31 31  0a0b0c0d0e0f1011
0260: 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31 39  1213141516171819
0270: 31 61 31 62 31 63 31 64 31 65 31 66 32 30 32 31  1a1b1c1d1e1f2021
0280: 32 32 32 33 32 34 32 35 32 36 32 37 32 38 32 39  2223242526272829
0290: 32 61 32 62 32 63 32 64 32 65 32 66 33 30 33 31  2a2b2c2d2e2f3031
02a0: 33 32 33 33 33 34 33 35 33 36 33 37 33 38 33 39  3233343536373839
02b0: 33 61 33 62 33 63 33 64 33 65 33 66 5d 20 2d 64  3a3b3c3d3e3f] -d
02c0: 61 74 61 20 22 53 61 6d 70 6c 65 20 6d 65 73 73  ata "Sample mess
02d0: 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3c 62  age for keylen<b
02e0: 6c 6f 63 6b 6c 65 6e 22 5d 20 30 20 31 32 37 7d  locklen"] 0 127}
02f0: 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63 74   \..-match exact
0300: 20 2d 72 65 73 75 6c 74 20 34 65 66 64 36 32 39   -result 4efd629
0310: 64 36 63 37 31 62 66 38 36 31 36 32 36 35 38 66  d6c71bf86162658f
0320: 32 39 39 34 33 62 31 63 33 30 38 63 65 32 37 63  29943b1c308ce27c
0330: 64 66 61 36 64 62 30 64 39 63 33 63 65 38 31 37  dfa6db0d9c3ce817
0340: 36 33 66 39 63 62 63 65 35 66 37 65 62 65 39 38  63f9cbce5f7ebe98
0350: 36 38 30 33 31 64 62 31 61 38 66 38 65 62 37 62  68031db1a8f8eb7b
0360: 36 62 39 35 65 35 63 35 65 33 66 36 35 37 61 38  6b95e5c5e3f657a8
0370: 39 39 36 63 38 36 61 32 66 36 35 32 37 65 33 30  996c86a2f6527e30
0380: 37 66 30 32 31 33 31 39 36 0a 0a 74 63 6c 74 65  7f0213196..tclte
0390: 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d 41  st::test MAC_HMA
03a0: 43 2d 53 48 41 33 2d 35 31 32 2d 31 2e 32 20 7b  C-SHA3-512-1.2 {
03b0: 48 4d 41 43 5f 53 48 41 33 2d 35 31 32 7d 20 5c  HMAC_SHA3-512} \
03c0: 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  ..-constraints {
03d0: 48 4d 41 43 20 53 48 41 33 5f 35 31 32 20 7d 20  HMAC SHA3_512 } 
03e0: 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a 09  \..-setup {} \..
03f0: 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72 61  -body {string ra
0400: 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20 2d  nge [tls::hmac -
0410: 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41 33  hex -digest SHA3
0420: 2d 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61 72  -512 -key [binar
0430: 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30 30  y decode hex 000
0440: 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38 30  1020304050607080
0450: 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30 31  90a0b0c0d0e0f101
0460: 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38 31  1121314151617181
0470: 39 31 61 31 62 31 63 31 64 31 65 31 66 32 30 32  91a1b1c1d1e1f202
0480: 31 32 32 32 33 32 34 32 35 32 36 32 37 32 38 32  1222324252627282
0490: 39 32 61 32 62 32 63 32 64 32 65 32 66 33 30 33  92a2b2c2d2e2f303
04a0: 31 33 32 33 33 33 34 33 35 33 36 33 37 33 38 33  1323334353637383
04b0: 39 33 61 33 62 33 63 33 64 33 65 33 66 34 30 34  93a3b3c3d3e3f404
04c0: 31 34 32 34 33 34 34 34 35 34 36 34 37 5d 20 2d  1424344454647] -
04d0: 64 61 74 61 20 22 53 61 6d 70 6c 65 20 6d 65 73  data "Sample mes
04e0: 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e 3d  sage for keylen=
04f0: 62 6c 6f 63 6b 6c 65 6e 22 5d 20 30 20 31 32 37  blocklen"] 0 127
0500: 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61 63  } \..-match exac
0510: 74 20 2d 72 65 73 75 6c 74 20 35 34 34 65 32 35  t -result 544e25
0520: 37 65 61 32 61 33 65 35 65 61 31 39 61 35 39 30  7ea2a3e5ea19a590
0530: 65 36 61 32 34 62 37 32 34 63 65 36 33 32 37 37  e6a24b724ce63277
0540: 35 37 37 32 33 66 65 32 37 35 31 62 37 35 62 66  57723fe2751b75bf
0550: 30 30 37 64 38 30 66 36 62 33 36 30 37 34 34 62  007d80f6b360744b
0560: 66 31 62 37 61 38 38 65 61 35 38 35 66 39 37 36  f1b7a88ea585f976
0570: 35 62 34 37 39 31 31 39 37 36 64 33 31 39 31 63  5b47911976d3191c
0580: 66 38 33 63 30 33 39 66 35 66 66 61 62 30 64 32  f83c039f5ffab0d2
0590: 39 63 63 39 64 39 62 36 64 61 0a 0a 74 63 6c 74  9cc9d9b6da..tclt
05a0: 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48 4d  est::test MAC_HM
05b0: 41 43 2d 53 48 41 33 2d 35 31 32 2d 31 2e 33 20  AC-SHA3-512-1.3 
05c0: 7b 48 4d 41 43 5f 53 48 41 33 2d 35 31 32 7d 20  {HMAC_SHA3-512} 
05d0: 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  \..-constraints 
05e0: 7b 48 4d 41 43 20 53 48 41 33 5f 35 31 32 20 7d  {HMAC SHA3_512 }
05f0: 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c 0a   \..-setup {} \.
0600: 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20 72  .-body {string r
0610: 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63 20  ange [tls::hmac 
0620: 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48 41  -hex -digest SHA
0630: 33 2d 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e 61  3-512 -key [bina
0640: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 30  ry decode hex 00
0650: 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 38  0102030405060708
0660: 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 30  090a0b0c0d0e0f10
0670: 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 38  1112131415161718
0680: 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32 30  191a1b1c1d1e1f20
0690: 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32 38  2122232425262728
06a0: 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33 30  292a2b2c2d2e2f30
06b0: 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33 38  3132333435363738
06c0: 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34 30  393a3b3c3d3e3f40
06d0: 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34 38  4142434445464748
06e0: 34 39 34 61 34 62 34 63 34 64 34 65 34 66 35 30  494a4b4c4d4e4f50
06f0: 35 31 35 32 35 33 35 34 35 35 35 36 35 37 35 38  5152535455565758
0700: 35 39 35 61 35 62 35 63 35 64 35 65 35 66 36 30  595a5b5c5d5e5f60
0710: 36 31 36 32 36 33 36 34 36 35 36 36 36 37 36 38  6162636465666768
0720: 36 39 36 61 36 62 36 63 36 64 36 65 36 66 37 30  696a6b6c6d6e6f70
0730: 37 31 37 32 37 33 37 34 37 35 37 36 37 37 37 38  7172737475767778
0740: 37 39 37 61 37 62 37 63 37 64 37 65 37 66 38 30  797a7b7c7d7e7f80
0750: 38 31 38 32 38 33 38 34 38 35 38 36 38 37 5d 20  81828384858687] 
0760: 2d 64 61 74 61 20 22 53 61 6d 70 6c 65 20 6d 65  -data "Sample me
0770: 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65 6e  ssage for keylen
0780: 3e 62 6c 6f 63 6b 6c 65 6e 22 5d 20 30 20 31 32  >blocklen"] 0 12
0790: 37 7d 20 5c 0a 09 2d 6d 61 74 63 68 20 65 78 61  7} \..-match exa
07a0: 63 74 20 2d 72 65 73 75 6c 74 20 35 66 34 36 34  ct -result 5f464
07b0: 66 35 65 35 62 37 38 34 38 65 33 38 38 35 65 34  f5e5b7848e3885e4
07c0: 39 62 32 63 33 38 35 66 30 36 39 34 39 38 35 64  9b2c385f0694985d
07d0: 30 65 33 38 39 36 36 32 34 32 64 63 34 61 35 66  0e38966242dc4a5f
07e0: 65 33 66 65 61 34 62 33 37 64 34 36 62 36 35 63  e3fea4b37d46b65c
07f0: 65 63 65 64 35 64 63 66 35 39 34 33 38 64 64 38  eced5dcf59438dd8
0800: 34 30 62 61 62 32 32 32 36 39 66 30 62 61 37 66  40bab22269f0ba7f
0810: 65 62 64 62 39 66 63 66 37 34 36 30 32 61 33 35  ebdb9fcf74602a35
0820: 36 36 36 62 32 61 33 32 39 31 35 0a 0a 74 63 6c  666b2a32915..tcl
0830: 74 65 73 74 3a 3a 74 65 73 74 20 4d 41 43 5f 48  test::test MAC_H
0840: 4d 41 43 2d 53 48 41 33 2d 35 31 32 2d 31 2e 34  MAC-SHA3-512-1.4
0850: 20 7b 48 4d 41 43 5f 53 48 41 33 2d 35 31 32 7d   {HMAC_SHA3-512}
0860: 20 5c 0a 09 2d 63 6f 6e 73 74 72 61 69 6e 74 73   \..-constraints
0870: 20 7b 48 4d 41 43 20 53 48 41 33 5f 35 31 32 20   {HMAC SHA3_512 
0880: 7d 20 5c 0a 09 2d 73 65 74 75 70 20 7b 7d 20 5c  } \..-setup {} \
0890: 0a 09 2d 62 6f 64 79 20 7b 73 74 72 69 6e 67 20  ..-body {string 
08a0: 72 61 6e 67 65 20 5b 74 6c 73 3a 3a 68 6d 61 63  range [tls::hmac
08b0: 20 2d 68 65 78 20 2d 64 69 67 65 73 74 20 53 48   -hex -digest SH
08c0: 41 33 2d 35 31 32 20 2d 6b 65 79 20 5b 62 69 6e  A3-512 -key [bin
08d0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30  ary decode hex 0
08e0: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30  0010203040506070
08f0: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31  8090a0b0c0d0e0f1
0900: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31  0111213141516171
0910: 38 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32  8191a1b1c1d1e1f2
0920: 30 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32  0212223242526272
0930: 38 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33  8292a2b2c2d2e2f3
0940: 30 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33  0313233343536373
0950: 38 33 39 33 61 33 62 33 63 33 64 33 65 33 66 5d  8393a3b3c3d3e3f]
0960: 20 2d 64 61 74 61 20 22 53 61 6d 70 6c 65 20 6d   -data "Sample m
0970: 65 73 73 61 67 65 20 66 6f 72 20 6b 65 79 6c 65  essage for keyle
0980: 6e 3c 62 6c 6f 63 6b 6c 65 6e 2c 20 77 69 74 68  n<blocklen, with
0990: 20 74 72 75 6e 63 61 74 65 64 20 74 61 67 22 5d   truncated tag"]
09a0: 20 30 20 36 33 7d 20 5c 0a 09 2d 6d 61 74 63 68   0 63} \..-match
09b0: 20 65 78 61 63 74 20 2d 72 65 73 75 6c 74 20 37   exact -result 7
09c0: 62 62 30 36 64 38 35 39 32 35 37 62 32 35 63 65  bb06d859257b25ce
09d0: 37 33 63 61 37 30 30 64 66 33 34 63 35 63 62 65  73ca700df34c5cbe
09e0: 66 35 63 38 39 38 62 61 63 39 31 30 32 39 65 30  f5c898bac91029e0
09f0: 62 32 37 39 37 35 64 34 65 35 32 36 61 30 38 0a  b27975d4e526a08.
0a00: 0a 23 20 43 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c  .# Cleanup.::tcl
0a10: 74 65 73 74 3a 3a 63 6c 65 61 6e 75 70 54 65 73  test::cleanupTes
0a20: 74 73 0a 72 65 74 75 72 6e 0a                    ts.return.