Algoritmos de cifrado de datos. Algoritmos de cifrado simétrico. Algoritmo de cifrado RSA. Algoritmo de cifrado DES. Seleccionar un algoritmo de cifrado. Algoritmos de cifrado modernos

Tema: “Criptografía. Cifrados, sus tipos y propiedades"


Introducción

Hace mucho tiempo que la gente se dio cuenta de que la información tiene valor; no en vano, la correspondencia de los poderosos ha sido durante mucho tiempo objeto de gran atención por parte de sus enemigos y amigos. Fue entonces cuando surgió la tarea de proteger esta correspondencia de miradas demasiado indiscretas. Los antiguos intentaron utilizar una amplia variedad de métodos para resolver este problema, y ​​uno de ellos era la escritura secreta: la capacidad de redactar mensajes de tal manera que su significado fuera inaccesible para cualquiera, excepto para aquellos iniciados en el secreto. Existe evidencia de que el arte de la escritura secreta se originó en tiempos anteriores a la antigüedad. A lo largo de su historia centenaria, hasta hace muy poco, este arte sirvió a unos pocos, principalmente a las altas esferas de la sociedad, sin ir más allá de las residencias de los jefes de Estado, las embajadas y, por supuesto, las misiones de inteligencia. Y hace sólo unas décadas todo cambió radicalmente: la información adquirió un valor comercial independiente y se convirtió en un bien generalizado, casi común y corriente. Se produce, almacena, transporta, vende y compra, lo que significa que es robado y falsificado y, por tanto, debe protegerse. La sociedad moderna se basa cada vez más en la información; el éxito de cualquier tipo de actividad depende cada vez más de la posesión de cierta información y de la falta de ella por parte de los competidores. Y cuanto más fuerte sea este efecto, mayores serán las pérdidas potenciales por abusos en la esfera de la información y mayor será la necesidad de proteger la información.

El uso generalizado de la tecnología informática y el aumento constante del volumen de flujos de información provocan un aumento constante del interés por la criptografía. Recientemente, ha ido aumentando el papel de las herramientas de seguridad de la información de software, que no requieren grandes costos financieros en comparación con los criptosistemas de hardware. Los métodos de cifrado modernos garantizan una protección de datos casi absoluta.

Objetivo Este trabajo es una introducción a la criptografía; cifrados, sus tipos y propiedades.

Tareas:

Aprende sobre criptografía

Considere los cifrados, sus tipos y propiedades.

1. Historia de la criptografía

Antes de pasar a la historia real de la criptografía, es necesario comentar una serie de definiciones, ya que sin ellas todo lo siguiente será “un poco” difícil de entender:

Bajo confidencialidad comprender la imposibilidad de obtener información de una matriz convertida sin conocer información adicional (clave).

Autenticidad La información se compone de autenticidad de autoría e integridad.

Criptoanálisis combina métodos matemáticos para violar la confidencialidad y autenticidad de la información sin conocer las claves.

Alfabeto - un conjunto finito de caracteres utilizados para codificar información.

Texto - un conjunto ordenado de elementos del alfabeto. Ejemplos de alfabetos incluyen los siguientes:

alfabeto z 33 - 32 letras del alfabeto ruso (excluyendo “е”) y espacio;

alfabeto z 256: caracteres incluidos en los códigos estándar ASCII y KOI-8;

alfabeto binario - z 2 = {0, 1};

alfabeto octal o hexadecimal

Bajo código se entiende como un conjunto de transformaciones reversibles de un conjunto de datos abiertos en un conjunto de datos cifrados especificados por un algoritmo de transformación criptográfica. Siempre hay dos elementos en un cifrado: el algoritmo y la clave. El algoritmo le permite utilizar una clave relativamente corta para cifrar texto arbitrariamente grande.

sistema criptográfico , o cifrar representa una familia t transformaciones reversibles de texto plano en texto cifrado. Los miembros de esta familia pueden estar asociados uno a uno con el número k , llamado llave. Conversión tk determinado por el algoritmo correspondiente y el valor clave k .

Llave - un estado secreto específico de algunos parámetros del algoritmo de transformación de datos criptográficos, que garantiza la elección de una opción entre un conjunto de todas las posibles para un algoritmo determinado. El secreto de la clave debe garantizar que sea imposible recuperar el texto original del cifrado.

Espacio de claves k es un conjunto de posibles valores clave.

Generalmente la clave es una serie secuencial de letras del alfabeto. Es necesario distinguir entre los conceptos de “clave” y “contraseña”. Contraseña También es una secuencia secreta de letras del alfabeto, pero no se utiliza para el cifrado (como clave), sino para la autenticación de sujetos.

Electrónica (digital) firma Se denomina transformación criptográfica adjunta al texto, que permite, cuando el texto es recibido por otro usuario, verificar la autoría e integridad del mensaje.

Cifrado datos es el proceso de convertir datos abiertos en datos cifrados utilizando un cifrado, y descifrado datos: el proceso de convertir datos cerrados en datos abiertos mediante un cifrado.

Descifrado es el proceso de convertir datos privados en datos públicos con una clave desconocida y, posiblemente, un algoritmo desconocido, es decir. métodos de criptoanálisis.

Cifrado Se llama al proceso de cifrar o descifrar datos. El término cifrado también se utiliza como sinónimo de cifrado. Sin embargo, es incorrecto utilizar el término "codificación" como sinónimo de cifrado (y en lugar de "cifrado" - "código"), ya que generalmente se entiende por codificación la representación de información en forma de signos (letras del alfabeto).

Fuerza criptográfica es una característica de un cifrado que determina su resistencia al descifrado. Normalmente, esta característica está determinada por el período de tiempo necesario para el descifrado.

Con la difusión de la escritura en la sociedad humana, surgió la necesidad de intercambiar cartas y mensajes, lo que requirió la necesidad de ocultar el contenido de los mensajes escritos a los forasteros. Los métodos para ocultar el contenido de mensajes escritos se pueden dividir en tres grupos. El primer grupo incluye métodos de enmascaramiento o esteganografía, que ocultan el hecho mismo de la presencia de un mensaje; el segundo grupo consta de varios métodos de escritura secreta o criptografía ( de palabras griegas ktipos- secreto y grafo- Estoy escribiendo); Los métodos del tercer grupo se centran en la creación de dispositivos técnicos especiales que clasifican la información.

En la historia de la criptografía se pueden distinguir a grandes rasgos cuatro etapas: ingenua, formal, científica e informática.

1. Para criptografía ingenua ( antes de principios del siglo XVI), es típico el uso de cualquier método, generalmente primitivo, para confundir al enemigo sobre el contenido de los textos cifrados. En la etapa inicial, para proteger la información se utilizaron métodos de codificación y esteganografía, que están relacionados pero no son idénticos a la criptografía.

La mayoría de los cifrados utilizados se redujeron a permutación o sustitución monoalfabética. Uno de los primeros ejemplos registrados es el cifrado César, que consiste en sustituir cada letra del texto original por otra, espaciada de ella en el alfabeto por un número determinado de posiciones. Otro cifrado, el cuadrado polibio, atribuido al escritor griego Polibio, es una sustitución monoalfabética general realizada utilizando una tabla cuadrada llena de alfabetos rellenada al azar (para el alfabeto griego, el tamaño es 5 × 5). Cada letra del texto original se reemplaza por la letra en el cuadrado debajo de ella.

2. Etapa criptografía formal ( finales del siglo XV - principios del XX) se asocia con la aparición de cifrados formalizados que son relativamente resistentes al criptoanálisis manual. En los países europeos, esto sucedió durante el Renacimiento, cuando el desarrollo de la ciencia y el comercio creó una demanda de métodos confiables para proteger la información. Un papel importante en esta etapa corresponde a León Batista Alberti, un arquitecto italiano que fue uno de los primeros en proponer la sustitución polialfabética. Este cifrado lleva el nombre de un diplomático del siglo XVI. Blaise Viginera, consistió en “sumar” secuencialmente las letras del texto fuente con una clave (el procedimiento se puede facilitar utilizando una tabla especial). Su obra "Tratado sobre el cifrado" se considera el primer trabajo científico sobre criptología. Una de las primeras obras impresas en la que se resumieron y formularon los algoritmos de cifrado conocidos en aquella época es la obra "Poligrafía" del abad alemán Johann Trisemus. Hizo dos pequeños pero importantes descubrimientos: un método para llenar un cuadrado polibiano (las primeras posiciones se llenan con una palabra clave fácil de recordar, el resto con las letras restantes del alfabeto) y el cifrado de pares de letras (digramas). . Un método simple pero persistente de sustitución multialfabética (sustitución de bigramas) es el cifrado Playfair, que fue descubierto a principios del siglo XIX. Carlos Wheatstone. Wheatstone también realizó una mejora importante: el cifrado de "doble cuadrado". Los cifrados Playfair y Wheatstone se utilizaron hasta la Primera Guerra Mundial, ya que eran difíciles de criptoanalizar manualmente. En el siglo XIX El holandés Kerkhoff formuló el principal requisito para los sistemas criptográficos, que sigue siendo relevante hasta el día de hoy: El secreto de los cifrados debe basarse en el secreto de la clave, no en el algoritmo. .

Finalmente, la última palabra en criptografía precientífica, que proporcionó una fuerza criptográfica aún mayor y también permitió automatizar el proceso de cifrado, fueron los criptosistemas de rotor.

Uno de los primeros sistemas de este tipo fue la máquina mecánica inventada en 1790 por Thomas Jefferson. La sustitución multialfabética mediante una máquina rotativa se realiza variando la posición relativa de los rotores giratorios, cada uno de los cuales realiza una sustitución "cosida" en él.

Las máquinas rotativas no se generalizaron hasta principios del siglo XX. Una de las primeras máquinas prácticamente utilizadas fue la alemana Enigma, desarrollada en 1917 por Edward Hebern y mejorada por Arthur Kirch. Las máquinas rotativas se utilizaron activamente durante la Segunda Guerra Mundial. Además de la máquina alemana Enigma, también se utilizaron dispositivos Sigaba. ( EE. UU.), Turekh (Reino Unido), rojo, naranja y morado ( Japón). Los sistemas de rotor son el pináculo de la criptografía formal, ya que implementaron cifrados muy fuertes con relativa facilidad. Los criptoataques exitosos a sistemas rotativos sólo fueron posibles con la llegada de las computadoras a principios de los años 40.

3. Característica distintiva principal criptografía científica ( 1930 - años 60): la aparición de criptosistemas con una estricta justificación matemática de la solidez criptográfica. A principios de los años 30. Finalmente se formaron las ramas de las matemáticas que son la base científica de la criptología: comenzaron a desarrollarse activamente la teoría de la probabilidad y la estadística matemática, el álgebra general, la teoría de números, la teoría de los algoritmos, la teoría de la información y la cibernética. Una especie de punto de inflexión fue el trabajo de Claude Shannon, "La teoría de la comunicación en sistemas secretos", que proporcionó una base científica para la criptografía y el criptoanálisis. A partir de ese momento se empezó a hablar de criptología (del griego criptomonedas- secreto y logotipos- mensaje) - la ciencia de transformar la información para garantizar su secreto. La etapa de desarrollo de la criptografía y el criptoanálisis antes de 1949 comenzó a denominarse criptología precientífica.

Shannon introdujo los conceptos de "dispersión" y "mezcla" y fundamentó la posibilidad de crear criptosistemas arbitrariamente fuertes. En la década de 1960 Las principales escuelas criptográficas se han acercado a la creación de cifrados en bloque. , Aún más seguro en comparación con los criptosistemas rotativos, pero permitiendo su implementación práctica sólo en forma de dispositivos electrónicos digitales.

4. criptografía informática ( desde la década de 1970) debe su aparición a herramientas informáticas con un rendimiento suficiente para implementar criptosistemas que proporcionan, a altas velocidades de cifrado, una fuerza criptográfica varios órdenes de magnitud mayor que los cifrados “manuales” y “mecánicos”.

La primera clase de criptosistemas, cuya aplicación práctica fue posible con la llegada de herramientas informáticas potentes y compactas, fueron los cifrados en bloque. En los años 70 Se desarrolló el estándar de cifrado estadounidense DES. Uno de sus autores, Horst Feistel, describió un modelo de cifrado de bloques a partir del cual se construyeron otros criptosistemas simétricos más robustos, incluido el estándar de cifrado nacional GOST 28147-89.

