Passa al contenuto principale

2.7 A Pseudorandom Function for Crypto Suites Based on ChaCha/Poly1305 (Funzione pseudo-casuale per suite crittografiche basate su ChaCha/Poly1305)

2.7 A Pseudorandom Function for Crypto Suites Based on ChaCha/Poly1305 (Funzione pseudo-casuale per suite crittografiche basate su ChaCha/Poly1305)

Alcuni protocolli, come IKEv2 ([RFC7296]), richiedono una Pseudorandom Function (funzione pseudo-casuale, PRF), soprattutto per la derivazione delle chiavi (key derivation). Nella definizione IKEv2, una PRF è una funzione che accetta una chiave e un ingresso di lunghezza variabile e restituisce un output di lunghezza fissa. Più comunemente, per questo scopo si usano costruzioni Hashed MAC (MAC con hash, HMAC), e spesso la stessa funzione è usata sia per l'autenticazione dei messaggi (message authentication) sia come PRF.

Poly1305 non è una scelta adatta come PRF. Poly1305 vieta di usare due volte la stessa chiave, mentre la PRF in IKEv2 viene usata più volte con la stessa chiave. Inoltre, a differenza di HMAC, Poly1305 è distorta (biased); usarla per la derivazione delle chiavi ridurrebbe la sicurezza della crittografia simmetrica (symmetric encryption).

Chacha20 potrebbe essere usata come funzione di derivazione delle chiavi (key-derivation function) generando un flusso di chiavi (keystream) di lunghezza arbitraria. Tuttavia, non è ciò che protocolli come IKEv2 richiedono.

Per questo motivo, il presente documento non specifica una PRF.