works steps online how for dummies encryption cryptography rsa sha

online - rsa encryption steps



SHA1 VS RSA: ¿cuál es la diferencia entre ellos? (6)

Como otros han comentado, son fundamentalmente diferentes cosas que sirven diferentes funciones. Utiliza RSA para mezclar información en una forma aparentemente aleatoria, mientras usa SHA1 para garantizar la integridad del mensaje (es decir, ninguno de los bits ha cambiado). En una aplicación de seguridad, usará uno o ambos, dependiendo de la funcionalidad que necesite.

¿Cuáles son las diferencias entre SHA1 y RSA? ¿Son solo algoritmos diferentes o son fundamentalmente (es decir, utilizados para diferentes cosas) diferentes en algún nivel?


El algoritmo Secure Hash Algorithm (SHA) toma un mensaje de menos de 264 bits de longitud y produce un resumen de mensaje de 160 bits. El algoritmo es un poco más lento que MD5, pero el resumen del mensaje más grande lo hace más seguro contra ataques de colisión y inversión de fuerza bruta. El algoritmo especificado en Secure Hash Standard (SHS, FIPS 180), fue desarrollado por NIST. SHA-1 es una revisión de SHA que se publicó en 1994; la revisión corrigió una falla no publicada en SHA. Su diseño es muy similar a la familia MD4 de funciones hash desarrolladas por Rivest. SHA-1 también se describe en el estándar ANSI X9.30.

RSA es un algoritmo para la criptografía de clave pública. Es el primer algoritmo que se sabe que es adecuado para la firma y el cifrado, y uno de los primeros grandes avances en la criptografía de clave pública. RSA se usa ampliamente en los protocolos de comercio electrónico, y se cree que es seguro con claves suficientemente largas y el uso de implementaciones actualizadas.

La diferencia más notable es que SHA es un algoritmo de cifrado, mientras que RSA es un algoritmo de encriptación y de firma.

El 16/08/2005 se anunció que es posible encontrar una colisión en SHA-1 en 2 ^ 63 operaciones. El resultado de esta investigación se debe al profesor Xiaoyun Wang de la Universidad Tsinghua en Beijing, junto con los profesores Andrew Yao y Frances Yao. Extiende el trabajo de Wang, Yin y Yu, que demostraron que se podía encontrar una colisión en 2 ^ 69 operaciones. Lo que eso significa es que es más fácil que ocurra una colisión en SHA que en RSA, pero notablemente, no se han encontrado dos llaves similares que colisionen.


Fundamentalmente diferente.

SHA1 es un algoritmo hash, que es una función de una sola dirección, convirtiendo una entrada de cualquier tamaño en una salida de longitud fija (160 bits en este caso). Una función hash criptográfica es aquella para la que no debería ser posible encontrar dos entradas que proporcionen la misma salida excepto por fuerza bruta (por ejemplo, con una función de 128 bits, debería intentar, en promedio, un mensaje de 2 ^ 64 para encontrar una "colisión" debido a algo llamado la paradoja del cumpleaños - Google para obtener más información).

De hecho, para SHA1 este ya no es el caso: el algoritmo está (en términos criptográficos al menos) roto ahora, con un ataque de colisión descrito por Xiaoyun Wang et al que supera un clásico ataque de cumpleaños. La familia SHA2 no está rota y el NIST está llevando a cabo un proceso para acordar un algoritmo SHA3 o una familia de algoritmos.

Editar : Google ahora generó y publicó una colisión SHA1 real.

RSA es un algoritmo de encriptación asimétrico que encripta una entrada en una salida que luego puede descifrarse (contraste un algoritmo hash que no puede revertirse). Utiliza una clave diferente para el cifrado (el público) que para el descifrado (el privado). Por lo tanto, esto puede usarse para recibir mensajes encriptados de otros: puede publicar su clave pública, pero solo usted con la clave privada puede descifrar los mensajes que se han cifrado con ella.

Si revierte las claves para RSA, se puede usar para generar una firma digital: al encriptar algo con su clave privada, cualquiera puede descifrarlo con la clave pública y, si están seguros de que la clave pública le pertenece, entonces tienen Confianza en que usted fue quien cifró el original. Esto normalmente se realiza junto con una función de hash: hash tu entrada, luego encripta eso con tu clave privada, dando una firma digital de una longitud fija para tu mensaje de entrada.


Las respuestas anteriores ya son suficientes explicaciones. Pero creo que haces esta pregunta simplemente porque SHA y RSA a menudo salen juntos. Así que déjame explicarte por qué.

Primero, tenga en cuenta que

RSA no es eficiente, pero SHA sí lo es.

Supongamos que descarga Windows 7 y quiere asegurarse de que sea Windows 7 original de Microsoft. Si Microsoft acaba de encriptar Windows 7 por RSA, tomará mucho tiempo hacerlo y no podemos soportarlo en absoluto. Entonces Microsoft usa SHA1 en Windows 7 y genera datos de 128 bits de longitud. Y luego, Microsoft cifra estos datos de 128 bits de longitud con RSA (use su clave privada).

Entonces, todo lo que necesita hacer es asegurarse de que su clave pública sea de Microsoft. Y luego use SHA1 para generar datos de 128 bits de largo también. Y luego use la clave pública de RSA para descifrar la firma de Microsoft. Luego, simplemente compara los dos datos de 128 bits de largo para ver si coinciden.


SHA1 es un algoritmo de hash (firma de documento y certificación) mientras que RSA es un algoritmo de cifrado / descifrado (comunicaciones seguras).


SHA1 es una función hash criptográfica, mientras que RSA es un algoritmo para el cifrado.

Una función hash toma un dato y devuelve una cadena de longitud fija. En una función hash criptográfica, todas las cadenas de retorno tienen la misma probabilidad. Dado solo el número hash no puede determinar la entrada, ni puede encontrar otra entrada que proporcione el mismo hash (excpección con una probabilidad muy pequeña). Sha1 tiene algunos defectos de seguridad.

Un algoritmo para el cifrado da una información, pero el resultado no es de longitud fija: su encriptación. Dado el resultado (el cifrado), puede (si tiene las claves correctas) determinar la entrada.