Crypter des images .jpg

Crypter des images .jpg - PHP - Programmation

Marsh Posté le 14-12-2005 à 21:19:11    

Salut à tous !
 
Je voudrais crypter des images .jpg, auriez-vous des idées et/ou des liens à me proposer pour ce type de tâche ?
J'ai des infos sur le cryptage de fichier texte mais pour des fichiers binaires... mystère ??
 
Merci !!

Reply

Marsh Posté le 14-12-2005 à 21:19:11   

Reply

Marsh Posté le 14-12-2005 à 21:25:13    

qu'appelles tu crypter ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-12-2005 à 22:01:59    

KangOl a écrit :

qu'appelles tu crypter ?


 
C'est à dire "chiffrer" un image par exemple en utilisant une fonction mcrypt_encrypt()
mais cette fonction s'applique sur des données "textes" pas sur des données "binaires"

Reply

Marsh Posté le 14-12-2005 à 22:12:57    

ben tu pourrais convertir ton binaire en texte genre:
0x0A => "0A"
 
et ensuite chiffrer

Reply

Marsh Posté le 14-12-2005 à 22:36:34    

tu as des centaines d'algo d'encryptage ...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-12-2005 à 22:41:01    

les plus clasique  
DES  
3DES ( ou DES EDE )  
AES  
blowfish  
 


---------------

Reply

Marsh Posté le 14-12-2005 à 22:41:45    

rot13 ?
 
bon ok, -->[]


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 15-12-2005 à 17:44:23    

flo850 a écrit :

les plus clasique  
DES  
3DES ( ou DES EDE )  
AES  
blowfish


 
Peut m'importe les algo de cryptage...
 

_darkalt3_ a écrit :

ben tu pourrais convertir ton binaire en texte genre:
0x0A => "0A"
et ensuite chiffrer


Eh bien c'est ce que je veux faire depuis le début du sujet !!
Donc comment faire ?? En php ...

Reply

Marsh Posté le 15-12-2005 à 17:50:11    

t'installe SSL 1024 bits sur ton site et voilà :o
 
(fait gaffe, ça met longtemps à générer une telle clé :o)

Reply

Marsh Posté le 15-12-2005 à 18:18:15    

Moi, ce que je veux c'est une ébauche de script en php, donc pas besoin de théorie !! :-)

Reply

Marsh Posté le 15-12-2005 à 18:18:15   

Reply

Marsh Posté le 15-12-2005 à 18:21:30    

Arjuna a écrit :

t'installe SSL 1024 bits sur ton site et voilà :o
 
(fait gaffe, ça met longtemps à générer une telle clé :o)

C'est légal comme taille de clé en france? Me semblait qu'on avait droit qu'au 128 bits voire au 512 bits sous certaines conditions.

Message cité 1 fois
Message édité par omega2 le 15-12-2005 à 18:22:36
Reply

Marsh Posté le 15-12-2005 à 18:48:28    


Code :
  1. <?php
  2.   $key = "Cette cle est ultra-secrete";
  3.   $input = "Rencontrons-nous dans notre place secrete a 9 h 00.";
  4.   $encrypted_data = mcrypt_ecb(MCRYPT_TripleDES, $key, $input, MCRYPT_ENCRYPT);
  5. ?>


Donc au lieu d'avoir du texte dans la variable $input, il me faut une image.

Reply

Marsh Posté le 15-12-2005 à 19:32:03    

J'ai trouvé ça : http://www.phpclasses.org/browse/package/2227.html
Mais cela conçerne un cryptage par stéganographie.

Reply

Marsh Posté le 15-12-2005 à 20:58:48    

J'ai trouver une solution possible :
 

Code :
  1. <?php
  2. $cle = "clef pour ouvrir le coffre";
  3. $donnees = file_get_contents("essai.jpg" );
  4. $algo = MCRYPT_BLOWFISH;
  5. $mode = MCRYPT_MODE_CBC;
  6. $iv = mcrypt_create_iv(mcrypt_get_iv_size($algo, $mode), MCRYPT_DEV_URANDOM);
  7. //
  8. // Crypter et décryptage de fichier
  9. //
  10. $donnees_chiffrees = mcrypt_encrypt($algo, $cle, $donnees, $mode, $iv);
  11. $donnees_bruts = base64_encode($donnees_chiffrees);
  12. $donnees_dechiffres = mcrypt_decrypt($algo, $cle, base64_decode($donnees_bruts), $mode, $iv);
  13. //
  14. // Enregistrement du fichier crypter
  15. //
  16. $fichier = "essai_chiffre.jpg";
  17. if(!$handle = fopen($fichier, 'w')) {
  18.          echo "Impossible d'ouvrir le fichier ";
  19.          exit;
  20.    }
  21. if (fwrite($handle, $donnees_chiffrees) === FALSE) {
  22.        echo "Impossible d'écrire dans le fichier ";
  23.        exit;
  24.    }
  25. fclose($handle);
  26. //
  27. // Enregistrement du fichier décrypter
  28. //
  29. $fichier = "essai1.jpg";
  30. if(!$handle = fopen($fichier, 'w')) {
  31.          echo "Impossible d'ouvrir le fichier ";
  32.          exit;
  33.    }
  34. if (fwrite($handle, $donnees_dechiffres) === FALSE) {
  35.        echo "Impossible d'écrire dans le fichier ";
  36.        exit;
  37.    }
  38.  
  39.  
  40. fclose($handle);
  41. ?>

Reply

Marsh Posté le 15-12-2005 à 21:04:55    

omega2 a écrit :

C'est légal comme taille de clé en france? Me semblait qu'on avait droit qu'au 128 bits voire au 512 bits sous certaines conditions.


C'est légal en intranet.
 
1024 bits, c'est ce qu'utilise TSE pour l'authentification par exemple

Reply

Marsh Posté le 16-12-2005 à 12:18:14    

j'espere que tu as un serveur puissant pour crypter / decrypter les données a la volée  
 
a noter qu'avec le script que tu donnes les fichiers seront crypter sur le disques mais circuleront en clair sur le reseau  
si tu veux qu'elle circulent crypter, utilise SSL  
 
de plus si qq un a acces au disque,il aura surement acces au code php , et donc a la clé de cryptage  
 
tu devrai nous dire le but recherhcé , ca aiderai  


---------------

Reply

Marsh Posté le 16-12-2005 à 12:48:14    

faut tout refaire en ASM multimédia sur un kernel windows :o


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 16-12-2005 à 13:31:29    

Tamahome a écrit :

faut tout refaire en ASM multimédia sur un kernel windows :o


 :love:


---------------

Reply

Marsh Posté le 16-12-2005 à 13:46:50    

flo850 a écrit :

j'espere que tu as un serveur puissant pour crypter / decrypter les données a la volée  


Je vais mettre mes scripts sur free.fr
 

flo850 a écrit :


a noter qu'avec le script que tu donnes les fichiers seront crypter sur le disques mais circuleront en clair sur le reseau  
si tu veux qu'elle circulent crypter, utilise SSL  


 
Oui, oui, c'est pour cela que j'ai modifier les fichiers (voire ci-dessous)
Le personne pourra récupérer le fichier crypter et la clé que je lui aurais donnée et ainsi décrypter l'image  
chez tranquillement.
de plus si qq un a acces au disque,il aura surement acces au code php , et donc a la clé de cryptage  
 

flo850 a écrit :


tu devrai nous dire le but recherhcé , ca aiderai


 
Ben, euh, faire ça pour le fun !!! :-)
Je voulais faire un petit-projet perso, c'est tout !!
 
crypter_image.php

Code :
  1. <?php
  2. function encrypterImage($image, $cle)
  3. {
  4. $donnees = file_get_contents($image);
  5. $algo = MCRYPT_BLOWFISH;
  6. $mode = MCRYPT_MODE_CBC;
  7. $iv = mcrypt_create_iv(mcrypt_get_iv_size($algo, $mode), MCRYPT_DEV_URANDOM);
  8. $donnees_chiffrees = mcrypt_encrypt($algo, $cle, $donnees, $mode, $iv);
  9. $fichier = "image_chiffre.jpg";
  10. if(!$handle = fopen($fichier, 'w'))
  11.  {
  12.           echo "Impossible d'ouvrir le fichier ";
  13.          exit;
  14.      }
  15. if (fwrite($handle, $iv.$donnees_chiffrees) === FALSE)
  16.  {
  17.        echo "Impossible d'écrire dans le fichier ";
  18.        exit;
  19.     }
  20. fclose($handle);
  21. }
  22. function afficherImageCrypter($image)
  23. {
  24. echo "Image à crypter :<br><br>";
  25. echo "<img src=$image><br>";
  26. }
  27. encrypterImage("image_original.jpg", "clef pour ouvrir le coffre" );
  28. afficherImageCrypter("image_original.jpg" );
  29. ?>


 
decrypter_image.php

Code :
  1. <?php
  2. function decrypterImage($image, $cle)
  3. {
  4. $algo = MCRYPT_BLOWFISH;
  5. $mode = MCRYPT_MODE_CBC;
  6. $iv = mcrypt_create_iv(mcrypt_get_iv_size($algo, $mode), MCRYPT_DEV_URANDOM);
  7. $fh = fopen ($image,"r" ) or die ($php_errormsg);
  8. $iv = fread($fh, mcrypt_get_iv_size($algo, $mode));
  9. $donnees_chiffrees = fread($fh, filesize("image_chiffre.jpg" ));
  10. fclose($fh);
  11. $fichier = "image_dechiffre.jpg";
  12. $donnees_dechiffrees = mcrypt_decrypt($algo, $cle, $donnees_chiffrees, $mode, $iv);
  13. if(!$handle = fopen($fichier, 'w'))
  14.  {
  15.          echo "Impossible d'ouvrir le fichier ";
  16.           exit;
  17.      }
  18. if (fwrite($handle, $donnees_dechiffrees) === FALSE)
  19.  {
  20.         echo "Impossible d'écrire dans le fichier ";
  21.          exit;
  22.      }
  23.  
  24.  fclose($handle);
  25. }
  26. function afficherImageDecrypter($image)
  27. {
  28. echo "Image décrypter :<br><br>";
  29. echo "<img src=$image><br>";
  30. }
  31. decrypterImage("image_chiffre.jpg", "clef pour ouvrir le coffre" );
  32. afficherImageDecrypter("image_dechiffre.jpg" );
  33. ?>


 
Librement adapté d'une recette du bouquin "PHP en action" que j'ai réçu aujourd'hui.


Message édité par LeSanglier le 16-12-2005 à 13:48:03
Reply

Marsh Posté le 16-12-2005 à 13:55:26    

LeSanglier a écrit :

Salut à tous !
 
Je voudrais crypter des images .jpg, auriez-vous des idées et/ou des liens à me proposer pour ce type de tâche ?
J'ai des infos sur le cryptage de fichier texte mais pour des fichiers binaires... mystère ??
 
Merci !!


Une question. Dans quel cadre d'utilisation ?

Reply

Marsh Posté le 16-12-2005 à 20:11:59    

Berceker United a écrit :

Une question. Dans quel cadre d'utilisation ?


C'est pour un système d'échange de fichier se trouvant sur un serveur publique.
Les fichiers seront donc cryptées (donc illisible pour ceux qui les récupérent), pour obtenir les fichiers décryptés, je leur donnerai la clé de décryptage.
 

Reply

Marsh Posté le 16-12-2005 à 21:57:25    

LeSanglier a écrit :

C'est pour un système d'échange de fichier se trouvant sur un serveur publique.
Les fichiers seront donc cryptées (donc illisible pour ceux qui les récupérent), pour obtenir les fichiers décryptés, je leur donnerai la clé de décryptage.


ok, je comprend mieu l'interet :)

Reply

Marsh Posté le 16-12-2005 à 23:07:17    

Pourquoi ne pas simplement gérer un accès par mot de passe à ce compte là ?

Reply

Marsh Posté le 17-12-2005 à 08:05:05    

Arjuna a écrit :

Pourquoi ne pas simplement gérer un accès par mot de passe à ce compte là ?


Certe, j'avais penser à cette solution, mais comme il y aurait théoriquement plusieurs centaine de fichiers différents à distribuer avec des mots de passe complétements différents pour chacun d'eux, pour moi, cela n'aurait pas été trés pratique de faire des répertoires, des sous-répertoires,etc... avec des mdp différents.

Reply

Marsh Posté le 17-12-2005 à 11:15:20    

Franchement si ça sa marche sa pourrait bien m'aider ;)

Reply

Marsh Posté le 18-12-2005 à 19:06:15    

Ca m'interesse aussi, je méditerais cette nuit :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed