Bien, entonces sé que esto puede sonar tonto, pero me cuesta entender qué sería un cifrado ya que es diferente de un hash. Lo he leído, pero todavía no estoy seguro. Entonces, esperaba que ustedes pudieran ayudarme con esto.
Bien, entonces sé que esto puede sonar tonto, pero me cuesta entender qué sería un cifrado ya que es diferente de un hash. Lo he leído, pero todavía no estoy seguro. Entonces, esperaba que ustedes pudieran ayudarme con esto.
Nadie realmente "encripta" una contraseña, aunque podrías ... pero la estarías encriptando con otra contraseña, y necesitarías esa contraseña para descifrar la primera contraseña. Cuando se trata de contraseñas, normalmente las tenemos.
Hashing es simplemente unidireccional. No puede recuperar la cadena, solo puede verificar si una cadena valida contra un hash. Si su cadena se valida contra el hash, esto no garantiza que sea la misma "contraseña", pero puede iniciar sesión con ella porque ha encontrado una colisión . El "mensaje" / contraseña generalmente se limita a un pequeño número de caracteres, en términos relativos.
Encriptación es bidireccional. Por ejemplo, tiene un algoritmo, una clave y un mensaje. Usando la tecla, puedes desbloquear el mensaje. Generalmente, el mensaje puede ser de tamaño arbitrario.
Hice un par de diagramas de flujo que están demasiado simplificados. Espero que ayude.
¿Vesloanterior?Notieneningúnsentidoqueustedrecibael"mensaje" nuevamente. ¿Por qué? Ya estás ingresando la contraseña, que es el "mensaje" en sí.
Ahora mira esto:
Conelcifrado,recibiráelmensajededescifradosilaclavededescifradoescorrecta.Utilizalaclaveparadesbloquearelcontenidocifrado.
Conelhashing,yatienesel"mensaje" si valida, o una colisión. Lo que ingresas es el mensaje.
Un hash es un proceso irreversible: una función, 'hash' que no se puede "revertir". Una vez que tiene un hash, solo puede adivinar la contraseña original a través de un ataque de fuerza bruta, que implica el hashing de una variedad de contraseñas posibles hasta que obtenga el mismo valor hash, lo que indica que la contraseña que adivinó es la misma que la original. .
El cifrado es un proceso reversible: dos funciones, 'cifrado' < - > 'descifrado' ; lo que está encriptado se puede descifrar si tiene la clave; el descifrado recupera la contraseña original sin adivinar.
La seguridad de una contraseña con hash depende en gran medida de la cantidad de cálculos necesarios para realizar la función de hash. Cuanto más computación se requiera, más tiempo lleva; ya que un ataque de fuerza bruta debe repetir ese cálculo para miles o millones de posibles contraseñas, cuanto más tiempo cada cómputo de hash individual tome menos práctico será el ataque.
La seguridad de una contraseña encriptada depende de la solidez del algoritmo y del secreto de la clave.
El beneficio del hash es que no se requiere una clave, lo que mejora la seguridad general del sistema, una pieza secreta menos que se debe mantener fuera del alcance del atacante.
Lea otras preguntas en las etiquetas hash encryption