Retour page d'accueil site sur l'affaire des cartes bancaires

28/07/2001 Jeu de l'été : factoriser un nombre en facteurs premiers

Petit jeu pour passer l'été si vous vous ennuyez.
Trouver P et Q, 2 nombres entiers premiers tels que

cle_pub_768 = P * Q = 1550880802783769298423921500751307878471020215206
71110279311199011387539455345999975760530467173585609
15975553897974089381733440436747047809863900699066790
96728933081405044935969514508676239942493440750589270
015739962374529363251827 

Il est conseillé d'avoir de l'imagination (ou beaucoup de puissance de calcul) pour trouver la solution à ce problème car il est réputé assez difficile et nous ne l'avons pas !
Plus précisément le procédé de vérification de la valeur d'Authentification de 768 bits (VA768) est le suivant (testé sur plusieurs cartes selon la méthode exposée dans notre
explorateur de carte bancaire, la VA768 correspond au prestataire ayant comme entête "2E 16" :
VA768 ^ 3 modulo clé publique donne 2^753 - un nombre de 41 octets.
Ce nombre de 41 octets est composé d'un premier octet qui vaut FF puis de deux signatures SHA-1 de 160 bits chacune.
Ces signatures SHA sont calculées à partir d'autres données de la carte (numéro de carte, de série...)

Par exemple, voici un détail d'un essai de vérification de la VA768 sur une carte ayant pour expiration avril 2003 (Les X visent à masquer le numéro de carte réel) :

Prestataire 16 (lecture h74 octets à partir de l'adresse 08 D8)

2E 16 70 3A 30 00 06 49 3F 06 FD 86 34 CC 0C B5 37 C4 79 5D 36 A2 69 8A 36 83 2D 08 3B 35 F4 CC 33 26 21 71 39 0F 9E 78 38 6C 74 89 3A E0 B1 16 32 7F 4B 16 3D CE 37 5F 30 BA 0E 4E 3B 38 41 34 33 33 D4 9E 34 08 9F 78 36 4D 21 98 34 E7 5C 88 3B 2D 18 BC 3C ED 6A 93 37 57 04 24 3E FC EB A1 3D 0C 22 D1 31 90 3D EA 34 24 7A CD 3X XX XX XX 3X XX XX XX
On enlève les 3 tous les 8 quartets :
on obtient 0 00 06 49 F 06 FD 86 4 CC 0C B5 7 C4 79 5D 6 A2 69 8A 6 83 2D 08 B 35 F4 CC 3 26 21 71 9 0F 9E 78 8 6C 74 89 A E0 B1 16 2 7F 4B 16 D CE 37 5F 0 BA 0E 4E B 38 41 34 3 33 D4 9E 4 08 9F 78 6 4D 21 98 4 E7 5C 88 B 2D 18 BC C ED 6A 93 7 57 04 24 E FC EB A1 D 0C 22 D1 1 90 3D EA 4 24 7A CD X XX XX XX X XX XX XX
soit 0000649F06FD864CC0CB57C4795D6A2698A6832D08B35F4CC326217190F9E7886C7489AE0B1 1627F4B16DCE375F0BA0E4EB384134333D49E4089F7864D21984 E75C88B2D18BCCED6A937570424EFCEBA1D0C22D11903DEA4 247ACDXXXXXXXXXXXXXX
Maintenant sous Maple : >VA_allongee768:=convert(`0000649F06FD864CC0CB57C4795D6A2698A6832D08B35F4CC326217190F9E7886C7489AE0B11627F4B16DCE375F0BA0E4EB384134333D49E4089F7864D21984E75C88B2D18BCCED6A937570424EFCEBA1D0C22D11903DEA4247ACDXXXXXXXXXXXXXX`, decimal, hex); >sign_allongee768:=VA_allongee768 &^ 3 mod cle_pub_768; >hex_sign_allongee768:=convert(sign_allongee, hex768, decimal); hex_sign_allongee112001 := 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0084B2C6DB\ FF2E8C062E4F81F9B71456AE39XXXXXX >hex_Inv_sign_allongee768:=convert(2^753 -sign_allongee768, hex, decimal); hex_Inv_sign_allongee768 := FF7B4D392400D17XXXXXB07E0648EBA951C6AXXXXX On voit donc un motif de 41 octets commençant par FF puis 2 signatures SHA-1 de 20 octets chacune. Ensuite sous Maple : >ifactor(cle_pub_768, 'lenstra'); 2 jours après toujours rien, on peut toujours rêver, peut être qu'au bout de 1000 ans sans éteindre l'ordinateur. Cette instruction a pour objet de faire la factorisation de la clé publique, Maple est très lent pour factoriser de grands nombres entiers même avec la méthode Lenstra (Courbes elliptiques)

Ce procédé de signature ne permet pas non plus, à première vue, de faire des signatures forgées sans connaître la clé privée (même si des collisions sont trouvées sur l'algorithme de hachage SHA-1 utilisé)

Le cassage de la clé 768 bits reste envisageable, à condition de disposer de beaucoup de ressources de calcul et d'avoir de l'imagniation : ce serait le record du monde de factorisation.

Pour les néophytes qui n'auraient rien compris, ne soyez pas rassurés : la voie du clônage de carte bancaire (y compris celles émises depuis novembre 1999) reste beaucoup plus simple, possible par les fraudeurs dès aujourd'hui et le restera pendant de nombreuses années si les banques ne retirent pas les cartes actuellement en circulation. Cette méthode a moins d'intérêt scientifique.
De plus, d'après des documents internes du cartel, l'attaque de la Yescard 320 bits avec des numéro bidons fonctionnera au moins jusqu'au 1er mars 2002.

Retour page d'accueil site sur l'affaire des cartes bancaires