Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

Cryptage par courbe elliptique

Posté par
Labebette
07-03-08 à 10:47

Bonjour, je suis en DUT info.
Je dois coder une interface homme / machine pour crypter / décrypter un message avec une courbe elliptique. Il doit être codé avec le logiciel scilab.

J'ai du mal à comprendre les explications sur le net à propos de cette méthode, et j'aimerais avoir un exemple concret ou une explication claire de comment ca fonctionne.

Pour le moment j'ai déjà choisi mon point commun (P) pour les 2 utilisateurs. Les 2 utilisateurs ont eux aussi le chiffre secret (ka et kb). J'ai ensuite calculé pour chaque utilisateur les points ka P et kb P.

L'un des utilisateurs doit ensuite faire ka (kb P) et l'autre kb (ka P), et ils sont censés avoir le même point, or dans mon programme ce n'est jamais égal.
Et même s'il l'était, je ne sais pas par quoi continuer ensuite, quelqu'un pourrait m'aider ?

CODE SOURCE:

Citation :
deff('[y]=f(x)','y=sqrt(x^3+2*x+3)');

function [res] = plus(p,q)
  ptinfini = [0,0];
   if(p==ptinfini) then res = q; end
   if(q==ptinfini) then res = p; end
  
    if(p==q) then
      if(p(1)==0) then
        res = ptinfini;
      else
        coef = (3*((p(1))^2)+1)/(2*p(2));
        res(1) = (coef^2)-2*p(1);
        res(2) = -p(2)+(p(1)-res(1))*coef;
      end
    else
      if(p(1)<>q(1)) then
        coef = (q(2)-p(2))/(q(1)-p(1));
        res(1) = -p(1)-q(1)+coef^2;
        res(2) = -p(2)+(p(1)-res(1))*coef;
      else
        res = ptinfini;
       end
     end
endfunction


function [res] = multipleEE(p, n)
  ptinfini = [0,0];
  res = ptinfini;
    while(n>0)
      if (modulo(n,2)==1) then
        res = plus(res, p);
        n = n-1;
      else
        p = plus(p,p);
        n = n/2;
      end
    end
endfunction

point_commun = [ 5,f(5)];
ka = 2;
point_a = multipleEE(point_commun,ka);


kb = 6;
point_b = multipleEE(point_commun,kb);

truccommun1 = multipleEE(point_b,ka)
truccommun2 = multipleEE(point_a,kb)


Merci d'avance.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !