Menú
Está libre
registro
casa  /  Multimedia / ¿Qué significa la longitud de la clave de cifrado? Claves criptográficas

¿Qué significa la longitud de la clave de cifrado? Claves criptográficas

El propósito principal de usar certificados SSL es cifrar los datos transmitidos al servidor desde el cliente y al cliente desde el servidor. Para garantizar la seguridad de dicha conexión, los navegadores modernos utilizan el algoritmo TLS basado en certificados X.509. Este algoritmo utiliza cifrado asimétrico para crear una clave de sesión para cifrado simétrico. Este último se utiliza directamente para transferir datos después de establecer una conexión segura.

¿Qué es una clave en criptografía?

Una clave en criptografía es una información secreta que se utiliza en criptografía para cifrar y decodificar mensajes, emitir una firma digital y verificarla, calcular códigos de autenticación de mensajes, etc. La seguridad de una clave está determinada por la denominada longitud de la clave, que se mide en bits. La longitud de la clave estándar para los certificados SSL es de 128 o 256 bits. La longitud de la clave del certificado raíz no debe ser inferior a 4096 bits. Todas las autoridades de certificación con las que cooperamos proporcionan certificados SSL con una clave que cumple plenamente con los estándares modernos:

Clave pública y privada en cifrado asimétrico

Usos de cifrado asimétrico par de llaves: public (clave pública) y cerrado, también llamado secreto (Llave privada). Las claves pública y privada en este caso permiten que el algoritmo criptográfico cifre y descifre el mensaje. Sin embargo, los mensajes cifrados con una clave pública solo se pueden descifrar utilizando una clave privada. La clave pública se publica en el certificado del propietario y está disponible para el cliente que se conecta, mientras que la clave privada la conserva el propietario del certificado. Las claves pública y privada están interconectadas por dependencias matemáticas, por lo que es imposible encontrar una clave pública o privada en poco tiempo (período de validez del certificado). Es por eso que el período de validez máximo para los certificados SSL de un nivel de seguridad superior es siempre menor. Por lo tanto, puede realizar pedidos por un máximo de 2 años. A su vez, al solicitar un nuevo certificado SSL o renovar uno antiguo, es importante generar una nueva solicitud de CSR, ya que su clave privada está vinculada a ella y es mejor renovarla al emitir un nuevo certificado SSL. La interacción del cliente con el servidor es la siguiente:
  1. el navegador cifra la solicitud basándose en la clave pública y la envía al servidor;
  2. el servidor, utilizando la clave privada, descifra el mensaje recibido;
  3. el servidor cifra su identificador digital con una clave privada y lo transmite al cliente;
  4. el cliente verifica el identificador del servidor y envía el suyo;
  5. después de la autenticación mutua, el cliente cifra la clave de la sesión futura con la clave pública y la transmite al servidor;
  6. todos los mensajes posteriores que se transmiten entre el cliente y el servidor se firman con la clave de sesión y se cifran utilizando las claves pública y privada.
Esto proporciona varios puntos de seguridad:
  • se excluye la posibilidad de fuga de información: si se intercepta, no será posible descifrarla;
  • el servidor confirma su dirección e identificador, se corta la posibilidad de redirigir a otro sitio (phishing);
  • al cliente se le asigna una sesión individual, lo que permite distinguirlo de otros clientes de manera más confiable;
  • una vez que se establece una sesión segura, todos los mensajes se cifran con el identificador del cliente y no se pueden interceptar ni alterar sin que se den cuenta.

En general, el cifrado de claves públicas y privadas puede verse como un caso en el que se utilizan dos claves: una solo se puede cerrar y la otra se puede abrir. Si la caja se cerró con la primera llave, solo la segunda puede abrirla; si se cerró con la segunda, para abrirla se requiere la primera. Esto se puede ver claramente en el diagrama de arriba.

La cantidad de información en una clave generalmente se mide en bits.

Para los algoritmos simétricos modernos (AES, CAST5, IDEA, Blowfish, Twofish), la característica clave de la fuerza criptográfica es la longitud de la clave. El cifrado con claves de 128 bits o más se considera fuerte porque se necesitan años de poderosas supercomputadoras para descifrar información sin una clave. Para los algoritmos asimétricos basados \u200b\u200ben problemas de teoría de números (problema de factorización - RSA, problema de logaritmo discreto - Elgamal), debido a sus peculiaridades, la longitud mínima de clave confiable es actualmente de 1024 bits. Para algoritmos asimétricos basados \u200b\u200ben la teoría de curvas elípticas (ECDSA, GOST R 34.10-2001, DSTU 4145-2002), la longitud mínima de clave confiable es 163 bits, pero se recomiendan longitudes de 191 bits y más.

Esta metodología utiliza la misma clave tanto para el cifrado como para el descifrado por parte del remitente y el receptor, que acordaron usar antes de que comenzara la interacción. Si la clave no se ha comprometido, durante el descifrado, el remitente se autentica automáticamente, ya que solo el remitente tiene una clave con la que se puede cifrar la información, y solo el destinatario tiene una clave que se puede utilizar para descifrar la información. Dado que el remitente y el destinatario son las únicas personas que conocen esta clave simétrica, si la clave está comprometida, solo se verá comprometida la interacción de estos dos usuarios. Un problema que será relevante para otros criptosistemas es la cuestión de cómo distribuir de forma segura claves simétricas (secretas).

Los algoritmos de cifrado simétrico utilizan claves cortas y pueden cifrar rápidamente grandes cantidades de datos.

Cómo utilizar sistemas con claves simétricas:

Una clave secreta simétrica se crea, distribuye y almacena de forma segura.

El remitente crea una firma electrónica calculando una función hash para el texto y agregando la cadena recibida al texto

El remitente utiliza un algoritmo de cifrado-descifrado simétrico rápido junto con la clave simétrica secreta del paquete recibido (el texto junto con la firma electrónica adjunta) para recibir el texto cifrado. La autenticación se realiza implícitamente de esta manera, ya que solo el remitente conoce la clave secreta simétrica y puede cifrar este paquete. Solo el destinatario conoce la clave secreta simétrica y puede descifrar este paquete.

El remitente transmite el texto cifrado. La clave secreta simétrica nunca se transmite a través de canales de comunicación inseguros.

El destinatario utiliza el mismo algoritmo de cifrado-descifrado simétrico junto con la misma clave simétrica (que el destinatario ya tiene) para el texto cifrado para recuperar el texto original y la firma electrónica. Su restauración exitosa autentica a alguien que conoce la clave secreta.

El destinatario separa la firma electrónica del texto.

El destinatario genera otra firma electrónica calculando una función hash para el texto recibido.

El destinatario compara estas dos firmas electrónicas para verificar la integridad del mensaje (sin alteración)

Las herramientas disponibles en la actualidad que utilizan la metodología simétrica son:

Kerberos, que fue diseñado para autenticar el acceso a los recursos en la red, no para verificar los datos. Utiliza una base de datos central que almacena copias de las claves privadas de todos los usuarios.

Redes de cajeros automáticos (ATM BankingNetworks). Estos sistemas son desarrollos originales de los bancos propietarios y no están a la venta. También utilizan metodologías simétricas.

Comparación con criptosistemas asimétricos

Ventajas

velocidad (según AppliedCryptography - 3 órdenes de magnitud mayor)

facilidad de implementación (debido a operaciones más simples)

se requiere una longitud de llave más corta para una resistencia comparable

conocimiento (debido a la mayor edad)

desventajas

la complejidad de la gestión de claves en gran red... Significa el aumento cuadrático en el número de pares de claves que se generarán, transmitirán, almacenarán y destruirán en la red. Para una red de 10 suscriptores se requieren 45 claves, para 100 ya 4950, para 1000 - 499500, etc.

la complejidad del intercambio de claves. Para usarlo, es necesario resolver el problema de la transferencia confiable de claves a cada suscriptor, ya que se necesita un canal secreto para transferir cada clave a ambas partes.

Para compensar las deficiencias del cifrado simétrico, actualmente se usa ampliamente un combinado (esquema criptográfico híbrido), en el que, al utilizar el cifrado asimétrico, se transmite una clave de sesión que las partes utilizan para intercambiar datos mediante el cifrado simétrico.

Una propiedad importante de los cifrados simétricos es la imposibilidad de usarlos para confirmar la autoría, ya que la clave es conocida por cada parte.

En esta metodología, las claves para el cifrado y el descifrado son diferentes, aunque se crean juntas. Una clave se da a conocer a todos y la otra se mantiene en secreto. Aunque se puede cifrar y descifrar con ambas claves, los datos cifrados con una clave solo se pueden descifrar con otra clave.

Todos los criptosistemas asimétricos están sujetos a ataques de fuerza bruta y, por lo tanto, deben utilizar claves mucho más largas que las utilizadas en los criptosistemas simétricos para proporcionar un nivel equivalente de protección. Esto afecta inmediatamente a los recursos computacionales necesarios para el cifrado, aunque los algoritmos de cifrado de curva elíptica pueden mitigar este problema. Bruce Schneier, en Criptografía aplicada: protocolos, algoritmos y código fuente C, proporciona la siguiente información sobre longitudes de clave equivalentes.

Para evitar la baja velocidad de los algoritmos de cifrado asimétrico, se genera una clave simétrica temporal para cada mensaje y solo esta clave se cifra con algoritmos asimétricos. El mensaje en sí se cifra mediante esta clave de sesión temporal y el algoritmo de cifrado / descifrado. Luego, esta clave de sesión se cifra mediante la clave pública asimétrica del destinatario y un algoritmo de cifrado asimétrico. Esta clave de sesión cifrada se transmite al destinatario junto con el mensaje cifrado. El destinatario utiliza el mismo algoritmo de cifrado asimétrico y la misma clave privada para descifrar la clave de sesión, y la clave de sesión resultante se utiliza para descifrar el mensaje en sí.

En los criptosistemas asimétricos, es importante que las claves de sesión y asimétricas sean comparables en términos del nivel de seguridad que brindan. Si se utiliza una clave de sesión corta (por ejemplo, DES de 40 bits), no importa qué tan grandes sean las claves asimétricas. Los piratas informáticos no los atacarán, sino las claves de sesión. Las claves públicas asimétricas son vulnerables a los ataques de fuerza bruta, en parte porque son difíciles de reemplazar. Si el atacante se entera de la clave asimétrica secreta, no solo la actual, sino también todas las interacciones posteriores entre el remitente y el destinatario se verán comprometidas.

Cómo utilizar sistemas con claves asimétricas:

Las claves públicas y privadas asimétricas se generan y distribuyen de forma segura. La clave asimétrica secreta se transfiere a su propietario. La clave pública asimétrica se almacena en una base de datos X.500 y es administrada por una autoridad de certificación (CertificationAuthority o CA). La implicación es que los usuarios deben confiar en que dicho sistema crea, distribuye y administra claves de forma segura. Además, si el creador de las claves y la persona o el sistema que las administra no son el mismo, el usuario final debe creer que el creador de las claves realmente destruyó una copia de ellas.

Se crea una firma electrónica del texto calculando su función hash. El valor recibido se cifra utilizando la clave secreta asimétrica del remitente, y luego la cadena de caracteres recibida se agrega al texto transmitido (solo el remitente puede crear una firma electrónica).

Se crea una clave simétrica secreta, que se utilizará para cifrar solo este mensaje o sesión de interacción (clave de sesión), luego utilizando un algoritmo de cifrado / descifrado simétrico y esta clave, se cifra el texto original junto con la firma electrónica agregada - se obtiene un texto cifrado (cifrado- texto).

Ahora necesitas solucionar el problema con la transferencia de la clave de sesión al destinatario del mensaje.

El remitente debe tener una clave pública asimétrica de la Autoridad de certificación (CA). La interceptación de solicitudes no cifradas para esta clave pública es una forma común de ataque. Puede haber un sistema completo de certificados que demuestren la autenticidad de la clave pública de la CA. El estándar X.509 describe una serie de métodos para que los usuarios obtengan claves públicas de CA, pero ninguno de ellos puede proteger completamente contra la suplantación de claves públicas de CA, lo que demuestra claramente que no existe ningún sistema en el que se pueda garantizar la autenticidad de la clave pública de CA.

El remitente solicita a la CA la clave pública asimétrica del destinatario. Este proceso es vulnerable a un ataque en el que un atacante interfiere con la comunicación entre el remitente y el receptor y puede modificar el tráfico entre ellos. Por lo tanto, la CA "firma" la clave pública asimétrica del destinatario. Esto significa que la CA usó su clave privada asimétrica para cifrar la clave pública asimétrica del destinatario. Solo la CA conoce la clave privada asimétrica de la CA, por lo que hay una garantía de que la clave asimétrica pública del destinatario es de la CA.

Una vez recibida, la clave pública asimétrica del destinatario se descifra utilizando la clave pública asimétrica de la CA y el algoritmo de cifrado / descifrado asimétrico. Naturalmente, se supone que la CA no se ha visto comprometida. Si resulta estar comprometido, entonces incapacita a toda la red de sus usuarios. Por lo tanto, puede cifrar las claves públicas de otros usuarios usted mismo, pero ¿dónde está la confianza de que no están comprometidas?

La clave de sesión ahora está cifrada mediante un algoritmo de cifrado-descifrado asimétrico y una clave de destinatario asimétrica (recibida de la CA y descifrada).

La clave de sesión cifrada se adjunta al texto cifrado (que también incluye la firma electrónica agregada anteriormente).

Todo el paquete de datos recibido (texto cifrado, que incluye, además del texto original, su firma electrónica y clave de sesión cifrada) se transmite al destinatario. Dado que la clave de sesión cifrada se transmite a través de una red no segura, es un objetivo obvio para varios ataques.

El destinatario extrae la clave de sesión cifrada del paquete recibido.

Ahora el destinatario debe resolver el problema de descifrar la clave de sesión.

El destinatario debe tener una clave pública asimétrica de la Autoridad de certificación (CA).

Usando su clave asimétrica secreta y el mismo algoritmo de cifrado asimétrico, el destinatario descifra la clave de sesión.

El destinatario aplica el mismo algoritmo de cifrado-descifrado simétrico y la clave simétrica (sesión) descifrada al texto cifrado y recibe el texto original junto con la firma electrónica.

El destinatario separa la firma electrónica del texto original.

El destinatario solicita a la CA la clave pública asimétrica del remitente.

Una vez obtenida esta clave, el destinatario la descifra utilizando la clave pública de la CA y el correspondiente algoritmo de cifrado-descifrado asimétrico.

La función hash del texto se descifra luego utilizando la clave pública del remitente y un algoritmo de cifrado-descifrado asimétrico.

Se recalcula la función hash del texto original resultante.

Estas dos funciones hash se comparan para verificar que el texto no ha cambiado.

Características del sistema

Solicitud

Se pueden utilizar los algoritmos del criptosistema de clave pública

Como medio independiente para proteger la información transmitida y almacenada

Como medio de distribución de claves. Por lo general, al utilizar algoritmos de criptosistemas de clave pública, se distribuyen claves que son de pequeño volumen. Y la transferencia de grandes flujos de información llevado a cabo utilizando otros algoritmos.

Como medio de autenticación de usuarios.

Ventajas: La ventaja de los cifrados asimétricos sobre los cifrados simétricos es que no hay necesidad de una transmisión preliminar de la clave secreta a través de un canal confiable.

En la criptografía simétrica, la clave se mantiene en secreto para ambas partes, y en el criptosistema asimétrico, solo una es secreta.

Con el cifrado simétrico, es necesario actualizar la clave después de cada hecho de transmisión, mientras que en los criptosistemas asimétricos, el par (E, D) no se puede cambiar durante un tiempo significativo.

EN grandes redes el número de claves en un criptosistema asimétrico es mucho menor que en uno simétrico.

Desventajas: La ventaja del cifrado simétrico sobre el cifrado asimétrico es que el primero es relativamente fácil de modificar.

Aunque los mensajes están cifrados de forma segura, el destinatario y el remitente están "expuestos" por el solo hecho de enviar un mensaje cifrado.

Los algoritmos asimétricos utilizan claves más largas que las simétricas. A continuación se muestra una tabla que compara la longitud de la clave del algoritmo simétrico con la longitud de la clave del algoritmo asimétrico con una fuerza criptográfica similar:

El proceso de cifrado-descifrado utilizando un par de claves es de dos a tres órdenes de magnitud más lento que el cifrado-descifrado del mismo texto utilizando un algoritmo simétrico.

En su forma pura, los criptosistemas asimétricos requieren recursos informáticos significativamente mayores, por lo tanto, en la práctica, se utilizan en combinación con otros algoritmos.

Para EDS, el mensaje tiene previamente un hash y solo un resultado relativamente pequeño de la función hash se firma con una clave asimétrica.

Para el cifrado, se utilizan en forma de criptosistemas híbridos, en los que se cifran grandes cantidades de datos con un cifrado simétrico en la clave de sesión, y solo la clave de sesión en sí se transmite mediante un cifrado asimétrico.

En criptografía, el criptoanálisis lineal es un método de ataque criptoanalítico que utiliza aproximaciones lineales para describir el funcionamiento de un cifrado.

El criptoanálisis lineal fue inventado por el criptólogo japonés MitsuruMatsui. El algoritmo que propuso en 1993 (en Eurocrypt-93) estaba originalmente destinado a descifrar DES y FEAL. Posteriormente, el criptoanálisis lineal se amplió a otros algoritmos. Hoy en día, junto con el criptoanálisis diferencial, es uno de los métodos más comunes para romper los cifrados de bloques. Se han desarrollado cifrados en bloque y en flujo.

El descubrimiento del criptoanálisis lineal fue el impulso para la construcción de nuevos esquemas criptográficos.

Principio de funcionamiento

El criptoanálisis se realiza en dos pasos. La primera es construir relaciones entre texto plano, texto cifrado y clave que sean válidas con una alta probabilidad. El segundo es utilizar estas relaciones junto con los pares de texto plano-texto cifrado conocidos para obtener los bits de clave.

Protección de criptoanálisis lineal

Para atacar un cifrado de bloque usando criptoanálisis lineal, es suficiente, como se describió anteriormente, para obtener una relación lineal que está significativamente sesgada en la probabilidad de 1/2. En consecuencia, el primer objetivo al diseñar un cifrado resistente a los ataques es minimizar los sesgos probabilísticos, para asegurarse de que no exista tal relación. En otras palabras, es necesario asegurarse de que con cualquier cambio en el texto o clave en el texto cifrado resultante, exactamente la mitad de los bits cambian su valor al contrario, y cada bit cambia con una probabilidad de 1/2. Esto generalmente se logra eligiendo cajas S altamente no lineales y mejorando la difusión.

Este enfoque proporciona un buen fundamento para la solidez del cifrado, pero para demostrar rigurosamente la seguridad contra el criptoanálisis lineal, los desarrolladores de cifrado deben considerar un fenómeno más complejo: el efecto de casco lineal.

Una teoría algo más general de la prueba de seguridad contra una clase de ataques basada en el criptoanálisis lineal se basa en la noción de descorrelación. La teoría asume que el dispositivo es un módulo de descorrelación que bloquea efectivamente la propagación de las características tradicionales lineales y diferenciales. Cabe señalar que los cifrados que son óptimos contra una clase limitada de ataques suelen ser débiles frente a otros tipos de ataques.

La gestión de claves (KM) es un área de criptografía tan importante y desarrollada que requiere una consideración separada y detallada. A los sistemas CM se les confía un gran conjunto de funciones diversas, que proporcionan una variedad de propiedades básicas y recientemente adquiridas de los criptosistemas que están equipados con ellos. Dichos esquemas pueden realizar almacenamiento, reenvío, cifrado (es decir, confidencialidad), autenticación, "depósito" (custodia) y uso compartido de claves. El único propiedad comun Los sistemas CC es que como resultado de diversas transformaciones deben dotar al criptosistema de una clave (simétrica o asimétrica), sobre la cual se realizará el proceso principal de cifrado de documentos. Implementación técnica de sistemas de gestión de claves públicas (PKI - PublicKeyInfrastructure)

Dependiendo del tipo de llave que el sistema MC genere finalmente, se dividen en sistemas de control, llaves simétricas y sistemas de control de llave asimétrica. Los sistemas de gestión de claves simétricas, a su vez, se dividen en sistemas con claves maestras iniciales y sistemas con información inicial cero. Los sistemas de depósito de claves y los sistemas de intercambio de secretos se consideran un material separado. Desafortunadamente, esta sección no puede cubrir ni la mitad de los diversos esquemas de CM y protocolos criptográficos basados \u200b\u200ben ellos; hasta la fecha, los investigadores han desarrollado más de cien esquemas diferentes. La introducción cada vez más común del tercer tema de las criptooperaciones - proxies con diferentes funciones y poderes - ha dado lugar a toda una ola de protocolos que aportan nuevas propiedades a los criptosistemas (apelabilidad, confirmación de la fecha / hora de firma, custodia de claves, etc.).

