¿Cuál es la principal diferencia entre una clave, un IV y un nonce?

¿Cuál es la principal diferencia entre una clave, un IV y un nonce?

El problema

¿Cuáles son las principales diferencias entre un nonce, una clave y un IV? Sin ninguna duda, la clave debe mantenerse en secreto. ¿Pero qué pasa con el nonce y el IV? ¿Cuál es la principal diferencia entre ellos y sus propósitos? ¿Es solo que, en la literatura y en la práctica, se está utilizando un IV como "iniciador" de un modo de cifrado de cifrado en bloque que debería ser único? Y la misma propiedad también debería ser válida para un nonce, pero dado que no crea una instancia de algo, lo llamamos nonce. Es decir: en modo AES-CTR, el IV es un contador nonce +. Y ambos se ponen en formato de texto sin formato al comienzo del texto cifrado.

 

Respuesta

Una clave , en el contexto de la criptografía simétrica , es algo que mantiene en secreto. Cualquiera que conozca su clave (o pueda adivinarla) puede descifrar cualquier dato que haya cifrado con ella (o falsificar cualquier código de autenticación que haya calculado con ella, etc.).

(También hay criptografía de "clave asimétrica" ​​o pública , donde la clave efectivamente tiene dos partes: la clave privada, que permite el descifrado y / o la firma, y ​​una clave pública (derivada de la clave privada correspondiente) que permite el cifrado y / o firma verificación.)

Un IV o vector de inicialización es, en su sentido más amplio, solo el valor inicial utilizado para iniciar un proceso iterado. El término se usa en un par de contextos diferentes e implica diferentes requisitos de seguridad en cada uno de ellos. Por ejemplo, las funciones hash criptográficas suelen tener un IV fijo, que es solo una constante arbitraria que se incluye en la especificación de la función hash y se usa como el valor hash inicial antes de que se ingresen datos:

Diagrama de una función hash Merkle-Damgård de Wikipedia

Por el contrario, la mayoría de los modos de operación de cifrado en bloque requieren un IV que sea aleatorio e impredecible, o al menos único para cada mensaje cifrado con una clave determinada. (Por supuesto, si cada clave solo se usa para encriptar un solo mensaje, uno puede salirse con la suya con un IV fijo). Este IV aleatorio asegura que cada mensaje se encripte de manera diferente, de modo que ver múltiples mensajes encriptados con la misma clave no No le dé al atacante más información que solo ver un solo mensaje largo. En particular, asegura que cifrar el mismo mensaje dos veces produce dos textos cifrados completamente diferentes, lo cual es necesario para que el esquema de cifrado sea semánticamente seguro .

En cualquier caso, el IV nunca necesita mantenerse en secreto; si lo hiciera, sería una clave, no un IV. De hecho, en la mayoría de los casos, mantener el IV secreto no sería práctico, incluso si lo desea, ya que el destinatario necesita saberlo para descifrar los datos (o verificar el hash, etc.).

Un nonce , en sentido amplio, es solo "un número usado solo una vez". Lo único que generalmente se exige de un nonce es que nunca se debe usar dos veces (dentro del alcance relevante, como el cifrado con una clave en particular). Los IV únicos utilizados para el cifrado de cifrado en bloque califican como nonces, pero varios otros esquemas criptográficos también usan nonces.

Existe alguna variación sobre cuál de los términos "IV" y "nonce" se utiliza para diferentes modos de operación de cifrado de bloque: algunos autores usan exclusivamente uno u otro, mientras que otros hacen una distinción entre ellos. Para el modo CTR, en particular, algunos autores reservan el término "IV" para el bloque de entrada de cifrado completo formado por la concatenación del nonce y el valor del contador inicial (generalmente un bloque de todos los bits cero), mientras que otros prefieren no usar el término "IV" para el modo CTR en absoluto. Todo esto se complica por el hecho de que hay varias variaciones sobre cómo el nonce / IV enviado con el mensaje en modo CTR se mapea en la entrada de cifrado de bloque inicial.

Por el contrario, para modos distintos de CTR (o modos relacionados como EAX o GCM), el término "IV" es casi universalmente preferido sobre "nonce". Esto es particularmente cierto para el modo CBC, ya que tiene requisitos en su IV (específicamente, que sean impredecibles) que van más allá del requisito habitual de unicidad esperado de nonces.

 

Supongo que te gusta

Origin www.cnblogs.com/chucklu/p/12712335.html
Recomendado
Clasificación