Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Problème RSA

  vaness, le vendredi 4 avril 2008 à 21:18:45
Bonjour,
je dois rendre un TP Maple lundi sur la cryptographie.. j'ai trouvé quelques algo et tutos trés utiles mais j'ai un soucis dans le tout dernier exo (je mettrai mon code à la fin)

alors en gros il faut décrire un protocole concret d'échanges RSA entre Alice et Bob
alors Alice veut transmettre un message M à Bod, pour cela elle le transforme en chiffre (c'est ce que fait ma procédure "texteàchiffre")
Bob choisit au hasard deux entiers premiers p et q (ma procédure gene_prem me fait ceci) puis on calcule n=pq et phi=(p-1)(q-1)
ensuite Bob choisit un entier premier avec phi au hasard (fonction gene_prem2)
on calcule à l'aide de igcdex l'inverse de e modulo phi que j'ai apelé d1
puis on crypte le message d'Alice en faisant C=M^e mod n
(j'ai utilisé un algo d'exponentiation rapide que j'ai trouvé dans un tuto parce que ça donne un chiffre trop gros pour Maple)
et normalement Bod peut décrypter le message en faisant C^d1 mod n (j'ai appelé le résultat de cette opération m) .. et normalement m doit être égal au message initial d'Alice M .. mon problème est la, ce n'est pas le cas !
j'ai testé toutes mes fonctions independemment les unes des autres, ça marche, je vois vraiment pas où est le soucis

donc je vous mets mon code


> restart:
> Alphabet:=abcdefghijklmnopqrstuvwxyz:
> nb_lettres:=length(Alphabet):
> for var to nb_lettres do
> lettre[var]:=substring(Alphabet,var..var):
> od:
> lettre[0]:=` `:
> for var from 0 to nb_lettres do
> num_lettre[lettre[var]]:=var:
> od:

> texteachiffre := proc(expression)
> local var,resul,element:
> global nb_lettres:
> resul := 0:
> for var to length(expression) do
> element:=num_lettre[substring(expression,var..var)]:
> resul := resul+element*(nb_lettres+1)^var:
> od:
> end:
> M:=texteachiffre(`bonjour bob`);

> gene_Prem := proc()
> local test::integer:
> test := rand(10^6..10^7)();
> if(isprime(test))
> then
> return test
> else
> return(nextprime(test))
> fi:
> end:
>
> P:=gene_Prem();
> Q:=gene_Prem();
>
> N:=P*Q;
> PHI:=(P-1)(Q-1);

> gene_Prem2 := proc(n::integer)
> local tmp::integer,test::boolean:
> test := false:
> while (test=false) do
> tmp:=rand(10^6..10^7)():
> test := is(igcd(tmp,n)=1):
> od:
> return tmp:
> end:
>
> E:=gene_Prem2(PHI);
> igcd(E,PHI);
>
> igcdex(E,PHI,'D1','V');
> D1;

> #C:= M^E mod N;
>
> expomodulo:=proc(xx,nn,mm)
> local x,n,resul:
> x:=xx mod mm:
> resul:=1:
> n:=nn:
> while n>0 do
> if type(n,odd) then
> resul:=resul*x mod mm:
> n:=n-1:
> else x:=x*x mod mm:
> n:=n/2 fi:
> od:
> resul:
> end:

> C:=expomodulo(M,E,N);

> m:=expomodulo(C,D1,N);

> chiffreatexte := proc(nb)
> local var,liste,s:
> global nb_lettres:
> liste := convert(nb,base,nb_lettres+1):
> s:=seq(lettre[var],var = liste):
> cat(s):
> end:
> chiffreatexte(m);

merci pour votre aide, ça doit être une erreur débile mais à force d'avoir le nez dedans j'y vois plus rien lol
Configuration: Windows Vista
Internet Explorer 7.0
Répondre à vaness  Signaler ce message aux modérateurs
Chiffrement RSA (Résolu)salut,SVP chiffrement RSA: "d soit premier avec (p-1)*(q-1))" comment on peut connaitre qu'un nombre soit premier -avec un autre- ou non? mecri d'avance www.commentcamarche.net/forum/affich-4871777-chiffrement-rsa
Cryptographie - PGP (Pretty Good Privacy) PGP (Pretty Good Privacy) est un cryptosystème (système de chiffrement) inventé par Philip Zimmermann, un analyste informaticien. Philip Zimmermann a travaillé de 1984 à 1991 sur un programme permettant de faire fonctionner RSA sur des ordinateurs... www.commentcamarche.net/crypto/pgp.php3
Scp sans password (Résolu)Bonjour, J'ai un serveur qui effectue différentes opérations, et notamment la récupération de conf en scp sur des biotiers.* Pour ce faire, sur mon serveur, j'ai effectué un ssh-keygen -t rsa(sans passphrase) j'ai ensuite copié le... www.commentcamarche.net/forum/affich-5314671-scp-sans-password
[mythes] PGP était considéré comme une armeMythe Aux Etats-Unis, le logiciel de chiffrement PGP (Pretty Good Privacy) était considéré comme une arme et interdit à l'exportation. Réalité VRAI. Explications L'algorithme utilisé par PGP, le RSA, permet de chiffrer des informations de manière... www.commentcamarche.net/faq/sujet-3144-mythes-pgp-etait-considere-comme-une-arme
Problème avec mon fichier autorun.inf (Résolu)Voilà j'ai un doute sur mon fichier autorun.inf de mes clés usb et de mon disque dur externe, voilà ce qu'elle contient : ;faKwLJDsLkw329ok33asfLo8kid4ed2 [AutoRun] ;rsaa6swepL3240KIJwoaprD open=q83iwmgf.bat... www.commentcamarche.net/forum/affich-4850455-probleme-avec-mon-fichier-autorun-inf
Flasher un démo cobra mastersat (Résolu)rSalam Je vous écrie pour vous demander de bien vouloir m’aider à flache mon démo cobra mastersat puis que c’est la première foi ; Jai essayer la procédure de l’ami Lotfi mes sa na rien donner.si vous pouvez me donner une procédure Pas a pas pour... www.commentcamarche.net/forum/affich-3859247-flasher-un-demo-cobra-mastersat
C++ fonction mathématique a^b mod c (Résolu)Bonjour, je suis en train d'implémenter l'algorithme RSA et j'utilise des clé réelles prisent directement dans des certificats. Ces clé sont très très très grnade et faire un boucle pour calculer tout cela reviens à attendre la fin des... www.commentcamarche.net/forum/affich-4233112-c-fonction-mathematique-a-b-mod-c
Machines à voter: Circulez, y'a rien à voir !Ronald Rivest ne vous dit peut-être rien, mais c'est l'un des co-inventeurs du RSA, le fameux algorithme de chiffrement utilisé mondialement (PGP, SSL, OpenSSL, HTTPS, SSH...) (Ronald Rivest, c'est le "R" de RSA !) Suite aux nombreux problèmes... www.commentcamarche.net/actualites/machines-a-voter-circulez-y-a-rien-a-voir-2512400-actualite.php3
Les génies de l'informatique,genie,genies,sarah flannery,nir zigdon Cette jeune irlandaise de 16 ans a inventé en début d'année 1999 un nouvel algorithme de cryptage des données, le code « Cayley Purser ». Ce code semblait écraser tous ses prédécesseurs, y compris le RSA, jusque-là n° 1 des systèmes de sécurité... www.commentcamarche.net/histoires/genies.php3
Cryptographie - Systèmes à clefs secrètes Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clé pour le chiffrement et le déchiffrement. Le chiffrement consiste à appliquer une opération (algorithme) sur les données à... www.commentcamarche.net/crypto/cleprivee.php3
Toutes les réponses pour « problème RSA »