//on inclue ici le fichier de configuration include 'configurationSSL.php'; $sert = stripslashes($_POST['cerRac']); $chiffre = stripslashes($_POST['TextChiffrerAR']); $cle = stripslashes($_POST['clePrim']); $textdechiffre = stripslashes($_POST['textDechiffrerAR']); if (isset($_POST['chiffrer'])) { if (isset($cert) && isset($chiffre)) { //récupération de la clé publique du certificat Perso $pkPub = openssl_pkey_get_public($cert); // Affiche les erreurs qui sont survenues while (($e = openssl_error_string()) !== false) { echo $e . "\n"; } $_POST['return_chiffrement'] = chiffrer($cert, $chiffre, $pkPub); } else { echo "veuillez renseigner le certificat ainsi que le message à chiffre"; header('Location:templates/FormChiffreDechiffre.tpl'); } } else { if (isset($_POST['dechiffrer'])) { if (isset($cle) && isset($textdechiffre)) { $text = ""; $_POST['return_dechiffrement'] = dechiffre($textdechiffre, $text, $cle); } else { echo "veuillez renseigner la clé publique ainsi que le message à déchiffrer"; header('Location:templates/FormChiffreDechiffre.tpl'); } } }
require 'autoloader.php'; Autoloader::register(); function chiffrer($alphabet, $msg, $key, $chiffrement, $reverse = 0) { $alpha = new Alphabet($alphabet); $code = new Code($alpha, $msg); if ($chiffrement == "Cesar") { $chiffrement = new Chiffrement_cesar($code, $chiffrement, $key, $reverse); } if ($chiffrement == "Substitution") { $chiffrement = new Chiffrement_substitution($code, $chiffrement, $key, $reverse); } if ($chiffrement == "Vigenere") { $chiffrement = new Chiffrement_vigenere($code, $chiffrement, $key, $reverse); } if ($chiffrement == "Enigma") { $chiffrement = new Chiffrement_enigma($code, $chiffrement, $key, $reverse); } return $chiffrement; } $msg = "Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres dans le cas d'un décalage à droite, on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc. Il s'agit d'une permutation circulaire de l'alphabet. La longueur du décalage, 3 dans l'exemple évoqué, constitue la clé du chiffrement qu'il suffit de transmettre au destinataire s'il sait déjà qu'il s'agit d'un chiffrement de César pour que celui-ci puisse déchiffrer le message. Dans le cas de l'alphabet latin, le chiffre de César n'a que 26 clés possibles"; $alphabet = array('alphabet' => "", 'maj' => 0, 'num' => 0, 'special' => 0, 'accent' => 0, 'space' => 1, 'binaire' => 0, 'hexa' => 0, 'ascii' => 0, 'debug' => 0); $chiffrer = chiffrer($alphabet, $msg, "", ""); //$key = " muqcjgslwerhyfnpovtbdkziaxAZERTYUIOPQSDFGHJKLMWXCVBN0987654321"; $chiffrer = chiffrer($alphabet, $msg, "", "Enigma", 0); echo $chiffrer->get_msg(); //$chiffrer->reverse(); //echo "\n"; //echo "\n"; //echo $chiffrer->get_msg(); echo "\n";