Colección de citas famosas - Colección de poesías - ¿Es la clave la única forma de inspeccionar el contenido de un dispositivo cifrado?

¿Es la clave la única forma de inspeccionar el contenido de un dispositivo cifrado?

Considere situaciones en las que los usuarios puedan intentar eludir el sistema, como eliminar físicamente la base de datos o escuchar a escondidas las líneas de comunicación. La solución más eficaz para este tipo de amenazas es el cifrado de datos, que almacena y transmite datos confidenciales en un formato cifrado.

Los términos para el cifrado de datos son: texto plano, es decir, datos originales o no cifrados. Se cifra mediante un algoritmo de cifrado. La información de entrada del algoritmo de cifrado es texto sin formato y la clave, el formato cifrado del texto sin formato, es la información de salida del algoritmo de cifrado. El algoritmo de cifrado es público, pero la clave no. El texto cifrado, que los usuarios no deberían entender sin una clave, se utiliza para el almacenamiento y la transmisión de datos.

Ejemplo: El texto sin formato es una cadena:

COMO LOS MARTÍNES PESCADORES SE FUEGO

(Para simplificar, se supone que los caracteres de datos procesados ​​son solo letras mayúsculas y caracteres de espacio). Supongamos que la clave es una cadena:

ELIOT

El algoritmo de cifrado es:

1) Divida el texto sin formato en varios bloques de la longitud de la cadena de claves. (El carácter de espacio está representado por "+")

AS+KI NGFIS HERS+ CATCH +FIRE

2) Reemplace cada carácter del texto sin formato con un número entero en el rango de 00~ 26, carácter de espacio = 00, A=01,..., Z=26:

0119001109 1407060919 0805181900 0301200308 0006091805

3) Reemplace cada carácter de la clave como en el paso 2 :

p>

0512091520

4) Para cada bloque de texto sin formato, la suma de cada carácter utilizando la codificación entera correspondiente y la codificación entera del carácter en la posición correspondiente en la clave módulo 27 Reemplazar:

5) Reemplazar la codificación de entero en el resultado del paso 4 con su carácter equivalente:

FDIZB SSOXL MQ+GT HMBRA ERRFY

Si se da la clave, el proceso de descifrado en este ejemplo es simple. La pregunta es ¿qué tan difícil sería para un atacante malintencionado obtener la clave utilizando texto plano y texto cifrado sin conocer la clave? Para el ejemplo simple anterior, la respuesta es bastante fácil, no trivialmente fácil, pero los patrones de cifrado complejos son igualmente fáciles de diseñar. Idealmente, el modo de cifrado utilizado debería ser tal que el costo para un atacante de romperlo supere con creces los beneficios obtenidos. De hecho, este propósito se aplica a todas las medidas de seguridad. El objetivo final aceptable de este modo de cifrado es que ni siquiera el inventor del modo pueda obtener la clave haciendo coincidir el texto sin formato y el texto cifrado y, por tanto, no pueda descifrar el texto cifrado.

1. Estándares de cifrado de datos

Existen dos métodos de cifrado tradicionales, reemplazo y sustitución. El ejemplo anterior utiliza el método de sustitución: usar la clave para convertir cada carácter del texto sin formato en un carácter del texto cifrado. La permutación sólo reorganiza los caracteres del texto sin formato en un orden diferente. Cualquiera de los métodos por sí solos no es lo suficientemente seguro, pero combinarlos puede proporcionar un grado considerable de seguridad. El Estándar de cifrado de datos (DES) utiliza este algoritmo combinado. Fue desarrollado por IBM y se convirtió en el estándar de cifrado oficial de los Estados Unidos en 1977.

DES funciona dividiendo el texto sin formato en muchos bloques de 64 bits y cifrando cada bloque con una clave de 64 bits. De hecho, la clave consta de 56 bits de datos y 8 bits de paridad. posibles contraseñas en lugar de 264. Cada bloque se cifra primero utilizando el método de permutación inicial, luego se realizan 16 reemplazos complejos consecutivos y, finalmente, se le aplica la inversa de la permutación inicial. El reemplazo en el paso i no utiliza directamente la clave original K, sino la clave Ki calculada a partir de K e i.

DES tiene la propiedad de que su algoritmo de descifrado es el mismo que el algoritmo de cifrado, excepto que la clave Ki se aplica en el orden opuesto.

2. Cifrado de clave pública

Durante muchos años, mucha gente ha creído que DES no es realmente seguro. De hecho, incluso sin utilizar métodos inteligentes, con la llegada de procesadores rápidos y altamente paralelos, es posible descifrar DES por la fuerza.

Los métodos de cifrado de "clave pública" hacen que DES y técnicas de cifrado tradicionales similares queden obsoletas. En el método de cifrado de clave pública, el algoritmo de cifrado y la clave de cifrado son públicos y cualquiera puede convertir texto sin formato en texto cifrado. Pero la clave de descifrado correspondiente se mantiene en secreto (el método de clave pública consta de dos claves, una para cifrado y otra para descifrado) y no se puede deducir de la clave de cifrado, por lo que ni siquiera el cifrador puede realizarla si no está autorizado para hacerlo. Descifrado correspondiente.

La idea del cifrado de clave pública fue propuesta originalmente por Diffie y Hellman, y la más famosa por Rivest, Shamir y Adleman. Ahora se llama comúnmente RSA (el nombre de las primeras letras de los tres inventores). método, que se basa en los siguientes dos hechos:

1) Existe un algoritmo rápido para determinar si un número es primo

2) Los factores primos para determinar un número compuesto; Aún no se ha encontrado un algoritmo rápido.

El principio de funcionamiento del método RSA es el siguiente:

1) Seleccione aleatoriamente dos números primos grandes diferentes p y q, y calcule el producto r=p*q

; p>

2) Seleccione aleatoriamente un número entero grande e, e es primo relativo con (p-1)*(q-1), y el número entero e se utiliza como clave de cifrado. Nota: La selección de e es fácil, por ejemplo, todos los números primos mayores que p y q están disponibles.

3) Determinar la clave de descifrado d:

d * e = 1 módulo (p - 1) * (q - 1)

Según e, pyq pueden calcular fácilmente d.

4) Revelar los números enteros r y e, pero no d;

5) Cifrar el texto sin formato P (asumiendo que P es un número entero menor que r) en el texto cifrado C, método de cálculo. es:

C = Pe módulo r

6) Descifre el texto cifrado C en texto plano P. El método de cálculo es:

P = Cd módulo r

p>

p>

Sin embargo, es imposible calcular d basándose únicamente en r y e (no en p y q). Por lo tanto, cualquiera puede cifrar texto sin formato, pero sólo los usuarios autorizados (que saben d) pueden descifrar texto cifrado.

El siguiente es un ejemplo simple para ilustrar el proceso anterior. Obviamente solo podemos seleccionar un número muy pequeño.

Ejemplo: Seleccione p=3, q=5, luego r=15, (p-1)*(q-1)=8. Seleccione e=11 (un número primo mayor que p y q) y calcule d =3 hasta d * 11 = 1 módulo 8.

Supongamos que el texto plano es el número entero 13. Entonces el texto cifrado C es

C = Pe módulo r

= 1311 módulo 15

= 1.792.160.394.037 módulo 15

= 7 p>

Recuperar el texto plano P como:

P = Cd módulo r

= 73 módulo 15

= 343 módulo 15

= 13

Debido a que e y d son inversos entre sí, los métodos de cifrado de clave pública también permiten "firmar" la información cifrada de tal manera que el destinatario pueda estar seguro de que la firma no está falsificado. Supongamos que A y B quieren transmitir datos a través de un método de cifrado de clave pública. A y B divulgan respectivamente el algoritmo de cifrado y la clave correspondiente, pero no divulgan el algoritmo de descifrado y la clave correspondiente. Los algoritmos de cifrado de A y B son ECA y ECB respectivamente, los algoritmos de descifrado son DCA y DCB respectivamente, ECA y DCA son recíprocos y ECB y DCB son recíprocos. Si A quiere enviar texto sin formato P a B, no simplemente envía ECB (P), sino que primero aplica su algoritmo de descifrado DCA a P y luego utiliza el algoritmo de cifrado ECB para cifrar el resultado antes de enviarlo.

El texto cifrado C es:

C = ECB (DCA (P))

Después de recibir C, B aplica su algoritmo de descifrado DCB y su algoritmo de cifrado ECA sucesivamente para obtener el texto plano P:

ECA(DCB(C))

= ECA(DCB(ECB(DCA(P))))

= ECA(DCA(P)) / *DCB y BCE se cancelan entre sí*/

= P /*DCB y BCE se cancelan entre sí*/

De esta forma, B determina que el mensaje efectivamente es enviado desde A, porque solo cuando El proceso de cifrado usa el algoritmo DCA, solo A puede obtener P usando ECA. Solo A conoce el algoritmo DCA. Nadie, ni siquiera B, puede falsificar la firma de A.