Comprender cómo funciona el cifrado basado en contraseña

2

Quiero entender cómo funciona el cifrado basado en contraseña. Como sé, la contraseña se utiliza para generar sólo la clave. También hay una sal siempre aleatoria, que es usuario para evitar los ataques de diccionario y no permitir que los malos obtengan el hash de la contraseña. Así que la contraseña y el salt están creando una clave, que se puede utilizar para el cifrado. Una vez creada la clave, el objeto de cifrado la utiliza.

Pero lo que no entiendo es la especificación de los métodos PBE. Digamos que tenemos - PBEWithSHAAnd128BitAES-CBC-BC. Por el nombre de esto, entiendo que la clave es de 128 bits y se puede usar para AES. Además, la clave está en hash con SHA y el proveedor es Bouncy Castle. Pero, ¿qué es lo que no entiendo, cómo el CBC entra en el nombramiento? ¿Dice que puedo usar esta clave solo para CBC? Pero cuando trato de usarlo en modo CTS u OFB, todo funciona bien. Entonces, ¿por qué el modo de bloqueo está ahí? ¿O entiendo mal todo esto?

    
pregunta Andrej Tihonov 28.07.2017 - 19:28
fuente

1 respuesta

2

La definición del algoritmo aquí es para el cifrado basado en contraseña (como el nombre quizás implica obviamente) y no solo la derivación de clave basada en contraseña.

Así que Bouncy Castle proporciona no solo una manera de obtener una clave, sino también la capacidad de cifrar datos, y en este caso utilizaría AES-128 en el modo CBC para hacerlo.

Si solo te importa la parte de derivación de clave, puedes usar la clave de 128 bits resultante con cualquier sistema de cifrado que acepte una clave aleatoria de 128 bits. No es necesario limitar el modo CBC, ni siquiera a AES.

    
respondido por el Xander 28.07.2017 - 20:18
fuente

Lea otras preguntas en las etiquetas