Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN KEYGEN EN LOSING BYTE UNE ALTERNATIVE A MD5


Information sur la source

Catégorie :Sécurité Niveau : Expert Date de création : 25/11/2003 Date de mise à jour : 02/12/2003 16:24:11 Vu / téléchargé: 8 021 / 756

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

Description

Il genere des clefs genre 26Iq-Izuk-8fkp-YLvU mais en losing bytes (avec perte d'infos...)

Je n'ai pas commantè le source pour des raisons evidente de sècuritè...

Vous pouvez evidament l'utiliser pour proteger vos applications, mais attention de bien respecter les regles imposèes par l'auteur.

Ceci est une rèponce de plusieurs demandes sur l'IRC et forum.

Bon Coding...

ManChesTer.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de japee le 25/11/2003 16:40:21 administrateur CS

Salut, ManChesTer.
Le uses du Form1 est pris dans le commentaire. On place le curseur au bon endroit, un coup sur Entrée, et la situation est rétablie ;)
Par contre, la clé générée n'a pas l'air d'émouvoir beaucoup le Form2 : 'Le mot de passe n'est pas correct' me dit-il inlassablement...

signaler à un administrateur
Commentaire de japee le 25/11/2003 16:51:38 administrateur CS

Ah, OK, je viens de comprendre.
C'est à nous de créer notre clé, et éventuellement retrouver le mot de passe qui correspond à la clé 'm1db-OcTg-yI2i-2wih'.
Autant pour moi, mes excuses :(

signaler à un administrateur
Commentaire de ManChesTer le 25/11/2003 17:06:02 administrateur CS

japee, merci de m'avoir signaler le uses, qd on fais trops de choses a la fois... ;o))

correction effectuèe...

Bon courrage pour trouvé le pass qui correspond a 'm1db-OcTg-yI2i-2wih', des bytes s'etant "volatilisèe" au passage, il faut un bruteforce, lol.

Bon Coding...

ManChesTer.

signaler à un administrateur
Commentaire de pyroflo le 25/11/2003 18:46:50

Oula, il y a un p'tit problème pour télécharger le ZIP...

Chez moi le ZIP contient des CLASS JAVA....lol

signaler à un administrateur
Commentaire de ManChesTer le 25/11/2003 21:26:09 administrateur CS

Lol, pas mal ca...., je fais pas de java, c'est encore un bug de CodeS-Sources, bon, je remet mon zip, lol

Bon Coding...

ManChesTer.

signaler à un administrateur
Commentaire de pyroflo le 25/11/2003 22:05:48

C'est bon, le ZIP est dans la poche !

signaler à un administrateur
Commentaire de japee le 02/12/2003 15:15:15 administrateur CS

Salut, Manchester.

Ce code est particulièrement intéressant.

Précisément, en travaillant dessus comme une bête, j'ai découvert un léger bug, qui peut s'avérer éventuellement gênant, selon comment on va exploiter la clé générée...

Dans les instructions :
  i:=round(a) mod 61;
  i:=round(b) mod 63; etc...
il semblerait que la valeur correcte soit 62, soit :
  i:=round(a) mod 62;
En effet, avec 61 on n'a jamais de 'z' (Chr(122)), et à partir de 63 (le cas se produit), 'i' n'est pas traité (donc il va manquer un caractère) dans ce type d'instructions :
  case i of
    0..9  : p1:=p1+chr(i+48);
    10..35: p1:=p1+chr(i+55);
    36..61: p1:=p1+chr(i+61);
    // else ShowMessage('Dépassement de limite');
  end;

Tu peux le tester, par exemple :
- sans changer la valeur dans a:=a*100
  nom: tot
  clé: LG0e-Etx-IhiU-E14g (3 caractères seulement dans la 2ème série)
- en remplaçant la valeur 100 par :
  - 109 :
  toto
  bKXv-BmA-nw1A-ppWp (3 caractères dans la 2ème série)
  - 110 :
  toto
  A7v6-30hG-WCpX-sTQ (3 caractères dans la 4ème série)
  - 106 :
  ManChersTer
  W2gp-yX5n-lG8Q-hNV (3 caractères dans la 4ème série)
etc...

Merci encore pour ce code. Vraiment utile !

Bonne prog' ;)

signaler à un administrateur
Commentaire de japee le 02/12/2003 15:22:23 administrateur CS

Je voulais évidemment dire "en changeant, ou en ne changeant pas LES valeurs '100' dans les expressions de type a:=a*100".
Pas trop la forme en ce moment...   ;)

