Algoritmos de Cifrado Clasicos

81
Universidad Nacional de Ingeniería Criptología con CrypTool

description

Algoritmos de Cifrado Clasicos.

Transcript of Algoritmos de Cifrado Clasicos

Page 1: Algoritmos de Cifrado Clasicos

Universidad Nacional de Ingeniería

Criptología con CrypTool

Page 2: Algoritmos de Cifrado Clasicos

Expositores:

Reyna Judith Doña Rosales

Laoska Benyasca Guadamuz Muñoz

Leonardo Moisés Mayorga Valdez

Yahosca Virginia Paniagua Arellano

Liseth del Carmen Pérez Guillen

Cristhian Johanna Vallecillo López

Grupo:5T1 - CO

Page 3: Algoritmos de Cifrado Clasicos

Contenido

• Definición de Criptología• Objetivos de la Criptología• Criptoanálisis• Ejemplos de la Primera Criptología• Clasificación de la Criptología

• Criptología Clásica• Situaciones Poli alfabéticas• Cifrado de Vigenère

• Modulo n

Page 4: Algoritmos de Cifrado Clasicos

Contenido

• Cifrado de Sustitución Atbash• Cifrado de Sustitución Homofónica• Cifrado de César• Cifrado de César >> ROT13• Cifrado de PlayFair• Cifrado Solitario• Cifrado de Hill

Page 5: Algoritmos de Cifrado Clasicos

Definición de Criptología

• Descripción:La criptología esta formada por dos técnicas complementarias: criptoanálisis y criptografía.

La criptografía es la técnica de convertir un texto inteligible, texto en claro (plaintext), en otro, llamado criptograma (ciphertext), cuyo contenido de información es igual al anterior pero sólo lo pueden entender las personas autorizadas. El criptoanálisis es la técnica de descifrar un criptograma sin tener la autorización.

Page 6: Algoritmos de Cifrado Clasicos

… Continuación …

Para encriptar se debe transformar un texto mediante un método cuya función inversa únicamente conocen las personas autorizadas (Transmisor y Receptor). Así se puede utilizar un algoritmo secreto o un algoritmo público que utiliza una palabra, llamada clave, sólo conocida por las personas autorizadas, esta clave debe ser imprescindible para la encriptación y desencriptación.

Page 7: Algoritmos de Cifrado Clasicos

… Continuación …

Page 8: Algoritmos de Cifrado Clasicos

Criptografía - Objetivos

• Confidencialidad.La información prácticamente no puede ser accesible o revelada a individuos, entidades o procesos desautorizados.

• Autenticación.La autenticación asegura que los usuarios se han identificado y que sus identidades se han verificado apropiadamente.

Page 9: Algoritmos de Cifrado Clasicos

… Continuación …

• Integridad.La integridad asegura que los datos no se han alterado o destruido de una forma no autorizada.

• No Repudio.El principio de que, después de todo, se puede probar que los participantes de una transacción realmente la autorizan y que no pueden negar de ninguna forma su participación.

Page 10: Algoritmos de Cifrado Clasicos

Criptoanálisis

El criptoanálisis abarca muchas técnicas diversas, muchas veces no dependen del conocimiento del algoritmo sino que mediante sistemas de aproximación matemática se puede descubrir el texto en claro o la clave. La dificultad del análisis depende de la información disponible, así el criptoanalista puede tener acceso a:

• Un criptograma• Un criptograma y su texto en claro.• Un texto claro elegido y su criptograma.• Un criptograma elegido y su texto en claro.

Page 11: Algoritmos de Cifrado Clasicos

Ejemplos de la primera Criptografía

• Tatuajes en la cabeza de un esclavo cubierto por el cabello.

• Atbash (sobre 600 A.C.): • Lenguaje secreto hebreo, alfabeto invertido.

• Scytale de Sparta (500 A.C.):• Descrito por el historiador / autor Griego Plutarco (45 –

125 A.C.)• Dos cilindros (varas de madera) con igual diámetro.• Transposición (los caracteres del texto claro se

reordenan)

Page 12: Algoritmos de Cifrado Clasicos

… Continuación …

Page 13: Algoritmos de Cifrado Clasicos

La criptografía se puede clasificar históricamente en dos: La criptografía clásica y la criptografía moderna.

