willinfeo
Messages postés55Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 4 décembre 2005
-
6 févr. 2004 à 12:52
@khyria -
10 août 2018 à 11:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Merci,
Si je comprend la valeur en bit de ma clé correspond à la "valeur" de mon cryptage.
Si ma clé de cryptage est 1578 en décimal (11000101010 en binaire) cela équivaut à une clé 11 bit.
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 7 août 2015 à 18:39
Il s'agit d'un chiffrement de type XOR, la clé est de taille variable.
Titouaix
Messages postés7Date d'inscriptionvendredi 13 décembre 2013StatutMembreDernière intervention20 décembre 2017 7 août 2015 à 18:04
Bonjour,
Quelqu'un peut-il m'expliquer le niveau de cryptage de ce script?
//~~~~Crypte le fichier
function crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier){
$lignecripte="";
$bytes = 65536;//nombre de bytes par ligne de cryptage
//remplit une ligne de cryptage de longueur 65536 bites
for ($i = 0; $i <= floor($bytes/strlen($chaine_crypt)); $i++) $lignecripte.= $chaine_crypt;
//ouvre le fichier a crypter en lecture
//cree le nouveau fichier
if (file_exists($chemin_fichier)){//verifie presence du fichier
chmod($chemin_fichier,0777);//attribue tous droits
$ancien = fopen($chemin_fichier, "rb");
$nouveau = fopen($chemin1_fichier, "wb");
// crypt le fichier et ecrie dans le nouveau fichier par ligne de 65536 bites
while($line = fread($ancien, $bytes)){
$line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011s^ 10110=00101
fputs($nouveau, $line2);}
// ferme les fichiers
fclose($ancien);fclose($nouveau);
unlink($chemin_fichier);//suprimme l'ancien fichier
}}
Comment détermine-t-on si c'est un 128 bit par exemple
Le truc c'est de savoir et de pouvoir prouver que je respecte la réglementation française qui d'après se que je sais autorise sur un cryptage symétrique une clé de 128 bit maximum.
Merci de vos réponses.
cs_foxalpha
Messages postés1Date d'inscriptionsamedi 30 janvier 2010StatutMembreDernière intervention24 février 2013 24 févr. 2013 à 23:27
Bonjour à tous.
Je suis très intéresser pour utiliser une fonction de cryptage sur mon site (pour crypter la liste des adresses IP des clients). Ce code à l'air intéressant mais j'ai une erreur : lorsque je reçois le fichier, à la place du texte crypté, il contient le message d'erreur suivant.
* Message d'erreur :
Warning: filesize() [function.filesize]: stat failed for /crypt/ip.txt in /www/site/cryptage.php on line 42
Warning: fopen(/crypt/ip.txt) [function.fopen]: failed to open stream: No such file or directory in /www/site/cryptage.php on line 61
Warning: fread() expects parameter 1 to be resource, boolean given in www/site/cryptage.php on line 62
* J'ai rajouté cette ligne : (pour donner les droits au fichier qui correspond à $chemin1_fichier.)
$nouveau = fopen($chemin1_fichier, "wb");
Si j'ai bien compris, ce fichier est le NOUVEAU, le CRYPTé qui va se copier dans /crypt . Ca fait maintenant 1 heure que je suis bloqué. Quelqu'un a une idée ?
cs_Beladone
Messages postés3Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention13 juin 2012 13 juin 2012 à 10:59
gergalp > ou plus précisément ton site ...
cs_Beladone
Messages postés3Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention13 juin 2012 13 juin 2012 à 10:57
Et 2012, ce bout de code est toujours utile,
Merci
gergalp > Ce qui tu dis là, il n'a rien avoir avec ce code,
C'est à toi de voir comment protéger ton serveur.
ysingnu
Messages postés2Date d'inscriptionsamedi 16 avril 2011StatutMembreDernière intervention 8 juin 2012 16 juin 2011 à 17:20
rien a dire vous êtes un pro !!!!
gergalp
Messages postés70Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 mars 2007 16 mai 2007 à 14:42
si ton serveur est attaqué, l'hypothétique pirate prendra aussi la clé et l'algo...
sans compter que le déchiffrement de tes fichier augmentera la charge de ton serveur...
genie_vaw
Messages postés12Date d'inscriptionsamedi 10 septembre 2005StatutMembreDernière intervention22 novembre 2005 15 mai 2007 à 13:02
bonjour :) ,
bah pour mon cas , j'ai une page en php , je veux crypté le code source pour qu'il soint illisible et en mm temp soit executable au niveau de serveur , mais le grand problème c que j'ai trouvé que la fonction de cryptage soit lisible .
le question : c comment rendre mon code source illisible ?.
le prkoi : parce que supposant que le serveur est attaqué , le cryptage va sécuisé le code source et les fichiers aussi .
merci .
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 27 janv. 2006 à 13:28
10 000 euros, de rien.
iamalami28
Messages postés2Date d'inscriptionvendredi 27 janvier 2006StatutMembreDernière intervention27 janvier 2006 27 janv. 2006 à 12:03
bjr ts le monde , j'ai besoin d'un scripte en php qui permet d'interdir le telechargement des fichiers d'un site. merci
cs_MATHIS49
Messages postés368Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention14 mai 20101 3 juin 2005 à 19:19
Bon voila ce script corrigé car yavais plein d'erreur de maladresse (du je pense a la fatigue) :
le script corrigé :
<?
///////(c) Musco93200 ////////
// cryptage de fichier
// le 5 fevrier a 5:14
///////////////////////////////
//~~~~Crypte le fichier
function crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier){
$lignecripte="";
$bytes = 65536;//nombre de bytes par ligne de cryptage
//remplit une ligne de cryptage de longueur 65536 bites
for ($i = 0; $i <= floor($bytes/strlen($chaine_crypt)); $i++) $lignecripte.= $chaine_crypt;
//ouvre le fichier a crypter en lecture
//cree le nouveau fichier
if (file_exists($chemin_fichier)){//verifie presence du fichier
chmod($chemin_fichier,0777);//attribue tous droits
$ancien = fopen($chemin_fichier, "rb");
$nouveau = fopen($chemin1_fichier, "wb");
// crypt le fichier et ecrie dans le nouveau fichier par ligne de 65536 bites
while($line = fread($ancien, $bytes)){
$line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011¨^ 10110=00101
fputs($nouveau, $line2);}
// ferme les fichiers
fclose($ancien);fclose($nouveau);
unlink($chemin_fichier);//suprimme l'ancien fichier
}}
//~~~~declare les entetes de fichier~~~~//
function telecharge($nomfichier,$chemin1_fichier){
//entete de header precise au navigateur l'envoi d'un fichier
header("Content-disposition: attachment; filename=$nomfichier");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($chemin1_fichier));
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
}
//~~~~Decrypte le fichier~~~~//
//fonction a appler apres avoir declarer les header ouvrira une boite de telechargement
function decrypte_file($chemin1_fichier,$chaine_crypt){
$bytes = 65536; //bite par ligne
$lignecripte="";
$chainecrypte=$chaine_crypt;
//remplit une ligne de cryptage de longueur 65536 bites
for ($i = 0; $i <= floor($bytes/strlen($chainecrypte)); $i++) $lignecripte.= $chainecrypte;
// ouvre le fichier
$file = fopen($chemin1_fichier, "rb");
while($line = fread($file, $bytes)){
$line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011¨^ 10110=00101
// affichage du fichier
echo $line2;
}
}
///~~~~~progrmamme ~~~~~~~////
$chemin_fichier="adresse comple de votre fichier";
$chemin_fichier="dessin.jpg"; //adresse fichier origine se trouvant sur la racine de votre serveur
$chaine_crypt="MUSCO93200";//n'importe kel chaine
$chemin1_fichier="./crypter/dessin.jpg"; //adresse fichier crypter
$nom_fichier="dessin.jpg";//nom du fichier a afficher ldans la boite de telechargement fichier
//crypte le fichier "fichier1.zip" avec la cle "musco93200" et l'enregistre
//dans le repertoire "/rep_crypt/" et ensuite suprime le fichier origine
crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier);
//declare les header pour dire a la page ke c'est un fichier a telecharger methode de force de telechargement
telecharge($nom_fichier,$chemin1_fichier);
//decrypt le fichier "fichier1.zip" qui se trouve dans le repertoire "/rep_crypt/"
decrypte_file($chemin1_fichier,$chaine_crypt);
?>
cs_MATHIS49
Messages postés368Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention14 mai 20101 3 juin 2005 à 02:30
J'adore je vote 10 sur 10 !
Seul truc j'ai pas trop compris la fonction 'telecharge', a quoi ca sert exactement, et comment ca marche ce systeme de header?
MErci encore !
sd47dev
Messages postés1Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention16 octobre 2004 16 oct. 2004 à 11:22
bonjour,
Intéressant comme outil mais quelque chose me tracasse. Prenons un fichier comportement à plusieurs reprises de très longues suites de caractères identiques (plus longues que la clef), un fichier word banal ne comportant que deux mots fera l'affaire, au vu de ce qui est généré par le format.
Et bien l'opération xor produit forcément plusieurs fois le même résultat, à savoir la clef. Donc la clef est récupérable dans le fichier crypté, avec un peu d'effort certes, d'autant plus si la clef est longue, mais récupérable... Et pour peu que la fonction de décryptage soit connue (il faut tomber sur la bonne mais beaucoup se ressemblent, et via un peu de patience...) aïe pour la sécurité.
J'avoue c'est du travail mais ne pourrait-on pas imaginer, au lieu de reproduire le schema de la clef en plusieurs fois, la différencier selon un algorithme secret à chaque tour de boucle construisant $lignecripte.
Je ne sais pas si j'ai été assez clair mais si quelqu'un a des idées... je suis toute ouie.
merci
gergalp
Messages postés70Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 mars 2007 9 oct. 2004 à 11:28
ca dépend si on veut que seulement certaines personnes aient accès au fichier ou personne, si personne ne doit avoir acces au fichier, forcémént, ca sert à rien de le mettre sur un serveur. sinon, c'est vrai qu'on peut protéger un dossier par htpasswd, mais un mot de passes, c'est vite perdu si on fait pas vraiment attention, sans compter les failles éventuelles sur le serveur.
gooopil
Messages postés3Date d'inscriptionmercredi 12 mars 2003StatutMembreDernière intervention19 juillet 2004 19 juil. 2004 à 19:30
Très bien, oui et non...
Certes ca marche, mais ne vaut-il pas mieux carrément refuser l'accès au fichier plutot que de le crypter, et ce afin d'économiser de la bande passante ?
neomaster0084
Messages postés1Date d'inscriptiondimanche 27 juin 2004StatutMembreDernière intervention27 juin 2004 27 juin 2004 à 05:17
Parse error: parse error in /chemin/crypterfichier.php on line 59
chemin cété lrl ou il été ;,
je fé cmt ?
----------------------------
Commente les lignes a partir de 59. Elles sont uniquement la a titre d'example.
Ou ajoute ; a la fin de la ligne , tu ne verra plus le message.
Très bien ce script
thetrasher
Messages postés6Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention12 juin 2004 26 mars 2004 à 17:17
Parse error: parse error in /chemin/crypterfichier.php on line 59
chemin cété lrl ou il été ;,
je fé cmt ?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 6 févr. 2004 à 17:56
le javascript, par définition pusique c un langage client, est tjs présent sur le site du visiteur, tu peux pas faire autrement, par contre tu peux encoder le script avec urlencode de php. tu peux aussi utiliser document.write( fonction(scriptencodé) );
et la fonction je sais plus ce que c, autant dire que mon msg est inutile mdr, dsl :-P mais comme ça tu sais que ça existe, ça brouille le script, il est pas lisible, donc faudra qq un qui comprend un peu le principe pr qu'il puisse te le piquer. ça fait passer là sécurité de 0/100 à 1/100 quoi
willinfeo
Messages postés55Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention 4 décembre 2005 6 févr. 2004 à 12:52
Salut,
Ton script a l'air super interressant, j'ai pas eu le temps de regarder en détail.
Aurais-tu une astuce pour crypter un javascript à insérer dans une page.
Merci
10 août 2018 à 11:53
11 août 2015 à 14:29
Je récupère donc la taille de ma clé:
Merci d'avoir pris le temps ...
10 août 2015 à 21:30
10 août 2015 à 08:24
Si je comprend la valeur en bit de ma clé correspond à la "valeur" de mon cryptage.
Si ma clé de cryptage est 1578 en décimal (11000101010 en binaire) cela équivaut à une clé 11 bit.
7 août 2015 à 18:39
7 août 2015 à 18:04
Quelqu'un peut-il m'expliquer le niveau de cryptage de ce script?
Comment détermine-t-on si c'est un 128 bit par exemple
Le truc c'est de savoir et de pouvoir prouver que je respecte la réglementation française qui d'après se que je sais autorise sur un cryptage symétrique une clé de 128 bit maximum.
Merci de vos réponses.
24 févr. 2013 à 23:27
Je suis très intéresser pour utiliser une fonction de cryptage sur mon site (pour crypter la liste des adresses IP des clients). Ce code à l'air intéressant mais j'ai une erreur : lorsque je reçois le fichier, à la place du texte crypté, il contient le message d'erreur suivant.
* Message d'erreur :
Warning: filesize() [function.filesize]: stat failed for /crypt/ip.txt in /www/site/cryptage.php on line 42
Warning: fopen(/crypt/ip.txt) [function.fopen]: failed to open stream: No such file or directory in /www/site/cryptage.php on line 61
Warning: fread() expects parameter 1 to be resource, boolean given in www/site/cryptage.php on line 62
* J'ai utilisé ces paramètres :
$chemin_fichier="/site/ip.txt";
$chaine_crypt="MUSCO93200";
$chemin1_fichier="/crypt/ip.txt";
$nom_fichier="ip.txt";
* J'ai rajouté cette ligne : (pour donner les droits au fichier qui correspond à $chemin1_fichier.)
$nouveau = fopen($chemin1_fichier, "wb");
Si j'ai bien compris, ce fichier est le NOUVEAU, le CRYPTé qui va se copier dans /crypt . Ca fait maintenant 1 heure que je suis bloqué. Quelqu'un a une idée ?
13 juin 2012 à 10:59
13 juin 2012 à 10:57
Merci
gergalp > Ce qui tu dis là, il n'a rien avoir avec ce code,
C'est à toi de voir comment protéger ton serveur.
16 juin 2011 à 17:20
16 mai 2007 à 14:42
sans compter que le déchiffrement de tes fichier augmentera la charge de ton serveur...
15 mai 2007 à 13:02
bah pour mon cas , j'ai une page en php , je veux crypté le code source pour qu'il soint illisible et en mm temp soit executable au niveau de serveur , mais le grand problème c que j'ai trouvé que la fonction de cryptage soit lisible .
le question : c comment rendre mon code source illisible ?.
le prkoi : parce que supposant que le serveur est attaqué , le cryptage va sécuisé le code source et les fichiers aussi .
merci .
27 janv. 2006 à 13:28
27 janv. 2006 à 12:03
3 juin 2005 à 19:19
le script corrigé :
<?
///////(c) Musco93200 ////////
// cryptage de fichier
// le 5 fevrier a 5:14
///////////////////////////////
//~~~~Crypte le fichier
function crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier){
$lignecripte="";
$bytes = 65536;//nombre de bytes par ligne de cryptage
//remplit une ligne de cryptage de longueur 65536 bites
for ($i = 0; $i <= floor($bytes/strlen($chaine_crypt)); $i++) $lignecripte.= $chaine_crypt;
//ouvre le fichier a crypter en lecture
//cree le nouveau fichier
if (file_exists($chemin_fichier)){//verifie presence du fichier
chmod($chemin_fichier,0777);//attribue tous droits
$ancien = fopen($chemin_fichier, "rb");
$nouveau = fopen($chemin1_fichier, "wb");
// crypt le fichier et ecrie dans le nouveau fichier par ligne de 65536 bites
while($line = fread($ancien, $bytes)){
$line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011¨^ 10110=00101
fputs($nouveau, $line2);}
// ferme les fichiers
fclose($ancien);fclose($nouveau);
unlink($chemin_fichier);//suprimme l'ancien fichier
}}
//~~~~declare les entetes de fichier~~~~//
function telecharge($nomfichier,$chemin1_fichier){
//entete de header precise au navigateur l'envoi d'un fichier
header("Content-disposition: attachment; filename=$nomfichier");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($chemin1_fichier));
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
}
//~~~~Decrypte le fichier~~~~//
//fonction a appler apres avoir declarer les header ouvrira une boite de telechargement
function decrypte_file($chemin1_fichier,$chaine_crypt){
$bytes = 65536; //bite par ligne
$lignecripte="";
$chainecrypte=$chaine_crypt;
//remplit une ligne de cryptage de longueur 65536 bites
for ($i = 0; $i <= floor($bytes/strlen($chainecrypte)); $i++) $lignecripte.= $chainecrypte;
// ouvre le fichier
$file = fopen($chemin1_fichier, "rb");
while($line = fread($file, $bytes)){
$line2 = $line ^ $lignecripte;//effectue un OU EXCLUSIF (XOR) sur les bits 10011¨^ 10110=00101
// affichage du fichier
echo $line2;
}
}
///~~~~~progrmamme ~~~~~~~////
$chemin_fichier="adresse comple de votre fichier";
$chemin_fichier="dessin.jpg"; //adresse fichier origine se trouvant sur la racine de votre serveur
$chaine_crypt="MUSCO93200";//n'importe kel chaine
$chemin1_fichier="./crypter/dessin.jpg"; //adresse fichier crypter
$nom_fichier="dessin.jpg";//nom du fichier a afficher ldans la boite de telechargement fichier
//crypte le fichier "fichier1.zip" avec la cle "musco93200" et l'enregistre
//dans le repertoire "/rep_crypt/" et ensuite suprime le fichier origine
crypte_fichier($chemin_fichier,$chaine_crypt,$chemin1_fichier);
//declare les header pour dire a la page ke c'est un fichier a telecharger methode de force de telechargement
telecharge($nom_fichier,$chemin1_fichier);
//decrypt le fichier "fichier1.zip" qui se trouve dans le repertoire "/rep_crypt/"
decrypte_file($chemin1_fichier,$chaine_crypt);
?>
3 juin 2005 à 02:30
Seul truc j'ai pas trop compris la fonction 'telecharge', a quoi ca sert exactement, et comment ca marche ce systeme de header?
MErci encore !
16 oct. 2004 à 11:22
Intéressant comme outil mais quelque chose me tracasse. Prenons un fichier comportement à plusieurs reprises de très longues suites de caractères identiques (plus longues que la clef), un fichier word banal ne comportant que deux mots fera l'affaire, au vu de ce qui est généré par le format.
Et bien l'opération xor produit forcément plusieurs fois le même résultat, à savoir la clef. Donc la clef est récupérable dans le fichier crypté, avec un peu d'effort certes, d'autant plus si la clef est longue, mais récupérable... Et pour peu que la fonction de décryptage soit connue (il faut tomber sur la bonne mais beaucoup se ressemblent, et via un peu de patience...) aïe pour la sécurité.
J'avoue c'est du travail mais ne pourrait-on pas imaginer, au lieu de reproduire le schema de la clef en plusieurs fois, la différencier selon un algorithme secret à chaque tour de boucle construisant $lignecripte.
Je ne sais pas si j'ai été assez clair mais si quelqu'un a des idées... je suis toute ouie.
merci
9 oct. 2004 à 11:28
19 juil. 2004 à 19:30
Certes ca marche, mais ne vaut-il pas mieux carrément refuser l'accès au fichier plutot que de le crypter, et ce afin d'économiser de la bande passante ?
27 juin 2004 à 05:17
chemin cété lrl ou il été ;,
je fé cmt ?
----------------------------
Commente les lignes a partir de 59. Elles sont uniquement la a titre d'example.
Ou ajoute ; a la fin de la ligne , tu ne verra plus le message.
Très bien ce script
26 mars 2004 à 17:17
chemin cété lrl ou il été ;,
je fé cmt ?
6 févr. 2004 à 17:56
et la fonction je sais plus ce que c, autant dire que mon msg est inutile mdr, dsl :-P mais comme ça tu sais que ça existe, ça brouille le script, il est pas lisible, donc faudra qq un qui comprend un peu le principe pr qu'il puisse te le piquer. ça fait passer là sécurité de 0/100 à 1/100 quoi
6 févr. 2004 à 12:52
Ton script a l'air super interressant, j'ai pas eu le temps de regarder en détail.
Aurais-tu une astuce pour crypter un javascript à insérer dans une page.
Merci