¿Conocer los datos descifrados y cifrados es suficiente para encontrar la clave?

7

Supongamos que un atacante conoce el contenido cifrado, el contenido descifrado y el algoritmo utilizado: ¿puede obtener la clave que se utilizó para cifrar el contenido o facilita la búsqueda de la clave?

Creo que esto puede variar entre el cifrado simétrico y asimétrico y entre diferentes algoritmos. Entonces, ¿qué tan seguro es este escenario con diferentes algoritmos si lo único que necesito mantener en secreto es la clave?

EDIT:

Hago esta pregunta porque acabo de leer las preguntas frecuentes de SpiderOak y, en la medida en que entendí eso, no están almacenando la contraseña de un usuario ni la clave de cifrado que se deriva de la contraseña del usuario. Sin embargo, deben asegurarse de que la contraseña del usuario sea la correcta cuando inicie sesión en la página web.

Si no almacenan la contraseña y no almacenan la clave, la única posibilidad de verificar si la contraseña es correcta es descifrar algunos datos cifrados conocidos y verificar si el resultado es el correcto.

Por ejemplo, al registrarse, pueden cifrar los datos CHECK y al iniciar sesión pueden obtener una clave de la contraseña ingresada y descifrar el CHECK cifrado y ver si es CHECK . Si no, la clave no era correcta y, por lo tanto, la contraseña tampoco.

¿Hay alguna otra manera de cómo podrían hacerlo?

    
pregunta MinecraftShamrock 30.09.2014 - 21:26
fuente

1 respuesta

7

A lo que te refieres es a un ataque de texto simple conocido , donde intentas descubrir la clave con comparando las versiones cifradas y no cifradas de una muestra de datos. Afortunadamente, casi todos los principales algoritmos de encriptación en uso hoy en día, incluyendo AES, no son susceptibles a este tipo de ataque. Saber a qué se descifra algo es completamente inútil en lo que respecta a descifrar la clave (a menos que, tal vez, su enfoque sea tratar de forzar la clave con fuerza bruta).

Aunque técnicamente Spideroak podría usar el método que describe (es decir, cifrar un archivo de muestra conocido), en realidad utilizan un procedimiento conocido como hashing de acuerdo a su sitio web. El hash es una técnica de almacenamiento de contraseñas muy común; de hecho, es utilizado por casi todos los sitios web que procesan los inicios de sesión de los usuarios. Es un proceso matemático que toma algunos datos (como una contraseña) como entrada y genera una cadena única de longitud fija como salida. Es fácil calcular el hash de algunos datos, pero dado el hash, es muy difícil averiguar cuáles fueron los datos originales. Pero mientras proporcione los mismos datos, el hash siempre saldrá igual.

Según Spideroak, cuando creas una cuenta, tu navegador calcula el hash bcrypt de tu contraseña y envía el hash a spideroak. Es de suponer que, al iniciar sesión, spideroak envía el hash a su navegador, y su navegador tomará el hash de todo lo que haya escrito para verificar que coincida.

    
respondido por el tlng05 30.09.2014 - 22:14
fuente

Lea otras preguntas en las etiquetas