algoritmos des y ecb

19
Área de la Energía, las Industrias y los Recursos Naturales no Renovables INGENIERÍA EN SISTEMAS MÓDULO IX Paralelo B TEMA: Cifrado y Descifrado Con El Método ECB Y DESINTEGRANTES: María Cristina Carrillo Martínez Jenny Paulina Imacaña Fernández Maricela del Cisne Maldonado Cuenca Silvia Maribel Michay Pugo Iliana Elizabeth Vargas Aguilar COORDINADOR: Ing. Luis Chamba LOJA ECUADOR 2010

Upload: cristina-carrillo

Post on 27-Jun-2015

776 views

Category:

Documents


0 download

TRANSCRIPT

Área de la Energía, las Industrias y los Recursos Naturales no Renovables

INGENIERÍA EN SISTEMAS

MÓDULO IX

Paralelo B

TEMA:

“Cifrado y Descifrado Con El Método ECB Y DES”

INTEGRANTES:

María Cristina Carrillo Martínez

Jenny Paulina Imacaña Fernández

Maricela del Cisne Maldonado Cuenca

Silvia Maribel Michay Pugo

Iliana Elizabeth Vargas Aguilar

COORDINADOR:

Ing. Luis Chamba

LOJA – ECUADOR

2010

TEMA:

Cifrado y Descifrado con el Método ECB

MOTIVACIÓN DEL ALGORITMO

Figura No 1. Información en la red

Actualmente, la criptografía tiene un papel importante en muchas aplicaciones de tecnologías de la información. Con un número creciente de personas conectadas a Internet, la transmisión segura de información es un asunto de alta prioridad, donde aplicaciones como correos electrónicos, sucursales virtuales bancarias y empresariales, bases de datos médicas, comercio electrónico, entre otras requieren el intercambio de información privada. La posibilidad de manejar distintos estándares criptográficos depende de que la mayoría de los protocolos de seguridad modernos y aplicaciones de seguridad sean definidas independientes de los algoritmos, es decir, permiten seleccionar de un conjunto de algoritmos criptográficos para la misma función de seguridad entre las diversas medidas de seguridad. La seguridad de los datos de cualquier sistema es algo muy importante, y no siempre recibe la atención y dedicación necesaria. Es por ello que existen algoritmos de encriptación y decencriptación de datos para que no sean vulnerables, nosotros para realizar dichos métodos hemos utilizado el algoritmo de encriptación (ECB) conocido por muchos como electronic codebook por ser el más sencillo, además porque destaca la posibilidad de romper el mensaje en bloques y cifrarlos en paralelo o acceder aleatoriamente a los diferentes bloques. Esta iniciativa constituye un beneficio clave del aprovechamiento de un método de seguridad

basado en entornos, debido a que permite codificar bloques independientemente de su orden,

además de ser resistente a errores.

Figura No 2. Seguridad de la información

DESCRIPCIÓN DE LA SOLUCIÓN

Figura No 3. Algoritmo ECB

Este método llamado ECB (electronic codebook) es el más simple de modo de cifrado, pues se limita a partir el mensaje en bloques y cifrarlos por separado. Entonces toma bloques de tamaño fijo del texto en claro y producen un bloque de tamaño fijo de texto cifrado, generalmente del mismo tamaño que la entrada. Es decir, se parte el mensaje en bloques de k bits, rellenando el ultimo si es necesario y se encripta cada bloque. Y para desencriptar se trocea el texto cifrado en bloques de k bits y se desencripta cada bloque.

A continuación se presentan las figuras correspondientes a los métodos de encriptación y desencriptación respectivamente:

Figura No 4. Encriptación.

Figura No 5. Desencriptación.

Una característica interesante de estos algoritmos es que la encriptación ydesencriptación son idénticas estructuralmente, aunque las subclaves empleadas en la encriptación se toman en orden inverso en la desencriptación.

HERRAMIENTAS INFORMÁTICAS

Internet

Java (NetBeans)

CONCLUSIONES

Se realizó un análisis para la selección de la arquitectura basándose en las implementaciones de algunos algoritmos criptográficos mediante sus componentes básicos. Se fundamentó en los estándares de ECB (Electronic Codebook).

Con el algoritmo ECB destaca la posibilidad de romper el mensaje en bloques y

podemos acceder a ellos aleatoriamente.

Con este algoritmo puede hacerse protocolos sin la protección de la integridad, puesto

que cada bloque consigue ser descifrado exactamente de la misma manera.

El hecho de cifrar los bloques por separado implica que cuando se cifre un bloque con

cierto valor, siempre se obtendrá el mismo resultado. Esto hace posible los ataques de

diccionario.

Figura No 6. Seguridad de información

FUTUROS TRABAJOS

Al intentar aumentar la seguridad aparecen nuevos algoritmos criptográficos, o para los algoritmos existentes se encuentran diseños mejorados, modificados u optimizados. En cualquier caso, los productos hardware de seguridad no consideraron esas modificaciones en el tiempo de diseño y pueden quedar rezagados tecnológicamente. Este requerimiento motiva a ofrecer un producto donde códigos de configuración puedan actualizar al dispositivo criptográfico.

Análisis E Implementación De Algoritmos Cifradores Para Una Unidad Reconfigurable De Procesamiento Criptográfico En Fpga, [Seriada en línea]. Pág.1-11. Disponible en: URL: http://ccc.inaoep.mx/Reportes/CCC-04-006.pdf, [Consultado Diciembre 19, 2010]

Cifrado Por Bloques, [Seriada en línea]. Pág.1-2. Disponible en: URL: http://es.wikipedia.org/wiki/Cifrado_por_bloques, [Consultado Diciembre 19, 2010]

Aplicaciones Electrónicas Seguras Basadas En Tarjetas Inteligentes,[Seriada en línea]. Pág.1-2. Disponible en: URL: http://www.uvmnet.edu/investigacion/episteme/numero1107/enfoque/a_aplicaciones.asp, [Consultado Diciembre 19, 2010]

Worldlingo. Modo De Operación De La Cifra Del Bloque, [Seriada en línea]. Pág.2-4. Disponible en: URL: http://www.worldlingo.com/ma/enwiki/es/Block_cipher_modes_of_operation,[Consultado Diciembre 19, 2010]

TEMA:

Cifrado y Descifrado con el Método DES

MOTIVACIÓN DEL ALGORITMO

El algoritmo DES (Data Encryption Standard, estándar de cifrado de datos) desarrollado originalmente por IBM, en 1973 el National Bureau of Standard(NBS) adoptó el algoritmo DES (Data Encryption Standard) como estándar de cifrado para la seguridad de documentos oficiales. A finales de 1974, IBM propuso "Lucifer", que gracias a la NSA (National Standard Agency, en castellano: Agencia Nacional de Seguridad) fue modificado el 23 de noviembre de 1976, convirtiéndose en DES (Data Encryption Standard, en castellano: Estándar de Cifrado de Datos).

Figura No1. Descripción del Algoritmo de Encriptación y Desencriptación

Es un sistema de cifrado simétrico por bloques de 64 bits, de los que 8 bits (un byte) que se utilizan como control de paridad (para la verificación de la integridad de la clave). El algoritmo se encarga de realizar combinaciones, sustituciones y permutaciones entre el texto a cifrar y la clave, asegurándose al mismo tiempo de que las operaciones puedan realizarse en ambas direcciones (para el descifrado),es uno de los sistemas más empleados y extendidos, por tanto es de los más probados y su implementación es sencilla y rápida.

DESCRIPCIÓN DE LA SOLUCIÓN

A continuación se describen los pasos necesarios para implementar esteAlgoritmoCriptográfico DES. ENCRIPTACIÓN1

1.- Procesar La Clave. 1.1.- Solicitar una clave de 64 bits al usuario

1Jorge Sánchez Arriazu Descripción del algoritmo DES (Data Encryption Standard), diciembre de 1999 enlace[http://www.tierradelazaro.com/public/libros/des.pdf]

La clave se puede introducir directamente o puede ser el resultado de alguna operación anterior, ya que no hay ninguna especificación al respecto. De cada uno de los ocho bytes se elimina el octavo bit (el menos significativo).

1.2.- Calcular las subclaves.

1.2.1.-Realizar la siguiente permutación en la clave de 64 bitsreduciéndose la misma a 56 bits (El bit 1, el mássignificativo, de la clave transformada es el bit 57 de laclave original, el bit 2 pasa a ser el bit 49, etc.).

Figura No2. Permutación de claves

1.2.2.- Dividir la clave permutada en dos mitades de 28 bits cada una. C(0) el bloque que contiene los 28 bits de mayor pesoy D(0) los 28 bits restantes.

1.2.3.-Calcular las 16 subclaves (Empezar con i=1)

1.2.3.1.-Rotar uno o dos bits a la izquierda C(i-1) y D(i-1)para obtener C(i) y D(i), respectivamente. Elnúmero de bits de desplazamiento está dado por latabla siguiente:

Figura No3. Bits de desplazamiento

1.2.3.2.- Concatenar C(i) y D(i) y permutar como se indica acontinuación. Así se obtiene K(i), que tiene una longitud de 48 bits.

Figura No4. Concatenación y Permutación de claves

1.2.3.3.- Ir a 1.2.3.1. Hasta que se haya calculado K(16).

2. Procesar el bloque de datos de 64 bits.

2.1. Obtener un bloque de datos de 64 bits. Si el bloque contiene menos de 64 bits debe ser completado para poder continuar con elsiguiente paso. 2.2. Realizar la siguiente permutación del bloque:

Figura No5. Permutación del bloque

2.3.- Dividir el bloque resultante en dos mitades de 32 bits cada una. L(0) el bloque que contiene los 32 bits de mayor peso y R(0) el resto. 2.4.- Aplicar las 16 subclaves obtenidas en el paso 1

2.4.1.- E(R(i)). Expandir R(i) de 32 a 48 bits de acuerdo con latabla que se muestra debajo:

Figura No6. Expansión de claves

2.4.2.- E(R(i-1)) Xor K(i). Or-exclusiva del resultado del paso

2.4.2.1.- con K(i)

2.4.3.- B(1), B(2),..., B(8). Partir E(R(i-1)) Xor K(i) en ocho bloques de seis bits. B(1) representa a los bits 1-6, B(2) representa a los bits 7-12,..., B(8) representa a los bits 43- 48. 2.4.4.- S(1)(B(1)), S(2)(B(2)),..., S(8)(B(8)). Sustituir todos los B(j) por los valores correspondientes de las S-Cajas o tablas de sustitución (Substitution Boxes, S-Boxes) de 6*4 bits, según se indica en los subapartados que siguen. Todos los valores de las S-Cajas se consideran de 4 bits de longitud. (Ver S-cajas del algoritmo DES, página siguiente).

2.4.4.1.- Tomar los bits 1º y 6º de B(j) y formar un número de 2 bits que llamaremos m. Este valor nos indicará la fila en la tabla de sustitución correspondiente S(j). Obsérvese que m=0 representa la 1ª fila y m=3 la última. 2.4.4.2.- Con los bits 2º a 5º de B(j) formar otro número, n, de cuatro bits que indicará la columna de S(j) en la que buscar el valor de sustitución. En esta ocasión n=0 representa la 1ª columna y n=15 la última columna. 2.4.4.3.- Reemplazar B(j) con S(j)(m,n), m fila y n columna. 2.4.4.4.- Ejemplo. Sea B(3)=42, en binario B(3)=101010. Buscaremos el nuevo valor de B(3) en S(3). Fila m y columna n, según lo expuesto anteriormente m=10, n=0101, y en decimal m=2 y n=5. Por tanto, B(3) será S(3)(2,5)=15 2.4.4.5.- Volver a 2.4.4.1. hasta que todos los bloques B(j)hayan sido reemplazados por el valor de S(j) adecuado.

2.4.5.- P[S(1)(B(1))... S(2)(B(8))]. Concatenar los bloques B(1) a B(8) y permutar los 32 bits (cuatro bits cada B(j)) en función de esta tabla:

Figura No7. Permutación de claves de 32 bits

2.4.5.1.- Volver a 2.4.4.1 hasta que todos los bloques B(j) hayan sido reemplazados por el valor de S(j) adecuado.

Figura No8. Cajas del algoritmo DES

2.4.6.- P[S(1)(B(1))... S(2)(B(8))]. Concatenar los bloques B(1) a B(8) y permutar los 32 bits (cuatro bits cada B(j)) en función de esta tabla:

Figura No9. Concatenación de bloques y Permutación de claves de 32 bits

2.4.7.- R(i). Realizar una or-exclusiva entre el valor resultante y L(i-1). Este valor será R(i). Por tanto, R(i)=L(i-1) XorP[S(1)(B(1))...S(2)(B(8))] 2.4.8.- L(i). L(i)=R(i-1) 2.4.9.- Repetir desde 2.4.1 hasta que se hayan aplicado las 16 subclaves.

2.5.-Hacer la siguiente permutación del bloque R(16)L(16). Obsérvese que esta vez R(16) precede a L(16) Final Permutation (IP**-1)

Figura No 10. Permutación del bloque

DESENCRIPTACIÓN2 Usar el mismo proceso descrito con anterioridad pero empleando las subclaves en orden inverso, esto es, en lugar de aplicar K(1) para la primera iteración aplicar K(16), K(15) para la segunda y así hasta K(1).

2Jorge Sánchez Arriazu Descripción del algoritmo DES (Data Encryption Standard), diciembre de 1999 enlace[http://www.tierradelazaro.com/public/libros/des.pdf]

HERRAMIENTAS INFORMÁTICAS

Internet

Java(NetBeans)

CONCLUSIONES

Es el más utilizado y extendido en el mundo, lo que da lugar a que sea el más barato,

más probado, utilizado por todo tipo de sistemas, etc. Es el más estudiado y el más utilizado de los algoritmos de clave simétrica. Codifica bloques de 64 bits empleando claves de 56 bits. Consta de 16 rondas, más dos permutaciones, una que se aplica al principio (Pi) y otra

al final (Pf ), tales que la última es la inversa de la primera. Para descifrar basta con usar el mismo algoritmo empleando el orden inverso. Es un algoritmo de cifrado que cumple con los siguientes requisitos:

Ofrecer un alto nivel de seguridad relacionado con una pequeña clave utilizada para cifrado y descifrado

Ser comprensible No depender de la confidencialidad del algoritmo Ser adaptable y económico Ser eficaz y exportable

FUTUROS TRABAJOS

Conociendo los beneficios que brinda el algoritmo DES podemos aprovechar en gran parte las

implementaciones por hardware existentes del DES para futuros trabajos tanto en el campo

académico, profesional y en nuestra vida cotidiana ya que se puede aplicar en diferentes

proyectos, se puede hacer mención del poder aplicar el DES Múltiple que consiste en aplicar

varias veces el algoritmo DES con diferentes claves al mensaje original.

Jorge Sánchez Arriazu. Descripción del algoritmo DES (Data Encryption Standard),[Seriada en línea]. Pág.1-4. Disponible en: URL:http://www.tierradelazaro.com/public/libros/des.pdf,[Consultado Diciembre 19, 2010]

Cryptographic Algorithms for Protection of Computer Data During Transmission and

Dormant Storage. Federal Register 38, No. 93, E.U.A., [Seriada en línea]. Pág.3-9. Disponible en: URL:http://www.webprogramacion.com/164/java/cifrar-y-descifrar-datos-con-des.aspx, [Consultado Diciembre 19, 2010]

PROTOTIPADO DE PANTALLAS

Nombre de la pantalla: INICIO

Fig 1. Pantalla de inicio del programa de Modelos de Encriptación del DES y ECB

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia

y Vargas Iliana

Fecha: 21-12-2010

Esta pantalla se muestra el inicio del programa, contiene el nombre de los algoritmos de

encriptación D.E.S y E.C.B.

Pantalla Principal

Una vez ejecutado el programa se muestra la Pantalla Principal, que contiene 2

botones para el método encriptación: D.E.S y E.C.B.

Nombre de la pantalla: SELECCIÓN DE MÉTODO

Figura 2. Pantalla principal

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo : Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

Esta es la pantalla principal del programa muestra dos botones que permite elegir el

método de encriptación deseado.

Pantalla Opción D.E.S

La pantalla Opción D.E.S se muestra una vez clicleado el botón de la pantalla

principal; la cual se encuentra estructurada por 2 menús: Encriptación y

Desencriptación.

Nombre de la pantalla: ENCRIPTACIÓN Y DESENCRIPTACIÓN DEL D.E.S

Fig. 3. Encriptación y Desencriptación del D.E.S

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

En esta ventana (Fig. 3) se llenan los datos de encriptación y desencriptación respectivamente, también existe la opción ATRÁS que permite regresar a la pantalla principal llamada Selección del Método, la cual permite elegir el método para poder encriptar.

Pantalla Opción D.E.S

Nombre de la pantalla: ENCRIPTACIÓN Y DESENCRIPTACIÓN DEL D.E.S

Fig. 6. Encriptación del D.E.S

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

En esta ventana se llena el texto a encriptar y se escribe una clave para su protección.

Pantalla Opción D.E.S

Nombre de la pantalla: ENCRIPTACIÓN Y DESENCRIPTACIÓN DEL D.E.S

Fig. 7. DESENCRIPTACIÓN MEDIANTE EL ALGORITMO D.E.S

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

En esta ventana se escribe el texto encriptado anteriormente con su respectiva clave y

presionar el botón desencriptar de esta ventana.

Pantalla Opción E.C.B

La pantalla Opción E.C.B se muestra una vez clicleado el botón de la pantalla

principal; la cual se encuentra estructurada por 2 opciones: Encriptación y

Desencriptación.

Nombre de la pantalla: ENCRIPTACIÓN Y DESENCRIPTACIÓN DEL E.C.B

Fig 1. Encriptación y Desencriptación del E.C.B

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

En esta ventana (Fig. 1) se llenan los datos a encriptar y desencriptar según se desee, y a continuación se debe escribir una clave para la protección de datos, y posteriormente presionar el botón EJECUTAR; existe también la opción ATRÁS que permite regresar a la

pantalla principal llamada Selección del Método, la cual permite elegir el método para poder encriptar.

Fig 2. Atrás

Fig. 3. Selección de método

Pantalla Opción E.C.B

Nombre de la pantalla: ENCRIPTACIÓN DEL E.C.B

Fig. 4. Encriptación del E.C.B

Realizado por: Grupo de investigación Nro. 4

Equipo de trabajo: Carrillo Cristina, Imacaña Jenny, Maldonado Maricela, Michay Silvia y

Vargas Iliana

Fecha: 21-12-2010

Una vez ingresado el texto en la Fig. 1 y elegido la opción deseada (encriptar o desencriptar), se desprenderá la ventana Fig. 4, donde nos mostrará el proceso de encriptación o desencriptación respectivamente.