begin process at 2012 02 10 10:39:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > [C / WIN32] RATLIB - CRYPTER FACILEMENT EN RC4, AES ET TEA

[C / WIN32] RATLIB - CRYPTER FACILEMENT EN RC4, AES ET TEA


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Classé sous :crypter, aes, rc4, tea, md5 Niveau :Débutant Date de création :13/09/2007 Vu / téléchargé :10 214 / 982

Auteur : Neo_Fr

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Une petite lib de cryptage tres facile a utiliser qui vous permettras de crypter vos fichier grace aux algos RC4, AES ou encore TEA, elle permet aussi de 'signer' ses fichiers...
La lib est fourni avec deux projets demo...

Source

  • Pour plus d'infos sur les differents algos utiliser par la lib:
  • -AES: http://fr.wikipedia.org/wiki/Standard_de_chiffrement_avanc%C3%A9
  • -RC4: http://fr.wikipedia.org/wiki/RC4
  • -TEA: http://www.simonshepherd.supanet.com/tea.htm
Pour plus d'infos sur les differents algos utiliser par la lib:
-AES:   http://fr.wikipedia.org/wiki/Standard_de_chiffrement_avanc%C3%A9
-RC4:   http://fr.wikipedia.org/wiki/RC4
-TEA:   http://www.simonshepherd.supanet.com/tea.htm


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   CryptFile
  •   Lib
    •   Dev-Cpp
      • ratLib.devTélécharger ce fichier [Réservé aux membres club]1 864 octets
    •   VC++
      • Release
      • ratLib.defTélécharger ce fichier [Réservé aux membres club]348 octets
      • ratLib.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier876 octets
      • ratLib.vcprojTélécharger ce fichier [Réservé aux membres club]4 267 octets
    • aes.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier33 035 octets
    • aes.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 476 octets
    • md5.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 784 octets
    • md5.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 673 octets
    • ratLib.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier15 690 octets
    • ratLib.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 833 octets
    • rc4.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 757 octets
    • rc4.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 049 octets
  •   SignFile
  • ratLib.dllTélécharger ce fichier [Réservé aux membres club]22 016 octets
  • ratLib.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 076 octets
  • ratLib.libTélécharger ce fichier [Réservé aux membres club]3 464 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture [C / WIN32] NTCLIB: COMPRESSION PAR API NATIVE
Source avec Zip [C / WIN32] CHANGER DE FOND D'ÉCRAN AVEC IACTIVEDESKTOP
Source avec Zip [C / WIN32] LIRE UN FICHIER LIGNE PAR LIGNE
Source avec Zip [C / WIN32] COMPRESSION HUFFMAN
Source avec Zip [C] ALGORITHME BRUTE FORCE

 Sources de la même categorie

PROJET DE CRYPTOGRAPHIE: RSA À JEU REDUIT D'INSTRUCTION par samatarahmed
Source avec Zip Source avec une capture CRYPTOSYSTÈME ELGAMAL LIBRAIRIE GMP par louelh95
Source avec Zip Source .NET (Dotnet) NOUVEL ALGORITHME D'ENCRYPTION-DÉSENCRYPTION DYNAMIQUE (INFA... par vletktol
Source avec Zip A2DCRYPT - CRYPTAGE 2048 BITS par darkor
Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR-IP par antho974

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) NOUVEL ALGORITHME D'ENCRYPTION-DÉSENCRYPTION DYNAMIQUE (INFA... par vletktol
Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR-IP par antho974
Source avec Zip CHIFFREMENT AES UTILISANT LES API WINDOWS (CSP) par Proutix
Source avec Zip Source avec une capture [C / WIN32] NTCLIB: COMPRESSION PAR API NATIVE par Neo_Fr
Source avec Zip Source avec une capture SHAMAN LIBRAIRIE DE HASH SUPPORTANT SHA1 SHA256 SHA384 SHA51... par xtremejames183

Commentaires et avis

Commentaire de Bel0 le 14/09/2007 16:50:06

1° Fonction FixFile
Etant donnée que tu utilises des fonctions de chiffrement fonctionnant par bloc, tu dois faire en sorte que la taille du bloc du cipher et la taille du fichier correspondent, ce que tu as bien fait. En anglais, on dit qu'on rajoute du "padding". Dans ton cas, tu rajoutes uniquement des zéros à la fin du fichier. Ce n'est pas vraiment la meilleur façon de procéder. Il y a des "standards" de padding (cfr: http://en.wikipedia.org/wiki/Padding_%28cryptography%29).

2° Dans FixFile, tu rajoutes le padding "in place" dans le fichier et ensuite tu le retires ... un peu barbare non ? :) Pourquoi ne pas le faire dans le buffer mémoire au lieu d'aller modifier le fichier, encrypter, enlever les mods dans le fichier.

3° DecryptFile (toutes)
Etant donné que tu ajoutes du padding au moment de l'encryption, tu vas avoir des données superflues au moment de la décryption. Tu DOIS les enlever pour reconstituer le fichier original.

4° Tu utilises les blocks ciphers en mode ECB, tu ferais mieux d'utiliser le mode CBC qui "dissimule" mieux les données. Une bonne illustration du pourquoi et une explication sur les autres modes est donnée à l'adresse suivante: http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29

5° Mot de passe -> Clé
Pour générer la clé à partir du mot de passe, il y a aussi des standards à utiliser de préférence ! (notamment PKCS5 défini dans le RFC2898 (http://tools.ietf.org/html/rfc2898)).

6° Signature de fichier (Le plus gros problème)
Le but d'une signature est de prouver l'authenticité du message. Je banalise un peu la chose ...

Premièrement, on effectue un hash des données (ce que tu fais) et ensuite on signe le hash.

Le problème avec ce que tu as fait est le suivant. Si un attaquant modifie le fichier que tu as "signé", il doit aussi modifié le hash qui se trouve au début du fichier ... ce qui ne lui pose *AUCUN* problème étant donné que la fonction de hash est connue. Il est donc impossible de voir si qqn a modifié le fichier.

Par contre en signant le hash (avec ta clé privée en utilisant RSA en mode signature, clé privée que tu es le seul a possédé), n'importe qui peut vérifier si le hash a été modifié (en utilisant ta clé publique que tout le monde peut avoir).

Si ce que j'ai dit n'était pas clair (et c'est sans doute le cas :|), je te conseille de consulter (http://en.wikipedia.org/wiki/Digital_signature).

---

Je crois que j'ai fait le tour des plus gros défauts (cryptographiques) du programme. Le code en soit est correct et la séparation des différentes fonctions est plutôt bonne. Rien à redire de ce coté.

Créer des programmes qui utilisent correctement la cryptographie n'est pas quelque chose d'évident à faire. Si un jour, tu dois en utiliser dans tes programmes de façon "plus professionnel", je te conseille d'utiliser la librairie OpenSSL.

Commentaire de Neo_Fr le 14/09/2007 19:49:52

Salut,
1) merci pr le lien sur les standards du padding mais serieusement mise a part un pb de standard je ne pensse pas que cela cause un pb de sécurité

2) Tu a raison cette methode n'est pas tres sure, je suis en train de faire un fonction qui crypte en memoire puis l'ecrit ds un fichier, je ferais bientot une maj

3)Effictevement il ya des donnés en trop ds le fichier qui sont enlever ici:
if(!RetValue) UnFixFile(OutFile);//Si la fct de decryptage reussi,on restaure

6) C'est vrai que c'est pas tres sure mais a la base j'ai plutot fait cette fonction pour pouvoir verifier l'integrité du fichier apres le decryptage

Merci pr tes conseilles j'essayerais de m'en rapeller quand je ferait une maj..

Neo_Fr

Commentaire de boussema le 06/01/2008 00:38:04

salut,
merci pour les codes,
mais j'ai une question, pourquoi quand on fait la compilation d'un seule code (exemple le aes.c) il y aura beaucoup des erreurs, notant que j'ai utilse le compilateur c et linux, mais la meme resultat.

Commentaire de difallah le 18/10/2008 07:34:19 10/10

Bonjour à tous ,

J'essaye d'ajouter des cryptage à cette bibliothèque, j'ai heurter n obstacle , je me demande si c'est possible enfin ? Il comment dois - je proceder si je veux garder l'interface graphique de Cryptfile ?

Commentaire de Neo_Fr le 19/10/2008 01:52:44

Quel algo essaye-tu d'ajouter?
J'ai fait une nouvelle version avec plus d'algos mais il me reste quelques bugs a corriger avant de poster..

Neo_Fr

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

crypter avec AES une image de type bitmap en utilsant le language c [ par ami2008 ] Salut,je veux quelqu’un m'aider à chercher un code ou le principe pour crypter avec AES une image de type BITMAP en utilisant le language c... Implémentation d'AES dans NS2 [ par Louk88 ] Bonjour S'il vous plait, j'ai un problème dans l’implémentation de l'AES en NS2. En fait, je voudrai appeler la fonction de chiffrement et de d crypter un mot de passe et créer un répertoire [ par Vinsou ] salut,je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).O md5 etc.... [ par xlsd ] Salut, est il possible (oui forcement) d'utiliser md5 en C/C++ je n'arrive pas a trouvé les fonctions etc..merci :) Problème de fonctions [ par sebastienbro ] Voilà, j'ai créé une fonction Cryptage qui renvoi un type long pr savoir si il y a une erreur ou pas.J'aimerais savoir comment faire pour que la fonct Cryptage par l'algorithme MD5 [ par LSRS ] [red]Salut tout le monde!!!J'ai un problème avec l'algorithme MD5 de RSA... je voudrais bien comprendre le mécanisme avec lequel il travaille...En plu Le cryptage par MD5 de RSA [ par LSRS ] Salut tout le monde...J'ai un très grand problème avec l'algorithme de hachage MD5 qui réprésente le squelette de mon stage d'été... Je n'arrive pas à utilisation du fichier md5.h [ par flatmax ] salut a tousje viens de recuperer les fichiers md5.h, md5.cpp, et j'aimerais savoir comment m'en servir pour obtenir le hash md5 d'un mot.quels foncti cryptage md5 [ par laflef ] salut je cherche le code source de l'algorithme de cryptage md5 base sur le hachage inversible md5 [ par coockiesch ] Hello!!!Je cherche une fonction qui produise le meme cryptage que la fonction md5 de PHP. C'est possible???Merci@++Raf"On dit que seulement 10 personn


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales