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.
© 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 et 2024 by
Gizmore