Alaniz Cipher
Diseño un cifrado propio y publico cada versión para que otros intenten romperla. Dos ya cayeron, y la bitácora cuenta cómo.
En marzo de 2026 publiqué un cifrado con mi apellido y lo dejé a la vista para que otros intentaran romperlo. A. Rodríguez Langa lo consiguió apoyándose en una sola identidad algebraica, y desde entonces este experimento es, sobre todo, la lista de quién rompió qué.
Un cifrado es una máquina que mezcla un mensaje con una clave secreta de modo que deshacer la mezcla sin la clave cueste más de lo que nadie pueda pagar. El objetivo de diseño de este es que el precio siga siendo alto también para un ordenador cuántico. Que lo consiga no está demostrado, y la única forma honrada de acercarse es publicar cada versión y dejar que la ataquen.
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. La pieza que hace la mezcla no lineal se llama σ, y casi toda esta historia trata de ella.
Dos versiones en el suelo
La v1 usaba una σ que elevaba al cubo cada componente. Eso tiene una consecuencia que cabe en una línea, porque si la entrada se multiplica por λ la salida sale multiplicada por λ³, y sobre esa identidad, σ(λy) = λ³σ(y), A. Rodríguez Langa montó un ataque de escalado que la rompió. Su criptoanálisis abrió el camino a la v2 y, al final, a la v3.
La v2 le dio a σ una estructura SPN, capas de sustitución y permutación, para resistir ese ataque. Cayó por otro lado, y la rompí yo mismo en el paper de la v3. Cualquier cifrado determinista de la forma c = As + Bσ(As) con σ de grado acotado permite recuperar la clave entera por interpolación polinomial y bases de Gröbner. Con d = 2 y p = 17 bastaron 20 consultas con texto claro elegido y unos 5,7 s de cálculo simbólico, y el ataque funcionó en las 10 claves generadas al azar.
La v3, del 24 de abril de 2026, cambió la estructura. El cifrado pasó a ser probabilístico, con un flujo derivado de un nonce (SHAKE-256), y σ empezó a operar de forma vectorial en Fpd mediante una permutación monomial de potencia. La estimación de seguridad PQ-128 que daba aquel paper se revisó después en el repositorio de la v4, y no se sostiene.
La clave pública que no lo era
La v4 empezó como propuesta de clave pública, y la abandoné al comprobar que el esquema era en realidad simétrico, porque para cifrar hacía falta el secreto. Un candado de clave pública es uno que cualquiera puede cerrar y solo el dueño de la llave puede abrir. Si para cerrarlo también hace falta la llave, lo que queda es una cerradura corriente, y las cifras de seguridad que había dado para ese diseño se quedaron sin respaldo.
El trabajo siguió, sin estar en el plan, como primitiva para funciones hash, las que resumen cualquier mensaje en una huella corta, en su variante orientada a aritmetización. El resultado central está medido y lo cuenta el preprint «Placement is a Primitive». Acoplar la entrada de las S-boxes añade un bit de grado ideal CICO por ronda, poner el mismo acoplamiento en la capa lineal o detrás de la S-box no añade nada, y el efecto es genérico, no propio de los haces. Importa dónde va la pieza más que la pieza. 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.
Nada de esto es un cifrado listo para producción, y no ha pasado ninguna auditoría externa. Tampoco hay una reducción formal del peor caso al caso medio para NL-SMIP, una limitación que comparte toda la criptografía multivariable. «Seguro» y «resistente a la computación cuántica» son objetivos de diseño, y las cifras de seguridad de la v3 y de la propuesta de clave pública de la v4 no se sostienen. Lo que sí se sostiene, por ahora, es la bitácora.
Bitácora
De cifrado a primitiva
La propuesta de clave pública de la v4 se abandonó al comprobar que el esquema era en realidad simétrico, porque para cifrar hacía falta el secreto. Las cifras de seguridad que se habían dado para ese diseño se quedaron sin respaldo. El trabajo siguió como primitiva orientada a aritmetización. El resultado central, medido, es que acoplar la entrada de las S-boxes añade un bit de grado ideal CICO por ronda, y que el efecto es genérico y no propio de los haces. El número de rondas y el coste frente a Poseidon2 son extrapolaciones de esa ley medida. Siguen abiertos el caso de cuatro o más rondas y el cuerpo Goldilocks real de 64 bits.
Rediseño estructural
El cifrado pasa a ser probabilístico, con un flujo derivado de un nonce (SHAKE-256), y σ se rediseña para operar de forma vectorial en F_{p^d} mediante una permutación monomial de potencia. La estimación de seguridad PQ-128 que daba el paper se revisó después en el repositorio de la v4 y no se sostiene.
σ con estructura SPN
Rota por mí mismo, en el paper de la v3
Introdujo una σ con estructura SPN para resistir el ataque de escalado. En el paper de la v3 mostré que también cae. Cualquier cifrado determinista de la forma c = As + Bσ(As) con σ de grado acotado admite una recuperación completa de clave por interpolación polinomial y bases de Gröbner. Con d = 2 y p = 17 bastaron 20 consultas CPA y unos 5,7 s de cálculo simbólico, y el ataque funcionó en las 10 claves generadas al azar.
σ por componentes al cubo
Rota por A. Rodríguez Langa
Usaba una σ que elevaba al cubo cada componente. A. Rodríguez Langa la rompió con un ataque de escalado que explota la identidad σ(λy) = λ³σ(y). Su criptoanálisis abrió el camino a la v2 y, al final, a la v3.