• STATISTIQUES
  • Il y a eu un total de 4 membres et 5979 visiteurs sur le site dans les dernières 24h pour un total de 5 983 personnes!


    1 membre s'est inscrit dans les dernières 24h!


    Membres: 2 609
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Php] Chiffrement de données
01-07-2012, 11h11 (Modification du message : 19-11-2012, 18h45 par InstinctHack.)
Message : #1
Apache9 Hors ligne
Membre
*



Messages : 39
Sujets : 4
Points: 1
Inscription : Apr 2012
[Php] Chiffrement de données
Bonjour,

Je cherche a créer mon propre cryptage, pour des raisons quelconque ...

J'ai chercher après des tutoriels sur google, aucun résultat, fin je voulais a tout pris le faire en php.

Voici mes débuts :

Code PHP :
<?php

function cryptage($string){
$what 'abc';
$with '$%*';
$done strtr($string$what$with);
return 
$done;
}
?>
<?php
echo cryptage('abc cba bac cab');
echo 
"<font color='green'><br />$%* *%$ %$* *$%<br /></font>";
?>

Par contre j'avais essayer :

$what = array('a','b','c');
$with = array('$','%','*');

Pour par exemple mettre plusieurs caractères pour "a" pour lui mettre par exemple "^$%/" juste pour "a" comme sa, sa ferais un bon cryptage plus ou moins ..., mais marche pas. ;S
+1 (0) -1 (0) Répondre
01-07-2012, 11h22
Message : #2
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Cryptage
n'est-ce pas un "simple" alphabet de subtitution ? je te conseille d'abandonner ce projet car c'est compliqué à réaliser un cryptage, utilise plutot un algo déjà existant et modifie le, mais bon....

http://www.dcode.fr/ un petit lien sympa Wink

Mais si tu arrive à quelque chose ou fait des avancés, je suis intéréssé
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
01-07-2012, 11h26
Message : #3
Apache9 Hors ligne
Membre
*



Messages : 39
Sujets : 4
Points: 1
Inscription : Apr 2012
RE: Cryptage
Merci oui c'est sa en quelque sorte, merci je connais ce site. Wink

Sinon oui je vous tiendrais au courant si j'arrive a faire quelque chose.
+1 (0) -1 (0) Répondre
01-07-2012, 11h43
Message : #4
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: Cryptage
Salut !

Bon, alors moi je connais très peu le php, donc je peux pas trop t'aider sur la partie technique... Par contre, j'voulais juste te signaler que 'cryptage' ça se dit pas ^^ On dit chiffrement. Le cryptage, ça existe pas, ça voudrait dire que tu chiffre un message sans connaitre la clé de chiffrement, c'est donc impossible. :p

Sinon, il y a beaucoup de méthode de chiffrement existantes. Celle sur laquelle tu t'oriente reste assez proche d'une substitution monoalphabétique (qui consiste a remplacer une lettre par une autre.) Cette méthode, et très connu par une de ses variantes qui s'appelle le chiffre de Caesar. Le chiffre de Caesar consiste a decaler toutes les lettres de 13 caractères. C'est facilement réalisable: pour chaque lettre, tu ajoute 13 et tu applique un modulo 26 au tout pour rester sur une plage de caractères ascii.

Apres, ca dépends de l'utilisation que tu veux faire de ton script. Si c'est pour comparer des mots de passe, vaut mieux que tu t'oriente vers des méthodes de hashage (md5, sha...) Sinon, pour faire passer des messages, etc... il y a aussi le chiffrement asymétrique (rsa) qui peut être intéressant Smile
+1 (0) -1 (0) Répondre
01-07-2012, 14h30
Message : #5
spin Hors ligne
Contributeur
*****



Messages : 325
Sujets : 15
Points: 38
Inscription : Nov 2011
RE: Chiffrement de données
Salut,
si tu veux créé ton propre algorithme de chiffrement (merci _Ark_au passage, sans toi j'aurais dit cryptage) c'est très bien, mais je doute que tu puisses y parvenir comme ça, ou du moins, pas sérieusement.
Je te conseille d'étudier avant tout quelque algos connus comme RSA par exemple, car ça te donnera une idée précise du genre de back-end mathématique qu'il y a derrière. Voilà un peu le genre : http://fr.wikipedia.org/wiki/Rivest_Sham..._cl.C3.A9s
Finalement, je pense que tu devrais surtout faire de l'arithmétique pour forger ton intuition avec les nombres, avec cette intuition tu pourrais découvrir des propriétés sur les nombres et ainsi concevoir une méthode de chiffrement basée sur ce principe (un chiffrage c'est bien de la manipulation de nombres après tout).

