Você está na página 1de 12

CRYPT4YOU

DOCUMENTOANEXOALALECCIN1
DELCURSO"ELALGORITMORSA"
EJERCICIOSYPRCTICASPROPUESTOSYRESUELTOS

Autor:Dr.JorgeRamiAguirre
Fechadepublicacin:15demarzode2012
Fechadeactualizacin:26demarzode2012

TABLADECONTENIDOS

LECCIN1.LOSPRINCIPIOSDELALGORITMORSA....................................................................2
Apartado1.2.LaseguridaddelalgoritmoRSA...........................................................................2
ejercicioRSA1.2.1...........................................................................................................................2
prcticaRSA1.2.1...........................................................................................................................3
prcticaRSA1.2.2...........................................................................................................................4
Apartado1.3.EsquemadegeneracindeclavesRSAcondosusuariosAliciayBernardo......5
ejercicioRSA1.3.1...........................................................................................................................5
ejercicioRSA1.3.2...........................................................................................................................6
prcticaRSA1.3.1...........................................................................................................................7
prcticaRSA1.3.2...........................................................................................................................8
Apartado1.4.OperacionesdecifradoydescifradoRSAentreAliciayBernardo.....................9
ejercicioRSA1.4.1...........................................................................................................................9
prcticaRSA1.4.1.........................................................................................................................10
prcticaRSA1.4.2.........................................................................................................................11
prcticaRSA1.4.3.........................................................................................................................11
Apartado1.5.OperacionesdefirmaycomprobacindefirmaRSAentreAliciayBernardo12
prcticaRSA1.5.1.........................................................................................................................12

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina1

LECCIN1.LOSPRINCIPIOSDELALGORITMORSA
Apartado1.2.LaseguridaddelalgoritmoRSA

ejercicioRSA1.2.1

Hagamosunasencillapruebaquenospermitacomprenderestetipodeproblema.
Sitepropongoquemultipliquesestosprimosdeuno,dos,tresycuatrodgitos,notesermuy
complicadohaceresosclculos.Esos,deberasusarpapelylpiz,nounacalculadora:
2x5=______;31x53=______;401x599=______;3.911x8.009=______
Encontrarsquelosproductosson:
2x5=10;31x53=1.643;401x599=240.199;3.911x8.009=31.323.199.
Enlosdosltimoscasoshastenidoquetrabajarbastantemsporquelaentradaha
aumentadodetamao.
Sinembargo,ahoratepidoqueencuentresotravezsincalculadoraculessonlosdosprimos
quedancomoproductolossiguientesnmeroscompuestosdedos,cuatro,seisyochodgitos:
21=pxq=____;2.183=pxq=____;245.809=pxq=____;1.379.087=pxq=____
versquenolotienestanfcilyaenelsegundonmeroporqueloprimeroquesenosocurre
eshacerlaCribadeEratstenes(verenlace),preguntandosielnmeroesdivisiblepor2,3,5,
7,11,...etc.,yesoconllevaunagrancantidaddeoperaciones,yobviamentetambintiempo.
Web:http://amigosdelamatematica.blogspot.es/1202842500/
Conunpocodepaciencia,yenelltimocasomuchsimotiempo,encontraramosquesetrata
delosproductosentrelosprimosinmediatamentesuperioresalosqueseusaronenla
multiplicacinprevia.Esdecir:
21=3x72.183=37x59245.809=409x60131.379.087=3.917x8.011
PodemoscomprobarestosvaloresbuscandoenGoogleunatablaconlos10.000primeros
primosenlasiguientedireccin.
Web:http://mimosa.pntic.mec.es/jgomez53/matema/conocer/10000_primos.htm
Obviamenteexistenalgoritmosdefactorizacinmuchomejoresyeficientesqueste,perono
correspondetratarlosaqu.

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina2

prcticaRSA1.2.1

Descargaelsoftwarefactor.exedesdelazonadedescargadesoftwarebsicodecriptografa
enCriptoredeinstlalopreferentementeenunacarpetaquesellameC:\Criptolab\Factor.
EsteprogramafuncionadesdeMSDOSenmodocomando,porloquedebesejecutarlodesde
esaventanadelsistema,nohaciendodobleclicenelicono.
SW:http://www.criptored.upm.es/paginas/software.htm#freeware
Encuentralosfactorespyqdelossiguientesnmeroscompuestosde20,30,40,50y60
dgitos,yobservacmoaumentaeltiempodeclculoamedidaquelaentradaesmayor.

