Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/quantusync/alaniz-cipher
Análisis EstáticoHerramientas de Cifrado/DescifradoCriptografíaPapers e InvestigaciónAprendizaje y Educación
GitHubquantusync/alaniz-cipher

alaniz-cipher

Cifrado a partir de morfismos de haces no lineales sobre grafos

Ver Repositorio
512hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

El Cifrado Alaniz (v3)

Cifrado Post-Cuántico Basado en Haces mediante Permutaciones Vectoriales de Cuerpos Finitos

Una primitiva criptográfica basada en el Problema de Inversión de Morfismos de Haces No Lineales (NL-SMIP): un sistema polinomial con coeficientes secretos acoplados por cohomología de haces sobre grafos.

Artículo (v3): L. Alaniz Pintos, "The Alaniz Cipher v3: Sheaf-Based Post-Quantum Encryption via Vector-Valued Finite Field Permutations", 2026.

Cambios en v3

La versión 2 introdujo σ_SPN para derrotar el ataque de escalado que rompió la v1. Sin embargo, la v2 se rompe por un ataque más general que combina interpolación polinomial con cálculo de bases de Gröbner: cualquier cifrado determinista de la forma c = As + Bσ(As) con σ de grado polinomial acotado admite un ataque de recuperación de clave CPA. Véase la Sección 3 del artículo y experiments/02_cpa_attack_analysis.py.

La versión 3 aborda esto a nivel estructural:

Característicav2v3
CifradoDeterministaProbabilístico (nonce + PRG)
σSPN componente a componente sobre F_pVectorial: π_e(x) = x^e en F_{p^d}
Clave secundariaMatriz B_v ∈ GL(d, F_p)Escalar β_v ∈ F_{p^d}^*
DescifradoFuerza bruta sobre F_p^dFactorización univariada en F_{p^d}[τ]
Uniformidad diferencial de σδ ≥ 2p (~34 para p=17)δ ∈ {2, 4} (APN o casi-APN)
Objetivo IND-CCANo aplicaLogrado mediante transformación FO

Se probaron 14 configuraciones de semirregularidad, 14 coinciden exactamente con las predicciones de Hilbert-Poincaré. Sin vulnerabilidad MinRank según el Teorema 6.5 (argumento centralizador). No se detectaron claves débiles en 69 configuraciones.

Resumen

Los mensajes se codifican como secciones globales de un haz celular en un grafo con rango cíclico β_1 ≥ 1. Cifrado por nodo:

root@kitploit:~
r_v = PRG(nonce, v)
u_v = ι(A_v · s_v + r_v)           ∈ F_{p^d}
w_v = β_v · u_v + (β_v − 1) · (L · u_v + 1)^e
c_v = ι^{-1}(w_v) − r_v

donde A_v ∈ GL(d, F_p), β_v ∈ F_{p^d}^*, y L ∈ F_{p^d}^* es público. El descifrado se reduce a encontrar raíces de γ·τ^e + α·τ − (c′ + α) = 0 en F_{p^d}[τ] mediante Cantor-Zassenhaus, y luego filtrar mediante la consistencia cohomológica en todos los n − 1 vértices no raíz.

Conjuntos de Parámetros

| Set | d | log₂ p | n | e | |sk| | |pk| | |c| | Seguridad | |---|---|---|---|---|---|---|---|---|---|---| | Demo | 2 | 4 | 4 | 17 | 30 B | 10 B | 16 B | no seguro | | Academic | 3 | 16 | 8 | 17 | 0.3 KB | 30 B | 96 B | ~80 bits clásico | | PQ-128 | 6 | 61 | 32 | 17 | 16 KB | 64 B | 1.5 KB | ≥128 post-Grover | | PQ-256 | 8 | 127 | 64 | 17 | 170 KB | 128 B | 8 KB | ≥256 post-Grover |

Inicio Rápido

root@kitploit:~
git clone https://github.com/QuantuSync/alaniz-cipher.git
cd alaniz-cipher
pip install -e .[test]

# Run the v2 demo (historical)
python -m alaniz.demo.demo_basic

# Run all tests
pytest tests/ -v

# Run v3 verification experiments
python experiments/07_semi_regularity.py
python experiments/08_weak_keys.py
python experiments/09_nonce_robustness.py
python experiments/10_centralizer.py
python experiments/11_kem_verification.py

Ejemplo mínimo de v3

root@kitploit:~
from alaniz.core.field import FiniteField
from alaniz.core.graph import Graph
from alaniz.core.sheaf import Sheaf
from alaniz.crypto.protocol import ProtocolV3, PublicParamsV3
from alaniz.crypto.kem import KEM

Fp = FiniteField(17)
graph = Graph.cycle(4)
sheaf = Sheaf.random_with_cohomology(graph, dv=2, Fp=Fp)
proto = ProtocolV3(PublicParamsV3.generate(sheaf))
kem   = KEM(proto)

sk       = kem.keygen()
K, ct    = kem.encaps(sk)     # sender: random message + shared key
K_recv   = kem.decaps(sk, ct) # receiver: same K if valid
assert K == K_recv

Estructura del Proyecto

root@kitploit:~
alaniz-cipher/
├── alaniz/
│   ├── core/
│   │   ├── field.py        # Aritmética en F_p (v2, aún utilizada por v1/v2)
│   │   ├── field_ext.py    # Aritmética en F_{p^d} mediante galois (v3)
│   │   ├── graph.py        # Topologías de grafos (árboles, ciclos, etc.)
│   │   └── sheaf.py        # Haces celulares + restricciones de cohomología
│   ├── crypto/
│   │   ├── sigma.py        # Mapas σ: monomial_power (v3), id_spn (v2), cube/inverse (v1)
│   │   ├── protocol.py     # Protocolo (v2), ProtocolV3 (v3)
│   │   ├── prg.py          # PRG SHAKE-256 para derivación de nonce (v3)
│   │   └── kem.py          # Transformación Fujisaki-Okamoto → KEM IND-CCA (v3)
│   └── demo/
│       └── demo_basic.py   # demo v2 (histórico)
├── experiments/
│   ├── 01-06_*.py          # análisis v1 (histórico, Apéndice del artículo v2)
│   ├── 14_v2_redteam.py    # red team v2 (histórico)
│   ├── 07_semi_regularity.py    # v3: verificación de Hilbert-Poincaré
│   ├── 08_weak_keys.py          # v3: barrido de claves débiles en 69 configuraciones
│   ├── 09_nonce_robustness.py   # v3: Teorema 6.7
│   ├── 10_centralizer.py        # v3: Teorema 6.5
│   └── 11_kem_verification.py   # v3: pruebas empíricas de KEM IND-CCA
├── tests/
│   ├── test_protocol.py      # pruebas v2 (conservadas para regresión)
│   └── test_protocol_v3.py   # pruebas v3
├── pyproject.toml
└── README.md

v1 y v2: Estado Histórico

v1: Roto por el ataque de escalado de Langa sobre σ_cube(λy) = λ³ σ_cube(y) (Alaniz 2026, Apéndice A del artículo v3). Recuperación en O(d) consultas.

v2: Roto por ataque de interpolación polinomial + Gröbner contra cualquier c = As + Bσ(As) determinista con σ de grado acotado. Para d=2, p=17, recuperación completa de clave en 20 consultas CPA y ~5.7s de cálculo en SymPy en 10/10 instancias aleatorias. Véase experiments/02_cpa_attack_analysis.py y la Sección 3 del artículo.

Tanto las clases v1 como v2 permanecen accesibles en este repositorio para reproducibilidad histórica. Para cualquier uso nuevo, utilice ProtocolV3.

Cita

root@kitploit:~
@misc{alaniz2026cipherv3,
  author  = {Alaniz Pintos, Lucas},
  title   = {The Alaniz Cipher v3: Sheaf-Based Post-Quantum Encryption
             via Vector-Valued Finite Field Permutations},
  year    = {2026},
  url     = {https://github.com/QuantuSync/alaniz-cipher}
}

Agradecimientos

A. Rodríguez Langa (INECO) por el criptoanálisis de v1 que motivó el camino de rediseño que llevó a v2 y finalmente a v3.

Autor

Lucas Alaniz Pintos División de Productos Inteligentes, INECO [email protected] ORCID: 0009-0008-5179-2534

Licencia

MIT

Descargar herramienta