Funcionalidad de intercambio de claves CECPQ1

1

CECPQ1 (combinación de curva elíptica y criptografía post-cuántica) es un nuevo intercambio de claves desarrollado por google, que combina X25519 con NewHope (curva elíptica KE + KE post-quantum).

Google ha implementado CECPQ1 en boringSSL pero no hay documentación O explicación explicada, cómo funciona.

Mirando el código, creo que hay dos intercambios clave: X25519 y NewHope. Los resultados de esos intercambios se concatenan ( aquí ) Luego, esta concatenación se alimenta a KDF y se utiliza como clave de sesión.

Entonces, incluso si NewHope está roto, todo el esquema es seguro, porque X25519 es seguro. El atacante debe romper tanto NewHope como x25519 para romper un esquema.

¿Puede alguien confirmar eso? O dame mas detalles sobre el CECPQ1? ¿Como qué KDF, utiliza? ¿Cuáles son las entradas y sus tamaños? Tal vez si hay algún buen artículo o pdf, que describa bien CECPQ1.

    
pregunta Omar 14.10.2017 - 21:25
fuente

1 respuesta

0

De acuerdo con el código que has vinculado a X25519, se obtienen los primeros 32 bytes y NewHope proporciona los siguientes 32 bytes del secreto pre-maestro. Esto también es lo que Wikipedia dice acerca de este tema.

  

¿Como qué KDF, usa?

El proceso de derivar el secreto maestro del secreto pre-maestro es el mismo que para los otros algoritmos de intercambio de claves más tradicionales y está claramente definido en el estándar TLS 1.2 en la sección 8.1. Calcular el secreto maestro .

    
respondido por el Steffen Ullrich 14.10.2017 - 23:06
fuente

Lea otras preguntas en las etiquetas