Criptografia Clasica Vs Moderna PDF

November 13, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Criptografia Clasica Vs Moderna PDF...

Description

 

 

CAPITULO 1 INTRODUCCIÓN A LA CRIPTOGRAFÍA Cuando se realiza cualquier tipo de transacción comercial en Internet, como por ejemplo, comprar una entrada para un espectáculo, revisar el estado de cuenta en el  banco, ingresar la clave clave de correo electrónico en hotmail o yahoo, etc etc.,., debemos esta estarr seguros de que éstas acciones se realizan sobre una página segura del tipo http s ( s  secure), con el fin de evitar que curiosos puedan leer o peor aún, modificar información de nuestro interés. Al final de éste capitulo conoceremos que es la criptografía, así como las diferentes técnicas de protección (cifrado) de la información, y las aplicaciones de la criptografía.

1.1 DEFINICIÓN DE CRIPTOGRAFÍA La palabra Criptografía  proviene del griego "kryptos" que significa oculto, y " graphia", que significa escritura, y su definición según el diccionario es "el arte de escribir con clave secreta o de un modo enigmático". Esta definición puede ser muy interesante y llamativa, pero resulta muy poco ajustada para los tiempos actuales. Una definición más técnica de Criptografía sería la siguiente:  Rama inicial de las Matemáticas y en la actualidad también de la  Informática y la Telemática, que hace uso de métodos y técnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o más claves. c laves.  Esto dará lugarque a diferentes tipos de sistemas de cifra, denominados criptosistemas, nos permiten asegurar al menos tres de los cuatro aspectos básicos de la seguridad informática: la confidencialidad o  secreto del mensaje, la integridad i ntegridad del mensaje y autenticidad del emisor, así como el no repudio mutuo entre emisor (cliente) y receptor (servidor).1 

1.2 CRIPTOSISTEMAS Un criptosistema es una agrupación de:

-

Un conjunto de mensajes sin cifrar (M).

-

Un conjunto de mensajes cifrados (C).

1

 © RAMIO, Jorge. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1 , 6ta. Edición,

Madrid-España 2006, p.39. 

1

 

 

-

Un conjunto de claves (k).

-

Un conjunto de transformaciones de cifrado (E k ).

-

Un conjunto de transformaciones de descifrado (Dk ).

Cualquier criptosistema debe cumplir la condición: Dk (E kk  (m)) = m. Es decir, si aplicamos la transformación de descifrado al mensaje cifrado, usando la clave adecuada (k), obtenemos de nuevo el mensaje en claro m.

1.3 SISTEMAS DE CIFRA CLÁSICOS Los sistemas de cifra clásica están asociados a las fascinantes máquinas de cifrar, que adquirieron gran fama tras su uso en la Gran Guerra y en la Segunda Guerra Mundial, y más aún, remontándonos a siglos pasados, con los métodos, técnicas y artilugios utilizados por emperadores, gobernantes, militares y en general diversas civilizaciones para mantener sus secretos a buen recaudo.

1.3.1 Herramientas de la Criptografía Clásica La criptografía clásica hace uso de dos técnicas básicas orientadas a caracteres, y que siglos más tarde Shannon usaría como herramientas para fortalecer la cifra, estas técnicas son:  Técnicas de sustitución: Cada letra o grupo de letra se reemplaza por otra letra o

grupo de letras para disfrazarla. Esta técnica conserva el orden de los símbolos del texto original.  Técnicas de transposición o permutación: En contraparte a la técnica de

sustitución, en ésta se reordenan las letras mediante un algoritmo específico, pero no se disfrazan.

1.3.2 Clasificación de los Criptosistemas Clásicos La figura 1.1, muestra una clasificación de los sistemas de cifra clásicos, en donde se incluyen algunos cifradores típicos a modo de ejemplo. Estos sistemas de cifra se clasificarán, básicamente, en aquellos que utilizan técnicas de  sustitución y aquellos que utilizan técnicas de transposición sobre los caracteres de un texto en claro, ambas técnicas propuestas por Shannon  para lograr la confusión y difusión, respectivamente. 2

 

  MÉTODOS DE CIFRA CLÁSICOS

TRANSPOSICIÓN

SUSTITUCIÓN

GRUPOS Escítala

MONOALFABÉTICA

POLIALFABÉTICA

SERIES MONOGRÁMICA

POLIGRÁMACA

COLUMNAS/FILA

ALFABETO ESTÁNDAR Cifrador de César

DIGRÁMICA Cifrado de Playfair

 N-GRÁMICA Cifrado de Hill

ALFABETO MIXTO  NO PERIÓDICA Cifrador de Vernam

