Chiffrage

Petit nouveau ! | 7 Messages

19 déc. 2006, 01:08

bonsoir à tous, voici ma question :

est il possible de crypter du texte en incrementant les lettres , par exemple A=E, etc, le must serait de pouvoir le faire avec la table ASCII , a=1er caractere de la table..etc , avec du texte en clair ds un formulaire, puis clique sur "GO" et la on se retrouve avec un texte crypté,,deplus, en décrementant, on peux-pe etre le decrypter??

Merci d'avance pour votre aide!

Nicolas.

ViPHP
ViPHP | 1380 Messages

19 déc. 2006, 06:59

Ce que tu veux faire s'appelle le chiffrement de César. Ce type de chiffrement symétrique est très facile à casser, il suffit de calculer la fréquence de chacune des lettres. Sachant que les e et i sont les plus fréquentes, on peut facilement trouver la clé de chiffrement.

Regarde plutôt du côté de la bibliothèque mcrypt de PHP. Tuto sur ce site.
ripat

Petit nouveau ! | 7 Messages

19 déc. 2006, 20:02

merci des renseignements, mais je veux juste tester, je vais pas chiffrer des documents confidentiels, c'est pour voir comment sa fonctionne, alor on peut pas??On peut juste avec la bibliothèque mcrypt de PHP??

Mammouth du PHP | 19672 Messages

19 déc. 2006, 21:57

Si tu peux, il suffit de concevoir ton propre algorithme, mais ce ne sera pas comparable avec un vrai chiffrement.

Pour la méthodologie à suivre, tu pourrais utiliser un tableau indexé par exemple :
$lettres = array('a','b','c',... etc...);
à partir de là, tu as :
$lettre[0] = 'a';
$lettre[1] = 'b';
//..etc...
Grosso modo, il suffit alors de créer une petite fonction qui, pour une lettre donnée va retourner la lettre correspondante selon le chiffre décidé : +1, +5, +12 ou ce que tu veux et ôtant le nombre de lettre si le résultat est supérieur à 26.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

19 déc. 2006, 22:11

En fait on peut faire encore plus simple avec strtr(), et je ne parle même pas de str_rot13()

Par exemple :
<pre><?php

$alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$cle = str_shuffle($alphabet);

$phrase = 'Ceci est un texte';
$cryptee = strtr($phrase, $alphabet, $cle);
$decryptee = strtr($cryptee, $cle, $alphabet);

echo "Phrase cryptée : ", $cryptee, "\n";
echo "Clé : ", $cle, "\n";
echo "Phrase décryptée : ", $decryptee, "\n";
La clé ici est aléatoire, mais tu peux faire ta propre clé en mélangeant les lettres de l'alphabet.

Petit nouveau ! | 7 Messages

20 déc. 2006, 13:56

c'est parfait, merci beaucoup à vous!! :D