Beruflich Dokumente
Kultur Dokumente
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