You are on page 1of 6

Criptografía de clave asimétrica

Durante miles de años, la criptografía simétrica ha sido la única existente. Pero en los 70, dos
científicos llamados Diffie y Hellman descurieron un nue!o método llamado criptografía de cla!e
asimétrica "o de cla!e púlica#.
Para la comunicaci$n entre personas %ue no se conocen, la criptografía simétrica es muy incon!eniente.
&dem's, la comunicaci$n entre !arias personas re%uiere una cla!e por cada par. (uando hay muchas
personas, la criptografía simétrica no es !iale.
)n la criptografía asimétrica existen dos cla!es, llamémoslas *
p!
"cla!e pri!ada# y *
p
"cla!e púlica#.
+upongamos %ue llamamos )"m,,# al algoritmo de cifrado para el mensa-e m, empleando la cla!e ,, y
D"x,,# el algoritmo de descifrado para el mensa-e x y la cla!e ,. )ntonces de cumple lo siguiente.
D")"m,,
p!
#,,
p
# / D")"m,,
p
#,,
p!
# / m
)l nacimiento de la criptografía asimétrica se dio al estar uscando un modo m's pr'ctico de
intercamiar las lla!es simétricas Diffie y Hellman, proponen una forma para hacer esto. +in emargo
no fue hasta %ue el popular método de 0i!est +hamir y &dleman 0+& pulicado en 1273, cu'ndo toma
forma la criptografía asimétrica. +u funcionamiento esta asado en la imposiilidad computacional de
factori4ar números enteros grandes. Por e-emplo, !er's %ue estas dos operaciones implican un esfuer4o
muy diferente a pesar de ser los mismos números.
• 5tener los factores primos de 677.
• 8ultiplicar 179:1.
Algoritmos de criptografía asimétrica
&lgunos algoritmos de criptografía asimétrica son Diffie;Hellman, 0+&, D+& o )l<amal.
RSA utili4a el prolema matem'tico de la factori4aci$n de un número entero n grande "107= its#. )ste
número entero se sae es producto de dos números primos p y % de la misma longitud. )ntonces la
cla!e púlica es el número n y la pri!ada es "p,%#. )l tamaño de la lla!e púlica deería ser mas grande
%ue 107= its para un m'rgen ra4onale de seguridad. >la!es de tamaño, sopongamos, de 70=3 its
deerían rindar seguridad por muchos años.
DSA "Digital +ignature &lgorithm# es un est'ndar del <oierno ?ederal de los )stados @nidos para
firmas digitales. ?ue un &lgoritmo propuesto por el Anstituto Bacional de Bormas y Cecnología de los
)stados @nidos para su uso en su )st'ndar de ?irma Digital"D++#, especificado en el ?AP+ 13D. D+&
se hi4o púlico el :0 de agosto de 1221, este algoritmo como su nomre lo indica, sir!e para firmar y
no para cifrar informaci$n. @na des!enta-a de este algoritmo es %ue re%uiere mucho m's tiempo de
c$mputo %ue 0+&.
)l protocolo Diffie;Hellman, deido a Ehitfield Diffie y 8artin Hellman, es un protocolo de
estalecimiento de cla!es entre partes %ue no han tenido contacto pre!io, utili4ando un canal inseguro,
y de manera an$nima "no autenticada#. +e emplea generalmente como medio para acordar cla!es
simétricas %ue ser'n empleadas para el cifrado de una sesi$n "estalecer cla!e de sesi$n#. +iendo no
autenticado, sin emargo, pro!ee las ases para !arios protocolos autenticados. +u seguridad radica en
la extrema dificultad "con-eturada, no demostrada# de calcular logaritmos discretos en un cuerpo finito.
)l procedimiento de cifradoFdescifrado )l<amal se refiere a un es%uema de cifrado asado en
prolemas matem'ticos de logaritmos discretos. )s un algoritmo de criptografía asimétrica asado en la
idea de Diffie;Hellman y %ue funciona de una forma parecida a este algoritmo discreto. )l algoritmo de
)l<amal puede ser utili4ado tanto para generar firmas digitales como para cifrar o descifrar. ?ue
descrito por Caher )lgamal en 123= y se usa en softGare <B@ Pri!acy <uard, !ersiones recientes de
P<P, y otros sistemas criptogr'ficos. )ste algoritmo no esta a-o ninguna patente lo %ue lo hace de uso
lire.
Ventajas y desventajas del cifrado asimétrico
)l tamaño de la cla!e es una medida de la seguridad del sistema, pero no se puede comparar el tamaño
de la cla!e del cifrado simétrico con el cifrado de la cla!e púlica para medir la seguridad.
)n un ata%ue de fuer4a ruta sore un cifrado simétrico con una cla!e de 30 its, el tacante dee proar
hasta 7
30
;1 cla!es para encontrar la cla!e correcta.
)n camio, en el cifrado asimétrico, con una cla!e de 617 its, el atacante dee factori4ar un número
compuesto codificado en 617 its. 8ientras 173 its pueden ser suficientes para los cifrados simétricos,
en el cifrado se recomienda el uso de cla!es púlicas de 107= its.
>a !enta-a principal del cifrado asimétrico, es %ue se emplean dos cla!es diferentes, de forma %ue la
cla!e púlica se puede distriuir sin poner en riesgo la pri!acidad de los mensa-es cifrados. Pero
tamién tiene astantes des!enta-as.
• >os algoritmos son mucho m's lentos %ue los de cifrado simétrico para la misma longitud de
cla!e.
• >as cla!es deen ser de mayor tamaño.
• )l mensa-e cifrado ocupa m's espacio %ue el original.
Criptografía híbrida
)l cifrado asimétrico ralenti4a el proceso de cifrado. Por eso, para la comunicaci$n cifrada se suele
cominar la criptografía simétrica y asimétrica.
• Para intercamiar la cla!e simétrica, se utili4a criptografía asimétrica. )sta cla!e es llamada
cla!e de sesi$n.
• @na !e4 intercamiada la cla!e de sesi$n de forma secreta, se emplea la criptografía simétrica
para el intercamio de mensa-es.
De esta forma conseguimos tanto confidencialidad como integridad. &ún nos %ueda resol!er el
prolema de la autenticación y el no repudio.
l cifrado asimétrico en la pr!ctica
)xisten distintas herramientas para aplicar los algoritmos de cifrado asimétrico, %ue pueden utili4ar los
usuarios para proteger sus mensa-es. )ntre ellas tenemos P<P, "#", ++H, ++> y C>+.
"#" y la criptografía asimétrica
Para generar un par de cla!es con <P< se utili4a la opci$n ;;gen;,ey. & partir de este momento, el
usuario dee ir respondiendo a preguntas %ue <P< le har', para decidir los detalles de las cla!es.
H gpg ;;gen;,ey gpg "<nuP<# 1.=.10I (opyright "(# 7003 ?ree +oftGare ?oundation, Anc. Chis is free
softGare. you are free to change and redistriute it. Chere is B5 E&00&BCJ, to the extent permitted
y laG. Por fa!or seleccione tipo de cla!e deseado. "1# 0+& y 0+& "predeterminado# "7# D+& y
)lgamal ":# D+& "s$lo firmar# "=# 0+& "s$lo firmar# K+u selecci$nL.
Haría %ue responder con el algoritmo deseado.
las cla!es 0+& pueden tener entre 107= y =02D its de longitud. KDe %ué tamaño %uiere la cla!eL
"70=3# 70=3 )l tamaño re%uerido es de 70=3 its Por fa!or, especifi%ue el período de !alide4 de la
cla!e. 0 / la cla!e nunca caduca
+i respondemos M1mM, la respuestas ser'.
>a cla!e caduca s' 0= fe 7017 70.07.63 ()C K)s correctoL "sFn#
0esponderemos afirmati!amente. & continuaci$n se pide el identificador de usuario para identificar la
cla!e. Deemos responder con los datos %ue se piden.
Becesita un identificador de usuario para identificar su cla!e. )l programa construye el identificador a
partir del Bomre 0eal, (omentario y Direcci$n de (orreo electr$nico de esta forma. MHeinrich Heine
"Der Dichter#
0espondemos con MNM, y continuamos
Becesita una frase contraseña para proteger su cla!e secreta. )nter passphrase.
Deemos introducir una contraseña, o m's ien una passphrase.
)s necesario generar muchos ytes aleatorios. )s una uena idea reali4ar alguna otra tarea "traa-ar en
otra !entanaFconsola, mo!er el rat$n, usar la red y los discos# durante la generaci$n de números primos.
)sto da al generador de números aleatorios mayor oportunidad de recoger suficiente entropía. Bo hay
suficientes ytes aleatorios disponiles. Por fa!or, haga algún otro traa-o para %ue el sistema pueda
recolectar m's entropía "se necesitan 773 ytes m's#. .OOOOO ....OOOOO )s necesario generar muchos
ytes aleatorios. )s una uena idea reali4ar alguna otra tarea "traa-ar en otra !entanaFconsola, mo!er el
rat$n, usar la red y los discos# durante la generaci$n de números primos. )sto da al generador de
números aleatorios mayor oportunidad de recoger suficiente entropía. Bo hay suficientes ytes
aleatorios disponiles. Por fa!or, haga algún otro traa-o para %ue el sistema pueda recolectar m's
entropía "se necesitan 27 ytes m's#. ....OOOOO Bo hay suficientes ytes aleatorios disponiles. Por
fa!or, haga algún otro traa-o para %ue el sistema pueda recolectar m's entropía "se necesitan 11= ytes
m's#. ......OOOOO gpg. cla!e 1667??P? marcada como de confian4a asoluta cla!es púlica y secreta
creadas y firmadas. gpg. comproando ase de datos de confian4a gpg. : dudosa"s# necesarias, 1
completa"s# necesarias, modelo de confian4a P<P gpg. ni!el. 0 !alide4. 7 firmada. 0 confian4a. 0;, 0%,
0n, 0m, 0f, 7u gpg. siguiente comproaci$n de ase de datos de confian4a el. 7017;07;0= pu
70=30F1667??P? 7017;01;06 QQcaduca. 7017;07;0=RR Huella de cla!e / =761 ?)?P )P22 1?&: :=)D
363D D6&7 :2P7 1667 ??P? uid 8auricio 8atamala "mauri#
Durante el proceso de generaci$n de la cla!e, gpg pide %ue se realicen !arias tareas adicionales "arir
archi!os, mo!er !entanas, mo!er el rat$n# para %ue los e!entos relacionados contriuyan a la entropía
de la misma.
Pr'ctica 7. (rear un par de cla!es púlica;pri!ada empleando <P<. >a cla!e dee tener un periodo de
!alide4 de 1 mes.
Certificado de revocación
)n ocasiones, la cla!e pri!ada puede !erse comprometida, o el usuario ol!idar la contraseña. )n tal
caso, es preciso emitir un certificado de re!ocaci$n para la cla!e púlica. )s con!eniente generar dicho
certificado cuanto antes, puesto %ue si después se pierde la cla!e pri!ada, o se ol!ida la contraseña, no
se podr' generar. +upongamos %ue dispongo de los siguientes anillos de cla!es púlicas "en concreto
solo una cla!e púlica, la %ue cree hace un momento#.
H gpg ;;list;,eys FhomeFmauriF.gnupgFpuring.gpg ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pu 70=30F1667??P?
7017;01;06 QQcaduca. 7017;07;0=RR uid 8auricio 8atamala "mauri#
)ntonces, para crear el certificado de re!ocaci$n para la cla!e púlica, 1667??P?.
H gpg ;;output re!ocacion;1667??P?.asc ;;gen;re!o,e 1667??P?
Visuali$ar el anillo de claves p%blicas
Para poder otener un listado del contenido del archi!o "anillo# de cla!es púlicas, e-ecutamos el
comando gpg con la opci$n ;;list;,eys.
H gpg ;;list;,eys FhomeFmauriF.gnupgFpuring.gpg ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pu 70=30F1667??P?
7017;01;06 QQcaduca. 7017;07;0=RR uid 8auricio 8atamala "mauri#
&portación de una clave p%blica
Para %ue un interlocutor pueda cifrar con nuestra cla!e púlica, primero deemos exportar la cla!e
púlica desde nuestro anillo de cla!es púlicas a un archi!o. Para ello, haremos los siguiente.
H gpg ;;output mauri.gpg ;;export mauriciomatamalaShotmail.com
)l archi!o exportado, mauri.gpg, est' en inario. Para poder exportarlo en c$digo ascii, utili4aremos el
siguiente comando.
H gpg ;;armor ;;output mauri.asc ;;export mauriciomatamaShotmail.com
De forma %ue el contenido sería como el siguiente.
;;;;;P)<AB P<P P@P>A( *)J P>5(*;;;;; Nersion. <nuP< !1.=.10 "<B@F>inux#
mT)BP)3?OaAP(&(DH0PF:E=J,pu1,n?fD,dBrU8mV5t1liOa3&<d37eD1%ft2Vn
Pt>-0E4rO:NiGi:x>8p1yT4DHhcnm7xPaAif5+yT47x>a*sH)ou>OyWU7Plu,N
?x-2n7-7p)27i6rB<Ph2<Uca&2m)iOD)m0p*0@d?rPm16HV:O>un7,l%:7isA,i
J=FG63Ds&7-nT@@4&ax6<%-aVf(p<8?8t1-6m@)ihFV+mfff5o-WV0-)nla7pBHD
D73gs>6Efy2Vu*E8u10ePoV?VTP0DGFt!?!=a10c>Hs*cfBfJ4P+(n)DPDPiWtF
e%,V7-AU(PtDrmPT>7gtpulT%sW62pV?%@f&P)P&&<05)1hdWVpJ7l!A)1hd<?t
JExhA(htJWNya+,gP<1hdWVpJ7l!E?0JE1h<?&a<20E?p(6-70OiT)OPP8P
&g&oPTVPPfmi&hsDPT,&V=0&PgsV(&cD&gJN(&AV(gs)?gAD&TAe&TAWg&&*(0DN
p4my?NfF!=7TPF0cf?!@<7GsPVg712s7GtdDo0CODdDU3D7yH3p%FU5UfFPP?d15
@t6JH=3PJ5nFc?m(l>u!*>=Byh5D781*>cJ0=o)n)1DPF525&43%-&oED<y-DP=
Pr:s(e-7@fB*),*E-oTy:3ls%36!Pd%fx:xCl3&hoVl,POe78l@%WTl20yC4:47F
A5ttDr%DpG3>7Wt=(eE(uBeTPVG@@@0h0h@U+(iHi5!0>8:F@Cny10s0J,yrfWF
5AmBNBCO>7ui?rVO3%7s&2oxl<43m7J@:=8u?3VHO<mgpm-a%ly:DF5%25Um&*@!
O3c1EDJG7,03f:6G-W:J&>47uf8*1E?<1y00uT)BP)3?OaAP(&Deu=xt=&3=iH1J
,FDsF8E&Fh&rx0%+o?PG+cc1us-erWrPOW)nlU%HPV7T@&)D>N-@Fo1F<U@7@?>a
%aC3:siWF@U8TN@f:!+n-dcfp<cryT7=VF33F1pd2GxDnr,5hGNNsW@P8u@rxJU
7N4P76A?*GUGU+,,uO)-da7,P1*W)f=P=&fo:Ci44h88f*6guNePWoil@>Odf5
yTJooaONN?3+EE<GmJxT35A)=2?>EDTpF04Bm8)6FoWH<%B-iBNng5nUielG!u<G
1m%2,Df%U2%(d!i0*r8Tpr+FnsBu6,-<D7u33D>mt2Ar0f>=68)=x()e4p!h%=h0
m%sHfr!d&P)P&&<V&+@)<&)(&&3?&,3?OaA(<GG?(T&n-T&&(g,T1ac6shNWF73<
fgg&sFs7GgF0WPalGnD0<(FoP,cVGC%DA(%x0)0VB1P&DhJf:>&TP03A53sroOP
pfuE:F%%03CeWNm?:UF,g!oB16Flc:O)6)ufH&3D0:p5reTO?0dxe6W)CoHplmfn
*)mB!?)gWrl2C<)70PpU14f@006*t<V@EU7J7>-a:%lAV0BPo=%crPC5TpExVgx
O<D,f4043Gc<@:n(0%WDfDiD!WDC2DdB7y5*gC6V5A0eDCD8<4ATPE,GP0?,c&
:6B6=0e74PD&lf<e0>4PAolC,NTD&68,6lC&ghx,=PUOlWlainn3&5(fr@%*7
4eE3!c2ECx7B&!?p>WeWf@hg4T// /a76U ;;;;;)BD P<P P@P>A( *)J P>5(*;;;;;
Camién se puede exportar la cla!e pri!ada mediante el comando gpg ;;armor ;;output pri!ada.asc
;;export;secret;,ey mauriciomatamalaShotmail.com
)sta cla!e púlica dee ser compartida con los usuarios %ue deseen comunicarse conmigo de manera
segura. +upongamos %ue deseo %ue ?ulano de (uadros me pueda en!iar mensa-es cifrados con mi
cla!e púlica. )ntonces, ?ulano dee copiar mi cla!e púlica, guardarla en un archi!o, e importarla a
su anillo de cla!es púlicas.
H gpg ;;import mauri.gpg
Servidores de claves p%blicas
@na forma de distriuir una cla!e púlica es mediante un ser!idor de cla!es púlicas. Por e-emplo,
pgp.rediris.es. Para remitir nuestra cla!e, deemos hacer lo siguiente.
gpg ;;send;,eys ;;,eyser!er pgp.rediris.es
Para hacer una ús%ueda de cla!es púlicas %ue %ueramos añadir a nuestro anillo de cla!es púlicas,
podemos uscar en http.FFGGG.rediris.esF,eyser!erF. 5 ien deemos e-ecutar lo siguiente.
gpg ;;,eyser!er pgp.rediris.es ;;rec!;,eys 1667??P?
KTué pasa si se me ol!ida mi contraseña o pierdo mi cla!e pri!adaL )n este caso, o en el caso de
nuestra cla!e haya sido comprometida, tenemos %ue generar un certificado de re!ocaci$n, como !imos
anteriormente. >uego importamos el certificado de re!ocaci$n.
gpg ;;import re!ocacion.asc
... y lo suimos al ser!idor de cla!es "elegiremos 0edA0A+ de nue!o#.
gpg ;;,eyser!er pgp.rediris.es ;;send;,eys 1667??P?
@na !e4 suida la cla!e al ser!idor, ésta ya no ser!ir' para firmar, sino solamente para arir mensa-es
cifrados antiguos.
Cifrado'descifrado de documentos
+uponiendo %ue deseo en!iar un mensa-e cifrado a ?ulano de (uadros, primero he deido importar su
cla!e púlica. De este modo, mi anillo de cla!es púlicas ser' como el siguiente.
H gpg ;;list;,eys FhomeFmauriF.gnupgFpuring.gpg ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pu 70=30F1667??P?
7017;01;06 QQcaduca. 7017;07;0=RR uid 8auricio 8atamala "mauri#
& continuaci$n, para en!iar un mensa-e cifrado a ?ulano de (uadros, necesito contar con el mensa-e.
Pongamos por caso, %ue tengo un archi!o, llamado Mmensa-e.txtM con el contenido siguiente. M>a
contraseña de administrador del dominio es 6up:0#e*r:t0XM. )ntonces, el cifrado de dicho mensa-e se
har' del siguiente modo.
H gpg ;;armor ;;output mensa-e.asc ;;encrypt ;;recipient fulano.cuadrosSmimail.com mensa-e.txt
+e pueden indicar m's de un recipiente a la !e4. Por e-emplo. gpg ;;armor ;;output mensa-e.asc
;;encrypt ;;recipient fulano.cuadrosSmimail.com ;;recipient 4utano.copasSmimail.com mensa-e.txt.
)l mensa-e generado es como lo siguiente.
;;;;;P)<AB P<P 8)++&<);;;;; Nersion. <nuP< !1.=.10 "<B@F>inux#
hT)8&x00iDD<P)r&Tf2HGVy%yW0fD,xCedh?T01+0n5?x?WDeN>ToT7<4HiDndD