Explicar el cifrado de clave simétrica del mundo real

3

Soy nuevo en la criptografía. Al leer sobre el cifrado de clave simétrica, se mencionó que requiere un intercambio de clave secreta para que 2 partes puedan descifrar el texto cifrado.

Ahora, usando un software de encriptación como GPG, podemos usar encriptación simétrica por gpg --symmetric abc.txt Pide contraseña allí.

¿La clave se genera usando la contraseña?

¿Puedo ver la clave secreta si quiero?

La criptografía de clave simétrica requiere un intercambio de clave seguro. Pero en el mundo real, la "clave" en sí misma no se intercambia, ¿verdad? En su lugar, la contraseña debería intercambiarse de forma segura, ¿no?

Además, ¿está realmente presente la clave en el texto cifrado & ¿Se desbloquea con la contraseña o se genera en el lugar cuando le damos nuestra contraseña?

¡Gracias!

    
pregunta Sean 08.09.2013 - 22:30
fuente

2 respuestas

3
  

¿La clave se genera usando la contraseña?

Sí. En este tipo de escenario, la contraseña se ejecuta a través de una función de derivación de claves ( KDF ) como PBKDF2 para generar la clave.

  

¿Puedo ver la clave secreta si quiero?

AFAIK, la clave simétrica en este caso no se almacena en ninguna parte. En su lugar, la clave se deriva de la contraseña cada vez que desea cifrar o descifrar algo. Si realmente desea obtener la clave, puede ejecutar su contraseña a través del KDF suponiendo que conozca el número de sal y iteración.

  

La criptografía de clave simétrica requiere un intercambio de clave seguro. Pero en el mundo real, la "clave" en sí misma no se intercambia, ¿verdad? En su lugar, la contraseña debería intercambiarse de forma segura, ¿no?

Este es un tema bastante complejo. En el caso de GPG en modo simétrico, la clave no se transfiere por ningún medio. Se requiere el conocimiento de la contraseña para descifrar los datos cifrados.

Si desea "compartir" los datos cifrados con otra entidad, por lo general, utiliza un criptosistema híbrido . En el caso de GPG, estará cifrando el archivo sin el indicador --symmetric . Lo que esto hace es cifrar los datos con una clave simétrica generada aleatoriamente . Esta clave generada aleatoriamente se encripta con la clave pública de su objetivo (el destinatario en lenguaje GPG). La clave simétrica cifrada se adjunta con el blob cifrado y se envía a su destino. Luego, su objetivo descifrará la clave simétrica cifrada con su clave privada y usará la clave simétrica descifrada para descifrar el blob cifrado.

    
respondido por el Ayrx 09.09.2013 - 04:11
fuente
2

1) Sí, --symmetric deriva una clave de 128 bits a partir de la contraseña y una sal antes de la salida cifrada. Utiliza una función llamada Password Based Key Derivation Function 2 (PBKDF2) para hacer esto. De hecho, así es como gpg encripta la clave privada para que solo tu frase de contraseña pueda usar el archivo.

2) Bueno, puedes ejecutar la contraseña y agregarte a través de la función para generar la clave.

3) En la vida real, la criptografía asimétrica se usa generalmente para intercambiar claves simétricas generadas para esa sesión. Luego, esas claves simétricas se utilizan para el cifrado real de los datos / mensaje.

    
respondido por el ewanm89 08.09.2013 - 23:30
fuente

Lea otras preguntas en las etiquetas