Algoritmos Simtricos - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Algoritmos Simtricos

Description:

Modo Electronic Codebook (ECB) ... Modo Cipher Block Chaining (CBC) Se soluciona el problema generado con el modo ECB, encadenando los bloques de mensajes. ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 23
Provided by: thierrydes
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos Simtricos


1
Algoritmos Simétricos
  • Thierry de Saint Pierre
  • Gerente Comercial
  • eBusiness Technology

2
Algoritmos simétricos
  • Simétricos o con llave secreta.
  • Utilizan una llave secreta que solo conocen
    ambos corresponsales.
  • La seguridad del método depende de cuán bien está
    protegida la llave y su canal de distribución.
  • Ejemplos de algoritmos
  • DES (Data Encription Standard)
  • Modo Bloque (EBC), modo encadenamiento (CBC)
  • FEAL (Fast Data Encipherment Algorithm)
  • IDEA

3
Diagrama
Canal de distribución de llaves
M
K
C
C
DECRIPTAMIENTO
M
4
Data Encription Standard (DES)
  • Encriptamiento producto es la composición de t
    funciones F1, F2, ..., Ft dónde cada Fi puede ser
    una sustitución o una permutación
    (transposición). Las máquinas a rotor son un
    ejemplo donde Fi corresponde al rotor Ri.
  • Proposición de NBS (National Bureau of Standard -
    1977). El algoritmo de encriptamiento fue
    desarrollado en IBM en el programa LUCIFER.
  • DES encripta Mensajes decompuestos en bloques de
    64 bits con llaves de largo 56 bits.
  • Era el algoritmo estándar de facto del mundo
    financiero pues provee suficiente seguridad para
    información transiente. Está siendo reemplazado
    por triple DES.

5
Data Encription Algorithm (DEA)
6
DEA (2)
  • b

k16
R16 L15 f(R15,k16)
1 2 3
32
R16L16
7
DEA (3)
  • El bloque de entrada T t1t2 ... t64 es
    transpuesto con una permutación inicial IP dando
    T0.
  • La permutación IP está dada por la tabla
    siguiente
  • 58 50 42 34 26 18 10 260 52 44 36 28 20 12 462
    54 46 38 30 22 14 664 56 48 40 32 24 16 857 49
    41 33 25 17 9 159 51 43 35 27 19 11 361 53 45
    37 29 21 13 5 63 55 47 39 31 23 15 7
  • siendo T0 t58t50 ... t15t7
  • la permutación inversa se deduce facilmente
    (ejercicio)
  • Despues de pasar por 16 iteraciones de la función
    f el resultado es transpuesto con la permutación
    inversa IP -1 para dar el resultado final.

8
DEA (4)
  • Entre la transposición inicial y final se
    realizan 16 iteraciones de la función f que
    combina sustituciones y transposiciones. Sea Ti
    el resultado de la iesima iteración y sean Li y
    Ri las mitades izquierda y derecha de Ti, es
    decir Ti Li Ri. entonces
  • Li t1... t32Ri t33 ... t64
  • Luego Li Ri-1 Ri Li-1 f (Ri-1 ,
    Ki)donde es el Or exclusivo y Ki es una llave
    de 48 bits.
  • En la ultima iteración los bloques L y R no son
    invertidos para permitir usar el mismo algo. en
    el decriptamiento.
  • La función f es calculada de la siguiente manera

9
La funcióm f(Ri-1, Ki)
LSi - Shift izquierda
LSi - Shift izquierda
Ki 48 bits
Permutacion / contracción
B1 B2 ... B8
Substitution (S-Box)
32 bits
Permutación
Ri
1 2 3
32
10
La función f(Ri-1, Ki)
  • Primero Ri-1 es expandido a un bloque de 48 bits
    utilizando una función de tipo transposición E ,
    algunos bits se repiten Si Ri-1 r1r2 ...r32
    entonces E(Ri-1) r32 r1r2 r3r4 r5r4 r5r6r7r8r9
    r10 ...r28 r29r30r31r32 r1
  • Luego se calcula el or exclusivo entre E(Ri-1) y
    Ki y el resultado es separado en 8 bloques de 6
    bits B1, ..., B8. E(R-1)Ki B1B2 ...B8
  • Se utilizan 8 funciones Sj (SBOX) que reciben
    como entrada Bj y entregan un resultado Sj(Bj)
    sobre 4 bits. Se interpretan esta funcion como
    sigue primer y ultimo bit seleccionan la fila y
    los 4 bits de en medio la columna. El output es
    el valor de la celda convertido en binario.
  • Ejemplo del Sbox S1
  • Estos 8 bloques son concatenados juntos y se les
    aplica la permutación P siguiente
    (16,7,20,21,29,... ,11,4,25). f(R-1,Ki)
    P(S1(B1) ... S8(B8))

11
Cálculo de llaves
  • Cada iteración utiliza una llave Ki de 48 bits
    diferente.Se parte con una llave K de 64 bits (8
    bytes). La permutación PC-1 (57,49,41,33,25,17,9
    , ... 20,12,4) elimina los 8 bits de paridad
    dejando 56 bits.
  • PC-1(K) es separado en dos mitades C0 y D0.Ci
    LSi (Ci-1) yDi LSi (Di-1) donde LSi es un
    shift izquierdo circular de un número de i bits
    que depende del numero de iteración i.
  • Finalmente Ki PC-2 (Ci Di) donde PC-2 es la
    permutación (14, 17, 11, 24, ..., 42,
    50,36,29,32).

12
Decriptación
  • Se utiliza el mismo algoritmo, excepto que K16 es
    usado en la primera iteración, luego K15 y así
    hasta K1.
  • Primer Ciclo de la decriptación
  • Sea C 64 bits cifrado, C IP 1 (R16//L16)
  • Se aplica la permutacion L0d // Rod IP (C)
  • Luego L0d // Rod IP(IP 1 (R16//L16))
    R16//L16
  • En la etapa i el resultado es
  • Recordemos que en la encriptración Li Ri-1 y
    Ri Li-1 f (Ri-1, Ki)
  • Reordenando los términos
  • Ri-1 Li y
  • Li-1 Ri f(Ri-1, Ki) Ri f(Li, Ki)
  • Finalmenteel output de la última iteración de
    decriptación es R0//L0 , el cual se invierte y se
    le aplica la permutación inversa
  • IP-1(L0//R0) IP-1(IP(M)) M

13
Modo Electronic Codebook (ECB)
  • Cada Bloque es encriptado separadamente, sin
    dependencia entre los bloques. Un mensaje M
    M1M2, ...Mn es encriptado por C1C2 ...Cn donde
    Ci depende solo de Mi.
  • Este tipo de funcionamiento permite que un
    atacante sustituya un bloque Ci por un bloque
    anterior C que sabe que es válido. Este modo no
    protege la integridad de los mensajes.
  • Ataque por el libro de códigosEl atacante tiene
    un diccionario con los bloque que ha conseguido
    identificar por repetición.Dos soluciones
  • Modificar la llave K a menudo.
  • Tener un espacio de mensajes amplio de forma que
    las palabras no se repitan a menudo.
  • Por ejemplo en el caso de una red de cajeros ATM,
    la llave usada en el encriptamiento y el PIN del
    usuario son transmitidos siendo posible
    compilarlas en un libro de códigos.

14
Modo Cipher Block Chaining (CBC)
  • Se soluciona el problema generado con el modo
    ECB, encadenando los bloques de mensajes. Un
    mensaje M M1M2 ... Mn compuesto de bloques Mi
    de 64 bits c/u es codificado en C1,C2, ..., Cn
    donde C1 depende de M1, C2 depende de M1 y M2,
    ..., Cn depende de M1, M2, ..., Mn.
  • Cualquier intento de sustituir un bloque del
    mensaje por otro , se transforma en algo sin
    sentido en el momento de decriptarlo.

15
CBC (2)
  • El mensaje M a encriptar es dividido en n
    bloques de 64 bits c/u M M1M2 ...Mn.
  • Se toma una llave inicial IV
  • El algoritmo de encriptamiento es el siguiente
  • IV M1 se encripta en C1 ,
  • C1 M2 se encripta en C2 , .....
  • Cn-1 Mn se encripta en Cn.donde es el Xor y
    verifica (X Y) X Y.
  • El algoritmo de decriptamiento es el siguiente
  • Se decripta C1 para obtener IV M1 y luego se
    calcula (IV M1) IV M1 ,
  • Se decripta C2 para obtener C1 M2 y luego se
    calcula (C1 M2) C1 M2 , ....
  • Se decripta Cn para obtener Cn-1 Mn y luego se
    calcula (Cn-1 Mn) Cn-1 Mn .

16
Diagrama del CBC Encriptamiento
Mn
IV
Cn-1
C1

DEA
....
Cn
17
Diagrama del CBC Decriptamiento
C1
C2
Cn
Cn-1
C1
....
DEA
DEA
DEA
IV M1
Cn-1 Mn
IV
M1
M2
Mn
18
Propiedades del DES
  • La debilidad del DES radica en el largo de su
    llave que es de solo 56 bits.
  • Se sabe que con un computador lo suficientemente
    poderoso podrá quebrar el algoritmo con un
    chequeo intensivo de todas las llaves
  • una máquina que se demoraría 1 microsegundo por
    encriptamiento DES tardaría 2000 años.
  • Una máquina con un millón de chips cada uno capaz
    de implementar un millón de encriptamientos DES
    tardaría 20 horas. Es decir en promedio se
    encontraría la llave al cabo de 10 horas.
  • Propiedades del CBC
  • El vector IV debe ser generado aleatoriamente. No
    debe ser divulgado.

19
Modo Cipher Feedback (CFB)
  • Se empieza encriptando un vector inicial de k
    bits y luego se hace un Xor con k bits del
    mensaje generando los k bits encriptados. Estos k
    bits encriptados son retroalimentados en el
    sistema (k 1 o k 8).

20
Encriptamiento múltiple Doble DES
  • En vista de la factibilidad de una búsqueda
    exhaustiva de la llave, DES empieza a ser usado
    con dos llaves (de 56 bits) EK2(EK1(M))
  • Se demuestra que no existe una llave K3 que
    corresponde a una llave DES simple tal que EK3(M)
    EK2(EK1(M))
  • De hecho existen 2 56 llaves y (264)! gt(1010) 20
    funciones de encriptación posibles.
  • El problema de este algoritmo es que se presta al
    ataque llamado Ataque del encuentro-en-el-medio.
    Sea Ci EK2(EK1(M)), luego si X EK1(M)
    DK2(Ci). Supongamos que el atacante conoce M y
    Ek(M). Primero encripta M para los 256 valores de
    llave K1 y se ordenan por valor de X. Luego se
    decripta C con cada valor de K2 y se compara con
    la tabla.. Se espera que encuentre 248
    coincidencias que es igual a 2112 llaves dividido
    por 264 posibles cifrados C. Necesita conocer
    otro par M1 y Ek(M1) y probar con las 248 llaves
    para dar con la solución. Total de llaves
    probadas 2 256 2 248

21
Triple DES
  • Algoritmo Triple DES sean dos llaves de 56 bits
    K1 y K2 y notemos K(K1,K2) entonces el
    criptograma de M es
  • EK(M) EK1(DK2(EK1(M)))
  • Si K1 K2 entonces EK(M) EK1(M).
  • Es un algoritmo muy popular adoptado en los
    estándares de administración de llaves ANS X9.17
    (American National Estándar Financial
    Institution Key Management) y PEM.
  • El ataque del medio necesita 2112 ciclos lo que
    lo transforma en no-factible por el momento.
  • En la actualidad no existen técnicas
    criptoanáliticas eficaces contra el triple DES.

22
FEAL
  • Fast Data Encipherment Algorithm es un algoritmo
    muy eficiente.
  • Desarrollado por la NTT.
  • Opera con bloques de datos de 64 bits y con una
    llave de 64 bits. Es considerado más seguro que
    el DES por la dimensión de la llave y por su
    función de encriptamiento.
  • Clase de algoritmos FEAL-N
  • FEAL-4 autentificación de mensajes.
  • FEAL-8 para ser usado en modo CBC.
  • FEAL-16 autentificación punto a punto y en modo
    ECB.
Write a Comment
User Comments (0)
About PowerShow.com