Changes

784 bytes added ,  10:53, 24 November 2012
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))
6

edits