Colección de citas famosas - Colección de máximas - ¿Qué es un sistema de cifrado asimétrico? ¿Cómo utilizarlos para implementar el cifrado y la firma de correo electrónico?

¿Qué es un sistema de cifrado asimétrico? ¿Cómo utilizarlos para implementar el cifrado y la firma de correo electrónico?

Estás hablando del algoritmo RAS. Cifre y descifre usando un par de claves. El remitente de datos utiliza la clave pública para cifrar el texto sin formato en texto cifrado y el descifrador de datos utiliza la clave privada para descifrar el texto cifrado en texto sin formato.

Este algoritmo apareció en 1978. Este fue el primer algoritmo que pudo utilizarse para el cifrado de datos y firmas digitales. Fácil de entender y operar, y muy popular. El algoritmo lleva el nombre de sus inventores: Ron Rivest, AdiShamir y Leonard Adleman. Sin embargo, la seguridad de RSA no ha sido probada teóricamente.

La seguridad de RSA se basa en la descomposición de grandes números. Tanto la clave pública como la privada son funciones de dos números primos grandes (más de 100 dígitos decimales). Presumiblemente, la dificultad de inferir texto plano a partir de una clave y un texto cifrado es equivalente a factorizar el producto de dos números primos grandes.

Generación de par de claves: seleccione dos números primos grandes p y q, calcule: n = p * q

Luego seleccione aleatoriamente la clave de cifrado E, que requiere E y (p- 1) * (q-1).

Calidad mutua

Finalmente, la clave de descifrado d se calcula mediante el algoritmo euclidiano, el cual cumple con los siguientes requisitos

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

Donde n y d también son primos relativos. Los números e y n son claves públicas y d es la clave privada.

Los dos números primos P y Q ya no son necesarios y deben descartarse para que nadie sepa de ellos.

Al cifrar información M (representación binaria), primero divida M en bloques de datos de igual longitud m1, m2,..., mi, con una longitud de bloque S, de los cuales 2 s

corresponde El texto cifrado es:

ci = mi^e (moderno) (a)

Al descifrar, se realizan los siguientes cálculos:

mi = ci ^d( Modern)(b)

RSA se puede utilizar para firmas digitales y el esquema es (a) firma y (b) verificación.

Teniendo en cuenta factores como la seguridad y la gran cantidad de información M, normalmente se realiza primero una operación hash.

Seguridad de RSA.

La seguridad de RSA se basa en la descomposición de números grandes, pero no ha quedado claro si es equivalente a la descomposición de números grandes.

Prueba teórica: debido a que no hay pruebas para descifrar RSA, es necesario descomponer grandes números. Existencia de suposiciones

Un algoritmo que no requiere descomposición de números grandes definitivamente puede modificarse en un algoritmo de descomposición de números grandes. En la actualidad, se ha demostrado que algunas variantes de algoritmos de RSA son equivalentes a la descomposición de números grandes. De todos modos, descomponer n es el ataque más obvio. Hoy en día, la gente ha podido factorizar más de 140 números primos decimales. Por lo tanto, dependiendo de la aplicación específica, el módulo n debe ser mayor.

La velocidad de RSA:

Debido al cálculo de números grandes, el RSA más rápido es 100 veces más lento que DES, ya sea que se trate de implementación de software o hardware. La velocidad siempre ha sido el defecto de RSA. En términos generales, sólo se utiliza para pequeñas cantidades de cifrado de datos.

Ataque de texto cifrado seleccionado por RSA:

RSA es vulnerable al ataque de texto cifrado selectivo. Los atacantes suelen ocultar algún tipo de información.

(Ciego), firmado por la entidad poseedora de la clave privada. Luego puede calcular la información que desea. De hecho, todos estos ataques explotan la misma debilidad, a saber, el hecho de que la estructura multiplicativa de la entrada está exponencializada:

(XM )^d = X^d *M^d modelo n

Como se mencionó anteriormente, este problema inherente surge de la característica más útil de la criptografía de clave pública: que todos tienen acceso a la clave pública. Sin embargo, este problema no se puede resolver algorítmicamente. Hay dos medidas principales: una es utilizar un buen protocolo de clave pública para garantizar que la entidad no se lo informe a otras entidades durante el proceso de trabajo.

Descifra la información generada a voluntad, y no firmes información de la que el otro nunca sabe nada;

Al firmar un documento aleatorio enviado por un extraño, primero utilice una función hash unidireccional.

Hash el documento o utiliza diferentes algoritmos de firma simultáneamente. Se mencionan varios tipos de no.

Mismo tipo de método de ataque.

Ataque en modo común a RSA.

Si hay un módulo en el sistema, pero diferentes personas tienen diferentes E y D, el sistema está en peligro.

Sí.

La situación más común es que la misma información se cifra con diferentes claves públicas, y estas claves públicas son modulares y mutuas.

Calidad, entonces la información se puede recuperar sin la clave privada. Sea p el texto sin formato y dos claves de cifrado.

Para e1 y e2, el módulo común * * * es n, entonces:

C1 = P^e1 número de módulo

C2 = P^e2 moderno

Si el criptoanalista conoce N, e1, e2, C1 y C2, puede obtener P.

Debido a que e1 y e2 son primos relativos, R y S se pueden calcular usando el algoritmo euclidiano, que satisface:

r * e1 + s * e2 = 1

Suponiendo que R es negativo, es necesario utilizar el algoritmo euclidiano para calcular C1 (-1), entonces

(c1^(-1))^(-r)* c2^s = p modn

Además, existen otras formas de explotar modos comunes de ataque. En resumen, si conocemos un par de E y D para un módulo dado, es beneficioso para el atacante descomponer el módulo, y también es beneficioso para el atacante calcular otros pares de E' y D' sin descomponer el módulo. . Sólo hay una solución, y es no disfrutar del módulo n.

Pequeño ataque exponencial a RSA. Una sugerencia para mejorar la velocidad de RSA es hacer que la clave pública e tome un valor menor, lo que hará que el cifrado sea más fácil de implementar y más rápido. Pero no es seguro hacer esto. La forma de solucionarlo es tomar valores mayores para e y d.

El algoritmo RSA es el primer algoritmo que se puede utilizar tanto para cifrado como para firmas digitales. Además, es fácil de entender y operar. RSA es el algoritmo de clave pública más estudiado. Han pasado casi veinte años desde que se propuso, después de haber sido probado por varios ataques, poco a poco ha sido aceptado por la gente. Es ampliamente considerado como uno de los mejores esquemas de clave pública disponibles actualmente.

La seguridad de RSA se basa en la factorización de números grandes, pero no se ha demostrado teóricamente que la dificultad de descifrar RSA sea equivalente a la dificultad de factorizar números grandes. Es decir, un defecto importante de RSA es que su confidencialidad no puede entenderse en teoría. La mayoría de la gente en criptografía prefiere la factorización en lugar de NPC.

Las principales desventajas de RSA incluyen:

a) Es problemático generar claves, limitado por la tecnología de generación de números primos, es difícil lograr un cifrado único.

b) La longitud del paquete es demasiado grande para garantizar la seguridad, n debe ser de al menos 600 bits, lo que hace que el costo de cálculo sea muy alto, especialmente la velocidad, que es varios órdenes de magnitud más lenta. el algoritmo criptográfico simétrico;

Y con el desarrollo de la tecnología de descomposición de grandes números, esta longitud sigue aumentando, lo que no favorece la estandarización de los formatos de datos.

El protocolo Set (Transacción Electrónica Segura) actual requiere que CA utilice claves de 2048 bits y que otras entidades utilicen claves de 1024 bits.