File Formats/es: Difference between revisions
No edit summary |
|||
Line 118: | Line 118: | ||
AES-CTR utiliza el cifrado de bloques AES para crear un cifrado de flujo. Esto se logra aplicando la operación XOR | AES-CTR utiliza el cifrado de bloques AES para crear un cifrado de flujo. Esto se logra aplicando la operación XOR | ||
entre los datos y el flujo de llaves que genera AES. AES-CTR se puede paralelizar y permite calcular previamente | entre los datos y el flujo de llaves que genera AES. AES-CTR se puede paralelizar y permite calcular previamente | ||
el flujo de llaves. | el flujo de llaves. | ||
En el documento RFC 3686 se comentá que el AES-CTR es inapropiado cuando la llave es estática, y también | |||
que se debe de utilizar junto con una función de autentificación, como SHA. | |||
Para cifrar, AES-CTR divide los datos en bloques de 128 bits (o 16 octetos ). A cada bloque se le asocia una llave de 128 bits | |||
que se produce del flujo de llaves, y luego se aplica la función XOR entre el bloque de datos y la llave del flujo. | |||
El algoritmo se puede resumir así: | |||
bloque_CTR = Valor NONCE (32 bits) || Valor IV (64 bits) || puros unos (32 bits) | |||
Para i = 1 hasta n - 1, en incrementos de uno en uno. | |||
Realizar | |||
datos_cifrados[i] = datos[i] XOR AES(bloque_CTR) | |||
bloque_CTR = bloque_CTR + 1 | |||
Fin | |||
datos_cifrados[n] = datos[n] XOR truncar(AES(bloque_CTR)) |