Sei sulla pagina 1di 91

Criptografa Moderna

Criptosistemas Simtricos o de Clave Secreta:

Canal seguro

Criptosistemas Asimtricos o de Clave Pblica:

Clave pblica

Clave secreta
Criptografa-ULL

Criptografa Moderna
Criptosistemas
modernos

Clave secreta

Cifrado en flujo

Clave pblica

Cifrado en bloque

Criptografa-ULL

Cifrado en Flujo
Clave

Clave

Si

Si
Generador
pseudoaleatorio

mi

Generador
pseudoaleatorio

ci

mi
Criptografa-ULL

Cifrado en Flujo
El emisor usa una semilla secreta y un algoritmo

determinista (generador pseudoaleatorio) para


generar una secuencia binaria.
Con la secuencia generada y el texto en claro
expresado en binario se realiza una xor bit a bit.
Realizando la misma operacin con el texto
cifrado y la misma secuencia pseudoaleatoria se
recupera el texto en claro.
La seguridad del sistema se basa nicamente
en las caractersticas de la secuencia de clave
Criptografa-ULL

Cifrado en Flujo
Propiedades de las secuencias cifrantes:

Periodo T muy alto.


Postulados de pseudoaleatoriedad de Golomb:
1. Unos y ceros deben aparecer con idntica frecuencia.
2. En cada periodo, la mitad de las rachas es de longitud
1, la cuarta parte de longitud 2, la octava de 3, etc.
Las rachas de ceros y de unos deben aparecer con
idntica frecuencia para cada longitud.
3. Autocorrelacin
AC(k)=(NCoinc- NDif)/T.
El
nmero de coincidencias entre una secuencia y su
desplazada k posiciones no debe aportar ninguna
informacin sobre el periodo, para cualquier k no
mltiplo de T.

Gran complejidad lineal: Cantidad de secuencia


necesaria para describir el resto
Criptografa-ULL

Cifrado en Flujo: Generadores


de Secuencia
X = a X +b (modm)
Congruencial

i+1

Generador Blum Blum Shub

p, q (= 3 mod 4), n = pq
X nmero aleatorio en [1, n 1] primo con
n.
s0 = X2 (mod n)
s i+1 = s2 i (mod n)
zi = el bit menos significativo de si.
Criptografa-ULL

La secuencia de salida es z , z , , z

RC4
Algoritmo propietario diseado por Rivest en

1987
De implementacin sencilla y rpida, y orientado a

generar secuencias en unidades de un byte


Permite claves de diferentes longitudes
El algoritmo no se ha publicado nunca, pero en

1994 en Internet apareci una descripcin


Se usa en SSL y en WEP
Criptografa-ULL

Algoritmo RC4
Inicializacin:
1. Si = i, i=0 ... 255
2. Rellenar el array Ki i=0 ... 255 repitiendo la semilla
de clave secreta
3. f=0
4. Desde i = 0 hasta 255 hacer:
f = (f + Si + Ki) mod 256
Intercambiar Si y Sf
Generacin de secuencia cifrante:
Inicializar i y f a 0, y calcular cada byte St de la
secuencia cifrante mediante:
1. i = (i + 1) mod 256; f = (f + Si) mod 256;
2. Intercambiar Si y Sf
3. t = (Si + Sf) mod 256
Criptografa-ULL

Ejemplo de RC4
Con semillas de 2 bytes (de 2 bits) para generar secuencias
de 4 bytes (de 2 bits)

Inicializacin:
S[ ]=[ S0, S1, S2, S3 ] = [ 0, 1, 2, 3 ]
K[ ]=[ K0, K1 ] = [ 2, 5 ]
f=0
Iteracin1:
f=(f + S0 + K0)mod 4=2,
intercambiar S0 con S2
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 2, 1, 0,3 ]

Iteracin 2:
f=(f + S1 + K1)mod 4=0,
intercambiar S1 con S0
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 1, 2, 0, 3 ]
Criptografa-ULL

Ejemplo de RC4
Iteracin 3:
f=(f + S2 + K0)mod 4=2,
intercambiar S2 con S2
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 1, 2, 0, 3 ]

Iteracin 4:
f=(f + S3 + K1)mod 4=2,
intercambiar S3 con S2
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 1, 2, 3, 0 ]

Criptografa-ULL

Ejemplo de RC4
Generacin de secuencia cifrante:
Iteracin 1:
i=0, f=0
i = ( i + 1 )mod 4 = 1
f =( f + S1)mod 4 = 2,
intercambiar S1 con S2
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 1, 3, 2, 0 ]
t = ( S1 + S2 )mod 4 = 1
S1 = 3 ( 0000 0011 )
Iteracin 2:
i=1, f=2
i = ( i + 1 )mod 4 = 2
f =( f + S2)mod 4 = 0,
intercambiar S2 con S0
Nuevo array S[ ]=[ S0, S1, S2, S3 ] = [ 2, 3, 1, 0 ]
t = ( S2 + S0 )mod 4 = 3
S3 = 0 ( 0000 0000 )
Criptografa-ULL

Ejemplo de RC4
Cifrado
* Para este ejemplo usamos texto original HI
H
0100 1000
XOR 0000 0011
----------------------0100 1011
I
0100 1001
XOR
0000 0000
--------------------------------0100 1001
Texto original:
Texto cifrado:

0100 1000 0100 1001


0100 1011 0100 1001

Criptografa-ULL

Inseguridad de RC4
Genera secuencias con periodos bastante grandes
Es inmune a los criptoanlisis diferencial y lineal
Sin embargo algunos estudios indican que pueden existir

claves dbiles y que es sensible a estudios analticos del


contenido de la S
- Caja. De hecho, algunos afirman que en
una de cada 256 claves posibles, los bytes que se generan
tienen una fuerte correlacin con un subconjunto de los
bytes de la clave
Se puede recuperar la clave empleada si la inicializacin
del algoritmo cumple determinadas premisas muy
comunes, y se interceptan el suficiente nmero de
mensajes.
Criptografa-ULL

Ataques a RC4
Basado en el uso del comienzo de una secuencia cifrante para
deducir informacin de la clave completa.
Para realizar estos ataques con xito, durante la primera fase del
ataque, los primeros bytes deben ser adivinados correctamente.
Hay dos mtodos para conseguirlo:
1. Basado en la recuperacin de la clave secreta cuando la semilla
del algoritmo se deriva de la concatenacin de dicha clave
secreta y un vector inicial (IV) pblico y conocido. Permite
recuperar la parte secreta de la clave RC4 recopilando un gran
nmero de mensajes y IVs. En este caso hay que buscar IVs
dbiles, que hagan que no haya informacin de la clave en la
secuencia ya que as slo es necesario adivinar un byte de la
clave (con probabilidad 5%).
2. Basado en patrones invariantes, e.d., patrones de la clave que se
propagan al estado interno del algoritmo debilitndolo. As, los
primeros bytes generados pueden resultar muy predecibles. En
este caso hay que centrarse en la manera en que se distribuyen
las claves ya que una clave fcil de recordar suele contener
caracteres ASCII, luego comprobando si los bytes de la clave
concuerdan con caracteres ASCII cmo letras o smbolos etc. las
posibilidades de adivinar la clave correcta aumentan.Criptografa-ULL

Ataques a RC4
Cuntos paquetes cifrados necesitamos recolectar

para romper una clave WEP?


En general de 5 a 10 millones de paquetes
cifrados
Hay dos herramientas en Internet que

implementan totalmente el ataque:


- Wepcrack: wepcrack.sourceforge.net/
- Airsnort: airsnort.shmoo.com/
Criptografa-ULL

Seguridad de RC4
1. Ya que uno de los problemas reside en la predecibilidad de los

primeros bytes RC4, una posibilidad es descartarlos. Es decir,


no empezar a utilizar la salida RC4 desde el primer byte.
2. Otro solucin consiste en evitar que el atacante obtenga

segmentos largos de la clave RC4. Una opcin sera


reemplazar la concatenacin tpica entre la clave secreta y los
IVs por una funcin hash, aunque esto repercute en la
eficiencia.
En general, resulta preferible descartar los, p.ej. primeros 256

bytes generados, que descartar 64 bytes y calcular un hash. Si


se descarta el suficiente nmero de bytes iniciales, se
resuelven ambos problemas
Criptografa-ULL

Cifrado en Flujo: Generadores de


Secuencia
Registro de Desplazamiento Realimentado:
Linealmente.
No Linealmente.

Funcin de realimentacin g no-singular: Secuencia peridica


Criptografa-ULL

Cifrado en Flujo: RDRL

Polinomio de realimentacin: C(x)=1+c1x+c2x2 ++cLxL


Factorizable: Periodo depende de semilla
Irreducible: Periodo no depende de semilla, y divisor de 2L- 1
Primitivo: periodo mximo 2L- 1e independiente de la semilla
N de polinomios primitivos de grado L =Fi(2L- 1)/L
Criptografa-ULL

1000
0001
0011
0111
1111
1110
1101
1010
0101
1011
0110
1100
1001
0010
0100

PN-Secuencias
Ejemplo: C(x)=1+x+x4

Postulados de Golomb:
1. 7 ceros, 8 unos
2. 0, 1 :2 veces,
00,11: 1 vez
000: 1 vez
1111: 1 vez
3. AC(k)=-1/15
Criptografa-ULL

Complejidad Lineal
Dada una secuencia producida con un

RDRL de longitud L bastan 2L bits para


resolver el sistema de L ecuaciones con L
incgnitas y descubrir los coeficientes de
realimentacin.
Cualquier secuencia peridica se puede
generar con un RDRL no singular
Complejidad lineal: Longitud del menor
RDRL que genera la secuencia
Criptografa-ULL

Complejidad Lineal
L

L
N bits
Criptografa-ULL

Algoritmo de Berlekamp-Massey
C(z)= C(z)=1
L=N=0
e=1
si
stop

no

N<Nbits
N=N+1
L=N+1
- L
e=1
C(z)=C(z)

d=dN+c1 dN-1+...+cL dN-L


d=0 si
no
C(z)=C(z)
C(z)=C(z)+ze C(z)
no

N<2L

si

e=e+1
Criptografa-ULL

Cifrado en Flujo:
Generadores de Secuencia
Filtrado no lineal
Combinador no lineal

Criptografa-ULL

Filtrado no Lineal
Complejidad lineal acotada por

i =1 i
m

(siendo m el orden de la funcin de filtrado f)


Principios de diseo:
1. Usar registro con polinomio primitivo para lograr periodo
mximo
2. Orden de la funcin del orden L/2
3. Incluir en f trmino lineal y trminos de orden pequeo
para lograr buena distribucin de 0 y 1
4. Incluir en f trminos de cada orden
5. Que la semilla determine algn trmino de f

Criptografa-ULL

Combinadores no Lineales
If gcd (Li, Lj) = 1 and C1(D) ... CM(D)

irreducibles entonces: CL(S1,...SM) = F (L1,...,LM)


1. Simple combinacin de varios registros (con

relojes sincronizados)
2. De control paso a paso (un registro controla el

reloj de los dems) (Beth-Piper, Gollman,


Bilateral)
3. Multi-reloj (los relojes de los registros con

independientes) (Massey-Rueppel)
Criptografa-ULL

Combinadores no Lineales:
Generador de Hadamard

T = mcm(T1 , T2 )
if gcd(L1 , L2 ) = 1
CL = L1 L2
Criptografa-ULL

Combinadores no Lineales:
Generador Shrinking
LFSR - S

si

LFSR - A

ai

si = 1

if gcd(Ls , LA ) = 1
T = (2 1) 2
LA

LA 2

LS 2

si = 0

output ai

discard ai

LS 1

< CL LA 2

LS 1
Criptografa-ULL

Combinadores no Lineales:
Generador de Geffe
F ( x1 , x2 , x3 ) = x1 x2 x2 x3 x3
Si Li son primos entre
s y los polinomios son
primitivos:

CL = L1 L2 + L2 L3 + L3
T = (2 1) (2 1) (2 1)
L1

L2

L3

Criptografa-ULL

Combinadores no Lineales:
Generador de Geffe
x1

x2

x3

z = F(x1,x2,x3)

Balanceado (1 y 2 postulados de
Golomb), pero no 3 porque

P ( z = x1 ) = 3 / 4.
Criptografa-ULL

Combinadores no Lineales:
Generador de Beth-Piper

CL = (2 1) L2 + L3
L1

T = (2 1)(2 1)(2 1)
P (b(t ) + b(t + 1) = a3 (t ) + a3 (t + 1)) = 3 / 4 Criptografa-ULL
L1

L2

L3

Combinadores no Lineales:
Generador Bilateral

CL T (5 2

L 2

) 1
Criptografa-ULL

Combinadores no Lineales:
Generador de Massey-Rueppel
Combinacin que

suma los productos


internos de cada bit
con los dos estados
Los RDRL pueden
tener diferentes
tasas de reloj

Si gcd(L1,L2)=1,

C1, C2 primitivos
y L2 L1:
CL= L1.L2
T = lcm(T1, T2)
Criptografa-ULL

Combinadores no Lineales:
Generador en Cascada
Su ventaja est en su diseo modular y

repetitivo, permitiendo la concatenacin


de un nmero indefinido de generadores,
obteniendo de esta manera enormes
periodos y altas complejidades lineales.
Se recomienda utilizar no menos de

quince generadores en cascada.


Criptografa-ULL

Combinadores no Lineales:
Generador de Gollmann

CL L(2 1)
L

T = (2 1)
L

m 1

m
Criptografa-ULL

Combinadores no Lineales:
Generador Stop-and-Go
el reloj del subgenerador es controlado

por otro subgenerador


LFSR A
Clock
LFSR B

if ai = 1
if ai = 0

output bi
discard bi

Criptografa-ULL

Combinadores no Lineales:
Generador Umbral

Criptografa-ULL

Combinadores no Lineales:
Generador A5 para GSM
Clave de 64 bits: Semillas de los LFSR
LSFRs conocidos de periodos 219- 1, 222- 1, 223- 1

Criptografa-ULL

Combinadores no Lineales:
Generador A5 para GSM
Funcin Mayora f:

Criptografa-ULL

Criptografa-ULL

Criptografa-ULL

Criptografa-ULL

Criptografa-ULL

Combinadores no Lineales:
Generador A5 para GSM
Para cifrar transmisiones areas entre el MS y el BTS
Una conversacin GSM se enva como una secuencia de

228 bits cada 4,6 miliseg.


El periodo es de aprox. (4/3)(223- 1).
Existe el problema llamado de la colisin, debido a que
diferentes semillas de los registros pueden producir la
misma clave (el 70% de semillas distintas producen
distintas claves)
Una debilidad del protocolo de seguridad de GSM es que
la identidad de los mviles no siempre se cifra en la
transmisin area
Puede romperse con un PC en pocas horas (Con un
Pentium III comprobar 254 claves requiere 250 horas)
Se pueden hacer ataques por denegacin de servicio

Criptografa-ULL

Combinador no Lineal
Principios de diseo:
1. Usar registros con polinomios primitivos para
lograr periodo mximo
2. Usar longitudes de registros primas entre s
para garantizar complejidad lineal grande
3. Incluir en F trminos de cada orden para
garantizar buena distribucin de 0 y 1
4.
Criptografa-ULL

Cifrado en Bloque
El mensaje en claro se divide en bloques
y se aplica el algoritmo sobre cada uno de
forma independiente con la misma clave
de manera que:
el cifrado de cada smbolo depende de
los dems smbolos del mismo bloque,
para descifrar una parte no es preciso
descifrar el mensaje completo.
Criptografa-ULL

Cifrado en Bloque
Elementos bsicos:

Transformacin
inicial

Funcin
criptogrficamente
dbil

Transformacin
final

Alg. de Expansin
de clave
Criptografa-ULL

Cifrado en Bloque
Entrada: 64 bits

8 bits

8 bits

S1

S2

8 bits

8 bits

...

...

8 bits

8 bits

S7

S8

8 bits

8 bits

64 bits intermedios

64 bits de salida
Criptografa-ULL

Cifrado en Bloque: CBC

VI

m1

m2

m3

m4

m5

c1

c2

c3

c4

c5

VI
vector de inicializacin
E funcin de cifrado

Criptografa-ULL

Cifrado en Bloque: DES


Diseado por IBM y

NSA.
Estndar en EEUU de
1973 a 2000
Caractersticas:
Longitud de bloque:
64 bits
Longitud de clave :
56 bits
16 iteraciones
Cifrado tipo Feistel

Bloque
(64 Bits)

Permutacin inicial

Dividir en mitades

L0

K1

R0

f(R0,K1)

Criptografa-ULL

Cifrado en Bloque:
DES
56
- bit Key

64
-48
- bit bInput
it K1

Generate keys
Permutation Initial Permutation
48
- bit K1
Round 1
48
- bit K2
Round 2

...
Round 16
Swap
Permutation
64
- bit Output

48
- bit K16
Swap 32
- bit halves
Final Permutation
Criptografa-ULL

Cifrado en Bloque: DES


Permutacin de Bits (1-to-1)
Input:

1 2
0 0

3
1

4
0

32
1
1 bit

Output

22 6

13 32

..

1
3
Criptografa-ULL

Cifrado en Bloque: DES


Expansin de Bits (1-to-m)
Input:

1 2
0 0

3
1

4
0

5
1.

32
1

Output
1

..

0
48

Criptografa-ULL

Cifrado en Bloque: DES


Permutaciones Inicial y Final
Considerar la entrada como

una matriz M de 8-byte por


8-bit
Transformar M en M1 en
dos pasos
Transponer fila x en
columna (9-x), 0<x<9
Aplicar permutacin
sobre las filas:
Cada columna par y,
se convierte en fila
y/2
Cada columa impar
y, se convierte en fila
(5+y/2)
Permutacin final FP = IP-1

Criptografa-ULL

Cifrado en Bloque: DES

Criptografa-ULL

Cifrado en Bloque: DES

Criptografa-ULL

Cifrado en Bloque: DES


Descifrado
Aplicar las mismas operaciones con las

mismas claves Ki en cada iteracin:


Entrada: Rn+1|Ln+1
Debido a la operacin swap

Salida: Rn|Ln
La operacin swap devuelve al final el
resultado correcto: L|R
Criptografa-ULL

Cifrado en Bloque: DES


8 Cajas S
48 bits ==> 32 bits. (8*6 ==> 8 *4)
2 bits se usan para seleccionar las

permutaciones para el resto de los 4 bits


2 bits
row

4 bits
column

I1
I2
I3
I4
I5
I6

Si

O1
O2
O3
O4

i = 1,8.
Criptografa-ULL

Cifrado en Bloque: DES

Criptografa-ULL

Cifrado en Bloque: DES


No se puede deducir la clave a partir del mensaje cifrado.
Existe un criptoanlisis terico (diferencial) basado en

examinar pares de textos cifrados cuyos correspondientes


originales tienen diferencias particulares
Con el tamao de clave actual NO se considera fiable
Por fuerza bruta se puede romper desde 1999
En el ltimo reto propuesto por Internet se encontr la
clave por fuerza bruta en 21 horas
Sin embargo sigue siendo muy utilizado, aunque
Dadas las mejoras en la tecnologa (40% anual) la clave
debera crecer 1 bit cada 2 aos
128 bits seran suficientes hasta el 2121
La mejor opcin para usar DES se conoce como Triple- DES
(TDES) que consiste en aplicar DES tres veces. Criptografa-ULL

Cifrado en Bloque: Triple DES


Utiliza dos claves y tres ejecuciones del algoritmo
Longitud efectiva de la clave 112 bits
CIFRADO
K2
K1
A

K1
B

Texto nativo

Texto cifrado

DESCIFRADO
K2
K1
K1
B
A
D
E
D

Texto cifrado

Texto nativo
Criptografa-ULL

Cifrado en Bloque:IDEA
International Data Encryption Algorithm (Zurich,

1991)
Similar a DES: bloques de 64 bits
Claves de 128 bits: bsqueda exhaustiva: 1038 intentos
Operaciones:
2 16-bit to 1 16-bit

+ mod 216
mod (216 + 1)
Reversible
Clave inicial de 128 bits para generar 52 claves de 16
bits K1,,K52
Espansin de claves en cifrado y descifrado diferentes
Criptografa-ULL

