FCSC 2020 - Intro - SMIC 1

Table des matières :

Le chiffrement RSA repose sur l’exponentiation modulaire de grands nombres. En utilisant, les notations standards, donné le “message” chiffré c correspondant au “message” en clair :

m = 29092715682136811148741896992216382887663205723233009270907036164616385404410946789697601633832261873953783070225717396137755866976801871184236363551686364362312702985660271388900637527644505521559662128091418418029535347788018938016105431888876506254626085450904980887492319714444847439547681555866496873380

en utilisant la clé publique :

(n, e) = (115835143529011985466946897371659768942707075251385995517214050122410566973563965811168663559614636580713282451012293945169200873869218782362296940822448735543079113463384249819134147369806470560382457164633045830912243978622870542174381898756721599280783431283777436949655777218920351233463535926738440504017, 65537).

Le flag est FCSC{xxxx}xxxx est remplacé par la valeur de c en écriture décimale.


Résolution

Nous voulons chiffrer le message avec la clé publique (n,e), nous utilisons donc la formule suivante :

c = m**e mod n

En python nous le faisons avec la fonction pow:

c = pow(m,e,n)

Le flag est : FCSC{43038584369552603099759673610132404954603129182365447300530480398332322363741719021427218282885888340427764617212360258625034642827465292074914623418386094167402748099928035759712951543068670333972608099203444196434250100760907677561414593941829935308834430903916897564884969367373487895789351212840634163159}