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.