Sto facendo alcuni studi / sviluppo per un sistema di sicurezza che userebbe ECDH con chiavi effimere.
Nel mio codice sto usando un EC a 256 bit, quindi quando le due parti calcolano il segreto condiviso, ottengo un array 32B (256 bit) contenente il segreto condiviso.
Ora, vorrei usare questo segreto condiviso per calcolare una chiave per un algoritmo di crittografia a chiave simmetrica, come AES-128 (con una dimensione della chiave di 128 bit).
Quindi la mia domanda è come ridurre il segreto condiviso a 256 bit su una chiave AES a 128 bit? Ho letto che è meglio hash il segreto condiviso prima di usarlo come chiave per la crittografia simmetrica, ma con quale algoritmo di hashing? Se uso SHA-256 ho ancora una chiave a 256 bit. Esiste un modo standard per procedere alla creazione di una chiave di crittografia simmetrica da un segreto condiviso ECDH?