Tamaño del vector de inicialización y texto sin formato en modo CBC

1

Si tengo una secuencia de 16 números (7,7,7, .... 7), y necesito cifrar esto utilizando un simple cifrado de sustitución de 4 bits, ¿tengo que "cortar" el texto sin formato? bloques que son del mismo tamaño que el IV?

En mi situación, el IV se especifica como que tiene que ser exactamente de 4 bits. Digamos que es 1001 .

Mi texto en claro es 001101110111,.....,0011 .

Cuando comienzo, digo 'IV' XOR '4bit plaintext' por tanto == > 1001 XOR 0011 = 1010 que corresponde a 10 en decimal. Si busco 10 en mi código de sustitución, corresponde a 9 , por lo que 1001 es el texto cifrado correspondiente C1 .

Luego continúo XORIANDO el siguiente texto plano de 4 bits (igual que antes) con C1 y así sucesivamente.

Lo único que no me queda claro es si estoy haciendo lo correcto al dividir mi texto en 4 bits porque la IV también tiene que ser de 4 bits.

    
pregunta DSF 15.06.2015 - 10:40
fuente

1 respuesta

2

En el modo CBC, el IV SIEMPRE tiene el mismo tamaño que el tamaño de bloque utilizado por su algoritmo de cifrado.

Por lo tanto, si usa AES, su IV tendrá que ser exactamente de 128 bits, independientemente del tamaño de los datos que tenga que cifrar.

Por lo tanto, la forma correcta de cifrar sus datos en modo CBC es:

  • Divida sus datos en bloques del tamaño apropiado (128 bits para AES) bits
  • Si es necesario, Add padding el último bloque para extenderlo hasta el límite del bloque.
  • Genere un IV del mismo tamaño que el tamaño de bloque utilizado por el algoritmo (128 bits para AES)
  • XOR tu IV con el primer bloque y aplica tu algoritmo de encriptación al resultado.
  • Tome ese primer bloque de texto cifrado y XORÁGALO con el segundo bloque de texto simple.
  • Repetir.
respondido por el Stephane 15.06.2015 - 12:37
fuente

Lea otras preguntas en las etiquetas