Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / Encryptage en python

Encryptage en python

Remonter à Forum général Python
  • Encryptage en python

    Envoyé par Sinclair le 17 Février 2006 à 12:13
    Bonjour à tous,

    Je souhaite réaliser un 'cryptage' très basique pour transformer systématiquement un login (exemple : E4-15872514) en un mot de passe très court (exemple : fyna).

    L'algo de cryptage doit être paramétrique, c'est à dire comprendre une clé.

    L'idée est de fournir à un tiers l'algo + la clef pour qu'il génère ses mots de passe / et que moi de mon côté je génère les mêmes mots de passe pour le l'appli Zope plus tard.

    Ma question est : où trouver ce genre d'algo ?

    Merci d'avance.
    • Re: Encryptage en python

      Envoyé par ulukyn le 18 Février 2006 à 15:35
      L'algo que tu cherche est un peu particulier.

      En général le cryptage ne simplifie pas, bien au contraire.

      De plus, j'ai un peu de mal à voir l'interêt d'un tel système. Pourquoi la personne ne recevrai pas son mot de passe dans sa messagerie?

      Sinon, voici tout de même une méthode qui devrait fonctionner.

      L'algo se décompose en 2 parties:

      1) le cryptage à partir du login et de la clé
      2) la création du mot de passe court

      Pour le cryptage
      Exemple avec le login "E4-15872514" et la clef "key"
      - on assemble les 2 : "E4-15872514"+"key" => "E4-15872514key"
      - on calcule une empreinte MD5:
      md5( "E4-15872514key" ) = f5eb2cac384982cd2367fe416f9b354c

      A partir de là, il n'est pas (facilement) possible de retrouver le login ou la clé même en connaissant l'un des 2

      Il faut ensuite générer le mot de passe "simple" depuis la clé.
      On peut prendre par exemple les 5 premiers chiffres:
      f5eb2
      puis pour chaque chiffre on fait correspondre une consomne
      0 1 2 3 4 5 6 7 8 9 a b c d e f
      b c d f g h j k l m n p q r s t

      et une ou 2 voyelles suivant la valeur
      0 1 2 3 4 5 6 7 8 9 a b c d e f
      a e i o u ai au ei eu ia ie io iu ou oi ui

      ce qui donne
      f => t
      5 => ai
      e => s
      b => io
      2 => d

      Mot de passe : taisiod

      Nombre possibilités:
      15*15*15*15*15 = 15^5 = 759375

      P.S. :
      Dialogue crypté:
      - f0ee3 ?
      - 9ea3a

    • Re: Encryptage en python

      Envoyé par Sinclair le 18 Février 2006 à 17:23
      Merci beaucoup pour l'idée. Je vais m'en inspirer.

      L'intérêt du système est le suivant : j'ai un client qui a besoin de fournir à ses fournisseurs un accès sur la plateforme que je développe, mais cet accès n'existe pas encore ; nous devons donc déterminer ensemble une stratégie commune pour générer chacun de notre côté des logins (son numéro unique de fournisseur par exemple) et des mots de passe calculés sur les logins (et si possible que ce calcul ne soit pas évident) identiques.
Rendu par Ploneboard