diferencia entre rc4-40 y rc4 en OpenSSL

1

Estaba probando rc4-40 con una clave de 200 bits (25 bytes) y, para mi sorpresa, los resultados fueron los mismos que con rc4 :

<?php
$key_size = 25;
$key = '';
for ($i = 0; $i < $key_size; $i++) {
    $key.= chr(mt_rand(0, 255));
}

$a = openssl_encrypt(str_repeat('z', 50), 'rc4-40', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
$b = openssl_encrypt(str_repeat('z', 50), 'rc4', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);

echo $a == $b ? 'good' : 'bad';

Fuente: enlace

Según mi entendimiento, basado en publicaciones como RC4 no funciona correctamente con el comando openssl? , que rc4-40 solo admite claves de 40 bits y rc4 solo admite claves de 128 bits. Pero aquí tenemos a ambos aparentemente soportando una clave de 200 bits.

Incluso enlace da la idea de que rc4-40 se fija en 40 bits y rc4 se fija en 128 bits (ambos parecen ser refutados por el código anterior):

 rc4                128 bit RC4
 rc4-64             64 bit RC4
 rc4-40             40 bit RC4

Incluso si rc4 , en este ejemplo, simplemente truncó las claves que eran largas a 128 bits y rc4-40 truncadas por más tiempo que las claves admitidas a 40 bits, todavía es lógico pensar que los resultados serían diferentes, pero no lo son.

Entonces, ¿por qué toda la literatura en línea implica que tienen una longitud fija cuando mis propias pruebas sugieren que no?

    
pregunta neubert 18.01.2017 - 17:00
fuente

1 respuesta

1

De enlace :

  

La exportación de tecnología y dispositivos criptográficos de los Estados Unidos estuvo severamente restringida por la ley de los EE. UU. hasta 1992, pero se redujo gradualmente hasta el 2000; algunas restricciones aún permanecen.
  […]
  En 1992, un acuerdo entre la NSA y el SPA hizo que el cifrado RC2 y RC4 de 40 bits fuera fácilmente exportable utilizando una Jurisdicción de Productos Básicos (que transfirió el control del Departamento de Estado al Departamento de Comercio).

Por lo tanto, esto es un resto (y un recordatorio) de aquellos momentos en que solo se permitió que el software se exportara con cifrados muy débiles.

    
respondido por el phk 19.01.2017 - 00:31
fuente

Lea otras preguntas en las etiquetas