Con preinstalación parcial

Todos los sistemas de gestión de claves simétricas, independientemente de cuántos participantes estén involucrados en el proceso, se clasifican principalmente en sistemas en los que los canales de seguridad ya están instalados entre los sujetos (es decir, hay claves maestras secretas) y en sistemas en los que este canal no lo está. En el primer caso, el objetivo principal del sistema de gestión de claves es generar claves de sesión o actualizar la información clave o, lo que se requiere con mayor frecuencia, intercambiar una clave secreta entre dos suscriptores que anteriormente no tenían dicha clave directamente, aunque una cadena de enlaces de confianza (por ejemplo, a través de conocimiento mutuo) ya existía. En el segundo caso, cuando dos usuarios no tienen ninguna información secreta compartida, necesitan instalar la clave de tal manera que el atacante que escucha todo el intercambio de mensajes no pueda crear su "tercera" copia de la clave.

El caso en el que dos suscriptores ya pueden comunicarse entre sí a través de un canal seguro y al mismo tiempo quieren intercambiar información clave "nueva", de hecho, no contiene prácticamente ninguna sutileza. Solo es necesario prestar atención a la imposibilidad de reenviar por parte de un atacante un paquete previamente interceptado con la misma información. Para ello, se introducen en el sistema contadores incrementales automáticos y / o sellos de fecha / hora.

Los sistemas con tres temas son algo de mayor interés: dos suscriptores y un servidor de claves de confianza. En este caso, se considera que el servidor atiende a una gran cantidad de clientes pares, con cada uno de ellos el servidor ya ha establecido un canal de comunicación seguro, es decir, se ha realizado un intercambio de claves. Ahora, en una determinada etapa del funcionamiento del sistema, dos clientes del servidor, que nunca antes se habían comunicado, tenían el deseo de intercambiar información privada.

En una situación similar, el protocolo clásico para establecer una clave de sesión se ve así: la persona que llama se designa como A, el suscriptor llamado es B, el servidor de confianza es S, la clave con la que A y S se intercambiaron a priori es "AS", la clave entre el suscriptor B y S - "BS".

Llaves sin preinstalación

La tarea de los protocolos de esta clase es crear, sobre la base de mensajes transmitidos por canales de comunicación abiertos, información clave idéntica para dos suscriptores, y hacerlo de tal manera que cualquier tercera persona que haya revisado todas las negociaciones que tuvieron lugar no pueda recibir esta clave. A primera vista, la tarea parece completamente insoluble, pero existen métodos para lograr este objetivo y son muy confiables. La base de tales protocolos son esquemas muy similares al cifrado asimétrico.

Inicialmente, todas las partes involucradas en el intercambio de claves acuerdan una P prima grande (no es un secreto). Dos suscriptores (A y B) que quieran crear una clave de sesión secreta:

Crean, respectivamente, dos grandes números aleatorios (ayb), así como sus inversiones mod p (a-1 modp y b-1 mod p) y los mantienen en secreto en sus sistemas.

La persona que llama genera una clave de sesión k (k< р-2) и возводит его в степень а по модулю р, после чего отправляет полученное выражение вызываемому абоненту: M1=ka mod p.

La parte llamada eleva el mensaje recibido a la potencia by devuelve: М2 \u003d (M1b mod p) \u003d (kab mod p).

La persona que llama descifra el número recibido invirtiendo el número ay lo envía de vuelta: МЗ \u003d (М2-b mod p) \u003d (kb mod p).

Finalmente, el suscriptor B descifra el último mensaje invirtiendo el número by recibe la clave de sesión deseada: k \u003d (MS-b mod p) \u003d (k mod p).

La criptografía asimétrica, que aparentemente resolvió el problema de la confidencialidad de los mensajes sin transmitir primero la clave secreta a través de un canal seguro, resulta que solo ha transferido este problema a un área ligeramente diferente. De un vistazo superficial a un sistema asimétrico, parece - "busque la clave pública del destinatario en la red, cifre el mensaje con ellos y - se logra la confidencialidad". Pero aquí es donde aparece un atacante intermediario: hipotéticamente, podría haber colocado su clave pública en un conjunto de servidores en la red con el nombre del suscriptor destinatario y su dirección postal. En el futuro, al recibir cualquier carta, la descifra con su clave privada, la lee y la reenvía al verdadero destinatario, cifrándola ya en el presente. llave abiertaque él realmente sabe. Al mismo tiempo, los esquemas EDS no se guardan si el atacante cambió las claves públicas tanto del remitente como del destinatario. Estas consideraciones conducen al hecho de que todavía es necesario un canal seguro preliminar, para transferir la clave pública y la dirección postal, o al menos algún bloque de datos de soporte (por ejemplo, el hash de la clave pública).

Sin embargo, las tecnologías asimétricas lograron un avance mucho mayor en los esquemas de distribución de claves que las simétricas: se inventaron los certificados. Un certificado es un bloque de información que contiene datos que identifican de forma única a un suscriptor, su clave pública y dirección de transporte, y este bloque de información está firmado con el EDS de otra persona. El suscriptor al que se hace referencia en el certificado se denomina propietario de la clave, el sujeto de la red que firmó el certificado, la persona que certifica (en la Ley de RF "Sobre firmas digitales electrónicas", el centro de certificación). Supongamos que el suscriptor A nunca se ha comunicado con el suscriptor C y no puede verificar la autenticidad de su clave pública, pero tanto A como C se comunicaron con un determinado suscriptor B; entonces B puede actuar como una persona que acredita y firmar un certificado para el propietario de la clave C. Luego, el suscriptor A, después de haber recibido certificado y habiendo verificado la firma B, en cuya clave pública está seguro, puede de ahora en adelante confiar en la clave pública del suscriptor C.

¿Qué es este "avance" en el esquema de distribución de claves? Lo mejor de los certificados es que puede encadenar su uso. De hecho, suponga que dos suscriptores A y D que desean comunicarse no pueden encontrar un conocido común, pero resultó que A conoce algo de B y D conoce a algunos C que están familiarizados entre sí. Esto significa que B puede enviar a A un certificado para la clave C y C puede enviar a A un certificado para la clave D. Como resultado, A tiene la confianza de que la clave pública D en sus manos es verdadera. Así, se construyó una cadena de confianza, que en su esencia representa el mismo canal seguro preliminar entre A y D (emisor y receptor), pero este canal fue ensamblado (y en un esquema muy simple y confiable) a partir de varios canales limpios ya existentes. La posibilidad de tal construcción de un canal seguro "bajo demanda" a partir de varios cortos que ya existían, es la ventaja de la criptografía abierta.

