Nom d'utilisateur: 
Mot de passe: 
Restreindre la session à cette IP 
Questions  |  score: 6  |  4.97 5.83 7.54 |  Résolu par 162 personnes  |  76165 views  |  depuis Septembre 08, 2010 - 17:36:54

GizCrypt (Crypto)

Code source de "inc/util/GWF_Crypt.php"
GeSHi`ed php code for inc/util/GWF_Crypt.php
1
2
3
4
56
7
8
9
1011
12
13
14
1516
17
18
19
2021
22
23
24
2526
27
28
29
3031
32
33
34
3536
37
38
39
4041
42
 
<?php
/**
 * Encrypt with some simple XOR algo.
 * This is not cryptographically safe and designed to be easily broken! * @author gizmore
 * @version 1.0
 */
final class GWF_Crypt
{        public static function encrypt($plaintext, $key)
        {
                return self::decrypt($plaintext, $key);
        }
         public static function decrypt($ciphertext, $key)
        {
                if (0 === ($klen = strlen($key))) {
                        die('Error: Invalid key for decryption');
                }                $back = '';
                $len = strlen($ciphertext);
                $x = 1;
                $k = -1;
                $e = ord('e');                for ($i = 0; $i < $len; $i++)
                {
                        $k += $x;
                        if ($k >= $klen) {
                                $k = 0;                                $x++;
                                if ($x >= $klen) {
                                        $x = 1;
                                }
                        }                        $back .= chr(ord($key[$k%$klen]) ^ ord($ciphertext[$i]) ^ $e);
                }
                return $back;
        }
} 
 

Gizmore Encryption
J'ai créé un chiffrement symmétrique pour ajouter une couche de sécurité à l'obfuscation de mes projets.
Pouvez-vous m'aider et vérifier si c'est facilement cassable, même si la clé est secrète ?

Vous pouvez aussi voir l algorithme, ainsi que la version surlignée.

Pour prouver que c'est facilement cassable, vous devez déchiffrer le message suivant.
L'ensemble du texte est lisible en français.
Il n'y a pas de saut de ligne, mais la ponctuation est correcte.
Il y a un mot qui n'existe pas : la solution aléatoire, sous forme de 12 caractères hexadécimaux en majuscules.

6E 7E 78 5F 6B 63 64 3E 2A 7E 6D 0C 66 65 64 6B
C2 82 41 36 66 59 61 2A 5A 79 74 5F 36 EF B8 58
6F 5F 37 4F 60 5C 70 74 59 61 36 72 77 2A 7B 68
5E 73 24 75 6F 21 58 50 6E 63 49 2A 2A 6F 31 64
5F 62 0C D1 85 7E 43 79 42 60 42 65 36 14 24 55
73 32 79 72 73 4D 7F 70 36 68 68 49 5B 36 64 45
24 7C 43 63 72 0C 66 43 67 5A 63 49 6D 0C 6D 4D
78 65 46 61 64 36 67 64 37 6C 49 65 77 77 6D 64
0C 51 77 79 5F 24 66 49 36 67 43 64 59 7F 0C 6E
49 64 0C 72 43 7D 63 41 6D 79 78 61 26 37 6F 43
63 77 36 6E 68 5F 54 78 63 0C 67 65 41 7B 64 42
62 0C 64 43 7F 5F 37 40 26 4D 67 73 4F 24 64 D5
BB 79 78 6D 59 38 24 59 62 2D 0C 5F 36 76 45 24
65 59 74 6D 45 D5 85 32 48 6F 0C 61 43 74 5F 31
72 5A 6A 78 73 60 2A 7B 64 0C 7B 6B 62 2A 65 49
15 66 76 5F 77 6F 0C 2C 21 1F 55 19 23 69 39 1E
2E 18 35 6A 57 38 15 40 77 78 61 2A 7B 64 0C 75
65 65 2A 6E 59 15 60 78 59 77 2A 49 65 72 4D 6F
49 68 0C 6F 42 74 43 73 49 31 73 41 24 67 63 77
2A 61 6E 59 65 24 78 2D 60 5A 50 6C 37 5C 65 79
0C 72 64 0C 75 44 73 42 69 49 3B 0C 77 43 64 65
15 65 60 73 68 2A 67 64 59 62 29 D5 A0 75 5E 50
36 75 49 77 65 45 78 21 48 73 0C 62 40 7F 5F 37
48 64 0C 65 73 4D 70 73 36 71 62 7E 67 4A 64 C7
BF 26 21 48 5A 78 74 0C 67 6F 0C 62 64 54 62 49
32 49 79 58 37 40 C2 8C 31 66 5A 71 64 36 D1 AD
76 2F 0C 5B 61 64 69 68 0C F6 B6 37 4B 76 63 41
7B 6B 43 61 4E 7D 0C 7A 43 62 5E 21 40 70 36 41
76 77 72 67 69 63 68 43 78 2A 

Vous pouvez aussi télécharger le texte chiffrer sous forme de fichier.

Indice supplémentaire : la clé secrète fait 11 caratères, et contient seulement [a-zA-Z].
Merci à Edge et Stack pour leurs tests et retours sur le challenge.
Votre solution pour GizCrypt
Réponse
© 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 et 2024 by Gizmore