← Proyectos

Alaniz Cipher

Investigación en curso

Un esquema de cifrado basado en sistemas polinomiales acoplados por haces sobre grafos, documentado versión a versión, incluidas las que se rompieron.

Publicar un cifrado para que otros lo rompan parece una mala idea, y cuando el objetivo es que aguante también a un ordenador cuántico y nadie lo ha demostrado, es la única forma honrada de acercarse.

Alaniz Cipher es un cifrado que diseño yo y que publico versión a versión. Dos versiones ya cayeron, y la historia entera está en el laboratorio. Su objetivo de diseño es un cifrado poscuántico, y «seguro» y «resistente a la computación cuántica» son eso, objetivos de diseño, no afirmaciones.

Por dentro se apoya en el problema NL SMIP, un sistema polinomial cuyos coeficientes secretos están acoplados por cohomología de haces sobre grafos.

Dos versiones rotas

La v1 usaba una σ que elevaba al cubo cada componente, y A. Rodríguez Langa la rompió con un ataque de escalado. La v2 le dio a σ una estructura SPN para resistir ese ataque, y la rompí yo en el paper de la v3. Con d = 2 y p = 17 bastaron 20 consultas y unos 5,7 s de cálculo simbólico, y el ataque funcionó en las 10 claves generadas al azar.

La v3, de abril de 2026, rediseñó el esquema, con un cifrado probabilístico y una σ que opera de forma vectorial. Sus cifras de seguridad no se sostienen.

Una v4 que acabó siendo otra cosa

La v4 empezó como propuesta de clave pública y la abandoné al ver que el esquema era simétrico, porque para cifrar hacía falta el secreto. Las cifras de seguridad de esa propuesta tampoco se sostienen. Siguió como primitiva para funciones hash, que no era el plan.

En esa v4, y está medido, acoplar la entrada de las S boxes añade un bit de grado ideal CICO por ronda, y el efecto es genérico, no propio de los haces. Lo cuenta el preprint «Placement is a Primitive». El número de rondas y el coste frente a Poseidon2 son extrapolaciones de esa ley medida, no mediciones, y siguen abiertos el caso de cuatro o más rondas y el cuerpo Goldilocks real de 64 bits.

No es un cifrado listo para producción y no tiene auditoría externa. Lo que sí tiene es el registro de cada vez que se equivocó, que en criptografía vale más de lo que parece.

Fig. 1Una letra por la máquina

Elige una letra o tecléala y cífralaLa máquina en reposo

La letra entra por la rueda de la izquierda como su código ASCII escrito en base 17, un par de F₁₇. Las cuatro estaciones en ciclo son el grafo C4 de la demo del código de la v3, con un par de F₁₇ en cada una. Los trenes de engranajes son las restricciones del haz, lineales e invertibles, y llevan el mensaje de estación en estación de modo que, al cerrar la vuelta, la primera recibe el mismo par que tenía. En cada estación el eje de A fija y = A·s, la leva es σ, la única pieza no lineal, los engranajes de B la multiplican y la rueda suma da c = y + B·σ(y), que marcan las dos ruedas de salida. Es la forma determinista de la v1 y la v2, aquí con la σ de la v2. La v1 elevaba al cubo cada componente y A. Rodríguez Langa la rompió con un ataque de escalado, porque entonces σ(2y) = 8·σ(y) y basta restar ocho veces un criptograma al de su doble para borrar la leva. La v2 la rompí yo mismo después, por interpolación y bases de Gröbner, y la v3 cifra con un nonce y una σ vectorial que esta máquina no dibuja. Las matrices, el perfil de la leva y el volante son de este dibujo, no una clave. Que el esquema sea seguro es un objetivo de diseño, no un hecho.

Enlaces

Licencia MIT (v3) · Apache-2.0 (v4)