IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Mini RSA


Sujet :

Contribuez

  1. #1
    Membre confirmé
    Avatar de Captain'Flam
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 273
    Points : 455
    Points
    455
    Billets dans le blog
    1
    Par défaut Mini RSA
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Mini RSA

    Le principe de base de RSA est de conciderer un message comme un (grand) nombre entier et de faire des calculs dessus pour le chiffrer.

    Les implémentations que l'on trouve dans le monde industriel utilient des librairies de calcul sur des entiers arbitrairement longs très optimiées et difficiles à comprendre.

    Le but de ce petit programme est d'implementer RSA sur des entiers "classiques" et sans la moindre optimisation pour mieux comprendre l'algorithme.



    Pour autant, cette implementation est parfaitement conforme à l'algorithme RSA.

    Sa seule limitation est taille de la clef qui est de 31 bits au maximum.

    Ce qui donne un niveau de sécurité à peu près nul (il faut au moins 512 bits pour que l'on puisse commencer à parler de sécurité).



    Le type des entiers est 'big_int' qui peut être un long (32bits) ou un long long (64bits).

    Mais il peut être remplacé par n'importe quel type qui supporte les opérateurs d'affectation, d'arithmétiques classiques (*+/-%) et de comparaison.



    Le code est en c++ tout à fait standard, mais est livré avec un projet Visual Studio 2005.

    Qu'en pensez-vous ?
    Captain'Flam
    anciennement Sopsag, aka Hadrien
    Win seven x64 & Win 10 / Visual 2017 / Python 2.7 / Eclipse

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Bonjour,

    Le but est purement éducatif alors. Car il est dommage de se limiter a des nombres aussi court. Comme déjà précisé seulement à partir d'une clé de 512bits ont peut commencer à parler de sécurité.

    En java les objets BigInteger lèvent totalement ce problème.

    La dernière difficulté viens de la génération de la paire de clé. En effet produire des nombres premiers très grand et s'assurer qu'ils le sont n'est pas simple.
    L'objet BigInteger possède une méthode qui se base sur l'algorithme Rabin-Miller pour avoir une très forte probabilité que le nombre fabriqué à l'aide d'un générateur pseudo-aléatoire est premier : Le générateur de clé de l'API de cryptographie BouncyCastle fonctionne de cette manière.

    Bien préciser que la sécurité de RSA repose uniquement sur la difficulté de factoriser un nombre très grand. Vu les enjeux, il est fort probable que dans un avenir proche de nouvelles techniques rendront l'algorithme obsolète.

Discussions similaires

  1. [RAID] config mini pour mise en place RAID 10
    Par netah25 dans le forum Composants
    Réponses: 4
    Dernier message: 27/01/2005, 16h32
  2. Début de mini moteur 2d
    Par GaldorSP dans le forum DirectX
    Réponses: 8
    Dernier message: 27/12/2004, 14h24
  3. Longueur de clés RSA et loi française
    Par Drizzt [Drone38] dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 24/06/2004, 15h01
  4. RSA
    Par prgasp77 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 07/06/2004, 14h49
  5. cherche algos encryption en RSA et ELGAMAL
    Par Vermin dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/11/2002, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo