Forum général.cherche-logiciel DES en ligne de commande

Posté par  .
Étiquettes : aucune
0
1
nov.
2010
Bonjour,

j'ai fait un petit programme en C qui crypte et décrypte l'entrée standard en DES. Ca me sert à générer des mots de passes cryptés pour un programme dont je ne peux pas changer le code source. Et je n'ai pas envie de passer par l'interface graphique à chaque fois alors j'ai fait mon petit programme, ça permet de scripter.

Mon programme fait 120 lignes donc il est vraiment tout simple. Il utilise une vieille bibliothèque DES écrite par Richard Outerbridge mise en domaine plublique.
La sortie de mon programme donne les bons résultats car ça fonctionne quand je donne ça à manger au programme dont je veux remplacer l'interface graphique.

Par exemple 123ABC donne 0x5A 0x65 0xB1 0xAA 0x1C 0xAD 0xC3 0x46
Si je donne l'hexa ça me redonne bien mon mot de passe en clair.

En fait j'ai écrit ce programme plutôt pour m'amuser car je pense qu'il existe quelque chose de déjà tout fait, mais je ne trouve pas. Je n'ai vraiment pas trouvé dans les choses courantes et standards disponibles sur la plupart des ditributions.
J'ai vu que OpenSSL le fait, mais je ne comprend rien à la doc car les résultats que j'ai ne correspondent pas à ce que je devrais avoir.

J'ai trouvé ça avec OpenSSL:

echo -n 123ABC > texteclair.txt
openssl des -nosalt -K 27627B16335E6817 -in texteclair.txt -out textecrypte.txt -iv ''
hd textecrypte.txt
ça donne 28 81 a3 53 ac 02 76 71

La clef DES est 0x27,0x62,0x7B,0x16,0x33,0x5E,0x68,0x17
Donc ça ne me donne pas du tout le bon résultat.

Je pense que le problème vient du paramètre iv (intermediate value ?). Dans la bibliothèque que j'utilise il n'y a aucune trace de ça. Alors j'ai mis une chaîne vide mais c'est peut-être ça le problème.

Sinon j'utiliserai un autre programme relativement standard, mais lequel ? Le but est de ne pas avoir à compiler quoi que ce soit sur une nouvelle machine.

Alors la question est: savez-vous comment utiliser OpenSSL ou un autre programme standard pour faire du DES tout con ?
  • # Mode de chiffrement...

    Posté par  . Évalué à 5.

    Openssl utilise un IV (pour Initialization Vector) car la bibliothèque utilise sans doutes un mode de chiffrement plus sûr que le bête "ECB" aka "un bloc clair donne toujours le même bloc chiffré", voir
    http://fr.wikipedia.org/wiki/Mode_d%27op%C3%A9ration_%28cryp(...)
    (par contre la doc n'éclaircit pas quel mode est utilisé par défaut).

    Essaye peut-être des-ecb ?
    • [^] # Re: Mode de chiffrement...

      Posté par  (site Web personnel) . Évalué à 4.

      (par contre la doc n'éclaircit pas quel mode est utilisé par défaut).

      man enc
      SUPPORTED CIPHERS
      ...
      des Alias for des-cbc

      C'est du cbc donc.

      les pixels au peuple !

      • [^] # Re: Mode de chiffrement...

        Posté par  . Évalué à 3.

        C'est effectivement cbc par défaut.
        J'ai essayé avec tous les autres modes proposés par OpenSSL mais rien de mieux.
        C'est un standard qui dépend de l'implémentation :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.