Delphi : sha-1 en mode chiffrement (shacal)

0/5 (4 avis)

Vue 8 270 fois - Téléchargée 1 208 fois

Description

Se basant sur les API de la DLL Advapi32, le projet joint permet de signer ou de chiffrer de façon réversible un texte en utilisant la fonction de hachage SHA-1.

En effet, contrairement à ce que l'on peut penser, une fonction de hachage peut être utilisée pour chiffrer. Dans le cas du SHA-1 (Secure Hash Algorithm), il existe un algorithme de chiffrement symétrique, SHACAL que l'on doit à Helena Handschuh et David Naccache.

Source / Exemple :


Cf. projet joint

Conclusion :


Retenez que certain caractères comme #0, #9, #10 ou #13 sont interdits dans l'expression cryptée.

Bibliographie MSDN :
http://msdn.microsoft.com/en-us/library/aa379886(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa379908(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa380202(VS.85).aspx

Codes Sources

A voir également

Ajouter un commentaire Commentaires
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
24 mars 2009 à 20:06
Je faisais le distingo en signature numérique et chiffrement réversible pas au niveau de sécurité. MD5 n'est plus utilisé depuis longtemps et n'est pas un bon exemple.

Sinon, je vous renvoie à l'excellent l'article de wikipedia donc voici quelques extraits :

Origine : SHA-0 et SHA-1
" Le SHA-1 est le successeur du SHA-0 qui a été rapidement mis de côté par le NIST pour des raisons de sécurité insuffisante. Le SHA-0 était légitimement soupçonné de contenir des failles qui permettraient d'aboutir rapidement à des collisions (deux documents différents qui génèrent le même condensat). Face à la controverse soulevée par le fonctionnement du SHA-0 et certains constats que l'on attribue au NSA, le SHA-0 s'est vu modifié peu après sa sortie (1993) et complexifié pour obtenir le SHA-1 (1995). Une collision complète sur le SHA-0 a été récemment découverte par Antoine Joux et al. (août 2004) et laisse penser que le SHA-1 pourrait lui aussi subir une attaque."

...

La famille SHA
" Des versions offrant plus de sécurité sont également disponible : SHA-256, SHA-384 et SHA-512. Comme leur nom l'indique, ces versions fournissent des signatures de 256, 384 et 512 bits. Une variante a été récemment ajoutée, le SHA-224 assure une compatibilité avec la longueur de deux clés qui seraient utilisées pour du Triple DES (4 clés de 56 bits, le 3DES utilise 3 clés de 56 bits). "

Cordialement
masfoufa Messages postés 3 Date d'inscription mardi 24 mars 2009 Statut Membre Dernière intervention 24 mars 2009
24 mars 2009 à 16:08
FENETRES:
Sachez toutefois qu'une empreinte numérique construite à partir d'une fonction de hachage (MD5, SHA-1 etc.) demeure irréversible.
je ne suis pas expert en cryptologie mais je ne suis pas d'accord SHA-1 et MD5 ( some times It takes less than five minutes to break MD5" attack par vecteur, bien sure il y a aussi le Bruteforce mais par contre le AES (Rijndael) il tient tj le coup.
( plz forgive my bad french ;) )
Think security
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
22 mars 2009 à 21:56
Je ne me suis pas étendu dans ma description. Consultez wikipedia pour plus d'information
Sachez toutefois qu'une empreinte numérique construite à partir d'une fonction de hachage (MD5, SHA-1 etc.) demeure irréversible.
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
22 mars 2009 à 18:19
Très interessant ...

Par contre, je fais partie des gens qui pensait qu'une fonction de hashage n'etait jamais reversible, d'ailleurs ça perds tout son interet si elle l'est.

Du coup, je vais regarder ça avec attention :=)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.