🔐 Cripto App

S-AES (Simplified AES)

Clave de 16 bits, bloque de 4 nibbles, aritmética en GF(2⁴), 2 rondas.

Calculando…
¿Por qué funciona esto matemáticamente?

Los nibbles se tratan como elementos de GF(2⁴), el cuerpo finito con 16 elementos construido con polinomios de grado <4 sobre GF(2), reducidos módulo el polinomio irreducible x⁴+x+1. Que sea un cuerpo (no solo un anillo) significa que todo elemento distinto de 0 tiene inverso multiplicativo — y esa es justo la propiedad que garantiza que la matriz de MixColumns, Me = [[1,4],[4,1]], tenga una matriz inversa Md = [[9,2],[2,9]] tal que Md·Me = I. Por eso InvMixColumns puede deshacer exactamente lo que hizo MixColumns.

Me · Md = I (mod x⁴+x+1)   →   InvMixColumns(MixColumns(S)) = S

SubNibbles/ShiftRows son simples sustituciones y reordenamientos (invertibles por construcción, igual que la sustitución monoalfabética o la transposición clásicas); AddRoundKey es XOR, que es su propio inverso. La combinación de las cuatro operaciones por ronda es lo que en criptografía moderna se llama una red de sustitución-permutación (SPN).

En el mundo real: AES real usa un estado de 16 bytes (128 bits), claves de 128/192/256 bits, 10-14 rondas y aritmética en GF(2⁸). S-AES conserva la misma estructura (SubNibbles, ShiftRows, MixColumns, AddRoundKey) a una escala donde cada multiplicación se puede verificar a mano.