1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-25 03:34:17 +00:00
appunti-steffo/8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF-Expand.md
2023-09-21 02:46:23 +02:00

681 B

funzione di expansion di una key derivation function, utilizzata in HKDF.

Funzionamento

Effettua ripetuti HMAC con la pseudo-random key, incrementando ogni volta un contatore concatenato al parametro di contestualizzazione di una key derivation function concatenato al risultato precedente, fino a raggiungere la dimensione dell'output desiderata.

def hkdf_expand(prk: bytes, info: str, blocks: int):
	results = []
	for block_n in range(blocks):
		key_part = hmac(key=prk, data=block_n + info + results[-1])
		results.append(key_part)
	return b"".join(results)

Il numero di blocchi è limitato a un singolo byte.