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 50 42 4b 44 46 32 20 45 72 72 6f 72 d,# PBKDF2 Error
00a0: 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a Cases,,,,,,,,,.
00b0: 50 42 4b 44 46 32 20 45 72 72 6f 72 73 2c 54 6f PBKDF2 Errors,To
00c0: 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a 3a 74 o few args,,,::t
00d0: 6c 73 3a 3a 70 62 6b 64 66 32 2c 2c 2c 22 77 72 ls::pbkdf2,,,"wr
00e0: 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 ong # args: shou
00f0: 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a 3a 70 ld be ""::tls::p
0100: 62 6b 64 66 32 20 5b 2d 63 69 70 68 65 72 20 63 bkdf2 [-cipher c
0110: 69 70 68 65 72 20 7c 20 2d 73 69 7a 65 20 6c 65 ipher | -size le
0120: 6e 67 74 68 5d 20 2d 64 69 67 65 73 74 20 64 69 ngth] -digest di
0130: 67 65 73 74 20 3f 2d 69 74 65 72 61 74 69 6f 6e gest ?-iteration
0140: 73 20 63 6f 75 6e 74 3f 20 3f 2d 70 61 73 73 77 s count? ?-passw
0150: 6f 72 64 20 73 74 72 69 6e 67 3f 20 3f 2d 73 61 ord string? ?-sa
0160: 6c 74 20 73 74 72 69 6e 67 3f 22 22 22 2c 2c 2c lt string?""",,,
0170: 31 0a 50 42 4b 44 46 32 20 45 72 72 6f 72 73 2c 1.PBKDF2 Errors,
0180: 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c Too many args,,,
0190: 3a 3a 74 6c 73 3a 3a 70 62 6b 64 66 32 20 74 6f ::tls::pbkdf2 to
01a0: 6f 20 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c o many command l
01b0: 69 6e 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 ine args to pass
01c0: 20 74 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 the test withou
01d0: 74 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 t an error or fa
01e0: 69 6c 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 iling,,,"wrong #
01f0: 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 args: should be
0200: 20 22 22 3a 3a 74 6c 73 3a 3a 70 62 6b 64 66 32 ""::tls::pbkdf2
0210: 20 5b 2d 63 69 70 68 65 72 20 63 69 70 68 65 72 [-cipher cipher
0220: 20 7c 20 2d 73 69 7a 65 20 6c 65 6e 67 74 68 5d | -size length]
0230: 20 2d 64 69 67 65 73 74 20 64 69 67 65 73 74 20 -digest digest
0240: 3f 2d 69 74 65 72 61 74 69 6f 6e 73 20 63 6f 75 ?-iterations cou
0250: 6e 74 3f 20 3f 2d 70 61 73 73 77 6f 72 64 20 73 nt? ?-password s
0260: 74 72 69 6e 67 3f 20 3f 2d 73 61 6c 74 20 73 74 tring? ?-salt st
0270: 72 69 6e 67 3f 22 22 22 2c 2c 2c 31 0a 50 42 4b ring?""",,,1.PBK
0280: 44 46 32 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c DF2 Errors,Inval
0290: 69 64 20 63 69 70 68 65 72 2c 2c 2c 3a 3a 74 6c id cipher,,,::tl
02a0: 73 3a 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 s::pbkdf2 -diges
02b0: 74 20 73 68 61 32 35 36 20 2d 70 61 73 73 77 6f t sha256 -passwo
02c0: 72 64 20 6b 65 79 20 2d 63 69 70 68 65 72 20 62 rd key -cipher b
02d0: 6f 67 75 73 2c 2c 2c 22 69 6e 76 61 6c 69 64 20 ogus,,,"invalid
02e0: 63 69 70 68 65 72 20 22 22 62 6f 67 75 73 22 22 cipher ""bogus""
02f0: 22 2c 2c 2c 31 0a 50 42 4b 44 46 32 20 45 72 72 ",,,1.PBKDF2 Err
0300: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 64 69 67 65 ors,Invalid dige
0310: 73 74 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 6b 64 st,,,::tls::pbkd
0320: 66 32 20 2d 64 69 67 65 73 74 20 62 6f 67 75 73 f2 -digest bogus
0330: 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 79 2c 2c -password key,,
0340: 2c 22 69 6e 76 61 6c 69 64 20 64 69 67 65 73 74 ,"invalid digest
0350: 20 22 22 62 6f 67 75 73 22 22 22 2c 2c 2c 31 0a ""bogus""",,,1.
0360: 50 42 4b 44 46 32 20 45 72 72 6f 72 73 2c 49 6e PBKDF2 Errors,In
0370: 76 61 6c 69 64 20 69 74 65 72 61 74 69 6f 6e 73 valid iterations
0380: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 6b 64 66 32 ,,,::tls::pbkdf2
0390: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20 -digest sha256
03a0: 2d 70 61 73 73 77 6f 72 64 20 6b 65 79 20 2d 69 -password key -i
03b0: 74 65 72 61 74 69 6f 6e 73 20 2d 31 2c 2c 2c 22 terations -1,,,"
03c0: 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 22 22 invalid value ""
03d0: 2d 31 22 22 20 66 6f 72 20 6f 70 74 69 6f 6e 20 -1"" for option
03e0: 22 22 69 74 65 72 61 74 69 6f 6e 73 22 22 3a 20 ""iterations"":
03f0: 6d 75 73 74 20 62 65 20 3e 3d 20 31 22 2c 2c 2c must be >= 1",,,
0400: 31 0a 50 42 4b 44 46 32 20 45 72 72 6f 72 73 2c 1.PBKDF2 Errors,
0410: 4e 6f 20 70 61 73 73 77 6f 72 64 20 76 61 6c 75 No password valu
0420: 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 6b 64 66 e,,,::tls::pbkdf
0430: 32 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 2 -digest sha256
0440: 20 2d 70 61 73 73 77 6f 72 64 2c 2c 2c 22 4e 6f -password,,,"No
0450: 20 76 61 6c 75 65 20 66 6f 72 20 6f 70 74 69 6f value for optio
0460: 6e 20 22 22 2d 70 61 73 73 77 6f 72 64 22 22 22 n ""-password"""
0470: 2c 2c 2c 31 0a 50 42 4b 44 46 32 20 45 72 72 6f ,,,1.PBKDF2 Erro
0480: 72 73 2c 4e 6f 20 73 61 6c 74 20 76 61 6c 75 65 rs,No salt value
0490: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 6b 64 66 32 ,,,::tls::pbkdf2
04a0: 20 2d 64 69 67 65 73 74 20 73 68 61 32 35 36 20 -digest sha256
04b0: 2d 70 61 73 73 77 6f 72 64 20 6b 65 79 20 2d 73 -password key -s
04c0: 61 6c 74 2c 2c 2c 22 4e 6f 20 76 61 6c 75 65 20 alt,,,"No value
04d0: 66 6f 72 20 6f 70 74 69 6f 6e 20 22 22 2d 73 61 for option ""-sa
04e0: 6c 74 22 22 22 2c 2c 2c 31 0a 50 42 4b 44 46 32 lt""",,,1.PBKDF2
04f0: 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 20 Errors,Invalid
0500: 73 69 7a 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 size,,,::tls::pb
0510: 6b 64 66 32 20 2d 64 69 67 65 73 74 20 73 68 61 kdf2 -digest sha
0520: 32 35 36 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 256 -password ke
0530: 79 20 2d 73 69 7a 65 20 30 2c 2c 2c 22 69 6e 76 y -size 0,,,"inv
0540: 61 6c 69 64 20 76 61 6c 75 65 20 22 22 30 22 22 alid value ""0""
0550: 20 66 6f 72 20 6f 70 74 69 6f 6e 20 22 22 2d 73 for option ""-s
0560: 69 7a 65 22 22 3a 20 6d 75 73 74 20 62 65 20 3e ize"": must be >
0570: 3d 20 31 22 2c 2c 2c 31 0a 50 42 4b 44 46 32 20 = 1",,,1.PBKDF2
0580: 45 72 72 6f 72 73 2c 54 6f 6f 20 62 69 67 20 73 Errors,Too big s
0590: 69 7a 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 70 62 6b ize,,,::tls::pbk
05a0: 64 66 32 20 2d 64 69 67 65 73 74 20 73 68 61 32 df2 -digest sha2
05b0: 35 36 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 79 56 -password key
05c0: 20 2d 73 69 7a 65 20 34 30 30 2c 2c 2c 22 69 6e -size 400,,,"in
05d0: 76 61 6c 69 64 20 76 61 6c 75 65 20 22 22 34 30 valid value ""40
05e0: 30 22 22 20 66 6f 72 20 6f 70 74 69 6f 6e 20 22 0"" for option "
05f0: 22 2d 73 69 7a 65 22 22 3a 20 6d 75 73 74 20 62 "-size"": must b
0600: 65 20 3c 3d 20 33 32 30 22 2c 2c 2c 31 0a 2c 2c e <= 320",,,1.,,
0610: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 ,,,,,,,,.command
0620: 2c 23 20 48 4b 44 46 20 45 72 72 6f 72 20 43 61 ,# HKDF Error Ca
0630: 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4b 44 ses,,,,,,,,,.HKD
0640: 46 20 45 72 72 6f 72 73 2c 54 6f 6f 20 66 65 77 F Errors,Too few
0650: 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a 68 args,,,::tls::h
0660: 6b 64 66 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 kdf,,,"wrong # a
0670: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 rgs: should be "
0680: 22 3a 3a 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 "::tls::hkdf -di
0690: 67 65 73 74 20 64 69 67 65 73 74 20 2d 6b 65 79 gest digest -key
06a0: 20 73 74 72 69 6e 67 20 3f 2d 69 6e 66 6f 20 73 string ?-info s
06b0: 74 72 69 6e 67 3f 20 3f 2d 73 61 6c 74 20 73 74 tring? ?-salt st
06c0: 72 69 6e 67 3f 20 3f 2d 73 69 7a 65 20 64 65 72 ring? ?-size der
06d0: 69 76 65 64 5f 6c 65 6e 67 74 68 3f 22 22 22 2c ived_length?""",
06e0: 2c 2c 31 0a 48 4b 44 46 20 45 72 72 6f 72 73 2c ,,1.HKDF Errors,
06f0: 54 6f 6f 20 6d 61 6e 79 20 61 72 67 73 2c 2c 2c Too many args,,,
0700: 3a 3a 74 6c 73 3a 3a 68 6b 64 66 20 74 6f 6f 20 ::tls::hkdf too
0710: 6d 61 6e 79 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e many command lin
0720: 65 20 61 72 67 73 20 74 6f 20 70 61 73 73 20 74 e args to pass t
0730: 68 65 20 74 65 73 74 20 77 69 74 68 6f 75 74 20 he test without
0740: 61 6e 20 65 72 72 6f 72 20 6f 72 20 66 61 69 6c an error or fail
0750: 69 6e 67 2c 2c 2c 22 77 72 6f 6e 67 20 23 20 61 ing,,,"wrong # a
0760: 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 22 rgs: should be "
0770: 22 3a 3a 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 "::tls::hkdf -di
0780: 67 65 73 74 20 64 69 67 65 73 74 20 2d 6b 65 79 gest digest -key
0790: 20 73 74 72 69 6e 67 20 3f 2d 69 6e 66 6f 20 73 string ?-info s
07a0: 74 72 69 6e 67 3f 20 3f 2d 73 61 6c 74 20 73 74 tring? ?-salt st
07b0: 72 69 6e 67 3f 20 3f 2d 73 69 7a 65 20 64 65 72 ring? ?-size der
07c0: 69 76 65 64 5f 6c 65 6e 67 74 68 3f 22 22 22 2c ived_length?""",
07d0: 2c 2c 31 0a 48 4b 44 46 20 45 72 72 6f 72 73 2c ,,1.HKDF Errors,
07e0: 4e 6f 20 64 69 67 65 73 74 2c 2c 2c 3a 3a 74 6c No digest,,,::tl
07f0: 73 3a 3a 68 6b 64 66 20 2d 6b 65 79 20 6b 65 79 s::hkdf -key key
0800: 20 2d 6b 65 79 20 6b 65 79 2c 2c 2c 6e 6f 20 64 -key key,,,no d
0810: 69 67 65 73 74 2c 2c 2c 31 0a 48 4b 44 46 20 45 igest,,,1.HKDF E
0820: 72 72 6f 72 73 2c 4e 6f 20 6b 65 79 2c 2c 2c 3a rrors,No key,,,:
0830: 3a 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 :tls::hkdf -dige
0840: 73 74 20 73 68 61 32 35 36 20 2d 64 69 67 65 73 st sha256 -diges
0850: 74 20 73 68 61 32 35 36 2c 2c 2c 6e 6f 20 6b 65 t sha256,,,no ke
0860: 79 2c 2c 2c 31 0a 48 4b 44 46 20 45 72 72 6f 72 y,,,1.HKDF Error
0870: 73 2c 4e 6f 20 69 6e 66 6f 20 76 61 6c 75 65 2c s,No info value,
0880: 2c 2c 3a 3a 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 ,,::tls::hkdf -d
0890: 69 67 65 73 74 20 73 68 61 32 35 36 20 2d 6b 65 igest sha256 -ke
08a0: 79 20 6b 65 79 20 2d 69 6e 66 6f 2c 2c 2c 22 4e y key -info,,,"N
08b0: 6f 20 76 61 6c 75 65 20 66 6f 72 20 6f 70 74 69 o value for opti
08c0: 6f 6e 20 22 22 2d 69 6e 66 6f 22 22 22 2c 2c 2c on ""-info""",,,
08d0: 31 0a 48 4b 44 46 20 45 72 72 6f 72 73 2c 4e 6f 1.HKDF Errors,No
08e0: 20 73 61 6c 74 20 76 61 6c 75 65 2c 2c 2c 3a 3a salt value,,,::
08f0: 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 tls::hkdf -diges
0900: 74 20 73 68 61 32 35 36 20 2d 70 61 73 73 77 6f t sha256 -passwo
0910: 72 64 20 6b 65 79 20 2d 73 61 6c 74 2c 2c 2c 22 rd key -salt,,,"
0920: 4e 6f 20 76 61 6c 75 65 20 66 6f 72 20 6f 70 74 No value for opt
0930: 69 6f 6e 20 22 22 2d 73 61 6c 74 22 22 22 2c 2c ion ""-salt""",,
0940: 2c 31 0a 48 4b 44 46 20 45 72 72 6f 72 73 2c 49 ,1.HKDF Errors,I
0950: 6e 76 61 6c 69 64 20 73 69 7a 65 2c 2c 2c 3a 3a nvalid size,,,::
0960: 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 tls::hkdf -diges
0970: 74 20 73 68 61 32 35 36 20 2d 70 61 73 73 77 6f t sha256 -passwo
0980: 72 64 20 6b 65 79 20 2d 73 69 7a 65 20 30 2c 2c rd key -size 0,,
0990: 2c 22 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 ,"invalid value
09a0: 22 22 30 22 22 20 66 6f 72 20 6f 70 74 69 6f 6e ""0"" for option
09b0: 20 22 22 2d 73 69 7a 65 22 22 3a 20 6d 75 73 74 ""-size"": must
09c0: 20 62 65 20 3e 3d 20 31 22 2c 2c 2c 31 0a 48 4b be >= 1",,,1.HK
09d0: 44 46 20 45 72 72 6f 72 73 2c 54 6f 6f 20 62 69 DF Errors,Too bi
09e0: 67 20 73 69 7a 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a g size,,,::tls::
09f0: 68 6b 64 66 20 2d 64 69 67 65 73 74 20 73 68 61 hkdf -digest sha
0a00: 32 35 36 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 256 -password ke
0a10: 79 20 2d 73 69 7a 65 20 38 31 36 31 2c 2c 2c 22 y -size 8161,,,"
0a20: 22 22 4b 65 79 20 64 65 72 69 76 61 74 69 6f 6e ""Key derivation
0a30: 20 66 61 69 6c 65 64 3a 20 22 22 22 2c 2c 2c 31 failed: """,,,1
0a40: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
0a50: 61 6e 64 2c 23 20 53 63 72 79 70 74 20 45 72 72 and,# Scrypt Err
0a60: 6f 72 20 43 61 73 65 73 2c 2c 2c 2c 2c 2c 2c 2c or Cases,,,,,,,,
0a70: 2c 0a 53 63 72 79 70 74 20 45 72 72 6f 72 73 2c ,.Scrypt Errors,
0a80: 54 6f 6f 20 66 65 77 20 61 72 67 73 2c 2c 2c 3a Too few args,,,:
0a90: 3a 74 6c 73 3a 3a 73 63 72 79 70 74 2c 2c 2c 22 :tls::scrypt,,,"
0aa0: 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 wrong # args: sh
0ab0: 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c 73 3a ould be ""::tls:
0ac0: 3a 73 63 72 79 70 74 20 2d 70 61 73 73 77 6f 72 :scrypt -passwor
0ad0: 64 20 73 74 72 69 6e 67 20 2d 73 61 6c 74 20 73 d string -salt s
0ae0: 74 72 69 6e 67 20 3f 2d 4e 20 63 6f 73 74 50 61 tring ?-N costPa
0af0: 72 61 6d 65 74 65 72 3f 20 3f 2d 72 20 62 6c 6f rameter? ?-r blo
0b00: 63 6b 53 69 7a 65 3f 20 3f 2d 70 20 70 61 72 61 ckSize? ?-p para
0b10: 6c 6c 65 6c 69 7a 61 74 69 6f 6e 3f 20 3f 2d 73 llelization? ?-s
0b20: 69 7a 65 20 64 65 72 69 76 65 64 5f 6c 65 6e 67 ize derived_leng
0b30: 74 68 3f 22 22 22 2c 2c 2c 31 0a 53 63 72 79 70 th?""",,,1.Scryp
0b40: 74 20 45 72 72 6f 72 73 2c 54 6f 6f 20 6d 61 6e t Errors,Too man
0b50: 79 20 61 72 67 73 2c 2c 2c 3a 3a 74 6c 73 3a 3a y args,,,::tls::
0b60: 73 63 72 79 70 74 20 74 6f 6f 20 6d 61 6e 79 20 scrypt too many
0b70: 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 command line arg
0b80: 73 20 74 6f 20 70 61 73 73 20 74 68 65 20 74 65 s to pass the te
0b90: 73 74 20 77 69 74 68 6f 75 74 20 61 6e 20 65 72 st without an er
0ba0: 72 6f 72 20 6f 72 20 66 61 69 6c 69 6e 67 2c 2c ror or failing,,
0bb0: 2c 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 ,"wrong # args:
0bc0: 73 68 6f 75 6c 64 20 62 65 20 22 22 3a 3a 74 6c should be ""::tl
0bd0: 73 3a 3a 73 63 72 79 70 74 20 2d 70 61 73 73 77 s::scrypt -passw
0be0: 6f 72 64 20 73 74 72 69 6e 67 20 2d 73 61 6c 74 ord string -salt
0bf0: 20 73 74 72 69 6e 67 20 3f 2d 4e 20 63 6f 73 74 string ?-N cost
0c00: 50 61 72 61 6d 65 74 65 72 3f 20 3f 2d 72 20 62 Parameter? ?-r b
0c10: 6c 6f 63 6b 53 69 7a 65 3f 20 3f 2d 70 20 70 61 lockSize? ?-p pa
0c20: 72 61 6c 6c 65 6c 69 7a 61 74 69 6f 6e 3f 20 3f rallelization? ?
0c30: 2d 73 69 7a 65 20 64 65 72 69 76 65 64 5f 6c 65 -size derived_le
0c40: 6e 67 74 68 3f 22 22 22 2c 2c 2c 31 0a 53 63 72 ngth?""",,,1.Scr
0c50: 79 70 74 20 45 72 72 6f 72 73 2c 4e 6f 20 70 61 ypt Errors,No pa
0c60: 73 73 77 6f 72 64 20 76 61 6c 75 65 2c 2c 2c 3a ssword value,,,:
0c70: 3a 74 6c 73 3a 3a 73 63 72 79 70 74 20 2d 73 61 :tls::scrypt -sa
0c80: 6c 74 20 73 61 6c 74 20 2d 73 61 6c 74 20 73 61 lt salt -salt sa
0c90: 6c 74 2c 2c 2c 6e 6f 20 70 61 73 73 77 6f 72 64 lt,,,no password
0ca0: 2c 2c 2c 31 0a 53 63 72 79 70 74 20 45 72 72 6f ,,,1.Scrypt Erro
0cb0: 72 73 2c 4e 6f 20 73 61 6c 74 20 76 61 6c 75 65 rs,No salt value
0cc0: 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 63 72 79 70 74 ,,,::tls::scrypt
0cd0: 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 79 20 2d -password key -
0ce0: 70 61 73 73 77 6f 72 64 20 6b 65 79 2c 2c 2c 6e password key,,,n
0cf0: 6f 20 73 61 6c 74 2c 2c 2c 31 0a 53 63 72 79 70 o salt,,,1.Scryp
0d00: 74 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c 69 64 t Errors,Invalid
0d10: 20 73 69 7a 65 2c 2c 2c 3a 3a 74 6c 73 3a 3a 73 size,,,::tls::s
0d20: 63 72 79 70 74 20 2d 70 61 73 73 77 6f 72 64 20 crypt -password
0d30: 6b 65 79 20 2d 73 61 6c 74 20 73 61 6c 74 20 2d key -salt salt -
0d40: 73 69 7a 65 20 30 2c 2c 2c 22 69 6e 76 61 6c 69 size 0,,,"invali
0d50: 64 20 76 61 6c 75 65 20 22 22 30 22 22 20 66 6f d value ""0"" fo
0d60: 72 20 6f 70 74 69 6f 6e 20 22 22 2d 73 69 7a 65 r option ""-size
0d70: 22 22 3a 20 6d 75 73 74 20 62 65 20 3e 3d 20 31 "": must be >= 1
0d80: 22 2c 2c 2c 31 0a 53 63 72 79 70 74 20 45 72 72 ",,,1.Scrypt Err
0d90: 6f 72 73 2c 49 6e 76 61 6c 69 64 20 4e 20 63 6f ors,Invalid N co
0da0: 73 74 50 61 72 61 6d 65 74 65 72 2c 6b 6e 6f 77 stParameter,know
0db0: 6e 49 67 6e 6f 72 65 64 2c 2c 3a 3a 74 6c 73 3a nIgnored,,::tls:
0dc0: 3a 73 63 72 79 70 74 20 2d 70 61 73 73 77 6f 72 :scrypt -passwor
0dd0: 64 20 6b 65 79 20 2d 73 61 6c 74 20 73 61 6c 74 d key -salt salt
0de0: 20 2d 4e 20 30 2c 2c 2c 2c 2c 2c 31 0a 53 63 72 -N 0,,,,,,1.Scr
0df0: 79 70 74 20 45 72 72 6f 72 73 2c 49 6e 76 61 6c ypt Errors,Inval
0e00: 69 64 20 72 20 62 6c 6f 63 6b 53 69 7a 65 2c 6b id r blockSize,k
0e10: 6e 6f 77 6e 49 67 6e 6f 72 65 64 2c 2c 3a 3a 74 nownIgnored,,::t
0e20: 6c 73 3a 3a 73 63 72 79 70 74 20 2d 70 61 73 73 ls::scrypt -pass
0e30: 77 6f 72 64 20 6b 65 79 20 2d 73 61 6c 74 20 73 word key -salt s
0e40: 61 6c 74 20 2d 72 20 30 2c 2c 2c 2c 2c 2c 31 0a alt -r 0,,,,,,1.
0e50: 53 63 72 79 70 74 20 45 72 72 6f 72 73 2c 49 6e Scrypt Errors,In
0e60: 76 61 6c 69 64 20 70 20 70 61 72 61 6c 6c 65 6c valid p parallel
0e70: 69 7a 61 74 69 6f 6e 2c 6b 6e 6f 77 6e 49 67 6e ization,knownIgn
0e80: 6f 72 65 64 2c 2c 3a 3a 74 6c 73 3a 3a 73 63 72 ored,,::tls::scr
0e90: 79 70 74 20 2d 70 61 73 73 77 6f 72 64 20 6b 65 ypt -password ke
0ea0: 79 20 2d 73 61 6c 74 20 73 61 6c 74 20 2d 70 20 y -salt salt -p
0eb0: 30 2c 2c 2c 2c 2c 2c 31 0a 2c 2c 2c 2c 2c 2c 2c 0,,,,,,1.,,,,,,,
0ec0: 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 65 74 20 ,,,.command,set
0ed0: 64 69 67 65 73 74 20 73 68 61 31 2c 2c 2c 2c 2c digest sha1,,,,,
0ee0: 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 ,,,,.command,"se
0ef0: 74 20 50 20 22 22 70 61 73 73 77 6f 72 64 22 22 t P ""password""
0f00: 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 ",,,,,,,,,.comma
0f10: 6e 64 2c 22 73 65 74 20 53 20 22 22 73 61 6c 74 nd,"set S ""salt
0f20: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d """,,,,,,,,,.com
0f30: 6d 61 6e 64 2c 73 65 74 20 64 6b 4c 65 6e 20 32 mand,set dkLen 2
0f40: 30 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 0,,,,,,,,,.,,,,,
0f50: 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 ,,,,,.command,#
0f60: 50 42 4b 44 46 32 20 52 46 43 20 36 30 37 30 2c PBKDF2 RFC 6070,
0f70: 2c 2c 2c 2c 2c 2c 2c 2c 0a 50 42 4b 44 46 32 20 ,,,,,,,,.PBKDF2
0f80: 52 46 43 20 36 30 37 30 2c 54 65 73 74 20 43 61 RFC 6070,Test Ca
0f90: 73 65 20 31 2c 2c 2c 62 69 6e 61 72 79 20 65 6e se 1,,,binary en
0fa0: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a code hex [::tls:
0fb0: 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20 :pbkdf2 -digest
0fc0: 24 64 69 67 65 73 74 20 2d 70 61 73 73 77 6f 72 $digest -passwor
0fd0: 64 20 24 50 20 2d 73 61 6c 74 20 24 53 20 2d 69 d $P -salt $S -i
0fe0: 74 65 72 61 74 69 6f 6e 73 20 31 20 2d 73 69 7a terations 1 -siz
0ff0: 65 20 24 64 6b 4c 65 6e 5d 2c 2c 2c 30 63 36 30 e $dkLen],,,0c60
1000: 63 38 30 66 39 36 31 66 30 65 37 31 66 33 61 39 c80f961f0e71f3a9
1010: 62 35 32 34 61 66 36 30 31 32 30 36 32 66 65 30 b524af6012062fe0
1020: 33 37 61 36 2c 2c 2c 0a 50 42 4b 44 46 32 20 52 37a6,,,.PBKDF2 R
1030: 46 43 20 36 30 37 30 2c 54 65 73 74 20 43 61 73 FC 6070,Test Cas
1040: 65 20 32 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 e 2,,,binary enc
1050: 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a ode hex [::tls::
1060: 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20 24 pbkdf2 -digest $
1070: 64 69 67 65 73 74 20 2d 70 61 73 73 77 6f 72 64 digest -password
1080: 20 24 50 20 2d 73 61 6c 74 20 24 53 20 2d 69 74 $P -salt $S -it
1090: 65 72 61 74 69 6f 6e 73 20 32 20 2d 73 69 7a 65 erations 2 -size
10a0: 20 24 64 6b 4c 65 6e 5d 2c 2c 2c 65 61 36 63 30 $dkLen],,,ea6c0
10b0: 31 34 64 63 37 32 64 36 66 38 63 63 64 31 65 64 14dc72d6f8ccd1ed
10c0: 39 32 61 63 65 31 64 34 31 66 30 64 38 64 65 38 92ace1d41f0d8de8
10d0: 39 35 37 2c 2c 2c 0a 50 42 4b 44 46 32 20 52 46 957,,,.PBKDF2 RF
10e0: 43 20 36 30 37 30 2c 54 65 73 74 20 43 61 73 65 C 6070,Test Case
10f0: 20 33 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 3,,,binary enco
1100: 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 70 de hex [::tls::p
1110: 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20 24 64 bkdf2 -digest $d
1120: 69 67 65 73 74 20 2d 70 61 73 73 77 6f 72 64 20 igest -password
1130: 24 50 20 2d 73 61 6c 74 20 24 53 20 2d 69 74 65 $P -salt $S -ite
1140: 72 61 74 69 6f 6e 73 20 34 30 39 36 20 2d 73 69 rations 4096 -si
1150: 7a 65 20 24 64 6b 4c 65 6e 5d 2c 2c 2c 34 62 30 ze $dkLen],,,4b0
1160: 30 37 39 30 31 62 37 36 35 34 38 39 61 62 65 61 07901b765489abea
1170: 64 34 39 64 39 32 36 66 37 32 31 64 30 36 35 61 d49d926f721d065a
1180: 34 32 39 63 31 2c 2c 2c 0a 50 42 4b 44 46 32 20 429c1,,,.PBKDF2
1190: 52 46 43 20 36 30 37 30 2c 54 65 73 74 20 43 61 RFC 6070,Test Ca
11a0: 73 65 20 34 2c 2c 2c 62 69 6e 61 72 79 20 65 6e se 4,,,binary en
11b0: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a code hex [::tls:
11c0: 3a 70 62 6b 64 66 32 20 2d 64 69 67 65 73 74 20 :pbkdf2 -digest
11d0: 24 64 69 67 65 73 74 20 2d 70 61 73 73 77 6f 72 $digest -passwor
11e0: 64 20 24 50 20 2d 73 61 6c 74 20 24 53 20 2d 69 d $P -salt $S -i
11f0: 74 65 72 61 74 69 6f 6e 73 20 31 36 37 37 37 32 terations 167772
1200: 31 36 20 2d 73 69 7a 65 20 24 64 6b 4c 65 6e 5d 16 -size $dkLen]
1210: 2c 2c 2c 65 65 66 65 33 64 36 31 63 64 34 64 61 ,,,eefe3d61cd4da
1220: 34 65 34 65 39 39 34 35 62 33 64 36 62 61 32 31 4e4e9945b3d6ba21
1230: 35 38 63 32 36 33 34 65 39 38 34 2c 2c 2c 0a 2c 58c2634e984,,,.,
1240: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
1250: 64 2c 73 65 74 20 64 69 67 65 73 74 20 73 68 61 d,set digest sha
1260: 31 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 1,,,,,,,,,.comma
1270: 6e 64 2c 73 65 74 20 6b 65 79 20 5b 62 69 6e 61 nd,set key [bina
1280: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 62 ry decode hex 0b
1290: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
12a0: 30 62 30 62 5d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 0b0b],,,,,,,,,.c
12b0: 6f 6d 6d 61 6e 64 2c 73 65 74 20 73 61 6c 74 20 ommand,set salt
12c0: 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 20 68 [binary decode h
12d0: 65 78 20 30 30 30 31 30 32 30 33 30 34 30 35 30 ex 0001020304050
12e0: 36 30 37 30 38 30 39 30 61 30 62 30 63 5d 2c 2c 60708090a0b0c],,
12f0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c ,,,,,,,.command,
1300: 73 65 74 20 69 6e 66 6f 20 5b 62 69 6e 61 72 79 set info [binary
1310: 20 64 65 63 6f 64 65 20 68 65 78 20 66 30 66 31 decode hex f0f1
1320: 66 32 66 33 66 34 66 35 66 36 66 37 66 38 66 39 f2f3f4f5f6f7f8f9
1330: 5d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 ],,,,,,,,,.comma
1340: 6e 64 2c 73 65 74 20 73 69 7a 65 20 34 32 2c 2c nd,set size 42,,
1350: 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c ,,,,,,,.,,,,,,,,
1360: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 23 20 48 4b 44 ,,.command,# HKD
1370: 46 20 52 46 43 20 36 32 33 34 2c 2c 2c 2c 2c 2c F RFC 6234,,,,,,
1380: 2c 2c 2c 0a 48 4b 44 46 20 52 46 43 20 36 32 33 ,,,.HKDF RFC 623
1390: 34 2c 22 41 2e 34 2e 20 20 54 65 73 74 20 43 61 4,"A.4. Test Ca
13a0: 73 65 20 34 2c 20 42 61 73 69 63 20 74 65 73 74 se 4, Basic test
13b0: 20 63 61 73 65 20 77 69 74 68 20 53 48 41 2d 31 case with SHA-1
13c0: 22 2c 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 ",,,binary encod
13d0: 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6b e hex [::tls::hk
13e0: 64 66 20 2d 64 69 67 65 73 74 20 24 64 69 67 65 df -digest $dige
13f0: 73 74 20 2d 70 61 73 73 77 6f 72 64 20 24 6b 65 st -password $ke
1400: 79 20 2d 73 61 6c 74 20 24 73 61 6c 74 20 2d 69 y -salt $salt -i
1410: 6e 66 6f 20 24 69 6e 66 6f 20 2d 73 69 7a 65 20 nfo $info -size
1420: 24 73 69 7a 65 5d 2c 2c 2c 30 38 35 61 30 31 65 $size],,,085a01e
1430: 61 31 62 31 30 66 33 36 39 33 33 30 36 38 62 35 a1b10f36933068b5
1440: 36 65 66 61 35 61 64 38 31 61 34 66 31 34 62 38 6efa5ad81a4f14b8
1450: 32 32 66 35 62 30 39 31 35 36 38 61 39 63 64 64 22f5b091568a9cdd
1460: 34 66 31 35 35 66 64 61 32 63 32 32 65 34 32 32 4f155fda2c22e422
1470: 34 37 38 64 33 30 35 66 33 66 38 39 36 2c 2c 2c 478d305f3f896,,,
1480: 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d .,,,,,,,,,,.comm
1490: 61 6e 64 2c 73 65 74 20 6b 65 79 20 5b 62 69 6e and,set key [bin
14a0: 61 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 30 ary decode hex 0
14b0: 30 30 31 30 32 30 33 30 34 30 35 30 36 30 37 30 0010203040506070
14c0: 38 30 39 30 61 30 62 30 63 30 64 30 65 30 66 31 8090a0b0c0d0e0f1
14d0: 30 31 31 31 32 31 33 31 34 31 35 31 36 31 37 31 0111213141516171
14e0: 38 31 39 31 61 31 62 31 63 31 64 31 65 31 66 32 8191a1b1c1d1e1f2
14f0: 30 32 31 32 32 32 33 32 34 32 35 32 36 32 37 32 0212223242526272
1500: 38 32 39 32 61 32 62 32 63 32 64 32 65 32 66 33 8292a2b2c2d2e2f3
1510: 30 33 31 33 32 33 33 33 34 33 35 33 36 33 37 33 0313233343536373
1520: 38 33 39 33 61 33 62 33 63 33 64 33 65 33 66 34 8393a3b3c3d3e3f4
1530: 30 34 31 34 32 34 33 34 34 34 35 34 36 34 37 34 0414243444546474
1540: 38 34 39 34 61 34 62 34 63 34 64 34 65 34 66 5d 8494a4b4c4d4e4f]
1550: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
1560: 64 2c 73 65 74 20 73 61 6c 74 20 5b 62 69 6e 61 d,set salt [bina
1570: 72 79 20 64 65 63 6f 64 65 20 68 65 78 20 36 30 ry decode hex 60
1580: 36 31 36 32 36 33 36 34 36 35 36 36 36 37 36 38 6162636465666768
1590: 36 39 36 61 36 62 36 63 36 64 36 65 36 66 37 30 696a6b6c6d6e6f70
15a0: 37 31 37 32 37 33 37 34 37 35 37 36 37 37 37 38 7172737475767778
15b0: 37 39 37 61 37 62 37 63 37 64 37 65 37 66 38 30 797a7b7c7d7e7f80
15c0: 38 31 38 32 38 33 38 34 38 35 38 36 38 37 38 38 8182838485868788
15d0: 38 39 38 61 38 62 38 63 38 64 38 65 38 66 39 30 898a8b8c8d8e8f90
15e0: 39 31 39 32 39 33 39 34 39 35 39 36 39 37 39 38 9192939495969798
15f0: 39 39 39 61 39 62 39 63 39 64 39 65 39 66 61 30 999a9b9c9d9e9fa0
1600: 61 31 61 32 61 33 61 34 61 35 61 36 61 37 61 38 a1a2a3a4a5a6a7a8
1610: 61 39 61 61 61 62 61 63 61 64 61 65 61 66 5d 2c a9aaabacadaeaf],
1620: 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 ,,,,,,,,.command
1630: 2c 73 65 74 20 69 6e 66 6f 20 5b 62 69 6e 61 72 ,set info [binar
1640: 79 20 64 65 63 6f 64 65 20 68 65 78 20 62 30 62 y decode hex b0b
1650: 31 62 32 62 33 62 34 62 35 62 36 62 37 62 38 62 1b2b3b4b5b6b7b8b
1660: 39 62 61 62 62 62 63 62 64 62 65 62 66 63 30 63 9babbbcbdbebfc0c
1670: 31 63 32 63 33 63 34 63 35 63 36 63 37 63 38 63 1c2c3c4c5c6c7c8c
1680: 39 63 61 63 62 63 63 63 64 63 65 63 66 64 30 64 9cacbcccdcecfd0d
1690: 31 64 32 64 33 64 34 64 35 64 36 64 37 64 38 64 1d2d3d4d5d6d7d8d
16a0: 39 64 61 64 62 64 63 64 64 64 65 64 66 65 30 65 9dadbdcdddedfe0e
16b0: 31 65 32 65 33 65 34 65 35 65 36 65 37 65 38 65 1e2e3e4e5e6e7e8e
16c0: 39 65 61 65 62 65 63 65 64 65 65 65 66 66 30 66 9eaebecedeeeff0f
16d0: 31 66 32 66 33 66 34 66 35 66 36 66 37 66 38 66 1f2f3f4f5f6f7f8f
16e0: 39 66 61 66 62 66 63 66 64 66 65 66 66 5d 2c 2c 9fafbfcfdfeff],,
16f0: 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c ,,,,,,,.command,
1700: 73 65 74 20 73 69 7a 65 20 38 32 2c 2c 2c 2c 2c set size 82,,,,,
1710: 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a ,,,,.,,,,,,,,,,.
1720: 48 4b 44 46 20 52 46 43 20 36 32 33 34 2c 22 41 HKDF RFC 6234,"A
1730: 2e 35 2e 20 20 54 65 73 74 20 43 61 73 65 20 35 .5. Test Case 5
1740: 2c 20 54 65 73 74 20 77 69 74 68 20 53 48 41 2d , Test with SHA-
1750: 31 20 61 6e 64 20 6c 6f 6e 67 65 72 20 69 6e 70 1 and longer inp
1760: 75 74 73 2f 6f 75 74 70 75 74 73 22 2c 2c 2c 62 uts/outputs",,,b
1770: 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 65 78 inary encode hex
1780: 20 5b 3a 3a 74 6c 73 3a 3a 68 6b 64 66 20 2d 64 [::tls::hkdf -d
1790: 69 67 65 73 74 20 24 64 69 67 65 73 74 20 2d 70 igest $digest -p
17a0: 61 73 73 77 6f 72 64 20 24 6b 65 79 20 2d 73 61 assword $key -sa
17b0: 6c 74 20 24 73 61 6c 74 20 2d 69 6e 66 6f 20 24 lt $salt -info $
17c0: 69 6e 66 6f 20 2d 73 69 7a 65 20 24 73 69 7a 65 info -size $size
17d0: 5d 2c 2c 2c 30 62 64 37 37 30 61 37 34 64 31 31 ],,,0bd770a74d11
17e0: 36 30 66 37 63 39 66 31 32 63 64 35 39 31 32 61 60f7c9f12cd5912a
17f0: 30 36 65 62 66 66 36 61 64 63 61 65 38 39 39 64 06ebff6adcae899d
1800: 39 32 31 39 31 66 65 34 33 30 35 36 37 33 62 61 92191fe4305673ba
1810: 32 66 66 65 38 66 61 33 66 31 61 34 65 35 61 64 2ffe8fa3f1a4e5ad
1820: 37 39 66 33 66 33 33 34 62 33 62 32 30 32 62 32 79f3f334b3b202b2
1830: 31 37 33 63 34 38 36 65 61 33 37 63 65 33 64 33 173c486ea37ce3d3
1840: 39 37 65 64 30 33 34 63 37 66 39 64 66 65 62 31 97ed034c7f9dfeb1
1850: 35 63 35 65 39 32 37 33 33 36 64 30 34 34 31 66 5c5e927336d0441f
1860: 34 63 34 33 30 30 65 32 63 66 66 30 64 30 39 30 4c4300e2cff0d090
1870: 30 62 35 32 64 33 62 34 2c 2c 2c 0a 2c 2c 2c 2c 0b52d3b4,,,.,,,,
1880: 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 ,,,,,,.command,s
1890: 65 74 20 6b 65 79 20 5b 62 69 6e 61 72 79 20 64 et key [binary d
18a0: 65 63 6f 64 65 20 68 65 78 20 30 62 30 62 30 62 ecode hex 0b0b0b
18b0: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
18c0: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
18d0: 30 62 30 62 30 62 5d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0b0b0b],,,,,,,,,
18e0: 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 73 61 .command,"set sa
18f0: 6c 74 20 22 22 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c lt """"",,,,,,,,
1900: 2c 0a 63 6f 6d 6d 61 6e 64 2c 22 73 65 74 20 69 ,.command,"set i
1910: 6e 66 6f 20 22 22 22 22 22 2c 2c 2c 2c 2c 2c 2c nfo """"",,,,,,,
1920: 2c 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 65 74 20 73 ,,.command,set s
1930: 69 7a 65 20 34 32 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a ize 42,,,,,,,,,.
1940: 2c 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 48 4b 44 46 20 ,,,,,,,,,,.HKDF
1950: 52 46 43 20 36 32 33 34 2c 22 41 2e 36 2e 20 20 RFC 6234,"A.6.
1960: 54 65 73 74 20 43 61 73 65 20 36 2c 20 54 65 73 Test Case 6, Tes
1970: 74 20 77 69 74 68 20 53 48 41 2d 31 20 61 6e 64 t with SHA-1 and
1980: 20 7a 65 72 6f 2d 6c 65 6e 67 74 68 20 73 61 6c zero-length sal
1990: 74 2f 69 6e 66 6f 22 2c 2c 2c 62 69 6e 61 72 79 t/info",,,binary
19a0: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 encode hex [::t
19b0: 6c 73 3a 3a 68 6b 64 66 20 2d 64 69 67 65 73 74 ls::hkdf -digest
19c0: 20 24 64 69 67 65 73 74 20 2d 70 61 73 73 77 6f $digest -passwo
19d0: 72 64 20 24 6b 65 79 20 2d 73 61 6c 74 20 24 73 rd $key -salt $s
19e0: 61 6c 74 20 2d 69 6e 66 6f 20 24 69 6e 66 6f 20 alt -info $info
19f0: 2d 73 69 7a 65 20 24 73 69 7a 65 5d 2c 2c 2c 30 -size $size],,,0
1a00: 61 63 31 61 66 37 30 30 32 62 33 64 37 36 31 64 ac1af7002b3d761d
1a10: 31 65 35 35 32 39 38 64 61 39 64 30 35 30 36 62 1e55298da9d0506b
1a20: 39 61 65 35 32 30 35 37 32 32 30 61 33 30 36 65 9ae52057220a306e
1a30: 30 37 62 36 62 38 37 65 38 64 66 32 31 64 30 65 07b6b87e8df21d0e
1a40: 61 30 30 30 33 33 64 65 30 33 39 38 34 64 33 34 a00033de03984d34
1a50: 39 31 38 2c 2c 2c 0a 2c 2c 2c 2c 2c 2c 2c 2c 2c 918,,,.,,,,,,,,,
1a60: 2c 0a 63 6f 6d 6d 61 6e 64 2c 73 65 74 20 6b 65 ,.command,set ke
1a70: 79 20 5b 62 69 6e 61 72 79 20 64 65 63 6f 64 65 y [binary decode
1a80: 20 68 65 78 20 30 63 30 63 30 63 30 63 30 63 30 hex 0c0c0c0c0c0
1a90: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
1aa0: 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 c0c0c0c0c0c0c0c0
1ab0: 63 5d 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d c],,,,,,,,,.comm
1ac0: 61 6e 64 2c 22 73 65 74 20 73 61 6c 74 20 22 22 and,"set salt ""
1ad0: 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d """,,,,,,,,,.com
1ae0: 6d 61 6e 64 2c 22 73 65 74 20 69 6e 66 6f 20 22 mand,"set info "
1af0: 22 22 22 22 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f """",,,,,,,,,.co
1b00: 6d 6d 61 6e 64 2c 73 65 74 20 73 69 7a 65 20 34 mmand,set size 4
1b10: 32 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 2c 2c 2c 2c 2c 2,,,,,,,,,.,,,,,
1b20: 2c 2c 2c 2c 2c 0a 48 4b 44 46 20 52 46 43 20 36 ,,,,,.HKDF RFC 6
1b30: 32 33 34 2c 22 41 2e 37 2e 20 20 54 65 73 74 20 234,"A.7. Test
1b40: 43 61 73 65 20 37 2c 20 54 65 73 74 20 77 69 74 Case 7, Test wit
1b50: 68 20 53 48 41 2d 31 2c 20 73 61 6c 74 20 6e 6f h SHA-1, salt no
1b60: 74 20 70 72 6f 76 69 64 65 64 20 28 64 65 66 61 t provided (defa
1b70: 75 6c 74 73 20 74 6f 20 48 61 73 68 4c 65 6e 20 ults to HashLen
1b80: 7a 65 72 6f 20 6f 63 74 65 74 73 29 2c 20 7a 65 zero octets), ze
1b90: 72 6f 2d 6c 65 6e 67 74 68 20 69 6e 66 6f 22 2c ro-length info",
1ba0: 2c 2c 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 ,,binary encode
1bb0: 68 65 78 20 5b 3a 3a 74 6c 73 3a 3a 68 6b 64 66 hex [::tls::hkdf
1bc0: 20 2d 64 69 67 65 73 74 20 24 64 69 67 65 73 74 -digest $digest
1bd0: 20 2d 70 61 73 73 77 6f 72 64 20 24 6b 65 79 20 -password $key
1be0: 2d 73 61 6c 74 20 24 73 61 6c 74 20 2d 69 6e 66 -salt $salt -inf
1bf0: 6f 20 24 69 6e 66 6f 20 2d 73 69 7a 65 20 24 73 o $info -size $s
1c00: 69 7a 65 5d 2c 2c 2c 32 63 39 31 31 31 37 32 30 ize],,,2c9111720
1c10: 34 64 37 34 35 66 33 35 30 30 64 36 33 36 61 36 4d745f3500d636a6
1c20: 32 66 36 34 66 30 61 62 33 62 61 65 35 34 38 61 2f64f0ab3bae548a
1c30: 61 35 33 64 34 32 33 62 30 64 31 66 32 37 65 62 a53d423b0d1f27eb
1c40: 62 61 36 66 35 65 35 36 37 33 61 30 38 31 64 37 ba6f5e5673a081d7
1c50: 30 63 63 65 37 61 63 66 63 34 38 2c 2c 2c 0a 2c 0cce7acfc48,,,.,
1c60: 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 63 6f 6d 6d 61 6e ,,,,,,,,,.comman
1c70: 64 2c 23 20 53 63 72 79 70 74 20 52 46 43 20 37 d,# Scrypt RFC 7
1c80: 39 31 34 2c 2c 2c 2c 2c 2c 2c 2c 2c 0a 53 63 72 914,,,,,,,,,.Scr
1c90: 79 70 74 20 52 46 43 20 37 39 31 34 2c 54 65 73 ypt RFC 7914,Tes
1ca0: 74 20 43 61 73 65 20 31 2c 2c 2c 22 62 69 6e 61 t Case 1,,,"bina
1cb0: 72 79 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a ry encode hex [:
1cc0: 3a 74 6c 73 3a 3a 73 63 72 79 70 74 20 2d 70 61 :tls::scrypt -pa
1cd0: 73 73 77 6f 72 64 20 22 22 22 22 20 2d 73 61 6c ssword """" -sal
1ce0: 74 20 22 22 22 22 20 2d 4e 20 31 36 20 2d 72 20 t """" -N 16 -r
1cf0: 31 20 2d 70 20 31 20 2d 73 69 7a 65 20 36 34 5d 1 -p 1 -size 64]
1d00: 22 2c 2c 2c 37 37 64 36 35 37 36 32 33 38 36 35 ",,,77d657623865
1d10: 37 62 32 30 33 62 31 39 63 61 34 32 63 31 38 61 7b203b19ca42c18a
1d20: 30 34 39 37 66 31 36 62 34 38 34 34 65 33 30 37 0497f16b4844e307
1d30: 34 61 65 38 64 66 64 66 66 61 33 66 65 64 65 32 4ae8dfdffa3fede2
1d40: 31 34 34 32 66 63 64 30 30 36 39 64 65 64 30 39 1442fcd0069ded09
1d50: 34 38 66 38 33 32 36 61 37 35 33 61 30 66 63 38 48f8326a753a0fc8
1d60: 31 66 31 37 65 38 64 33 65 30 66 62 32 65 30 64 1f17e8d3e0fb2e0d
1d70: 33 36 32 38 63 66 33 35 65 32 30 63 33 38 64 31 3628cf35e20c38d1
1d80: 38 39 30 36 2c 2c 2c 0a 53 63 72 79 70 74 20 52 8906,,,.Scrypt R
1d90: 46 43 20 37 39 31 34 2c 54 65 73 74 20 43 61 73 FC 7914,Test Cas
1da0: 65 20 32 2c 2c 2c 22 62 69 6e 61 72 79 20 65 6e e 2,,,"binary en
1db0: 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 6c 73 3a code hex [::tls:
1dc0: 3a 73 63 72 79 70 74 20 2d 70 61 73 73 77 6f 72 :scrypt -passwor
1dd0: 64 20 22 22 70 61 73 73 77 6f 72 64 22 22 20 2d d ""password"" -
1de0: 73 61 6c 74 20 22 22 4e 61 43 6c 22 22 20 2d 4e salt ""NaCl"" -N
1df0: 20 31 30 32 34 20 2d 72 20 38 20 2d 70 20 31 36 1024 -r 8 -p 16
1e00: 20 2d 73 69 7a 65 20 36 34 5d 22 2c 2c 2c 66 64 -size 64]",,,fd
1e10: 62 61 62 65 31 63 39 64 33 34 37 32 30 30 37 38 babe1c9d34720078
1e20: 35 36 65 37 31 39 30 64 30 31 65 39 66 65 37 63 56e7190d01e9fe7c
1e30: 36 61 64 37 63 62 63 38 32 33 37 38 33 30 65 37 6ad7cbc8237830e7
1e40: 37 33 37 36 36 33 34 62 33 37 33 31 36 32 32 65 7376634b3731622e
1e50: 61 66 33 30 64 39 32 65 32 32 61 33 38 38 36 66 af30d92e22a3886f
1e60: 66 31 30 39 32 37 39 64 39 38 33 30 64 61 63 37 f109279d9830dac7
1e70: 32 37 61 66 62 39 34 61 38 33 65 65 36 64 38 33 27afb94a83ee6d83
1e80: 36 30 63 62 64 66 61 32 63 63 30 36 34 30 2c 2c 60cbdfa2cc0640,,
1e90: 2c 0a 53 63 72 79 70 74 20 52 46 43 20 37 39 31 ,.Scrypt RFC 791
1ea0: 34 2c 54 65 73 74 20 43 61 73 65 20 33 2c 2c 2c 4,Test Case 3,,,
1eb0: 22 62 69 6e 61 72 79 20 65 6e 63 6f 64 65 20 68 "binary encode h
1ec0: 65 78 20 5b 3a 3a 74 6c 73 3a 3a 73 63 72 79 70 ex [::tls::scryp
1ed0: 74 20 2d 70 61 73 73 77 6f 72 64 20 22 22 70 6c t -password ""pl
1ee0: 65 61 73 65 6c 65 74 6d 65 69 6e 22 22 20 2d 73 easeletmein"" -s
1ef0: 61 6c 74 20 22 22 53 6f 64 69 75 6d 43 68 6c 6f alt ""SodiumChlo
1f00: 72 69 64 65 22 22 20 2d 4e 20 31 36 33 38 34 20 ride"" -N 16384
1f10: 2d 72 20 38 20 2d 70 20 31 20 2d 73 69 7a 65 20 -r 8 -p 1 -size
1f20: 36 34 5d 22 2c 2c 2c 37 30 32 33 62 64 63 62 33 64]",,,7023bdcb3
1f30: 61 66 64 37 33 34 38 34 36 31 63 30 36 63 64 38 afd7348461c06cd8
1f40: 31 66 64 33 38 65 62 66 64 61 38 66 62 62 61 39 1fd38ebfda8fbba9
1f50: 30 34 66 38 65 33 65 61 39 62 35 34 33 66 36 35 04f8e3ea9b543f65
1f60: 34 35 64 61 31 66 32 64 35 34 33 32 39 35 35 36 45da1f2d54329556
1f70: 31 33 66 30 66 63 66 36 32 64 34 39 37 30 35 32 13f0fcf62d497052
1f80: 34 32 61 39 61 66 39 65 36 31 65 38 35 64 63 30 42a9af9e61e85dc0
1f90: 64 36 35 31 65 34 30 64 66 63 66 30 31 37 62 34 d651e40dfcf017b4
1fa0: 35 35 37 35 38 38 37 2c 2c 2c 0a 53 63 72 79 70 5575887,,,.Scryp
1fb0: 74 20 52 46 43 20 37 39 31 34 2c 54 65 73 74 20 t RFC 7914,Test
1fc0: 43 61 73 65 20 34 2c 2c 2c 22 62 69 6e 61 72 79 Case 4,,,"binary
1fd0: 20 65 6e 63 6f 64 65 20 68 65 78 20 5b 3a 3a 74 encode hex [::t
1fe0: 6c 73 3a 3a 73 63 72 79 70 74 20 2d 70 61 73 73 ls::scrypt -pass
1ff0: 77 6f 72 64 20 22 22 70 6c 65 61 73 65 6c 65 74 word ""pleaselet
2000: 6d 65 69 6e 22 22 20 2d 73 61 6c 74 20 22 22 53 mein"" -salt ""S
2010: 6f 64 69 75 6d 43 68 6c 6f 72 69 64 65 22 22 20 odiumChloride""
2020: 2d 4e 20 31 30 34 38 35 37 36 20 2d 72 20 38 20 -N 1048576 -r 8
2030: 2d 70 20 31 20 2d 73 69 7a 65 20 36 34 5d 22 2c -p 1 -size 64]",
2040: 2c 2c 32 31 30 31 63 62 39 62 36 61 35 31 31 61 ,,2101cb9b6a511a
2050: 61 65 61 64 64 62 62 65 30 39 63 66 37 30 66 38 aeaddbbe09cf70f8
2060: 38 31 65 63 35 36 38 64 35 37 34 61 32 66 66 64 81ec568d574a2ffd
2070: 34 64 61 62 65 35 65 65 39 38 32 30 61 64 61 61 4dabe5ee9820adaa
2080: 34 37 38 65 35 36 66 64 38 66 34 62 61 35 64 30 478e56fd8f4ba5d0
2090: 39 66 66 61 31 63 36 64 39 32 37 63 34 30 66 34 9ffa1c6d927c40f4
20a0: 63 33 33 37 33 30 34 30 34 39 65 38 61 39 35 32 c337304049e8a952
20b0: 66 62 63 62 66 34 35 63 36 66 61 37 37 61 34 31 fbcbf45c6fa77a41
20c0: 61 34 2c 2c 2c 0a a4,,,.