From 64f4f447522d554fa1dbac9ed542525965ed13a8 Mon Sep 17 00:00:00 2001 From: SombrAbsol Date: Wed, 24 Jan 2024 19:54:22 +0100 Subject: [PATCH] Presque-presque --- a.exe | Bin 0 -> 29703 bytes etape5.c | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 a.exe diff --git a/a.exe b/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..4bd50b1ccbf87dcdd3f94051aaabf5b5d6b18a1f GIT binary patch literal 29703 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~P#Tnr2hN(>APObiSR0#MB0z`zL73*s|D+zsNgf)z0^Fc>g0 zFt9N&NIhi$`Ky6}K>;KU(GO;UG{VdR3xJJ=uoxH^8WklOGzwAWME)O z07-$o268LZOCTW-c3@yQpjQM@=m3&8fJU$oNEU$|7#JM%l1ejkQZiFaLBgO&2dNhW zaS#}+t^i^lI4lC7aUy|G17d;IRY26u011E`2{KO##6e)Nx}@S_kjMd0WEOx}n79Gt zk4%Vp;5Y##I8dCR1w6#R#YM>s&^VjG08Rt2sE3&hwznuXCqEe)hYO(oP=l#}&<+d? zPWmPgHYn&AHbB*BK*V4qSe>CIn0rl-fq~%w0|NsnjJ3c*a00B(*bvOu28G81Xnfd! zh2R8Ooe4N580LXQKS1pT#S4fJ#b9-&=3t%$m}G?H5hpMQPJq>!gMGlj2ND&4s&fHx z5E!h^0^&Xakoy!EAsNdJp$5bPsRPlYc=&{XNAnvEk6vC=CI*HV0n7{xu7(E;FBzVE zk%Gj|Kw{@0*dEPCG+u)E6Oe#UFY8Kv1_r}R9=*JvV(H~+CI*JIG(CR#7I2^)Mp6r6 zhI({9^=N)0;L+(T;L%(wz*x=>u7X}$c^r5B0ZNRo6+OCL1$KdSdwehb;n8`)qxC>3 zRF#NFv+EB=k8al=9@ee`MOSx#iW86KBLcC9p(Z?fSr@^N>d`>jF6j29Q}V z7{M04fQU|kih^o7k8WQ9u=?)M7apCA9-V<4uTi`t!QT}4|Ns99pdj#QKH?C2I5Zd% zWjQJe9-Y1l9-W~YKAo-x9*wmc&zTt*$`w5tYZbsOagT0S4G;eHt_m=p8hCVGcO!umg409 zwQhVKppejj8b zH>lP;kk;nf3yh^)9^I}VJUU%}yyo|4cKrZKG9NswU2hbvheRYOz7(OlKxHa85qdNq zNr**FvHw-Oav2yvDHnqOt2UwW525fuk!5)4MJT9wB^r++1vUWH^a&G4<%fZiLk7QQ ziHZWhW{rx03%{m|ih~QkrjJU1M=$H#|NsA|dGP0*@aSdT2xVXJ=w)5X!oUC$zv0o# zn#c-aKk(>0=h4fX#R3ZU%OKgG9=*KTpy=)uZGmd|=+Vn70n*^ZpLZzDhd=M+P7VeJ zhBW@1pK1I#pVD0Ta}I-uGcSxl=Ct1CZ}|vL{-TehLFN`ac=YmygQR**8=@H)jyns0 zS~?z`!5kjlqQ@X=EIc|VgX%tyZc&pQ1_qDgpcX2FM`y5vN3ZBFaBNQoH84DSMP)!n zbp{)FbaqQHGBCLC3wnFF@C!OC@C#N~@C$D40HuJ|1N<#}L5%JOP}S=J;;&_3VCWX* zjb>nIy~N)-A0*ps%gfEcz`)<~9OU9=TXqP~lZk=BquG`b!UI*{9?iDDL9XU+;f2V3 zh49`(^u34hE<$)OA-v5H-eU-FDkCV&@@408F);88N~H1Ut1bdF69m%u^L3Yj*%=CH z{Q0u0!0ZSE!;>DproLPZ3@<8}ArW>AEMyf03fJZrARqLy_HaSuUU>AfK8OZcl5-Rk zm7oL=AOo_@IReB#1|lwa^qN}BfE69|=w$p%e#QeJJFAlAcqw=c=VdO{RNr4 z0TO4X9g!gU4hK+(bOwOp{TxK8g-5TcHz-6qCqSd$Gz)Bofk&^Y5?F%kxC11?90yeh z3?7{upwaFDigpJDe!+?ge!&g!Xg>x{Er&f2G2hDe@Bjao>;C=!&oA%5;L$DM(J3m% z$-wZE>mRtF4Y2U&6tx8jM1%Bp2N-yCimHP6wh+FCN2e$+h%XP}D|mE@e&t|bc*zLi zOL%mO-Uaa=gM8f`0J7jHh<_Bq=kVwhT?^tb|NH;HPdDq#2vAC#9RUgy-Z>Er3@<@` zzwLlW^AQV3Jb@#z`4@BPn_Zwx z29kK`0m=l>`g#|r3I>ZBfwK7o!%HtT85kH^50vco=;pl^&cM*=qN4Mn6qK7>RCGL! zv+fHA^(6oQe?1FSz=6$2D%6meAn6JJRiiRc%hMnNd@nS4Cp5klUOu?I)bQvvbq)um ztkWKy7d<*Zz1aE-lt4dublwElYjH0@-3*We|Er!#M|IyXFdx>QdCC3#|9_A|DE;NkC$+FI9) zw}U!i!@{$po`8ga00V;yXrLy6fgwPEfgx3Zfq^4|fuTTvfuT@MNSJ}a0i;)$fuT{Dfx#nz zfnkC$1H(jN1_qx528IQ~3=9i}85jZ*7#KDPGcarvW?%?OU|={P%)rnf&cF}>(ksru zFjJg?p#-E}oPi-mf`Op|WWEFgLz)BwLj%a25)2H55)2G22@DJ$Bp4WEBpDbwK<<%b zU~rXWV3-0LgNFEYl*AGOj4X@{EKZOf11N7Zaxk-U2(d6T1~4#y*+oz`H;XDaGn*5W z0b>AId=pe0T|WcVEE#SFnHj7MVjV0D0u{^*+!;&^Y=@W(7!#oKAbm+tHb@T}GXvOk zs5};@jtbEr1RTJ)+I~TX`1s_C#Q4OL)QZd!1_lF$`1st!Owhn1 zLmoqXN={CEa#4u^Ln%XiW^O@gQEGfaNfBuJhcP)Z2RswSz);JWT$x^;nHQg#SCU$k zmzcxAz%Y{$q%|cc2dtZc!ILSiC^eOVVKQ?rT;Dn7+~UgO_>|O=#N-T+RSXOatSklj z#hDfHxv9B{IhpBTcc`!w6lLa>q=CY4A4^dx%z#cN_tX;K{FKt1RFA~Gl$=yY$owa0 z4wMuOa)qvuo`GIU4#?>YA`J`--mXD@u0F;_Ffowbqj<1~03!ovN*7eMqPmn3JfdWP zF@+7PF&G#?<3$k@7#R9NgC{ISOT|Ma7xryDVcfcwo0KP zZn_pq3dJRfc`1oG`FW|fN|mX_O7?bKHi^Z>skuoxl?oNPIeEplN~J}4R>jE~skw>8 zy1ALjMft_~X(hVJ`MFk!#kqQAhDr*#iFui6sl_E>$d=i0DJa;K6qOd2c;=<$6KR;S z5=fhZf=zL1a%oX!NhO4l zElbT&$N`bIN{Pjud1d+8sYOcqFikf4I8C(CN4DKYAMOc|UYq3n+=9fC%%sem%n~BP z2t_$4v_OU^DA*(x6y#(kCxV;`5m8XEQPkB9$w*c3bWuo3&B-rU$jnOtDM>9>KvJzx zTv||&UsR%ymS3b0o|%`DUtX*bmRVeqsGzG0HwvmKHN`(z!865HsXEojz|hdd)Lhrl z)Wl5J#5mbhH_6)Y^ zrRZ9u8l~ta8kv|F7#W$SSsEu&#~l`U-C>ewlxAd+YOHH&oMfqMVq#*bo0MpoteawH znPQS?l4zD{Y(XV==o#X5iD8F3SdA%GBGs3>k^ApgEaF*LnGa!v?OC)leAO|-6YFIQ(Y5_v=mc=L_^a=OK{vk zTw1JghoI}j7%?H5@cXtWnctHzL>jTsDiVhIdr66K{q!Uv|KaCwiwjs zP|(dSDa}i@O;62BEy_$*(9KOOO3tv&%TLbFOH|NJSI|vQPf1eH^*2(`P0Py%HPLeO z^AvQ`Kr0MOGC{1|)Z*gA^iOEWFJWNul>nK;8XsSpnO6c4@|Oge#Bz#}fk7}nJ|{mpF$WYDY|uae z`v&eRka;X#j0_B{p+5e8?(qR3K@6;hde=ZAV3$Ee_N#woWMB{~&&(?U1#3E^ILHpx z`24gqGn4od2DSvnKcJpwd|E+%F^FHnw++lMhQ3v1K#|AHAjQG9h;t7U0|Rq>d~$wiUI_!+5_XWcK>}ro zIi;x#Y%5u#!7G1R<8zaWOA<@KK3>HPGKDohKGY{aFP(v15*#wD@jm{}-ti#}96bD> zm|%@h%gIm9jxS+gSC+od#K6E4@06Ji3K#`;6OMFdkiB`JmALF?!XO?4b9^=fyE)he z9L({#i52B3#SHA`+#o0MFvo-9je*@<1jH3!j)zD}gLop$@f8g07Tll(auN(I49pA+ z?B|&n7;2cIeg)YbUy{q9!fwN1!UD25z9cukI5nAp-HsDv0?5ZDx$(J~c?|6KU=bGP zc#xWm{L&%@b_cK!2Sg}0C9#r$-4QIr0~N~8V_8D?A}3i0#A9HN&&*3cm@C8_pOnVH{#cNim4QKmIX)*T4V0M}*q?xP zYcR)ymqD{X6AI*DU@%~gPtMQJ&P-)sf5`<3Gz;eVqSV9`2KLvoB^(S44$Sf8MVTe3 z4D4@Z=WsAEcreEor>15zuz%p)&%wYDz#N~PlMnLZN6s4@3=9#>@uf)&>|el^CospC z7BH}X1^cFeIUbbMzJVQ40a8|)#=!nl5VX9dhB-bD6m0Cj1mAKnFw}z_&A|Q_Y)AuR zd{Ry}#0LzFVBHfKApu~-z|P1BPDoQ2K}AY&Y6$~7Gb4{C69dBxMzA~0Oc>Z%82Ld? zUBCz`)Up}a*%^7>Gcho%V1(s)26j$HK2Slifk7m`C^a>&gh7Fo-JA&&K8*3HMMZh} z4D6OnV7nO@5gyi5s+ZhXX8-Us}SzZpS175)lB4q!tx{MC3ps5{&VgdC3gy z4on=NZiSY>HW2?M)76SxRUfQf)gq5z1_ z4955Z(_#kpK!}n8#(2=^U`}Rn2?Ki&lgLkQ28Ig8_~f#ZoYXu9_E3nX2CxV?%EFj9 zL94tv7~}I&%Nf`!nb_BGGcZixM)<~zfxU)F7?jI?Fd_+?GqBe(34!tw0~0r>^ovg` z1qD(g6Zb!E1_lXM1{P3;;PPT(U;w2=aC9(%k|-0%LZ(BYqJt%jgMk68WI6`}1CkOj z7otQ3v;@5pq|S4~|yiJ(}?OHa&YU{7M=2Zc-kBiKir)2yR3L3|y*=;9`z}F*h+iGdVsfvpBgl zvxI?5laXg74+8@Sc#b7EF)P1_flCV_#sd+{%mayOL&O9a5mPtd=^HLxMq!X;5{#gZ zQGPN5mmwoJ$WIE4pmLaj%ZQPyfQNxWgAq2_!ez|JoygC?V8ECL>QX^WF=ga1Wn^Hm zU<6MXahWr6w(v7BI4~xcNck(kZcrd0w_?8fU03)a=07~mcB@A3PjGUm* zihu~F=A|%j*+PU87?X;@$s4514kDHT76YrYhlmuw=ApP88MznngX)cfqEv{3oEf>6 z^D{6sFcy{O#e*FcU%hRBhk;=MBQynYc`))`;|EpE$rTmxumJI9RQkuy!0>=E zBNsfu#K7gt$eqB$!0>`Gu^=-Z8tDFvoVlP4e-JT9pa($2zCg`4V&Dp9mNb3_1{P4e6l?$}7QlMJ1OrPSKLZ2%c76s15C#_o z%nU4h_!$^@FQS?V;xe%8;$dK5XJ=wyc*YMck=Pgnk@8ABQZ%uE)PNNWgVudOx?o(O z3=IlbCU};Fx&)+%4?0%~O(n(*`HT?)C>{el15KF`Lmp#2VP%F4xs1yQD>GooVLXdP znKC%tGIH^NeDD%Q0fP!?mJ%`-%gD>dD9FIT1R@w%*aV^RBLxxz=>*3QgDS`{=b(__ zlEk8t(gFrXVMYeDp$Nt~`~pxRkZmD?3=C?FK@9vdP(hGaN(C7hI2nT&4LBJCK|}@D$eP zW?IS+iOy@~TVPNP>j%le&fDKb*2Wj;bwqRvo5EN!$=CF}uU=V`36KoFy zgD^xT8$=}og9zAGR|j0_CSpb<%y+aT6cP~+_# zi1-F-Z2kqYK-Ci)D z`)1Vrq=tZgvVO3>lYVhgvOcJRY@}OMng<$M(l5`}ES3zBs~y7kexC}vPiGsq?!?qtv}EiTf}$xPBuPfkX64P^h3er8^BPH9Ri zL@AV`Uv6xaSdfYAL{wYyQp-W6=42)%!wk^RO-#5R}chUPEOnL{8UMg|22 zCQ$Pb#6iQbV|>7B7+@zFffRu>Ff)SM5U58Q>4Ao_KnkF%P?$jqp?nyn2R$hW#Ajz< zV8E)T0$~uy24={D29Opw)`Om41QK8cn*%z>3AE`MB!a+AP$pQG5p=E(FH{6U^+A~+ z8D>V%kpNHuBx(+n4cZLJ%m~`|2-;r-6@*f&p)}}p9%e?+nLn5vt?f`XpiMf=j3AXz z0VE1MY|6mE06K(-nGt-350Wf|c?o)I6v)TSjG$wRAmYg6T_}ei96q3PFi_nLOD!PZ zKvPR)dTwT3x^8k&Nm6P$R6D~f1_lPuAyMFzfF({r>i#n@Fo04FSPeY2Ky-m(SrM8h zKx!cvGqqqgL`g|4Al-yg3n&#pQVVEhG)OhXEie)ks-W!>xIz^cV!z?}E43uCAk|b4 zbXXP45C#SYF-FMZYH(;^39+=yyp(`K28LUpei|qbg7t!C$u@#IUSJW>fE7p>bWQ`< z9C)aLTnI9hnQ<`_0|O{Ug497UEL1`13l!T}^A`zu5M&N0oFHi)Vh4oko2YU$#vkRgIl)^!728B3CHw05VE*wA$qQH3>l-413z(`nJ zgn&l?K<)v>11L0MDj+l{oIwYhfn;!%8=&!k1|s|pQ3J9I6p|40VI;Nv4%(Ffig9K} zq-_aM%V2&7Z4QK_L)?A`ofw19@4<`=3=@d(J46kA{0_=7g!~TLszb={plu)c{GQCn zz_5S_zeCi}$M2vTgpl7Wh)DCGBX98ey_k`KVFM9hPM48;AI_r>1u2}* z2sxV++@=KyFsx)`U;rI4i4fVw2-;D|z<>}r49am(lOc7-Wkv?@t}TcfSSP{q~_2l$$_jz=CA3wJuH0hI}$ z5(O?|mca;D13hsUZZe+s;RKlNc+@N)Ld^yu)Epo}%>^RVJiwy{6bIiy3opQGu(wxB zp=b5LQv$p<@d2z0l*T~2M?f(LG7o~u%U_^VgCP20BrJb{4swH}F;Mz}$wFvY*>Z-6 z{Ph4&*#b*r3ZS)qpcI8CmJMKP;Pn?gH!;9!D^Okrmm9EjXdZ%*Rzd4NP*SD|=#XI) z5wkytvMt z?GM6zicJk9pBjN?n85yG1hLRk3q%d3-%XLi2kLiuJbs78ARYZ>0y-fS;x7;hivX#>+PP&g}qHo1UH8_d=YH2r{%TmR6e7Kn1jauP(+B)Wd>^Vqv$dhfu&4XIc9nSqlN|bvQc!I1;Elg zOqaO?hB+57%mKB!QO$|LFb5Q3C~8bWeRC8M(D6g4A!b&AVU7xhdq9V$qM8Gm2|*Dt zYr!x_1H&B9sii2oOh6-?C?aMvFwD`xFy{wG_<(w>sOGG|FvkGH98muqMVASvy^11Y zwgJN&6AW`W(AAiL>Sa`O_ModV2jvzNHKw2g=ut#WKs_=P5wi;z=Gb7k2Xy8uiY^n- z(XuEaW=}B80ga2Is4)fg@lixfKqHDMB4(gP*(f3=pw%!aBBmM`cDW$jTm-q908~PN zE_YytpAZ8XbyNTqxC{&opf&=?g`g4z)GK3PC zVCTF*#wuYZuVrFjfaN%duDwhQ46wWd5jh2+K#l~P&cJY!iGcyqB7&Lo6jX{rOD%}< zpCGCMbh;_z0s;mGL6GwWU?TBRdF8oaGa&>MBj|iN%<@nRq>DiTd;#6#rkc)+Z0ams^)F^=Vra@B+M8p(S)xbjx+e9!sYW#?9(2Y~JXkU4 z?iYxfZm1fB$Oa6NqaYEun_(vzL3&cK5WCF+TFVY;c|uHn4iZ60Kdh{veGkZL#91MC zn}BqHFav`MsImpGQi8>DI4c7~06fiuoS(|dzyNApLShgkQqRi30BNhk+%tidfdSS| zfS5do6|@Hc+4fCPyFeyD)EvSPxq@OlY=J+dw*|B7G01k<_!!7Ah7TYSlz3+cb!$-k zCB??T0IOjkwyT5Gpy)CIi7+AO3wJh1n*`zaNHzurSjh%4C!Gy)p$8;R1TxeMeT6kqIvih$LC=NU0gzRZSPYJpTfM6nAb z@&&~lQLHJP1C$+6Y}W;g2q2XtZeS6RiLmq&0TqFS21urx9W=543)Oh=9u1H66cm{#A?6Def!GC_f5x;ci37CD0y(GTLvW?x#1|BUcQ`>+K*Bg4bZA6ka!G1YW^qYoaxvIS z(AMkt{4|gwlC!~4l39X90=gR&ECb$>6<=JMR9snHlA0S2J-ZDo2XbnBMGnZgB8WK< zkxVQikXizopujt*Kqnf;$EQ^0CFW*=JX#r_lb@K9n!*sDk(!tSiF%`W15koth>wTw zS_9jRbd*3mz9@0^a{;Rd1umxDAW^i_xEIiUBQ(f@(&0Sb1)ccW{YiUVceNQGR)R307x1 zBd1$%TwzJ|3>b$H2WM4qOvam7@YIfOULrAR22p^-LrQ4W zXa^N #include -#include /* n = p * q => p et q sont des nombres premiers e = pgcd(e,(p-1)(q-1)) @@ -58,6 +57,15 @@ premier findPq(unsigned long long int n) } } +unsigned long long int multiplicationCommeDHabitude(unsigned long long int e, unsigned long long int i, unsigned long long int phi) +{ + if (i < 1000 && e < 1000) + { + return i * e % phi; + } + return multiplicationRapide(e / 2, i / 2, phi) + multiplicationRapide(e / 2 ,i / 2, phi); +} + int main(void) { /*Parametres RSA*/ unsigned long long int n = 1028648100739351553; @@ -67,10 +75,13 @@ int main(void) { /* Recherche des nombres premiers p et q */ premier facteurs = findPq(n); phi = (facteurs.p - 1)*(facteurs.q - 1); + printf("phi = %llu\n", phi); /* Calcul de la cle privee d a partir de la formule : (e*d) mod phi = 1 */ for (unsigned long long int i = 1; i < phi; i++) { - if (e * i % phi == 1) { + unsigned long long int resultat = multiplicationRapide(e, i, phi); + printf("resultat = %llu\n", resultat); + if (resultat == 1) { d = i; break; }