Professional Documents
Culture Documents
Algoritmos criptogrfic os
-1 -
Algoritmos de Criptografa
-2 -
Algoritmos de Criptografa
ndice:
Criptografa Clsica................................................................................................................4 1.1. Algoritmos Clsicos de Cifrado...................................................................................4 1.1.1. Cifrados por Sustitucin........................................................................................4 1.1.2. Cifrados Polialfa !ticos........................................................................................" 1.1.#. Cifrados de $ransposicin.....................................................................................% 1.2. &'uinas de (otores. )a &'uina *+,-&A.............................................................. 1.2.#. /tras &'uinas de (otores...................................................................................0 Cifrados por 1lo'ues...............................................................................................................2 2.1. Cifrado de producto......................................................................................................2 2.1.1. (edes de 3eistel...................................................................................................14 2.1.2. Cifrados con *structura de -rupo.......................................................................14 2.1.#. Algoritmo CAS$.................................................................................................14 2.2. *l Algoritmo 5*S......................................................................................................11 2.#. 6ariantes de 5*S.......................................................................................................12 2.#.1. 5*S &7ltiple:.....................................................................................................12 2.4. Algoritmo ,5*A.........................................................................................................12 2.". *l algoritmo (i8ndael 9A*S:......................................................................................14 2.".1. )as (ondas de A*S.............................................................................................1" 2.".2. Clculo de las Su cla;es.....................................................................................1. 2.%. &odos de /p. para Algoritmos de Cifrado por 1lo'ues...........................................10 2.%.1. &odo *C1..........................................................................................................10 2.%.2. &odo C1C..........................................................................................................12 2.%.#. &odo C31...........................................................................................................12 2.%.4. &odo /31..........................................................................................................24 Algoritmos Asim!tricos de Cifrado......................................................................................21 #.1. Aplicaciones de los Algoritmos Asim!tricos.............................................................21 #.2. *l Algoritmo (SA......................................................................................................22 #.2.1. Seguridad del Algoritmo (SA............................................................................2# #.2.2. 6ulnera ilidades de (SA....................................................................................24 #.#. /tros Algoritmos Asim!tricos...................................................................................24 #.#.1. Algoritmo de 5iffie-<ellman..............................................................................24 #.#.2. Algoritmo de *l-amal........................................................................................2" #.#.#. Algoritmo de (a in.............................................................................................2" #.#.4. Algoritmo 5SA...................................................................................................2% 1i liografa.......................................................................................................................20
-# -
Algoritmos de Criptografa
-4 -
Algoritmos de Criptografa
Mtodos de Cifrado Monoalfabticos Sustitu>en cada letra por otra 'ue ocupa la misma posicin en un alfa eto desordenado > esta correspondencia se mantiene a lo largo de todo el mensa8e. As se consiguen tantas cla;es como posi ilidades de alfa etos =a>: +E de cla;es 2%F G 4H142% *s muc=o me8or 'ue el de @ulio Cesar > tiene ms cla;es 'ue el sistema ms utiliAado actualmente 5*S 92"% G .?2H141% cla;es:. *l problema est en cmo recordar la cla;e? es decir? el alfa eto desordenado. Para ello se utiliAa una pala ra de uso com7n 'ue permite crear? con un algoritmo conocido? el alfa eto desordenado. *l sistema es el siguiente: 1. Se usca una pala ra 9cla;e: fcil de recordar > se le 'uitan las letras duplicadas.
S*-I(,5A5 S*-I(,5A
2. Se aJaden al final de la pala ra las restantes letras del alfa eto 9sin duplicar letras:.
S*-I(,5A1C3<..................DKL
4. *l nue;o alfa eto se lee por columnas: S1+K*C/L-3PI<N(@$,M65)CA&D *8emplo: el mensa8e ataque se con;ertira en S6S$5* As la cla;e es ms fcil de transmitir > recordar pero el sistema de prue a > ensa>o se reduce a todas las pala ras conocidas. *l sistema de criptoanlisis me8or para romper el algoritmo es el estadstico. *mpare8ando las frecuencias relati;as de aparicin de cada sm olo en el mensa8e cifrado con el =istograma de frecuencias del idioma en el 'ue se supone est el teBto claro? podremos a;eriguar fcilmente la cla;e.
-" -
Algoritmos de Criptografa
)a ta la es la siguiente:
a c R R B > A a A 1 C D K L 1 C 5 K L A c C 5 * L A 1 R R R R R R R R B D K L I 6 C > K L A 6 C D L L A 1 C D K
)os alfa etos forman las columnas > siempre empieAan por la letra de la ca ecera. Mtodo: 1. Se usca una pala ra cla;e fcil de recordar. 2. Se escri e la pala ra de a8o del teBto en claro? repiti!ndose tantas ;eces como sea necesario. #. Cada letra del teBto en claro se codifica con el alfa eto de la ta la marcado por la letra inferior? o sea? la letra de la cla;e 'ue corresponde. *8emplo:
C)A6*: $eBto en claro : Cla;e Criptograma A5,/S *S$/ *S C(,P$/)/-,A A5,/ SA 5,/SA5,/SA5 *615 CS 3LC<$($CK,5
*l sistema de criptoanlisis sigue los siguientes pasos: 1. Se usca en el criptograma repeticiones de letras. )as repeticiones suponen coincidencias de teBto en claro > cla;e. 2. Si la frecuencia entre repeticiones es de n letras n es m7ltiplo de la longitud de la cla;e. #. Se considera el teBto como n teBtos intercalados? cada uno es monoalfa !tico con el alfa eto de una letra de la cla;e > se analiAan por t!cnicas estadsticas. )a defensa es utiliAar una cla;e tan larga como el teBto? pero no es prctico: cuesta tanto transmitir la cla;e como el teBto.
-% -
Algoritmos de Criptografa
Por e8emplo? supongamos 'ue 'ueremos cifrar el teBto T*ste es un tra a8o para la asignatura de (edesU? con n G " > la permutacin V#? 4? 2? "? 1W >a 'ue como cla;e =emos escogido T;ideoX. Colocamos el teBto en una ta la > o tenemos:
6 1 * e a a a g r s , 2 s s t 8 r n a ( 5 # t r o a a a e * 4 e u a s t d d / " n p l i u e e
$endramos como teBto cifrado la concatenacin de las columnas #? 4? 2? " > 1 respecti;amente: T$ (/AAA * *IA S$55 SS$@( +A( +1P),I** ** AAA-( SU. *ste tipo de mecanismos de cifrado se puede criptoanaliAar efectuando un estudio estadstico so re la frecuencia de aparicin de pares > tripletas de sm olos en el lengua8e en 'ue est! escrito el teBto claro. Suponiendo 'ue conocemos n? 'ue en nuestro caso es igual a "? tenemos "F G 124 posi les cla;es. 5escifraramos el teBto empleando cada una de ellas > compro aramos si los pares > tripletas de sm olos consecuti;os 'ue ;amos o teniendo se corresponden con los ms frecuentes en castellano. 5e esa forma podremos asignarle una pro a ilidad automticamente a cada una de las posi les cla;es. Si? por el contrario? desconocemos n? asta con ir pro ando con n G 2? n G # > as sucesi;amente. *ste m!todo es astante comple8o de lle;ar a ca o manualmente? pero un ordenador puede completarlo en un tiempo ms 'ue raAona le sin demasiados pro lemas.
-. -
Algoritmos de Criptografa
)a cla;e la constituan las posiciones iniciales de tres tam ores o rotores 'ue el ingenio posea en su parte frontal. *n la figura 1.1 podemos apreciar un es'uema de esta m'uina? llamada *+,-&A. )os rotores no son ms 'ue tam ores con contactos en su superficie > ca leados en su interior? de forma 'ue con cada pulsacin del teclado? la posicin de !stos determina cul es la letra 'ue se =a de iluminar. Cada ;eA 'ue se pulsa una tecla el primer rotor a;anAa una posicinY el segundo a;anAa cuando el anterior =a dado una ;uelta completa > as sucesi;amente. *l reflector no eBista en los primeros modelos? se introdu8o posteriormente para permitir 'ue la misma m'uina sir;iera tanto para cifrar como para descifrar? como ;eremos ms adelante. *+,-&A pronto llam la atencin del e8!rcito alemn? 'ue la utiliA de forma intensi;a a lo largo de la ,, -uerra &undial. Adems se le aplicaron ;arias me8oras. Aun'ue *+,-&A pareca ;irtualmente imposi le de romper? presenta a una serie de de ilidades? tanto en su diseJo como en los mecanismos empleados para utiliAarla? 'ue fueron apro;ec=adas por el e8!rcito aliado. *l protocolo empleado por el e8!rcito alemn para colocar los rotores al principio de cada mensa8e consista en escoger una posicin de un li ro de cla;es? > en;iar tres letras cuales'uiera dos ;eces? para e;itar posi les errores. *n realidad se esta a introduciendo una redundancia tal en el mensa8e 'ue permita o tener sin demasiados pro lemas la cla;e empleada. Se constru> un aparato 'ue permita descifrar los mensa8es? > se le autiA como Ciclmetro. *n 12#0 Alemania cam i el protocolo? lo cual o lig a los matemticos polacos a refinar su sistema? aun'ue sicamente se seguan en;iando tres letras repetidas. )a fuerAa de la m'uina *+,-&A radica a en 'ue tras codificar cada letra se giran los rotores? lo cual =ace 'ue la permutacin 'ue se aplica a cada letra sea diferente? > 'ue esa permutacin adems no se repita =asta 'ue los rotores recuperen su posicin inicial. $engamos en cuenta 'ue =a> 1.".% posiciones iniciales de los rotores? > %4 com inaciones de tres rotores a partir de los cinco de entre los 'ue se puede elegir. )a potencia del m!todo de criptoanlisis empleado radica en 'ue asta a con rastrear dentro del espacio de posi les configuraciones para encontrar a'uella 'ue lle;ara a ca o la transformacin esperada. +o disponer de dic=o empare8amiento =u iera complicado enormemente el criptoanlisis? tal ;eA =asta el punto de =acerlo fracasar.
-0 -
Algoritmos de Criptografa
$oda la seguridad est asada en la pri;acidad de esta cla;e secreta? llamada simtrica por'ue es la misma para el emisor > el receptor.
-2 -
Algoritmos de Criptografa
&uc=os de los cifrados de producto tienen en com7n 'ue di;iden un lo'ue de longitud n en dos mitades? ) > (. Se define entonces un cifrado de producto iterati;o en el 'ue la salida de cada ronda se usa como entrada para la siguiente seg7n la relacin 9;er figura 2.1::
Li = Ri 1 Ri = Li 1 f 9 Ri 1 ? K i : L n = L n 1 f 9 R n 1 ? K n : R n = R n 1
si i Z n
*ste tipo de estructura se denomina (ed de 3eistel? > es empleada en multitud de algoritmos? como 5*S? )ucifer? 3*A)? CAS$? 1lo[fis=? etc. Para descifrar astar con aplicar el mismo algoritmo? pero con las Mi en orden in;erso.
-14 -
Algoritmos de Criptografa
correspondiente. +ormalmente? cuanto ms grandes sean las S-Ca8as? ms resistente ser el algoritmo resultante? aun'ue la eleccin de los ;alores de salida para 'ue den lugar a un uen algoritmo no es en a soluto tri;ial.
2.2. El Algoritmo
E!
*s el algoritmo sim!trico ms eBtendido mundialmente. Se asa en el algoritmo )IC,3*(? 'ue =a a sido desarrollado por ,1& a principios de los setenta? > fue adoptado como estndar por el -o ierno de los **.II. para comunicaciones no clasificadas en 12.%. *l algoritmo DES codifica lo'ues de %4 its empleando cla;es de "% its. *s una (ed de 3eistel de 1% rondas? ms dos permutaciones? una 'ue se aplica al principio 9P i: > otra 'ue se aplica al final 9Pf :? tales 'ue la segunda es la in;ersa de la primera. )a funcin f 9figura 2.#: se compone de una permutacin de eBpansin 9*:? 'ue con;ierte el lo'ue de #2 its correspondiente en uno de 40. 5espu!s realiAa un or-eBclusi;o con el ;alor M i? tam i!n de 40 its? aplica oc=o S-Ca8as de %H4 its? > efect7a una nue;a permutacin .
Se calcula un total de 1% ;alores de M i 9figura 2.4:? uno para cada ronda? efectuando primero una permutacin inicial *P1 so re la cla;e de %4 its? lle;ando a ca o desplaAamientos a la iA'uierda de cada una de las dos mitades Sde 20 itsS resultantes? > realiAando finalmente una eleccin permutada 9*P2: de 40 its en cada ronda? 'ue ser la M i. )os desplaAamientos a la iA'uierda son de dos its? sal;o para las rondas 1? 2? 2 > 1%? en las 'ue se desplaAa slo un it. +tese 'ue aun'ue la cla;e para el algoritmo 5*S tiene en principio %4 its? se ignoran oc=o de ellos Sun it de paridad por cada >te de la cla;eS? por lo 'ue en la prctica se usan slo "% its.
-11 -
Algoritmos de Criptografa
3igura 2.4.- Clculo de las Mi para el algoritmo 5*S. *P1 representa la primera eleccin permutada? 'ue slo conser;a "% its de los %4 de entrada? > *P2 representa la segunda? 'ue se 'ueda con 40 its. *l signo TZZX representa un desplaAamiento de its a la iA'uierda 9uno o dos dependiendo de la ronda:.
Para descifrar asta con usar el mismo algoritmo empleando las M i en orden in;erso. !enta"as del algoritmo: 1. *s el ms eBtendido en el mundo. 2. *s mu> rpido > fcil de implementar.
2.". #ariantes de E!
A mediados de 8ulio de 1220? una empresa llamada *33 9*lectronic 3rontier 3oundation:? logr fa ricar una m'uina capaA de descifrar un mensa8e 5*S en menos de tres das. *l problema de 5*S radica en 'ue emplea una cla;e demasiado corta 9"% its:? lo cual =ace 'ue con el a;ance actual de los ordenadores los ata'ues por la fuerAa ruta 9o prue a > ensa>o: comiencen a ser opciones realistas. A pesar de ello? 5*S sigue siendo ampliamente utiliAado en multitud de aplicaciones? como por e8emplo las transacciones de los ca8eros automticos. Se =an propuesto ;ariantes de este algoritmo para as apro;ec=ar gran parte de las implementaciones por =ard[are eBistentes de 5*S. 5e ellos el 'ue ca e destacar es:
2.$. Algoritmo I EA
*l algoritmo ,5*A 9,nternational 5ata *ncr>ption Algorit=m: data de 1222. $ra a8a con lo'ues de %4 its de longitud > emplea una cla;e de 120 its. Como en el caso de 5*S? se usa el mismo algoritmo tanto para cifrar como para descifrar.
-12 -
Algoritmos de Criptografa
,5*A es un algoritmo astante seguro? > =asta a=ora se =a mostrado resistente a multitud de ata'ues? entre ellos el criptoanlisis diferencial. Su longitud de cla;e =ace imposi le en la prctica un ata'ue por la fuerAa ruta como se poda =acer en el 5*S. Como ocurre con todos los algoritmos sim!tricos de cifrado por lo'ues? ,5*A se asa en los conceptos de confusin > difusin? =aciendo uso de las siguientes operaciones elementales: D/(. Suma mdulo 21%. Producto mdulo 21% ] 1.
D1 D2 D# D4
D1
D2
D#
D4
*l algoritmo ,5*A consta de oc=o rondas. 5i;idiremos el lo'ue D a codificar? de %4 its? en cuatro partes D1? D2? D# > D4 de 1% its. 5enominaremos Li a cada una de las "2 su cla;es de 1% its 'ue ;amos a necesitar. )as operaciones 'ue lle;aremos a ca o? > 'ue se pueden o ser;ar en la figura 2."? en cada ronda son las siguientes: 1. &ultiplicar D1 por L1. 2. Sumar D2 con L2. #. Sumar D# con L#. 4. &ultiplicar D4 por L4. ". <acer un D/( entre los resultados del paso 1 > el paso #. %. <acer un D/( entre los resultados del paso 2 > el paso 4. .. &ultiplicar el resultado del paso " por L". 0. Sumar los resultados de los pasos % > .. 2. &ultiplicar el resultado del paso 0 por L %. 14. Sumar los resultados de los pasos . > 2. 11. <acer un D/( entre los resultados de los pasos 1 > 2. 12. <acer un D/( entre los resultados de los pasos # > 2. 1#. <acer un D/( entre los resultados de los pasos 2 > 14. 14. <acer un D/( entre los resultados de los pasos 4 > 14.
)a salida de cada iteracin sern los cuatro su - lo'ues o tenidos en los pasos 11? 12? 1# > 14? 'ue sern la entrada del siguiente ciclo? en el 'ue emplearemos las siguientes seis su cla;es? =asta un total de 40. Al final de todo intercam iaremos los dos lo'ues centrales.
-1# -
Algoritmos de Criptografa
5espu!s de la octa;a iteracin? se realiAa la siguiente transformacin: 1. &ultiplicar D1 por L42. 2. Sumar D2 con L"4. #. Sumar D# con L"1. 4. &ultiplicar D4 por L"2. )as primeras oc=o su cla;es se calculan di;idiendo la cla;e de entrada en lo'ues de 1% its. )as siguientes oc=o se calculan rotando la cla;e de entrada 2" its a la iA'uierda > ;ol;iendo a di;idirla? > as sucesi;amente. )as su cla;es necesarias para descifrar se o tienen cam iando de orden las Li > calculando sus in;ersas para la suma o la multiplicacin? seg7n la ta la 2.1. Puesto 'ue 2 1% ] 1 es un n7mero primo? nunca podremos o tener cero como producto de dos n7meros? por lo 'ue no necesitamos representar dic=o ;alor. Cuando estemos calculando productos? utiliAaremos el cero para eBpresar el n7mero 21% Sun uno seguido de 1% cerosS.
-14 -
Algoritmos de Criptografa
)a cla;e tiene una estructura anloga a la del estado? > se representar mediante una ta la con cuatro filas > +\ columnas. Si nuestra cla;e tiene? por e8emplo? 120 its? +\ ser igual a 4 9ta la 2.#:.
\4?4 \1?4 \2?4 \#?4 \4?1 \1?1 \2?1 \#?1 \4?2 \1?2 \2?2 \#?2 \4?# \1?# \2?# \#?#
*l lo'ue 'ue se pretende cifrar o descifrar se traslada directamente >te a >te so re la matriA de estado? siguiendo la secuencia a 4?4? a1?4? a2?4? a#?4? a4?1R? > anlogamente? los >tes de la cla;e se copian so re la matriA de cla;e en el mismo orden? a sa er? \ 4?4? \1?4? \2?4? \#?4? \4?1R. Siendo % el lo'ue 'ue 'ueremos cifrar? > S la matriA de estado? el algoritmo A*S con n rondas 'ueda como sigue: 1. Calcular M4?M1? RMn su cla;es a partir de la cla;e M. 2. S 1 M4 #. Para i G 1 =asta n =acer 4. Aplicar ronda i-!sima del algoritmo con la su cla;e Mi. *l algoritmo de descifrado consistir en aplicar las in;ersas de cada una de las funciones en el orden contrario? > utiliAar los mismos Mi 'ue en el cifrado? slo 'ue comenAando por el 7ltimo. *s un algoritmo resistente al criptoanlisis tanto lineal como diferencial > uno de los ms seguros en la actualidad >a 'ue para recuperar la cla;e a partir de un par teBto cifrado-teBto claro =a> 'ue realiAar una 7s'ueda eB=austi;a.
$a la 2.4: +7mero de rondas para A*S en funcin de los tamaJos de cla;e > lo'ue.
Siendo S la matriA de estado? > M i la su cla;e correspondiente a la ronda i-!sima? cada una de las rondas posee la siguiente estructura: 1. S 1>teSu 9S: 2. S 5esplaAar3ila9S: #. S &eAclarColumnas9S: 4. S Mi S
-1" -
Algoritmos de Criptografa
*stas cuatro funciones estn diseJadas para proporcionar resistencia frente a criptoanlisis lineal > diferencial. Cada una de las funciones tiene un propsito: 3unciones 5esplaAar3ila > &eAclarColumnas permiten o tener un alto ni;el de difusin a lo largo de ;arias rondas. 3uncin 1>teSu consiste en la aplicacin paralela de s-ca8as. )a capa de adicin de cla;e es un simple or-eBclusi;o entre el estado intermedio > la su cla;e correspondiente a cada ronda. )a 7ltima ronda es igual a las anteriores? pero eliminando el paso #. Funcin ByteSub )a transformacin 1>teSu es una sustitucin no lineal 'ue se aplica a cada >te de la matriA de estado? mediante una s-ca8a 0H0 in;erti le? 'ue se o tiene componiendo dos transformaciones: 1. Cada >te 920: genera el polinomio irreduci le m9B: G B 0 ]B4 ]B# ]B]1? > sustituido por su in;ersa multiplicati;a. *l ;alor cero 'ueda inalterado. 2. 5espu!s se aplica la siguiente transformacin afn en -392:? siendo B 4? B1? R? B. los its del >te correspondiente? e >4? >1? R ? >. los del resultado:
)a funcin in;ersa de 1>teSu sera la aplicacin de la in;ersa de la s-ca8a correspondiente a cada >te de la matriA de estado. Funcin DesplazarFila *sta transformacin consiste en desplaAar a la iA'uierda cclicamente las filas de la matriA de estado. Cada fila fi se desplaAa un n7mero de posiciones ci diferente. &ientras 'ue c4 siempre es igual a cero 9esta fila siempre permanece inalterada:? el resto de ;alores ;iene en funcin de + > se refle8a en la ta la 2.".
+ 4 % 0 c1 1 1 1 c2 2 2 # c# # # 4
)a funcin in;ersa de 5esplaAar3ila ser? o ;iamente? un desplaAamiento de las filas de la matriA de estado el mismo n7mero de posiciones 'ue en la ta la 2."? pero a la derec=a.
-1% -
Algoritmos de Criptografa
Funcin MezclarColumnas Para esta funcin? cada columna del ;ector de estado se considera un polinomio cu>os coeficientes pertenecen a -3920: > se multiplica mdulo B4 ] 1 por: c9B: G 4#B4 ] 41B2 ] 41B ] 42 donde 4# es el ;alor =eBadecimal 'ue se o tiene concatenando los coeficientes inarios del polinomio correspondiente en -3920:? en este caso 44444411? o sea? B]1? > as sucesi;amente. )a in;ersa de &eAclarColumnas se o tiene multiplicando cada columna de la matriA de estado por el polinomio: d9B: G 41B4 ] 45B2 ] 42B ] 4*
-1. -
Algoritmos de Criptografa
3igura 2.%: (elleno 9padding: de los >tes del 7ltimo lo'ue al emplear un algoritmo de cifrado por lo'ues.
*n segundo lugar? como =emos comentado? los algoritmos sim!tricos encriptan lo'ues de teBto aplicando cifrados de lo'ues. *l tamaJo de los lo'ues puede ser constante o ;aria le seg7n el tipo de algoritmo. $ienen 4 formas de funcionamiento:
!enta"as: $ Permite codificar los lo'ues independientemente de su orden? lo cual es adecuado para codificar ases de datos o fic=eros en los 'ue se re'uiera un acceso aleatorio. $ $am i!n es resistente a errores? pues si uno de los lo'ues sufriera una alteracin? el resto 'uedara intacto. Des(enta"as: $ Si el mensa8e presenta patrones repetiti;os? el teBto cifrado tam i!n los presentar? > eso es peligroso? so re todo cuando se codifica informacin mu> redundante 9como fic=eros de teBto:? o con patrones comunes al inicio > final 9como el correo electrnico:. 3rgil mediante ata'ue estadstico.
-10 -
Algoritmos de Criptografa
/tro riesgo astante importante 'ue presenta el modo *C1 es el de la sustitucin de lo'ues. *l atacante puede cam iar un lo'ue sin ma>ores pro lemas? > alterar los mensa8es incluso desconociendo la cla;e > el algoritmo empleados. Simplemente se escuc=a una comunicacin de la 'ue se conoAca el contenido? como por e8emplo una transaccin ancaria a nuestra cuenta corriente. )uego se escuc=an otras comunicaciones > se sustitu>en los lo'ues correspondientes al n7mero de cuenta del eneficiario de la transaccin por la ;ersin codificada de nuestro n7mero.
Pero? dos mensa8es id!nticos se codificarn de la misma forma usando el modo C1C? por lo 'ue se emplea un ;ector de inicialiAacin? como lo'ue inicial de la transmisin. *ste ;ector ser descartado en destino? pero garantiAa 'ue siempre los mensa8es se codifi'uen de manera diferente? aun'ue tengan partes comunes. Para decodificar se in;ierte el proceso
-12 -
Algoritmos de Criptografa
-24 -
Algoritmos de Criptografa
-21 -
Algoritmos de Criptografa
/tra aplicacin de los algoritmos asim!tricos es la autentificacin de mensajes 'ue nos permiten o tener una firma digital a partir de un mensa8e. 5ic=a firma es muc=o ms pe'ueJa 'ue el mensa8e original? > es mu> difcil encontrar otro mensa8e 'ue de lugar a la misma. *8emplo: Supongamos 'ue A reci e un mensa8e m de 1 > 'uiere compro ar su autenticidad. Para ello 1 genera un resumen del mensa8e r9m: 9;er figura #.2: > lo codifica empleando la cla;e de cifrado? 'ue en este caso ser pri;ada.
)a cla;e de descifrado se =a r =ec=o p7 lica pre;iamente? > de e estar en poder de A. 1 en;a entonces a A el criptograma correspondiente a r9m:. A puede a=ora generar su propia r 49m: > compararla con el ;alor r9m: o tenido del criptograma en;iado por 1. Si coinciden? el mensa8e ser aut!ntico? puesto 'ue el 7nico 'ue posee la cla;e para codificar es precisamente 1. *n este caso la cla;e 'ue se emplea para cifrar es la cla;e pri;ada.
-22 -
Algoritmos de Criptografa
4. *ncontrar e tal 'ue eBdG 1 mod A Con estos parmetros calculados por adelantado? estamos listos para comenAar el cifrado. 5i;idimos el teBto normal 9considerado como una cadena de its: en lo'ues? para 'ue cada mensa8e de teBto normal? P? caiga en el inter;alo 4ZPZn? *sto puede =acerse agrupando el teBto normal en lo'ues de \ its? donde \ es el entero ms grande para el 'ue 2 \Zn es ;erdad. Para cifrar un mensa8e? P? calculamos CGP e9mod n:. Para descifrar C? calculamos PGC d9mod n:. Puede demostrarse 'ue? para todos los P del inter;alo especificado? las funciones de cifrado > descifrado son in;ersas. Para e8ecutar el cifrado? se necesitan e > n. Para lle;ar a ca o el descifrado se re'uieren d > n. Por tanto? la cla;e p7 lica consiste en el par 9e?n: > la cla;e pri;ada consiste en 9d?n:. 5e acuerdo con los descu ridores del (SA? la factoriAacin de un n7mero de 244 dgitos re'uiere 4 mil millones de aJos de tiempo de cmputoY la factoriAacin de un n7mero de "44 dgitos re'uiere 142" aJos. *n am os casos se supone el me8or algoritmo conocido > un ordenador con un tiempo de instruccin de 1 microsegundo. Aun si los ordenadores contin7an aumentando su ;elocidad? pasarn siglos antes de 'ue sea facti le la factoriAacin de un n7mero de "44 dgitos? > entonces simplemente se puede escoger un p > un ' toda;a ms grandes. In e8emplo del algoritmo (SA se puede ;er en la figura siguiente:
Para este e8emplo =emos seleccionado pG# > 'Gll? dando nG## > AG24. In ;alor adecuado de d es dG.? puesto 'ue . > 24 no tienen factores comunes. Con estas selecciones? e puede encontrarse resol;iendo la ecuacin .eG19mod 24:? 'ue produce eG#. *l teBto cifrado C? de un mensa8e de teBto normal? P? se da por la regla CGP #9mod ##:. *l teBto cifrado lo descifra el receptor de acuerdo con la regla PGC.9mod ##:. *n la figura se muestra como e8emplo el cifrado del teBto normal ,su)anne,+ 5ado 'ue los n7meros primos escogidos para el e8emplo son tan pe'ueJos? P de e ser menor 'ue ##? por lo 'ue cada lo'ue de teBto normal puede contener slo un carcter. *l resultado es un cifrado por sustitucin monoalfa !tica? no mu> impresionante. *n cam io? si =u i!ramos seleccionado p > ' del orden de 14 144 podramos tener n del orden de 14 244? para 'ue cada lo'ue pueda ser de =asta %%4 its u 0# caracteres de 0 its? contra 0 caracteres para el 5*S. Sin em argo? el algoritmo (SA es demasiado lento para poder cifrar grandes ;ol7menes de datos? por lo cual suele usarse para distri uir cla;es de sesin de una sola ;eA para su uso con 5*S? ,5*A u otros algoritmo s seme8antes.
-2# -
Algoritmos de Criptografa
Aparte de factoriAar n? podramos intentar calcular b 9n: directamente? o pro ar por la fuerAa ruta tratando de encontrar la cla;e pri;ada. Am os ata'ues son ms costosos computacionalmente 'ue la propia factoriAacin de n.
)a 7nica manera de e;itar esto consiste en asegurar a A 'ue la cla;e p7 lica 'ue tiene de 1 es aut!ntica. Para ello estn los certificados de confianAa? 'ue certifican la autenticidad de la cla;e. - .taques de #e&to en -laro Escogido *Biste un ata'ues a (SA eBplotando la posi ilidad de 'ue un usuario codifi'ue > firme un 7nico mensa8e empleando el mismo par de cla;es. Para 'ue el ata'ue surta efecto? la firma de e =acerse codificando el mensa8e completo? no el resultado de una funcin resumen so re !l. Por ello se recomienda 'ue las firmas digitales se lle;en a ca o siempre so re una funcin resumen del mensa8e? nunca so re el mensa8e en s. - 0irmar ' -odificar +unca se de e firmar un mensa8e despu!s de codificarlo >a 'ue eBisten ata'ues 'ue apro;ec=an este =ec=o.
-24 -
Algoritmos de Criptografa
*s un algoritmo asim!trico? asado en el pro lema de 5iffie-<ellman? 'ue se emplea fundamentalmente para acordar una cla;e com7n entre dos interlocutores? a tra;!s de un canal de comunicacin inseguro. )a ;enta8a de este sistema es 'ue no son necesarias cla;es p7 licas en el sentido estricto? sino una informacin compartida por los dos comunicantes. Sean A > 1 los interlocutores en cuestin. *n primer lugar? se calcula un n7mero primo p > un generador c de LHp? con 2 ^ c ^ p-2. *sta informacin es p7 lica > conocida por am os. *l algoritmo 'ueda como sigue:
1. 2. #. 4.
A escoge un n7mero aleatorio B? comprendido entre 1 > p-2 > en;a a 1 el ;alor c B 9mod p: 1 escoge un n7mero aleatorio >? como en el paso anterior? en;a a A el ;alor c > 9mod p: 1 recoge c B > calcula M G 9c B:> 9mod p:. A recoge c > > calcula M G 9c >:B 9mod p:.
Puesto 'ue B e > no ;ia8an por la red? al final A > 1 aca an compartiendo el ;alor de M? sin 'ue nadie 'ue capture los mensa8es transmitidos pueda repetir el clculo.
-2" -
Algoritmos de Criptografa
*l sistema de cla;e asim!trica de (a in se asa en el pro lema de calcular races cuadradas modulo un n7mero compuesto. *ste pro lema se =a demostrado 'ue es e'ui;alente al de la factoriAacin de dic=o n7mero. *n primer lugar escogemos dos n7meros primos? p > '? am os congruentes con # mdulo 4 9los dos 7ltimos its a 1:. *stos primos son la cla;e pri;ada. )a cla;e p7 lica es su producto? n 1 pq+ Para codificar un mensa8e m? simplemente se calcula c G m2 9mod n: )a decodificacin del mensa8e se =ace calculando lo siguiente: m1 G c9p]1: _ 4 9mod p: m2 G 9p - c9p]1: _ 4: 9mod p: m# G c9']1: _ 4 9mod ': m4 G 9' - c9']1: _ 4: 9mod ': )uego se escogen a > tales 'ue a G '9'-1 9mod p:: > b G p9p-1 9mod '::. )os cuatro posi les mensa8es originales son ma G 9am1 ] m#: 9mod n: m G 9am1 ] m4: 9mod n: mc G 9am2 ] m#: 9mod n: md G 9am2 ] m4: 9mod n: 5esgraciadamente? no eBiste ning7n mecanismo para decidir cul de los cuatro es el aut!ntico? por lo 'ue el mensa8e de er incluir alg7n tipo de informacin para 'ue el receptor pueda distinguirlo de los otros.
-2% -
Algoritmos de Criptografa
4. Calcular s G \-19= ] ar: mod '. ". )a firma del mensa8e m es el par 9r? s:. *l destinatario efectuar las siguientes operaciones? suponiendo 'ue conoce la cla;e p7 lica 9p? '? c ? >:? para ;erificar la autenticidad de la firma: 1. 6erificar 'ue 4 Z r Z ' > 4 Z s Z '. *n caso contrario? rec=aAar la firma. 2. Calcular el ;alor de = a partir de m. #. Calcular = s 1 mod q . 4. Calcular u1 G H = mod ' > u2 G H r mod '. ". Calcular ; G 9cu1>u2 mod p: mod '. %. Aceptar la firma si > slo si ; G r.
-2. -
+i-liograf.a
)as siguientes paginas [e contienen informacin so re criptografa > sus algoritmos: =ttp:__[[[.toptutoriales.com 9;isitado 4%_12_42: =ttp:__rincon'ue;edo.iespana.es_rincon'ue;edo_Criptografia 9;isitado 4%_12_42: =ttp:__[[[di.u8aen.es_dmlucena 9;isitado 4%_12_42: Apuntes de la asignatura ASS5 de "E curso Apuntes de (edes de la asignatura de 4E curso =ttp:__'uetAal.uis.edu.co_ciee-=tml_ i liotecae;irtual_criptografia_cripto.pdf 4%_12_42:
9;isitado