JeuWeb - Crée ton jeu par navigateur
[PHP] Cryptage de données avec clés - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Cryptage de données avec clés (/showthread.php?tid=3555)

Pages : 1 2 3


[PHP] Cryptage de données avec clés - Cartman34 - 18-01-2009

Bonjour,

Honnêtement, je ne poste pas vraiment cela pour faire de l'Open Source mais pour voir si quelqu'un arriverait à "hacker" ce script.
Ce sont une fonction d'encodage et une de décodage ainsi que les fonctions nécessaires à leur utilisation et test.
Cela reste un fichier fait pour tester ces 2 fonctions.
Le mot clé est un mot dont l'utilisateur ne peut pas avoir accès.
Pour décoder la chaîne, il faut obligatoirement avoir ce mot.
Normalement, il est impossible de le récupérer.
Le brute force ne semble pas pouvoir fonctionner car il y a 2 chaînes inconnues.
Multipliant par l'infini le temps de calcul(ou au moins un temps lié à la taille des chaînes) et pouvant retourner plusieurs résultats.

Si ces fonctions fonctionnent correctement, vous êtes libres de les utiliser en vous rappelant qu'elles ont été faite par l'équipe IGstaff (et même plus précisément par moi même).
Elles permettent de faire passer publiquement et de manière sûre des données sensibles.

Installation Prérequise:
- Apache2 ou équivalent.
- PHP 5.
- Lib GMP de PHP (non native).


RE: [PHP] Cryptage de données avec clés - Holy - 18-01-2009

La question peut paraître grossière mais: quelle intérêt apporte une telle fonction par rapport aux fonctions du core de PHP ? (que ça soit sha1, md5 ou autre)


RE: [PHP] Cryptage de données avec clés - Cartman34 - 18-01-2009

C'est une focntion qui personnifie le cryptage selon le mot clé.
De plus, l'autre fonction permet sont décryptages de manière régulière.
Ca a un autre intéret que les fonctions sha1 et md5 par exemple.


RE: [PHP] Cryptage de données avec clés - My Hotel - 18-01-2009

Pas mal, mais est-ce que c'est plus sur que md5 et autres sha1? Si oui, je vais peut-être l'implémenter, avec mention à IGstaff bien sûr! Smile

Bye


RE: [PHP] Cryptage de données avec clés - Adrien A. - 18-01-2009

Juste comme ca, sha-1 et md5 sont des algorithmes de hash, c'est a dire qu'il est "impossible" de revenir en arrière après encodage.

Alors que, si j'ai bien compris, le script présenté ici est du cryptage. Le principe est différent, on veut pouvoir décoder ce qui a été encodé a l'aide d'une clef.

Je sais pas si j'ai été très claire.


RE: [PHP] Cryptage de données avec clés - Cartman34 - 19-01-2009

mcrypt est très compliquée mais elle peut aussi être utilisée.

Pour ce qui est de ta question My Hotel, Adrien A. y a très bien répondu.

L'avez vous testé ?


RE: [PHP] Cryptage de données avec clés - My Hotel - 19-01-2009

Ah, excusez moi alors, j'étais un peu paumé. Ce script m'est donc moins utile, mais j'ajoute la page aux favoris quand même Wink

Sinon, je vais le tester ce soir, et je vous dirai ce qu'il en retourne!


RE: [PHP] Cryptage de données avec clés - Seren - 19-01-2009

J'y connais pas grand chose en code, mais il ne faut pas se faire d'illusion, c'est probablement crackable, même si il y a deux opérations successives. Ceci étant dit si c'est pour la sécurité d'un jeu, pas d'une application bancaire, à mon avis c'est amplement suffisant. Smile

J'ai juste une petite remarque dans la base 64, j'utiliserais peut être pas le caractère "/". Si on veut utiliser un ID crypté dans l'url, ça risque de posé problème non ?

Sinon je te remercie parce que j'avais besoin d'un système de ce genre pour éviter d'afficher en clair les user id.


RE: [PHP] Cryptage de données avec clés - wild-D - 19-01-2009

le seul avantage que je lui accorde n'a rien à voir avec sa prétendue simplicité sur mcrypt;
mais c'est le fait que t'as pas un résultat encrypté "chiante" (t'as une sortie avec une chaine de caractère ne contenant que des caractères simple sans espace terminaux, ou autre ... limite les soucis en cas de changement d'encodage de caractères/sotckage en base de données).
Donc ça peut à l'occasion selon le moyen de stockage/transit aider.

pour le reste aucune idée de ce que vaut cet encryptage; la cryptographie 'est pas mon fort Tongue

ps.
seren a peut-être raison pour le / si c'est un parametre get, je crois pas que ça va géner ^^
le problème serait si tu utilise des urls "clean" ou autre methodes de customisation d'url (mais bon main remplacer le / par un ature caractère au besoin c'est pas la mort)


RE: [PHP] Cryptage de données avec clés - Anthor - 19-01-2009

Je n'ai pas testé, j'ai regardé comme ça et ça à l'air sympa.

Mais en quoi mcrypt est compliqué ?!

Code PHP :
<?
$key
= "Cette clé est ultra-secrète";
$input = "Rencontrons-nous dans notre place secrète à 9 h 00.";
$encrypted_data = mcrypt_ecb(MCRYPT_TripleDES, $key, $input, MCRYPT_ENCRYPT);
?>

Code PHP :
<?
$key
= "Ceci est une vraie clé secrète";
$input = "Rendez-vous à 9 heures, dans notre planque.";

$td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, $input);
mcrypt_generic_end($td);
?>