¿Qué hacer con los bytes adicionales en ECDHE-RSA-AES-GCM-SHA?

2

Estoy tratando de implementar, como un ejercicio, un protocolo basado en el conjunto de cifrado ECDHE-RSA-AES256-GCM-SHA384 .

Como entiendo, se usa ECDHE para el intercambio de claves, RSA para la autenticidad de la clave pública ECDHE, AES (en GCM) para el cifrado y SHA para obtener una clave aleatoria para usar con AES de la clave secreta derivada de ECDHE.

Ahora lo que no entiendo es que AES256 requiere una clave de 256 bits, pero SHA384 produce un resumen 384. Así que tengo dos preguntas:

  • ¿Por qué no usar simplemente SHA256 aquí para producir un resumen cuyo tamaño coincida con el tamaño esperado para la clave de algoritmo de cifrado? (¿Tiene algo que ver con el hecho de que tanto AES256 como SHA384 operan más rápido en arquitecturas de 64 bits?)
  • ¿Qué operación se debe realizar para usar el resumen de 384 bits como una clave AES256? ¿Mantener los primeros 256 bits? ¿O me estoy perdiendo algo?
pregunta ereOn 12.03.2014 - 09:38
fuente

1 respuesta

3

Según RFC5246 , la especificación TLS 1.2, SHA384 se usa para firmas y MAC, no para un KDF.

Además, la sección 1.2 del documento especifica que todas las suites de cifrado TLS 1.2 usan P_SHA256 como PRF para el cálculo de claves, por lo que usan una función pseudoaleatoria basada en SHA256 definida en section 5 . El PRF especifica una forma de generar exactamente la cantidad de datos que sea necesario (en módulo, el tamaño del bloque SHA-256). El exceso de datos dentro del bloque final simplemente se descarta del final.

    
respondido por el David 13.03.2014 - 08:40
fuente

Lea otras preguntas en las etiquetas