Artifact
cb2eac62b300406322b079396d603471bfa54a4ff963baefae0f865429aa13e2:
0000: 23 20 48 4b 44 46 2d 53 48 41 33 38 34 0a 23 20 # HKDF-SHA384.#
0010: 46 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 63 73 72 From https://csr
0020: 63 2e 6e 69 73 74 2e 67 6f 76 2f 70 72 6f 6a 65 c.nist.gov/proje
0030: 63 74 73 2f 63 72 79 70 74 6f 67 72 61 70 68 69 cts/cryptographi
0040: 63 2d 73 74 61 6e 64 61 72 64 73 2d 61 6e 64 2d c-standards-and-
0050: 67 75 69 64 65 6c 69 6e 65 73 2f 65 78 61 6d 70 guidelines/examp
0060: 6c 65 2d 76 61 6c 75 65 73 0a 23 20 61 6e 64 20 le-values.# and
0070: 52 46 43 20 36 32 33 34 20 53 48 41 20 61 6e 64 RFC 6234 SHA and
0080: 20 53 48 41 2d 62 61 73 65 64 20 48 4d 41 43 20 SHA-based HMAC
0090: 61 6e 64 20 48 4b 44 46 0a 23 20 61 6e 64 20 52 and HKDF.# and R
00a0: 46 43 20 35 38 36 39 20 48 4b 44 46 0a 23 20 53 FC 5869 HKDF.# S
00b0: 48 41 32 20 66 72 6f 6d 20 68 74 74 70 73 3a 2f HA2 from https:/
00c0: 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 72 79 63 /github.com/bryc
00d0: 78 2f 54 65 73 74 2d 56 65 63 74 6f 72 2d 47 65 x/Test-Vector-Ge
00e0: 6e 65 72 61 74 69 6f 6e 2f 62 6c 6f 62 2f 6d 61 neration/blob/ma
00f0: 73 74 65 72 2f 48 4b 44 46 2f 68 6b 64 66 2d 68 ster/HKDF/hkdf-h
0100: 6d 61 63 2d 73 68 61 32 2d 74 65 73 74 2d 76 65 mac-sha2-test-ve
0110: 63 74 6f 72 73 2e 6d 64 0a 0a 23 20 52 46 43 20 ctors.md..# RFC
0120: 35 38 36 39 20 2d 20 41 2e 31 2e 20 20 54 65 73 5869 - A.1. Tes
0130: 74 20 43 61 73 65 20 31 2c 20 42 61 73 69 63 20 t Case 1, Basic
0140: 74 65 73 74 20 63 61 73 65 20 77 69 74 68 20 53 test case with S
0150: 48 41 2d 32 35 36 0a 48 61 73 68 20 3d 20 53 48 HA-256.Hash = SH
0160: 41 33 38 34 0a 4b 6c 65 6e 20 3d 20 32 32 0a 49 A384.Klen = 22.I
0170: 4b 4d 20 20 3d 20 30 62 30 62 30 62 30 62 30 62 KM = 0b0b0b0b0b
0180: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
0190: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
01a0: 30 62 0a 53 6c 65 6e 20 3d 20 31 33 0a 73 61 6c 0b.Slen = 13.sal
01b0: 74 20 3d 20 30 30 30 31 30 32 30 33 30 34 30 35 t = 000102030405
01c0: 30 36 30 37 30 38 30 39 30 61 30 62 30 63 0a 49 060708090a0b0c.I
01d0: 6c 65 6e 20 3d 20 31 30 0a 69 6e 66 6f 20 3d 20 len = 10.info =
01e0: 66 30 66 31 66 32 66 33 66 34 66 35 66 36 66 37 f0f1f2f3f4f5f6f7
01f0: 66 38 66 39 0a 4c 20 20 20 20 3d 20 34 32 0a 4f f8f9.L = 42.O
0200: 4b 4d 20 3d 20 39 62 35 30 39 37 61 38 36 30 33 KM = 9b5097a8603
0210: 38 62 38 30 35 33 30 39 30 37 36 61 34 34 62 33 8b805309076a44b3
0220: 61 39 66 33 38 30 36 33 65 32 35 62 35 31 36 64 a9f38063e25b516d
0230: 63 62 66 33 36 39 66 33 39 34 63 66 61 62 34 33 cbf369f394cfab43
0240: 36 38 35 66 37 34 38 62 36 34 35 37 37 36 33 65 685f748b6457763e
0250: 34 66 30 32 30 34 66 63 35 0a 0a 23 20 52 46 43 4f0204fc5..# RFC
0260: 20 35 38 36 39 20 2d 20 41 2e 32 2e 20 20 54 65 5869 - A.2. Te
0270: 73 74 20 43 61 73 65 20 32 2c 20 54 65 73 74 20 st Case 2, Test
0280: 77 69 74 68 20 53 48 41 2d 32 35 36 20 61 6e 64 with SHA-256 and
0290: 20 6c 6f 6e 67 65 72 20 69 6e 70 75 74 73 2f 6f longer inputs/o
02a0: 75 74 70 75 74 73 0a 48 61 73 68 20 3d 20 53 48 utputs.Hash = SH
02b0: 41 33 38 34 0a 4b 6c 65 6e 20 3d 20 38 30 0a 49 A384.Klen = 80.I
02c0: 4b 4d 20 20 3d 20 30 30 30 31 30 32 30 33 30 34 KM = 0001020304
02d0: 30 35 30 36 30 37 30 38 30 39 30 61 30 62 30 63 05060708090a0b0c
02e0: 30 64 30 65 30 66 31 30 31 31 31 32 31 33 31 34 0d0e0f1011121314
02f0: 31 35 31 36 31 37 31 38 31 39 31 61 31 62 31 63 15161718191a1b1c
0300: 31 64 31 65 31 66 32 30 32 31 32 32 32 33 32 34 1d1e1f2021222324
0310: 32 35 32 36 32 37 32 38 32 39 32 61 32 62 32 63 25262728292a2b2c
0320: 32 64 32 65 32 66 33 30 33 31 33 32 33 33 33 34 2d2e2f3031323334
0330: 33 35 33 36 33 37 33 38 33 39 33 61 33 62 33 63 35363738393a3b3c
0340: 33 64 33 65 33 66 34 30 34 31 34 32 34 33 34 34 3d3e3f4041424344
0350: 34 35 34 36 34 37 34 38 34 39 34 61 34 62 34 63 45464748494a4b4c
0360: 34 64 34 65 34 66 0a 53 6c 65 6e 20 3d 20 38 30 4d4e4f.Slen = 80
0370: 0a 73 61 6c 74 20 3d 20 36 30 36 31 36 32 36 33 .salt = 60616263
0380: 36 34 36 35 36 36 36 37 36 38 36 39 36 61 36 62 6465666768696a6b
0390: 36 63 36 64 36 65 36 66 37 30 37 31 37 32 37 33 6c6d6e6f70717273
03a0: 37 34 37 35 37 36 37 37 37 38 37 39 37 61 37 62 7475767778797a7b
03b0: 37 63 37 64 37 65 37 66 38 30 38 31 38 32 38 33 7c7d7e7f80818283
03c0: 38 34 38 35 38 36 38 37 38 38 38 39 38 61 38 62 8485868788898a8b
03d0: 38 63 38 64 38 65 38 66 39 30 39 31 39 32 39 33 8c8d8e8f90919293
03e0: 39 34 39 35 39 36 39 37 39 38 39 39 39 61 39 62 9495969798999a9b
03f0: 39 63 39 64 39 65 39 66 61 30 61 31 61 32 61 33 9c9d9e9fa0a1a2a3
0400: 61 34 61 35 61 36 61 37 61 38 61 39 61 61 61 62 a4a5a6a7a8a9aaab
0410: 61 63 61 64 61 65 61 66 0a 49 6c 65 6e 20 3d 20 acadaeaf.Ilen =
0420: 38 30 0a 69 6e 66 6f 20 3d 20 62 30 62 31 62 32 80.info = b0b1b2
0430: 62 33 62 34 62 35 62 36 62 37 62 38 62 39 62 61 b3b4b5b6b7b8b9ba
0440: 62 62 62 63 62 64 62 65 62 66 63 30 63 31 63 32 bbbcbdbebfc0c1c2
0450: 63 33 63 34 63 35 63 36 63 37 63 38 63 39 63 61 c3c4c5c6c7c8c9ca
0460: 63 62 63 63 63 64 63 65 63 66 64 30 64 31 64 32 cbcccdcecfd0d1d2
0470: 64 33 64 34 64 35 64 36 64 37 64 38 64 39 64 61 d3d4d5d6d7d8d9da
0480: 64 62 64 63 64 64 64 65 64 66 65 30 65 31 65 32 dbdcdddedfe0e1e2
0490: 65 33 65 34 65 35 65 36 65 37 65 38 65 39 65 61 e3e4e5e6e7e8e9ea
04a0: 65 62 65 63 65 64 65 65 65 66 66 30 66 31 66 32 ebecedeeeff0f1f2
04b0: 66 33 66 34 66 35 66 36 66 37 66 38 66 39 66 61 f3f4f5f6f7f8f9fa
04c0: 66 62 66 63 66 64 66 65 66 66 0a 4c 20 20 20 20 fbfcfdfeff.L
04d0: 3d 20 38 32 0a 4f 4b 4d 20 3d 20 34 38 34 63 61 = 82.OKM = 484ca
04e0: 30 35 32 62 38 63 63 37 32 34 66 64 31 63 34 65 052b8cc724fd1c4e
04f0: 63 36 34 64 35 37 62 34 65 38 31 38 63 37 65 32 c64d57b4e818c7e2
0500: 35 61 38 65 30 66 34 35 36 39 65 64 37 32 61 36 5a8e0f4569ed72a6
0510: 61 30 35 66 65 30 36 34 39 65 65 62 66 36 39 66 a05fe0649eebf69f
0520: 38 64 35 63 38 33 32 38 35 36 62 66 34 65 34 66 8d5c832856bf4e4f
0530: 62 63 31 37 39 36 37 64 35 34 39 37 35 33 32 34 bc17967d54975324
0540: 61 39 34 39 38 37 66 37 66 34 31 38 33 35 38 31 a94987f7f4183581
0550: 37 64 38 39 39 34 66 64 62 64 36 66 34 63 30 39 7d8994fdbd6f4c09
0560: 63 35 35 30 30 64 63 61 32 34 61 35 36 32 32 32 c5500dca24a56222
0570: 66 65 61 35 33 64 38 39 36 37 61 38 62 32 65 0a fea53d8967a8b2e.
0580: 0a 23 20 52 46 43 20 35 38 36 39 20 2d 20 41 2e .# RFC 5869 - A.
0590: 33 2e 20 20 54 65 73 74 20 43 61 73 65 20 33 2c 3. Test Case 3,
05a0: 20 54 65 73 74 20 77 69 74 68 20 53 48 41 2d 32 Test with SHA-2
05b0: 35 36 20 61 6e 64 20 7a 65 72 6f 2d 6c 65 6e 67 56 and zero-leng
05c0: 74 68 20 73 61 6c 74 2f 69 6e 66 6f 0a 48 61 73 th salt/info.Has
05d0: 68 20 3d 20 53 48 41 33 38 34 0a 4b 6c 65 6e 20 h = SHA384.Klen
05e0: 3d 20 32 32 0a 49 4b 4d 20 20 3d 20 30 62 30 62 = 22.IKM = 0b0b
05f0: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
0600: 30 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0b0b0b0b0b0b0b0b
0610: 30 62 30 62 30 62 30 62 0a 53 6c 65 6e 20 3d 20 0b0b0b0b.Slen =
0620: 30 0a 73 61 6c 74 20 3d 0a 49 6c 65 6e 20 3d 20 0.salt =.Ilen =
0630: 30 0a 69 6e 66 6f 20 3d 0a 4c 20 20 20 20 3d 20 0.info =.L =
0640: 34 32 0a 4f 4b 4d 20 3d 20 63 38 63 39 36 65 37 42.OKM = c8c96e7
0650: 31 30 66 38 39 62 30 64 37 39 39 30 62 63 61 36 10f89b0d7990bca6
0660: 38 62 63 64 65 63 38 63 66 38 35 34 30 36 32 65 8bcdec8cf854062e
0670: 35 34 63 37 33 61 37 61 62 63 37 34 33 66 61 64 54c73a7abc743fad
0680: 65 39 62 32 34 32 64 61 61 63 63 31 63 65 61 35 e9b242daacc1cea5
0690: 36 37 30 34 31 35 62 35 32 38 34 39 63 0a 0a 23 670415b52849c..#
06a0: 20 52 46 43 20 35 38 36 39 20 2d 20 41 2e 34 2e RFC 5869 - A.4.
06b0: 20 20 54 65 73 74 20 43 61 73 65 20 34 2c 20 42 Test Case 4, B
06c0: 61 73 69 63 20 74 65 73 74 20 63 61 73 65 20 77 asic test case w
06d0: 69 74 68 20 53 48 41 2d 31 0a 48 61 73 68 20 3d ith SHA-1.Hash =
06e0: 20 53 48 41 33 38 34 0a 4b 6c 65 6e 20 3d 20 31 SHA384.Klen = 1
06f0: 31 0a 49 4b 4d 20 20 3d 20 30 62 30 62 30 62 30 1.IKM = 0b0b0b0
0700: 62 30 62 30 62 30 62 30 62 30 62 30 62 30 62 0a b0b0b0b0b0b0b0b.
0710: 53 6c 65 6e 20 3d 20 31 33 0a 73 61 6c 74 20 3d Slen = 13.salt =
0720: 20 30 30 30 31 30 32 30 33 30 34 30 35 30 36 30 000102030405060
0730: 37 30 38 30 39 30 61 30 62 30 63 0a 49 6c 65 6e 708090a0b0c.Ilen
0740: 20 3d 20 31 30 0a 69 6e 66 6f 20 3d 20 66 30 66 = 10.info = f0f
0750: 31 66 32 66 33 66 34 66 35 66 36 66 37 66 38 66 1f2f3f4f5f6f7f8f
0760: 39 0a 4c 20 20 20 20 3d 20 34 32 0a 4f 4b 4d 20 9.L = 42.OKM
0770: 3d 20 66 62 37 65 36 37 34 33 65 62 34 32 63 64 = fb7e6743eb42cd
0780: 65 39 36 66 31 62 37 30 37 37 38 39 35 32 61 62 e96f1b70778952ab
0790: 37 35 34 38 63 61 66 65 35 33 32 34 39 66 37 66 7548cafe53249f7f
07a0: 66 65 31 34 39 37 61 31 36 33 35 62 32 30 31 66 fe1497a1635b201f
07b0: 66 31 38 35 62 39 33 65 39 35 31 39 39 32 64 38 f185b93e951992d8
07c0: 35 38 66 31 31 61 0a 0a 23 20 52 46 43 20 35 38 58f11a..# RFC 58
07d0: 36 39 20 2d 20 41 2e 37 2e 20 20 54 65 73 74 20 69 - A.7. Test
07e0: 43 61 73 65 20 37 2c 20 54 65 73 74 20 77 69 74 Case 7, Test wit
07f0: 68 20 53 48 41 2d 31 2c 20 73 61 6c 74 20 6e 6f h SHA-1, salt no
0800: 74 20 70 72 6f 76 69 64 65 64 20 28 64 65 66 61 t provided (defa
0810: 75 6c 74 73 20 74 6f 20 48 61 73 68 4c 65 6e 20 ults to HashLen
0820: 7a 65 72 6f 20 6f 63 74 65 74 73 29 2c 20 7a 65 zero octets), ze
0830: 72 6f 2d 6c 65 6e 67 74 68 20 69 6e 66 6f 0a 48 ro-length info.H
0840: 61 73 68 20 3d 20 53 48 41 33 38 34 0a 4b 6c 65 ash = SHA384.Kle
0850: 6e 20 3d 20 32 32 0a 49 4b 4d 20 20 3d 20 30 63 n = 22.IKM = 0c
0860: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
0870: 30 63 30 63 30 63 30 63 30 63 30 63 30 63 30 63 0c0c0c0c0c0c0c0c
0880: 30 63 30 63 30 63 30 63 30 63 0a 53 6c 65 6e 20 0c0c0c0c0c.Slen
0890: 3d 20 30 0a 73 61 6c 74 20 3d 0a 49 6c 65 6e 20 = 0.salt =.Ilen
08a0: 3d 20 30 0a 69 6e 66 6f 20 3d 0a 4c 20 20 20 20 = 0.info =.L
08b0: 3d 20 34 32 0a 4f 4b 4d 20 3d 20 36 61 64 37 63 = 42.OKM = 6ad7c
08c0: 37 32 36 63 38 34 30 30 39 35 34 36 61 37 36 65 726c84009546a76e
08d0: 30 35 34 35 64 66 32 36 36 37 38 37 65 32 62 32 0545df266787e2b2
08e0: 63 64 36 63 61 34 33 37 33 61 31 66 33 31 34 35 cd6ca4373a1f3145
08f0: 30 61 37 62 64 66 39 34 38 32 62 66 61 62 38 31 0a7bdf9482bfab81
0900: 31 66 35 35 34 32 30 30 65 61 64 38 66 35 33 0a 1f554200ead8f53.
0910: 0a .