Criptosistemas simétricos.

Hogar

Los medios de protección criptográfica de los secretos de Estado todavía se equiparan a las armas. Muy pocos países en el mundo tienen sus propias empresas criptográficas que fabrican productos de seguridad de la información realmente buenos. Incluso en muchos países desarrollados no existe esa oportunidad: no hay ninguna escuela que permita apoyar y desarrollar estas tecnologías. Rusia es uno de los pocos países del mundo (puede haber cinco países de este tipo) donde se desarrolla todo esto. Además, tanto en el sector comercial como en el público existen empresas y organizaciones que han mantenido la continuidad de la escuela de criptografía desde los tiempos en que estaba apenas en sus inicios.

Algoritmos de cifrado

  • Hoy en día, existen muchos algoritmos de cifrado que tienen una resistencia significativa al criptoanálisis (fuerza criptográfica). Los algoritmos de cifrado se dividen en tres grupos:
  • Algoritmos simétricos
  • Algoritmos asimétricos

Algoritmos de función hash

Algoritmos simétricos

El cifrado simétrico implica el uso de la misma clave tanto para el cifrado como para el descifrado. Se aplican dos requisitos principales a los algoritmos simétricos: pérdida completa de todos los patrones estadísticos en el objeto de cifrado y falta de linealidad. Es habitual dividir los sistemas simétricos en bloques y de flujo.

En los sistemas de bloques, los datos de origen se dividen en bloques y luego se transforman mediante una clave.

En los sistemas de transmisión, se genera una determinada secuencia (gamma de salida), que posteriormente se superpone al mensaje mismo, y el cifrado de datos se produce en una secuencia a medida que se genera la gamma. En la figura se muestra un diagrama de comunicación que utiliza un criptosistema simétrico.

Donde M es el texto sin formato, K es la clave secreta transmitida a través de un canal privado, En(M) es la operación de cifrado y Dk(M) es la operación de descifrado.

La operación de sustitución cumple el primer requisito de un cifrado simétrico: elimina cualquier estadística mezclando los bits del mensaje según una determinada ley especificada. La permutación es necesaria para cumplir el segundo requisito: hacer que el algoritmo no sea lineal. Esto se logra reemplazando una determinada parte de un mensaje de un tamaño determinado con un valor estándar accediendo a la matriz original.

Los sistemas simétricos tienen ventajas y desventajas sobre los asimétricos.

Las ventajas de los cifrados simétricos incluyen una alta velocidad de cifrado, una longitud de clave requerida más corta con una fuerza similar, mayor conocimiento y facilidad de implementación. Las desventajas de los algoritmos simétricos son principalmente la complejidad del intercambio de claves debido a la alta probabilidad de que la clave se vea comprometida durante el intercambio necesario y la complejidad de la gestión de claves en una red grande.

Ejemplos de cifrados simétricos

  • GOST 28147-89: estándar de cifrado nacional
  • 3DES (Triple-DES, triple DES)
  • RC6 (cifrado remachado)
  • dos peces
  • SEED: estándar de cifrado coreano
  • Camellia: estándar de cifrado japonés
  • CAST (después de las iniciales de los desarrolladores Carlisle Adams y Stafford Tavares)
  • XTEA es el algoritmo más fácil de implementar
  • AES: estándar de cifrado estadounidense
  • DES: estándar de cifrado de datos en EE. UU. hasta AES

Algoritmos asimétricos

Los sistemas asimétricos también se denominan criptosistemas de clave pública. Este es un método de cifrado de datos en el que la clave pública se transmite a través de un canal abierto (no oculto) y se utiliza para verificar una firma electrónica y cifrar datos. Para descifrar y crear una firma electrónica se utiliza una segunda clave, secreta.

El diseño mismo de los criptosistemas asimétricos utiliza la idea de funciones unidireccionales ƒ(x), en las que es fácil encontrar x, conociendo el valor de la función en sí, pero es casi imposible encontrar ƒ(x) en sí. , conociendo sólo el valor de x. Un ejemplo de esta función es la guía telefónica de una gran ciudad, en la que es fácil encontrar el número de una persona si conoce su apellido e iniciales, pero es extremadamente difícil encontrar al propietario si conoce el número.

Principio de funcionamiento de sistemas asimétricos.

Digamos que hay dos suscriptores: A y B, y el suscriptor B quiere enviar un mensaje cifrado al suscriptor A. Cifra el mensaje usando una clave pública y lo transmite ya cifrado a través de un canal de comunicación abierto. Una vez recibido el mensaje, el suscriptor A lo descifra utilizando la clave secreta y lo lee.

Es necesario hacer una aclaración aquí. Al recibir un mensaje, el suscriptor A debe autenticar su identidad ante el suscriptor B para que un malintencionado no pueda hacerse pasar por el suscriptor A y reemplazar su clave pública por la suya propia.

Ejemplos de fuentes asimétricas

  • RSA (Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
  • DSA (Algoritmo de firma digital)
  • Elgamal (Sistema de cifrado El-Gamal)
  • Diffie-Hellman (intercambio de claves Diffie-Hellman)
  • ECC (Criptografía de curva elíptica, criptografía de curva elíptica)

funciones hash

Hashing (del inglés hash) es la transformación de una matriz de información inicial de longitud arbitraria en una cadena de bits de longitud fija.

Existen muchos algoritmos de función hash, pero se diferencian en sus características: solidez criptográfica, profundidad de bits, complejidad computacional, etc.

Estamos interesados ​​en funciones hash criptográficamente fuertes. Estos suelen tener dos requisitos:

  • Para un mensaje C determinado, es casi imposible encontrar otro mensaje C con el mismo hash.
  • Es casi imposible encontrar pares de mensajes (SS") que tengan el mismo hash.

Los requisitos se denominan resistencia a colisiones de primer y segundo tipo, respectivamente. Para tales funciones, otro requisito sigue siendo importante: con un ligero cambio en el argumento, debe ocurrir un cambio significativo en la función misma. Por lo tanto, el valor hash no debería proporcionar información ni siquiera sobre bits individuales del argumento.

Ejemplos de algoritmos hash

  • Adler-32
  • SHA-1
  • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • HAVAL
  • N-Hash
    • RIPEMD-160
  • RIPEMD-256
  • RIPEMD-320
  • Madeja
  • Snefru
  • Tigre (TTH)
  • Torbellino
  • GOST R34.11-94 (GOST 34.311-95)
  • Suma de comprobación de Internet IP (RFC 1071)

Primitivas criptográficas

Para dar a la información cifrada una mayor fuerza criptográfica, se pueden utilizar repetidamente transformaciones relativamente simples (primitivas) en un sistema criptográfico. Se pueden utilizar sustituciones, permutaciones, cambios cíclicos o gammas como primitivas.

Criptografía cuántica

Criptografía en tecnologías digitales.

Historia

La criptografía es una ciencia antigua y sus objetos originales fueron los mensajes de texto que, con la ayuda de ciertos algoritmos, perdieron su significado para cualquiera que no tuviera los conocimientos especiales para descifrar este mensaje: la clave.

Inicialmente se utilizaron métodos que hoy se utilizan solo para rompecabezas, es decir, en opinión de un contemporáneo, los más simples. Estos métodos de cifrado incluyen, por ejemplo, el método de reemplazo, cuando cada letra se reemplaza por otra, espaciada de ella a una distancia estrictamente definida en el alfabeto. O el método de cifrado por permutación, cuando las letras se intercambian en una secuencia determinada dentro de una palabra.

En la antigüedad, el cifrado se utilizaba principalmente en asuntos militares y comerciales, en espionaje y entre contrabandistas.

Un poco más tarde, los historiadores determinan la fecha de aparición de otra ciencia relacionada: la esteganografía. Esta ciencia se ocupa de enmascarar el hecho mismo de transmitir un mensaje. Se originó en la antigüedad, y un ejemplo aquí es la recepción por parte del rey espartano Leónidas, antes de la batalla con los persas, de una tablilla grabada con texto, cubierta con una solución seca y fácilmente lavable. Al limpiar, las marcas dejadas en la cera con el lápiz se hicieron claramente visibles. Hoy en día se utilizan tintas simpáticas, micropuntos, microfilmes, etc. para ocultar el mensaje.

Con el desarrollo de las matemáticas, comenzaron a aparecer algoritmos de cifrado matemático, pero todos estos tipos de protección de la información criptográfica conservaron los datos estadísticos en diversos grados y siguieron siendo vulnerables. La vulnerabilidad se hizo especialmente evidente con la invención del análisis de frecuencia, que fue desarrollado en el siglo IX d.C., supuestamente por el enciclopedista árabe al-Kindi. Y sólo en el siglo XV, después de la invención de las fuentes polialfabéticas por parte de Leon Battista Alberti (presumiblemente), la protección pasó a un nivel cualitativamente nuevo. Sin embargo, a mediados del siglo XVII, Charles Babbage presentó pruebas convincentes de la vulnerabilidad parcial de las fuentes polialfabéticas al análisis de frecuencia.

El desarrollo de la mecánica hizo posible crear dispositivos y mecanismos que faciliten el cifrado: aparecieron dispositivos como el tablero cuadrado de Trithemius y el cifrado de disco de Thomas Jefferson. Pero todos estos dispositivos no se pueden comparar con los creados en el siglo XX. Fue en esta época cuando comenzaron a aparecer diversas máquinas y mecanismos de cifrado de alta complejidad, por ejemplo, las máquinas rotativas, la más famosa de las cuales es Enigma.

Antes del rápido desarrollo de la ciencia en el siglo XX, los criptógrafos tenían que lidiar solo con objetos lingüísticos, pero en el siglo XX se abrieron las posibilidades de utilizar diversos métodos y teorías matemáticas, estadística, combinatoria, teoría de números y álgebra abstracta.

Pero el verdadero avance en la ciencia criptográfica se produjo con la llegada de la capacidad de representar cualquier información en forma binaria, dividida en bits, utilizando computadoras, lo que hizo posible crear fuentes con una fuerza criptográfica sin precedentes. Estos sistemas de cifrado, por supuesto, se pueden piratear, pero en la gran mayoría de los casos el tiempo dedicado a la piratería no merece la pena.

Hoy podemos hablar de avances importantes en la criptografía cuántica.

Literatura

  • Barichev S.G., Goncharov V.V., Serov R.E. Fundamentos de la criptografía moderna. - M.: *Varfolomeev A. A., Zhukov A. E., Pudovkina M. A. Criptosistemas de corriente. Propiedades básicas y métodos de análisis de resistencia. M.: PAIMS, 2000.
  • Yashchenko V.V. Introducción a la criptografía. San Petersburgo: Peter, 2001. .
  • GOST 28147-89. Sistemas de procesamiento de información. Protección criptográfica. Algoritmo de conversión criptográfica. M.: Código Civil de la URSS según las normas, 1989.
  • GOST R 34.10-94. Tecnología de la información. Protección de la información criptográfica. *GOST R 34.11-94. Tecnologías de la información. Protección de la información criptográfica. Función hash. M., 1995.
  • GOST R 34.10-2001 Tecnología de la información. Protección de la información criptográfica. Procesos de generación y verificación de firmas digitales electrónicas. M., 2001.
  • Nechaev V.I. Elementos de criptografía (Fundamentos de la teoría de la seguridad de la información). M.: Escuela Superior, 1999.
  • Zhelnikov V. Criptografía del papiro a la computadora. Moscú: AVR, 1996.

Hay una cantidad increíble de afirmaciones audaces flotando en Internet como que el cifrado asimétrico es mejor que el cifrado simétrico, al igual que al revés. Y a menudo los principiantes escuchan estas palabras sin siquiera entender realmente de qué están hablando. Se dijo que AES es genial o, por el contrario, que gobierna RSA, y todos fueron tomados al pie de la letra. Sin embargo, este enfoque a menudo conduce a problemas cuando, debido a una comprensión insuficiente de la esencia del problema, se implementan partes completamente innecesarias o el sistema resulta indefenso.

Por eso, en este artículo te contaré el mínimo básico que debe saber un principiante. No habrá fórmulas complejas ni justificaciones matemáticas, pero sí se explicará la diferencia entre cifrado simétrico y asimétrico, y también se darán algunos puntos esenciales. Pero primero lo primero.

Cifrado simétrico

El cifrado simétrico utiliza solo una contraseña (o como también se le llama clave). Veamos cómo sucede todo. Existe un cierto algoritmo de cifrado matemático que recibe una contraseña y texto como entrada. La salida es texto cifrado. Para obtener el texto original se utiliza la misma contraseña, pero con un algoritmo de descifrado (en ocasiones puede ser la misma).

En otras palabras, tan pronto como alguien descubre esta contraseña, la seguridad se rompe inmediatamente. Por lo tanto, si se utiliza cifrado simétrico, se debe prestar considerable atención a la cuestión de crear y mantener la seguridad de la contraseña misma. No debe transmitirse en texto claro, ya sea una red o un papel pegado al monitor. La contraseña debe ser lo suficientemente compleja como para que no pueda obtenerse por simple fuerza bruta. Si más de una persona utiliza una contraseña, debe haber un método seguro para distribuirla, así como un sistema de notificación en caso de que alguien más conozca la contraseña.

A pesar de sus limitaciones, el cifrado simétrico se utiliza ampliamente. Principalmente por la facilidad de comprensión de todo el proceso (una contraseña) y la carga técnica (normalmente estos algoritmos son rápidos).

Cifrado asimétrico

El cifrado asimétrico utiliza dos contraseñas: una abierta (pública) y otra privada (secreta). La contraseña pública se envía a todas las personas, mientras que la contraseña privada permanece en el servidor u otro lado del receptor. En este caso, los nombres suelen ser condicionales, ya que un mensaje cifrado con una de las claves sólo puede descifrarse utilizando otra clave. En otras palabras, las claves son equivalentes en este sentido.

Dichos algoritmos de cifrado permiten que la contraseña (clave) se distribuya libremente a través de la red, ya que sin una segunda clave es imposible obtener el mensaje original. El protocolo SSL se basa en este principio, lo que facilita el establecimiento de una conexión segura con los usuarios debido a que la clave privada (contraseña) se almacena únicamente en el lado del servidor. Si lo ha notado, el mensaje "conexión no segura" aparece periódicamente en su navegador cuando abre un sitio con el prefijo https. Esto significa que es muy posible que la clave privada haya estado abierta hace mucho tiempo, que también se diga que esté comprometida y que los atacantes la conozcan. Por lo tanto, es posible que una conexión tan segura no lo sea.

En el caso del cifrado asimétrico, se vuelve algo más sencillo en cuanto a almacenar contraseñas, ya que no es necesario compartir la clave secreta con nadie. Basta que una sola persona o servidor lo sepa. Además, la cuestión de descifrar una contraseña se vuelve más sencilla, ya que el servidor puede cambiar el par de claves en cualquier momento y enviar la contraseña pública creada a todos.

Sin embargo, el cifrado asimétrico es más "pesado", es decir, requiere más recursos informáticos. También existen restricciones en el proceso de generación de claves en sí (aún es necesario seleccionarlas). Por lo tanto, en la práctica, el cifrado asimétrico generalmente se usa solo para la autenticación e identificación de usuarios (por ejemplo, iniciar sesión en un sitio web) o para crear una clave de sesión para el cifrado simétrico (una contraseña temporal para el intercambio de datos entre el usuario y el servidor). , o para crear firmas digitales, que se cifran con una clave secreta. Como probablemente ya entendió, en el último caso, cualquiera puede verificar dicha firma utilizando una clave pública que esté disponible públicamente.

Puntos importantes sobre el cifrado simétrico y asimétrico

La diferencia más importante entre el cifrado simétrico y asimétrico es su enfoque. Por lo tanto, cuando escuche o lea un artículo sobre su comparación como "este algoritmo es mejor" sin mencionar detalles (ciertas condiciones y tareas), puede comenzar a hacer otras cosas con seguridad, ya que esta es una actividad muy inútil similar al debate "¿Cuál?" ¿Es mejor un tanque o un barco de vapor? Sin concretar, ni lo uno ni lo otro. Sin embargo, hay puntos importantes a tener en cuenta:

1. El algoritmo simétrico es bueno para transmitir grandes cantidades de datos cifrados. Un algoritmo asimétrico, en igualdad de condiciones, será significativamente más lento. Además, para organizar el intercambio de datos mediante un algoritmo asimétrico, ambas partes deben conocer la clave pública y la privada, o debe haber dos pares de este tipo (un par para cada lado).

2. El cifrado asimétrico le permite iniciar una conexión segura sin esfuerzo por parte del usuario. El algoritmo simétrico supone que el usuario necesita "descubrir de alguna manera la contraseña". Sin embargo, conviene comprender que los algoritmos asimétricos tampoco proporcionan un 100% de seguridad. Por ejemplo, son susceptibles a ataques de intermediarios. La esencia de esto último es que se instala una computadora entre usted y el servidor, que le envía su clave pública y utiliza la clave pública del servidor para transferirle datos.

3. Desde el punto de vista de piratear (comprometer) una contraseña, el algoritmo asimétrico es más fácil, ya que el servidor solo necesita cambiar un par de claves y distribuir la clave pública creada. En el caso del cifrado simétrico, surge la pregunta de cómo transmitir la siguiente contraseña. Sin embargo, estas restricciones se eluden, por ejemplo, en ambos lados las claves se generan constantemente según el mismo algoritmo, entonces la cuestión es mantener este algoritmo en secreto.

4. Los algoritmos simétricos suelen construirse sobre la base de algunos bloques con funciones de transformación matemática. Por tanto, es más fácil modificar dichos algoritmos. Los algoritmos asimétricos suelen basarse en algunos problemas matemáticos, por ejemplo. RSA se basa en el problema de exponenciación y módulo. Por tanto, son casi imposibles o muy difíciles de modificar.

5. Los algoritmos asimétricos se suelen utilizar junto con los simétricos. Sucede aproximadamente de la siguiente manera. Utilizando un algoritmo asimétrico, se envía al servidor una clave de sesión creada por el usuario para el cifrado simétrico, después de lo cual se produce el intercambio de datos mediante un algoritmo simétrico. El orden puede cambiar parcialmente o la clave puede formarse un poco diferente, pero el significado es aproximadamente el mismo.

6. Crear claves seguras (contraseñas) en algoritmos asimétricos es una tarea muy difícil, a diferencia de los algoritmos simétricos, donde basta con formar la clave de acuerdo con las reglas para generar contraseñas seguras (números, letras, mayúsculas y minúsculas, etc.). Sin embargo, el hecho de que sólo el servidor conozca la contraseña secreta hace que sea más fácil mantener la clave segura.

Protección de la información criptográfica

Alexandra Prokhorova

Un extracto del libro de Alexander Prokhorov "Internet: cómo funciona", puede encontrar información sobre el libro en DIRECCIÓN .

Veamos un ejemplo específico. Deje que el director de la empresa A envíe un documento importante al director de la empresa B por correo electrónico (Fig. 1). ¿Qué problemas surgen en términos de seguridad de las comunicaciones?

Al recibir la carta, el director de la empresa B hace las siguientes preguntas. Si este documento fue realmente enviado por el Director A (identificación del remitente). Después de todo, existe la posibilidad de que la carta provenga de otra persona que se hace pasar por el director de la empresa A. ¿El documento fue interceptado y alterado durante la ruta de entrega (autenticación del mensaje)? Si el documento fue leído por alguien distinto del destinatario (secreto)

Un correo electrónico y sus archivos adjuntos se pueden leer fácilmente en puntos intermedios de su recorrido por Internet, por ejemplo, en el servidor del proveedor.

Se sabe que se puede mantener el secreto (confidencialidad de los mensajes) cifrando los datos. Resulta que estos tres problemas se pueden resolver mediante cifrado, y la criptografía se ocupa de estos problemas.

La criptografía (del griego "cryptos" - secreto) es la ciencia y tecnología de cifrar información importante para protegerla de cambios y accesos no autorizados. La criptografía sirve no solo para convertir textos a un formato cifrado ilegible, sino que también permite resolver los problemas de autenticación e identificación de los usuarios cuando trabajan en Internet.

La criptografía es la base de las comunicaciones seguras. En la figura. 1 dimos un ejemplo de correspondencia entre dos corresponsales. Cabe señalar que en Internet nos comunicamos no solo con personas, sino también con diversos servicios. Por ejemplo, cuando vamos a descargar un programa de un servidor, también es importante que sepamos que ese servidor pertenece a la empresa desarrolladora, y no a una empresa pirata que distribuye ilegalmente software pirateado.

Cifrado con clave

El proceso de cifrado con clave consiste en combinar texto plano con una cadena de números (la clave) según las reglas de algún algoritmo (algoritmo criptográfico) con el fin de obtener un mensaje cifrado.

Supongamos que queremos cifrar el texto sin formato "Hola Vasya" utilizando el algoritmo más simple: reemplazar las letras del alfabeto con sus números. Como resultado, recibiremos un texto cifrado de la forma: 17 18 10 3 6 20 3 1 19 33. Obviamente, si un extraño aprende el algoritmo de cifrado, entonces es imposible usarlo en el futuro.

Este inconveniente se puede evitar mediante el uso de cifrado de claves. Para explicar la esencia del proceso de cifrado con una clave, damos un ejemplo sencillo (Fig. 3).

Anotemos las letras del texto y escribamos sus números en el alfabeto debajo de ellas. En la tercera línea anotamos las letras de la clave, repitiendo esta palabra a lo largo de toda la línea. Debajo de las letras de la clave anotaremos sus números en el alfabeto, y en la cuarta línea anotaremos la cantidad, que será el mensaje cifrado: 20 19 29 36, etc.

Conociendo la clave y el algoritmo, es fácil descifrar el mensaje: 20 - 3 = 17, y la decimoséptima letra del alfabeto es "P", etc. Incluso si el atacante conoce el algoritmo, pero no la clave, es imposible leer el mensaje sin un largo procedimiento de selección de clave. Así, se puede utilizar un algoritmo con muchas claves para diferentes canales de comunicación, asignando una clave separada a cada corresponsal.

Evidentemente, cuanto más larga sea la clave de cifrado, más será necesario probar varias combinaciones al descifrar y, en consecuencia, más difícil será descifrar el mensaje. Los cifrados con claves de más de 128 bits se denominan seguros.

Principio de cifrado con clave secreta.

Cifrado de clave simétrica

Consideremos un ejemplo específico: dejemos que los corresponsales A y B se escriban una carta (Fig. 4). Cada uno tiene su propia clave secreta (un código secreto específico) que puede usarse para cifrar datos antes de enviarlos a Internet. Para representar más claramente el esquema de cifrado, utilizaremos pictogramas (Fig. 2), es decir, representaremos la clave como una clave normal y el mensaje cifrado como un documento sellado en un sobre. Entonces el proceso de cifrado y descifrado se puede representar en la forma de la Fig. 3.

Esquema de cifrado con clave secreta (simétrica)

El usuario A cifra el mensaje con su clave secreta, envía el mensaje a través de Internet y el destinatario B (utilizando la misma clave secreta) descifra el mensaje. Si nos fijamos en la figura, es fácil ver que el circuito es simétrico. Los usuarios izquierdo y derecho utilizan las mismas claves (simétricas), por lo que este tipo de cifrado se denomina cifrado de clave simétrica.

El problema del cifrado de clave secreta tiene ciertas desventajas. En primer lugar, el cifrado simétrico no resuelve el problema de autenticación. Por ejemplo, A puede escribir una carta a un tercero C y afirmar que B lo hizo.

Se debe instalar una clave simétrica en las computadoras del remitente y del destinatario antes de intercambiar mensajes secretos. Es decir, es necesario saber de antemano qué dos computadoras "hablarán" entre sí. Obviamente, el cifrado para una comunicación segura en Internet tiene sentido cuando los corresponsales no necesitan reunirse en persona. El problema ocurre al transmitir la clave privada. En realidad. Si A le da a B la clave secreta sin cifrar, puede ser interceptada. Si la clave se envía cifrada, B no podrá recibirla. Para mantener correspondencia con varios corresponsales, es necesario tener una clave para cada corresponsal, lo cual es un inconveniente. Para resolver los problemas anteriores, se ha propuesto un esquema de cifrado asimétrico (cifrado de clave pública).

Cifrado de clave pública

El cifrado de clave pública se basa en el uso de un par de claves: una clave privada y una clave pública.

El mensaje se puede cifrar con una clave pública y privada y descifrar sólo con la segunda clave del par. Es decir, un mensaje cifrado con una clave privada sólo podrá descifrarse con una pública y viceversa. La clave privada sólo la conoce el propietario y no se puede compartir con nadie, mientras que la clave pública se distribuye abiertamente a todos los corresponsales.

Se pueden utilizar un par de claves, privada y pública, tanto para resolver problemas de autenticación (Fig. 4) como de secreto (confidencialidad) (Fig. 6).

Según el primer esquema (Fig. 4): el usuario A envía la clave pública por adelantado a sus corresponsales B y C, y luego les envía un mensaje cifrado con su clave privada.

El mensaje sólo podrá ser enviado por A (sólo él tiene la clave privada), es decir, el problema de autenticación está garantizado. Pero, por ejemplo, B no está seguro de que C no haya leído también la carta. Por tanto, el problema de la confidencialidad no está asegurado.

El esquema que garantiza el secreto (confidencialidad) se muestra en la Fig. 6.

El mensaje sólo puede ser leído por A, ya que sólo él tiene la clave privada que revela el mensaje, es decir, el problema de confidencialidad está solucionado. Pero A no puede estar seguro de que el mensaje no fue enviado por B haciéndose pasar por C. Por lo tanto, el problema de autenticación no está resuelto.

Para garantizar el intercambio confidencial de mensajes en correspondencia entre dos personas, es necesario tener dos pares de claves (Fig. 5).

Para garantizar el intercambio confidencial de mensajes en correspondencia entre dos personas, es necesario tener dos pares de claves.

Al cifrar utilizando un par de claves, no es necesario que envíe su clave pública a todos los corresponsales. Es mucho más conveniente publicar esta clave en Internet en algún servidor de acceso abierto. Entonces todos podrán descargar esta clave y enviarte un mensaje secreto que nadie excepto tú leerá.

1Los sistemas de cifrado simétrico son sistemas en los 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.

2El intercambio de información se realiza en tres etapas:

1) el remitente transfiere la clave al destinatario (en una red con varios suscriptores, cada par de suscriptores debe tener su propia clave, diferente de las claves de otros pares);

2) el remitente, utilizando la clave, cifra el mensaje que se envía al destinatario;

3) el destinatario recibe el mensaje y lo descifra.

Si se utiliza una clave única para cada día y para cada sesión de comunicación, esto aumentará la seguridad del sistema.

Los algoritmos de cifrado asimétrico (o criptografía de clave pública) utilizan una clave (pública) para cifrar la información y otra (secreta) para descifrarla. Estas claves son diferentes y no pueden derivarse unas de otras.

El esquema de intercambio de información es el siguiente:

El destinatario calcula las claves pública y privada, mantiene en secreto la clave secreta y pone a disposición la clave pública (informa al remitente, a un grupo de usuarios de la red, la publica);

El remitente, utilizando la clave pública del destinatario, cifra el mensaje que se envía al destinatario;

El destinatario recibe el mensaje y lo descifra utilizando su clave privada.

3 El cifrado simétrico implica el uso de la misma clave tanto para el cifrado como para el descifrado. Se aplican dos requisitos principales a los algoritmos simétricos: pérdida completa de todos los patrones estadísticos en el objeto de cifrado y falta de linealidad. Es habitual dividir los sistemas simétricos en bloques y de flujo. En los sistemas de bloques, los datos de origen se dividen en bloques y luego se transforman mediante una clave.

En los sistemas de transmisión, se genera una determinada secuencia (gamma de salida), que posteriormente se superpone al mensaje mismo, y el cifrado de datos se produce en una secuencia a medida que se genera la gamma.

4 Normalmente, el cifrado simétrico utiliza una combinación compleja y de varias etapas de sustituciones y permutaciones de los datos de origen, y puede haber muchas etapas (pasos), y cada una de ellas debe corresponder a una "clave de acceso". La operación de sustitución cumple el primer requisito de un cifrado simétrico: elimina cualquier estadística mezclando los bits del mensaje según una determinada ley especificada. La permutación es necesaria para cumplir el segundo requisito: hacer que el algoritmo no sea lineal. Esto se logra reemplazando una determinada parte de un mensaje de un tamaño determinado con un valor estándar accediendo a la matriz original.

5 En los sistemas de comunicación gubernamentales y militares sólo se utilizan algoritmos simétricos, ya que no existe una justificación estrictamente matemática para la seguridad de los sistemas de clave pública, así como tampoco se ha demostrado lo contrario. Esta figura muestra un diagrama del funcionamiento del sistema de cifrado en el funcionamiento de la tecnología GSM.

6 Esta tabla muestra las principales características de los algoritmos de cifrado compuestos.

7 La iniciativa para desarrollar AES pertenece al Instituto Nacional de Estándares de EE. UU. - NIST. El objetivo principal era crear un estándar federal estadounidense que describiera el algoritmo de cifrado utilizado para proteger la información tanto en el sector público como en el privado. AES es un algoritmo de cifrado de bloques simétrico con longitud de bloque variable y longitud de clave variable.

8 IDEA (Algoritmo internacional de cifrado de datos) es un algoritmo de cifrado simétrico de bloques desarrollado por Xuejia Lai y James Massey del Instituto Federal Suizo de Tecnología. IDEA es uno de varios algoritmos criptográficos simétricos que originalmente estaban destinados a reemplazar a DES. IDEA es un algoritmo de bloques que utiliza una clave de 128 bits para cifrar datos en bloques de 64 bits. El objetivo del desarrollo de IDEA era crear un algoritmo criptográfico relativamente potente con una implementación bastante sencilla.

9. En nuestro país, se utiliza como estándar la tecnología descrita en GOST 28147-89 "Sistemas de procesamiento de información". Este GOST fue adoptado en 1989 y no ha cambiado desde entonces. El algoritmo de cifrado fue desarrollado por la KGB a finales de los años 70, pero se creó con un "margen de seguridad" bastante grande. En este parámetro, era un orden de magnitud superior al DES americano, que fue reemplazado primero por triple y luego por AES. Por lo tanto, incluso hoy en día la solidez criptográfica del estándar ruso satisface plenamente todos los requisitos modernos.

10 Pasemos al concepto de fortaleza criptográfica (o fortaleza criptográfica): la capacidad de un algoritmo criptográfico para resistir el criptoanálisis. Un algoritmo seguro es aquel que, para un ataque exitoso, requiere que el enemigo tenga recursos informáticos inalcanzables, un volumen inalcanzable de mensajes abiertos y cifrados interceptados, o un tiempo de divulgación tal que después de su vencimiento la información protegida ya no sea relevante, etc. En la mayoría de los casos, la fortaleza criptográfica no se puede determinar matemáticamente, solo se pueden probar las vulnerabilidades de un algoritmo criptográfico. Existen criptosistemas bastante seguros. Vernam Cipher (inglés Verrnam Cipher, otro nombre para One-time pad - esquema de pad de un solo uso) es un sistema de cifrado simétrico propuesto por primera vez en 1882 por F. Millero y reinventado en 1917 por el empleado de AT&T Gilbert Vernam.

El único método existente 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.

YouTube enciclopédico

    1 / 3

    Informática. Protección de la información: Cifrado simétrico. Centro de aprendizaje en línea de Foxford

    PGP.01 Comprensión del cifrado asimétrico

    La cifra de César. Cifrado simétrico

    Subtítulos

Lo esencial

Los algoritmos de cifrado de datos se utilizan ampliamente en tecnología informática en sistemas para ocultar información confidencial y comercial del uso malicioso por parte de terceros. El principio fundamental en ellos es la condición de que El transmisor y el receptor conocen de antemano el algoritmo de cifrado., así como la clave del mensaje, sin la cual la información es sólo un conjunto de símbolos que no tienen significado.

Ejemplos clásicos de tales algoritmos son algoritmos criptográficos simétricos enumerados a continuación:

  • Reordenamiento simple
  • Permutación única por clave
  • doble permutación
  • Permutación "Cuadrado mágico"

Reordenamiento simple

La permutación simple sin llave es uno de los métodos de cifrado más simples. El mensaje se escribe en una tabla en columnas. Una vez escrito el texto sin formato en columnas, se lee línea por línea para formar el texto cifrado. Para utilizar este cifrado, el remitente y el destinatario deben acordar una clave compartida en forma de tamaño de tabla. La combinación de letras en grupos no está incluida en la clave de cifrado y se usa solo para la conveniencia de escribir texto sin sentido.