Valor:33133186298394380609
Valor:353468949918651760076444331007
Valor:4939465393270238211792312218802539046221
Valor:44157175210767964375159342048568776952709498262057
Valor:186021856526654398956758392266490596049998851859805164441239

Hazunagrficadeltiempoempleadoporelprogramaenfactorizaresosnmerosenfuncin
delnmerodedgitosdelaentrada.Sacaluegoconclusiones.
Ayuda:usalaopcincopiarypegarelnmerousandoelbotnderechodelratn,noCtrlV.
Enelltimocaso,deberatardarmenosdeunminuto.

MendeAyudadelprogramafactor.exeanteelcomandofactor(Enter)

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina3


prcticaRSA1.2.2

UsaahoraelsoftwareFortalezadecifradosparacomprobarque,encambio,lamultiplicacin
denmerosgrandestieneuncomportamientopolinomialyademsesmuyrpido.Descarga
elsoftwareeinstlaloenlacarpetaCriptolab,esdecir,C:\Criptolab\Fortaleza.
SW:http://www.criptored.upm.es/software/sw_m001e.htm
1. EjecutaelprogramaFortalezayenlabarradeiconospulsaenlasdosherramientas,
arribaalaizquierda.
2. EligelaoperacinOp_BasicdeOperacionesBsicas.
3. Introduce(copiaypega)lossiguientesvaloresdeOp1yOp2de40,80y120dgitosy
calculasuproducto.
4. Alfinal,multiplicadosnmerosaleatoriosde300dgitoscadauno,lomximoque
aceptaestesoftware.
5. Observaloquetardaelprogramaendarelresultadodelamultiplicacinencadacaso.

Op1=9871236527646546546851465425652765797822
Op2=9864237656286546465165427650876174654276
Op1=54543465465465176592786027656341765081109101897826622255129815672442354355523451
Op2=56457534976572747626546854276527576452765976527648762576545265465426971118768820

Op1=563523564767676276465427976807267657652785976257657617652767834725970529564976255631765174597674634176580789735680176465
Op2=989745773576561542776256257662453617076206554234677662087525643676579613462989265257345321243365298432652875729087656227

Tiempodelproductodedosnmerosde300dgitos(app.1.000bitscadauno)

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina4

Apartado1.3.EsquemadegeneracindeclavescondosusuariosAliciayBernardo

ejercicioRSA1.3.1

Buscaenestatabladeprimoselprimerprimomayorqueelnmero50yelltimoprimo
menorqueelnmero100paraobtener,encadacaso,elprimopyelprimoq.
Web:http://mimosa.pntic.mec.es/jgomez53/matema/conocer/10000_primos.htm
1. CalculaelcuerpodetrabajonyelIndicadordeEuler(n).
2. Eligecomoclavepblicaeelprimernmerovlidomayorque20.
3. UsaelalgoritmoextendidodeEuclidesparaencontrarlaclaveprivadad.Puedesver
enlasiguientefiguracmoseejecutaestealgoritmo.
4. Nousesningnprogramaparacalcularesteinverso.
5. Compruebaconunacalculadoraqueelproductodelaclavepblicaeporlaclave
privadaddentrodelcuerpo(n)esiguala1.

EjemplodelAlgoritmoExtendidodeEuclidesAEEparacalculard=inv[e,(n)]

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina5


ejercicioRSA1.3.2

Sinusarningnprograma,generaunaclaveRSAapartirdedosprimosde3dgitoscadauno,y
queademsqseaaproximadamenteeldobledep.Eligeluegounaclavepblicaesuperioral
nmero30yencuentralaclaveprivadad.
1. Buscamosesosdosprimos,porejemplop=461yq=919.
2. Elcuerpodetrabajosern=461x919=423.659.
3. ElIndicadordeEuler(n)=(p1)(q1)ser:
(423.659)=(4611)(9191)=460x918=422.280.
4. Buscaremosunnmeroeparalaclavepblica,entre3y(n)2queseavlido,es
decirquecumplamcd[e,(n)]=1.
5. Elegimosunnmerocualquiera,porejemplosuperiora30,quecumplaconesa
condicin.Enestecasoel37puestoquemcd(37,422.280)=1.
6. CalculamosmedianteelalgoritmoextendidodeEuclidesAEElaclave
d=inv[e,(n)]=inv(37,422.280)=11.413.
7. Efectivamente,exd=37x11.413=422.2781;sesaledelcuerpo(n)slounavez.
8. Damosaconocernuestraclavepblica:n=423.659;e=37.
9. Guardamosensecretonuestraclaveprivada:d=11.413.

PuedesvercmofuncionaelAEEenelCaptulo7delLibroElectrnicodeSeguridad
InformticayCriptografaV4.1

Web:http://www.criptored.upm.es/guiateoria/gt_m001a.htm

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina6


prcticaRSA1.3.1

DescargaelsoftwaregenRSAeinstlaloenlacarpetaC:\Criptolab\genRSA.
SW:http://www.criptored.upm.es/software/sw_m001d.htm
GeneraunaclaveRSAdondep=197,q=251,e=19.
1. EjecutamoselprogramagenRSAeintroducimosestosvaloresenlascasillasdep,qye,
usandolaopcincopiarypegar.
2. Pegamoslosvalores197,251y19.
3. Desdelapartesuperiorizquierdadelaaplicacin,pulsamosGeneracinManual.
4. Obtenemoslaclavequeapareceenlasiguientefigura,donde:
5. Laclavepblicaesn=49.447ye=19,siendolaclaveprivadad=2.579.
6. NotepreocupesdemomentoporlasClavesPrivadasParejasylosMensajesNo
CifrablesquemuestraelprogramagenRSAenlaparteinferior;seestudiarnen
prximaslecciones.

GeneracindelaclavedelaprcticacongenRSA

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina7


prcticaRSA1.3.2

UsaelsoftwaregenRSAysigueestospasos,generalasclavesqueseindicanacontinuacin.
SW:http://www.criptored.upm.es/software/sw_m001d.htm
Paso1:
1. SiyaeststrabajandoenunasesincongenRSA,enlaparteinferiorderechadela
pantalladelaaplicacin,pulsaBorrar.
2. EnlazonaGenerarClaveAutomtica,poncomolongituddeclave24bits.
3. PulsaenesazonadelapantallaelbotnGenerar.
4. Unavezvistalaclavegenerada,vuelveapulsarvariasvecesGeneraryobservalas
clavesgeneradas
5. Activalaopcinpyqdeigualtamaoyvuelveageneraralgunasclavesdeforma
automtica.
6. Sacaconclusionesdeloobservado.
Paso2:
1.
2.
3.
4.
5.
6.
7.
8.

PulsaelbotnBorrarparalimpiarlapantalladevalores.
DesdeelMenpulsaenUnidadesyeligeHexadecimal.
Introducelossiguientesvaloresparap,qyeconlaopcincopiarypegar.
p=3F44BBBF.
q=39838831.
e=5BD5.
Desdelapartesuperiorderechadelaaplicacin,pulsaGeneracinManual.
Sacaconclusionesdeloobservado.

Paso3:
1. PulsaelbotnBorrarparalimpiarlapantalladevalores.
2. Generaclavesautomticascomoenelcasoanteriorparatamaosde512bits,1.024
bitsy2.048bits(enlaaplicacinnopongaspuntosenlosmiles)tantoparapyqde
igualtamaocomodistintos.
3. Observalasclavesgeneradasysacaconclusionesdeloobservado.

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina8

Apartado1.4.OperacionesdecifradoydescifradoRSAentreAliciayBernardo

ejercicioRSA1.4.1

AliciatienecomoclavepblicaRSAlosvaloresnA=5.963yeA=13.Bernardodeseaenviarlede
formaconfidencialelnmerosecretoN=101.Indicalasoperacionesdecifradoydescifradoy
usaparacomprobarloelsoftwaregenRSA.
SW:http://www.criptored.upm.es/software/sw_m001d.htm
1.
2.
3.
4.
5.
6.
7.
8.

