Cryptage reversible

Soyez le premier à donner votre avis sur cette source.

Vue 9 200 fois - Téléchargée 844 fois

Description

Je vous propose une classe que j'ai crée il y a un moment pour crypter des mots de passe. Le but est de générer des chaines pseudo aléatoire qui une fois décodé redonne toute le même mot de passe. Je l'ai mise à jour et améliorée cette semaine. En principe un algorithme de cryptage ne doit pas être partagé mais je me suis dit que cela pourrait vous donner des idées pour en en faire. Et puis vu que ce script utilise des tableau de valeur, à partir du moment ou personne n'a les vôtre, il ne pourra rien faire.

En outre allez à l'adresse : http://ragnarok.gaming.cx/ccodage/table_generator.php pour générer une nouvelle fonction SetTable(fonction statique de la classe crypter) avec de nouveau tableau.

Source / Exemple :


include_once("crypter.class.php");
$crypt = new Crypter(false,15,6);
$ca=array();
for($i=0;$i<20;$i++)
{
	$cc = "php";
	$cu = $crypt->Encode($cc);
	$ca[] = $cu;
	echo $cc.' => '.$cu.'<br/>';
}
echo '<br/>';
for($i=0;$i<20;$i++)
{
	if(($cc = $crypt->Decode($ca[$i]))==false) $cc='erreur de la source';	
	echo $ca[$i].' => '.$cc.'<br/>';
}

sortie :

//encodage
php => EFgsch5gG5ILEZ9b
php => EzZfrr4mGMjg9YwjNn
php => vZVMHv3ZG0oPOQeRp
php => NJMlMVeKGELkZ5ub
php => Erl4AqoFGO7uT9Uv
php => NpEk25NqGbAujj3NS
php => EvTeRt8gGTxwc9bZ
php => NkRuyIXLG0iFEdnN
php => NSMy4PYQGEv4Q07p
php => ZmLovNXlGgVuYggyf
php => KR9DZsNbGT15KKko
php => vmybNvEzGFEmFFBz
php => Z1zMpQn3GJwmHH0s
php => ZbzV5OnuGQw6ivvbV
php => ErlWQwu3GgK0hUP6O
php => EblNhE4fGgRuggsE
php => ZOiOg0R4Glekllb6
php => veyiFvEJGTJJ9cpZ
php => EUlc7DMTGlecllv6
php => NIRCsOAuGg5bggqf

//décodage;
EFgsch5gG5ILEZ9b => php
EzZfrr4mGMjg9YwjNn => php
vZVMHv3ZG0oPOQeRp => php
NJMlMVeKGELkZ5ub => php
Erl4AqoFGO7uT9Uv => php
NpEk25NqGbAujj3NS => php
EvTeRt8gGTxwc9bZ => php
NkRuyIXLG0iFEdnN => php
NSMy4PYQGEv4Q07p => php
ZmLovNXlGgVuYggyf => php
KR9DZsNbGT15KKko => php
vmybNvEzGFEmFFBz => php
Z1zMpQn3GJwmHH0s => php
ZbzV5OnuGQw6ivvbV => php
ErlWQwu3GgK0hUP6O => php
EblNhE4fGgRuggsE => php
ZOiOg0R4Glekllb6 => php
veyiFvEJGTJJ9cpZ => php
EUlc7DMTGlecllv6 => php
NIRCsOAuGg5bggqf => php

Conclusion :


J’espère qu'elle vous sera utile de par sa réversibilité. La taille de la chaine de sortie est assez conséquente c'est pour cela qu'il vaut mieux l’utiliser pour les mots de passe ou pour transmettre des ID par Get(ex: www.unsite.fr/?article=6H9GF8LFFdK). Rien ne vous empêche d'encoder un texte mais gare à la taille.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
En pratique, la sécurité en crypto, ça passe par des phrases de tests et d'études, le secret ne suffit pas.

Parfois, la complexité des problèmes de cryptanalyse ne sont pas connus (ou pas prouvés) mais vu le nombre de scientifiques qui bossent sur ces themes, on peut quand meme avoir confiance.

C'est connu, il vous suffit de chercher un livre de théorie des codes pour le voir.
LeFauve42
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Effectivement, la securite basee sur "un algo de cryptage secret" est tres anecdotique...
C'est tout au plus bon si tu veux cacher des trucs a ta petite soeur, mais aucune agence de securite gouvernementale ne sera stoppee plus de quelques heures (dans le meilleur des cas) avec ce genre d'approche.

Il vaut mieux utiliser un algo connu dont la complexite peut etre demontree mathematiquement.

De plus, pour un mot de passe, il vaut mieux utiliser un algo de Hash non reversible.
Neo_Ryu
Messages postés
21
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
6 juin 2011

Bonjour, déjà merci de partager ta source Mokost ! ^^
Je viens de voir ta source et n'ai pas le temps en ce moment de faire tout des tests pour en connaître sa sécurité (je vois que tu te base sur du MD5 et une table, as tu vérifier aussi que l'analyse fréquentielle d'un long texte n'indique rien ?), mais quoi qu'il en soit, c'est grâce au partage des uns et des autres que de nouvelles idées peuvent germer ! En cela ta source est donc forcément intéressante et peu aider, des débutants en cryptographie par exemple, à mettre au point leur algorithme ! ^^

Je vois que coucou747 accours toujours aussi vite quand un script fait mention de cryptage dans le titre lol ^^ Certes la clé de cryptage est une chose essentielle pour la sécurité, mais n'oublions pas que sans algo derrière, la tache est bien plus ardue pour en deviner le calcul (pas impossible certes, mais tout le monde n'est pas expert en cryptographie ou codage ;) ). Et puis ca me rappel ce petit débat que tu avais eu il y a quelques temps sur une source qui ce disais indéchiffrable (de souvenir c’était encapsulé en 3 parties). ;)
destinyfr
Messages postés
106
Date d'inscription
samedi 19 mai 2007
Statut
Membre
Dernière intervention
13 avril 2009

Je n'ai pas encore eu le temps de trop regarder la source, je reprendrai seulement les commentaires du dessus.

Le pirate sait certes comment fonctionne ton algo, mais c'est pas pour autant qu'il arrivera à le casser. Par exemple, l'algorithme RSA est bien connu, seulement quand tu tapes sur des nombres premiers assez grands, tu as plus personne qui est capable de le casser.

Tu as testé un grand nombre de combinaisons pour savoir s'il y a deux fois la même sortie pour deux entrées différentes ?
Mokost
Messages postés
48
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
29 mars 2010

Ne sommes nous pas d'accord que si tu partage ton algorithme tu perds en sécurité ? Puisque tu décris la façon dont il fonctionne. Bien sûr comme je l'ai dit s'il n'a pas les mêmes tableau que toi il n'aura jamais le bon résultat mais il n'empêche que le pirate potentiel sait comment le cryptage fonctionne.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.