Algoritmos de clave secreta, privada o simetrica.

20,357 views

Published on

Trabajo de informatica para modulo superior de Administracion de Sistemas Informaticos, gracias a www.lacoctelera.com/miridy. 2006.

Published in: Technology, Education
4 Comments
12 Likes
Statistics
Notes
No Downloads
Views
Total views
20,357
On SlideShare
0
From Embeds
0
Number of Embeds
2,283
Actions
Shares
0
Downloads
0
Comments
4
Likes
12
Embeds 0
No embeds

No notes for slide

Algoritmos de clave secreta, privada o simetrica.

  1. 1. Criptografía de clave secreta • Misma clave para cifrado y descifrado. • Muy rápidos, adecuados para cifrar grandes volúmenes de datos. • Algoritmos de uso común: • DES, Triple DES, DESX: • AES: Rijndael.
  2. 2. Introducción a los algoritmos de clave secreta, privada o simétrica Confidencialidad es garantizar la privacidad de la información. La autenticación es un servicio de seguridad que permite verificar la identidad. Una firma digital es un mecanismo que asegura la identidad del firmante del mensaje y por tanto su autenticidad. La integridad es garantizar que la información electrónica recibida no ha sido manipulada.
  3. 3. Más preguntas que debes saber La criptografía es cifrar un mensaje o archivo por medio de un algoritmo, usando una o más claves ". O sea, si nos acordamos del esquema de EMISOR y RECEPTOR que hemos aprendido en las clases de lenguaje, nos acordaremos del CODIGO, pues bien este CODIGO solo lo deben de saber el EMISOR y el RECEPTOR, para que no existan intrusos.
  4. 4. Aún más preguntas • En la criptografía simétrica se emplea la misma clave para cifrar y descifrar información. En los algoritmos de clave pública, o criptografía asimétrica, se dispone de dos claves complementarias, una de las cuales se hace pública y la otra se mantiene en secreto por parte del propietario del par de claves. En este tipo de algoritmos lo que se cifra con una de las dos claves sólo puede descifrarse con la complementaria y viceversa. • La clave privada puede almacenarse en disquete, en el disco duro del PC del signatario, en una tarjeta chip de memoria e, idealmente, en una tarjeta criptográfica. Esta se protege con PINs o contraseñas.
  5. 5. Más respuestas El cifrado es un mecanismo de seguridad que permite modificar un mensaje, de modo que su contenido sea ilegible, salvo para su destinatario. De modo inverso, el descifrado permitirá hacer legible un mensaje que estaba cifrado. Una clave consiste en una serie de signos convenidos que participan en un algoritmo para cifrar información.
  6. 6. Problema • Alice desea comunicarse con Bob. Pero no quieren que Eve lo escuche, a la vez, Eve intentara escucharles..
  7. 7. Así funciona la clave privada • El mensaje se convierte en datos inteligibles. El proceso tiene dos partes, un algoritmo y una clave (independiente del texto). El algoritmo va a producir una salida diferente para el mismo texto de entrada dependiendo de la clave utilizada. • Una vez cifrado, el mensaje puede ser transmitido. El mensaje original puede ser recuperado a través de un algoritmo de desencriptacion y la clave usada para la encriptación.
  8. 8. El principio de Kerkhoff • Existe un principio, el llamado principio de Kerkhoff, que dice que todos los algoritmos de cifrados y descifrados deben ser públicos y conocidos por todos, por tanto lo único secreto es la clave del algoritmo. • En este principio se basan todos los cifrados de clave privada, en mantener secreta la clave bajo cualquier medio, ya que es lo único que no permite a los usuarios malintencionados descifrar nuestros mensajes. Para ello la clave se comparte por canales seguros (ya veis que este es su punto débil, ya que si tenemos un canal seguro no necesitamos un cifrado) entre los interlocutores del mensaje. Otra cosa es que quien lo reciba ya tenga la clave instalada, como puede ser el caso de los bancos, que se transmiten información cifrada, pero no la clave, la cual ya esta instalada en cada sistema del banco.
  9. 9. El principio de Kerkhoff Resumiendo: La clave se envía junto con código cifrado, pero la clave se debe de enviar por un canal seguro, lo cual es tontería por que si el canal es seguro no haría falta encriptarlo, esto hace tiempo que ha dejado de ser seguro al 100%, ya que el hacker si es capaz de recibir el primer paquete, también puede recibir el segundo con la clave. Este solo es uno de los muchos principios que hay, también hay muchísimos algoritmos y tipos de encriptación obsoletos, actuales y los que van surgiendo nuevos. Esta diapositiva es tan solo una introducción para que sigas buscando si algo te ha interesado.
  10. 10. Cifrado DES • El cifrado DES (Data Encryption Standard) es un algoritmo de cifrado, cuyo uso se ha propagado ampliamente por todo el mundo, es un cifrado por bloques, este cifrado toma un mensaje y lo separa en bloques de un tamaño de bits determinado y transforma este mensaje en un criptograma tras una serie de complicadas operaciones, dando como resultado un criptograma de la misma longitud que el mensaje (ocupa lo mismo normal, que encriptado).
  11. 11. Cifrado DES Su funcionamiento • Se basa en 16 fases idénticas del proceso (rondas). Se realizan dos permutaciones, una inicial (PI) y una final (PF), que son funciones inversas entre sí. Antes del comienzo de las rondas el bloque de 64 bits a cifrar/descifrar, se divide en dos mitades de 32 bits cada una, y se procesan alternativamente cruzándose. • Como barajando cartas, podemos ser magos si las barajamos de una forma y luego las desbarajamos de la misma forma y “ta chaaán” el orden de las cartas era igual que al principio. (Este entrecruzamiento se conoce como esquema Feistel).
  12. 12. Cifrado DES Su funcionamiento • La clave inicial se expande en muchas otras subclaves, se mezclan, se sustituyen y se reordenan.
  13. 13. Cifrado DES Su funcionamiento Utiliza también una clave criptográfica para modificar la transformación, de modo que el descifrado sólo puede ser realizado por aquellos que conozcan la clave concreta utilizada en el cifrado.
  14. 14. Cifrado DES Su funcionamiento Cifrado y descifrado no requieren algoritmos distintos simplemente se aplican en orden inverso. Se cogen 62 bits, de los cuales 8 son de paridad, entonces los 56 restantes se dividen en dos mitades independientes de 28, y se va jugando con los bits de forma que se cree algo ilegible, de forma que tan solo aplicando la misma clave (a la inversa) vuelva a ser legible.
  15. 15. El cifrado DES un poco de historia • Motivó el concepto moderno del cifrado por bloques. Hoy en día, se considera inseguro para muchas aplicaciones, debido a que el tamaño de la clave es “corto”. Desde hace años ha sido sustituido por el AES. • Sus orígenes están en los 70, de ahí que hayamos visto viejas películas de hackers en los que un chaval teclea muy rápido para poder acceder a unos datos secretos y lo consigue al cabo de un tiempo. • La necesidad de seguridad informática en aquella época se decantó por los algoritmos de cifrado, creando muchísimos al respecto. La NSA se decantó por uno de IBM. Quizás, porque la NSA podía desencriptarlo por aquel entonces.
  16. 16. Los nuevos cifrados DES • Muchos de los anteriores usuarios de DES ahora utilizan Triple DES (3DES ) consiste en la aplicación de DES tres veces consecutivas con diferentes claves en cada una, es mucho más seguro y algo más lento.
  17. 17. Los nuevos cifrados DES • Una alternativa más económica es DES-X que incrementa el tamaño de clave. • GDES acelera el proceso de cifrado muchísimo, pero es aun más inseguro que el original.
  18. 18. Atacando a DES • El ataque por fuerza bruta. • Es el más simple, y es probar una por una cada clave posible, semejante a al ataque a modo de diccionario. La longitud de la clave determina el número posible de claves. De hacer esto en aquella época se encargaban ordenadores, no programas.
  19. 19. Atacando a DES • Existen teorías para descifrar DES, como El criptoanálisis diferencial, El criptoanálisis lineal y El ataque mejorado de Davies. • Pero no se llevaron a la práctica porque requerían muchos planos (mucha máquina).
  20. 20. AES • Advanced Encryption Standard (AES) (Rijndael). • Es un esquema de cifrado por bloque. • Fue un refinamiento de un diseño anterior. • Es rápido tanto en software como en hardware, es relativamente fácil de implementar, y requiere poca memoria. • Está siendo muy usado. • AES tiene un tamaño de bloque fijo de 128 bits y tamaños de llave de 128, 192 o 256 bits.
  21. 21. AES Funcionamiento SubBytes — en este paso se realiza una sustitución no lineal donde cada byte es reemplazado con otro de acuerdo a una tabla lookup table, que proviene de una table difícil operación. En la fase de SubBytes, cada byte en el state es reemplazado con su entrada en una tabla de búsqueda fija de 8 bits, S; bij = S(aij).
  22. 22. AES Funcionamiento ShiftRows — en este paso se realiza una transposición donde cada fila del state es rotado de manera cíclica un número determinado de veces. Cada columna del state resultante ShiftRows está compuesta por bytes de cada columna del state inicial.
  23. 23. AES Funcionamiento MixColumns — operación de mezclado que opera en las columnas del «state», combinando los cuatro bytes en cada columna usando una transformación lineal.
  24. 24. AES Funcionamiento AddRoundKey — cada byte del «state» es combinado con la clave «round»; cada clave «round» se deriva de la clave de cifrado usando una key schedule. schedule • La ronda final omite la fase MixColumns.
  25. 25. AES • Era usado para información secreta (TOP SECRET) de los Estados Unidos. • Para romperlo se requerirían 2120 operaciones mediante el ataque de fuerza bruta. Seria un ataque irrealizable. • Aunque AES realice operaciones finitas. • 29/12/2005 ED 40 3D 80 75 A7 1D 91 0E 59 89 7B 2B B4 DC 63 • 30/12/2005 C9 19 A9 E7 41 4D 2F B8 1E 51 87 7C 07 02 47 9A • 31/12/2005 CA 39 CC 88 A6 2F EF 74 D3 51 73 64 49 B4 6E 8E • 25/12/2006 C919A9E7414D2FB81E51877C0702479A • 26/12/2006 CA39CC88A62FEF74D351736449B46E8E • 27/12/2006 4D5BE01D7F4088C482133314E6B4A268 • 28/12/2006 BB7558C57FA830B4618A263A1C8A2D79 • 29/12/2006 769906392FB4EAF951C943F96695951B • 30/12/2006 13D9779D2732E76FF3EB849FAABD92B14
  26. 26. IDEA • Algoritmo Internacional de Cifrado de Datos. • Es un cifrado de bloque de 1991. • Utiliza tres operaciones en su proceso con las cuales logra la confusión. • La clave respecto a DES es mucho mayor. • El ataque por fuerza bruta resulta completamente impracticable. • A cada vuelta (operación) se modifica todo, no solo la mitad (como DES). •Es de los más seguros.
  27. 27. 59, 51, 43, 35, 27, 19, 11, 3, • Cifrando el bloque53, 45, 37, 29, 21, 13, 5, 61, 0000000000000000 con clave 01234567890abcdef: • Clave : 0123456789abcdef 23, 15, 7 63, 55, 47, 39, 31, }; • Eleccion Permutada :tabla_expan[48] = { u_char f0ccaa0aaccf00 -> L=f0ccaa0 R=aaccf00 • Llaves intermedias (Ki): 3, 4, 5, 4,11, 32, 1, 2, 5, 6, 7, 8, 9, 8, 9, 10, • K01 = 0b02679b49a5 K02 =15, 16, 17, 12, 13, 12, 13, 14, 69a659256a26 K03 = 45d48ab428d2 K04 = 7289d2a58257 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, • K05 = 3ce80317a6c2 K0630, 31, 32, 1 28, 29, 28, 29, = 23251e3c8545 K07 = 6c04950ae4c6 K08 = 5788386ce581 }; • K09 = c0c9e926b839 K10 = 91e307631d72 K11 = 211f830d893a K12 = u_char PF[64]; u_char sbox[8][64]; 7130e5455c54 u_char sboxes[8][64] = { • K13 = 91c4d04980fc K14 = 5443b681dc8d K15 = b691050a16b5 K16 = /* S1 */ ca3d03b87032 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 , 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, • Texto Plano :14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 4, 1, 0000000000000000 • Bloque permutado :9,0000000000000000, 15, 12, 8, 2, 4, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 /* S2 */ • Paso01 : L=000000003, 4, 9, 7, 2, 13, 12, 0, 5, 10, 15, 1, 8, 14, 6, 11, R=2f52d0bd Paso02 : L=2f52d0bd R=0cb9a16f • Paso03 : L=0cb9a16f8,R=15c84a76 9, 11, 5, : L=15c84a76 R=8e857e15 3, 13, 4, 7, 15, 2, 14, 12, 0, 1, 10, 6, Paso04 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, • Paso05 : L=8e857e154, 2, 11, 6, 7, 12, 0, 5, 14, 9, : L=20ac7f5a R=526671a7 13, 8, 10, 1, 3, 15, R=20ac7f5a Paso06 • Paso07 : L=526671a7 R=d1ae9ee9 Paso08 : L=d1ae9ee9 R=6c4bbb2c /* S3 */ 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, • Paso09 : L=6c4bbb2c 10, 2, 8, 5, 14, 12, 11,Paso10 : L=92882868 R=694a6072 13, 7, 0, 9, 3, 4, 6, R=92882868 15, 1, • Paso11 : L=694a6072 R=a0a3f716 5, 14,12, 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 7, Paso12 : L=a0a3f716 R=0a0d3f66 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 2, • Paso13 : L=0a0d3f66 R=e672c20e Paso14 : L=e672c20e R=c0dbacf2 /* S4 */ • Paso15 : L=c0dbacf29,0,10, 4, 7, 2, 12,11, 10, 14,15, : L=0b78e40c R=2f4bcfcd 7, 13, 14, 3, 0, 6, R=0b78e40c Paso16 1, 2, 8, 5, 12, 4, 13, 8, 11, 5, 6, 15, 3, 1, 9, • Resultado sin 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, 10, 6, permutar:2f4bcfcd0b78e40c • Resultado final 6, 10, 1, 13, /* S59, 4, 5, 11, 12, 7, 2, 14, 3, 15, 0, 8, :d5d44ff720683d0d */
  28. 28. • (lo malo de esto es que el intruso, supone que es un mensaje encriptado e intentara desencriptarlo, la estenografía es un texto u objeto entendible al cual se le añade documento oculto, así el intruso lo podría pasar por alto).
  29. 29. PERMUTACIONES • En un conjunto de objetos, rotulados y dispuestos de manera arbitraria en un espacio, la transformación que produce el intercambio de las rotulaciones o disposiciones se denomina permutación. El número de intercambios posibles, ya sea de rotulaciones o de disposiciones, es

×