Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Explicación del Cifrado en Bloques Simétrico DES




Enviado por rafael_net



Partes: 1, 2

    1. Descripción del algoritmo
      DES
    2. Algoritmo de
      Cifrado
    3. Generación
      de la subclave Ki
    4. Función
      f(Ri-1 , Ki)
    5. Suma
      Li Ri
    6. Permutación
      P1-1
    7. Descifrado
    8. Ataques a
      la seguridad
      criptográfica
    9. Bibliografía

    En el presente trabajo se
    explica los distintos procesos que
    conforman el algoritmo de
    cifrado en bloques simétrico DES, los diferentes ataques
    que ha sufrido DES, con el propósito de dar una
    explicación general.

    Data Encryption Standard (DES), es un algoritmo de
    cifrado en bloque simétrico, de longitud fija, el cual
    consiste de dos permutaciones, 16 vueltas en donde el mensaje de
    64 bits es dividido en dos bloques de 32 bits, después de
    usar la primer permutación llamada P1, es cifrado 16 veces
    utilizando cada vez una subclave, la cual se genera 16 veces en
    un proceso
    paralelo. En el proceso para descifrar se utiliza el mismo
    algoritmo con las subclaves en orden inverso, dando como
    consecuencia, la simetría del algoritmo.

    DES (Data Encryption Estándar), aparece en los
    años 70, cuando la National Bureau of Standards (NBS),
    publicó una convocatoria para nuevos sistemas
    criptográficos. IBM, presentó el sistema de
    cifrado DES como una modificación de un sistema anterior
    llamado lucifer. DES se convirtió en el
    estándar federal, para las comunicaciones
    seguras en los EE.UU. El algoritmo DES se hizo publico debido a
    una falla entre el NSA y la Oficina Nacional
    de Estandarización, cuando originalmente DES fue
    diseñado para ser implementado por hardware, en dicha
    publicación apareció información a detalle sobre el algoritmo
    para ser implementado por software.

    Desde la aparición del algoritmo DES, se ha
    sometido a pruebas que
    realiza la National Institute of Standards and Technology (NIST),
    cada cuatro años, con el propósito de mantener o
    retirarle como estándar, DES ha sufrido serias criticas en
    cuanto a su fiabilidad por contar con una clave de 64 bits,
    siendo 56 bits los que se utilizan para obtener las 16 subclaves.
    En el año de 1998 se realizo un reto, con el
    propósito de romper el algoritmo DES, lo cual se logro.
    Considerando que el algoritmo DES fue diseñado en los
    años 70 ha tenido un camino largo sin haber sido
    vulnerado, el NIST, considerando el creciente aumento de la
    tecnología
    y la velocidad de
    los ordenadores, que cada 18 meses duplican su velocidad, el
    algoritmo DES ya no es computacionalmente seguro, por tal
    motivo el NIST ha trabajo en el algoritmo Triple-DES, con este
    algoritmo y la noticia publicada por el NIST "DES encryption
    inadequate", proponiendo retirar la certificación para uso
    en productos de
    software de venta para el
    gobierno de los
    EE.UU. el algoritmo DES tiene poco tiempo de uso
    comercial.

    Introducción

    En la historia de la humanidad
    siempre ha existido la necesidad de mantener información
    en secreto, por lo que existe dos etapas de la
    CriptografíaI, Criptografía Clásica y
    Criptografía Moderna. La etapa de la criptografía
    clásica se puede limitar en tiempo, cuando surge la
    necesidad de tener un canal seguro de comunicación, al surgimiento de la
    Criptografía Moderna en los años 70`s.

    En la Criptografía clásica se utilizaba la
    Sustitución y Transposición para cifrar el mensaje,
    a continuación se presentan algunos métodos
    utilizados.

    • Método de Transposición de Escitalo. El
      método
      consistía en un aparato cilíndrico de madera al
      cual se le enrollaba una cinta de papiro y en el cual se
      escribía el mensaje a lo largo, una vez terminado el
      mensaje se desenrollaba la cinta de papiro, siendo la
      técnica de transposición de caracteres, era
      difícil comprender el mensaje sin el aparato
      cilíndrico.

    • Método de Sustitución,
      Mono-alfabético, Mono-grámico de Cesar. El nombre
      utilizado es debido a que se menciona la técnica, el
      tipo de alfabeto y la forma de ordenar las letras para realizar
      el cifrado. El método consistía en un
      desplazamiento (n), con el propósito de sustituir cada
      carácter del mensaje en claro por otro
      situado (n) posiciones después.
    • Método de Sustitución,
      Mono-alfabético, Poli-gramico de Playfair. Se hace
      referencia a la técnica, el tipo de alfabeto y la forma
      de ordenar las letras para realizar el cifrado. El
      método consistía en tomar sus caracteres en
      parejas, las letras del alfabeto se escribían en una
      matriz de
      5×5, al tener los caracteres separados en parejas se
      procedía a realizar el cifrado, con ciertas reglas, para
      encontrar la pareja de letras que darían el cifrado
      posterior.
    • Método de Sustitución,
      Poli-alfabético, Periódicos de Vigenere. A
      diferencia de los métodos mencionados anteriormente,
      este método utiliza mas de un alfabeto para cifrar el
      mensaje, por tal motivo se considera Poli-alfabético, se
      considera Periódico debido a la clave utilizada
      para cifrar el mensaje. El método consistía en
      asignar a cada letra de cierto alfabeto un numero entero, y
      seleccionar una palabra clave de cualquier alfabeto y
      asignándole un numero entero a cada letra de la misma,
      sumada con el mensaje daría origen al mensaje
      cifrado.

    La Criptografía clásica, conocida
    actualmente como Simétrica o de Clave secreta, tiene como
    características el algoritmo Oculto y la clave Secreta,
    siendo estas la diferencia con la Criptografía moderna, en
    la actualidad el algoritmo es Publico y la clave Secreta. La
    razón de conocer el algoritmo, es comprobar que realmente
    es seguro, a través de su
    criptoanálisisII, con el propósito de
    tener la certeza que aún continua siendo seguro,
    ésto a dado entre otras consecuencias nuevas líneas
    de investigación y poder
    seleccionar los algoritmos de
    cifrado para estándar.

    Descripción del algoritmo DES

    En la etapa de la Criptografía moderna existen
    dos modelos de
    cifrado, cifrado en flujo (Vernam) y cifrado en bloque
    (DES cifrado en bloque simétrico y RSA cifrado en
    bloque asimétrico
    ).

    1.1.
    Algoritmo de Cifrado

    DES, es un algoritmo de cifrado en bloques
    simétrico, el tamaño del bloque es de longitud fija
    de 64 bits, el algoritmo consta de dos
    permutaciones, una al inicio conocida como P1, la cual se
    muestra a
    continuación:

    Tabla antes la
    Permutación

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    Permutación Inicial
    (P1)

    58

    50

    42

    34

    26

    18

    10

    2

    60

    52

    44

    36

    28

    20

    12

    4

    62

    54

    46

    38

    30

    22

    14

    6

    64

    56

    48

    40

    32

    24

    16

    8

    57

    49

    41

    33

    25

    17

    9

    1

    59

    51

    43

    35

    27

    19

    11

    3

    61

    53

    45

    37

    29

    21

    13

    5

    63

    55

    47

    39

    31

    23

    15

    7

    Al investigar información sobre DES, se puede
    encontrar la siguiente tabla:

    Para ver la tabla
    seleccione la opción "Descargar" del menú
    superior

    Después de recibir un bloque de entrada de 64
    bits, el primer paso consiste en aplicar al bloque de
    entrada la permutación P1, teniendo como resultado un
    orden de salida que se identifica leyendo la tabla de izquierda a
    derecha y de arriba abajo. Significa que el bit del lugar 58 en
    el mensaje de entrada, después de la permutación,
    ocupara la posición 1 y así sucesivamente.
    Ejemplo:

    Bloque de Entrada: Bloque de Salida:

    0..1 ..0 ..1 ..0 ..1 ..1 ..0 0..1 ..1 ..0 ..1 ..0
    ..1 ..0

    2..10..18..26..34..42..50..58
    58..50..42..34..26..18..10.. 2

    Una vez realizada la permutación, los 64 bits se
    dividen en dos sub-bloques Left y Right (Li y
    Ri) de 32 bits, los bits que forma el sub-bloque
    Li se encuentra formado por los primeros 32 bits y los
    bits restantes forma el sub-bloque Ri. En estas
    condiciones, el cifrado DES esta definido por las ecuaciones:

    Li =
    Ri-1

    Ri = Li-1 f (
    Ri-1 , Ki )

    El valor de i =
    16, representa el valor de las 16 vueltas del algoritmo. Lo
    anterior se explicará con un ejemplo, el cual se ira
    detallando a lo largo del trabajo, ejemplificando cada proceso
    del algoritmo.

    Ejemplo Permutación
    P1

    Mensaje a Cifrar = Denytamo

    Para ver la tabla
    seleccione la opción "Descargar" del menú
    superior

    Utilizando la tabla Permutación Inicial P1,
    tenemos:

    Tabla antes la
    Permutación

    0

    1

    0

    0

    0

    1

    0

    0

    0

    1

    1

    0

    0

    1

    0

    1

    0

    1

    1

    0

    1

    1

    1

    0

    0

    1

    1

    1

    1

    0

    0

    1

    0

    1

    1

    1

    0

    1

    0

    0

    0

    1

    1

    0

    0

    0

    0

    1

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    1

    0

    1

    1

    1

    1

    Permutación Inicial
    (P1)

    1

    1

    1

    1

    1

    1

    1

    1

    0

    0

    0

    1

    1

    0

    0

    0

    1

    1

    0

    1

    0

    1

    1

    1

    1

    1

    1

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1

    1

    0

    1

    1

    0

    0

    1

    1

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    Se muestra el resultado de haber realizado la
    permutación P1, la parte superior se encuentra
    marcada con el fin de indicar cuales son los bits que forman el
    sub-bloque L0, los bits restantes forman el sub-bloque
    R0, dando como resultado:

    L0 = 11111111 00011000
    11010111 11101010

    R0 = 00000000 11111110
    11001100 10000100

    Sub-bloques iniciales

    1.1.1. Permutación E

    La salida de R0 es de 32 bits, se utiliza la
    permutación E, con el propósito de expandir a 48
    bits y así poder realizar la suma OR exclusiva con la
    clave Ki, lo anterior se encuentra esquematizado en
    la imagen. A
    continuación se muestra la tabla para realizar la
    permutación E.

    Permutación
    E

    32

    1

    2

    3

    4

    5

    4

    5

    6

    7

    8

    9

    8

    9

    10

    11

    12

    13

    12

    13

    14

    15

    16

    17

    16

    17

    18

    19

    20

    21

    20

    21

    22

    23

    24

    25

    24

    25

    26

    27

    28

    29

    28

    29

    30

    31

    32

    1

    Bits duplicados

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    En la tabla del lado izquierdo se encuentran marcados
    los bits utilizados para expandir a 48 bits en la
    permutación E. Al realizar la expansión de
    R0, se procede con la suma OR exclusiva que se
    explicara mas adelante.

    Ejemplo Permutación
    E

    Al tener la secuencia de R0 de 32 bits, es
    necesario aplicar la permutación E, la cual se muestra a
    continuación.

    32 Bits

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1

    1

    0

    1

    1

    0

    0

    1

    1

    0

    0

    1

    0

    0

    0

    0

    1

    0

    0

    R0 = 0000 0000 1111 1110
    1100 1100 1000 0100

    Permutación
    E

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    0

    1

    0

    1

    1

    0

    0

    1

    0

    1

    1

    0

    0

    1

    0

    1

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

     

    El resultado de la permutación E(R0)
    es:

    E(R0) = 000000 000001
    011111 111101 011001 011001 010000 001000

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter