jueves, 9 de agosto de 2018

Programación (III): Reto 1

Comienzo con éste la serie de posts dedicada a retos de programación. En esta ocasión se trata de un reto de dificultad media en el que también se ve involucrada la criptografía (RSA).

Doy prevalencia a la programación sobre la criptografía en la catalogación de este reto porque, aunque también puede resolverse mediante software especializado en el citado criptosistema, e incluso mediante herramientas online, creo que es más didáctico resolverlo programando un poco. Daré la solución utilizando un script en Python, y después usando un software especializado (GenRSA).

Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución.

Reto 1: "¿Dónde están mis primos?".

¿Puedes descifrar el criptograma (c) que se facilita como recurso asociado al reto?. Para ello tendrás que averiguar, de entre los diez números que figuran también como recursos asociados al reto, cuáles son los dos números primos que empleé para generar el par de claves, pública y privada. Ah..., se me olvidaba, también es importante saber que el exponente de la clave pública es 65537.

Dificultad:
Tipo:          Criptografía y Programación.

Recursos:

 Criptograma (c):

19540121635188537345358256218589804991768201721161131762725576309946535122066936808018783197762215969471912470021001969220984795188062190362486872408585600660909527541197115931492260330924640537702338727828442553111808496971708597051904074142715130233086589949040249732660022809559417277634504521309499127903

- Números:

1: 10898008009708008780770807788008080970870807789097077878789097899780909978008879850943972857834701038509312570938751127353275327584676855972432509876555671

2: 6970909907535456845245900574123258621357962100144789563299863277125541953157624321987512870026998632478523699426715682463589214597788876543398567867846327

3: 6860935865386425458122578963578954218522626524178598321489172899625412756325641852665412337591472159327153893954621378952221472589623002145072520012739223

4: 7852497395886953355486089906143943764072813626900674506724734867963143474700652040892883297447998412932980094926645645676833309384750715234427287603375523

5: 8448798523566985215875986321145002562301025877960230457321862036914723962009987536212544756321036587451298756214753232012475899623541201275896300125478951

6: 9545785212365425820124235796241546988985754465210230124570258953002951423214589567899875124478023569024500625417897654231023589562300125458956230147125497

7: 11546475231585200150650321054780985226541235797862154233214588967452312365247564789218523579600147025869012457896585877215677985232145689753201203210478997

8: 7980968350976578537876384001248452359875564210320200157899874412365211125485231032232021500144587789515888956320142578954124632012001547259823789562142563

9: 9124875625205915987965456213324582698871025076228547556201470259630152146325423012487591023365289247805611242365125627894321562998756021320568907895201471

10: 13289614374906100508941828501066167368622862591677389198666259247049362650461068945523025972016475211576320507278374215384515235884920444306665134048073627

- Exponente clave pública (e):

65537

******** 11/08/2018
Pista 1:     ¿Son primos todos los números dados?. Quizás un test de primalidad te ayude a descartar algunos de ellos. 

******** 11/08/2018
Solución.

******** PRÓXIMO RETO
Reto 2:     Por publicar.

No hay comentarios:

Publicar un comentario