VX Elliptique

Auteur : Conceptrice X

Enoncé

Nous avons interceptĂ© 2 fichiers (VX_elliptique.pdf et livres_Friang.pdf) Ă©mis par un sous-marin d'Evil Gouv. La rĂ©fĂ©rence Ă  Brigitte Friang ne peut ĂȘtre une coĂŻncidence. Nous savons de source sure qu'Eve Descartes a Ă©tĂ© enlevĂ©e par Evil Gouv et est retenue dans un de leurs sous-marins dans l'ocĂ©an Atlantique. Ce doit ĂȘtre elle qui a envoyĂ© ces fichiers. GrĂące Ă  une de ses crises mathĂ©matiques, elle aura sĂ»rement cachĂ© l'identification du sous-marin dans ces fichiers. Votre mission est de retrouver l'identification du sous-marin.

Le flag est de la forme DGSESIEE{x} avec x le code d'identification

VX_elliptique.pdf (SHA256=7995fc6529494734bae9e2a0b1800632bf9ebd41cbfab19ce23d834eabcf7523) : http://challengecybersec.fr/d3d2bf6b74ec26fdb57f76171c36c8fa/VX_elliptique.pdfarrow-up-right livres_Friang.pdf (SHA256=222a463aeb09ef4c0599b9448184e616462459baea327827469bc7b0dd738b75) : http://challengecybersec.fr/d3d2bf6b74ec26fdb57f76171c36c8fa/livres_Friang.pdfarrow-up-right

Solution

La courbe utilisĂ©e est une courbe de Montgomery particuliĂšre. En ayant remarquĂ© que le modulo est 2^255-19, on dĂ©duit que la courbe semble ĂȘtre la cĂ©lĂšbre courbe 25519 publiĂ©e par D.J. Bernstein.

(Bernstein DJ. Curve25519: New Diffie-Hellman speed records in Public Key Cryptography—PKC, Lecture Notes in Computer Science. Vol. 3958. New York, USA: Springer; 2006. pp. 207-228)

On vĂ©rifie donc que A = 486662 Ă  l’aide du point donnĂ©.

Pour x1, il n’y a aucun calcul Ă  faire a priori puisque y1=n-y donc y1=-y [n] on a donc x1=x comme solution en utilisant les propriĂ©tĂ©s de symĂ©trie d’une courbe elliptique.

Pour x2, il faut trouver les solutions de l’équation y22-x3-Ax2-x=0 [n] en utilisant par exemple SageMath

sage: n = 57896044618658097711785492504343953926634992332820282019728792003956564819949
sage: y2 = 30324056046686065827439799532301040739788176334375034006985657438931650257514
sage: R.<k>=PolynomialRing(GF(n))
sage: L=(y2^2 - (k^3 + a*k^2 + k)).roots();L

[(24592060322915955458376742075654918743307884467086758475495911637571571854426,1)]

Enfin pour trouver z, il suffit d’utiliser le thĂ©orĂšme des restes chinois car n Ă©tant premier,

n et m=(n-1)/2 sont premiers entre eux. L’isomorphisme entre Znm et Zn x Zm permet de vĂ©rifier que x1 et x2 sont corrects

z est le mot de passe pour ouvrir le fichier livres_Friang.pdf

https://illuad.fr/2020/11/08/writeup-dgse-ctf-vx-elliptique.htmlarrow-up-right

Last updated