PERIÓDICA TRANSFORMACIÓN Cifrador sustitución Afín

ALFABETOS PROGRESIVOS Máquina Enigma

ALFABETOS LINEALES

ALFABETO ESTÁNDAR Cifrados de Vigenère

ALFABETO MIXTO

 

Figura 1.1. Clasificación de los métodos clásicos de cifra y algunos ejemplos

1.3.3 Hitos históricos en la Criptografía La criptografía clásica abarca desde tiempos inmemoriales hasta la mitad del siglo XX. El punto de inflexión en ésta clasificación la marcan tres hechos relevantes:  En el año 1948 se publica el estudio de Claude Shannon sobre la Teoría

C I F R A D O 

D I G I T A L

de la Información.  En 1974 aparece el estándar de cifra DES.  Y en el año 1976 se publica el estudio realizado por Whitfield Diffie  y  Martin Hellman  sobre

la aplicación de funciones matemáticas de un

solo sentido a un modelo de cifra, denominado cifrado con clave  pública.

1.3.4 Algunos Métodos de Cifrado Clásicos A continuación describiremos algunos métodos de cifrado de la clasificación de los criptosistemas clásicos.

3

 

 

1.3.4.1 La escítala Fue utilizada por los espartanos en el siglo V a.C., puede considerarse como el  primer sistema de criptografía por transposición, que se caracteriza por ocultar el significado de un texto alterando el orden de los signos que lo conforman. El método de la escítala era extremadamente sencillo, el mensaje se escribía en una cinta y se enrollaba en un bastón que servía como clave; el mensaje solo podía leerse cuando se enrollaba la cinta en un bastón del mismo diámetro que poseía el destinatario lícito del mensaje. En la figura fi gura 1.2, se representa este método de cifr cifrado. ado.

Figura 1.2. Representación del método de la escítala

En la figura 1.2, la cinta llevará el mensaje M = ASI CIFRABAN CON LA ESCITALA; si bien en ella sólo podrá leerse el criptograma C =  AACSNIICTCOAINLFLARAAEBS   AACSNIICTCOAINLFL ARAAEBS .

1.3.4.2 El cifrador de Polybios  En el siglo II a.C., encontramos el cifrador por  sustitución de caracteres  más antiguo que se conoce. Atribuido al historiador griego Polybios, el cifrador consistía en hacer corresponder a cada letra del alfabeto un par de letras que indicaban la fila y la columna en la cual aquella se encontraba, en un recuadro de 5x5 = 25 caracteres. En la figura 1.3, se muestra una tabla para cifrar de Polybios adaptada al inglés, con un alfabeto de cifrado A, B, C, D y E; aunque también se suele representar el alfabeto con los números 1, 2, 3, 4 y 5.

Figura 1.3. Tablas de cifrar de Polybios

Entonces en éste método, la letra A se cifrará como AA, y la H como BC, etc. Por ejemplo si tenemos el mensaje: M = QUE BUENA IDEA LA DEL GRIEGO. 4

 

  El criptograma sería: C = DADEAE ABDEAECCAA BDADAEAA CAAA ADAECA  BBDBBDAEBBCD.

Y usando el alfabeto numérico tenemos: C = 414515

1245153311 24141511 3111 141531 224224152234.

1.3.4.3 El cifrador del César  En el siglo I a.C., aparece un cifrador básico llamado el cifrador del César en honor al emperador Julio César y en el cual ya se aplicaba una transformación del texto en claro del tipo monoalfabética. El cifrador estaba basado en la sustitución de una letra  por la situada tres puestos después después en el alfa alfabeto beto latino. En la figura 1.4, se muestra el alfabeto y por tanto la transformación que utiliza este cifrador por sustitución de caracteres para el alfabeto castellano de 27 letras. Mi A

B

C D

E

F

G

H

I

J

K

L

M

N Ñ

O

P

Q

R

S

T

U

V

W X

Y

Z

Ci

E

F

H

I

J

K

L

M N

Ñ

O

P

R

S

T

U

V

W X

Y

Z

B

C

D

G

Q

A

Figura 1.4. Alfabeto del cifrador del César para el lenguaje castellano

Entonces tenemos: Cifrado: C i = M i + 3 mod 27  

Descifrado: M i = C i - 3 mod 27 . 

Por ejemplo si tenemos el mensaje: M1 = AL CÉSAR LO QUE ES DEL CÉSAR. El criptograma sería: C1 = DÑ FHVDU ÑR TXH HV GHÑ FHVDU.

1.3.4.4 Cifradores por sustitución afín  En los cifradores genéricos, si se cumple que la constante de decimación a es mayor que 1 y la constante de desplazamiento b distinto de cero, hablamos de cifra por transformación afín. Las ecuaciones serán en este caso: C i  a  M i  b  mod n  

 M i  a  1 C i  b  mod n  

La ecuación de descifrado también puede ser escrita como:   1

 M i  a

C i  n  b mod n  

Por ejemplo encontremos el alfabeto de cifrado monoalfabético para la siguiente relación de transformación

C i  4  M    i  5 mod 27 .

Solución: 0

1 2

3

4

5 6

7 8

Mi A B C D E F G H I

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 J

K

L

M

N

Ñ

O

P

Q

R

S

T

U

V

W X

Y

Z

Ci F H N Q U Y C G K Ñ R

V

Z

D

H

L

O

S

W

A

E

I

M

P

X

B

5

T

 

  C 0  4  A  5 mod 27  4  0  5 mod 27  5  F 

 

C 1  4  B  5 mod 27  4 1  5 mod 27  9   J  C 2  4  C  5 mod 27  4  2  5 mod 27  13   N , etc.

1.3.4.5 El cifrador de Vigenère  El cifrador polialfabético más conocido es el sistema de Vigenère, así denominado en honor al criptólogo francés  Blaise de Vigenère (1523-1596). El sistema utiliza el mismo método que el cifrador del César, esto es una sustitución monográmica por desplazamiento de k caracteres en el texto, con la diferencia de que dicho desplazamiento viene indicado por el valor numérico asociado a uno de los caracteres de una clave que se escribe cíclicamente bajo el mensaje como de indica a continuación: TEXTO: E N U N L U G A R D E L A M A N C H A D E C U Y O N O M B ... CLAVE: C E R V A N T E S C E R V A N T E S C E R V A N T E S C E ...  

0

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

A

B

C

D

E

F

G

H

I

J

K

L

M N

Ñ

O

P

Q

R

S

T

U

V W X

Y

Z

Entonces, en éste caso la clave CERVANTES  tendrá  tendrá una periodicidad de 9, pues son los caracteres que forman ésta palabra. Los caracteres cifrados serán entonces de la siguiente manera: E + C = (4 + 2) mod 27 = 6 = G

U + N = (21 + 13) = H

 N + E = (13 + 4) mod mod 27 = 17 = Q

G + T = (6 + 20) = 26 = Z

U + R = (21 + 18) mod 27 = 12 = M

A + E = (0 + 4) = 4 = E

 N + V = (13 + 22) mod 27 = 8 = I

R + S = (18 + 19) = 10 = K

L + A = (11 + 0) mod 27 = 11 = L

D + C = (3 + 2) = 5 = F, etc.

Entonces el resultado final será el criptograma: C = GQMIL HZEKF ICVMN GGZCH VXULI .

1.3.4.6 Cifrador de Playfair  El cifrador de Playfair en realidad fue inventado por Charles Wheatstone.  No obstante, se le atribuye a su amigo el científico  Lyon Playfair quien lo presenta a las autoridades inglesas de la época. Este sistema consiste en separar el texto en claro en digramas y proceder a su cifra de acuerdo a una matriz alfabética de dimensiones 5x5 en la cual se encuentran representada representadass 25 de llas as 26 letras del alfabeto inglés.

6

 

  Para que éste método de cifra presente un mayor nivel de seguridad, se incluirá al comienzo de dicha matriz una clave que se escribe a partir de la primera fila omitiendo las letras repetidas. A continuación de dicha clave, se distribuyen las restantes letras del alfabeto hasta completar toda la matriz. Este método de cifrado debe cumplir las siguientes condiciones:   Si M1M2 están en la misma fila, C 1C2 son los dos caracteres de la derecha.   Si M1M2 están en la misma columna, C1C2 son los dos caracteres de abajo.   Si M1M2 están en filas y columnas distintas, C1 será la letra de la intersección

horizontal del M1 respecto al M2  y  C2 será la letra de la intersección vertical del M1 respecto al M2.   El conteo de los caracteres en la matriz es circular.

Por ejemplo si la clave es K = BEATLES, cifremos el mensaje  M   = WITH A LITTLE HELP FROM MY FRIENDS. La matriz será: B S

E C

A D

T F

L G

H

I/J

K

M

N

O

P

Q

R

U

V

W

X

Y

Z

Figura 1.5. Matriz alfabética de Playfair  M  = WI

TH AL IT TL EH EL PF RO MX MY FR IE ND SX

En  M   se rompe la doble M adicionando una X y se rellena la final con una X; entonces: C   =

EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV

1.3.4.7 Cifrador de Verman  En 1917 Gilbert Vernam propone un cifrador por sustitución binaria con clave de un solo uso (one-time pad) basado en el código Baudot de 5 bits:

-

La operación de cifra es la función XOR.

-

Usa una secuencia cifrante binaria y aleatoria S que se obtiene a partir de una clave secreta K compartida por emisor y receptor.

-

El algoritmo de descifrado es igual al de cifrado por la involución de la función XOR.

-

La clave será tan larga o más que el mensaje y se usará una sola vez. 7

 

  En la figura 1.6, se muestra un cifrador de Verman binario.

Figura 1.6. Esquema de un cifrador de Verman binario

Por ejemplo, usando el código de Baudot que se encuentra en la tabla 1.1, cifre el mensaje M = BYTES  con  con la clave K = VERNAM . Tabla 1.1. Código Baudot (cifrador de Vernam) Código Binario 00000 00001 00010 00011 00100 00101

Carácter Blanco E = A Espacio S

00110 00111 01000 01001 01010 01011 01100 01101 01110 01111

I U < D R J N F C K

Código Binario 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

Carácter T Z L W H Y P Q O B G   M X V  

Fuente: © Jorge Ramió Aguirre. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1. Sexta edición de 1 de Marzo de 2006. Madrid (España). Capitulo 21.

Haciendo la suma OR exclusivo tenemos:  B  V = 11001  11110 = 00111 = U

E  N = 00001  01100 = 01101 = F

Y  E = 10101  00001 = 10100 = H T  R = 10000  01010 = 11010 = G

S  A = 00101  00011 = 00110 = I

Entonces, C = UHGFI

1.4 SISTEMAS DE CIFRA MODERNA La criptografía moderna utiliza las mismas ideas básicas de la criptografía clásica, la transposición y sustitución, pero su orientación es distinta. Tradicionalmente los criptógrafos han usado algoritmos sencillos y se han apoyado en claves muy largas  para la seguridad. Hoy día es lo inverso: el objetivo es hacer el algoritmo de cifrado tan complicado y rebuscado que inclusive el criptoanalista obteniendo cantidades enormes de texto cifrado a su gusto, no será capaz de entender nada. 8

 

 

1.4.1 Clasificación de los Criptosistemas Modernos En la figura 1.7, se muestra la clasificación de los Criptosistemas Modernos. MÉTODOS DE CIFRA MODERNA

CIFRADO EN FLUJO

CIFRADO EN BLOQUE

A5; RC4 Telefonía móvil, Internet y WLAN. WLAN.

EXPONENCIACIÓN  RSA; ElGamal Uso en intercambio de clave y en firma digital.

CLAVE PÚBLICA

CLAVE SECRETA

SUMA/PRODUCTO 

Curvas Elípticas/Mochilas CE: intercambio clave y firma digital. Mochilas: protección de SW mediante dispositivo HW. HW.

DES; T-DES; CAST; IDEA; AES; RC5...  RC5...  Cifrado propio de la información en una sesión en Internet o en una red. También se usa en cifrado local.. local

Figura 1.7. Clasificación de los Criptosistemas Modernos. Fuente: © Jorge Ramió Aguirre. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1. Sexta edición de 1 de Marzo de 2006. Madrid (España). Capitulo 10.

1.4.2 Cifrado en flujo  Los cifradores de flujo son algoritmos de cifrado que pueden realizar la encriptación incrementalmente,, convirtiendo el texto en claro en texto cifrado bit a bit. incrementalmente Esto se logra construyendo un generador de flujo de clave. Un flujo de clave es una secuencia de bits de tamaño arbitrario que puede emplearse para oscurecer los contenidos de un flujo de datos combinando el flujo de clave con el flujo de datos mediante la función XOR . Si el flujo de clave es seguro, el flujo de datos cifrados también lo será.

1.4.2.1 Algoritmos de cifrado en flujo fl ujo 1.4.2.1.1 RC4 Se caracteriza por utilizar la misma información de entrada que ha de cifrar para la generación de un número pseudoaleatorio que utilizará como clave, realizando un XOR entre la entrada y la clave. Esto significa que tanto el cifrado como el descifrado son operaciones idénticas. No se debe utilizar la misma clave más de una vez, ya que al utilizar un XOR como operación básica un atacante podría fácilmente descubrirla (XOR(XOR(X)) = X). La clave varía de 8 a 2048 bits. 9

 

 

1.4.2.1.2 RC4 con MAC Es una extensión del RC4 que busca asegurar la integridad en los datos mediante el uso de una función MAC (es una función que asegura la integridad de los datos, a  partir del mensaje genera una secuencia de bit bitss de tal t al forma que si es modificado, el receptor puede saberlo).