BernardohacelasiguienteoperacinNeAmodnA=10113mod5.963=3.726.
Comon=5.963,esfcilcomprobarquepA=67yqA=89.
Portanto(nA)=66x88=5.808yd=inv(13,5.808)=4.021.
PuedesrealizaresteclculousandolacalculadoradeWindows.
AliciarecibeelcriptogramaC=3.726yrealizalaoperacinCdAmodnA.
CdAmodnA=3.7264.021mod5.963=101.
PuedesrealizartambinesteclculousandolacalculadoradeWindows.
Aliciarecuperaelvalorsecreto101enviadoporBernardo.

LasiguientefiguramuestralasoperacionesdecifradoydescifradoconelprogramagenRSA.
Recuerdaqueesteprogramaslorealizalacifrausandolaclavepblica.

Capturadepantalladelaprctica
Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina9


prcticaRSA1.4.1

IntentarealizarlasiguienteoperacinconlacalculadoradeWindows:

10024530479mod790657667.

Losvaloresestnindicadossinpuntosparaquepuedasusarlaopcindecopiarypegar.
Comopuedescomprobar,setratadeunaoperacinvlidaconunaclaveRSAvlida,que
deberaentregarelresultado74.948.040.Peronohemospodidorealizardichaoperacinal
obtenerelmensajedeerror"Invalidinputforfunction"cuandopulsamosMod.

OperacinModnovlidaencalculadoradeWindowsparanmerosgrandes
1. Compruebaqueelresultadodelaoperacines74.948.040.
2. CulesseranlosprimospyqdeestaclaveRSA?
3. Si30.479eslaclavepblicae,culeselvalordelaclaveprivadad?
Puedesusarelsoftwarequeyaconoces.

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina10


prcticaRSA1.4.2

UsaelsoftwaregenRSAparacifrarelsiguientemensaje.
SW:http://www.criptored.upm.es/software/sw_m001d.htm
1. GeneracongenRSAmanualmenteunaclaveRSAconp=3221,q=3433,e=31.
2. Generadalaclave,pulsaenelMenOperacionesCifrar/Descifrareintroduceelvalor
123,notexto.
3. Pulsacifrarparaobtenerelcriptograma.
4. Pulsadescifrarpararecuperarelnmerosecreto.
5. CompruebaesteresultadoconelsoftwareFortalezadeCifradosyconlacalculadora
deWindows.

prcticaRSA1.4.3

UsaelsoftwaregenRSAygeneraestasclavesenhexadecimal.
SW:http://www.criptored.upm.es/software/sw_m001d.htm

1.
2.
3.
4.
5.
6.
7.

CongenRSAcambialasunidadesahexadecimal.Sitienesdatosenlapantallaborra
esaclave(abajoaladerecha)yluegocambiadeunidades.
Generadeformaautomticaunaclavede1024bitsconlosprimospyqdeigual
tamao.
Generadalaclave,cambiaelvalordeclavepblicaeporelsiguientevalor.
e=010001.
PulsaeneliconoGeneracinManual.
Alcambiarlaclavepblicae,qucosascambianenlaclave?
Qutipodeclave"interesante"creesquehasgeneradoenestasencillaprctica?

Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina11

Apartado1.5.OperacionesdefirmaycomprobacindefirmaRSAentreAliciay
Bernardo

prcticaRSA1.5.1

BernardodeseaenviarleaAliciafirmadoelvalor40.205.LaclavepblicadeBernardoesnB=
55.973yeB=17,ysuclaveprivadadB=22.853.
PuestoqueMd=40.20522.853mod55.973resultaunnmerograndeparalacalculadorade
Windows,usamosFortalezadeCifrados.
SW:http://www.criptored.upm.es/software/sw_m001e.htm
1. EjecutamoselprogramaFortalezayenlabarradeiconospulsamosenlasdos
herramientas,arribaalaizquierda.
2. Elegimoslaoperacinpotencia.
3. Introducimoslosvalores40205,22853y55973.
4. Obtenemoscomoresultadodefirmaelvalor6306.
5. Conelmismosoftware,usandoahoralaclavepblicadeBernardoe=17,
comprobamosqueelvalorfirmadoes40.205.

CapturadepantalladelaprcticaconsoftwareFortalezadeCifrados
Crypt4you.ElalgoritmoRSA.EjerciciosyprcticasdelaLeccin1
CreativeCommons(CC)NoCommercialAttributionShareAlike

Pgina12