File Formats/es: Difference between revisions

Normanx (talk | contribs)
No edit summary
Normanx (talk | contribs)
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))