1.4.3 Cifrado en bloque Un cifrador en bloque procesa una entrada de texto nativo en bloques de tamaño fijo,  por lo general de 8 ó 16 bytes (64 ó 128 bits), y produce un bloque de texto cifrado de igual tamaño para cada bloque de texto nativo.

1.4.3.1 Cifrado Simétrico o de clave secreta También llamado cifrado convencional, este tipo de cifrado era el único que se usaba, antes de la aparición del cifrado de clave pública en los 70. El cifrado simétrico ha sido usado para las comunicaciones secretas por incontables individuos y grupos como, diplomáticos, militares y comerciantes. Es el cifrado que más se usa actualmente en el mundo. Un sistema de cifrado simétrico tiene cinco componentes, como se muestra en la figura 1.8.

Figura 1.8. Modelo simplificado de cifrado simétrico

1.  Texto nativo («plaintext»):  Es el mensaje original o datos que actúan como entrada al algoritmo. 

2.   Algoritmo de cifrado: Lleva a cabo varias sustituciones y transformaciones en el texto nativo. 

10

 

 

3.  Clave secreta: Es también una entrada al algoritmo de cifrado. Las sustituciones y transformaciones exactas realizadas por el algoritmo dependen de la clave. 

4.  Texto cifrado: Es el mensaje aleatorio que se produce en la salida. Depende del texto nativo y de la clave secreta.

5.   Algoritmo de descifrado: Es esencialmente el algoritmo de cifrado ejecutado al revés. Toma como entrada el texto cifrado y la clave secreta y produce el texto nativo original.  Existen dos requisitos para la utilización util ización segura del cifrado simétrico:   Se necesita un algoritmo de cifrado robusto. Este algoritmo debería permitir que

el oponente sea incapaz de descifrar el texto o descubrir la clave incluso si él  posee un determinado número de textos cifrados junto a los textos nativos que  producen los textos textos cifrados.   El emisor y el receptor deben haber obtenido copias de la clave de una forma

segura y deben mantenerla en secreto.

1.4.3.1.1 Tipos de ataques al esquema de cifrado simétrico   Criptoanálisis: Este tipo de ataque explota las características del algoritmo para

intentar deducir deducir el texto nativo esp específico ecífico o deducir la clave

que se está

utilizando. Si el ataque tiene éxito en deducir la clave, el efecto es catastrófico: todos los mensajes antiguos y futuros cifrados con esa clave están comprendidos.    Fuerza bruta : Es intentar cada clave posible en un trozo de texto cifrado hasta

que se obtenga una traducción inteligible del texto nativo.

1.4.3.1.2 Algoritmos de cifrado simétrico Los dos algoritmos convencionales más importantes, de los cifradores simétricos son DES y el IDEA.

1.4.3.1.2.1 El estándar de cifrado de datos (DES, ( DES, Data Encryption Standard) Es el esquema de cifrado más utilizado util izado mundialmente, adoptado en 1977 por el Buró  Nacional de Estándares, ahora el Instituto nacional de Estándares y Tecnología (NIST, Nacional Institute of Standars and Technology).

11

 

  El esquema global de cifrado DES se muestra en la figura 1.9. El texto nativo debe tener una longitud de 64 bits y la clave 56 bits; los textos más grandes se procesan en  bloques de 64 64 bits. Clave de 56 bits Texto nativo de 64 bits .……………

.……………… Preferencia de  permutación 1

Permutación inicial

Iteración 1

Iteración 2

Iteración 16

K 1

Preferencia de  permutación 2

Desplazamiento circular a la izquierda

K 2

Preferencia de  permutación 2

Desplazamiento circular a la izquierda

K 1166

Preferencia de  permutación 2

Desplazamiento circular a la izquierda

Intercambio de 32  bits

Permutación inicial inversa .…………… Texto cifrado de 64

Figura 1.9. Esquema general de algoritmo de cifrado DES

El lado izquierdo de la figura 1.9, muestra que el procesamiento del texto nativo se realiza en tres fases. Primero, los 64 bits del texto nativo se transforman por medio de una permutación inicial (IP). A esto le sigue una fase que consta de 16 iteraciones de la misma función. La salida de la última iteración (la 16) consta de 64 bits que son función del texto nativo y la clave. La mitad izquierda y la derecha se intercambian  para producir la salida previa. Finalmente la salida previa se permuta con IP-1, que es la inversa de la función de permutación inicial, para producir los 64 bits de texto cifrado.

12

 

  La parte derecha de la figura 1.9, muestra la forma en la que se utilizan los 56 bits de clave. Inicialmente la clave se transforma por una función de permutación. Después  para cada una de las 16 iteraciones, se produce una subclave (K i) por medio de un desplazamiento circular y una permutación. La función de permutación es la misma  para cada iteración, pero se produce una subclave subclave diferente debido al desplazamien desplazamiento to repetido de los bits de la clave.

1.4.3.1.2.2 Triple DES (DES3) Con el aumento en el poder de calculo en las computadoras, DES dejó de ser un algoritmo seguro. Entonces se creó el algoritmo Triple DES, el cual hace triple cifrado del DES, fue creado por IBM en 1978. El triple cifrado usa dos claves de 56  bits,  K 1  y  K 2. Primero se realiza un cifrado con  K 1, luego un descifrado con  K 2  y finalmente un nuevo cifrado con  K 1. Para cualquier texto en claro  M , el criptograma C , se detalla a continuación:

C  =  = E  K1( D  D K2( E   E  K1( M   M ))) )))

