Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Realizacin de la encriptacin.
Como ya se ha mencionado antes, se tienen 16
iteraciones por palabra a encriptar. La entrada es una
palabra de 128 bits, denominada como x. De sta
forma, los pasos a seguir para la encriptacin son:
Dividir x en dos partes de 64 bits: xL, xR
Desde i = 1 hasta 16
xL = xL XOR Pi
xR = F(xL) XOR xR
Intercambia xL y XR
Intercambia xL y XR (deshace el ltimo Intercambio)
xR = xR XOR P17
xL = xL XOR P18
Recombina xL y xR
Funcin F
Dividir xL en cuatro partes de 16 bits: a, b, c, d
F(xL) = ((S1(a)+S2(b)) mod 232 XOR S3(c)) + S4(d)
mod 232
Para realizar la desencriptacin se hara lo mismo que
para la encriptacin pero P1, ...,P34 se usaran en
orden inverso.
Para calcular las subclaves se realiza lo siguiente:
1.- Primero se inicializa la tabla P y despus las cuatro
S-Boxes, en orden, con una cadena fija.
Esta cadena consiste en los dgitos hexadecimales de PI (sin el 3
inicial). Por ejemplo:
P1 = 0x243F6A88,P2 = 0x85A308D3,P3 = 0x13198A2E,
P4 =0x03707344
2.- Se hace la XOR de P1 con los primeros 64 bits de la clave, luego
la XOR de P2 con los segundos 64 bits de la clave y as con todos
los bits de la clave (posiblemente hasta P14). Este procedimiento
se va repitiendo circularmente hasta que toda la tabla P ha sido
XOR con los bits de la clave.
3.- Encriptar con la clave 0 con el algoritmo TwoFish usando las
subclaves calculadas anteriormente (pasos 1 y 2).
4.- Cambiar P1 y P2 con la salida del paso 3.
5.- Encriptar la salida del paso 3 usando el algoritmo
TwoFish usando las subclaves modificadas.
6.- Cambiar P3 y P4 con la salida del paso 5.
7.- Continuar el proceso, cambiando todas las
entradas de la tabla P y despus los cuatro S-Boxes en
orden con la salida que va dando el algoritmo twofish.
En total se realizan 512 iteraciones para generar todas
las subclaves. Las aplicaciones pueden almacenar las
subclaves antes que ejecutar este proceso siempre