blob: 767aedd835eeb3b481a85e39484e73365abdd5a9 [file] [log] [blame]
# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.
from __future__ import absolute_import, division, print_function
import binascii
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
IKM = binascii.unhexlify(b"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b")
L = 1200
OKM = HKDF(
algorithm=hashes.SHA256(), length=L, salt=None, info=None,
backend=default_backend()
).derive(IKM)
def _build_vectors():
output = []
output.append("COUNT = 0")
output.append("Hash = SHA-256")
output.append("IKM = " + binascii.hexlify(IKM).decode("ascii"))
output.append("salt = ")
output.append("info = ")
output.append("L = {}".format(L))
output.append("OKM = " + binascii.hexlify(OKM).decode("ascii"))
return "\n".join(output)
def _write_file(data, filename):
with open(filename, 'w') as f:
f.write(data)
if __name__ == '__main__':
_write_file(_build_vectors(), 'hkdf.txt')