//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');
        }
    }
}
Exemple #2
0
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";