mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-24 19:24:19 +00:00
16 lines
681 B
Markdown
16 lines
681 B
Markdown
|
[[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|contestualizzazione]] concatenato al [[risultato]] precedente, fino a raggiungere la dimensione dell'output desiderata.
|
||
|
|
||
|
```python
|
||
|
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.
|