Está en la página 1de 6

UNIVERSIDAD NACIONAL DE SAN

AGUSTÍN
Escuela Profesional de Ingeniería de
Sistemas

Trabajo de Investigación sobre: AKELARRE,


SCHNORR Y COLISIONES DIFERENCIALES

Curso:

SISTEMAS DE SEGURIDAD
CRÍTICA
Integrantes:
● Cahuana Aguilar, Dania Mariela CUI:20150946
● Motta Rondon, Milagros CUI:20150957
● Romero Solano, Shirley Amparo CUI:20150945
● Vicente Gallegos, Julio Cesar CUI:20133342

AREQUIPA - PERÚ

2019

AKELARRE

Akelarre es un cifrado de bloque iterado de clave secreta de gran flexibilidad en su nivel de


seguridad, que permite la modificación a través del software de parámetros tales como el
número de rondas y la longitud de la clave.

1. Estructura (parámetros de la función de cifrado Feistel)


El tamaño de bloque n = 128 bits Número de rondas r =
variable (mínimo 4) El tamaño k de la clave K = múltiplo de 64
bits (128 bits) Número de subclaves Ki.= 13*r +9

2. Algoritmo de cifrado Se compone de tres partes: la transformación de entrada,


las rondas de cifrado y la transformación de salida. La transformación de entrada se
define de la siguiente manera:

1. El texto plano de 128 bits se divide en cuatro sub bloques de 32 bits: X1, X2, X3 y
X4 2. Estos subbloques se combinan con cuatro subclaves (todas las subclaves se definen

como Zj(i), donde i es la ronda y j indica la posición/turno subclave utilizada en la ronda


i):
Estos cuatro sub-bloques proporcionan la entrada a la ronda 1. Akelarre tiene v
rondas. Cada ronda (i = 1,2, .... , v) consta de los siguientes pasos:

1. Los cuatro sub bloques de entrada R(i-1) se concatenan en un bloque de bits de 128
bits. 2. El bloque de 128 bits se rota hacia la izquierda un número variable de
bits
determinado por los siete bits menos significativos de Z1(i) 3. El bloque de 128
bits girado se divide en cuatro sub bloques de 32 bits:

s1(i), s2(i), s3(i), s4(i). 4. Los pares de sub bloques se les realiza la operación xor y
proporcionan las entradas
para la estructura de adición y rotación

Los sub-bloques R forman la salida de la ronda

La salida de la ronda final forma la entrada a la transformación de salida, que consta de los
siguientes pasos:

1. Los bloques de salida de la ronda v th se concatenan en un bloque de 128 bits. 2.


El bloque de 128 bits se gira hacia la izquierda un número variable de bits

determinado por los siete bits menos significativos de Z1(v + 1) . 3. El bloque de 128 bits

girado se divide en cuatro sub bloques: S1(v + 1), S2(v + 1), S3(v + 1),

S4(v + 1). 4. Los cuatro sub bloques se combinan con cuatro


subclaves:
5. P1(i) y P2(i) son combinados con 12 sub llaves de 32 bits, Z2(i) ... Z13(i) ,de acuerdo con la
estructura de adición-rotación descrita más adelante. La salida de esta estructura consta

de dos subbloques de 32 bits Q1(i) y Q2(i) 6. Los 4 sub bloques del paso 3 se les aplica la
operación xor con la salida de la
estructura de adición y rotación

5. Los cuatro subbloques, Y1, Y2, Y3 e Y4 se concatenan para formar el texto cifrado.
Estructura de Adicción y Rotación

(1) Los 31 bits altos de Pj(i) se giran hacia la izquierda un número variable de bits. (2) La
salida de 32 bits del paso anterior se agrega a una subclave. (3) Los 31 bits bajos
del resultado del paso anterior se giran hacia la izquierda un número variable de
bits. (4) La salida de 32 bits del paso anterior se agrega a una subclave. (5) Los 31
bits altos del resultado del paso anterior se giran hacia la izquierda un número
variable de bits. (6) La salida de 32 bits del paso anterior se agrega a una subclave.
(7) Los pasos 3 a 6 se repiten hasta que haya siete rotaciones y seis sumas de
subclave en total. (8) Las salidas de las dos columnas son Q (i) 1 y Q (i) 2.

3. Algoritmo de generación de claves

Akelarre requiere 13v + 9 subclaves (cuatro para la transformación de entrada, 13 para cada
una de las rondas y cinco para la transformación de salida). Estas subclaves de 32 bits se
derivan de una clave maestra. La longitud de la clave maestra puede ser cualquier múltiplo de
64 bits,las claves maestras de 128 bits, que es el tamaño de clave sugerido.
Primero, la clave maestra se divide en ocho sub bloques de 16 bits, llamados ki para i = 1; :::; 8.
Cada sub bloque se ajusta al cuadrado (con un resultado de 32 bits) y luego se agrega mod
2^32 a una constante, A0 = (32 bits) y A1 = 735203DE (32 bits). Sea k(1) i: = k2 i + A0 mod
2^32 y k (‘1) i: = k2 i + A1 mod 2^32

Las primeras ocho subclaves se generan de la siguiente manera: los bytes más externos yde k
(1) forman los dos bytes de orden superior de la subclave Ki; los bytes más externos de k ('1) (i
mod 8) +1 forman los dos bytes de orden inferior de la subclave Ki. Por lo tanto, la subclave Ki
es una función de sólo ki y k (i mod 8) +1.

Los bytes más internos de k (1) i son cuadrados y se agregan el módulo 2 ^ 32 a A0 para
generar k (2) i, y de manera similar los bytes más internos de k (1) i son cuadrados y se
agregan los módulos 2 ^ 32 a A0 para generar k ('2) i. Las segundas ocho subclaves se
generan de la misma manera que las ocho primeras.

Este proceso se repite, cada ronda de la programación de claves ajusta los bytes del medio de
los valores k (j) y k (‘j) y genera 8 subclaves adicionales, hasta que se hayan generado las 61
subclaves requeridas

Después de calcular todas las subclaves Ki, se leen secuencialmente para completar las teclas
Z (i) j requeridas para el cifrado; Las claves de descifrado se derivan de estas claves según sea
necesario

También podría gustarte