¿Qué es un ataque de linealización?

  • En criptografía, el ataque extendido de linealización dispersa (XSL) es un método de criptoanálisis para cifrados de bloque.
  • Dado que AES ya se usa ampliamente en el comercio y el gobierno para la transmisión de información secreta, encontrar una técnica que pueda acortar el tiempo que lleva recuperar el mensaje secreto sin tener la clave podría tener amplias implicaciones.
  • El método tiene un alto factor de trabajo, que a menos que se reduzca, significa que la técnica no reduce el esfuerzo para romper el AES en comparación con una búsqueda exhaustiva. Por lo tanto, no afecta la seguridad del mundo real de los cifrados de bloque en el futuro cercano.
  • En resumen, el ataque XSL se basa en analizar primero las partes internas de un cifrado y derivar un sistema de ecuaciones simultáneas cuadráticas. Estos sistemas de ecuaciones son típicamente muy grandes, por ejemplo, 8,000 ecuaciones con 1,600 variables para el AES de 128 bits.
  • Se conocen varios métodos para resolver tales sistemas. En el ataque XSL, se aplica un algoritmo especializado, denominado linealización dispersa extendida, para resolver estas ecuaciones y recuperar la clave.
  • El ataque es notable por requerir solo un puñado de textos claros conocidos para realizar; Los métodos previos de criptoanálisis, como el criptoanálisis lineal y diferencial, a menudo requieren un número irrealmente grande de textos claros conocidos o elegidos.

Ejemplo: considere el siguiente código, incluido

int main(intargc, const char *argv[])

{

inti; char serial[9] = “S123N456\n”;

for(I = 0;I < 8;++i)

{ if(argv[1][i] ! = serial[i]) break; } if(i==8)

{ printf(“\n Serial number is correct!\n\n”); } }

  • El programa verifica el número de serie S123N456 Para mayor eficiencia, verifique que se realice un carácter a la vez La secuencia correcta toma más tiempo que el incorrecto El atacante intenta todas las cadenas de 1 carácter Encuentra el S más tiempo timeAttacker puede recuperar el número de serie de un carácter a la vez. ¿Cuál es la ventaja de atacar el número de serie de un carácter a la vez? Suponga que el número de serie es de 8 caracteres y cada uno tiene 128 posibles
    valoresi. Entonces 1288 = 256 [matemática] 1288 = 256 [/ matemática] posibles números de serieii. El atacante adivinaría el número de serie en aproximadamente 255 [matemática] 255 [/ matemática] intentos, mucho trabajoiii. Usando el ataque de linealización, el trabajo es de aproximadamente 8 * (128/2) = 29 [matemáticas] 29 [/ matemáticas] que es trivial