signaler à un administrateur
Commentaire de ManChesTer le 02/12/2003 16:21:01 administrateur CS

japee,

Tu a raison la val correcte est 62, je le savais, mais je n'ai pas mis a jour la version sur le site....

Je prepare un ptit truc pour les fetes qui utilise le keygen, j'avais remarquer le bug a cette occase..., je le met a jour, lol

Bon Coding...

ManChesTer.

signaler à un administrateur
Commentaire de grandvizir le 25/07/2005 14:38:38

Titre du code> "Alternative au MD5"

Ben, à quoi sert SHA1 alors ?
http://www.codes-sources.com/rfc.aspx?rfc=3174

signaler à un administrateur
Commentaire de ManChesTer le 25/07/2005 21:59:35 administrateur CS

Cher grandvizir,

Le titre ne mensionne pas "LA SEULE Alternative au MD5" Si ?

Il est en fait une alternative à tous ce qui est stockage de mot de passes, comme on perd des infos au passage, bon courrage pour le reverse, seule solution viable pour le Hacké : Le bruteforce (comme MD5 quoi que...).

Qand à SHA1, heuu ...Il est plutot fait pour faire des signature de fichiers, et n'a rien a voir avec MD5 ou mon algo. Attention, ne pas utiliser SHA1 pour stocker des mots de passe, il n'a pas été fait pour, il est tres facile de retrouver un "Compatible password", et donc il est assez peux fiable por le stockage/verification de mot de passe. D'un autre Côtè, MD5 ou mon algo n'ont pas la vocation de servir pour les signature, meme si on peut le faire avec....

Bon Coding....

MnChesTer.

signaler à un administrateur
Commentaire de grandvizir le 27/07/2005 12:18:35

Je suis d'accord que ce n'est pas LA SEULE alternative. D'ailleurs, j'ai pas dit ça. Mais, il y a quand même un truc qui tue dans ta description: «Je n'ai pas commantè le source pour des raisons evidente de sècuritè...».

Le MD5 est très documenté et il n'a pas de problèmes. Mais vu la petitesse du script comparé à MD5, je vois mal comment tu peux espérer qu'il soit inviolable. Mais surtout, un bruteforce C++ pulvériserait des records de vitesse au niveau de la tentative de décodage.

Où sont les SHR, le SHL, les XOR... dans ton code ? Pour du "losing byte", c'est un peu léger.

Autre regret: les clés sont généralement des sérials en hexadécimal.

Au final, ton code pourra toujours aider à la création de clés, mais en aucun cas, je ne vois d'alternative. Peut-être que je me trompe, mais tant qu'il n'y a pas de documentation, ça sent la fébrilité (même si la longueur de la clé est déjà conséquente).

;)

signaler à un administrateur
Commentaire de japee le 27/07/2005 15:51:59 administrateur CS

Extraits des 3 derniers posts sous forme de dialogue :



grandvizir: "Titre du code> "Alternative au MD5" Ben, à quoi sert SHA1 alors ?"

ManChesTer: "Le titre ne mensionne pas "LA SEULE Alternative au MD5" Si ?"

grandvizir: "Je suis d'accord que ce n'est pas LA SEULE alternative. D'ailleurs, j'ai pas dit ça."

Je suis au bord d'un abîme de perplexité...
Sûr que le jour où je comprendrai ta logique, Grandvizir, j'aurai fait un grand pas en avant, mdr! ;)


___japee_ ->
        |
        |
        |
        |
        |
        |
        |
        |?????????????????

signaler à un administrateur
Commentaire de ManChesTer le 27/07/2005 19:39:49 administrateur CS

Cher grandvizir,

Puisque la sécurité d'un algo viens de sa complexité, et de sa documentation (enfin c'est ce que tu dit), tu vas sans peine nous retrouver le mot de passe qui correspond à la clé 'm1db-OcTg-yI2i-2wih' comme je le propose dans le code et comme tu le propose si bien dans ta phrase "un bruteforce C++ pulvériserait des records de vitesse au niveau de la tentative de décodage" bien que je n'ai pas compris pour quoi en c++ et pas en Asm, m'enfin c'est que je dois etre con.

Il faut savoir que md5 est craké depuis quelques temps, mais ca tu le savais déja en grand pro du sujet, evidament...

voir sur ton forumpréféré :

http://www.governmentsecurity.org/forum/index.php?showtopic=10777

Je ne préténd pas que se code est plus inviolable que md5 mais, que comme tous le monde utilise md5 pour le stockage de mot de passe, il me semblais interessant pour la sécurité de publier une mèthode aussi fiable, bien plus simple, et surtout modifiable et compréhensible par tout programmeur un peux "intelligent", qui si il le désire peut facilement ajouter les xor &co bien que je n'en vois pas l'utilité.

La raison pour laquelle l'algo proposé ici est sécure est simplement du au fait que la clef ne reflete pas le mot de passe, on perd des infos au passage d'ou le "losing bytes", donc retrouver le pass depuis la clef est vraiment hard. Enfin on attend quand meme ta solution.

Bon Coding....

ManChesTer.

signaler à un administrateur
Commentaire de ManChesTer le 27/07/2005 19:44:57 administrateur CS

Arf j'oubiais...

Depuis quand les clef de win xp par exemple sont en hexa, t'a jamais enregisté ton xp ?

Bon Coding...

ManChesTer.

signaler à un administrateur
Commentaire de grandvizir le 28/07/2005 09:31:27

«Il faut savoir que md5 est craké depuis quelques temps, mais ca tu le savais déja en grand pro du sujet, evidament»
Ah ben, t'es bien le premier à affirmer une telle chose. Alors merci d'abandonner les "évidences"... Beaucoup pensent qu'il est solide (dont moi), et de toute façon, pour créer des sites Web dynamiques, c'est satisfaisant, suffisant et on ne se pose pas de questions. Il "paraîtrait" qu'on a juste l'obligation de masquer les mots de passe dans les bases de données MySQL de manière à ne pas pouvoir retrouver l'original. Ce masque tombe d'ailleurs sous le sens...

Et j'en rien à faire vos histoires de md5. Je demandais simplement pourquoi (et comment) on peut-être sûr que ton code soit fiable ? Je ne doute pas des capacités Manchester (alors merci de ne pas croire des choses que j'ai pas dites, notamment "con", "idiot" et autres) : c'est vrai que le code est séduisant (diversité des lettres, longueur...), mais techniquement, comme pour le MD5 (d'après tes propos), il faut le tester. Et c'est là qu'il faut de l'information...

signaler à un administrateur
Commentaire de ManChesTer le 28/07/2005 12:55:11 administrateur CS

"il faut le tester. Et c'est là qu'il faut de l'information..."

Le source ce n'est pas une inforation ?

Moi, il me semble que c'est la plus importante, pour moi, le coder qui ne pige pas cet algo, n'est pas capable de le maitrisé et donc ne doit pas jouer avec.

D'autre part, j'ai pondu cet algo en 1989 et cette technique et ses dérivée est utilisée depuis 1992 par une sociètè spècialisèe en sècuritè informatique, jusque ici, aucun de leurs clients ne s'est plaint d'une quelconque infiabilité de cette routine.

La seule chose que j'ai changé à mon algo, c'est juste de le traduire de l'assembleur en delphi et de passer du 16bits au 32bits.

Mais bon, pour le tester , tu a le source, tu à un pass à retrouvé ('m1db-OcTg-yI2i-2wih'), fais le (en C++ c'est mieux, mptdr)!

D'autre part, je ne suis pas le seul a dire que md5 est Hackable et hacké, si tu avais pris la peine de lire le forum dont je donne l'adresse si dessus tu le saurais, mais peut etre ne comprenons nous pas le meme anglais ?, pourtant l'exemple des tables est frappant et permet de reduire le nombre de "tests" en bruteforce, ce qui rend justement md5 infaible pour les mot de passe...

Bon Coding....

ManChesTer

signaler à un administrateur
Commentaire de JulioDelphi le 03/10/2008 11:35:05 administrateur CS

Et 3 ans après, GrandVizir n'a toujours pas trouvé le mot de passe ... x)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,20 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.