Professional Documents
Culture Documents
http://www.geocities.ws/valdesmarrero/cripto_privada.html
1 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
Para desencriptar el mensaje, se invierte la funcin, y teniendo el alfabeto A y C, se reemplazan los caracteres del alfabeto C por los de A (el proceso contrario a la encriptacin). Para realizar el criptoanlisis de este tipo de mtodos se utiliza principalmente el anlisis de frecuencias, que ha sido explicado anteriormente en la seccin de criptoanlisis. Para realizar este tipo de ataque se ocupar una cantidad considerable de texto cifrado que se sepa que fue encriptado con la misma llave. A continuacin se vern algunos ejemplos de como formar a C y como hacer el encriptado de un mensaje M. Para todos los ejemplos se considerar que el alfabeto A es: A= {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}, tambin se considera un ejemplo de desencriptar.
EJEMPLO 1.
Una manera de formar el alfabeto C es acomodar las letras de una manera arbitraria, y hacer que la primera letra del alfabeto A sea cifrada como la primera del alfabeto C, la segunda con la segunda y as sucesivamente. A = 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 C = Q W E R T Y U I O P A S D F G H J K L Z X C V B N M La llave para este ejemplo en particular sera todo el alfabeto C, que fue obtenido por el acomodo de las letras en el teclado. Para cifrar el mensaje M siguiente, slo se sustituyen los caracteres del primer alfabeto por los del segundo, para generar el mensaje encriptado E. M = ORDENAR EL ATAQUE MASIVO E = GKRTFQK TS QZQJXT DQLOCG Para que resulte mas difcil de descifrar el mensaje cifrado, se suprimen los espacios en blanco, o se agrupan las letras con un periodo definido, por ejemplo 6. E = GKRTFQKTSQZQJXTDQLOCG E = GKRTFQ KTSQZQ JXTDQL OCG
EJEMPLO 2.
Otra manera de formar el alfabeto C es con una palabra llave, el alfabeto para cifrar se construye colocando primero las letras de la palabra llave omitiendo los duplicados y luego se listan las letras que faltan en el orden habitual, con esto se logra una llave que sea de menor longitud. Supongamos que se formar el primero estas letras evitando los faltaron. A = A B C D E F G H I J C = M U R C I E L A G O alfabeto cifrado con la palabra MURCIELAGO, entonces se colocan duplicados y luego se coloca el resto del alfabeto, es decir, las letras que K L M N O P Q R S T U V W X Y Z B D F H J K N P Q S T V W X Y Z
2 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
Para encriptar el mensaje M slo se sustituye letra por letra del alfabeto A al C. M = ENVIAR EL DINERO A LA CUENTA DE SUIZA E = IHVGMP ID CGHIPJ M DM RTIHSM CI QTGZM Obviamente a la hora de transmitir el mensaje se suprimen los espacios en blanco o se forman bloques de letras.
EJEMPLO 3.
Desencriptar el mensaje cifrado E que fue encriptado con el mtodo de simple sustitucin con llave VELOCIRRAPTOR. E = AVLC MDVD PFJP CZVO CDVN SGQH WVQC MRVQ C Primero se formar el lenguaje C: A = 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 C = V E L O C I R A P T B D F G H J K M N Q S U W X Y Z Entonces sustituyendo las letras de C por las de A, se obtiene el mensaje M que es el texto en claro. M = HACE RLAL IMPI EZAD ELAS UNTO WATE RGAT E M = HACER LA LIMPIEZA DEL ASUNTO WATERGATE.
3 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
entre 25 posibles letras, y as sucesivamente, lo que nos dice que se tienen (26)(25)(24)(2)(1) = 26! posibles llaves; entonces se puede usar la fuerza bruta probando cada una de estas llaves, que resultara fcil si se desarrolla de manera computacional.
Este cifrado hace un corrimiento a la derecha k posiciones, usando la operacin de mdulo con el tamao del alfabeto (26 por lo general). La razn de la operacin de mdulo es para que sea cclico el alfabeto, es decir de 0 a 25 y el 26 se vuelve a considerar como 0. La funcin matemtica para este tipo de cifrados es la siguiente: f(a) = (a + k) mod n. donde n es el tamao del alfabeto A, y a denota cualquier letra del alfabeto A y su correspondiente valor. El cifrado ms famoso de este tipo es cuando k=3, que se le llama cifrado de Csar, ya que el emperador Julio Csar lo utiliz en la antigua Roma con un desplazamiento de 3 en las letras. Para descifrar con este tipo de algoritmo, slo se hace un desplazamiento a la izquierda de k posiciones, es decir la funcin de descifrado es: f -1(c) = (c - k) mod n. A continuacin se presentan unos ejemplos utilizando este corrimiento.
EJEMPLO 1.
Encriptar el mensaje M utilizando una llave k=10. M = CALCULADORA Primero se puede formar todo el alfabeto con un corrimiento de 10, para tomar de referencia el alfabeto, o se puede hacer uso de la funcin letra por letra. M = CALCULADORA E = MKVMEVKNYBK Los clculos que se hicieron fueron: C = 2 entonces f(C) = 2+10 mod 26 = 12 = M A = 0 entonces f(A) = 0+10 mod 26 = 10 = K L = 11 entonces f(L) = 11+10 mod 26 = 21 = V U = 20 entonces f(U) = 20+10 mod 26 = 4 = E Y as sucesivamente para las dems letras.
EJEMPLO 2.
4 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
Desencriptar el mensaje E que fue encriptado con el cifrado de Csar. E = AREXPQIFKHP El procedimiento es el contrario, es decir se resta el desplazamiento, en este caso 3, para obtener el mensaje original. E = AREXPQIFKHP M = DUHASTLINKS
Este corrimiento utiliza el mismo alfabeto en claro A, y tambin tiene una llave k. La funcin de encriptado es como sigue: c = f(a) = ak mod n. Es decir, se multiplica el valor de la llave por el valor de la letra del texto a cifrar. Como nica condicin que se debe de cumplir, es que el valor de k sea primo relativo con n (que el MCD de k y n sea 1, (k,n)=1). Esto es debido a dos razones: primero, con esto se logra que las letras del alfabeto produzcan el conjunto completo de residuos, para que no haya duplicados; y segundo, si no se cumpliera esta condicin no sera posible hacer el descifrado del mensaje ya que no existira el inverso de k en Zn. Para la funcin de descifrado, se tiene que despejar a de la ecuacin anterior, lo que se resuelve calculando el inverso de la llave dentro de Zn. Entonces la ecuacin queda: a = f -1(c) = (c * inv (k,n) ) mod n Por lo general se utiliza Z26, y ya que para algunos se puede considerar difcil calcular inversos, es mejor crear todo el alfabeto con la funcin principal y luego ver la correspondencia de manera grfica. A continuacin se presenta un ejemplo de encriptado y otro de desencriptado, usando para ambos el alfabeto de 26 letras.
EJEMPLO 1.
Encriptar el texto plano M utilizando la llave k=11. M = HEWLETT PACKARD Se utilizar la funcin f(a) = 11a mod 26, entonces se obtienen los valores de cada letra del mensaje y se usa la ecuacin. M = 07,04,22,11,04,19,19,15,00,02,10,00,17,03 E = 25,18,08,17,18,01,01,09,00,22,06,00,05,07 Y finalmente se transforman los nmeros en letras, en donde se obtiene el texto cifrado E. E = ZSIRSBBJAWGAFH
5 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
EJEMPLO 2.
Desencriptar el mensaje E que fue cifrado por el mtodo de multiplicaciones con una k=7. E = DXCRUEOCUJCNEQGA Primero formaremos el alfabeto para este cifrado, resolviendo la ecuacin f(a) = 7a mod 26. A = 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 C = A H O V C J Q X E L S Z G N U B I P W D K R Y F M T Y se procede a reemplazar las letras del alfabeto C por las del alfabeto A. E = DXCRUEOCUJCNEQGA M = THEVOICEOFENIGMA Y con esto se obtiene el mensaje THE VOICE OF ENIGMA. Tambin se pudo haber utilizado la funcin de descifrado a = f -1(c) = 15c mod 26, ya que 15 es el inverso de 7 en Z26.
En este tipo de cifrado, se combinan las operaciones de suma y multiplicacin para crear la siguiente funcin: c = f(a) = (ak1 + k0) mod n. donde c es la letra cifrada, a es la letra del texto en claro, n es el tamao del alfabeto, k1 es para la multiplicacin y k0 es para la suma. La llave de este cifrado esta dada por k0 y k1. Al igual que en el mtodo anterior, se necesita que se cumpla la condicin (k1,n) = 1, es decir, que sean primos relativos. La funcin de descifrado es muy parecida a la de la multiplicacin, y vuelve a utilizar inversos sobre Zn. a = f -1(c) = ( (c - k0)*inv(k1,n) ) mod n. A continuacin se presentan ejemplos de este tipo de cifrado, usando el alfabeto usual de 26 letras.
EJEMPLO 1.
Encriptar el mensaje M usando las llaves k0=2 y k1=5 M = EL NERVIO DEL VOLCAN
6 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
Se convierte el mensaje en sus equivalentes numricos y despus se proceder a usar la funcin f(a) = (5a + 2) mod 26 M = 04,11,13,04,17,21,08,14,03,04,11,21,14,11,02,00,13 E = 22,05,15,22,09,03,16,20,17,22,05,03,20,05,12,02,15 Finalmente se transforman los nmeros en letras y se tiene: E = WFPWJDQURWFDUFMCP
EJEMPLO 2.
Desencriptar el texto E que fue cifrado usando las llaves k0=3 y k1=17. E = PFTOMDILHDOI Ahora se utilizar la frmula de desencriptado, pero primero se calcula el inverso de k1, y se tiene que: inv(17,26)=23 La funcin queda: a = f -1(c) = (23c - 69) mod 26 se transforma E a valores numricos y se emplea para obtener los valores del texto M. E = 15,05,19,14,12,03,08,11,07,03,14,08 M = 16,20,04,19,25,00,11,02,14,00,19,11 Finalmente transformando los valores numricos a sus respectivos caracteres, se tiene que el mensaje original es QUETZALCOATL.
7 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
A continuacin se presentan algunos ejemplos de este tipo de cifrado, en donde como alfabeto del texto en claro se utilizar el usual y para el alfabeto de texto cifrado se utilizarn los nmeros de 00 a 99, distribuyndose de la siguiente manera por frecuencias, es decir, por el uso que recibe la letra en el idioma espaol: A: 09,36,43,59,72,76,86,91 B: 16,92 C: 46,51,60 D: 18,27,73,81 E: 05,10,17,28,37,52,67,82,94,99 F: 55,77 G: 11,53 H: 04,19,26,38,66,85 I: 12,40,54,68,75,88 J: 23 K: 65 L: 02,29,80 M: 22,83,93 N: 35,47,62,69,78,87,97 O: 00,24,30,49,74,84,89,96 P: 08,34 Q: 39 R: 03,25,33,48,56,63 S: 06,44,58,64,70,79 T: 01,15,32,42,50,61,71,90,95 U: 14,45,57 V: 21 W: 07,31 X: 98 Y: 20,41 Z: 13
EJEMPLO 1.
Encriptar el mensaje M usando sustitucin homofnica. M = AYER ME DIJO UN AVE Se sustituye cada letra por su nmero correspondiente (cuando se tienen varias opciones se escoge cualquiera). E = 09,20,05,33,83,52,27,40,23,96,45,69,72,21,94 Aqu se puede observar que se busca no repetir nmeros mientras sea posible, para evitar un ataque por distribucin de frecuencias.
EJEMPLO 2.
8 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
EJEMPLO 3.
Desencriptar el mensaje cifrado E que fue elaborado por el cifrado de sustitucin homofnica con los alfabetos mencionados anteriormente. E = 02,54,92,10,25,86,01,28,42,45,71,67,22,99,37,98,40,69,55,52,33,75,44 Igualmente se buscan los nmeros dentro del alfabeto cifrado para encontrar la letra correspondiente, los espacios en blanco slo se obtienen al interpretar el mensaje, pero el mensaje original contiene todas las letras de manera continua. M = LIBERATE TUTEME EX INFERIS
CIFRADO PLAYFAIR.
Es un mtodo de cifrado de 2 palabras que fue nombrado en honor a un cientfico ingls llamado Lyon Playfair. Fue hecho en 1854 por Charles Wheatstone y tuvo un uso importante durante la Primera Guerra Mundial a favor de los ingleses. Utiliza como llave un arreglo 5x5 con las letras del alfabeto acomodadas en un orden especfico, o sea, se
9 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
utilizan 25 letras (ya que la J no se coloca, y se supone que la letra I es igual a J). Para acomodar las letras en el arreglo se puede escoger un orden aleatorio, en cuyo caso la llave sera toda el arreglo, o se puede tomar una palabra clave para formar el arreglo, lo cual ser visto en los ejemplos. Para utilizar este mtodo se tienen que seguir algunas reglas, mas aparte el mensaje M tiene que ser modificado en ciertas ocasiones para que se pueda usar el cifrado. La manera de modificar el mensaje original para que pueda ser cifrado es la siguiente: Si existen dos letras iguales juntas se inserta una letra enmedio que se considera basura. Para elegir esta letra se toma las que menos se usan en el alfabeto, como Q o X. Por ejemplo: COMMON -> COMXMON. Si despus de hacer el paso anterior se tiene que la longitud del mensaje es impar, se agrega una letra basura al final del mensaje. Por ejemplo: VENEZUELA -> VENEZUELAX. Una vez cumplidas estas especificaciones, se procede a encriptar de dos letras en dos, utilizando las siguientes reglas: El cifrado Playfair de la 2-palabra (x,x') se denota mediante T(x,x')=(y,y') y se define de la siguiente forma: 1. Si las letras de x y x' estn en el mismo rengln y distinta columna, o sea (x,x')=(Ai,s , A i,t), entonces su 2-palabra cifrada (y,y') corresponde a las letras en la misma fila y en la columna adyacente por la derecha; es decir, (y,y')=(Ai,s+1 , Ai,t+1). 2. Si las letras x y x' estn en la misma columna y distinto rengln (x,x')=(Ai,s , Aj,s) entonces las letras y e y' pertenecen a la misma columna y al rengln inmediatamente debajo, o sea (y,y')=(A i+1,s , Aj+1,s). 3. Si las letras x y x' estn en distintos renglones y columnas (x,x')=(Ai,s , A j,t), entonces las letras de (y,y') pertenecen al mismo rengln y esquinas opuestas del rectngulo determinado por (i,s), (i,t), (j,s), (j,t); es decir (y,y')=(A i,t , A j,s). 4. Se insertan letras nulas, como Q o X cada vez que se tiene que (x,x') es una 2-palabra con letras repetidas. 5. Si el texto resultante del apartado anterior contiene un nmero impar de letras, se inserta una letra nula al final. Cuando se est tomando el ltimo rengln o columna, se considera que el primero es el que sigue. Para descifrar se siguen las reglas contrarias a estas. A continuacin se muestran algunos ejemplos con este mtodo.
EJEMPLO 1.
Se genera un arreglo del alfabeto con la palabra DIPLOMADO y se encriptar el mensaje M = APPLE MACINTOSH Para formar la matriz primero se colocan las letras de la llave por renglones omitiendo duplicados, y luego se coloca el resto del alfabeto por orden. D M I A P B L C O E
10 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
F Q V
G R W
H S X
K T Y
N U Z
Luego el mensaje se separa en pares de letras. M = AP PL EM AC IN TO SH Y se procede a utilizar las reglas antes descritas. Para AP se usa la regla 3, y el cifrado es BI. Para PL se usa la regla 1, y el cifrado es LO. Para EM se usa la regla 1, y el cifrado es MA. Para AC se usa la regla 1, y el cifrado es BE. Para IN se usa la regla 3, y el cifrado es OG. Para TO se usa la regla 3, y el cifrado es UL. Para SH se usa la regla 2, y el cifrado es XS. Entonces el mensaje cifrado E queda como: E = BILOMABEOGULXS
EJEMPLO 2.
Crear un arreglo para cifrado Playfair con la llave CAIFANES y encriptar el mensaje M = MANUEL VALDES MARRERO Formando el arreglo queda de la siguiente forma: C E H P V A S K Q W I B L R X F D M T Y N G O U Z
Se separa el mensaje en pares de letras. M = MA NU EL VA LD ES MA RR ER O En la octava pareja se tiene RR, por lo tanto se agrega una letra basura X enmedio. M = MA NU EL VA LD ES MA RX RE RO Utilizando las mismas reglas, se encripta. E = KF GZ BH WC MB SB KF XI PB UL
EJEMPLO 3.
Desencriptar el mensaje E que fue formado por un arreglo del cifrado de Playfair con la llave CONTROL
11 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
Y ahora se siguen las reglas inversas para descifrar el mensaje. E = YS HP SO IM IW IO BQ Para YS se usa la regla 3,y descifrada es WI Para HP se usa la regla 2,y descifrada es ND Para SO se usa la regla 2,y descifrada es OW Para IM se usa la regla 3,y descifrada es SQ Para IW se usa la regla 3,y descifrada es SY Para IO se usa la regla 3,y descifrada es ST Para BQ se usa la regla 3,y descifrada es EM Entonces el mensaje descifrado es M = WINDOWSQSYSTEM Se considera que la letra Q es nula y por lo tanto el mensaje es: M = WINDOWS SYSTEM.
CIFRADO DE HILL.
El cifrado de Hill hace una transformacin lineal de d caracteres de texto en claro hacia d caracteres de texto cifrado. Por lo general d tiene un valor de 2, y se considera tambin por lo general que se tiene un alfabeto de 26 caracteres que se denominar como n, y para la transformacin se utiliza una matriz denominada K, que para este caso ser de 2x2. Entonces la ecuacin que se utiliza para transformar un texto en claro M hacia el texto cifrado C se define como: C = KM mod n en donde KM es una multiplicacin de matrices, ya que las dos letras de M se acomodan como una matriz de dx1 y se obtiene una matriz de dx1 que sern las letras cifradas. De manera desarrollada la ecuacin para el caso de d=2 queda as: |c1| |c2| = |k11 |k21 k12| k22| |m1| |m2| mod n
Entonces si el mensaje completo tiene una longitud mayor a 2 se tiene que repetir este proceso para cifrar de dos en dos, y cada pareja es independiente a las dems, tanto en el cifrado como en el descifrado. Para descifrar se tiene que usar la matriz inversa a K, que denominaremos K-1. Para comprobar que si
12 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
funciona de esta manera se tiene la siguiente demostracin: K-1 C mod n = M K-1K M mod n = M I M mod n = M M=M La matriz I es la matriz identidad dxd que se obtiene al multiplicar cualquier matriz por su inverso, y cualquier matriz multiplicada por la matriz identidad da como resultado la misma matriz. Dentro de las condiciones que se tienen que cumplir para que se pueda utilizar este mtodo es que la matriz K tiene que tener inversa, de lo contrario no se podra descifrar ningn mensaje. Lo cual depender, como se vio en la seccin de matrices inversas, del determinante de la matriz y del valor de n (por lo general 26). Otra condicin es que el mensaje tiene que tener una longitud par, si es impar se agrega un caracter basura al final del mensaje, como se hizo en el cifrado Playfair. A continuacin se muestran ejemplos con este tipo de cifrado, en donde se estar utilizando el alfabeto usual de 26 letras, en donde la A=0, B=1, C=2, ..., Y=24, Z=25:
EJEMPLO 1.
Primero se separa el mensaje en grupos de 2, y se emplea la frmula C = KM mod n para encriptar. (C, O)=(2, 14) (B, A)=(1, 0) (Y, A)=(24, 0) |3 2| | 2| |3 5| |14| |3 2| | 1| |3 5| | 0| |3 2| |24| |3 5| | 0| mod 26 = |34| |76| = | 3| | 3| = |72| |72| mod 26 = | 8| |24| = | 3| | 3| = |20| |20|
mod 26
mod 26
mod 26
mod 26
Entonces el mensaje encriptado queda 8,24,3,3,20,20. Transformando los nmeros en letras el mensaje E = IYDDUU.
EJEMPLO 2.
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
K = | 7 |11
10| 21|
Se separan el mensaje en parejas, como la longitud es impar, se agrega la letra Q al final. M = RA MM ST EI NQ (R, A)=(17, 0) (M, M)=(12,12) (S, T)=(18, 19) (N, Q)=(13, 16) | 7 10| |17| mod 26 |11 21| | 0| | 7 10| |12| mod 26 |11 21| |12| | 7 10| |18| mod 26 |11 21| |19| | 7 10| |13| mod 26 |11 21| |16| = |119| mod 26 |187| = |204| mod 26 |384| = |316| mod 26 |597| = |251| mod 26 |479| = |15| | 5| = |22| |20| = | 4| |25| = |17| |11|
EJEMPLO 3.
Desencriptar el mensaje E que fue cifrado utilizando el mtodo de Hill con el alfabeto usual y la matriz llave K. E = LUSSUI K = | 6 | 5 21| 18|
Para descifrar el mensaje se tiene que calcular la matriz inversa K -1, utilizando el mtodo visto en la seccin de Bases Matemticas. K-1 = (1/|K|) C mod n El determinante de la matriz K es 108 - 105 = 3 El inverso del determinante es 9, ya que 9.3 mod 26 = 1 La matriz de cofactores ser B, que llevndola a Z26 se convierte en C. B = |18 |-5 C = |18 |21 -21| 6 | 5| 6|
14 de 15
Criptografia
http://www.geocities.ws/valdesmarrero/cripto_privada.html
K-1 = | 6 19| | 7 2 | Teniendo ya la matriz inversa, se procede a descifrar el mensaje, que es muy parecido al proceso de cifrado, slo que con la matriz K-1. E = LU SS UI (L, U)=(11, 20) (S, S)=(18, 18) (U, I)=(20, 8) | 6 19| |11| mod 26 | 7 2| |20| | 6 19| |18| mod 26 | 7 2| |18| | 6 19| |20| mod 26 | 7 2| | 8| = |446| mod 26 |117| = |450| mod 26 |162| = |272| mod 26 |156| = | 4| |13| = | 8| | 6| = |12| | 0|
Entonces el mensaje M o texto en claro es 4,13,8,6,12,0 Transformando los nmeros en letras, se obtiene el mensaje: M = ENIGMA
Anterior
Siguiente
$1.45/mo Unlimited Web Hosting Free Domain, PHP, MySQL , Unlimited Sites/Space/Bandwidth www.gridhoster.com
15 de 15