Enfoque “inverso” a la generación de una sola tecla

0

Supongamos que tenemos una clave maestra y queremos cifrar algunos archivos. Luego generamos una clave única para ese archivo, la usamos para cifrar el contenido del archivo y, finalmente, ciframos una clave única utilizando la clave maestra (con IV, relleno y así sucesivamente). Esquema bastante común, ¿no?

Por lo tanto, ahora queremos generar una clave única y almacenarla en algún lugar del archivo cifrado. El enfoque directo es generar una clave de un solo uso e IV y usar algunos cifrados (en mi caso es AES en modo CBC) para cifrar una clave de un solo uso con la clave maestra. Después de eso almacenamos IV y la clave de un solo cifrado en algún archivo. Esta es una forma bastante estándar también.

En resumen, pasamos de un valor aleatorio no cifrado a uno cifrado.

Pero también podemos movernos en sentido inverso. Podemos rellenar algunos búferes con bytes aleatorios, luego simular que este búfer se serializa por única vez, descifrar la clave única de ese búfer y usarlo para cifrar nuestro archivo. En ese caso, en lugar de tener dos procedimientos separados para el cifrado y el descifrado de claves de un solo uso, solo podemos mantener el procedimiento de descifrado.

La pregunta: ¿está bien usar ese truco? ¿Alguna advertencia o trampa? ¿Alguna restricción adicional aplicada al RNG usado?

Básicamente, solo quiero asegurarme de que tal simplificación no rompa la seguridad.

    
pregunta Kirill Gamazkov 22.05.2014 - 23:00
fuente

1 respuesta

0

Mientras su RNG sea un RNG (CSRNG) criptográficamente seguro, y su esquema de cifrado de la clave de un solo uso no implique ningún relleno, de hecho es completamente equivalente a muestrear aleatoriamente el texto simple de la clave de un solo uso o para muestrear aleatoriamente el texto cifrado de la clave de una sola vez. Esto se deduce del hecho de que cualquier esquema de cifrado no rellenado es una permutación y, por lo tanto, si el texto sin formato tiene una distribución aleatoria uniforme, también debe hacerlo el texto cifrado, y viceversa.

    
respondido por el jbms 22.05.2014 - 23:56
fuente

Lea otras preguntas en las etiquetas