En la actualidad, el desarrollo del esquema descrito en todo el mundo es muy intensivo. Han surgido las siguientes tendencias principales. Primero, comenzaron a aparecer entidades cuya única función es almacenar y certificar claves: las autoridades de certificación (CA). En segundo lugar, los grandes proveedores de software participarán activamente en el proceso de creación de cadenas de confianza. De hecho, si un usuario de computadora compra software con licencia en una caja sellada de marca con un holograma y otros grados físicos de protección, entonces la tarea de falsificar una clave pública en este disco se vuelve un orden de magnitud más complicada. Y al tener varias claves públicas confiables de grandes fabricantes de software, el usuario ya puede construir muchas cadenas de confianza para millones de suscriptores. Y los propios proveedores de software reciben como dividendos la capacidad de autenticar actualizaciones de software a través de la red, firmadas con las mismas claves, cuyas mitades abiertas se colocaron en el CD original.

Estándares de algoritmos criptográficos

Existen estándares para algoritmos criptográficos. La confiabilidad de los algoritmos que cumplen con los estándares es cuidadosamente analizada por especialistas. Cuando se trabaja con documentación oficial, se permite utilizar solo algoritmos que cumplan con los estándares.

Los diferentes países tienen diferentes estándares para los algoritmos. EN software Los algoritmos que cumplen con los estándares estadounidenses se utilizan ampliamente, con mayor frecuencia el algoritmo RSA.

Rusia tiene sus propios estándares estatales para algoritmos de cifrado y generación / verificación de firmas electrónicas: GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001.

Para generar y verificar firmas electrónicas, así como cifrar y descifrar documentos, se utilizan determinadas secuencias de acciones, denominadas algoritmos criptográficos.

Un algoritmo criptográfico es un desarrollo serio que requiere mucho trabajo de especialistas y cumple con ciertos requisitos ... Un gran número de usuarios puede utilizar el mismo algoritmo para proteger la información, porque los algoritmos no son información clasificada.

Existen estándares para algoritmos criptográficos, es decir conjuntos formalizados de requisitos que deben cumplir estos algoritmos. Estos estándares difieren de un país a otro y cambian con el tiempo. Algoritmos estadounidenses populares - RSA, DSA etc. - que se utilizan a menudo en común productos de software, cumple con los estándares estadounidenses.

Rusia también ha adoptado estándares estatales para algoritmos criptográficos. Los fabricantes rusos, incluido Cryptocom LLC, utilizan algoritmos en sus productos de software que cumplen con los estándares rusos.

Las claves criptográficas se utilizan como información secreta.

Una clave criptográfica es una secuencia de caracteres generada de acuerdo con ciertas reglas. Esta secuencia se utiliza para transformaciones criptográficas de textos. Cada algoritmo criptográfico tiene sus propios requisitos, de acuerdo con las claves que se crean. Cada clave se genera para un algoritmo específico.

Para asegurar la no reproducibilidad de la firma electrónica y la imposibilidad de leer los textos cifrados por personas no autorizadas, se utilizan claves criptográficas en criptografía.

Una clave criptográfica moderna es una secuencia de números de cierta longitud, generada de acuerdo con ciertas reglas basadas en una secuencia de números aleatorios. Para cada tecla, se recrea una secuencia de números aleatorios, ninguna secuencia se usa más de una vez. Para generar secuencias de números aleatorios, se utilizan objetos o dispositivos de software especiales llamados generadores de números aleatorios.



Cada algoritmo tiene sus propios requisitos de clave, por lo que cualquier clave criptográfica se genera para un algoritmo específico y se usa solo con ese algoritmo.

Si la generación de una firma electrónica y su verificación, o el cifrado y descifrado del texto se realizan utilizando la misma clave, este enfoque se denomina criptografía simétrica (algoritmos simétricos y claves simétricas, respectivamente). Las operaciones de criptografía simétrica son rápidas y relativamente sencillas. Pero requieren que al menos dos personas conozcan la clave, lo que aumenta significativamente el riesgo de que se vean comprometidos (es decir, el acceso a ellos por parte de personas no autorizadas).

Por lo tanto, ahora se usa principalmente criptografía asimétrica... En la criptografía asimétrica, la generación de una firma electrónica o el cifrado se realiza en una clave y la verificación o el descifrado de la firma se realiza en una clave emparejada diferente.

En criptografía asimétrica, se utilizan los denominados pares de claves. Cada uno de estos pares consta de dos claves interconectadas. Una de estas claves es una clave privada. Solo lo conoce el propietario de la clave y bajo ninguna circunstancia debe estar disponible para nadie más. La otra clave es la clave pública, se puede acceder

alguien interesado.

Se entiende por información clave el conjunto de todas las claves que operan en el sistema. Si no se proporciona una gestión suficientemente fiable y segura de la información clave, entonces el efecto del uso de la protección de datos criptográficos puede reducirse a cero: habiendo tomado posesión de las claves, un intruso podrá acceder a la información protegida. El proceso de gestión de claves incluye la implementación de tres funciones principales:

  • generación de claves;
  • almacenamiento de llaves;
  • distribución de llaves.

Generación de claves. Secuencias verdaderamente aleatorias y pseudoaleatorias... La generación de claves debe realizarse de tal manera que sea casi imposible predecir el valor de la clave (incluso sabiendo cómo se generará). En el caso ideal, la probabilidad de elegir una clave específica del conjunto de admisibles es 1 /A, Dónde K - cardinalidad del conjunto de claves (las claves son igualmente probables).

Para obtener claves, hardware y software generando valores aleatorios. Para sistemas con altos requisitos de seguridad, los sensores de hardware basados \u200b\u200ben procesos físicos aleatorios se consideran más preferibles.

Entonces, intel desarrolló un generador de números aleatorios utilizando el ruido térmico del sistema como entrada. Otras empresas están enviando dispositivos llamados aceleradores criptográficos, que también incluyen generadores de números aleatorios (Figura 2.60). Estos dispositivos de hardware generan verdaderamente aleatorio secuencias de números.

La secuencia se llama verdaderamente aleatoriosi no se puede reproducir. Esto significa que si ejecuta el generador de números aleatorios verdaderos dos veces con la misma entrada, la salida será diferentes secuencias aleatorias.

Al mismo tiempo, debido al bajo costo y la posibilidad de replicación ilimitada, las más comunes son las implementaciones de software.

Figura: 2,60.

ciones de generadores. Hay que tener en cuenta que la secuencia obtenida en este caso será pseudoaleatorio - si el generador de programas se vuelve a ejecutar con los mismos valores iniciales, producirá la misma secuencia (Fig. 2.61).

Los generadores de números pseudoaleatorios implementados por software son funciones periódicas cuyos valores se repiten cíclicamente. La longitud de un fragmento que se repite periódicamente de una secuencia pseudoaleatoria (dentro de la cual no hay repeticiones) se llama período funciones del generador. El período es siempre finito, aunque posiblemente un número bastante grande.

Figura: 2,61.

El generador de números pseudoaleatorios más simple y conocido es un generador congruencial lineal que genera una secuencia de números. R (i):

dónde UN y DESDE - constantes; R (0) es el valor original elegido como número principal. Valor t generalmente se establece en 2 n y Dónde pAGS -la longitud de la palabra de máquina en bits. El generador tiene un período de M, después del cual la secuencia generada comenzará a repetirse. Necesito elegir números A y C para que el período METRO fue el máximo. Se ha demostrado que esto se puede lograr si y solo si DESDE - extraño y UN mod 4 \u003d 1.

Un generador congruencial lineal no es adecuado para fines criptográficos, ya que se conocen algoritmos simples que permiten restaurar completamente los parámetros del generador (y por lo tanto predecir el valor de cualquier miembro de la secuencia) a partir de unos pocos elementos de la secuencia que genera.

Entonces, por ejemplo, para valores conocidos R (0), R ( 1), R (2), R (3) (o cualquier otro cuatro miembros consecutivos de la secuencia de números pseudoaleatorios R (i)) Los parámetros del generador se pueden obtener del sistema de ecuaciones.

Hay muchos otros generadores de números pseudoaleatorios, como generadores congruentes no lineales, registros lineales con retroalimentación, Mersenne vortex, etc., muchos de los cuales tienen buenas características de velocidad, pero no proporcionan suficiente durabilidad.

Como ejemplos de generadores criptográficamente fuertes de números pseudoaleatorios, se puede citar el modo OFB (y su modificación CTR) de los cifrados de bloque, así como el modo gamma del criptoalgoritmo doméstico GOST 28147-89. En este caso, se utilizan claves que están especialmente reservadas para tareas de generación. Los valores iniciales pueden tomarse, por ejemplo, los valores del temporizador del sistema informático. Además, se pueden construir generadores criptográficamente fuertes utilizando funciones hash unidireccionales.

Un generador de secuencias pseudoaleatorias para tareas criptográficas debe cumplir con los siguientes requisitos:

  • la secuencia generada debe ser estadísticamente indistinguible de una secuencia absolutamente aleatoria en un tiempo de cálculo razonable;
  • el conocimiento de cualquier parte inicial de la secuencia no permite predecir el siguiente bit de esta secuencia dentro de un tiempo de cálculo razonable.

Se pueden utilizar varias pruebas estadísticas para identificar posibles desviaciones de la aleatoriedad:

  • pruebas estadísticas clásicas (prueba de la hipótesis de distribución uniforme de una variable aleatoria mediante el método chi-cuadrado, pruebas de homogeneidad y simetría);
  • pruebas aplicables a secuencias binarias (método de ráfagas, prueba periódica de frecuencia);
  • pruebas especialmente diseñadas o seleccionadas para su uso en criptografía: pruebas NIST (16 pruebas recomendadas por el Instituto Nacional de Estándares y Tecnología de EE. UU.); Pruebas DIEHARD, conocidas como una de las series de pruebas más estrictas; D. Pruebas de Knuth basadas en la prueba de chi-cuadrado; prueba adaptativa "pila de libros", etc.

Bloom generador - Bluma - Abrigo de piel... El generador de números pseudoaleatorios criptográficamente fuerte más simple y efectivo en este momento es el generador BBS (Blum - Blum - Shub), que lleva el nombre de los creadores L. Blum, M. Blum y M. Shub y se basa en la teoría de residuos cuadráticos en módulo.

Primero encuentra dos números primos grandes p) q aproximadamente del mismo tamaño, que cuando se divide por 4 da un resto de 3:

Para encontrar números r y q puedes elegir números enteros aleatorios primero y y v, calcular r = Ai + 3, q = 4v + 3 y luego verifíquelos por simplicidad. Si el número resultante resultó no ser simple, se elige un nuevo valor aleatorio. Luego calculó n \u003d pq, llamó al número de Bloom. A continuación, se elige un entero aleatorio s, 1 s coprime con pAGS, MCD (5, n) \u003d. Genera el valor inicial del generador x 0 \u003d s modrc. Tiene x () - módulo de residuo cuadrático aleatorio pags.

Como bits de la secuencia pseudoaleatoria pD longitud requerida L se utilizan los bits de números menos significativos x

Una característica interesante del generador BBS es que conocer la expansión del número pAGS en factores, permite una determinación directa eficiente de cualquier bit de la secuencia pD. Ninguna x- se puede calcular basándose solo en el valor inicial x 0 y número de serie yo:

El algoritmo BBS, con la elección correcta de los parámetros iniciales, satisface todos los criterios estadísticos para secuencias pseudoaleatorias. El generador de BBS es impredecible a izquierda y derecha, es decir, es imposible predecir el bit anterior o siguiente de una secuencia teniendo cualquier parte de ella. El período de la secuencia pseudoaleatoria generada por el generador BBS es muchas veces el tamaño del módulo. ordenador personal

Ejemplo 2.11

Generemos una secuencia pseudoaleatoria de 4 bits usando el generador BBS.

Encuentra números r y q. Elija dos números enteros aleatorios y \u003d 3 y v \u003d 5. Calculemos p \u003d 4 3 + 3 = 15 yp \u003d 15 no es simple y no se puede usar en un generador BBS, pero un número q \u003d 23 es simple. Luego elegimos un nuevo valor u \u003d 7, p \u003d 7-4 + 3 \u003d\u003d 31 - simple. Número de floración n \u003d pq \u003d 31 23 = 713.

Elija un número entero aleatorio 5, coprime con pags. Dejar s \u003d 16, POD (16, 713) \u003d 1. Entonces:

Como una secuencia pD tomemos los bits de números menos significativos x ( (0 - si el número es par y 1 - si el número es impar), obtenemos ps \u003d 0110.

Supongamos ahora que se requiere responder a la pregunta: ¿cuál será el duodécimo bit de la secuencia? ¿PD?

Conociendo la descomposición de un número pAGS por factores (R \u003d 31 y q \u003d 23), calculamos x y:

x y - incluso significa el duodécimo bit de la secuencia pD será cero.

La eficiencia del generador BBS se puede aumentar sin debilitar la secuencia resultante. pD, si no usa uno, pero no más de log 2 rj bits de números menos significativos x jf Dónde r - el número de dígitos binarios del número Bloom pAGS (es decir, aproximadamente log 2 log 2 n bits menos significativos).

Ejemplo 2.12

Es necesario averiguar el número máximo posible de bits de números menos significativos x (,que se puede utilizar en BBS-gsnsrators, ns debilitándolo si pAGS= 713.

Calcule el log 2 (713 + 1) "9.48 (agregue uno para codificar cero), redondeando al número entero más cercano, obtenemos r \u003d 10 es el número de dígitos binarios de 713.

Calculamos log 2 10 ~ 3.32, redondeando al número entero más cercano, obtenemos 3. Entonces, en una implementación efectiva del generador BBS, puede usar los tres bits de números menos significativos x ( (para comparación: log 2 log 2 713 ~ 3.24, el resultado es el mismo: tres bits menos significativos).

Estándar ANSI X9.17. Parece natural utilizar algoritmos de cifrado criptográficamente fuertes para construir un generador de números pseudoaleatorios criptográficamente fuerte. Para estos fines, los modos OFB, CTR o gamma son adecuados (para GOST 28147-89). Este método proporciona suficiente calidad de la secuencia generada, ya que la gama criptográfica tiene las características estadísticas necesarias. Al igual que con otros generadores de números pseudoaleatorios, la secuencia será periódica. Entonces, la gamma del cifrado del algoritmo GOST 28147-89 tiene un período de repetición de bloques de 64 bits igual a 2 64-2 32.

Uno de los esquemas de generación de claves que utiliza un cifrado simétrico es el estándar ANSI X9.17 con el algoritmo triple DES (Triple DES, 3DES) con una clave doble (Fig. 2.62). Las aplicaciones que utilizan esta tecnología incluyen PGP.


Figura: 2,62.

Deja que la función E k (X) realiza cifrado X según el algoritmo ZOEB (cifrado - descifrado - cifrado) en una clave preparada previamente k \u003d (K 1, K2), que solo se usa para generar claves secretas. Dejemos más lejos el vector de inicialización IV 0 es el valor inicial de 64 bits, que se mantiene en secreto para el adversario, y G. es la marca de tiempo cuando se generó yoth clave. Luego otra clave aleatoria R) calculado usando transformación

El siguiente valor del vector de inicialización IV i + v que se utilizará para generar el siguiente número aleatorio se calcula como

El objetivo principal del generador ANSI X9.17 es obtener una gran cantidad de claves para múltiples sesiones de comunicación.

En términos generales, en lugar de 3DES, puede utilizar cualquier otro algoritmo de cifrado fuerte, por ejemplo, GOST 28147-89.

En la práctica, la necesidad de llamadas adicionales al procedimiento de cifrado (una en el caso de gamma y tres en el estándar ANSI X9.17) hace que la generación sea muy intensiva en recursos, lo que complica su implementación de hardware y determina las características de baja velocidad de este método.

Actualmente, el triple cifrado se utiliza (debido a la baja velocidad) solo para cambiar los valores iniciales del generador de secuencia pseudoaleatorio, los bloques de secuencia en sí se forman como resultado de una única llamada al algoritmo de cifrado.

Espacios clave. Espacio clave K (espacio de clave) es la colección de todos los valores clave posibles.

Si alguna clave del conjunto de claves posibles proporciona la misma fuerza de cifrado, es decir, no hay claves débiles, entonces hablan de homogéneo (lineal) espacio clave.

Los espacios de claves heterogéneos se utilizan para proteger contra el uso no autorizado de equipos criptográficos.

Uno de los problemas que tienen que resolver los criptógrafos militares es dificultar al máximo su uso para proteger las comunicaciones enemigas en caso de una incautación por parte de un enemigo del potente equipo criptográfico que han desarrollado. El primer paso para resolver este problema es la implementación de hardware del algoritmo de cifrado en forma de un módulo que el adversario no puede abrir para familiarizarse con las características del algoritmo.

Luego, debe asegurarse de que las teclas utilizadas tengan un aspecto especial. Si la clave ingresada se desvía de este tipo, se utilizará un algoritmo criptográfico mucho más débil para cifrar los mensajes. Es deseable que las posibilidades de dar accidentalmente a la clave una forma especial necesaria para el cifrado utilizando un algoritmo fuerte sean insignificantes. En este caso, el espacio clave es heterogéneo (no lineal) porque las claves no son igualmente fuertes.

Una de las formas de lograr la no linealidad del espacio de claves es dividir la clave utilizada en dos partes: la clave de cifrado en sí y alguna cadena de verificación fija obtenida mediante un método criptográficamente fuerte. Después de descifrar la cadena de verificación, el módulo de cifrado compara el texto sin formato recibido con el de referencia y, si coincide, utiliza un algoritmo de cifrado fuerte y, si no coincide, utiliza un algoritmo de cifrado menos sólido.

El espacio de claves heterogéneo se caracteriza por las siguientes características:

  • cifrado de información utilizando un criptoalgoritmo fuerte E a ocurre solo cuando se usan teclas especiales;
  • Tecla "correcta" (persistente) k \u003d, Dónde k "- longitud real de la clave de cifrado n k, (|&| = n j) F - alguna función criptográfica; | F (k ') | - A, A - n a -
  • la probabilidad de obtener accidentalmente una clave fuerte es insignificante e igual a 2 “d;
  • Si la clave recibida en la entrada del módulo de cifrado no es segura, se utiliza un algoritmo mucho menos fuerte para cifrar la información. E [.

Por ejemplo, un cifrado de bloque con una longitud de clave de 128 bits podría utilizar una clave "compuesta" de 192 bits. Entonces, la probabilidad de usar accidentalmente una clave fuerte será bastante pequeña, solo 2-64.

También es necesario asegurarse de que la diferencia en la fuerza de las teclas no sea demasiado obvia para el enemigo y no adivine nada.

Conservación y distribución de llaves.Se recomienda reemplazar periódicamente las claves utilizadas en el sistema. Al organizar el almacenamiento de claves de cifrado simétricas, es necesario garantizar condiciones de trabajo tales que las claves privadas nunca se registren explícitamente en un medio al que pueda acceder un intruso. Este requisito se puede cumplir creando jerarquías clave. La jerarquía de tres niveles implica dividir las claves:

  • a la llave maestra (llave maestra);
  • clave clave de cifrado;
  • clave de cifrado de datos (clave de sesión).

Las claves de sesión, el nivel más bajo de la jerarquía, se utilizan para cifrar datos y autenticar mensajes. Las claves de cifrado de claves se utilizan para proteger estas claves durante la transmisión o el almacenamiento, y nunca deben utilizarse como claves de sesión. En nivel superior la jerarquía contiene la clave maestra (o clave maestra). Se utiliza para proteger las claves de segundo nivel. Para proteger la clave maestra en sistemas que utilizan únicamente cifrados simétricos, es necesario utilizar no medios criptográficos, sino, por ejemplo, medios de protección de datos físicos. En sistemas de información relativamente pequeños, se puede utilizar una jerarquía de claves de dos niveles (claves maestra y de sesión).

Actualmente, los esquemas de criptografía de clave pública se utilizan comúnmente para la distribución de claves, como el sistema Diffie-Hellman (DH) o el protocolo Needham-Schroeder, que proporciona autenticación mutua de las partes con la formación de una clave secreta compartida. Una solución eficaz al problema de la distribución de claves mediante criptografía simétrica es posible cuando se utiliza un centro de confianza común (servidor de claves).

Al distribuir claves entre suscriptores del sistema, se deben cumplir los siguientes requisitos:

  • asegurar la eficiencia y precisión de la distribución de claves;
  • garantizar el secreto de la distribución de claves.

La distribución de claves se puede realizar:

  • utilizar uno o más centros de distribución clave (distribución centralizada);
  • intercambio directo de claves de sesión entre usuarios de la red (distribución de claves descentralizada).

La distribución descentralizada de claves de cifrado simétricas requiere que cada usuario tenga una gran cantidad de claves (para la comunicación con cada uno de los suscriptores del sistema), que primero deben distribuirse de forma segura y luego garantizar su secreto durante los ronquidos.

La distribución centralizada de claves de cifrado simétricas significa que cada usuario tiene solo una clave maestra para comunicarse con el centro de distribución de claves. Para intercambiar datos con otro suscriptor, un usuario contacta con un servidor de claves, que asigna una clave de sesión simétrica a este usuario y al suscriptor correspondiente. Uno de los sistemas de distribución de claves centralizados más conocidos es el protocolo Kerberos.

Las redes de comunicación secretas que utilizan la distribución centralizada de información clave están más protegidas en caso de que los suscriptores individuales se vean comprometidos. El compromiso de un suscriptor se entiende como una situación en la que el enemigo conoce toda la información sobre este suscriptor (incluidas sus claves secretas). Sin embargo, cuando el servidor de claves se ve comprometido, toda la red secreta de comunicaciones se ve comprometida.

  • PROYECTO NIST SP 800-90А, Rev. 1. Recomendación para la generación de números aleatorios utilizando generadores de bits aleatorios deterministas // NIST. Nov. 2014. url: http://csrc.nist.gov/publications/drafts/800-90/sp800-90a_r l_draft_novembcr2014_vcr.pdf
  • Ibídem; STB 34.101.47-2012. Estándar estatal República de Bielorrusia. Tecnologías de la información y seguridad. Algoritmos criptográficos para generar números pseudoaleatorios. Minsk: Gosstandart, 2012. URL: http://apmi.bsu.by/assets/files/std/brng-specl7.pdf
  • Brassard J. Criptología moderna. Liderazgo.
  • PROYECTO NIST SP 800-90А, Rev. 1. Recomendación para la generación de números aleatorios utilizando generadores de bits aleatorios deterministas.

Las claves criptográficas se utilizan como información secreta.

Una clave criptográfica es una secuencia de caracteres generada de acuerdo con ciertas reglas. Esta secuencia se utiliza para transformaciones criptográficas de textos. Cada algoritmo criptográfico tiene sus propios requisitos, de acuerdo con las claves que se crean. Cada clave se genera para un algoritmo específico.

Para asegurar la no reproducibilidad de la firma electrónica y la imposibilidad de leer los textos cifrados por personas no autorizadas, se utilizan claves criptográficas en criptografía.

Una clave criptográfica moderna es una secuencia de números de cierta longitud, generada de acuerdo con ciertas reglas basadas en una secuencia de números aleatorios. Para cada tecla, se recrea una secuencia de números aleatorios, ninguna secuencia se usa más de una vez. Para generar secuencias de números aleatorios, se utilizan objetos o dispositivos de software especiales llamados generadores de números aleatorios.

Cada algoritmo tiene sus propios requisitos de clave, por lo que cualquier clave criptográfica se genera para un algoritmo específico y se usa solo con ese algoritmo.

Si la generación de una firma electrónica y su verificación, o el cifrado y descifrado del texto se realizan utilizando la misma clave, este enfoque se denomina criptografía simétrica (respectivamente, algoritmos simétricos y claves simétricas). Las operaciones de criptografía simétrica son rápidas y relativamente sencillas. Pero requieren que al menos dos personas conozcan la clave, lo que aumenta significativamente el riesgo de que se vean comprometidos (es decir, el acceso a ellos por parte de personas no autorizadas).

Por lo tanto, ahora se utiliza principalmente la criptografía asimétrica. En la criptografía asimétrica, la generación de una firma electrónica o el cifrado se realiza en una clave, y la verificación o el descifrado de la firma se realiza en una clave emparejada diferente.

En criptografía asimétrica, se utilizan los denominados pares de claves. Cada uno de estos pares consta de dos claves interconectadas. Una de estas claves es una clave privada. Solo lo conoce el propietario de la clave y bajo ninguna circunstancia debe estar disponible para nadie más. Otra clave es pública (clave pública), cualquier persona puede acceder a ella.

Para generar un EDS, se requiere la clave privada del autor del mensaje, para verificación, una clave abierta. De esta forma, solo el propietario de la clave privada puede crear un EDS, y cualquier usuario que haya recibido la clave pública correspondiente puede verificarlo.

La clave pública del destinatario se utiliza para cifrar el texto y la clave privada para descifrarlo. Por lo tanto, cualquier persona puede cifrar un mensaje, y solo el propietario de la clave privada correspondiente puede descifrarlo, es decir, destino.

El par de claves que se utiliza para trabajar con EDS (generar y verificar EDS) se denomina claves de firma. El par de claves que se utiliza para cifrar y descifrar mensajes se denomina claves de intercambio.

El problema con la criptografía asimétrica es que el cifrado asimétrico es mucho más lento que el cifrado simétrico. Además, si el texto cifrado está destinado a varios destinatarios, el mensaje enviado tiene que incluir una copia del texto para cada destinatario, lo que aumenta drásticamente tanto el volumen del mensaje como el tiempo que lleva cifrarlo.

Este problema se resuelve mediante la denominada criptografía híbrida.

El proceso de cifrado crea primero una clave de cifrado de una sola vez (llamada sesión) (clave de cifrado de sesión). Esta es una clave simétrica, es decir la misma clave se utiliza tanto para el cifrado como para el descifrado. Se llama una sola vez o sesión porque se usa para cifrar / descifrar un solo mensaje.

El mensaje está cifrado en la clave de cifrado de sesión. Dado que el mensaje está cifrado mediante un algoritmo simétrico, el proceso de cifrado del mensaje es bastante rápido.

Luego, la clave de cifrado en sí se cifra mediante un algoritmo asimétrico en la clave de intercambio pública del destinatario. Dado que la clave de cifrado es una cantidad relativamente pequeña de datos, no lleva mucho tiempo cifrarla.

La clave de cifrado cifrada se incluye en el mensaje.

Como resultado, el mensaje tiene un volumen ligeramente mayor (debido a la copia encriptada agregada de la clave de encriptación), pero el proceso de encriptación es mucho más rápido que si el mensaje en sí estuviera encriptado usando un algoritmo asimétrico.

Si hay varios destinatarios, el mensaje se cifra una vez en la clave de cifrado de sesión y la clave (una cantidad relativamente pequeña de datos) se cifra por separado en la clave de intercambio pública de cada destinatario. Por lo tanto, en lugar de múltiples copias del mensaje cifrado para cada destinatario, un mensaje cifrado contiene una copia cifrada del mensaje y varias copias de la clave de cifrado de sesión única cifrada para cada destinatario. El volumen de un mensaje cifrado y el tiempo que lleva cifrarlo son significativamente menores que si el mensaje estuviera cifrado utilizando un algoritmo asimétrico para cada destinatario.

Cuando el destinatario recibe el mensaje, la clave de sesión cifrada en la clave de intercambio pública del destinatario se busca entre las claves de sesión cifradas incluidas en el mensaje. Si se encuentra dicha clave, se descifra utilizando la clave de intercambio privada del destinatario, y luego el mensaje en sí se descifra utilizando esta clave.

Por lo tanto, se cumple el requisito principal para el proceso de cifrado asimétrico: que nadie tenga acceso a la clave privada del intercambio, excepto el propietario de esta clave. Para obtener acceso a la clave de cifrado, necesita acceder a la clave privada del intercambio; pero una vez que la clave de cifrado se ha descifrado utilizando la clave privada del intercambio, esta clave de cifrado nunca se vuelve a utilizar, por lo que no tiene sentido hablar de que está comprometida.