Hex Artifact Content

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                                               .