Explique los nombres con la variedad de métodos de cifrado que se ven en '$ openssl enc --help'

8

Estoy confundido por esta variedad, tal vez descrito aquí . Estoy tratando de entender las convenciones.

Tendencia A: ¿fortaleza?

$ 2 ^ 8 $, $ 2 ^ 7 $ - parece claro, pero ¿por qué algo con 192 o 40? ¿Refiriéndose al mismo tema? ¿Y es?

Tendencia B: ¿fondo?

aes? desx, des pero con x? ¿Hay alguna madre-algo? Nombres principales: aes, des y rc, ¿por qué?

Tendencia C: finales

. * cbf,. * ofb,. * cbc: ¿qué significan los finales comunes?

Tendencia D: números únicos impares

¿Qué significan los finales de números como 1 u 8?

Tendencia E: improvisación excesiva

¿Por qué inflar con bf y pez globo? Patrimonio histórico?

$ openssl enc --help
-aes-128-cbc               -aes-128-cfb               -aes-128-cfb1
-aes-128-cfb8              -aes-128-ecb               -aes-128-ofb
-aes-192-cbc               -aes-192-cfb               -aes-192-cfb1
-aes-192-cfb8              -aes-192-ecb               -aes-192-ofb
-aes-256-cbc               -aes-256-cfb               -aes-256-cfb1
-aes-256-cfb8              -aes-256-ecb               -aes-256-ofb
-aes128                    -aes192                    -aes256
-bf                        -bf-cbc                    -bf-cfb
-bf-ecb                    -bf-ofb                    -blowfish
-cast                      -cast-cbc                  -cast5-cbc
-cast5-cfb                 -cast5-ecb                 -cast5-ofb
-des                       -des-cbc                   -des-cfb
-des-cfb1                  -des-cfb8                  -des-ecb
-des-ede                   -des-ede-cbc               -des-ede-cfb
-des-ede-ofb               -des-ede3                  -des-ede3-cbc
-des-ede3-cfb              -des-ede3-cfb1             -des-ede3-cfb8
-des-ede3-ofb              -des-ofb                   -des3
-desx                      -desx-cbc                  -rc2
-rc2-40-cbc                -rc2-64-cbc                -rc2-cbc
-rc2-cfb                   -rc2-ecb                   -rc2-ofb
-rc4                       -rc4-40
    
pregunta Community 05.03.2012 - 23:49
fuente

2 respuestas

8

Hay una lista de lo que significan en la documentación de OpenSSL .

Parece que se muestran con el nombre del algoritmo: tamaño de la clave - modo de cifrado . Cuando se omite el tamaño de la clave, parece significar que solo hay un tamaño de clave válido para ese algoritmo, por lo que no tiene sentido incluirlo.

Si en realidad estás tratando de elegir un algoritmo, probablemente quieras AES (el estándar) con el valor predeterminado de OpenSSL modo CBC (más seguro que ECB ).

Nombres de algoritmos

Algunos de los nombres tienen números en ellos para distinguir las versiones. Por ejemplo, RC2 y RC4 fueron hechos por Ron Rivest, y RC4 es más nuevo. Usted ve cosas similares en los algoritmos hash, donde MD4 fue reemplazado por MD5 (y MD6 está en progreso).

Parece que prefieren "bf" para el pez globo, así que supongo que -blowfish es probablemente por conveniencia o por compatibilidad con versiones anteriores.

DESX es aparentemente un algoritmo basado en DES pero con un tamaño de clave mucho mayor.

Tamaños de teclas

Los tamaños de clave están en bits, y generalmente una clave más larga es más fuerte, pero el cifrado será más lento. Por lo tanto, AES con una clave de 128 bits es más rápido pero menos seguro que AES con una clave de 256 bits.

La mayoría de los algoritmos parecen usar potencias de dos para tamaños de clave, pero nada requiere que sean. DES, por ejemplo, utiliza una clave de 56 bits.

Modo de cifrado

El modo de cifrado es algo que no entiendo lo suficiente como para explicar. Solo debe consultar el artículo de Wikipedia .

El 1 u 8 al final de algunos de los modos de cifrado especifica la cantidad de bits utilizados en cifrado retroalimentación .

    
respondido por el Brendan Long 06.03.2012 - 00:31
fuente
3

RE 192, 40: 192 es 128 + 64, así que supongo que es una compensación entre el tamaño y la potencia de dos. 40 es probablemente histórico / compatible con versiones anteriores: hasta algún momento en la década de los 90 (creo que podría estar equivocado en el año), los EE. UU. Tenían una ley que prohibía la exportación de software que implementa el cifrado con una clave de más de 40 bits.

AES es "Estándar de cifrado avanzado", DES es "Estándar de cifrado de datos", wikipedia dice "RC" proviene de "Ron Code" (como en Ron Rivest, el inventor, de RSA)

Los finales son modos de operación, para cifrados de bloque. Esencialmente, los datos se dividen en bloques. CBC es "encadenamiento de bloques de cifrado", OFB es "retroalimentación de salida", CFB es "retroalimentación de cifrado". Puedes leer más aquí: enlace

No estoy seguro de cuál es la diferencia entre (por ejemplo) -aes-128-cfb y -aes-128-cfb1: ¿tal vez una variación menor, y quieren admitir ambas?

Último punto: me imagino que la gran variedad de algoritmos es principalmente para compatibilidad. Los diferentes algoritmos son mejores para diferentes escenarios, por lo que muchos están en uso y quieren ser compatibles con el mayor número posible, supongo.

Espero que esto ayude!

    
respondido por el mfrankli 06.03.2012 - 00:38
fuente

Lea otras preguntas en las etiquetas