con el advenimiento DES El criptoanálisis también se enriqueció; se crearon varios tipos nuevos de criptoanálisis (lineal, diferencial, etc.) para atacar el algoritmo estadounidense, cuya implementación práctica, nuevamente, sólo fue posible con la llegada de potentes sistemas informáticos. A mediados de los 70. El siglo XX vio un verdadero avance en la criptografía moderna: la aparición de criptosistemas asimétricos que no requerían la transferencia de una clave secreta entre las partes. Se considera que el punto de partida aquí es un artículo publicado por Whitfield Diffie y Martin Hellman en 1976 titulado "Nuevas direcciones en la criptografía moderna". Fue el primero en formular los principios del intercambio de información cifrada sin intercambiar una clave secreta. Ralph Merkley abordó la idea de los criptosistemas asimétricos de forma independiente. Unos años más tarde, Ron Rivest, Adi Shamir y Leonard Adleman descubrieron el sistema. RSA, el primer criptosistema asimétrico práctico cuya fortaleza se basaba en el problema de factorizar números primos grandes. La criptografía asimétrica ha abierto varias áreas de aplicación nuevas, en particular los sistemas de firma digital electrónica. ( EDS) y dinero electrónico.

En los años 1980-90. Han surgido áreas completamente nuevas de la criptografía: cifrado probabilístico, criptografía cuántica y otras. La conciencia de su valor práctico aún está por llegar. La tarea de mejorar los criptosistemas simétricos también sigue siendo relevante. Durante el mismo período, se desarrollaron cifrados que no eran de Feistel (SAFER, RC6, etc.) y en 2000, después de una competencia internacional abierta, se adoptó un nuevo estándar de cifrado nacional de EE. UU. AES .

Así aprendimos lo siguiente:

La criptología es la ciencia de transformar la información para asegurar su secreto, compuesta por dos ramas: criptografía y criptoanálisis.

El criptoanálisis es la ciencia (y la práctica de su aplicación) sobre los métodos y métodos para descifrar cifrados.

La criptografía es la ciencia que busca formas de transformar (cifrar) información para protegerla de usuarios ilegales. Históricamente, la primera tarea de la criptografía fue proteger los mensajes de texto transmitidos del acceso no autorizado a su contenido, conocido sólo por el remitente y el destinatario; todos los métodos de cifrado son sólo un desarrollo de esta idea filosófica. Con la creciente complejidad de las interacciones de información en la sociedad humana, han surgido y continúan surgiendo nuevas tareas para protegerlas, algunas de ellas se resolvieron en el marco de la criptografía, lo que requirió el desarrollo de nuevos enfoques y métodos.

2. Cifrados, sus tipos y propiedades.

En criptografía, los sistemas criptográficos (o cifrados) se clasifican de la siguiente manera:

criptosistemas simétricos

criptosistemas asimétricos

2.1 Sistemas criptográficos simétricos

Los sistemas criptográficos simétricos son aquellos criptosistemas en los que se utiliza la misma clave, mantenida en secreto, para el cifrado y descifrado. Toda la variedad de criptosistemas simétricos se basa en las siguientes clases básicas:

I. Sustituciones mono y multialfabéticas.

Las sustituciones monoalfabéticas son el tipo de transformación más simple, que consiste en sustituir caracteres del texto fuente por otros (del mismo alfabeto) según una regla más o menos compleja. En el caso de sustituciones monoalfabéticas, cada carácter del texto original se convierte en un carácter del texto cifrado según la misma ley. Con la sustitución multialfabética, la ley de transformación cambia de un carácter a otro. El mismo cifrado puede considerarse tanto monoalfabético como multialfabético, según el alfabeto que se defina.

Por ejemplo, el tipo más simple es el reemplazo directo (simple), cuando las letras del mensaje cifrado se reemplazan por otras letras del mismo o de otro alfabeto. La tabla de reemplazo puede verse así:


Usando esta tabla, ciframos la palabra victoria. Obtenemos lo siguiente: btpzrs

II. Reordenamientos - También es un método sencillo de transformación criptográfica, que consiste en reordenar los caracteres del texto fuente según alguna regla. Actualmente, los cifrados de permutación no se utilizan en su forma pura, ya que su potencia criptográfica es insuficiente, pero se incluyen como elemento en muchos criptosistemas modernos.

La permutación más sencilla es escribir el texto original al revés y al mismo tiempo dividir el cifrado en cinco letras. Por ejemplo, de la frase

QUE SEA COMO QUERÍAMOS

obtienes el siguiente texto cifrado:

ILETO KHIMKA KKATT EDUB TSUP

A los últimos cinco les falta una letra. Esto significa que antes de cifrar la expresión original, debe complementarla con una letra insignificante (por ejemplo, O) a un número múltiplo de cinco, luego el cifrado, a pesar de cambios tan menores, se verá diferente:

OILET OKHYMK AKKAT TEDUB LTSUP

III. Cifrados de bloque - una familia de transformaciones reversibles de bloques (partes de longitud fija) del texto fuente. De hecho, un cifrado de bloques es un sistema de sustitución de un alfabeto de bloques. Puede ser mono o multialfabético según el modo de cifrado en bloque. En otras palabras, con el cifrado de bloques, la información se divide en bloques de una longitud fija y se cifra bloque por bloque. Los cifrados de bloque vienen en dos tipos principales: cifrados de transposición (transposición, permutación, bloques P) y cifrados de sustitución (sustitución, bloques S). Actualmente, los cifrados en bloque son los más comunes en la práctica.

Estándar americano para el cierre de datos criptográficos DES ( El Estándar de cifrado de datos, adoptado en 1978, es un miembro típico de la familia de cifrado de bloques y uno de los estándares de cifrado de datos criptográficos más comunes utilizados en los Estados Unidos. Este cifrado permite una implementación eficiente de hardware y software, y se pueden alcanzar velocidades de cifrado de hasta varios megabytes por segundo. Inicialmente, IBM desarrolló el método subyacente a este estándar para sus propios fines. Fue probado por la Agencia de Seguridad Nacional de Estados Unidos, que no encontró ningún defecto estadístico o matemático.

DES tiene bloques de 64 bits y se basa en una permutación de datos de 16 veces; también utiliza una clave de 56 bits para el cifrado. Hay varios modos DES: Electrónico Código Libro ( BCE) Y Cifrar Bloquear Encadenamiento ( CBC).56 bits son 8 caracteres de siete bits, es decir La contraseña no puede tener más de ocho letras. Si, además, utiliza sólo letras y números, el número de opciones posibles será significativamente menor que el máximo posible de 256. Sin embargo, este algoritmo, al ser el primer intento de crear un estándar de cifrado, tiene una serie de desventajas. En el tiempo transcurrido desde la creación DES, la tecnología informática se ha desarrollado tan rápidamente que ahora es posible realizar una búsqueda exhaustiva de claves y así descifrar el cifrado. En 1998 se construyó una máquina que podía restaurar una clave en un tiempo medio de tres días. De este modo, DES, cuando se utiliza de forma estándar, ya está lejos de ser la opción óptima para cumplir con los requisitos del secreto de los datos. Posteriormente comenzaron a aparecer modificaciones. DESa, uno de los cuales es Triple des("triple DES" - ya que cifra la información tres veces usando normal DES). Está libre del principal inconveniente de la versión anterior: una clave corta: aquí es el doble de larga. Pero resultó que Triple DES Heredó otras debilidades de su predecesor: la falta de capacidades de computación paralela para el cifrado y la baja velocidad.

IV. gama - transformación del texto fuente, en la que los caracteres del texto fuente se añaden a los caracteres de una secuencia pseudoaleatoria (juego), generada según una regla determinada. Cualquier secuencia de símbolos aleatorios se puede utilizar como gamma. El procedimiento para aplicar gamma al texto fuente se puede realizar de dos formas. En el primer método, el texto fuente y los símbolos gamma se reemplazan por equivalentes digitales, que luego se agregan módulo k, Dónde k- número de caracteres del alfabeto. En el segundo método, el texto fuente y los caracteres gamma se representan como código binario, luego los bits correspondientes se agregan en módulo 2. En lugar de agregar módulo 2, se pueden usar otras operaciones lógicas al realizar la gamma.

Por tanto, los sistemas criptográficos simétricos son criptosistemas en los que se utiliza la misma clave para el cifrado y descifrado. Un medio bastante eficaz para aumentar la potencia del cifrado es el uso combinado de varios métodos de cifrado diferentes. La principal desventaja del cifrado simétrico es que tanto el remitente como el destinatario deben conocer la clave secreta.

2.2 Sistemas criptográficos asimétricos

Otra clase amplia de sistemas criptográficos son los llamados sistemas asimétricos o de dos claves. Estos sistemas se caracterizan por el hecho de que para el cifrado y descifrado se utilizan diferentes claves, interconectadas por alguna dependencia. El uso de tales cifrados fue posible gracias a K. Shannon, quien propuso construir un cifrado de tal manera que su solución equivaliera a resolver un problema matemático que requiere realizar volúmenes de cálculos que exceden las capacidades de las computadoras modernas (por ejemplo, operaciones con números primos grandes y sus productos). Una de las claves (por ejemplo, la clave de cifrado) puede ponerse a disposición del público, en cuyo caso se elimina el problema de obtener una clave secreta compartida para la comunicación. Si hace que la clave de descifrado esté disponible públicamente, basándose en el sistema resultante podrá crear un sistema para autenticar los mensajes transmitidos. Dado que en la mayoría de los casos una clave de un par se pone a disposición del público, estos sistemas también se denominan criptosistemas de clave pública. La primera clave no es secreta y puede publicarse para que la utilicen todos los usuarios del sistema que cifran los datos. No es posible descifrar datos utilizando una clave conocida. Para descifrar los datos, el destinatario de la información cifrada utiliza una segunda clave, que es secreta. Por supuesto, la clave de descifrado no se puede determinar a partir de la clave de cifrado.

Un concepto central en los sistemas criptográficos asimétricos es el concepto de función unidireccional.

Una función unidireccional se entiende como una función computable eficientemente para la cual no existen algoritmos eficientes para la inversión (es decir, para encontrar al menos un valor de argumento dado un valor de función dado).

Una función trampa es una función unidireccional para la cual la función inversa es fácil de calcular si hay información adicional disponible, pero difícil si dicha información falta.

Todos los cifrados de esta clase se basan en las llamadas funciones señuelo. Un ejemplo de tal función es la operación de multiplicación. Calcular el producto de dos números enteros es muy sencillo, pero no existen algoritmos eficaces para realizar la operación inversa (descomponer un número en factores enteros). La transformación inversa sólo es posible si se conoce alguna información adicional.

En criptografía también se utilizan con mucha frecuencia las llamadas funciones hash. Las funciones hash son funciones unidireccionales diseñadas para controlar la integridad de los datos. Cuando se transmite información por parte del remitente, se aplica un hash, el hash se transmite al destinatario junto con el mensaje y el destinatario vuelve a calcular el hash de esta información. Si ambos hashes coinciden, esto significa que la información se transmitió sin distorsión. El tema de las funciones hash es bastante extenso e interesante. Y su ámbito de aplicación va mucho más allá de la simple criptografía.

Actualmente, el método más desarrollado de protección de información criptográfica con clave conocida es RSA, lleva el nombre de las letras iniciales de los nombres de sus inventores (Rivest, Shamir y Adleman) y es un criptosistema cuya fortaleza se basa en la dificultad de resolver el problema de descomponer un número en factores primos. Los números primos son aquellos números que no tienen más divisores que ellos mismos y el uno. Y los números coprimos son aquellos números que no tienen divisores comunes distintos de 1.

Por ejemplo, elijamos dos números primos muy grandes (se necesitan números iniciales grandes para construir claves criptográficas grandes). Definamos el parámetro n como el resultado de multiplicar p y q. Elijamos un número aleatorio grande y llamémoslo d, y debería ser coprimo con el resultado de la multiplicación (p - 1) * (q - 1). Encontremos un número e para el cual la siguiente relación es verdadera:

(e*d) mod ((p - 1) * (q - 1)) = 1

(mod es el resto de la división, es decir, si e multiplicado por d se divide por ((p - 1) * (q - 1)), entonces el resto será 1).

La clave pública es un par de números e y n, y la clave privada es d y n. Al cifrar, el texto fuente se trata como una serie de números y realizamos una operación en cada número:

C (i) = (M (i) e) modn

El resultado es una secuencia C (i), que conformará el criptotexto. La codificación de la información se produce según la fórmula.

M (i) = (C (i) d) mod.

Como puede ver, el descifrado requiere conocer la clave secreta.

Probémoslo con números pequeños. Pongamos p=3, q=7. Entonces n=p*q=21. Elegimos d como 5. A partir de la fórmula (e*5) mod 12=1 calculamos e=17. Clave pública 17, 21, secreta - 5, 21.

Cifremos la secuencia "2345":

C (2) = 217 mod 21 = 11

C (3) = 317 módulo 21 = 12

C (4) = 417 módulo 21 = 16

C (5) = 517 módulo 21 = 17

Criptotexto - 11 12 16 17.

Comprobemos el descifrado:

M(2) = 115 mod 21= 2

M(3) = 125 mod 21= 3

M(4) = 165 mod 21= 4

M(5) = 175 mod 21= 5

Como puede ver, el resultado coincidió.

Criptosistema RSA ampliamente utilizado en Internet. Cuando un usuario se conecta a un servidor seguro, se utiliza el cifrado de clave pública utilizando las ideas del algoritmo. RSA. Fuerza criptográfica RSA Se basa en el supuesto de que es extremadamente difícil, si no imposible, determinar la clave privada a partir de la clave pública. Para ello, era necesario resolver el problema de la existencia de divisores de un número entero enorme. Hasta ahora nadie lo ha resuelto mediante métodos analíticos y el algoritmo RSA Sólo puede romperse con fuerza bruta.

Así, los sistemas criptográficos asimétricos son sistemas en los que se utilizan diferentes claves para el cifrado y descifrado. Una de las claves puede incluso hacerse pública. En este caso, es imposible descifrar los datos utilizando una clave conocida.

Conclusión

La criptografía es la ciencia de los métodos matemáticos para garantizar la confidencialidad (imposibilidad de leer información por parte de personas externas) y la autenticidad (integridad y autenticidad de la autoría, así como la imposibilidad de rechazar la autoría) de la información. Inicialmente, la criptografía estudiaba métodos para cifrar información: transformación reversible de texto sin formato (original) basada en un algoritmo secreto y una clave en texto cifrado. La criptografía tradicional forma una rama de los criptosistemas simétricos, en los que el cifrado y descifrado se realizan utilizando la misma clave secreta. Además de esta sección, la criptografía moderna incluye criptosistemas asimétricos, sistemas de firma digital electrónica (EDS), funciones hash, gestión de claves, obtención de información oculta y criptografía cuántica.

La criptografía es uno de los medios más poderosos para garantizar la confidencialidad y monitorear la integridad de la información. En muchos aspectos, ocupa un lugar central entre los reguladores de seguridad de software y hardware. Por ejemplo, en el caso de los ordenadores portátiles, extremadamente difíciles de proteger físicamente, sólo la criptografía puede garantizar la confidencialidad de la información incluso en caso de robo.

Referencias

1. Zlatopolsky D.M. Los métodos más simples para cifrar texto. /D.M. Zlatopolsky - M.: Chistye Prudy, 2007

2. Moldavia A. Criptografía. /A. Moldavia, N.A. Moldovyan, B.Ya. Sovetov - San Petersburgo: Lan, 2001

3. Yakovlev A.V., Bezbogov A.A., Rodin V.V., Shamkin V.N. Protección de la información criptográfica. /Tutorial - Tambov: Editorial Tamb. estado tecnología. Universidad, 2006

Hace mucho tiempo que la gente se dio cuenta de que la información tiene valor; no en vano, la correspondencia de los poderosos ha sido durante mucho tiempo objeto de gran atención por parte de sus enemigos y amigos. Fue entonces cuando surgió la tarea de proteger esta correspondencia de miradas demasiado indiscretas. Los antiguos intentaron utilizar una amplia variedad de métodos para resolver este problema, y ​​uno de ellos era la escritura secreta: la capacidad de redactar mensajes de tal manera que su significado fuera inaccesible para cualquiera, excepto para aquellos iniciados en el secreto. Existe evidencia de que el arte de la escritura secreta se originó en tiempos anteriores a la antigüedad. A lo largo de su historia centenaria, hasta hace muy poco, este arte sirvió a unos pocos, principalmente a las altas esferas de la sociedad, sin ir más allá de las residencias de los jefes de Estado, las embajadas y, por supuesto, las misiones de inteligencia. Y hace sólo unas décadas todo cambió radicalmente: la información adquirió un valor comercial independiente y se convirtió en un bien generalizado, casi común y corriente. Se produce, almacena, transporta, vende y compra, lo que significa que es robado y falsificado y, por tanto, debe protegerse. La sociedad moderna se basa cada vez más en la información; el éxito de cualquier tipo de actividad depende cada vez más de la posesión de cierta información y de la falta de ella por parte de los competidores. Y cuanto más fuerte sea este efecto, mayores serán las pérdidas potenciales por abusos en la esfera de la información y mayor será la necesidad de proteger la información.

El uso generalizado de la tecnología informática y el aumento constante del volumen de flujos de información provocan un aumento constante del interés por la criptografía. Recientemente, ha ido aumentando el papel de las herramientas de seguridad de la información de software, que no requieren grandes costos financieros en comparación con los criptosistemas de hardware. Los métodos de cifrado modernos garantizan una protección de datos casi absoluta.

Objetivo Este trabajo es una introducción a la criptografía; cifrados, sus tipos y propiedades.

Tareas:

Aprende sobre criptografía

Considere los cifrados, sus tipos y propiedades.

1. Historia de la criptografía

Antes de pasar a la historia real de la criptografía, es necesario comentar una serie de definiciones, ya que sin ellas todo lo siguiente será “un poco” difícil de entender:

Bajo confidencialidad comprender la imposibilidad de obtener información de una matriz convertida sin conocer información adicional (clave).

Autenticidad La información se compone de autenticidad de autoría e integridad.

Criptoanálisis combina métodos matemáticos para violar la confidencialidad y autenticidad de la información sin conocer las claves.

Alfabeto - un conjunto finito de caracteres utilizados para codificar información.

Texto - un conjunto ordenado de elementos del alfabeto. Ejemplos de alfabetos incluyen los siguientes:

alfabeto z 33 - 32 letras del alfabeto ruso (excluyendo “ё”) y espacio;

alfabeto z 256: caracteres incluidos en los códigos estándar ASCII y KOI-8;

alfabeto binario - z 2 = {0, 1};

alfabeto octal o hexadecimal

Bajo código se entiende como un conjunto de transformaciones reversibles de un conjunto de datos abiertos en un conjunto de datos cifrados especificados por un algoritmo de transformación criptográfica. Siempre hay dos elementos en un cifrado: el algoritmo y la clave. El algoritmo le permite utilizar una clave relativamente corta para cifrar texto arbitrariamente grande.

sistema criptográfico , o cifrar representa una familia t transformaciones reversibles de texto plano en texto cifrado. Los miembros de esta familia pueden estar asociados uno a uno con el número k , llamado llave. Conversión tk determinado por el algoritmo correspondiente y el valor clave k .

Llave - un estado secreto específico de algunos parámetros del algoritmo de transformación de datos criptográficos, que garantiza la elección de una opción entre un conjunto de todas las posibles para un algoritmo determinado. El secreto de la clave debe garantizar que sea imposible recuperar el texto original del cifrado.

Espacio de claves k es un conjunto de posibles valores clave.

Generalmente la clave es una serie secuencial de letras del alfabeto. Es necesario distinguir entre los conceptos de “clave” y “contraseña”. Contraseña También es una secuencia secreta de letras del alfabeto, pero no se utiliza para el cifrado (como clave), sino para la autenticación de sujetos.

Electrónica (digital) firma Se denomina transformación criptográfica adjunta al texto, que permite, cuando el texto es recibido por otro usuario, verificar la autoría e integridad del mensaje.

Cifrado datos es el proceso de convertir datos abiertos en datos cifrados utilizando un cifrado, y descifrado datos: el proceso de convertir datos cerrados en datos abiertos mediante un cifrado.

Descifrado es el proceso de convertir datos privados en datos públicos con una clave desconocida y, posiblemente, un algoritmo desconocido, es decir. métodos de criptoanálisis.

Cifrado Se llama al proceso de cifrar o descifrar datos. El término cifrado también se utiliza como sinónimo de cifrado. Sin embargo, es incorrecto utilizar el término "codificación" como sinónimo de cifrado (y en lugar de "cifrado" - "código"), ya que generalmente se entiende por codificación la representación de información en forma de signos (letras del alfabeto).

Fuerza criptográfica es una característica de un cifrado que determina su resistencia al descifrado. Normalmente, esta característica está determinada por el período de tiempo necesario para el descifrado.

Con la difusión de la escritura en la sociedad humana, surgió la necesidad de intercambiar cartas y mensajes, lo que requirió la necesidad de ocultar el contenido de los mensajes escritos a los forasteros. Los métodos para ocultar el contenido de mensajes escritos se pueden dividir en tres grupos. El primer grupo incluye métodos de enmascaramiento o esteganografía, que ocultan el hecho mismo de la presencia de un mensaje; el segundo grupo consta de varios métodos de escritura secreta o criptografía ( de palabras griegas ktipos- secreto y grafo- Estoy escribiendo); Los métodos del tercer grupo se centran en la creación de dispositivos técnicos especiales que clasifican la información.

En la historia de la criptografía se pueden distinguir a grandes rasgos cuatro etapas: ingenua, formal, científica e informática.

1. Para criptografía ingenua ( antes de principios del siglo XVI), es típico el uso de cualquier método, generalmente primitivo, para confundir al enemigo sobre el contenido de los textos cifrados. En la etapa inicial, para proteger la información se utilizaron métodos de codificación y esteganografía, que están relacionados pero no son idénticos a la criptografía.

La mayoría de los cifrados utilizados se redujeron a permutación o sustitución monoalfabética. Uno de los primeros ejemplos registrados es el cifrado César, que consiste en sustituir cada letra del texto original por otra, espaciada de ella en el alfabeto por un número determinado de posiciones. Otro cifrado, el cuadrado polibio, atribuido al escritor griego Polibio, es una sustitución monoalfabética general realizada utilizando una tabla cuadrada llena de alfabetos rellenada al azar (para el alfabeto griego, el tamaño es 5 × 5). Cada letra del texto original se reemplaza por la letra en el cuadrado debajo de ella.

2. Etapa criptografía formal ( finales del siglo XV - principios del XX) se asocia con la aparición de cifrados formalizados que son relativamente resistentes al criptoanálisis manual. En los países europeos, esto sucedió durante el Renacimiento, cuando el desarrollo de la ciencia y el comercio creó una demanda de métodos confiables para proteger la información. Un papel importante en esta etapa corresponde a León Batista Alberti, un arquitecto italiano que fue uno de los primeros en proponer la sustitución polialfabética. Este cifrado lleva el nombre de un diplomático del siglo XVI. Blaise Viginera, consistió en “sumar” secuencialmente las letras del texto fuente con una clave (el procedimiento se puede facilitar utilizando una tabla especial). Su obra "Tratado sobre el cifrado" se considera el primer trabajo científico sobre criptología. Una de las primeras obras impresas que resumió y formuló los algoritmos de cifrado conocidos en ese momento fue la obra "Poligrafía" del abad alemán Johann Trisemus. Hizo dos pequeños pero importantes descubrimientos: un método para llenar un cuadrado polibiano (las primeras posiciones se llenan con una palabra clave fácil de recordar, el resto con las letras restantes del alfabeto) y el cifrado de pares de letras (digramas). . Un método simple pero persistente de sustitución multialfabética (sustitución de bigramas) es el cifrado Playfair, que fue descubierto a principios del siglo XIX. Carlos Wheatstone. Wheatstone también realizó una mejora importante: el cifrado de doble cuadrado. Los cifrados Playfair y Wheatstone se utilizaron hasta la Primera Guerra Mundial, ya que eran difíciles de criptoanalizar manualmente. En el siglo XIX El holandés Kerkhoff formuló el principal requisito para los sistemas criptográficos, que sigue siendo relevante hasta el día de hoy: El secreto de los cifrados debe basarse en el secreto de la clave, no en el algoritmo. .

Finalmente, la última palabra en criptografía precientífica, que proporcionó una fuerza criptográfica aún mayor y también permitió automatizar el proceso de cifrado, fueron los criptosistemas de rotor.

MINISTERIO DE EDUCACIÓN Y CIENCIA DE LA FEDERACIÓN DE RUSIA INSTITUCIÓN EDUCATIVA ESTATAL FEDERAL DE EDUCACIÓN PROFESIONAL SUPERIOR

"UNIVERSIDAD FEDERAL DEL SUR"

INSTITUTO TECNOLÓGICO DE LA UNIVERSIDAD FEDERAL DEL SUR EN TAGANROG Facultad de Seguridad de la Información Departamento de BIT Resumen sobre el tema

"Criptografía y tipos de cifrado"

Arte. gramo. I-21

Completado por: V. I. Mishchenko Revisado por: E. A. Maro Taganrog - 2012

Introducción

1. Historia de la criptografía

1.1 La aparición de cifrados

1.2 Evolución de la criptografía

2. Criptoanálisis

2.1 Características mensajes

2.2 Propiedades del texto natural

2.3 Criterios para determinar la naturalidad.

3. Cifrado simétrico

4. Cifrado asimétrico

Conclusión

Introducción Como parte de mi práctica educativa, elegí el tema “Criptografía y tipos de cifrado”. Durante el trabajo se consideraron temas como la historia de la criptografía, su evolución y tipos de cifrado. Realicé una revisión de los algoritmos de cifrado existentes, como resultado de lo cual se puede observar que la humanidad no se queda quieta y constantemente idea diversas formas de almacenar y proteger la información.

La cuestión de proteger la información valiosa modificándola para evitar que una persona desconocida la lea ha preocupado a las mejores mentes humanas desde la antigüedad. La historia del cifrado tiene casi la misma edad que la historia del habla humana. Además, la escritura en sí era originalmente un sistema criptográfico, ya que en las sociedades antiguas sólo unos pocos elegidos poseían dicho conocimiento. Los manuscritos sagrados de varios estados antiguos son ejemplos de esto.

Desde que se generalizó la escritura, la criptografía comenzó a convertirse en una ciencia completamente independiente. Los primeros sistemas criptográficos se pueden encontrar ya a principios de nuestra era. Por ejemplo, Julio César utilizó un cifrado sistemático en su correspondencia personal, que luego recibió su nombre.
Los sistemas de cifrado recibieron un gran desarrollo durante la era de la Primera y Segunda Guerra Mundial. Desde principios de la posguerra hasta la actualidad, la llegada de los dispositivos informáticos modernos ha acelerado la creación y mejora de los métodos de cifrado.
¿Por qué la cuestión del uso de métodos de cifrado en los sistemas informáticos (CS) se ha vuelto especialmente relevante en nuestro tiempo?
En primer lugar, se ha ampliado el ámbito de aplicación de las redes informáticas, como la World Wide Web, con la ayuda de las cuales se transmiten enormes volúmenes de información de carácter estatal, militar, comercial y personal, imposibilitando el acceso de terceros. él.
En segundo lugar, la aparición de modernas computadoras superpoderosas, tecnologías avanzadas de redes y computación neuronal permite desacreditar los sistemas de cifrado que ayer se consideraban completamente seguros.

1. Historia de la criptografía Con el advenimiento mismo de la civilización humana, surgió la necesidad de transferir información a las personas adecuadas para que los forasteros no la conocieran. Al principio, la gente utilizaba sólo la voz y los gestos para transmitir mensajes.

Con la llegada de la escritura, la cuestión de garantizar el secreto y la autenticidad de los mensajes difundidos adquirió especial importancia. En consecuencia, fue después de la invención de la escritura que surgió el arte de la criptografía, un método de "escritura secreta", un conjunto de técnicas diseñadas para transmitir en secreto mensajes grabados de una persona iniciada a otra.

La humanidad ha inventado un número considerable de tecnologías de escritura secretas, en particular, la tinta simpática que desaparece poco después de escribir un texto o es invisible desde el principio, la "disolución" de información valiosa en un texto grande con un significado completamente "extraño" , la preparación de mensajes utilizando símbolos extraños e incomprensibles.

El cifrado surgió precisamente como un tema práctico que estudia y desarrolla métodos para cifrar información, es decir, al transferir mensajes, sin ocultar el hecho de la transmisión, sino hacer que el texto del mensaje sea inaccesible para la lectura de personas no iniciadas. A tal efecto, el texto del mensaje deberá redactarse de forma que nadie, excepto los propios destinatarios, pueda familiarizarse con su contenido.

La aparición de las primeras computadoras a mediados del siglo XX cambió enormemente la situación: el cifrado práctico dio un gran salto en su desarrollo y el término "criptografía" se alejó significativamente de su significado original: "escritura secreta", "escritura secreta". Hoy en día, este tema combina métodos de protección de información de naturaleza completamente heterogénea, basados ​​​​en la transformación de datos mediante algoritmos secretos, incluidos algoritmos que utilizan diversos parámetros secretos.

1.1 La aparición de los cifrados Algunos de los sistemas criptográficos nos han llegado desde la antigüedad. Lo más probable es que nacieron simultáneamente con la escritura en el cuarto milenio antes de Cristo. Los métodos de correspondencia secreta se inventaron de forma independiente en muchos estados antiguos como Egipto, Grecia y Japón, pero ahora se desconoce la composición detallada de la criptología en ellos. Los criptogramas se pueden encontrar incluso en la antigüedad, aunque debido a la escritura ideográfica utilizada en el mundo antiguo en forma de pictogramas estilizados, eran bastante primitivos. Al parecer, los sumerios utilizaban el arte de la escritura secreta.

Los arqueólogos han encontrado varias tablillas cuneiformes de arcilla, en las que la primera entrada a menudo estaba cubierta con una gruesa capa de arcilla, sobre la que se realizaba la segunda entrada. La aparición de tablillas tan extrañas bien podría justificarse tanto por la escritura secreta como por el reciclaje. Dado que el número de caracteres en la escritura ideográfica ascendía a más de mil, memorizarlos era una tarea bastante difícil: no había tiempo para cifrarlos. Sin embargo, los códigos, que aparecieron al mismo tiempo que los diccionarios, eran muy familiares en Babilonia y el Estado asirio, y los antiguos egipcios utilizaban al menos tres sistemas de cifrado. Con el origen de la escritura fonética, la escritura inmediatamente se volvió más sencilla. En el antiguo alfabeto semítico del segundo milenio antes de Cristo sólo había unos 30 caracteres. Denotaban consonantes, así como algunos sonidos vocálicos y sílabas. La simplificación de la escritura condujo al desarrollo de la criptografía y el cifrado.

Incluso en los libros de la Biblia podemos encontrar ejemplos de cifrado, aunque casi nadie se da cuenta. En el libro del profeta Jeremías (22,23) leemos: “...y el rey de Sessach beberá después de ellos”. Este rey y este reino no existieron, ¿es realmente un error del autor? No, es solo que a veces los manuscritos judíos sagrados se cifraban utilizando el reemplazo habitual. En lugar de la primera letra del alfabeto, escribieron la última, en lugar de la segunda, la penúltima, y ​​así sucesivamente. Este antiguo método de criptografía se llama atbash. Al leer con su ayuda la palabra SESSAH, en el idioma original tenemos la palabra BABILONIA, y todo el significado del manuscrito bíblico puede ser entendido incluso por aquellos que no creen ciegamente en la verdad de las Escrituras.

1.2 La evolución de la criptografía El desarrollo de la criptografía en el siglo XX fue muy rápido, pero completamente desigual. Si analizamos la historia de su desarrollo como área específica de la actividad humana, podemos distinguir tres períodos fundamentales.

Elemental. Se ocupa únicamente de cifrados manuales. Comenzó en la antigüedad y terminó sólo a finales de los años treinta del siglo XX. Durante este tiempo, la escritura secreta ha recorrido un largo camino desde el arte mágico de los sacerdotes prehistóricos hasta la profesión cotidiana aplicada de los trabajadores de las agencias secretas.

El período posterior puede estar marcado por la creación y la introducción generalizada en la práctica de dispositivos de criptografía mecánicos, luego electromecánicos y, al final, electrónicos, y la creación de redes de comunicación cifradas completas.

Generalmente se considera que el nacimiento del tercer período en el desarrollo del cifrado es 1976, cuando los matemáticos estadounidenses Diffie y Hellman inventaron una forma fundamentalmente nueva de organizar las comunicaciones cifradas que no requería el suministro previo de claves secretas a los suscriptores: el llamado cifrado de clave pública. A raíz de esto, comenzaron a surgir sistemas de cifrado basados ​​en el método inventado allá por los años 40 por Shannon. Propuso crear un cifrado de tal manera que su descifrado equivaliera a resolver un problema matemático complejo que requería cálculos que excederían las capacidades de los sistemas informáticos modernos. Este período de desarrollo del cifrado se caracteriza por la aparición de sistemas de comunicación cifrados completamente automatizados, en los que cualquier usuario posee su contraseña personal para su verificación, la almacena, por ejemplo, en una tarjeta magnética o en otro lugar, y la presenta al autorizarse en el sistema. , y todo lo demás sucede automáticamente.

2. Criptoanálisis Existe una enorme brecha entre los métodos de cifrado manual y por computadora. Los cifrados manuales son muy variados y pueden resultar de lo más sorprendentes. Además, los mensajes que cifran son bastante concisos y breves. Por tanto, su piratería es mucho más eficaz por parte de personas que por máquinas. Los cifrados informáticos son más estereotipados, matemáticamente muy complejos y están diseñados para cifrar mensajes de una longitud bastante significativa. Por supuesto, ni siquiera deberías intentar solucionarlos manualmente. Sin embargo, también en este ámbito los criptoanalistas desempeñan un papel destacado, ya que son los comandantes del ataque criptográfico, a pesar de que la batalla en sí se libra únicamente entre el hardware y el software. La subestimación de este fenómeno condujo al fiasco de las máquinas de cifrado Enigma durante la Segunda Guerra Mundial.

Casi siempre se conocen el tipo de cifrado y el idioma del mensaje. Bien pueden ser sugeridos por el alfabeto y las características estadísticas de la criptografía. Sin embargo, la información sobre el idioma y el tipo de cifrado a menudo se obtiene de fuentes de inteligencia. Esta situación es un poco como romper una caja fuerte: incluso si el “ladrón” no conoce de antemano el diseño de la caja fuerte que está siendo pirateada, lo que parece bastante improbable, la identifica rápidamente por su apariencia, el logotipo de la empresa. En este sentido, lo desconocido es sólo la clave que hay que desentrañar. La dificultad radica en el hecho de que así como no todas las enfermedades se pueden curar con el mismo medicamento y cada una de ellas tiene sus propios medios específicos, los tipos específicos de cifrados sólo pueden descifrarse con sus propios métodos.

2.1 Características de los mensajes Los mensajes, por complejos que sean, son muy posibles de imaginar en forma de algún orden de símbolos. Estos símbolos deben tomarse de un conjunto prefijado, por ejemplo, del alfabeto ruso o de una paleta de colores (rojo, amarillo, verde). Pueden aparecer diferentes caracteres en los mensajes en diferentes frecuencias. En este sentido, la cantidad de información transmitida por diferentes símbolos puede ser diferente. En el entendimiento propuesto por Shannon, la cantidad de información está determinada por el valor promedio del número de preguntas posibles con opciones de respuesta SÍ y NO para predecir el carácter posterior del mensaje. Si los caracteres del texto están dispuestos en una secuencia independiente entre sí, entonces la cantidad promedio de información en dicho mensaje por carácter es igual a:

donde Pi es la frecuencia de aparición del signo i y Ld es el logaritmo binario. Cabe señalar tres fenómenos de esta distribución de información.

Es completamente independiente de la semántica, del significado del mensaje, y puede usarse incluso en una situación en la que el significado exacto no está del todo claro. Implica que la probabilidad de manifestación de los símbolos no depende de su historia preliminar.

Se conoce de antemano el sistema simbólico en el que se transmite el mensaje, es decir, el idioma y el método de cifrado.

¿En qué unidades se mide el volumen de información según Shannon? La respuesta más precisa a esta pregunta la puede dar el teorema de cifrado, que establece que cualquier mensaje se puede cifrar con los símbolos 0 y 1 de tal manera que el volumen de información resultante será arbitrariamente cercano desde arriba a H. Este teorema nos permite especificar la unidad de información: esto es un bit.

2.2 Propiedades del texto natural Consideremos ahora visualmente una forma de aplicar el conocimiento de las propiedades del texto natural para las necesidades de cifrado. Es necesario determinar a partir de un fragmento de texto qué es: un mensaje que lleva una carga semántica o simplemente una secuencia de caracteres aleatorios. Varios métodos de criptografía deben descifrarse en una computadora mediante una búsqueda banal de claves, pero probar manualmente más de mil fragmentos de texto al día es simplemente imposible y la velocidad de búsqueda es muy baja. En este sentido, es necesario realizar dicha tarea utilizando una computadora.

Digamos que tenemos que clasificar aproximadamente mil millones de claves en una computadora a una velocidad de mil claves por segundo. Esto nos llevará aproximadamente diez días. En este caso, corremos el riesgo de caer en dos extremos. Si somos demasiado cuidadosos en nuestras evaluaciones, algunos de los fragmentos de texto sin sentido serán identificados como mensajes y devueltos a la persona. Este error suele denominarse “falsa alarma” o error de tipo I.

Cuando el volumen de este tipo de errores supera los mil por día, una persona sentada frente a una computadora se cansa y posteriormente puede revisar fragmentos de texto sin prestar atención. Esto significa que no se puede cometer más de un error de este tipo por cada 100.000 controles. En el otro extremo, si se acerca a la verificación sin prestar atención, es muy posible que se pierda un texto significativo y al final de la búsqueda completa tendrá que repetirla nuevamente. Para no correr el riesgo de tener que repetir todo el trabajo, los errores del segundo tipo, también llamados “omisiones de fragmento”, sólo pueden cometerse en un caso entre 100 o 1000.

2.3 Criterios para determinar la naturalidad El criterio más sencillo que se nos ocurre a primera vista es el uso del alfabeto del fragmento del mensaje. Teniendo en cuenta que en teoría sólo se pueden encontrar signos de puntuación, números y letras rusas mayúsculas y minúsculas, en el texto de un fragmento de mensaje no se puede encontrar más de la mitad del conjunto de la tabla de códigos ASCII.

Esto significa que si encuentra un signo inaceptable en un fragmento de texto, la computadora definitivamente puede declarar que no tiene sentido; los errores del segundo tipo están prácticamente excluidos si el canal de comunicación funciona bien.

Para reducir la posibilidad teórica de “falsas alarmas” al valor indicado en el artículo anterior, necesitamos que el fragmento del mensaje tenga al menos veintitrés caracteres. La cuestión se complica si el código de letras utilizado no es redundante, como la representación ASCII del texto ruso, sino que contiene exactamente tantos caracteres como el alfabeto.

En este caso, tendremos que introducir una valoración basada en las posibilidades teóricas de los personajes que aparecen en el texto. Para garantizar las posibilidades aceptadas de errores del primer y segundo tipo, al evaluar la máxima probabilidad posible, es necesario analizar unos 100 caracteres, y el análisis de la posibilidad de encontrar bigramas reduce solo ligeramente este valor.

Por lo tanto, los fragmentos cortos de mensajes con un valor clave grande son prácticamente imposibles de decodificar sin ambigüedades, ya que los fragmentos aleatorios de texto que aparecen pueden coincidir con frases significativas. El mismo problema debe resolverse al controlar la calidad de la criptografía. En este caso, sin embargo, se puede aumentar la posibilidad de una falsa alarma haciéndola no más de una milésima, con la misma posibilidad de ignorar un fragmento del mensaje. Esto nos permitirá limitarnos a comprobar textos de sólo veinte o treinta caracteres.

3. Cifrado simétrico Los criptosistemas simétricos (también cifrado simétrico, cifrados simétricos) son un método de cifrado en el que se utiliza la misma clave criptográfica para el cifrado y descifrado. Antes de la invención del esquema de cifrado asimétrico, el único método que existía era el cifrado simétrico. Ambas partes deben mantener en secreto la clave del algoritmo. El algoritmo de cifrado lo seleccionan las partes antes de que comience el intercambio de mensajes.

Actualmente, los cifrados simétricos son:

Cifrados en bloque. Procesan información en bloques de cierta longitud (normalmente 64 o 128 bits), aplicando una clave al bloque en un orden prescrito, normalmente a través de varios ciclos de mezcla y sustitución, llamados rondas. El resultado de repetir rondas es un efecto de avalancha: una pérdida creciente de correspondencia de bits entre bloques de datos simples y cifrados.

Cifrados de flujo, en los que el cifrado se realiza sobre cada bit o byte del texto original (sin formato) mediante gamma. Se puede crear fácilmente un cifrado de flujo basado en un cifrado de bloque (por ejemplo, GOST 28 147-89 en modo gamma), iniciado en un modo especial.

La mayoría de los cifrados simétricos utilizan una combinación compleja de una gran cantidad de sustituciones y permutaciones. Muchos de estos cifrados se ejecutan en varios pases (a veces hasta 80), utilizando una "clave de paso" en cada paso. El conjunto de "claves de paso" para todos los pases se denomina "horario de claves". Como regla general, se crea a partir de una clave realizando ciertas operaciones en ella, incluidas permutaciones y sustituciones.

Una forma típica de construir algoritmos de cifrado simétrico es la red Feistel. El algoritmo construye un esquema de cifrado basado en la función F (D, K), donde D es un dato de la mitad del tamaño del bloque de cifrado y K es la "clave de paso" para un pase determinado. No es necesario que una función sea invertible; es posible que no se conozca su función inversa. Las ventajas de la red Feistel son la coincidencia casi completa del descifrado con el cifrado (la única diferencia es el orden inverso de las "claves de acceso" en el cronograma), lo que facilita enormemente la implementación del hardware.

La operación de permutación mezcla los bits del mensaje según una ley determinada. En implementaciones de hardware, se implementa trivialmente como inversión de cables. Son las operaciones de permutación las que permiten lograr el "efecto avalancha". La operación de permutación es lineal: f (a) xor f (b) == f (a xor b)

Las operaciones de sustitución se realizan reemplazando el valor de alguna parte del mensaje (a menudo 4, 6 u 8 bits) con un número estándar cableado en el algoritmo accediendo a una matriz constante. La operación de sustitución introduce no linealidad en el algoritmo.

A menudo, la solidez de un algoritmo, especialmente frente al criptoanálisis diferencial, depende de la elección de los valores en las tablas de búsqueda (cuadros S). Como mínimo, se considera indeseable tener elementos fijos S (x) = x, así como la ausencia de influencia de algún bit del byte de entrada en algún bit del resultado, es decir, casos en los que el bit de resultado es el Lo mismo para todos los pares de palabras de entrada que difieren sólo en este murciélago.

Figura 1. Tipos de claves

4. Cifrado asimétrico Un sistema criptográfico de clave pública (o cifrado asimétrico, cifrado asimétrico) es un sistema de cifrado y/o firma digital electrónica en el que la clave pública se transmite a través de un canal abierto (es decir, desprotegido, observable) y se utiliza para verificar la firma digital y cifrar el mensaje. Se utiliza una clave secreta para generar la firma digital y descifrar el mensaje. Los sistemas criptográficos de clave pública se utilizan ahora ampliamente en varios protocolos de red, en particular en los protocolos TLS y su predecesor SSL (que subyace a HTTPS), en SSH.

La idea de criptografía de clave pública está muy relacionada con la idea de funciones unidireccionales, es decir, funciones en las que se sabe que es bastante fácil encontrar el valor, mientras que es imposible determinarlo en un tiempo razonable.

Pero la función unidireccional en sí es inútil: puede cifrar un mensaje, pero no puede descifrarlo. Por lo tanto, la criptografía de clave pública utiliza funciones unidireccionales con una puerta trasera. Una laguna jurídica es una especie de secreto que ayuda a descifrar. Es decir, hay uno que, conociendo y, se puede calcular. Por ejemplo, si desmontas un reloj en muchos componentes, es muy difícil volver a montarlo.

El siguiente ejemplo ayuda a comprender las ideas y métodos de la criptografía de clave pública: almacenar contraseñas en una computadora. Cada usuario de la red tiene su propia contraseña. Al iniciar sesión, especifica su nombre e ingresa una contraseña secreta. Pero si almacena una contraseña en el disco de una computadora, alguien podrá leerla (esto es especialmente fácil para el administrador de esta computadora) y obtener acceso a información secreta. Para resolver el problema se utiliza una función unidireccional. Al crear una contraseña secreta, no es la contraseña en sí la que se almacena en la computadora, sino el resultado del cálculo de una función de esta contraseña y nombre de usuario. Por ejemplo, a la usuaria Alice se le ocurrió la contraseña "Gladiolus". Al guardar estos datos se calcula el resultado de la función (GLADIOlus), deja que el resultado sea la cadena MANZANILLA, la cual se guardará en el sistema. Como resultado, el archivo de contraseña se verá así:

Iniciar sesión ahora se ve así:

Cuando Alice ingresa la contraseña "secreta", la computadora verifica si la función aplicada a GLADIOLUS produce el resultado correcto CHAMOMILE almacenado en el disco de la computadora. Vale la pena cambiar al menos una letra del nombre o contraseña, y el resultado de la función será completamente diferente. La contraseña "secreta" no se almacena en la computadora de ninguna forma. El archivo de contraseñas ahora puede ser visto por otros usuarios sin perder su privacidad, ya que la función es prácticamente irreversible.

El ejemplo anterior utiliza una función unidireccional sin puerta trasera, ya que no es necesario recuperar el mensaje original del mensaje cifrado. El siguiente ejemplo examina un esquema con la capacidad de restaurar el mensaje original utilizando una “trampilla”, es decir, información de difícil acceso. Para cifrar texto, puede tomar un directorio de suscriptores grande, que consta de varios volúmenes gruesos (es muy fácil encontrar el número de cualquier residente de la ciudad que lo use, pero es casi imposible encontrar un suscriptor usando un número conocido). Para cada letra del mensaje cifrado, se selecciona un nombre que comienza con la misma letra. Así, la letra se asigna al número de teléfono del suscriptor. El mensaje que se envía, por ejemplo "BOX", se cifrará de la siguiente manera:

Mensaje

Nombre seleccionado

criptotexto

kirsanova

Arseniev

El criptotexto será una cadena de números escritos en el orden en que fueron seleccionados en el directorio. Para dificultar la decodificación, debes elegir nombres aleatorios que comiencen con la letra deseada. Por tanto, el mensaje original puede cifrarse mediante muchas listas diferentes de números (criptotextos).

Ejemplos de tales criptotextos:

Criptotexto 1

Criptotexto 2

Criptotexto 3

Para descifrar el texto, es necesario tener un libro de referencia compilado en números ascendentes. Este directorio es una puerta trasera (un secreto que ayuda a obtener el texto inicial) conocida sólo por los usuarios legales. Sin una copia del directorio en la mano, el criptoanalista dedicará mucho tiempo a descifrarlo.

Esquema de cifrado de clave pública. Sea el espacio de claves y las claves de cifrado y descifrado, respectivamente. -- función de cifrado para una clave arbitraria tal que:

Aquí, ¿dónde está el espacio de texto cifrado y dónde está el espacio de mensaje?

Función de descifrado, con la que podrás encontrar el mensaje original, conociendo el texto cifrado:

(: ) es el conjunto de cifrado y (: ) es el conjunto de descifrado correspondiente. Cada par tiene la propiedad: sabiendo que es imposible resolver la ecuación, es decir, para un texto cifrado arbitrario dado, es imposible encontrar el mensaje. Esto significa que es imposible determinar la clave de descifrado correspondiente a partir de estos datos. es una función unidireccional y es una laguna jurídica.

A continuación se muestra un diagrama de la transferencia de información de la persona A a la persona B. Pueden ser individuos u organizaciones, etc. Pero para una percepción más fácil, es costumbre identificar a los participantes del programa con personas a las que a menudo se hace referencia como Alice y Bob. El participante que busca interceptar y descifrar los mensajes de Alice y Bob suele llamarse Eve.

Figura 2. Cifrado asimétrico Bob selecciona un par y envía la clave de cifrado (clave pública) a Alice a través de un canal público, pero la clave de descifrado (clave privada) está protegida y es secreta (no debe enviarse a través de un canal público).

Para enviar un mensaje a Bob, Alice utiliza la función de cifrado definida por la clave pública:, -- el texto cifrado resultante.

Bob descifra el texto cifrado utilizando la transformación inversa exclusiva del valor.

Antecedentes científicos Los cifrados asimétricos comenzaron con el trabajo New Directions in Modern Cryptography de Whitfield Diffie y Martin Hellman, publicado en 1976. Influenciados por el trabajo de Ralph Merkle sobre la distribución de claves públicas, propusieron un método para obtener claves privadas utilizando un canal público. Este método de intercambio de claves exponencial, que se conoció como intercambio de claves Diffie-Hellman, fue el primer método práctico publicado para establecer el intercambio de claves secretas entre usuarios autenticados de un canal. En 2002, Hellman propuso llamar a este algoritmo "Diffie-Hellman-Merkle", reconociendo la contribución de Merkle a la invención de la criptografía de clave pública. Malcolm Williamson desarrolló el mismo plan en la década de 1970, pero se mantuvo en secreto hasta 1997. El método de distribución de claves públicas de Merkle se inventó en 1974 y se publicó en 1978, también llamado rompecabezas de Merkle.

En 1977, los científicos Ronald Rivest, Adi Shamir y Leonard Adleman del Instituto Tecnológico de Massachusetts desarrollaron un algoritmo de cifrado basado en el problema de factorización. El sistema lleva el nombre de las primeras letras de sus apellidos (RSA - Rivest, Shamir, Adleman). El mismo sistema fue inventado en 1973 por Clifford Cox, que trabajaba en el Centro de Comunicaciones del Gobierno (GCHQ), pero este trabajo se conservó únicamente en los documentos internos del centro, por lo que no se conoció su existencia hasta 1977. RSA fue el primer algoritmo adecuado tanto para cifrado como para firma digital.

En general, la base de los criptosistemas asimétricos conocidos es uno de los problemas matemáticos complejos, que permite la construcción de funciones unidireccionales y funciones de trampilla. Por ejemplo, los criptosistemas Merkle-Hellman y Hoare-Rivest se basan en el llamado problema del embalaje de la mochila.

Principios básicos para la construcción de criptosistemas de clave pública Comencemos con una tarea difícil. Debería resolverse de forma compleja en el sentido teórico: no debería haber ningún algoritmo con el que se pudieran analizar todas las opciones para resolver el problema en tiempo polinómico en relación con el tamaño del problema. Sería más correcto decir: no debería existir un algoritmo polinomial conocido que resuelva este problema, ya que todavía no se ha demostrado para ningún problema que, en principio, no exista un algoritmo adecuado para él.

Puede seleccionar una subtarea sencilla. Se debe resolver en tiempo polinómico y mejor si en tiempo lineal.

“Mezcla y agita” para obtener un problema completamente diferente al original. El problema debería al menos parecer un problema original difícil de resolver.

Se abre con una descripción de cómo se puede utilizar como clave de cifrado. Cómo conseguirlo se mantiene en secreto como una laguna secreta.

El criptosistema está organizado de tal manera que los algoritmos de descifrado para un usuario legal y un criptoanalista son significativamente diferentes. Mientras que el segundo resuelve el problema, el primero utiliza una laguna secreta y resuelve el problema.

Criptografía de clave pública múltiple El siguiente ejemplo muestra un esquema en el que Alice cifra un mensaje para que solo Bob pueda leerlo y, a la inversa, Bob cifra un mensaje para que solo Alice pueda descifrarlo.

Que haya 3 claves distribuidas como se muestra en la tabla.

clave de cifrado de criptografía simétrica

Entonces Alice puede cifrar el mensaje con la clave y Ellen puede descifrarlo con las claves, Carol puede cifrarlo con la clave y Dave puede descifrarlo con las claves. Si Dave cifra el mensaje con la clave, entonces Ellen puede leer el mensaje, si tiene la clave, entonces Frank puede leerlo, y si tiene ambas claves y, entonces Carol leerá el mensaje. Otros participantes actúan de manera similar. Por lo tanto, si se utiliza un subconjunto de claves para el cifrado, entonces se requieren las claves restantes del conjunto para el descifrado. Este esquema se puede utilizar para n claves.

Ahora puedes enviar mensajes a grupos de agentes sin conocer de antemano la composición del grupo.

Consideremos primero un conjunto formado por tres agentes: Alice, Bob y Carol. Alice recibe las llaves y Bob... y Carol... y. Ahora, si el mensaje que se envía está cifrado con una clave, solo Alice puede leerlo, usando secuencialmente las claves y. Si desea enviar un mensaje a Bob, el mensaje se cifra con una clave, Carol, con una clave. Si necesita enviar un mensaje tanto a Alice como a Carol, entonces las claves y se utilizan para el cifrado.

La ventaja de este esquema es que requiere solo un mensaje y n claves (en un esquema con n agentes). Si se transmiten mensajes individuales, es decir, se utilizan claves separadas para cada agente (un total de n claves) y cada mensaje, entonces se requieren claves para transmitir mensajes a todos los subconjuntos diferentes.

La desventaja de este esquema es que también es necesario transmitir un subconjunto de agentes (la lista de nombres puede ser impresionante) a los que se debe transmitir el mensaje. De lo contrario, cada uno de ellos tendrá que probar todas las combinaciones de teclas en busca de la adecuada. Los agentes también tendrán que almacenar una cantidad considerable de información sobre las claves.

Criptoanálisis de algoritmos de clave pública Parecería que un criptosistema de clave pública es un sistema ideal que no requiere un canal seguro para transmitir la clave de cifrado. Esto implicaría que dos usuarios legítimos podrían comunicarse a través de un canal abierto sin reunirse para intercambiar claves. Lamentablemente, este no es el caso. La figura ilustra cómo Eve, actuando como una espía activa, puede secuestrar un sistema (descifrar un mensaje destinado a Bob) sin romper el sistema de cifrado.

Figura 3. Criptosistema de clave pública con espía activo En este modelo, Eve intercepta la clave pública enviada por Bob a Alice. Luego crea un par de claves y se “disfraza” de Bob, enviando a Alice una clave pública que Alice cree que es la clave pública que le envió Bob. Eve intercepta mensajes cifrados de Alice a Bob, los descifra utilizando la clave privada, los vuelve a cifrar con la clave pública de Bob y envía el mensaje a Bob. Así, ninguno de los participantes se da cuenta de que existe un tercero que puede simplemente interceptar el mensaje o sustituirlo por un mensaje falso. Esto resalta la necesidad de autenticación de clave pública. Para ello se suelen utilizar certificados. La gestión distribuida de claves en PGP resuelve este problema con la ayuda de garantes.

Otra forma de ataque es calcular la clave privada conociendo la clave pública (figura siguiente). Un criptoanalista conoce el algoritmo de cifrado, lo analiza y trata de encontrarlo. Este proceso se simplifica si el criptoanalista ha interceptado varios criptotextos enviados por la persona A a la persona B.

Figura 4. Criptosistema asimétrico con escucha pasiva.

La mayoría de los criptosistemas de clave pública se basan en el problema de factorizar números grandes. Por ejemplo, RSA utiliza el producto de dos números grandes como clave pública n. La dificultad de descifrar dicho algoritmo radica en la dificultad de factorizar el número n. Pero este problema se puede resolver de manera realista. Y cada año el proceso de descomposición se vuelve cada vez más rápido. A continuación se muestran los datos de factorización utilizando el algoritmo Quadratic Sieve.

Además, el problema de la descomposición puede resolverse potencialmente utilizando el algoritmo de Shor utilizando una computadora cuántica suficientemente potente.

Para muchos métodos de cifrado asimétrico, la fuerza criptográfica obtenida como resultado del criptoanálisis difiere significativamente de los valores afirmados por los desarrolladores de algoritmos basándose en estimaciones teóricas. Por lo tanto, en muchos países la cuestión del uso de algoritmos de cifrado de datos está sujeta a regulación legislativa. En particular, en Rusia, sólo se permite el uso en organizaciones gubernamentales y comerciales de software de cifrado de datos que haya pasado la certificación estatal por parte de órganos administrativos, en particular el FSB.

Conclusión En el transcurso del trabajo en el tema elegido como parte de la práctica educativa, realicé: una revisión de la historia del desarrollo de la criptografía y el criptoanálisis; revisión analítica de los tipos existentes de algoritmos criptográficos (se consideran cifrados simétricos y asimétricos) y métodos para evaluar su solidez. Espero que el desarrollo de la criptografía sólo beneficie a la humanidad.

Referencias Gatchin Yu., Korobeinikov A. G. Fundamentos de algoritmos criptográficos. Guía de estudio. - San Petersburgo: SPbGITMO (TU), 2002.

Kohn P. Álgebra universal. — M.: Mir. — 1968

Korobeinikov A.G. Fundamentos matemáticos de la criptografía. Guía de estudio. San Petersburgo: San Petersburgo GITMO (TU), 2002.

Schneier B. Criptografía aplicada. Protocolos, algoritmos, textos fuente en lenguaje C = Criptografía Aplicada. Protocolos, Algoritmos y Código Fuente en C. - M.: Triumph, 2002.

El cifrado de datos es extremadamente importante para proteger la privacidad. En este artículo, analizaré los diferentes tipos y métodos de cifrado que se utilizan en la actualidad para proteger los datos.

¿Sabías?
En la época romana, Julio César utilizaba el cifrado para hacer que las cartas y los mensajes fueran ilegibles para el enemigo. Desempeñó un papel importante como táctica militar, especialmente durante las guerras.

A medida que las capacidades de Internet continúan creciendo, cada vez más de nuestros negocios se realizan en línea. Entre ellos, los más importantes son la banca por Internet, el pago en línea, el correo electrónico, el intercambio de mensajes privados y oficiales, etc., que implican el intercambio de datos e información confidencial. Si estos datos caen en las manos equivocadas, pueden dañar no sólo al usuario individual, sino también a todo el sistema empresarial online.

Para evitar que esto suceda, se han tomado varias medidas de seguridad de la red para proteger la transmisión de datos personales. Los principales son los procesos de cifrado y descifrado de datos, lo que se conoce como criptografía. Hay tres métodos de cifrado principales que se utilizan en la mayoría de los sistemas actuales: hash, cifrado simétrico y asimétrico. En las siguientes líneas hablaré con más detalle de cada uno de estos tipos de cifrado.

Tipos de cifrado

Cifrado simétrico

En el cifrado simétrico, los datos legibles normales, conocidos como texto sin formato, se cifran para que se vuelvan ilegibles. Esta codificación de datos se realiza mediante una clave. Una vez que los datos están cifrados, se pueden enviar de forma segura al receptor. En el destinatario, los datos cifrados se decodifican utilizando la misma clave que se utilizó para la codificación.

Por tanto, está claro que la clave es la parte más importante del cifrado simétrico. Debe estar oculto a los extraños, ya que cualquiera que tenga acceso a él podrá descifrar datos privados. Por eso este tipo de cifrado también se conoce como "clave secreta".

En los sistemas modernos, la clave suele ser una cadena de datos que se deriva de una contraseña segura o de una fuente completamente aleatoria. Se introduce en un software de cifrado simétrico, que lo utiliza para mantener en secreto los datos de entrada. La codificación de datos se logra mediante un algoritmo de cifrado simétrico, como el Estándar de cifrado de datos (DES), el Estándar de cifrado avanzado (AES) o el Algoritmo internacional de cifrado de datos (IDEA).

Restricciones

El eslabón más débil de este tipo de cifrado es la seguridad de la clave, tanto en términos de almacenamiento como de transmisión al usuario autenticado. Si un pirata informático puede obtener esta clave, puede descifrar fácilmente los datos cifrados, frustrando todo el propósito del cifrado.

Otra desventaja es que el software que procesa los datos no puede funcionar con datos cifrados. Por lo tanto, para poder utilizar este software, primero se deben decodificar los datos. Si el software en sí se ve comprometido, un atacante puede obtener los datos fácilmente.

Cifrado asimétrico

El cifrado de clave asimétrica funciona de manera similar al de clave simétrica en el sentido de que utiliza una clave para cifrar los mensajes que se transmiten. Sin embargo, en lugar de utilizar la misma clave, utiliza una completamente diferente para descifrar este mensaje.

La clave utilizada para la codificación está disponible para todos los usuarios de la red. Como tal, se la conoce como clave "pública". Por otro lado, la clave utilizada para el descifrado se mantiene secreta y está destinada al uso privado del propio usuario. De ahí que se la conozca como clave "privada". El cifrado asimétrico también se conoce como cifrado de clave pública.

Dado que, con este método, la clave secreta necesaria para descifrar el mensaje no tiene que transmitirse cada vez y, por lo general, sólo la conoce el usuario (receptor), la probabilidad de que un pirata informático pueda descifrar el mensaje es mucho mayor. más bajo.

Diffie-Hellman y RSA son ejemplos de algoritmos que utilizan cifrado de clave pública.

Restricciones

Muchos piratas informáticos utilizan el intermediario como forma de ataque para evitar este tipo de cifrado. En el cifrado asimétrico, se le proporciona una clave pública que se utiliza para intercambiar datos de forma segura con otra persona o servicio. Sin embargo, los piratas informáticos utilizan el engaño de la red para engañarlo y lograr que se comunique con ellos mientras le hacen creer que está en una línea segura.

Para comprender mejor este tipo de piratería, considere dos partes que interactúan, Sasha y Natasha, y un hacker, Sergei, con la intención de interceptar su conversación. Primero, Sasha envía un mensaje a través de la red destinado a Natasha, pidiéndole su clave pública. Sergei intercepta este mensaje y obtiene la clave pública asociada con ella y la usa para cifrar y enviar un mensaje falso a Natasha que contiene su clave pública en lugar de la de Sasha.

Natasha, pensando que este mensaje vino de Sasha, ahora lo cifra con la clave pública de Sergei y lo devuelve. Este mensaje fue nuevamente interceptado por Sergei, descifrado, modificado (si se desea), cifrado nuevamente usando la clave pública que Sasha envió originalmente y devuelto a Sasha.

Por lo tanto, cuando Sasha recibe este mensaje, le han hecho creer que proviene de Natasha y no se da cuenta de que se ha cometido un crimen.

hash

La técnica de hash utiliza un algoritmo conocido como función hash para generar una cadena especial a partir de los datos dados, conocida como hash. Este hash tiene las siguientes propiedades:

  • los mismos datos siempre producen el mismo hash.
  • No es posible generar datos sin procesar únicamente a partir de un hash.
  • No es práctico probar diferentes combinaciones de entradas para intentar generar el mismo hash.

Por lo tanto, la principal diferencia entre el hash y las otras dos formas de cifrado de datos es que una vez que los datos se cifran (hash), no se pueden recuperar en su forma original (descifrados). Este hecho garantiza que incluso si un hacker consigue el hash, no le servirá de nada, ya que no podrá descifrar el contenido del mensaje.

Message Digest 5 (MD5) y Secure Hashing Algorithm (SHA) son dos algoritmos de hash ampliamente utilizados.

Restricciones

Como se mencionó anteriormente, es casi imposible descifrar datos de un hash determinado. Sin embargo, esto sólo es cierto si se implementa un hash fuerte. En el caso de una implementación débil de la técnica de hash, utilizando suficientes recursos y ataques de fuerza bruta, un hacker persistente puede encontrar datos que coincidan con el hash.

Combinación de métodos de cifrado

Como se analizó anteriormente, cada uno de estos tres métodos de cifrado tiene algunas desventajas. Sin embargo, cuando se utiliza una combinación de estos métodos, forman un sistema de cifrado seguro y muy eficaz.

Muy a menudo, las técnicas de clave pública y privada se combinan y utilizan juntas. El método de clave privada permite un descifrado rápido, mientras que el método de clave pública ofrece una forma más segura y conveniente de transmitir la clave secreta. Esta combinación de métodos se conoce como "sobre digital". El software de cifrado de correo electrónico PGP se basa en la técnica del "sobre digital".

El hash se utiliza como medio para comprobar la seguridad de una contraseña. Si el sistema almacena un hash de la contraseña en lugar de la contraseña en sí, será más seguro, ya que incluso si un hacker consigue este hash, no podrá entenderlo (leerlo). Durante la verificación, el sistema verificará el hash de la contraseña entrante y verá si el resultado coincide con lo almacenado. De esta manera, la contraseña real sólo será visible durante breves momentos en los que sea necesario cambiarla o verificarla, lo que reduce en gran medida la probabilidad de que caiga en las manos equivocadas.

El hashing también se utiliza para autenticar datos mediante una clave secreta. Se genera un hash utilizando los datos y esta clave. Por lo tanto, sólo los datos y el hash son visibles y la clave en sí no se transmite. De esta manera, si se realizan cambios en los datos o en el hash, se detectarán fácilmente.

En conclusión, estas técnicas se pueden utilizar para codificar datos de manera eficiente en un formato ilegible que pueda garantizar su seguridad. La mayoría de los sistemas modernos suelen utilizar una combinación de estos métodos de cifrado junto con implementaciones de algoritmos sólidos para mejorar la seguridad. Además de la seguridad, estos sistemas también aportan muchos beneficios adicionales, como verificar la identidad del usuario y garantizar que los datos recibidos no puedan ser manipulados.

Serguéi Panasenko,
Jefe del departamento de desarrollo de software de Ankad,
[correo electrónico protegido]

Conceptos básicos

El proceso de convertir datos abiertos en datos cifrados y viceversa suele denominarse cifrado, y los dos componentes de este proceso se denominan cifrado y descifrado, respectivamente. Matemáticamente, esta transformación está representada por las siguientes dependencias que describen acciones con la información original:

C = Ek1(M)

M" = Dk2(C),

donde M (mensaje) es información abierta (en la literatura sobre seguridad de la información a menudo se le llama "texto fuente");
C (texto cifrado): texto cifrado (o criptograma) obtenido como resultado del cifrado;
E (cifrado): función de cifrado que realiza transformaciones criptográficas en el texto fuente;
k1 (clave): parámetro de la función E, llamado clave de cifrado;
M" - información obtenida como resultado del descifrado;
D (descifrado): función de descifrado que realiza transformaciones criptográficas inversas en el texto cifrado;
k2 es la clave utilizada para descifrar información.

El concepto de "clave" en el estándar GOST 28147-89 (algoritmo de cifrado simétrico) se define de la siguiente manera: "un estado secreto específico de algunos parámetros de un algoritmo de transformación criptográfica, que garantiza la selección de una transformación de un conjunto de posibles transformaciones para un algoritmo dado”. En otras palabras, la clave es un elemento único con el que se pueden cambiar los resultados del algoritmo de cifrado: el mismo texto fuente se cifrará de forma diferente cuando se utilicen claves diferentes.

Para que el resultado del descifrado coincida con el mensaje original (es decir, para M" = M), se deben cumplir dos condiciones simultáneamente. Primero, la función de descifrado D debe coincidir con la función de cifrado E. En segundo lugar, la clave de descifrado k2 debe coincidir con el cifrado. clave k1.

Si se utilizó un algoritmo de cifrado criptográficamente fuerte para el cifrado, entonces, en ausencia de la clave k2 correcta, es imposible obtener M" = M. La fuerza criptográfica es la característica principal de los algoritmos de cifrado y, en primer lugar, indica el grado de complejidad de obtener el original. texto de un texto cifrado sin clave k2.

Los algoritmos de cifrado se pueden dividir en dos categorías: cifrado simétrico y asimétrico. Para el primero, la proporción de claves de cifrado y descifrado se define como k1 = k2 = k (es decir, las funciones E y D utilizan la misma clave de cifrado). Con el cifrado asimétrico, la clave de cifrado k1 se calcula a partir de la clave k2 de tal manera que la transformación inversa es imposible, por ejemplo, usando la fórmula k1 = ak2 mod p (ayp son los parámetros del algoritmo utilizado).

Cifrado simétrico

Los algoritmos de cifrado simétrico se remontan a la antigüedad: fue este método de ocultar información el que utilizó el emperador romano Cayo Julio César en el siglo I a.C. e., y el algoritmo que inventó se conoce como “criptosistema César”.

Actualmente, el algoritmo de cifrado simétrico más conocido es el DES (Data Encryption Standard), desarrollado en 1977. Hasta hace poco era el “estándar estadounidense”, ya que el gobierno de este país recomendaba su uso para implementar diversos sistemas de cifrado de datos. A pesar de que originalmente se planeó que DES se usara por no más de 10 a 15 años, los intentos de reemplazarlo comenzaron solo en 1997.

No consideraremos DES en detalle (casi todos los libros de la lista de materiales adicionales tienen una descripción detallada del mismo), pero recurriremos a algoritmos de cifrado más modernos. Solo vale la pena señalar que la razón principal para cambiar el estándar de cifrado es su fuerza criptográfica relativamente débil, la razón es que la longitud de la clave DES es de solo 56 bits significativos. Se sabe que cualquier algoritmo de cifrado potente puede descifrarse probando todas las claves de cifrado posibles (el llamado ataque de fuerza bruta). Es fácil calcular que un grupo de 1 millón de procesadores, cada uno de los cuales calcula 1 millón de claves por segundo, comprobará 256 opciones de claves DES en casi 20 horas y dado que dicha potencia informática es bastante realista para los estándares actuales, está claro que. una clave de 56 bits es demasiado corta y el algoritmo DES debe sustituirse por uno más potente.

Hoy en día, se utilizan cada vez más dos algoritmos de cifrado potentes y modernos: el estándar nacional GOST 28147-89 y el nuevo estándar criptográfico estadounidense: AES (Estándar de cifrado avanzado).

Estándar GOST 28147-89

El algoritmo definido por GOST 28147-89 (Fig. 1) tiene una longitud de clave de cifrado de 256 bits. Cifra información en bloques de 64 bits (tales algoritmos se denominan algoritmos de bloques), que luego se dividen en dos subbloques de 32 bits (N1 y N2). El subbloque N1 se procesa de cierta manera, después de lo cual su valor se suma con el valor del subbloque N2 (la suma se realiza en módulo 2, es decir, se aplica la operación XOR lógica - "exclusivo o"), y luego los subbloques se intercambian. Esta transformación se realiza un determinado número de veces (“rondas”): 16 o 32, según el modo de funcionamiento del algoritmo. En cada ronda se realizan dos operaciones.

El primero es clave. El contenido del subbloque N1 se suma módulo 2 con la parte de 32 bits de la clave Kx. La clave de cifrado completa se representa como una concatenación de subclaves de 32 bits: K0, K1, K2, K3, K4, K5, K6, K7. Durante el proceso de cifrado se utiliza una de estas subclaves, dependiendo del número redondo y del modo de funcionamiento del algoritmo.

La segunda operación es el reemplazo de la mesa. Después de la codificación, el subbloque N1 se divide en 8 partes de 4 bits, cuyo valor se reemplaza de acuerdo con la tabla de reemplazo para esta parte del subbloque. A continuación, el subbloque se gira 11 bits hacia la izquierda.

Sustituciones de mesa(Caja de sustitución - S-box) se utilizan a menudo en los algoritmos de cifrado modernos, por lo que vale la pena explicar cómo se organiza dicha operación.

Los valores de salida de los bloques se registran en la tabla. Un bloque de datos de una determinada dimensión (en nuestro caso, 4 bits) tiene su propia representación numérica, que determina el número del valor de salida. Por ejemplo, si el S-box parece 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 y el bloque de 4 bits "0100" llegó a la entrada (valor 4), entonces, según la tabla, el valor de salida será 15, es decir “1111” (0 a 4, 1 a 11, 2 a 2...).

El algoritmo, definido por GOST 28147-89, proporciona cuatro modos de operación: reemplazo simple, gamma, gamma con retroalimentación y generación de archivos adjuntos de imitación. Utilizan la misma transformación de cifrado descrita anteriormente, pero como la finalidad de los modos es diferente, esta transformación se realiza de forma diferente en cada uno de ellos. en modo fácil reemplazo

Para cifrar cada bloque de información de 64 bits se realizan las 32 rondas descritas anteriormente. En este caso, las subclaves de 32 bits se utilizan en la siguiente secuencia:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, etc. - en las rondas 1 a 24;

El descifrado en este modo se realiza exactamente de la misma manera, pero con una secuencia ligeramente diferente de uso de subclaves:

K0, K1, K2, K3, K4, K5, K6, K7 - en las rondas 1 a 8;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, etc. - en las rondas 9 a 32.

Todos los bloques se cifran independientemente unos de otros, es decir, el resultado del cifrado de cada bloque depende únicamente de su contenido (el bloque correspondiente del texto original). Si hay varios bloques idénticos de texto original (sin formato), los bloques de texto cifrado correspondientes también serán idénticos, lo que proporciona información adicional útil para un criptoanalista que intenta descifrar el cifrado. Por lo tanto, este modo se utiliza principalmente para cifrar las claves de cifrado (muy a menudo se implementan esquemas de claves múltiples en los que, por diversas razones, las claves se cifran entre sí). Otros dos modos de funcionamiento están destinados a cifrar la información misma: gamma y gamma con retroalimentación.

EN modo gamma Cada bloque de texto sin formato se agrega bit a bit módulo 2 a un bloque gamma de cifrado de 64 bits. El cifrado gamma es una secuencia especial que se obtiene como resultado de determinadas operaciones con los registros N1 y N2 (ver Fig. 1).

1. Su llenado inicial se escribe en los registros N1 y N2, un valor de 64 bits llamado mensaje de sincronización.

2. El contenido de los registros N1 y N2 (en este caso, mensajes de sincronización) se cifra en modo de reemplazo simple.

3. El contenido del registro N1 se suma módulo (232 - 1) con la constante C1 = 224 + 216 + 28 + 24, y el resultado de la suma se escribe en el registro N1.

4. El contenido del registro N2 se suma módulo 232 con la constante C2 = 224 + 216 + 28 + 1, y el resultado de la suma se escribe en el registro N2.

5. El contenido de los registros N1 y N2 se genera como un bloque gamma de 64 bits del cifrado (en este caso, N1 y N2 forman el primer bloque gamma).

Si se necesita el siguiente bloque gamma (es decir, es necesario continuar con el cifrado o descifrado), se regresa al paso 2.

Para el descifrado, la gamma se genera de manera similar y luego el texto cifrado y los bits de gamma se vuelven a aplicar XOR. Dado que esta operación es reversible, en el caso de una escala correctamente desarrollada se obtiene el texto original (tabla).

Cifrado y descifrado en modo gamma.

Para desarrollar el cifrado necesario para descifrar la gamma, el usuario que descifra el criptograma debe tener la misma clave y el mismo valor de mensaje de sincronización que se utilizó al cifrar la información. De lo contrario, no será posible obtener el texto original del cifrado.

En la mayoría de las implementaciones del algoritmo GOST 28147-89, el mensaje de sincronización no es secreto; sin embargo, hay sistemas en los que el mensaje de sincronización es el mismo elemento secreto que la clave de cifrado. En tales sistemas, la longitud efectiva de la clave del algoritmo (256 bits) se incrementa en otros 64 bits del mensaje secreto de sincronización, que también puede considerarse como un elemento clave.

En el modo gamma de retroalimentación, para completar los registros N1 y N2, a partir del segundo bloque, no se utiliza el bloque gamma anterior, sino el resultado de cifrar el bloque de texto plano anterior (Fig. 2). El primer bloque en este modo se genera de forma completamente similar al anterior.

Arroz. 2. Desarrollo de un cifrado gamma en modo gamma con retroalimentación.

considerando el modo generación de prefijos de imitación, conviene definir el concepto de sujeto de generación. Un prefijo es una suma de verificación criptográfica calculada mediante una clave de cifrado y diseñada para verificar la integridad de los mensajes. Al generar un prefijo de imitación, se realizan las siguientes operaciones: el primer bloque de 64 bits de la matriz de información, para el cual se calcula el prefijo de imitación, se escribe en los registros N1 y N2 y se cifra en el modo de reemplazo simple reducido (el se realizan las primeras 16 rondas de 32). El resultado resultante se suma módulo 2 con el siguiente bloque de información y el resultado se almacena en N1 y N2.

El ciclo se repite hasta el último bloque de información. El contenido de 64 bits resultante de los registros N1 y N2 o parte de ellos como resultado de estas transformaciones se denomina prefijo de imitación. El tamaño del prefijo de imitación se selecciona en función de la confiabilidad requerida de los mensajes: con la longitud del prefijo de imitación r bits, la probabilidad de que un cambio en el mensaje pase desapercibido es 2-r. La mayoría de las veces, 32-. Se utiliza un prefijo de imitación de bits, es decir, la mitad del contenido de los registros. Esto es suficiente porque, como cualquier suma de control, el adjunto de imitación está destinado principalmente a proteger contra la distorsión accidental de la información. Para protegerse contra la modificación intencional de datos, se utilizan otros métodos criptográficos, principalmente una firma digital electrónica.

Al intercambiar información, el prefijo de imitación sirve como una especie de medio de control adicional. Se calcula para el texto sin formato cuando se cifra cualquier información y se envía junto con el texto cifrado. Después del descifrado, se calcula un nuevo valor del prefijo de imitación y se compara con el enviado. Si los valores no coinciden, significa que el texto cifrado se corrompió durante la transmisión o se utilizaron claves incorrectas durante el descifrado. El prefijo de imitación es especialmente útil para comprobar el correcto descifrado de información clave cuando se utilizan esquemas de múltiples claves.

El algoritmo GOST 28147-89 se considera un algoritmo muy sólido; actualmente, no se han propuesto métodos más efectivos para su divulgación que el método de "fuerza bruta" mencionado anteriormente. Su alta seguridad se logra principalmente gracias a la gran longitud de la clave: 256 bits. Cuando se utiliza un mensaje de sincronización secreto, la longitud efectiva de la clave aumenta a 320 bits y el cifrado de la tabla de reemplazo agrega bits adicionales. Además, la solidez criptográfica depende del número de rondas de transformación, que según GOST 28147-89 debería ser 32 (el efecto completo de la dispersión de los datos de entrada se logra después de 8 rondas).

Estándar AES

A diferencia del algoritmo GOST 28147-89, que permaneció en secreto durante mucho tiempo, el estándar de cifrado estadounidense AES, diseñado para reemplazar a DES, fue seleccionado mediante un concurso abierto, donde todas las organizaciones e individuos interesados ​​pudieron estudiar y comentar sobre los algoritmos candidatos.

En 1997, el Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST, Instituto Nacional de Estándares y Tecnología) anunció un concurso para reemplazar al DES. Al concurso se presentaron 15 algoritmos candidatos, desarrollados tanto por organizaciones conocidas en el campo de la criptografía (RSA Security, Counterpane, etc.) como por particulares. Los resultados del concurso se anunciaron en octubre de 2000: el ganador fue el algoritmo Rijndael, desarrollado por dos criptógrafos de Bélgica, Vincent Rijmen y Joan Daemen.

El algoritmo de Rijndael no es similar a la mayoría de los algoritmos de cifrado simétrico conocidos, cuya estructura se denomina "red Feistel" y es similar al GOST 28147-89 ruso. La peculiaridad de la red Feistel es que el valor de entrada se divide en dos o más subbloques, parte de los cuales en cada ronda se procesa de acuerdo con una ley determinada, después de lo cual se superpone a los subbloques no procesados ​​(ver Fig. 1).

A diferencia del estándar de cifrado nacional, el algoritmo de Rijndael representa un bloque de datos en forma de una matriz de bytes bidimensional de tamaño 4X4, 4X6 o 4X8 (se permite el uso de varios tamaños fijos del bloque de información cifrado). Todas las operaciones se realizan en bytes individuales de la matriz, así como en columnas y filas independientes.

El algoritmo de Rijndael realiza cuatro transformaciones: BS (ByteSub): reemplazo en la tabla de cada byte de la matriz (Fig. 3); SR (ShiftRow): desplazamiento de filas de la matriz (Fig. 4). Con esta operación, la primera línea permanece sin cambios y el resto se desplaza cíclicamente byte a byte hacia la izquierda un número fijo de bytes, dependiendo del tamaño de la matriz. Por ejemplo, para una matriz 4X4, las líneas 2, 3 y 4 se desplazan 1, 2 y 3 bytes respectivamente. Luego viene MC (MixColumn), una operación en columnas de una matriz independiente (Fig. 5), cuando cada columna se multiplica por una matriz fija c(x) de acuerdo con una regla determinada. Y finalmente, AK (AddRoundKey): agregar una clave. A cada bit de la matriz se le suma módulo 2 con el bit correspondiente de la clave redonda, que, a su vez, se calcula de cierta manera a partir de la clave de cifrado (Fig. 6).


Arroz. 3. Operación BS.

Arroz. 4. Operación SR.

Arroz. 5. Operación MC.

El número de rondas de cifrado (R) en el algoritmo de Rijndael es variable (10, 12 o 14 rondas) y depende del tamaño del bloque y de la clave de cifrado (también hay varios tamaños fijos para la clave).

El descifrado se realiza mediante las siguientes operaciones inversas. Se realiza una inversión y un reemplazo de tabla en la tabla inversa (en relación con la utilizada durante el cifrado). La operación inversa a SR es rotar filas hacia la derecha en lugar de hacia la izquierda. La operación inversa para MC es la multiplicación usando las mismas reglas por otra matriz d(x) que cumple la condición: c(x) * d(x) = 1. Sumar la clave AK es la inversa de sí misma, ya que solo usa el XOR operación. Estas operaciones inversas se aplican durante el descifrado en la secuencia inversa a la utilizada durante el cifrado.

Rijndael se ha convertido en el nuevo estándar para el cifrado de datos debido a una serie de ventajas sobre otros algoritmos. En primer lugar, proporciona una alta velocidad de cifrado en todas las plataformas: tanto en implementación de software como de hardware. Se distingue por posibilidades incomparablemente mejores de paralelizar cálculos en comparación con otros algoritmos presentados a la competencia. Además, los requisitos de recursos para su funcionamiento son mínimos, lo cual es importante cuando se utiliza en dispositivos con capacidades informáticas limitadas.

La única desventaja del algoritmo puede considerarse su esquema poco convencional inherente. El hecho es que las propiedades de los algoritmos basados ​​en la red Feistel han sido bien investigadas y, por el contrario, Rijndael puede contener vulnerabilidades ocultas que sólo pueden descubrirse después de un tiempo desde su uso generalizado.

Cifrado asimétrico

Los algoritmos de cifrado asimétrico, como ya se señaló, utilizan dos claves: k1, la clave de cifrado, o pública, y k2, la clave de descifrado, o secreta. La clave pública se calcula a partir del secreto: k1 = f(k2).

Los algoritmos de cifrado asimétrico se basan en el uso de funciones unidireccionales. Por definición, una función y = f(x) es unidireccional si: es fácil de calcular para todos los valores posibles de x y para la mayoría de los valores posibles de y es bastante difícil calcular un valor de x para el cual y =f(x).

Un ejemplo de función unidireccional es la multiplicación de dos números grandes: N = P*Q. En sí misma, dicha multiplicación es una operación sencilla. Sin embargo, la función inversa (descomposición de N en dos factores grandes), llamada factorización, según las estimaciones modernas, es un problema matemático bastante complejo. Por ejemplo, la factorización N con una dimensión de 664 bits en P ? Q requerirá aproximadamente 1023 operaciones, y para calcular inversamente x para el exponente modular y = ax mod p con a, p e y conocidos (con las mismas dimensiones de a y p) necesitará realizar aproximadamente 1026 operaciones. El último ejemplo dado se llama Problema de logaritmo discreto (DLP), y este tipo de función se usa a menudo en algoritmos de cifrado asimétrico, así como en algoritmos utilizados para crear una firma digital electrónica.

Otra clase importante de funciones utilizadas en el cifrado asimétrico son las funciones de puerta trasera unidireccionales. Su definición establece que una función es unidireccional con una puerta trasera si es unidireccional y es posible calcular eficientemente la función inversa x = f-1(y), es decir, si la "puerta trasera" (algún número secreto, aplicado para cifrado asimétrico algoritmos: el valor de la clave secreta).

Las funciones de puerta trasera unidireccional se utilizan en el algoritmo de cifrado asimétrico RSA, ampliamente utilizado.

algoritmo RSA

Desarrollado en 1978 por tres autores (Rivest, Shamir, Adleman), debe su nombre a las primeras letras de los apellidos de los desarrolladores. La confiabilidad del algoritmo se basa en la dificultad de factorizar números grandes y calcular logaritmos discretos. El parámetro principal del algoritmo RSA es el módulo del sistema N, que se utiliza para realizar todos los cálculos en el sistema, y ​​N = P*Q (P y Q son números primos aleatorios secretos grandes, generalmente de la misma dimensión).

La clave secreta k2 se elige aleatoriamente y debe cumplir las siguientes condiciones:

1

donde MCD es el máximo común divisor, es decir, k1 debe ser coprimo con respecto al valor de la función de Euler F(N), siendo esta última igual al número de enteros positivos en el rango de 1 a N coprimo a N, y se calcula como F(norte) = (P - 1)*(Q - 1).

La clave pública k1 se calcula a partir de la relación (k2*k1) = 1 mod F(N), y para ello se utiliza el algoritmo euclidiano generalizado (el algoritmo para calcular el máximo común divisor). El cifrado del bloque de datos M utilizando el algoritmo RSA se realiza de la siguiente manera: C=M [a la potencia k1] mod n.. Tenga en cuenta que dado que en un criptosistema real que utiliza RSA el número k1 es muy grande (actualmente su dimensión puede alcanzar hasta 2048 bits), el cálculo directo de M [a la potencia k1] poco realista. Para obtenerlo se utiliza una combinación de elevaciones repetidas al cuadrado de M y multiplicación de los resultados.

La inversión de esta función para dimensiones grandes no es factible; en otras palabras, es imposible encontrar M dados los C, N y k1 conocidos. Sin embargo, teniendo una clave secreta k2, mediante transformaciones simples se puede calcular M = Ck2 mod N. Obviamente, además de la clave secreta en sí, es necesario garantizar el secreto de los parámetros P y Q. Si un atacante obtiene sus valores , podrá calcular la clave secreta k2.

¿Qué cifrado es mejor?

La principal desventaja del cifrado simétrico es la necesidad de transferir claves "de mano en mano". Este inconveniente es muy grave, ya que imposibilita el uso de cifrado simétrico en sistemas con un número ilimitado de participantes. Sin embargo, por lo demás, el cifrado simétrico tiene algunas ventajas que son claramente visibles en el contexto de las graves desventajas del cifrado asimétrico.

El primero de ellos es la baja velocidad de las operaciones de cifrado y descifrado, debido a la presencia de operaciones que consumen muchos recursos. Otra desventaja es "teórica": la solidez criptográfica de los algoritmos de cifrado asimétrico no ha sido demostrada matemáticamente. Esto se debe principalmente al problema del logaritmo discreto: aún no se ha demostrado que su solución en un tiempo aceptable sea imposible. También surgen dificultades innecesarias por la necesidad de proteger las claves públicas contra la sustitución: al reemplazar la clave pública de un usuario legal, un atacante podrá cifrar un mensaje importante con su clave pública y posteriormente descifrarlo fácilmente con su clave privada.

Sin embargo, estas desventajas no impiden el uso generalizado de algoritmos de cifrado asimétrico. Hoy en día existen criptosistemas que admiten la certificación de claves públicas, además de combinar algoritmos de cifrado simétricos y asimétricos. Pero este es un tema para un artículo aparte.

Fuentes adicionales de información

Para aquellos lectores que estén seriamente interesados ​​en el cifrado, el autor recomienda ampliar sus horizontes con la ayuda de los siguientes libros.

  1. Brassard J. "Criptología moderna".
  2. Petrov A. A. "Seguridad informática: métodos criptográficos de protección".
  3. Romanets Yu., Timofeev P. A., Shangin V. F. "Protección de la información en los sistemas informáticos modernos".
  4. Sokolov A.V., Shangin V.F. "Protección de la información en redes y sistemas corporativos distribuidos".

Puede encontrar una descripción completa de los algoritmos de cifrado en los siguientes documentos:

  1. GOST 28147-89. Sistema de procesamiento de información. Protección criptográfica.
  2. Algoritmo de conversión criptográfica. - M.: Norma estatal de la URSS, 1989.
  3. Algoritmo AES: http://www.nist.gov/ae.



Arriba