La criptografía clásica es aquella que se utilizó desde antes de la época actual hasta la mitad del siglo XX. También puede entenderse como la criptografía no computarizada o mejor dicho no digitalizada. Los métodos utilizados eran variados, algunos muy simples y otros muy complicados de criptoanalizar para su época.

Clasificación de la Criptografía

Page 14: Algoritmos de Cifrado Clasicos
Page 15: Algoritmos de Cifrado Clasicos

La criptografía clásica es muy antigua. Las técnicas criptográficas eran muy ingeniosas y se usaban para enviar mensajes secretos entre las personas que tenían el poder o en época de guerra para enviar instrucciones. A diferencia de la criptografía moderna, el algoritmo del sistema criptográfico se mantenía en secreto. La criptografía clásica también incluye la construcción de máquinas, que mediante mecanismos, comúnmente engranes o rotores, transformaban un mensaje en claro a un mensaje cifrado, como la máquina Enigma usada en la Segunda Guerra Mundial.

Criptología Clásica

Page 16: Algoritmos de Cifrado Clasicos
Page 17: Algoritmos de Cifrado Clasicos

Clasificación de la Criptografía Clásica

Page 18: Algoritmos de Cifrado Clasicos

Los cifradores por transposición utilizan la técnica de permutación de forma que los caracteres del texto se reordenan mediante un algoritmo específico.

Los cifradores por sustitución utilizan la técnica de modificación de cada carácter del texto en claro por otro correspondiente al alfabeto de cifrado. Si el alfabeto de cifrado es el mismo que el del mensaje o bien el único, hablamos entonces de cifradores monoalfabéticos; es decir, existe un único alfabeto en la operación de transformación del mensaje en criptograma. Por el contrario, si en dicha operación intervienen más de un alfabeto, se dice que el cifrador es polialfabético.

Page 19: Algoritmos de Cifrado Clasicos

Situaciones Poli alfabéticas

Son usados en circunstancias de lo que se denomina secreto táctico, en las que lo importante no es tanto contar con una robustez absoluta del sistema sino que sea capaz de mantener el secreto durante un tiempo educado.

El diplomático francés, Blaise de Vigenère publico en 1586 un sistema que es actualmente conocido como el cifrado de Vigenère. Este sistema es el ejemplo por excelencia de un cifrado de sustitución poli alfabético

Page 20: Algoritmos de Cifrado Clasicos

Cifrado de Vigenère

Se define mediante una tabla donde se encuentran todas las rotaciones que podemos realizar con el alfabeto ordenado. Cada una de las filas corresponde a un desplazamiento de un rotador de Alberti.

Se erigirán un tamaño n y una n-palabra que usaremos como clave. Dividiremos el texto claro en bloques de tamaño n. La k ésima letra de cada uno de los bloques será cifrada de acuerdo al desplazamiento de Alberti correspondiente a la k ésima letra de la palabra clave.

Page 21: Algoritmos de Cifrado Clasicos

… Continuación …

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

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

Page 22: Algoritmos de Cifrado Clasicos

En informática, la operación de modulo es el resto de la división entre 2 números. Dados 2 números positivos, donde a (dividendo) y n (divisor), siendo n el modulo (mod n) se podría considerar como el resto, en la división de a por n.  

Modulo n (mod n)

Page 23: Algoritmos de Cifrado Clasicos

Ejemplo:• Cifrado : Computadoras• Clave : Redes• Resultado : TSPTMKEGSJRW

Modulo n (mod n)

Page 24: Algoritmos de Cifrado Clasicos

… Continuación …

• Ejemplo:• Cifrado : Computadoras• Clave : Redes• Resultado : TSPTMKEGSJRW

• C + R = 2 + 17 = 19• O + E = 14 + 4 = 18• M + D = 12 + 3 = 15• U + S = 20 + 18= 12

2 14 12 15 20 19 3 14 17 0 18C O M P U T D O R A S17 4 3 4 18 17 4 3 4 18 17R E D E S R E D E S R

Page 25: Algoritmos de Cifrado Clasicos

… Continuación …

Page 26: Algoritmos de Cifrado Clasicos

Cifrado de Vigenère con CrypTool 1

Page 27: Algoritmos de Cifrado Clasicos

… Continuación …

Page 28: Algoritmos de Cifrado Clasicos

… Continuación …

Page 29: Algoritmos de Cifrado Clasicos

Cifrado de Vigenère con CrypTool 2

Page 30: Algoritmos de Cifrado Clasicos

… Continuación …

Page 31: Algoritmos de Cifrado Clasicos

… Continuación …

Page 32: Algoritmos de Cifrado Clasicos

Cifrado de Sustitución: Atbash

Bajo este algoritmo de encriptamiento, cada letra del texto o mensaje se sustituye por una letra diferente del alfabeto. La misma letra en el mensaje es siempre reemplazada por la misma letra en el alfabeto correspondiente. Una misma letra no es sustituida por dos diferentes, esto significa que el alfabeto es reemplazado por una sola permutación del alfabeto.

Page 33: Algoritmos de Cifrado Clasicos

Sustitución / Atbash

• La diferencia entre este método y el algoritmo «Caesar» es que las letras no son asignadas en una secuencia en particular pero pueden ser mezcladas.

La clave es ingresada en el menú : «Encrypt/Decrypt \ Symmetric(classic) \ Substitution/Atbash.»

Page 34: Algoritmos de Cifrado Clasicos
Page 35: Algoritmos de Cifrado Clasicos

• Nuestra clave solo aceptara aquello caracteres que especifiquemos en «Text Options»

Page 36: Algoritmos de Cifrado Clasicos

• Existen dos maneras diferentes que ingresemos una nueva clave:• Seleccionar Atbash una clave fija es seleccionada• Ingresar una clave de la cual la permutación del alfabeto es

derivada. Un ejemplo podría ser la clave «IMAGINE». La permutación resultante funciona de la siguiente manera:

• La letra A correspondería a la primera letra, en este caso la letra «I», de igual manera la letra B correspondería con «M», C con «A», D con «G» , como la letra I ya ha sido asignada anteriormente esta no se vuelve asignar y se continua con la siguiente en este caso E corresponde a «N», y la F a la «E», al llegar a la ultima letra de nuestra clave tenemos dos opciones:

Page 37: Algoritmos de Cifrado Clasicos

• Para el resto del alfabeto de la «F» a la «Z»:• Podemos ir en orden inverso, por ejemplo

• G = Z , H = Y … Z = B• O en orden ascendente:

• G = B, H =C … Z = Z

Si la clave contiene todos los 26 caracteres del alfabeto entonces no tenemos de que preocuparnos por llenar esto.

Page 38: Algoritmos de Cifrado Clasicos
Page 39: Algoritmos de Cifrado Clasicos

• Una vez ingresada la clave, podremos encriptar el documento en el boton «Encriptar».

Page 40: Algoritmos de Cifrado Clasicos

Sustitución Homofonica

¿Qué entendemos por homófonos? La definición del vocablo es "palabras de igual pronunciación o sonido y distinto significado" como por ejemplo hola y ola.

En criptografía entenderemos por homófonos a las distintas representaciones que damos al mismo carácter plano sin seguir ninguna relación o función determinada.

Por ejemplo, si establecemos una relación entre los 27 caracteres del alfabeto con los 100 primeros números del 0 al 99, al cifrar podríamos sustituir la letra A con cualquiera de los siguientes números: {1, 15, 18, 29, 50, 97}. Luego, el receptor autorizado, que conoce esta correspondencia, simplemente reemplaza dichos números por la letra A para descifrar el mensaje.

Page 41: Algoritmos de Cifrado Clasicos

Sustitución Homofonica

En términos matemáticos, pues, una sustitución homofónica es una correspondencia de uno a muchos en lugar de una correspondencia uno a uno típica de los métodos de sustitución monoalfabéticos. Se asigna a cada letra del alfabeto original un conjunto de elementos de un alfabeto ampliado o de elementos agrupados de un alfabeto. Los subconjuntos que se asignan a cada una de las letras del alfabeto original deben ser evidentemente disjuntos (no existe ningun elemento en comun).

En el cifrado de sustitución homofónica el numero de potenciales sustitutos es proporcional a la frecuencia de la letra, de modo que si una letra se usa el doble de veces que otra, la primera será sustituida por el doble de caracteres que la segunda.

Page 42: Algoritmos de Cifrado Clasicos

Sustitución HomofonicaEl cifrado homofonico trabaja con combinaciones hexadecimales al

momento de la sustitucion. La sustitucion homofonica no hace diferencias entre caracteres en mayuscula o minuscula.

Ejemplo usando la sustitución Homofonica en la herramienta Cryptool

Texto Plano:Criptografía Homofonica

Frecuencia de las letras:Cryptografia

C =4.1 r =6.1y =1.0 p =2.9 t =8.8o =8.3 g =1.1 r =6.1a =8.2 f =1.9i =8.3a =8.2

HomofonicaH =3.0 o =8.3 m =2.1 o =8.3 f =1.9o =8.3

n =9.2 i =8.3c =4.1 a =8.2

Page 43: Algoritmos de Cifrado Clasicos

Sustitucion HomofonicaEjemplo usando la sustitucion Homofonica

Posibles sustitutos:

C= 93, F1, F9, CF, 1A, 71, 6D, 24, 37, DEr = FE, C, F3, E8, 2, 60, 86, B3, BO, EB, 4A, 59, E5, EE, 21y = 2E, 3E, A7p = 5B, F, C1, BB, EF, 1C, D5t = A8, 83, 50, 11, 41, FD, 1E, C6, C9, 4, C0, CC, DD, 85, 70, BC, 76, D, 5C, E, D9, FBo = 4F, 40, 7B, D1, 4C, FA, EC, 7C, B2, 10, B9, B8, B5, D3, FF, F8, 42, 7, E0, D1, 99g = 43, 39, F0, 8, 5Fr = FE, C, F3, E8, 2, 60, 86, B3, BO, EB, 4A, 59, E5, EE, 21a = 8C, E2, 53, 25, 9E, 8F, 1B, 91, B1, 28, 35, AA, 14, 19, 8A, CE, D7, A4, 1F, 33, 44f = 73, F5, D8, 20, BEi = EA, 2B, 18, 8B, AB, 67, C8, C4, 96, C2, 47, 61, A1, 69, 9D, 49, 5, C7, E9, E1, 94a = 8C, E2, 53, 25, 9E, 8F, 1B, 91, B1, 28, 35, AA, 14, 19, 8A, CE, D7, A4, 1F, 33, 44

Page 44: Algoritmos de Cifrado Clasicos

Sustitucion HomofonicaEjemplo usando la sustitucion Homofonica

Posibles sustitutos:

H = 97, BD, E4, 66, F6, 7D, 26, D4o = 4F, 40, 7B, D1, 4C, FA, EC, 7C, B2, 10, B9, B8, B5, D3, FF, F8, 42, 7, E0, D1, 99m =58, D2, 57, 89, 92, 64, 3, 9Ao = 4F, 40, 7B, D1, 4C, FA, EC, 7C, B2, 10, B9, B8, B5, D3, FF, F8, 42, 7, E0, D1, 99f = 73, F5, D8, 20, BEo = 4F, 40, 7B, D1, 4C, FA, EC, 7C, B2, 10, B9, B8, B5, D3, FF, F8, 42, 7, E0, D1, 99n = B4, 13, A5, 34, AF, 23, B4, 8D, 63, 6A, 9, 4E, 95, DF, F4, B6, 2F, AD, ED, 16, 38, B7, 6Ei = EA, 2B, 18, 8B, AB, 67, C8, C4, 96, C2, 47, 61, A1, 69, 9D, 49, 5, C7, E9, E1, 94c = 93, F1, F9, CF, 1A, 71, 6D, 24, 37, DEa = 8C, E2, 53, 25, 9E, 8F, 1B, 91, B1, 28, 35, AA, 14, 19, 8A, CE, D7, A4, 1F, 33, 44

Page 45: Algoritmos de Cifrado Clasicos

Sustitucion Homofonica

El mensaje cifrado sera una combinacion de los posibles sustitos de cada letra de una forma aleatoria.

Si en el mensaje existe mas de una letra repetida, esta sera reemplazada por cualquiera de sus posibles sustitutos pero de manera aleatoria es decir que a lo largo del mensaje no se repetira el mismo sustituto.

Por ejemplo: en la palabra Homofonica, la letra O se repite 3 veces, entonces esta sera reemplazada por tres de sus sustitituos de forma que cada uno diferirá del otro a lo largo de todo el mensaje.

Page 46: Algoritmos de Cifrado Clasicos

Sustitucion Homofonica

Texto PlanoCryptografia Homofonica

Mensaje Cifrado con cryptool

93 B3 2E D5 50 B9 08 EE 33 D8 EA 1B 7D 7C 58 4F 20 7B DF 18 37 35

Page 47: Algoritmos de Cifrado Clasicos

Sustitucion HomofonicaHerramienta Cyptool

Page 48: Algoritmos de Cifrado Clasicos

Sustitucion Homofonica

Page 49: Algoritmos de Cifrado Clasicos

Sustitucion Homofonica

Page 50: Algoritmos de Cifrado Clasicos

CIFRADO "SOLITARIO"• Es un algoritmo de cifrado para ser usado por gente que no

puede tener acceso a ordenadores, fue desarrollado por Bruce Schneier (nacido el 15 de enero de 1963) es un criptógrafo, experto en seguridad informática, y escritor. Es el autor de diversos libros de seguridad informática y criptografía, y es el fundador y oficial jefe tecnológico de Counterpane Internet Security

• Solitario obtiene su seguridad de la aleatoriedad inherente a las cartas bien barajadas con 2.31*10^71 o 6.5531569919989807613739606270871e+96 posibles ordenamientos de la baraja. Manipulando la baraja, un comunicante puede crear una cadena de letras "aleatorias" que luego combina con su mensaje. Por supuesto Solitario puede ser simulado con un ordenador, pero está diseñado para ser utilizado a mano.

Page 51: Algoritmos de Cifrado Clasicos

BARAJA DE CARTAS

Page 52: Algoritmos de Cifrado Clasicos

• Solitario puede parecer "low-tech", pero se pretende que su seguridad sea "high-tech". Solitario fue diseñado para que fuera seguro incluso contra adversarios militares bien financiados, con los ordenadores más potentes y los criptoanalistas más inteligentes. Por supuesto, no existe ninguna garantía de que alguien encuentre un ataque contra Solitario, pero el algoritmo es ciertamente mejor que cualquier otro cifrado de lápiz y papel que haya visto nunca.

• No es rápido, no obstante. El cifrar o descifrar un mensaje razonablemente largo puede llevar una tarde.

Page 53: Algoritmos de Cifrado Clasicos

Cifrar con Solitario

• Solitario es un cifrado "stream", en modo "output-feedback" (salida- retroalimentación). Algunas veces se les llama generadores de claves ("Key-Generator", KG en la jerga militar de EE.UU.). La idea básica es que Solitario genera una ristra de números, llamada "keystream" (ristra o secuencia de clave), entre 1 y 26. Para cifrar, se genera una ristra de longitud igual al texto original. Seguidamente se suman, módulo 26, letra a letra al texto original, para crear el texto cifrado. Para descifrar, se genera la misma ristra y se resta, módulo 26, del texto cifrado

Page 54: Algoritmos de Cifrado Clasicos

• Por ejemplo, para "DO NOT USE PC":

• Divide el mensaje original en grupos de cinco letras (No hay nada mágico respecto a los grupos de cinco letras, es sólo tradición). Usa "X" para completar el último grupo. Así, si el mensaje es "DO NOT USE PC", el texto se transformará en:

• DONOT USEPC

• Usa Solitario para generar una ristra de letras (los detalles se dan más tarde). Supongamos que son:

• KDWUP ONOWT

Page 55: Algoritmos de Cifrado Clasicos

• Convertimos el mensaje original de letras a números, A=1, B=2, etc:

• 4 15 14 15 20 21 19 5 16 3

• Convertimos la ristra de Solitario de forma similar: • 11 4 23 21 16 15 14 15 23 20

• Sumamos los números de mensaje original con los correspondientes de la ristra Solitario, módulo 26. Es decir, si suman más de 26, restamos 26 de resultado. Por ejemplo, 1+1=2, 26+1=27, y 27-26=1, así que 26+1=1.

• 15 19 11 10 10 10 7 20 13 23

• Convertimos los números de nuevo a letras: • OSKJJ JGTMW

Page 56: Algoritmos de Cifrado Clasicos

Descifrar con Solitario

• La idea básica consiste en generar la misma ristra, y restarla del texto cifrado.

• Toma el mensaje cifrado y divídelo en grupos de cinco letras (ya debería estar en ese formato).

• OSKJJ JGTMW

• Usa Solitario para generar la ristra. Si el receptor usa la misma clave que el transmisor, la ristra será la misma.

• KDWUP ONOWT

Page 57: Algoritmos de Cifrado Clasicos

• Convierte el mensaje cifrado a números: • 15 19 11 10 10 10 7 20 13 23

• Convierte la ristra de forma similar: • 11 4 23 21 16 15 14 15 23 20

• Resta a cada número del texto cifrado el número correspondiente de la ristra, módulo 26: for ejempo, 22-1=21, 1-22=5. Es fácil. Si el primer número es menor o igual que el segundo, sumamos 26 al primer número antes de restar. Así, 1-22 se convierte en 27-22=5.

• 4 15 14 15 20 21 19 5 16 3

Page 58: Algoritmos de Cifrado Clasicos

• Convierte los números a letras:

• DONOT USEPC

• Como puedes ver, descifrar es igual que cifrar, salvo que al mensaje cifrado se le resta la ristra obtenida con Solitario.

Page 59: Algoritmos de Cifrado Clasicos

Generar las letras de la secuencia de clave• Solitario genera la ristra utilizando una baraja de cartas.

Puedes pensar en una baraja de 54 cartas (no olvides los dos comodines) como una permutación de 54 elementos [El texto original en inglés se refiere, evidentemente, a una baraja de póker. N. del T.].

• Para utilizar Solitario, se necesita una baraja con las 52 cartas y los dos comodines. Llámalo a uno comodín A y al otro comodín B.

Page 60: Algoritmos de Cifrado Clasicos

1. Encuentra el comodín A. Intercámbialo con la carta que tiene debajo. Si el comodín está al final de la baraja, ponlo debajo de la primera carta.

2. Encuentra el comodín B. Muévelo bajo la carta que está debajo de la que tiene debajo. Si el comodín está al final de la baraja, muévelo debajo de la segunda carta. Si el comodín es la penúltima carta, muévelo debajo de la primera carta. Básicamente asume que la baraja es un bucle,Si un comodín es la última carta, imagínatela como si fuera la primera carta, antes de empezar a contar.

Page 61: Algoritmos de Cifrado Clasicos

3. Corta la baraja en tres, intercambiando las cartas antes del primer comodín con las cartas que están detrás del segundo comodín

• "Primer" y "segundo" comodín se refiere al comodín que está más arriba o más abajo respecto al extremo de la baraja. Ignora el hecho de que un comodín es "A" y otro es "B", en este paso.

• Recuerda que los comodines y las cartas entre ellos no se mueven.

Page 62: Algoritmos de Cifrado Clasicos

4. Mira la última carta. Conviértela a un número de 1 a 53 (usa el orden normal: tréboles, diamantes, corazones y picas. Cuenta el valor obtenido empezando en la carta superior. Corta tras esa carta, dejando la última carta de la baraja a final. Si la baraja es:

• Una baraja con un comodín como última carta queda igual tras este paso. No hay cambios.

• Asegúrate de no invertir el orden cuando cuentes las cartas.

Page 63: Algoritmos de Cifrado Clasicos

5. Mira la primera carta. Conviértela en un número de 1 a 53, de la misma manera que en el paso 4. Cuenta esas cartas (la primera carta es la uno). Escribe la carta tras la que hayas terminado en un papel; no la quites de la baraja. Si la carta es un comodín, no la apuntes, y vuelve al paso 1. Este paso no modifica el estado de la baraja.

6. Convierte la carta del paso anterior en un número. Del As de tréboles al Rey de tréboles se cuentan del 1 a 13. Del As de diamantes al Rey de diamantes se cuentan como 14-26. Del As de corazones al Rey de corazones se cuentan como 1 a 13. Por último, del As de picas al Rey de picas se cuentan como 14 a 26. Necesitamos ir de 1 a 26, no de 1 a 52, para poder convertir a letras.

Page 64: Algoritmos de Cifrado Clasicos

Introducir una clave en la baraja• Antes de empezar a generar la ristra, es necesario

"introducir" una clave en la baraja. Ésta es, probablemente, la parte más importante de toda la operación, y en la que se basa toda la seguridad del sistema. Solitario es sólo tan seguro como lo sea su clave. Es decir, la forma más fácil de romper Solitario es imaginarse qué clave se está utilizando. Si no tienes una buena clave, el resto no importa. He aquí algunas sugerencias para realizar el intercambio de claves:

Page 65: Algoritmos de Cifrado Clasicos

1. Utiliza dos mazos barajados de la misma manera. Las claves aleatorias son las mejores. Uno de los comunicantes puede barajar un mazo de forma aleatoria, y luego copiar la distribución de las cartas en el otro mazo (para así obtener dos mazos iguales). Uno de los mazos es empleado por el emisor, y el otro por el receptor. La mayoría de la gente no son buenos barajando, así que baraja el mazo al menos seis veces. Ambas partes deben tener otra baraja adicional ordenada de la misma forma, porque si se comete algún error nunca se podrá descifrar el mensaje. Recuerda también que la clave corre peligro mientras exista.

Page 66: Algoritmos de Cifrado Clasicos

2. Usa un orden de Bridge. La descripción de una mano de bridge en un periódico o en un libro de bridge constituye una clave de aproximadamente 95 bits. Ponte de acuerdo con el otro comunicante en la forma de convertir el diagrama en un orden concreto para tu baraja. Luego ponte de acuerdo sobre la forma de meter los dos comodines en el mazo.

• Puedes intentar acordar alguna convención sobre qué columna de bridge utilizar; por ejemplo "usar la columna en el periódico local de tu ciudad natal correspondiente al día que se cifre el mensaje", o algo por el estilo. O una lista de palabras clave en el web del New York Times, y usar la columna de bridge del día del artículo que aparezca cuando buscas esas palabras clave. Si se encuentran las palabras clave, o son interceptadas, parecerán una "frase de paso

Page 67: Algoritmos de Cifrado Clasicos

3. Usa una "frase de paso" para ordenar la baraja. Este método utiliza el algoritmo Solitario para crear un ordenamiento inicial del mazo. Ambos, el emisor y el receptor, comparten una frase de paso (por ejemplo, "CLAVE SECRETA"). Empezar con el mazo en un orden fijo; de la carta más baja a la más alta, con los palos en el orden visto previamente, y con los dos comodines al final, primero el A y luego el B. Ahora utilizamos Solitario, tal cual, pero al llegar al paso 5 contamos según el número que corresponda a la primera letra de la frase de paso. En otras palabras, volvemos a realizar el paso 4, pero usando el número que corresponda a la primera letra de la palabra de paso, en vez de usar el número correspondiente a la última carta de la baraja. Recuerda poner las cartas de arriba justo debajo de la última carta de la baraja, como antes.

Page 68: Algoritmos de Cifrado Clasicos

• Repetimos los cinco pasos de Solitario tantas veces como letras tenga la palabra de paso. Es decir, la segunda vez utilizaremos la segunda letra, la tercera vez la tercera letra, etc.

• Recuerda, no obstante, que sólo hay unos 1.4 bits de aleatoriedad por cada letra, en el inglés estándar [el castellano es similar. N. del T.]. Necesitarás frase de paso de al menos 64 caracteres para hacerlo seguro. Yo recomendaría emplear al menos 80 letras, sólo por si las moscas. Lo siento; no puedes tener buena seguridad con claves más cortas.

Page 69: Algoritmos de Cifrado Clasicos

Algoritmo Hill

Se inventó en 1929 por Lester Hill. Era uno de los primeros métodos para hacer uso de técnicas matemáticas (álgebra lineal), y necesario para el nivel de seguridad en documentos.

Page 70: Algoritmos de Cifrado Clasicos

Algoritmo Hill

Para implementar este algoritmo se necesita:

1. Key (llave): utilizada para cifrar o descifrar un documento.2. Plaintext ò texto plano: se refiere a todos los textos que pueden ser

leídos, por ende es un texto que no esta encriptado.

Page 71: Algoritmos de Cifrado Clasicos

Algoritmo Hill

Adicionalmente esta llave es una matriz cuadrática, esto significa que tiene el mismo numero de filas y columnas. Este número es llamado la dimensión de la matriz. La llave es ingresada en la cuadro de diálogos o puede generarse aleatoriamente.

Page 72: Algoritmos de Cifrado Clasicos

Algoritmo Hill

Cifrado/Descifrado Hill:

Esta descripción detallada del cifrado/descifrado de Hill consiste en: 1. Codificar los caracteres del alfabeto con números 2. Cifrado Hill 3. Descifrado Hill

Page 73: Algoritmos de Cifrado Clasicos

Algoritmo Hill

1. CODIFICAR LOS CARACTERES DEL ALFABETO CON NÚMEROS

El alfabeto seleccionado actual y su codificación con números del Menú "Opciones / Texto" es:

A --> 01 H --> 08 O --> 15 U --> 21 B --> 02 I --> 09 P --> 16 V --> 22 C --> 03 J --> 10 Q --> 17 W --> 23 D --> 04 K --> 11 R --> 18 X --> 24 E --> 05 L --> 12 S --> 19 Y --> 25 F --> 06 M --> 13 T --> 20 Z --> 26 G --> 07 N --> 14

  El alfabeto actual consiste en 26 caracteres. El primer carácter del alfabeto es codificado al número 1.

Page 74: Algoritmos de Cifrado Clasicos

Algoritmo Hill

2. CIFRADO HILL := TEXTO (AMIGOS) CONTRASEÑA (KVTMAZPNO)

H[t] = [ K V T ][ M A Z ][ P N O ]

  Esta matriz codifica a números: H[n] = [ 11 22 20 ]

[ 13 01 26 ][ 16 14 15 ]

Cifrado del texto claro: "AMI": El vector del texto claro P está codificado abajo con números:   P[n] = [ 01 13 09 ]

Page 75: Algoritmos de Cifrado Clasicos

Algoritmo Hill

2. CIFRADO HILL (CONTINUACIÓN)

Los cálculos del cifrado Hill por file*matriz columna*vector producto (el vector P[n] es un vector columna):

I <-- 09 = 11*01 + 22*13 + 20*09 (mod 26)Z <-- 00 = 13*01 + 01*13 + 26*09 (mod 26)U <-- 21 = 16*01 + 14*13 + 15*09 (mod 26)  El texto cifrado Hill de las 3 primeas letras es: "IZUGBI ". El texto cifrado Hill de las 3 ultimas letras es: “GBI ".El texto cifrado Hill del text plano AMIGOS: "IZUGBI ".

Page 76: Algoritmos de Cifrado Clasicos

Algoritmo Hill

2. DESCIFRADO HILL := TEXTO (IZUGBI) CONTRASEÑA (KVTMAZPNO)

La matriz inversa de Hill para descifrar:

D[t] = [ O B F ][ M A Z ][ J P K ]

  Esta matriz codifica a números: D[n] = [ 15 02 06 ]

[ 13 01 26 ][ 10 16 11 ]

Page 77: Algoritmos de Cifrado Clasicos

Algoritmo Hill

2. DESCIFRADO HILL

Descifrado del texto cifrado: "IZU":

El vector del texto cifrado C decodificado en números:

C[n] = [ 09 26 21 ] Los cálculos del descifrado Hill por el file*matriz columna*vector producto (el vector C[n] es un vector columna):

A <-- 01 = 15*09 + 02*00 + 06*21 (mod 26)M <-- 13 = 13*09 + 01*00 + 26*21 (mod 26)I <-- 09 = 10*09 + 16*00 + 11*21 (mod 26)  El texto claro es: "AMI".

Page 78: Algoritmos de Cifrado Clasicos

Algoritmos de Sustitución - Cifrado de Vernam

El cifrado de Vernam también llamado máscara desechable es parecido al cifrado de Vigenère solo que aquí la clave es aleatoria y tan larga como el mensaje, además se debe utilizar una sola vez. Claude Shannon en su trabajo “Teoría de las comunicaciones secretas” demostró que estas características hacen que este cifrado sea perfectamente seguro ya que no hay manera de criptoanalizarlo (es matemáticamente complicado).

Page 79: Algoritmos de Cifrado Clasicos

Ejemplo:Considerando los valores numéricos asignados a cada carácter del alfabeto castellano de la tabla de la figura 2.2.20, el cifrado de Vernam se realiza de la siguiente manera:

Algoritmos de Sustitución

Page 80: Algoritmos de Cifrado Clasicos

Asignación de un valor numérico a cada carácter del alfabeto

Clave: EDSAS A CETNIEVEDMCla: BARRO Y CAÑABRAVA

Algoritmos de Sustitución

Page 81: Algoritmos de Cifrado Clasicos