Donde:  E  K1 → Es la transformación de cifrado, y  D K2 → Es la

transformación transformación de descifrado.

1.4.3.1.2.3 Algoritmo internacional de cifrado de datos IDEA (International Data Encryption Algorithm)  Fue diseñado por dos investigadores en Suiza. Usa una clave de 128 bits, lo que lo hará inmune durante décadas a los ataques de fuerza bruta y al criptoanálisis diferencial. La estructura básica del algoritmo se semeja al DES como se muestra en la figura 1.10 (a). Dada la extensa alteración de bits, basta con ocho iteraciones. it eraciones. Los detalles de una iteración se muestran en la figura 1.10 (b). Se usan tres operaciones, todas sobre números sin signo de 16 bits. Estas son OR EXCLUSIVO, suma módulo 216  y multiplicación 216 + 1. Las operaciones tienen la propiedad de

13

 

  que ningunos dos pares obedecen al ley asociativa ni la ley distributiva, dificultando el criptoanálisis. La clave de 128 bits se utiliza para generar 56 subclaves de 16 bits cada una, 6 por cada una de 8 interaciones y 4 para la transformación final. El descifrado usa el mismo algoritmo de cifrado, solo que con subclaves diferentes. 64 bits de texto normal

Iteración 1

Cuatro bloques de entrada de 16 bits

K 1

X

+

K 2

Iteración 2

. . .

K 5

Iteración 7

#

Iteración 8

Transformación

+

K 3 #

#

X

+

+

X

#

K 4

X

K 6 #

#

Cuatro bloques de salida de 16 bits +

Suma módulo 216 de 16 bits

X

Multiplicación módulo 216 + 1 de 16 bits

#

OR EXCLUSIVO de 16 bits

64 bits de texto cifrado

(a)

(b) Figura 1.10. (a) IDEA. (b) Detalle de una iteración

1.4.3.2 Cifrado Asimétrico o de clave pública El cifrado de clave pública, que fue puesto a consideración por primera vez por Diffie y Hellman en 1976, es el primer avance revolucionario en el cifrado en literalmente miles de años. El algoritmo de clave pública se basa en funciones matemáticas en lugar de sustituciones y permutaciones. Lo más importante es que la criptografía de clave pública es asimétrica y supone el uso de dos claves independientes. Utilizar dos claves tiene consecuencias profundas en las áreas de la  privacidad, la distribución distribución de claves y la autentificación. El esquema de cifrado de clave pública tiene cinco componentes, como se muestra en la figura 1.11.

14

 

 

 

Figura 1.11. Cifrado de clave pública

1.  Texto nativo:  Es el mensaje legible o datos que se pasan al algoritmo como entrada. 

2.   Algoritmo de cifrado: Lleva a cabo varias operaciones sobre el texto nativo. 3.  Clave pública y privada: Es el par de claves que se ha seleccionado para que una se utilice para el cifrado y la otra para el descifrado. Las operaciones exactas que realiza el algoritmo dependen de la clave pública o privada que se suministre como entrada.

4.  Texto cifrado:  Es el mensaje mezclado producido como salida. Depende del texto nativo y la clave.

15

 

 

5.   Algoritmo de descifrado:  Acepta el texto cifrado y la otra clave y produce el texto nativo original. Como el nombre sugiere, la clave pública del par se hace pública para que la utilice el resto de la gente, mientras que la clave privada solo la conoce el dueño. Los algoritmos de cifrado de clave pública tienen las siguientes características importantes: computacionalmente ente determinar la clave de descifrado dado    No es posible computacionalm solamente el algoritmo y la llave de cifrado (clave pública).   Para la mayoría de los esquemas de clave pública, las dos claves utilizadas

 pueden intercambiarse, intercambiarse, es decir si una se usa para el cifrado, la otra se usa para el descifrado y viceversa. Los pasos esenciales son los siguientes:

1.  Cada usuario genera dos claves que se van a utilizar para el cifrado y el descifrado de los mensajes. 2.  Cada usuario publica una de las l as dos claves situándola en un fichero público. Ésta es la clave pública. La clave compañera se mantiene privada.

3.  Si Juan desea enviar un mensaje privado a Alicia, él cifra el mensaje usando la clave pública de Alicia.

4.  Cuando Alicia recibe el mensaje, lo descifra utilizando la clave privada. Ningún otro destino puede descifrar el mensaje debido a que solo Alicia conoce la clave  privada de Alicia.

1.4.3.2.1 Firmas Digitales La validación de identificación de muchos documentos legales, financieros y de otros tipos, se determina por la presencia o ausencia de una firma manuscrita autorizada. Por tanto es necesario que los sistemas computarizados reemplacen el transporte físico de papel y tinta. El problema para inventar un reemplazo para las firmas manuscritas es difícil. Básicamente lo que se desea es que:

1.  El receptor pueda verificar la identidad del transmisor. 2.  El transmisor no pueda repudiar después el contenido del mensaje. 3.  El receptor no haya podido generar el mensaje por si mismo. 16

 

 

1.4.3.2.2 Algoritmos de cifrado asimétrico  1.4.3.2.2.1 El algoritmo de cifrado asimétrico RSA   Fue desarrollado en 1977 por Ron Rivest, Adi Shamir y Len Adleman en el MIT y  publicado por primera vez en 1978. Desde entonces el RSA ha sido considerado como la única técnica mundialmente aceptada. RSA es un cifrador de bloque en el que el texto nativo y el texto cifrado son enteros entre 0 y n-1 para algún n. Para un texto nativo  M  y   y un bloque cifrado C , el cifrado y el descifrado son de la siguiente forma: C = M e mod n



e d 

 M = C   mod n = ( M   M )

 mod n = M ed  mod n 

El emisor y el receptor deben conocer el valor de n. El emisor conoce el valor de e y el receptor el valor de d . La clave pública esta dada por KU = [ e, n] y la clave  privada por KR = [d, n]. El algoritmo debe cumplir los siguientes requisitos, para que sea satisfactorio:

1.  Es posible encontrar valores de e, d, n tal que M ed  = M mod n para todo M < n.  para todos los valores de M < n. 2.  Es relativamente fácil calcular M e y C d  para

3.  Es imposible determinar d dado e y n. Los primeros requisitos son fáciles de satisfacer. El tercer requisito se puede satisfacer para un valor grande de e y n. La figura 1.12, resume el algoritmo RSA. Se empieza por seleccionar los números  primos,  p y q  y calculando su producto n, que es el módulo para el cifrado y el descifrado. Luego necesitamos la cantidad

(n) que se conoce como totalizador

Φ

(totient ) de Euler de n, y que es el número de enteros positivos menores que n  y relativamente primo a n. Entonces, se selecciona el entero e, de modo que el máximo común divisor de e  y Φ(n) debe ser 1. Finalmente, se calcula d  como   como la inversa del multiplicador de e, módulo Φ(n).

17

 

  Generación de clave Seleccionar p, q 

 p y q ambos primos

Calcular n = p x q Calcular Φ(n) = (  pp - 1) (q - 1) Seleccionar entero e

gcd(Φ(n), e) = 1; 1 < e < Φ(n)

Calcular d

d = e-1 mod Φ(n)

Clave pública

KU = {e, n}

Clave rivada

KR = d , n

Cifrado Texto nativo:

 M   < < n 

Texto cifrado

C =

e

mod n

Descifrado Texto nativo:

C

= C d  mod n

Texto cifrado

  Figura 1.12. Algoritmo RSA

Suponga que un usuario A ha publicado su clave pública y que el usuario B quiere enviar un mensaje M a A. Para ello, B calcula C = M e mod n y transmite C . Cuando se recibe el mensaje cifrado, A lo descifra calculando M = C d  mod n. En la figura 1.13, se muestra un ejemplo, las claves se generan como sigue:

1.  Seleccionar dos números primos, p = 7 y q = 17. 2.  Calcular n = pq = 7 x 17 = 119.   p – 1) (q - 1) = 96. 3.  Calcular Φ(n) = ( p

4.  Seleccionar e tal que e es relativamente primo a Φ(n) = 96 y es menor a Φ(n); en este caso e = 5. 5.  Determinar d  tal  tal que de = 1 mod 96 y d < 96. El valor correcto es d = 77, ya que 77 x 5 = 385 = 4 x 96 + 1. Las claves resultantes son la clave pública KU = {5,119} y la clave privada KR = {77,119}. El texto nativo de entrada es  M = 19. En el cifrado 19 se eleva a la quinta  potencia, produciendo 2.476.009. Dividiendo por 119 se obtiene el resto de 66. Por lo tanto 195 ≡ 66 mod 119, y el texto cifrado es 66. En el descifrado se determina que 6677 ≡ 19 mod 119.

18

 

  Descifrado

Cifrado Texto nativo 19

 5 19  

=

2.476.099  _____ 119

= 20.807 

con un resto de 66

Texto cifrado 66

KU = 5, 199

 

 77 66  

=

1,27x10 140  _____ 119

= 1,06x10138 

con un resto de 66

KU = 77, 119

Texto nativo 19

 

Figura 1.13. Ejemplo del algoritmo RSA

1.4.3.2.2.2 Otros algoritmos de clave pública o de cifrado asimétrico Aunque RSA se usa ampliamente, de ninguna manera es el único algoritmo de clave  pública conocido. El primero fue el de la mochila (Merkle y Hellman, 1978). La idea aquí es que alguien es dueño de una gran cantidad de objetos, todos con pesos diferentes. El dueño cifra el mensaje seleccionando secretamente un subgrupo de objetos y colocándolos en la mochila. El peso total de los objetos se hace público, así como una lista de todos los objetos posibles. La lista de los objetos que se metieron en al mochila se mantiene en secreto. Pero el algoritmo mochila no se considera seguro y pocas veces se usa. Otros esquemas de clave pública se basan en la dificultad de calcular logaritmos discretos (Rabin, 1979). El Gamal (1985) y Schnorr (1991) han inventado algoritmos  basados en estos principios. Existen algunos otros esquemas, como los basados en curvas elípticas (Menezes y Vanstone, 1993), pero las tres categorías principales son las basadas en la dificultad  para factorizar números grandes, calcular logaritmos discretos y determinar el contenido de una mochila a partir de su peso. 

1.4.4 Funciones de Resumen o Hash Es una función que proporciona un pequeño conjunto de bits a partir del mensaje, mucho menor que éste, y que es casi exclusivo (es muy difícil encontrar otro mensaje  para el que la función función resumen dé el mismo resultado resultado). ).

19

 

 

1.4.4.1 Algoritmos Generadores de Resúmenes 1.4.4.1.1 Algoritmo MD5 MD5 es uno de los algoritmos de resumen criptográficos diseñados por el profesor  Massachusetts Institute of Technology, Instituto Tecnológico Ronald Rivest del MIT ( Massachusetts

de Masachusets). Cuando un análisis indicó que el algoritmo MD4 era inseguro, se decidió a programar el MD5  para sustituirlo en 1991. Las debilidades en MD4 fueron descubiertas por Hans Dobbertin.  Algoritmo básico de Message Digest Digest 5 a)

Un mensaje M se convierte en un bloque múltiplo de 512 bits, añadiendo bits si es necesario al final del mismo.

b) Con los 128 bits de cuatro vectores iniciales ABCD de 32 bits cada uno y el primer bloque del mensaje de 512 bits, se realizan diversas operaciones lógicas entre ambos bloques. c) La salida de esta operación (128 bits) se convierte en el nuevo conjunto de 4 vectores A’B’C’D’ y se realiza la misma función con el  segundo bloque de 512 bits del mensaje, y así hasta el último bloque del mensaje. Al terminar, el algoritmo entrega un resumen que corresponde a los últimos 128 bits de estas operaciones. 2 

1.4.4.1.2 El algoritmo SHA-1 El algoritmo SHA-1 fue desarrollado por la NSA (Agencia Nacional de Seguridad de USA). Produce firmas de 160 bits, a partir de bloques de 512 bits del mensaje original. El algoritmo es similar a MD5, y se inicializa igual que éste, añadiendo al final del mensaje un uno seguido de tantos ceros como sea necesario hasta completar 448 bits en el último bloque, para luego yuxtaponer la longitud en bytes del propio mensaje. A diferencia de MD5, SHA-1 emplea cinco registros de 32 bits en lugar de cuatro.

2

 © RAMIO, Jorge. Libro Electrónico de Seguridad Informática y Criptografía Versión 4.1 , 6ta. Edición, Madrid-España 2006, p.718. 

20

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF