Artifact
e1709aae8b6b01c4cfe0c712c0fa4e154378f7b65d5aabd69dad48ae5cbb57aa:
0000: 23 20 48 4b 44 46 2d 53 48 41 32 32 34 0a 23 20 # HKDF-SHA224.#
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 32 32 34 0a 4b 6c 65 6e 20 3d 20 32 32 0a 49 A224.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 32 66 32 31 63 64 37 63 62 63 38 KM = 2f21cd7cbc8
0210: 31 38 63 61 35 63 35 36 31 62 39 33 33 37 32 38 18ca5c561b933728
0220: 65 32 65 30 38 65 31 35 34 61 38 37 65 31 34 33 e2e08e154a87e143
0230: 32 33 39 39 61 38 32 30 64 65 65 31 33 61 61 32 2399a820dee13aa2
0240: 32 32 64 30 63 65 65 36 31 35 32 66 61 35 33 39 22d0cee6152fa539
0250: 61 62 37 30 66 38 65 38 30 0a 0a 23 20 52 46 43 ab70f8e80..# 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 32 32 34 0a 4b 6c 65 6e 20 3d 20 38 30 0a 49 A224.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 33 65 34 39 37 = 82.OKM = 3e497
04e0: 30 33 63 32 34 33 61 33 38 39 34 39 31 36 33 34 03c243a389491634
04f0: 39 62 35 32 61 38 66 35 35 63 37 63 31 36 30 34 9b52a8f55c7c1604
0500: 35 32 66 39 37 62 32 38 37 30 66 30 34 62 61 39 52f97b2870f04ba9
0510: 32 34 62 61 39 30 35 36 61 62 33 35 31 37 36 35 24ba9056ab351765
0520: 62 30 34 32 30 37 32 33 31 31 35 38 64 63 62 30 b04207231158dcb0
0530: 33 64 30 63 37 64 34 32 37 63 62 32 62 37 65 30 3d0c7d427cb2b7e0
0540: 36 30 31 37 39 34 35 39 66 39 64 61 66 66 65 65 60179459f9daffee
0550: 30 35 65 38 37 30 35 31 31 33 66 37 62 63 34 35 05e8705113f7bc45
0560: 62 34 66 34 35 32 36 30 31 64 38 38 34 64 66 36 b4f452601d884df6
0570: 64 66 64 34 66 66 39 64 61 63 66 64 65 36 39 0a dfd4ff9dacfde69.
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 32 32 34 0a 4b 6c 65 6e 20 h = SHA224.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 32 61 32 36 38 30 38 42.OKM = 2a26808
0650: 33 65 61 37 38 37 65 30 36 36 30 34 61 35 38 34 3ea787e06604a584
0660: 35 66 31 61 35 33 35 34 34 64 64 37 38 34 37 62 5f1a53544dd7847b
0670: 64 36 66 62 37 34 61 64 66 63 63 31 31 37 38 62 d6fb74adfcc1178b
0680: 61 61 63 35 61 30 66 65 37 34 30 37 36 66 38 39 aac5a0fe74076f89
0690: 33 35 39 37 31 63 30 30 63 32 62 31 39 0a 0a 23 35971c00c2b19..#
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 32 32 34 0a 4b 6c 65 6e 20 3d 20 31 SHA224.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 37 66 63 38 61 65 30 33 33 35 65 64 34 36 = 7fc8ae0335ed46
0780: 38 63 65 66 35 36 62 65 30 39 31 66 36 34 37 38 8cef56be091f6478
0790: 61 31 61 61 65 38 34 63 30 64 61 35 34 63 65 35 a1aae84c0da54ce5
07a0: 31 37 36 61 61 33 38 39 34 36 63 37 39 65 32 31 176aa38946c79e21
07b0: 30 65 61 33 32 61 34 34 38 37 65 32 31 33 38 34 0ea32a4487e21384
07c0: 30 35 63 33 34 30 0a 0a 23 20 52 46 43 20 35 38 05c340..# 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 32 32 34 0a 4b 6c 65 ash = SHA224.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 63 61 38 34 30 = 42.OKM = ca840
08c0: 31 65 36 34 35 62 33 61 35 38 65 30 30 39 39 32 1e645b3a58e00992
08d0: 38 35 37 66 65 30 30 33 38 63 62 31 62 66 38 64 857fe0038cb1bf8d
08e0: 63 35 31 65 64 66 30 35 32 33 33 36 63 30 38 66 c51edf052336c08f
08f0: 33 62 65 64 36 38 32 63 38 33 65 37 37 38 30 33 3bed682c83e77803
0900: 63 64 64 31 36 64 31 35 36 62 62 38 61 33 30 0a cdd16d156bb8a30.
0910: 0a .