Permutación única por clave

Un método de cifrado más práctico llamado permutación de clave única es muy similar al anterior. Sólo se diferencia en que las columnas de la tabla se reorganizan según una palabra clave, frase o conjunto de números de la longitud de una línea de la tabla.

doble permutación

Para mayor seguridad, puede volver a cifrar un mensaje que ya haya sido cifrado. Este método se conoce como doble permutación. Para hacer esto, se selecciona el tamaño de la segunda tabla de modo que las longitudes de sus filas y columnas difieran de las longitudes de la primera tabla. Lo mejor es que sean relativamente primos. Además, se pueden reorganizar las columnas de la primera tabla y las filas de la segunda tabla. Finalmente, puedes completar la tabla en zigzag, serpiente, espiral o de alguna otra forma. Estos métodos para completar la tabla, si no aumentan la solidez del cifrado, hacen que el proceso de cifrado sea mucho más entretenido.

Permutación "Cuadrado mágico"

Los cuadrados mágicos son tablas cuadradas con números naturales consecutivos a partir del 1 inscritos en sus celdas, que suman el mismo número para cada columna, cada fila y cada diagonal. Estos cuadrados se utilizaron ampliamente para ingresar texto cifrado según la numeración que figura en ellos. Si luego escribe el contenido de la tabla línea por línea, obtendrá cifrado al reorganizar las letras. A primera vista, parece que hay muy pocos cuadrados mágicos. Sin embargo, su número aumenta muy rápidamente a medida que aumenta el tamaño del cuadrado. Por tanto, sólo hay un cuadrado mágico de 3 x 3, si no se tienen en cuenta sus rotaciones. Ya hay 880 cuadrados mágicos de 4 x 4, y el número de cuadrados mágicos de tamaño 5 x 5 es de aproximadamente 250.000. Por lo tanto, los cuadrados mágicos grandes podrían ser una buena base para un sistema de cifrado confiable de esa época, porque probar manualmente todos los cuadrados. Las opciones clave para este cifrado eran impensables.

Los números del 1 al 16 caben en un cuadrado de 4 por 4. Su magia era que la suma de los números en filas, columnas y diagonales completas era igual al mismo número: 34. Estos cuadrados aparecieron por primera vez en China, donde fueron asignados algún "poder mágico".

16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

El cifrado del cuadrado mágico se llevó a cabo de la siguiente manera. Por ejemplo, debe cifrar la frase: "Llego hoy". Las letras de esta frase se escriben secuencialmente en el cuadrado según los números escritos en ellos: la posición de la letra en la oración corresponde al número ordinal. Se coloca un punto en las celdas vacías.

16. 3 y 2 r 13 días
5 z 10mo 11 gramos 8 tu
9C 6 semanas 7 un 12 en
4to 15 yo 14 norte 1P

Después de esto, el texto cifrado se escribe en una línea (la lectura se realiza de izquierda a derecha, línea por línea):
.irdzegu SzhaoyanP

Cuando se descifra, el texto se coloca en un cuadrado y el texto sin formato se lee en la secuencia de números del "cuadrado mágico". El programa debe generar "cuadrados mágicos" y seleccionar el requerido según la clave. El cuadrado es más grande que 3x3.

Historia

Requisitos

La pérdida completa de todos los patrones estadísticos del mensaje original es un requisito importante para un cifrado simétrico. Para hacer esto, el cifrado debe tener un "efecto avalancha": debe ocurrir un cambio fuerte en el bloque de cifrado con un cambio de 1 bit en los datos de entrada (idealmente, los valores de 1/2 bits del bloque de cifrado deben cambiar).

Otro requisito importante es la ausencia de linealidad (es decir, las condiciones f(a) xor f(b) == f(a xor b)), de lo contrario se facilita la aplicación del criptoanálisis diferencial al cifrado.

Esquema general

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 en 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 28147-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 crea 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 la función sea invertible; es posible que se desconozca 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 una determinada 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 bit.

Parámetros del algoritmo

Existen muchos (al menos dos docenas) de algoritmos de cifrado simétrico, cuyos parámetros esenciales son:

  • longitud de la clave
  • numero de rondas
  • longitud del bloque procesado
  • complejidad de la implementación de hardware/software
  • complejidad de conversión

Tipos de cifrados simétricos

cifrados de bloque

  • AES (ing. Estándar de cifrado avanzado): estándar de cifrado estadounidense



Arriba