Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesRechercherS'enregistrerConnexion
hebergeur image

-29%
Le deal à ne pas rater :
PC portable Gamer ERAZER DEPUTY P60 – 15,6” FHD 144Hz – i7-12è ...
999.99 € 1399.99 €
Voir le deal

 

 [C] Cryptographie Asymétrique

Aller en bas 
AuteurMessage
Heady
Membre
Membre
Heady


Nombre de messages : 168
Age : 30
Points : 92
Réputation : -2
Date d'inscription : 18/12/2008

[C] Cryptographie Asymétrique Empty
MessageSujet: [C] Cryptographie Asymétrique   [C] Cryptographie Asymétrique I_icon_minitimeLun 12 Avr 2010 - 15:10

Bonjour à tous,

Je vais vous présenter ici un projet intéressant pour participer à des concours amicaux. Vous savez sûrement qu'il faut coder certaines données (bancaire, privée...) sur internet pour éviter des attaques visant la capture de ces données, mais comment faire ? La réponse c'est que nous transformons des informations en chiffres et/ou en lettres (©️ Fr 3) pour les rendre incompréhensible à un potentiel espion, c'est la "cryptographie". 

Pourquoi "Asymétrique" ? Eh bien car il existe la cryptographie symétrique et asymétrique.


Prenons l'exemple d'un coffre :


Dans un système symétrique, la clé du coffre est la même pour ouvrir ET fermer le coffre. L'avantage, c'est la simplicité, le désavantage c'est la simplicité. Le désavantage est beaucoup plus important, car il suffit de voler une seule clé pour tout décoder. Un exemple de cryptographie symétrique serait de remplacer une lettre par un chiffre "abcde..." = "12345...". Quand on connait le système pour coder, il est très facile de le décoder. Vous devriez comprendre le sens de "symétrique".

La solution : la cryptographie asymétrique. Si vous comprenez "symétrique", vous comprendrez le sens de "asymétrique". Pour le coffre, cela se traduirait du fait que la clé pour ouvrir est différente de la clé pour fermé. Dans ce cas, la clé pour CODER est appelé la clé PUBLIQUE, la clé pour DÉCODER est appelé la clé PRIVÉE (très important). RSA est un bijoux de la cryptographie asymétrique, encore très utilisé dans le domaine de l'internet.

Comment fonctionne-t-il ?


C'est assez complexe, en gros, la clé publique est composé de 2 chiffres : N et C. 

N = P*Q ,     P et Q étant des nombres premiers.

M = (P-1)*(Q-1)

C doit être premier avec M, on utilise le P(lus)G(rand)C(ommun)D(iviseur). PGCD(C,M) doit être égal à 1

La clé publique sera : (N,C)

Pour transformer un message, il faut choisir un chiffre de départ que l'on veut cacher, je vais utiliser des lettres, chaque lettre correspond à un chiffre (tablette ASCII à mettre dans vos favoris), ce chiffre nous allons le transformer. Par exemple, "Bn". 


  • B => 66
  • n => 110

Avec une fonction mathématique f(x) = (x^C)modulo(N). x étant la valeur de B, de n...

Imaginons que f(B) = 525 ; f(n) = 1029, le code serait alors 525 1029. 

En temps normal, N serait de l'ordre d'environ 10^1XX, imaginez alors la taille d'un simple mot codé !

On a ce code, il faut le déchiffrer grâce à une clé privée. Cette clé privé est constitué de 3 chiffres : U, P et Q

Nous ne calculerons pas U, c'est un peu compliqué et je n'ai pas l'algorithme en tête (indice d'Euler), on a besoin de P et Q. Il suffit alors d'utiliser une autre formule assez similaire à la précédente :

f(x) = (x^U)modulo(N), on retrouvera alors la valeur de départ, càd :

f(525) = 66 => B ; f(1029) = 110 => n.

L'avantage, c'est la complexité, le désavantage, c'est la complexité. L'avantage le remportant sur le désavantage en manière de sécurité. RSA se base vraiment sur la difficulté à trouver les facteur d'un nombre (N étant publique, si on réussi à obtenir P et Q, on peut tout déchiffrer c'est pour cela que N est gigantesque et donc que P et Q doivent être également TRÈS grand).

Comme on peut le voir, la clé publique et la clé privée sont bien différentes.

Objectif :

La réalisation d'un système de cryptographie asymétrique assez simple, qui ne gère pas les trop grands nombres (possibilité avec les nombres décimaux). 

Recrutement :

  • Algorithmique (Clés privée et publique, fonctions...)
  • Programmation (Langage C, Codage dans la calculatrice)
A mettre dans la calculatrice pour transmettre des mots papier ?

Une annexe à ce sujet sera ouverte pour cracker un système comme celui-la. C'est un peu plus complexe, je verrais comment faire pour coder une telle "chose".


Revenir en haut Aller en bas
 
[C] Cryptographie Asymétrique
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Le Musée :: Heady-
Sauter vers: