Delphi : sha-1 en mode chiffrement (shacal)

Soyez le premier à donner votre avis sur cette source.

Vue 7 136 fois - Téléchargée 1 002 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

John Dogget
Messages postés
390
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
7 mai 2009

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 :=)
FENETRES
Messages postés
196
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2009

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.
masfoufa
Messages postés
3
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
24 mars 2009

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

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

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.