Esquema de cifrado de datos
Considere situaciones en las que los usuarios podrían intentar eludir el sistema, como eliminar físicamente bases de datos y escuchar a escondidas las líneas de comunicación. La solución más eficaz para esta amenaza
es el cifrado de datos, lo que significa almacenar y transmitir datos confidenciales en un formato cifrado.
El término para cifrar datos es: texto plano, es decir, datos originales o no cifrados. Cifre con un algoritmo de cifrado, la información de entrada del algoritmo de cifrado es texto sin formato y.
Clave; texto cifrado, formato cifrado de 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 no debe ser Ninguno.
Las claves son entendidas por los usuarios y utilizadas para el almacenamiento y transmisión de datos.
Ejemplo: El texto sin formato es una cadena:
Cuando el martín pescador está en llamas
(Para simplificar, suponga que los caracteres de datos procesados son solo letras mayúsculas y caracteres de espacio). Supongamos que la clave es una cadena:
Apellido
El algoritmo de cifrado es:
1) Divida el texto sin formato en bloques de la longitud de la cadena de clave. (use "+ para espacios" "express").
Su + está en llamas
2) Reemplace cada carácter del texto plano 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 se describe en el paso 2:
0512091520
4) Para cada bloque de texto plano, reemplace cada carácter con el valor módulo 27 de la suma del código entero correspondiente y el código entero del carácter en la posición correspondiente en la clave:
5) Utilice El carácter equivalente reemplaza el código entero en el resultado del paso 4:
FDIZB SSOXL MQ+GT HMBRA ERRFY
El proceso de descifrado de este ejemplo es simple si se proporciona la clave. La pregunta es: ¿qué tan difícil sería para un atacante malintencionado obtener una clave utilizando texto sin formato y texto cifrado sin conocer la clave? Para el ejemplo simple anterior, la respuesta es bastante fácil, no solo patrones de cifrado fáciles, sino complejos.
Las fórmulas también son fáciles de diseñar. Idealmente, el modo de cifrado utilizado debería hacer que el coste para el atacante sea mayor que la ganancia para él. Sólido
De hecho, este propósito se aplica a todas las medidas de seguridad. El objetivo final aceptable de este modelo de cifrado es que ni siquiera el inventor de este modelo pueda superar esa etapa.
Utilice texto sin formato y texto cifrado para obtener la clave, por lo que es imposible descifrar el texto cifrado.
1. Estándar de cifrado de datos
Existen dos métodos de cifrado tradicionales, reemplazo y sustitución. El ejemplo anterior utiliza otro enfoque: usar una clave para convertir cada carácter del texto en un secreto.
Un personaje del texto. El reemplazo simplemente reorganiza los caracteres del texto sin formato en un orden diferente. Ninguno de los métodos es seguro cuando se utiliza solo, pero una combinación de estos dos métodos puede proporcionar una seguridad considerable. Utiliza el estándar de cifrado de datos (DES).
Este algoritmo combinado fue desarrollado por IBM y se convirtió en el estándar de cifrado oficial de Estados Unidos en 1977.
DES funciona así: el texto plano se divide en muchos bloques de 64 bits y cada bloque se cifra con una clave de 64 bits. De hecho, la clave consta de 56 bits de datos y 8 bits de paridad, por lo que sólo hay 256 contraseñas posibles, no 264. Cada bloque se cifra con una sustitución inicial, seguida de 16 sustituciones complejas y, finalmente, se le aplica la inversa de la sustitución inicial. El reemplazo en el paso I no es usar la clave original K directamente, sino usar la clave Ki calculada a partir de K e I.
DES tiene la propiedad de que excepto aplicar las claves Ki en el orden inverso En Además, el algoritmo de descifrado es el mismo que el algoritmo de cifrado.
2. Cifrado de clave pública
A lo largo de los años, muchas personas han creído que DES no es realmente seguro. De hecho, con la llegada de procesadores rápidos y altamente paralelos, incluso sin métodos inteligentes.
Ahora también es posible crackear 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 es secreta (el método de clave pública consta de dos claves, una para cifrado y otra para descifrado) y no puede derivarse de la clave de cifrado, por lo que incluso el cifrador El descifrado correspondiente no es posible sin autorización.
La idea del cifrado de clave pública fue propuesta por primera vez por Diffie y Hellman, los más famosos fueron propuestos por Rivest, Shamir y Adleman. Ahora se le llama comúnmente RSA (el nombre de las primeras letras de los tres inventores) basándose en los dos hechos siguientes: 1) Existe un algoritmo rápido para determinar si un número es primo;
2) Un algoritmo rápido Aún no se ha encontrado un algoritmo para determinar los factores primos de un número compuesto.
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;
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 elección de e es fácil, por ejemplo, ambos son grandes
Tanto p como q son números primos.
3) Determinar la clave de descifrado d:
d * e = 1 módulo (p - 1)*(q - 1)
De e, p y q se puede 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. El método es el siguiente:
C = Pe mod r
6) Descifrar el texto cifrado c en texto plano p. Cd mod r
Sin embargo, es imposible calcular D sólo a partir de R y E (en lugar de P y Q). Por lo tanto, cualquiera puede cifrar texto plano, pero sólo los usuarios autorizados (conociendo D).
Antes de que se descifre el texto cifrado.
Ponemos un ejemplo sencillo para ilustrar el proceso anterior. Evidentemente, sólo podemos elegir unos pocos.
Ejemplo: Si p = 3, q = 5, entonces r=15, (p-1)*(q-1)=8. Elija e=11 (un número primo mayor que p y q), use d * 11 = 1moduo8.
Calcular d =3.
Supongamos que el texto plano es un número entero de 13. Entonces el texto cifrado c es
C = Pe mod r
= 1311 mod 15
= 1.792.160.394.037 mod 15
= 7 p>
El texto plano recuperado p es:
P = Cd mod r
= 73 mod 15
= 343 módulo 15
= 13
Debido a que E y D son recíprocos, el método de cifrado de clave pública también permite "firmar" la información cifrada de esta manera, de modo que el destinatario puede estar seguro de que la firma no es falsificado.
Supongamos que A y B quieren transmitir datos mediante cifrado de clave pública. A y B revelan respectivamente el algoritmo de cifrado y la clave correspondiente, pero no revelan el algoritmo de descifrado y la clave correspondiente.
Los algoritmos de cifrado de A y B son ECA y ECB, y los algoritmos de descifrado son DCA y DCB. ECA y DCA son recíprocos, y ECB y DCB son recíprocos.
Si A quiere enviar texto plano P a B, en lugar de simplemente enviar ECB(P), primero aplica su algoritmo de descifrado DCA a P, y luego utiliza el algoritmo de cifrado ECB para cifrar el resultado y enviarlo. afuera.
El texto cifrado c es:
C = Banco Central Europeo
Después de recibir C, B aplica su algoritmo de descifrado DCB y su algoritmo de cifrado ECA en secuencia para obtener el texto plano P:
ECA
= ECA(DCB(ECB(DCA(P)))
= ECA(DCA(P)) /*DCB y El BCE se cancela mutuamente*/
= P /*DCB y el BCE se cancelan mutuamente*/
De esta manera, B puede estar seguro de que el mensaje efectivamente fue enviado desde A. Porque solo durante el proceso de cifrado se utiliza el algoritmo DCA, ECA puede obtener P y solo A conoce el algoritmo DCA.
Algunas personas, incluso B, no pueden falsificar la firma de A.