Cifrado en Bloque:IDEA
128
- bit Key

64
- - bitbitInput
48
K1

key expansion
Round 1
Round 2

k1k2k3k4
k5k6

...
Round 16
Round 17

k49k50k51k52

64
- bit Output
Criptografa-ULL

Cifrado en Bloque:IDEA
X1

X2

X3

X4

X1

X2

X3

X4

Criptografa-ULL

Cifrado en Bloque: Rijndael


Diseado en Blgica (Rijmen y Daemen).
Estndar (AES) en EEUU desde 2000.
Caractersticas:

Longitud variable de bloque y de clave: 128,192, 256 bits.


Nmero de iteraciones flexible: 10, 12, 14.
Operaciones a nivel de byte, con palabras de 4 bytes
No es de tipo Feistel
Implementacin eficiente y con pocos requerimientos
Fcilmente paralelizable
Posible implementacin en tarjeta inteligente
http://csrc.nist.gov/encryption/aes/
Criptografa-ULL

Cifrado en Bloque: Rijndael


Clculos en GF(28).
En cada iteracin se realizan

cuatro pasos:
Sustitucin de cada byte por
su recproco
Desplazamiento de bytes
Producto de cada columna
por una matriz
XOR de la subclave y la
informacin
del
estado
intermedio actual
Descifrado:Operaciones
inversas en orden inverso

Criptografa-ULL

Cifrado en Bloque: Rijndael

Criptografa-ULL

Algoritmo Rijndael
Operaciones en GF(28 ).
Los bytes se representan en forma de polinomios. Por ejemplo
A = 5716 = 0101 01112 = x6 + x4 + x2 + x + 1
B = 8316 = 1000 00112 = x7 + x + 1

Suma en GF(28 )
La suma en GF(2^8) se puede realizar de forma
sencilla utilizando XOR (es equivalente a la suma
de polinomios modulo 2)

A+B = 0101 0111 1000 0011


= 1101 0100 =D416
{57} {83} = {D4}

Multiplicacin en GF(28 )
Consiste en multiplicar los polinomios (en mdulo 2), y el
resultado ir reducindolo mdulo m(x). Donde m(x) es un{57}
polinomio irreducible.

. {83} = {c1}
Criptografa-ULL

Algoritmo Rijndael
Cada operacin del algoritmo tiene como entrada la salida de la
operacin anterior. Este resultado intermedio se denomina
ESTADO.
Lo vemos para el caso de longitud de bloque 128.
El ESTADO se representa como una matriz rectangular de bytes,
de 4 filas y 4 columnas

La clave tambin se representa con una matriz rectangular de


bytes, de 4 filas y 4 columnas

Criptografa-ULL

Algoritmo Rijndael
El nmero de iteraciones que
se utilizan depende de la
versin del algoritmo que
utilicemos, es decir:

En el caso que estudiamos,


(longitud de bloque 128), el n
de iteraciones es 10.

Criptografa-ULL

Iteracin 0
ARK: AddRoundKey:
Consiste en una OR
- EXCLUSIVA entre el bloque de entrada y la
clave original de cifrado. El resultado es el ESTADO INTERMEDIO
1

Criptografa-ULL

Transformacin 1. ByteSub
Sustitucin no lineal de los bytes de la matriz de estado
basada en una S-Caja que para cada byte genera un nuevo
byte.

Ejemplo:

Criptografa-ULL

Criptografa-ULL

Transformacin 2. ShiftRow
Consiste en desplazar a la izquierda los bytes de las filas que conforman
la matriz del estado actual.
Cada fila i=0,1,2,3 se desplaza un numero i de posiciones diferentes

Criptografa-ULL

Criptografa-ULL

Transformacin 3.
MixColumn
Visto de forma
matricial, donde
c
representa el ndice
de la columna
que se procesa:

Ejemplo:

Criptografa-ULL

Criptografa-ULL

Transformacin 4. AddRoundKey
Esta transformacin consiste en una OR-EXCLUSIVO
entre el Estado Intermedio 4 y una subclave que se
genera a partir de la clave original de cifrado.

Ejemplo:

Criptografa-ULL

Criptografa-ULL

Descifrado:
Es similar al de cifrado, pero algunas operaciones son las
transformaciones inversas de las operaciones realizadas en el
cifrado, y las subclaves se usan en orden inverso.
Transformacin 1. InverseByteSub (S-Caja):

Criptografa-ULL

Transformacin 2. InverseShiftRow
Se realiza el mismo proceso que en el cifrado pero
desplazando a la derecha los bytes de las filas que
conforman la matriz del estado actual.
Transformacin 3. InverseMixColumn

Criptografa-ULL

Generacin de Subclaves
El proceso de seleccin de la llave para la
iteracin i, ser tomada de la subclave desde
w[Nb*i] hasta w [Nb *(i+1) ]

Criptografa-ULL

Seguridad de Rijndael
Segn los estudios publicados, no existe ningn
mecanismo para invertir el Algoritmo que sea ms eficiente
que un ataque por fuerza bruta.
El diseo de los parmetros del Algoritmo como: Nmero
de iteraciones, nmero de rotaciones de bytes, los valores
de las S-Cajas, etc, fueron elegidos para hacer robusto al
Algoritmo frente a ataques conocidos como:
Criptoanlisis Diferencial
Criptoanlisis Lineal
El primer ataque conocido para este algoritmo fue
publicado en 1998, logra romper la seguridad tericamente
solo para 6 iteraciones, pero recordemos que Rijndael usa
10, 12 o 14 ciclos.

Criptografa-ULL

Criptografa-ULL

Criptografa-ULL

Criptografa-ULL

Criptoanlisis
Criptografa-ULL

Cifrado en Bloque/Flujo
CIFRADO EN BLOQUE
El algoritmo de cifrado se aplica sobre cada bloque de mensaje usando
la misma clave.
Ventajas:
Desventajas:
* Alta difusin
* Baja velocidad de cifrado
* Imposible introducir
* Propenso a errores de cifrado: Un
bloques falsos sin detectarlo.
error se propaga a todo el bloque.

CIFRADO EN FLUJO
El algoritmo de cifrado se aplica sobre cada bit de mensaje usando
los distintos bits de la secuencia de clave.
Ventajas:
Desventajas:
* Alta velocidad de cifrado
* Baja difusin
* No propaga errores.
* Vulnerable a alteraciones
Criptografa-ULL

Gestin de Claves
Generacin, distribucin, almacenamiento, tiempo de vida,

destruccin y aplicacin de las claves de acuerdo con una


poltica de seguridad.
Longitud de la clave
Eleccin correcta de la clave para evitar ataque de

diccionario. Generacin seudoaleatoria.


Tiempo de vida de las claves: Fecha de caducidad porque
cuanto ms tiempo se use una clave:
aumenta la probabilidad de que se comprometa
mayor ser el dao si la clave se compromete, ya que toda la
informacin protegida con esa clave queda al descubierto.
mayor ser la tentacin de alguien para intentar desbaratarla.
en general es ms fcil realizar criptoanlisis con mucho texto
cifrado con la misma clave.
Criptografa-ULL

Gestin de Claves
Jerarqua del espacio de claves:
de sesin, empleadas para cifrar los datos
de usuario y que son actualizadas
frecuentemente,
de cifrado de claves, para proteger las
claves de sesin, y
maestras, que son distribuidas
manualmente y se utilizan para proteger
las de cifrado de claves cuando son
intercambiadas.
Criptografa-ULL

Distribucin de Claves Secretas


E
kDE

kAE

A
kAD
kAC

kCE

kAB

kBD

kXY

kXY
kYX

Nmero Claves:
n (n-1)
2
kCD

kBE

Definicin previa:

N = n de claves

C
B

kBC
2 usuarios:
3
4
5

NN==10
1
3
6

Lagestin
gestinde
delas
lasclaves
claveses
esuna
unatarea
tareamuy
muydifcil
difcil
La
Criptografa-ULL

Distribucin de Claves Secretas:


Mtodo de Diffie-Hellmann
escoge secreto xB

escoge secreto xA
calcula yA=
xA (mod p)

calcula
xB (mod p)
yB=
genera
k= yAxB (mod p)

genera k= yBxA (mod p)

Criptografa-ULL

Potrebbero piacerti anche