Je crois que c'est obligatoire à moins de vouloir mettre en place une simple substitution de caractères. Je te souhaite bonne chance, et si dans quelques temps tu trouves un truc, viens nous en parler (ce que je te souhaite). Wink
+1 (0) -1 (0) Répondre
01-07-2012, 14h54
Message : #6
Apache9 Hors ligne
Membre
*



Messages : 39
Sujets : 4
Points: 1
Inscription : Apr 2012
RE: Cryptage
(01-07-2012, 11h43)_Ark_ a écrit : Salut !

Bon, alors moi je connais très peu le php, donc je peux pas trop t'aider sur la partie technique... Par contre, j'voulais juste te signaler que 'cryptage' ça se dit pas ^^ On dit chiffrement. Le cryptage, ça existe pas, ça voudrait dire que tu chiffre un message sans connaitre la clé de chiffrement, c'est donc impossible. :p

Sinon, il y a beaucoup de méthode de chiffrement existantes. Celle sur laquelle tu t'oriente reste assez proche d'une substitution monoalphabétique (qui consiste a remplacer une lettre par une autre.) Cette méthode, et très connu par une de ses variantes qui s'appelle le chiffre de Caesar. Le chiffre de Caesar consiste a decaler toutes les lettres de 13 caractères. C'est facilement réalisable: pour chaque lettre, tu ajoute 13 et tu applique un modulo 26 au tout pour rester sur une plage de caractères ascii.

Apres, ca dépends de l'utilisation que tu veux faire de ton script. Si c'est pour comparer des mots de passe, vaut mieux que tu t'oriente vers des méthodes de hashage (md5, sha...) Sinon, pour faire passer des messages, etc... il y a aussi le chiffrement asymétrique (rsa) qui peut être intéressant Smile

Ah merci pour la précision moi j'avais toujours appeler sa un cryptage, merci de la correction. Wink

Ensuite pour ma méthode utilisé (pour l'instant), je voulais savoir y a possibilité de remplacer par exemple "a" par "%!" c'est surtout ce que je voulais dire, j'avais essayer de faire quelque chose comme ceci :

$what = array('a','b','c');
$with = array('%!',':%','$-');

Mais sans résultats, donc si vous avez d'autre possibilité pour faire ce que je recherche je prend volontiers. Smile

Ensuite je suis débutant en Php, donc tu me dis que c'est facile de réaliser quelque chose comme le chiffre de Caesar, mais sinon moi j'aurais voulus faire quelque chose d'autre plutôt que de choisir le nombre de décalage, que par exemple le décalage ce fait automatiquement de 5 lettres, sans que la personne comprennent le chiffrement bien sur, que seul moi pourrait le comprendre et quelque personne.

Ensuite c'est pour une utilisation a la fois challenge la personne devra comprendre le système de chiffrement et réussir à le déchiffrer, et aussi pour ce faire passer des liens, codes, ... mais sans que cela ce vois, bref en gros par exemple on pourrait le mettre en publique, personne ce cassera forcement la tête pour trouver.

Je vais jeter un œil sur le chiffrement asymétrique.

Merci de ta réponse en tout cas.

(01-07-2012, 14h30)spin a écrit : Salut,
si tu veux créé ton propre algorithme de chiffrement (merci _Ark_au passage, sans toi j'aurais dit cryptage) c'est très bien, mais je doute que tu puisses y parvenir comme ça, ou du moins, pas sérieusement.
Je te conseille d'étudier avant tout quelque algos connus comme RSA par exemple, car ça te donnera une idée précise du genre de back-end mathématique qu'il y a derrière. Voilà un peu le genre : http://fr.wikipedia.org/wiki/Rivest_Sham..._cl.C3.A9s
Finalement, je pense que tu devrais surtout faire de l'arithmétique pour forger ton intuition avec les nombres, avec cette intuition tu pourrais découvrir des propriétés sur les nombres et ainsi concevoir une méthode de chiffrement basée sur ce principe (un chiffrage c'est bien de la manipulation de nombres après tout).

Je crois que c'est obligatoire à moins de vouloir mettre en place une simple substitution de caractères. Je te souhaite bonne chance, et si dans quelques temps tu trouves un truc, viens nous en parler (ce que je te souhaite). Wink

Merci je vais étudier les algorithme.

J'ai également jeter un œil à l'arithmétique, mais c'est vraiment mathématique.

Merci en tout cas pour ta réponse. Wink
+1 (0) -1 (0) Répondre
01-07-2012, 15h09
Message : #7
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: Chiffrement de données
Bah le chiffrement, c'est des maths en fait... Et sinon y'a pas mal de méthode pour péter de la substitution/etc (genre études statistiques etc même si je suis pas calé dans le domaine), donc niveau sécurité c'est pas très efficace.

@_Ark_: espèce de grammar nazi tiens :>
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
01-07-2012, 15h39 (Modification du message : 01-07-2012, 15h40 par Phobos.)
Message : #8
Phobos Hors ligne
Membre
*



Messages : 41
Sujets : 2
Points: 6
Inscription : Oct 2011
RE: Cryptage
(01-07-2012, 14h54)Apache9 a écrit : seul moi pourrait le comprendre et quelque personne.

Ceci s'appelle la sécurité par obscurité et je ne te la recommande pas.

Un cas concret : la technologie gsm.

Pour plus d'information : Attaques basées sur les réseaux de communication
Un ingénieur casse le cryptage utilisé par la technologie GSM


Effectivement il existe plusieurs méthodes pour trouver le fonctionnement d'un algorithme à commencer par la Cryptanalyse différentielle qui permet de casser la plupart des algorithmes.


Pour utiliser le chiffrement dans un programme ou une page web tu peux utiliser une librairie. Une librairie a normalement été installé par défaut lorsque tu installe « Apache », celle de OpenSSL.
+1 (0) -1 (0) Répondre
01-07-2012, 17h46 (Modification du message : 01-07-2012, 18h12 par Di0Sasm.)
Message : #9
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Chiffrement de données
Code :
<?php echo str_replace(array('a','b','c','d'),array('b','c','d','e'),"ton texte");?>

(je sort du coma, je dis peut-etre de la merde ^^ ) mais c'est le code de cesar en php Smile
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
01-07-2012, 22h17
Message : #10
Apache9 Hors ligne
Membre
*



Messages : 39
Sujets : 4
Points: 1
Inscription : Apr 2012
RE: Chiffrement de données
(01-07-2012, 15h39)Phobos a écrit :
(01-07-2012, 14h54)Apache9 a écrit : seul moi pourrait le comprendre et quelque personne.

Ceci s'appelle la sécurité par obscurité et je ne te la recommande pas.

Un cas concret : la technologie gsm.

Pour plus d'information : Attaques basées sur les réseaux de communication
Un ingénieur casse le cryptage utilisé par la technologie GSM


Effectivement il existe plusieurs méthodes pour trouver le fonctionnement d'un algorithme à commencer par la Cryptanalyse différentielle qui permet de casser la plupart des algorithmes.


Pour utiliser le chiffrement dans un programme ou une page web tu peux utiliser une librairie. Une librairie a normalement été installé par défaut lorsque tu installe « Apache », celle de OpenSSL.

Merci de ta réponse.

(01-07-2012, 17h46)khaled a écrit :
Code :
<?php echo str_replace(array('a','b','c','d'),array('b','c','d','e'),"ton texte");?>

(je sort du coma, je dis peut-etre de la merde ^^ ) mais c'est le code de cesar en php Smile

Merci beaucoup, je mais suis inspirer de ce code. Big Grin

Mais problème par exemple :

Code PHP :
<?php echo str_replace(array('a','b'),array('c','d'),"ab");?>

Je vais donc obtenir "cd", donc j'ai voulus faire quelque chose du type :

Code PHP :
<?php echo str_replace(array('c','d'),array('a','b'),"cd");?>

Pour obtenir "ab" mais pas moyen ... Je pense que c'est d’où par ce que le 1er contient des symboles, liste des symboles :

%*=?$-§@+~#]<^>:£&_}
+1 (0) -1 (0) Répondre
05-07-2012, 19h43
Message : #11
Saitek Hors ligne
Membre
*



Messages : 30
Sujets : 4
Points: 0
Inscription : Oct 2011
RE: Chiffrement de données
Originalsgeeks avait fait un codeur de message en leet speak. Je m'en était inspiré pour le compléter et faire un decodeur.
Tu peut te servir du code pour ton alphabet de substitution. Le code ne doit pas être très optimisé mais ça te donne déjà une bonne piste je pense.
http://saitek.cwahi.net/tools/1337decode.php
+1 (0) -1 (0) Répondre
08-07-2012, 09h20
Message : #12
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Chiffrement de données
flemmard que je suis, je n'est pas regarder vraiment le site, mais il pourrais t'aider Smile
http://www.apprendre-en-ligne.net/crypto/activites/
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre
08-07-2012, 16h34
Message : #13
Saitek Hors ligne
Membre
*



Messages : 30
Sujets : 4
Points: 0
Inscription : Oct 2011
RE: Chiffrement de données
La substitution appliquée par Calvin et Hobbes Tongue : http://www.apprendre-en-ligne.net/crypto...index.html
+1 (0) -1 (0) Répondre
08-07-2012, 18h29
Message : #14
Phobos Hors ligne
Membre
*



Messages : 41
Sujets : 2
Points: 6
Inscription : Oct 2011
RE: Chiffrement de données
(08-07-2012, 09h20)khaled a écrit : flemmard que je suis, je n'est pas regarder vraiment le site, mais il pourrais t'aider Smile
http://www.apprendre-en-ligne.net/crypto/activites/

très bon site, merci
+1 (0) -1 (0) Répondre
09-07-2012, 08h32
Message : #15
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: Chiffrement de données
Sinon j'ai trouver une fonction sympa sur internet (mais je sais pas grand chose sur le chiffrement donc je sais pas ce que ça vaut mais bon...)
Je l'ai un peu modifier (voir les commentaires )
Code PHP :
function crypter($maChaineACrypter,$maCleDeCryptage='')
{
    if(
$maCleDeCryptage=='')
    {
        
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
    }
    
//$maCleDeCryptage = md5($maCleDeCryptage);
    
$maCleDeCryptage hash('whirlpool',$maCleDeCryptage);
    
$letter = -1;
    
$newstr '';
    
$strlen strlen($maChaineACrypter);
    for(
$i 0$i $strlen$i++ )
    {
        
$letter++;
        if ( 
$letter 31 )
        {
            
$letter 0;
        }
        
$neword ord($maChaineACrypter{$i}) + ord($maCleDeCryptage{$letter});
        if ( 
$neword 255 )
        {
            
$neword -= 256;
        }
        
$newstr .= chr($neword);
    }
    
//return base64_encode($newstr);
    
return $newstr;
}

function 
decrypter($maChaineCrypter,$maCleDeCryptage='')
{
    if(
$maCleDeCryptage=='')
    {
        
$maCleDeCryptage=$GLOBALS['PHPSESSID'];
    }
    
//$maCleDeCryptage = md5($maCleDeCryptage);
    
$maCleDeCryptage hash('whirlpool',$maCleDeCryptage);
    
$letter = -1;
    
$newstr '';
    
//$maChaineCrypter = base64_decode($maChaineCrypter);
    
$maChaineCrypter $maChaineCrypter;

    
$strlen strlen($maChaineCrypter);
    for ( 
$i 0$i $strlen$i++ )
    {
        
$letter++;
        if ( 
$letter 31 )
        {
            
$letter 0;
        }
        
$neword ord($maChaineCrypter{$i}) - ord($maCleDeCryptage{$letter});
        if ( 
$neword )
        {
            
$neword += 256;
        }
        
$newstr .= chr($neword);
    }
    return 
$newstr;

Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Php] Script de récupération de données d'utilisateurs Apache9 17 836 29-06-2013, 12h04
Dernier message: LeuhVa
  [UNDEFINED] Chiffrement RSA plus Key ? InstinctHack 4 214 26-09-2012, 15h26
Dernier message: InstinctHack
  [Php] Chiffrement/Stéganographie de donnée sous la forme d'un array multi-dimension InstinctHack 12 847 09-08-2012, 10h45
Dernier message: InstinctHack
  |Php] Enregistrer l'ip des visiteurs dans une base de données Drku 4 395 01-03-2012, 12h19
Dernier message: InstinctHack

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut