Estoy realizando algunos estudios / desarrollo para un sistema de seguridad que usaría ECDH con claves efímeras.
En mi código, actualmente estoy usando un EC de 256 bits, así que cuando las dos partes calculan el secreto compartido, obtengo una matriz de 32 B (256 bits) que contiene el secreto compartido.
Ahora, me gustaría usar este secreto compartido para calcular una clave para un algoritmo de cifrado de clave simétrica, como AES-128 (con un tamaño de clave de 128 bits).
¿Entonces mi pregunta es cómo reducir el secreto compartido de 256 bits a una clave AES de 128 bits? He leído que es mejor descifrar el secreto compartido antes de usarlo como clave para el cifrado simétrico, pero ¿con qué algoritmo de hash? Si uso SHA-256 todavía obtengo una clave de 256 bits. ¿Hay alguna forma estándar de proceder para crear una clave de cifrado simétrica a partir de un secreto compartido de ECDH?