Le 4 mai 2021, la plateforme Yahoo Questions/Réponses fermera. Elle est désormais accessible en mode lecture seule. Aucune modification ne sera apportée aux autres sites ou services Yahoo, ni à votre compte Yahoo. Vous trouverez plus d’informations sur l'arrêt de Yahoo Questions/Réponses et sur le téléchargement de vos données sur cette page d'aide.
Algèbre modulaire pouvez-vous m'aider ?
Bonjour, à titré récréatif (et autodidactique) j'essaie de coder un mini texte en RSA.
Je prends au départ "Portez ce vieux whisky au juge blond qui fume",
je remplace chaque lettre par son rang, chaque espace par 32,
j'obtiens "16151 82005 26320 30532 22090 52124 32230 80919
11253 20121 32102 10705 32021 21514 04321 72109 32062 11305"
J'ai remarqué que prendre pq<100 oblige d'intercaler trop de zéros,
que prendre par 2 chiffres fera apparaître les "E" et les espaces,
le tuto semble dire qu'il ne faut pas prendre des tranches a(i) supérieures à n ;
j'ai donc pris pq=31x37=1147=n et c=29. J'appelle p'=p-1 et q'=q-1
Afin de ne pas avoir de problème de perte d'information quand le reste est entre 1000 et 1146, j'ai intercalé des zéros :
A[1-30] = "0161 0518... 0211 0305"
Par exemple A9=0052, je fais B9=52^29 mod 1147 = 0499 ;
A10=0124, j'obtiens B10=0651 ; A11=0322 donne B11=0602...
Pour le décodage je trouve d=149 (<p'q' tq cd congru 1 mod p'q')
Malheureusement B9=0499, mis à l'exposant 149, est congru à 0259 mod 1080.
(Evidemment je voudrais retrouver A9=0052, sinon le texte est indécodable par celui qui l'a écrit, syndrome du pharmacien)
Pouvez-vous me dire où est mon erreur ? Merci d'avance.
(Je peux donner tout détail du calcul sur demande. J'ai tout fait à la main avec une CASIO [A^B<10^10] mais je compte passer sur Excel puis la programmation pour des pq plus gros.)