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))  | |||