OVH Cloud OVH Cloud

Tribute to Guillermito ou AllCrypter heu, paix à son âme...

31 réponses
Avatar
AMcD®
Eh oui ! N'oublions pas que d'ici un mois, un ami à moi passe devant une
chambre de tribunal pour contrefaçon alors que,

pour résumer l'affaire, son but n'avait foncièrement qu'une motivation
altruiste : aider son prochain à se méfier des

logiciels de crypto bancal ou des logiciels anti-virus heu bancals eux
aussi.

Pour remettre une couche sur le fait que des gens comme lui seront à jamais
nécessaires, eh bien démontons une fois de

plus, un logiciel bancal dont pourtant, l'argumentation publicitaire nous
laissait augurer de la panacée en matière de

cryptage de données. Si, si, jugez plutôt...

Lançons le logiciel. Un popup surgit (ce qui est, après tout, sa fonction).
Nous pouvons en extraire les passages

savoureux suivants :

"C'est un logiciel de qualité"
"personne ne puisse décrypter vos données confidentielles, ni même le
concepteur de ce logiciel AllCrypter, ni aucune

autorité ni personne"

Et, si vous parcourez le site Web du produit, c'est clair, les plus grands
honneurs attendent l'auteur de ce produit

mirifique.

Au passage, je n'ai rien contre l'auteur. Il fait ce qu'il veut après tout.
Simplement, son ton un tantinet arrogant en

ce lieu est pénible. Quand il me répond, nous frôlons le fait qu'il me prend
pour un neuneu, son forum semble posséder la

même intégrité morale qu'un discours de Staline et, malgré les avis pourtant
autorisés de la plupart des cadors de fmc,

il nous prend (moi+les cadors) pour des rigolos.

Bon...

Alors, on commence par lire mes 3 ersatz d'analyse ici :

http://arnold.mcdonald.free.fr/pdf/zboing.pdf
http://arnold.mcdonald.free.fr/pdf/zbong.pdf
http://arnold.mcdonald.free.fr/pdf/zbrouff.pdf

Ensuite, le plus définitif :

http://arnold.mcdonald.free.fr/pdf/ouch.pdf

On prend un exemple. Une main innocente, a codé avec AllCrypter un court
texte. Un mot. Le fichier fait 38 octets de

long. Le bandeau publicitaire fait 21 octets. 38-21 = 17. Nous avons le
séparateur 31 31. Reste 15. Je lui ai demandé

d'utiliser une clé de 4 caractères. Cela nous fait 8 octets. Reste 7. Le mot
fait 7 caractères de long.

Après le séparateur 31 31, nous avon les 8 octets suivants : D8 AD B4 8F 9E
C1 C2 DF

Entrons cette clé (en fait, si vous lisez le fichier ouch ci-dessus, on ne
fournit que les 7 premiers octets) dans le logiciel somptueusement écrit
suivant :

[ début code crado ]

#include <windows.h>
#include <conio.h>
#include <stdio.h>

void main(void)
{
char keyToFind[] = "D8ADB48F9EC1C2";

char key[5];
char keyTemp[17];
int A10,A16,A17,A21,A22,A24,A25,A32,A33,A34,A40,A41,A45,A46;
int K0,K1,K2,K3,K4,K5,K6,K7;
int i,j,k,p;

for ( i = 'a'; i <= 'z'; i++ )
{
for ( j = 'a'; j <= 'z'; j++ )
{
for ( k = 'a'; k <= 'z'; k++ )
{
for ( p = 'a'; p <= 'z'; p++ )
{
key[0] = i;
key[1] = j;
key[2] = k;
key[3] = p;
key[4] = '\0';

A10 = 129+(key[0]-32)*3; if ( A10 > 255 ) A10 -= 256;
A16 = 141+(key[0]-32)*1; if ( A16 > 255 ) A16 -= 256;
A17 = 143+(key[0]-32)*4; if ( A17 > 255 ) A17 -= 256;

A21 = 131+(key[1]-32)*1; if ( A21 > 255 ) A21 -= 256;
A22 = 133+(key[1]-32)*3; if ( A22 > 255 ) A22 -= 256;
A24 = 137+(key[1]-32)*1; if ( A24 > 255 ) A24 -= 256;
A25 = 139+(key[1]-32)*3; if ( A25 > 255 ) A25 -= 256;

A32 = 133+(key[2]-32)*1; if ( A32 > 255 ) A32 -= 256;
A33 = 135+(key[2]-32)*4; if ( A33 > 255 ) A33 -= 256;
A34 = 137+(key[2]-32)*3; if ( A34 > 255 ) A34 -= 256;

A40 = 129+(key[3]-32)*1; if ( A40 > 255 ) A40 -= 256;
A41 = 131+(key[3]-32)*3; if ( A41 > 255 ) A41 -= 256;
A45 = 139+(key[3]-32)*1; if ( A45 > 255 ) A45 -= 256;
A46 = 141+(key[3]-32)*3; if ( A46 > 255 ) A46 -= 256;

K0 = A10 + A40 + 0x7F - 0x0 - 0x100;
K1 = A21 + A41 + 0x7F - 0x2 - 0x100;
K2 = A22 + A32 + 0x7F - 0x4 - 0x100;
K3 = A33;
K4 = A24 + A34 + 0x7F - 0x8 - 0x100;
K5 = A25 + A45 + 0x7F - 0xA - 0x100;
K6 = A16 + A46 + 0x7F - 0xC - 0x100;
K7 = A17;

wsprintf(keyTemp,"%X%X%X%X%X%X%X",K0,K1,K2,K3,K4,K5,K6);

printf("\n");
printf(keyTemp);

if ( 0 == strcmp(keyTemp,keyToFind) )
{
printf("\ntatatata tataaaaa! found! key = %s",key);
i = j = k = p = 'z';
}
}
}
}
}

while ( !_kbhit() ) ;
}

[ fin code crado ]

Le programme affiche alors : "tatatata tataaaaa! found! key = zobi".

L'angoisse et l'émotion aux tripes je saisi "zobi" dans AllCrypter et des
congratulations sincères me sont données. J'ouvre le fichier décrypté et
apparaît le mot "bonjour". Renseignement pris auprès de l'innocente main,
c'est bon.

Alors voilà, si quelqu'un d'autre veux bien insister auprès de notre ami,
parce que j'ai l'impression qu'il ne comprends pas :-(.

La prochaine fois, je parierai 1.000 USD...

Voilà, fin du tribute à Guillermito. On est avec toi gars !

--
AMcD®

http://arnold.mcdonald.free.fr/

10 réponses

1 2 3 4
Avatar
Vengeur Masqué
On Sun Dec 05 2004 at 12:09, Nicob wrote:

Si on est déjà à un niveau 100% "sécuritaire" avec la version actuelle,
pourquoi changer l'algo et créer une version 3 ? Pour atteindre un
niveau "sécuritaire" de 120% ?


C'est comme la lessive qui lave plus blanc que blanc. Il va nous
inventer le code indéchiffrable, même avec la clé.

--
Le Vengeur Masqué se vengera !
http://vm666.dotnode.com/ http://vm666.free.fr/

Avatar
Apokrif
Vengeur Masqué :

Allez donc lire divers grimoires comme "The code breaker"


Vous devez parler de _Codebreakers_ de Kahn, paru en français (dans
une version largement expurgée, m'a-t-on dit) sous les titre _La
guerre des codes secrets_. Le Que sais-je ? sur le décryptement est
intéressant mais, par rapport aux méthodes actuelles, aussi dépassé
que celui sur "les écritures secrètes".

--
`cat ~/.signature`

Avatar
Apokrif
Raymond H. :

Présentement le calcul effectué pour crypter la clef est assez
simple. Mais on sait que ce n'est pas la quantité de calcul qui
fait qu'un cryptage est d'une bonne qualité mais la logique
utilisée. Et j'en convient qu'en regardant les changements d'octets
effectués lors d'un cryptage ne sont pas toujours important à
l'oeil. Cela dépend de la clef: si elle contient des caractères
semblables on y voit moins de changements au niveau des octets que
si les caractères sont tous différents. Mais dans la version 3.0,
ces changements au niveau visuel seront complètement différents
puisque ce ne sera pas la clef elle-même qui sera intégrée dans le
cryptogramme.


Les résultats du chiffrement devraient être *complètement* différents
(c'est une condition nécessaire, pas suffisante).

http://en.wikipedia.org/wiki/Avalanche_effect

--
`cat ~/.signature`

Avatar
Erwann ABALEA
Bonjour,

On Sun, 5 Dec 2004, Raymond H. wrote:

"Erwann ABALEA" a écrit dans le message de news:

Bonsoir,

On Sat, 4 Dec 2004, Raymond H. wrote:

Il n'y a pas de problème là-dessus, car une des raisons de ce forum
est
de donner son appréciation sur des logiciels de cryptage. Je vous
remercie
donc de prendre du temps pour éprouver mon logiciel. Je remercie
également
tous ceux et celles qui ont fait de même. Et je tiens quand même compte
de
vos analyses et de vos commentaires et je suis prêt à faire des
changements
si cela s'avérerait nécessaire (exemple dans la version 3.0).


En chiffrant un clair d'une certaine taille ne contenant par exemple que
des '0', je me suis rendu compte que quelle que soit la taille de la clé,
il apparaissait dans le chiffré des patterns de 256 octets.


Bonjour,
j'ai essayé aussi avec d'autres clefs mais n'ayant que des zéro (0) à
chiffrer, et effectivement on voit souvent certains patterns revenir même si
quelques fois il sont légèrement différents.


J'ai chiffré un fichier de 10M rempli de 0x00 avec une clé composée de 128
'0' (0x30), j'obtiens après 5 mn un fichier qui contient des blocs de 4k
identiques (strictement identiques, à moins que vous n'ayez réussi à
produire des collisions MD5). J'ai 816 blocs de 4k qui apparaissent en
double, et 309 blocs qui apparaissent en triple (et un dernier bloc tout
seul, le dernier, parce que le dernier caractère du clair semble être
chiffré légèrement diféremment des autres). Je n'ai pas encore compté les
distances qui séparent 2 blocs identiques, mais je suis presque sûr que
cette distance est constante. Ces redondances ne vous gènent pas? Vraiment
pas?

L'hypothèse selon laquelle la clé qui est saisie est transformée en
interne en un bloc de 256 octets, et que c'est ce bloc de 256 octets
dérivé de la clé qui servira à faire le chiffrement est-elle vraie?


Non, la clef n'est pas transformée en bloc de 256 octets avant le
cryptage mais ses caractères sont permutés, doublés puis permutés de
nouveau; ensuite le cryptage/décryptage se fait à partir de là. Mais la


Et j'ai écrit quoi de différent?

lecture d'un fichier se fait par paquet de 2250000 octets à la fois et ces
2250000 octets sont cryptés ou décrypté par sous paquet qui font plus d'un
Ko chacun.


On pourrait croire que ça va plus vite d'utiliser de gros buffers, mais
non. Est-ce la faute du langage choisi (VB), ou de la qualité du
programmeur? Sur la machine d'à côté, le même fichier chiffré en AES128
n'a demandé que 2,4 seconde de traitement, sur une machine plus lente.

Par contre l'idée que vous amenez ressemble à ce que je prévois faire
dans la version 3.0. et que l'on peut lire dans l'historique des versions


Hopopopop! Avant de se jeter sur son clavier, il *faut* prendre un bout de
papier et un crayon, et s'équiper de neurones en état de fonctionnement.
Voudriez-vous aller voir sur http://www.cacr.math.uwaterloo.ca/hac/ et
télécharger le chapitre 6 et le lire, *avant* de pondre votre version 3.0
qui ne sera certainement pas plus robuste?

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Manuals out, after all possible keystrokes have failed.



Avatar
Raymond H.
"Erwann ABALEA" a écrit dans le message de news:

Bonjour,

On Sun, 5 Dec 2004, Raymond H. wrote:

"Erwann ABALEA" a écrit dans le message de news:

Bonsoir,

On Sat, 4 Dec 2004, Raymond H. wrote:

Il n'y a pas de problème là-dessus, car une des raisons de ce
forum
est
de donner son appréciation sur des logiciels de cryptage. Je vous
remercie
donc de prendre du temps pour éprouver mon logiciel. Je remercie
également
tous ceux et celles qui ont fait de même. Et je tiens quand même
compte
de
vos analyses et de vos commentaires et je suis prêt à faire des
changements
si cela s'avérerait nécessaire (exemple dans la version 3.0).


En chiffrant un clair d'une certaine taille ne contenant par exemple
que
des '0', je me suis rendu compte que quelle que soit la taille de la
clé,
il apparaissait dans le chiffré des patterns de 256 octets.


Bonjour,
j'ai essayé aussi avec d'autres clefs mais n'ayant que des zéro (0)
à
chiffrer, et effectivement on voit souvent certains patterns revenir même
si
quelques fois il sont légèrement différents.


J'ai chiffré un fichier de 10M rempli de 0x00 avec une clé composée de 128
'0' (0x30), j'obtiens après 5 mn un fichier qui contient des blocs de 4k
identiques (strictement identiques, à moins que vous n'ayez réussi à
produire des collisions MD5).


Bonjour,

sur ma machine P4 (Pentium 2.4Go) le cryptage/décryptage prend environ
6 à 7 secondes pour chaque Mo, donc environ 1 minutes pour un fichier de
10Mo. AllCrypter ne crypte pas des block de 4 ko même s'il semble que les
patterns se répète à cet intervalle; cela est dû aux calculs effectués qui,
dépendant des valeurs de chaque caractère calculé, fait qu'un même cycle
recommence vu que les octets que vous mettez pour être chiffré sont tous
identiques. Mais les blocks se font toujours avec un certain maximum de
caractères: autour de 2ko.



J'ai 816 blocs de 4k qui apparaissent en
double, et 309 blocs qui apparaissent en triple (et un dernier bloc tout
seul, le dernier, parce que le dernier caractère du clair semble être
chiffré légèrement diféremment des autres). Je n'ai pas encore compté les
distances qui séparent 2 blocs identiques, mais je suis presque sûr que
cette distance est constante. Ces redondances ne vous gènent pas? Vraiment
pas?


Absolument pas puisque cela ne correspond pas à la taille des blocks traités
:)


L'hypothèse selon laquelle la clé qui est saisie est transformée en
interne en un bloc de 256 octets, et que c'est ce bloc de 256 octets
dérivé de la clé qui servira à faire le chiffrement est-elle vraie?


Non, la clef n'est pas transformée en bloc de 256 octets avant le
cryptage mais ses caractères sont permutés, doublés puis permutés de
nouveau; ensuite le cryptage/décryptage se fait à partir de là. Mais la


Et j'ai écrit quoi de différent?


Dépendant des valeurs utilisées dans les calculs cela peut donner des
intervalles de répétition différents, non que la taille des blocks change
mais que le cycle du résultat de calcul change, et cela dépend des valeurs
traitées.



lecture d'un fichier se fait par paquet de 2250000 octets à la fois et
ces
2250000 octets sont cryptés ou décrypté par sous paquet qui font plus
d'un
Ko chacun.


On pourrait croire que ça va plus vite d'utiliser de gros buffers, mais
non. Est-ce la faute du langage choisi (VB), ou de la qualité du
programmeur? Sur la machine d'à côté, le même fichier chiffré en AES128
n'a demandé que 2,4 seconde de traitement, sur une machine plus lente.


Disons que le langage de programmation est différent. Ici on est en vb.
Mais un des objectifs futur est d'y créer un dll écrite en C afin
qu'AllCrypter y fasse appel afin que la procédure d'encryptage/décryptage se
fasse de cette manière plutôt, afin d'augmenter sa vitesse de traitement.
Et concernant la taille des blocks à utiliser cela dépend du langage. Ici
j'ai choisi une taille qui donne le meilleur rendement de vitesse au sein de
la procédure qui exécute le cryptage/décryptage. Des tests ont été faits
pour prendre la taille qui donne le meilleur rendement de vitesse.



Par contre l'idée que vous amenez ressemble à ce que je prévois faire
dans la version 3.0. et que l'on peut lire dans l'historique des versions


Hopopopop! Avant de se jeter sur son clavier, il *faut* prendre un bout de
papier et un crayon, et s'équiper de neurones en état de fonctionnement.
Voudriez-vous aller voir sur http://www.cacr.math.uwaterloo.ca/hac/ et
télécharger le chapitre 6 et le lire, *avant* de pondre votre version 3.0
qui ne sera certainement pas plus robuste?


Réponse plus haut.
a+
r.h.


--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Manuals out, after all possible keystrokes have failed.





Avatar
Raymond H.
"Apokrif" a écrit dans le message de news:

Raymond H. :

Présentement le calcul effectué pour crypter la clef est assez
simple. Mais on sait que ce n'est pas la quantité de calcul qui
fait qu'un cryptage est d'une bonne qualité mais la logique
utilisée. Et j'en convient qu'en regardant les changements d'octets
effectués lors d'un cryptage ne sont pas toujours important à
l'oeil. Cela dépend de la clef: si elle contient des caractères
semblables on y voit moins de changements au niveau des octets que
si les caractères sont tous différents. Mais dans la version 3.0,
ces changements au niveau visuel seront complètement différents
puisque ce ne sera pas la clef elle-même qui sera intégrée dans le
cryptogramme.


Les résultats du chiffrement devraient être *complètement* différents
(c'est une condition nécessaire, pas suffisante).


En effet, vous avez bien raison. Si le début change alors le reste change.
a+
r.h.


http://en.wikipedia.org/wiki/Avalanche_effect

--
`cat ~/.signature`



Avatar
Erwann ABALEA
Bonsoir,

On Sun, 5 Dec 2004, Raymond H. wrote:

"Erwann ABALEA" a écrit dans le message de news:


sur ma machine P4 (Pentium 2.4Go) le cryptage/décryptage prend environ
6 à 7 secondes pour chaque Mo, donc environ 1 minutes pour un fichier de
10Mo.


C'est toujours très lent. La machine sous Windows qui a fait tourner votre
machin est un bi-pro à 560 MHz, et la brouette qui a chiffré le même
fichier en 2.4 seconde est une U2 à 300 MHz, ça fait du 4Mo par seconde
sur mon bouzin, en comptant les accès disque.

AllCrypter ne crypte pas des block de 4 ko même s'il semble que les
patterns se répète à cet intervalle; cela est dû aux calculs effectués qui,
dépendant des valeurs de chaque caractère calculé, fait qu'un même cycle
recommence vu que les octets que vous mettez pour être chiffré sont tous
identiques. Mais les blocks se font toujours avec un certain maximum de
caractères: autour de 2ko.


Ah oui mais non, parce qu'avec un algo solide utilisé de la bonne façon,
j'ai beau avoir plusieurs centaines de Mo identiques dans le clair, je
n'aurais pas de bloc identique dans le chiffré.

J'ai 816 blocs de 4k qui apparaissent en
double, et 309 blocs qui apparaissent en triple (et un dernier bloc tout
seul, le dernier, parce que le dernier caractère du clair semble être
chiffré légèrement diféremment des autres). Je n'ai pas encore compté les
distances qui séparent 2 blocs identiques, mais je suis presque sûr que
cette distance est constante. Ces redondances ne vous gènent pas? Vraiment
pas?


Absolument pas puisque cela ne correspond pas à la taille des blocks traités
:)


Sérieusement, vous devriez suivre les conseils qu'on vous donne. Des tas
de gens ont consacré des années d'étude sur ce sujet et ont pondu des tas
d'articles et de bouquins. Vous pensez sérieusement arriver à une idée
révolutionnaire en n'y connaissant rien, et surtout en refusant de vous
y intéresser? Attention aux arguments que vous pourriez sortir, on les a
certainement déjà entendus. Une lecture des archives de ce groupe serait
une bonne idée.

Hint: si j'ai 2 blocs de 4k identiques, c'est bien que leurs 2 moitiés de
2k sont également identiques... Et ça ne vous gène toujours pas...

L'hypothèse selon laquelle la clé qui est saisie est transformée en
interne en un bloc de 256 octets, et que c'est ce bloc de 256 octets
dérivé de la clé qui servira à faire le chiffrement est-elle vraie?


Non, la clef n'est pas transformée en bloc de 256 octets avant le
cryptage mais ses caractères sont permutés, doublés puis permutés de
nouveau; ensuite le cryptage/décryptage se fait à partir de là. Mais la


Et j'ai écrit quoi de différent?


Dépendant des valeurs utilisées dans les calculs cela peut donner des
intervalles de répétition différents, non que la taille des blocks change
mais que le cycle du résultat de calcul change, et cela dépend des valeurs
traitées.


Bon. Nous attendons une description de votre algo, ou à défaut un
morceau de code source pour la partie chiffrement, parce que visiblement,
nous ne parlons pas la même langue, en plus de ne pas parler de la même
chose.

Voudriez-vous aller voir sur http://www.cacr.math.uwaterloo.ca/hac/ et
télécharger le chapitre 6 et le lire, *avant* de pondre votre version 3.0
qui ne sera certainement pas plus robuste?


Réponse plus haut.


Mauvaise réponse, voir plus haut.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Vous faites chier avec vos annonces à la con ! Ou sont les modérateurs
????? Ca se dégrade cheza Oléane, ca se dégrade ...Ah ouais j'avais
oublié , y'a du Farce Télécom derrière, ca doit être ça ...
-+- PP in: Guide du Neuneu d'Usenet - Tout, faut tout modérer -+-




Avatar
pornin
According to Erwann ABALEA :
On Sun, 5 Dec 2004, Raymond H. wrote:
sur ma machine P4 (Pentium 2.4Go) le cryptage/décryptage prend environ
6 à 7 secondes pour chaque Mo, donc environ 1 minutes pour un fichier de
10Mo.


C'est toujours très lent.


Juste en passant (je n'ai suivi que très distraitement le thread
précédent) :

-- Il y a des usages de la cryptographie qui n'ont pas de problèmes de
performances. Par exemple, le courrier électronique. Le courrier est
asynchrone, et peut prendre son temps ; l'utilisateur moyen, même avec
un énorme ADSL, a par ailleurs un débit d'émission assez faible (genre
128 ou 256 kilobits par seconde). Enfin, il est normalement assez rare
d'envoyer de gros mails (même si avec des pièces jointes, on peut monter
assez vite).

-- Il y a des usages de la cryptographie qui ont de vrais problèmes
de performances. Les cas typiques sont les VPN sur de l'ethernet
gigabit, et les disques durs chiffrés. Les débits voulus sont alors,
respectivement, de 100 et 40 mégaoctets par seconde ; de plus, on
voudrait faire ça en n'y consacrant qu'au plus, mettons, 20% du cpu,
parce que ça tourne sur des machines dites "multi-tâches" qui ont autre
chose à faire que du chiffrement.


Les records en la matière, avec un algorithme décent comme l'AES,
sont d'environ 240 cycles d'horloge pour chaque bloc de 16 octets ;
sur une machine à 3 GHz, ça fait pas loin de 200 Mo/s (à plein cpu),
ce qui, avec 20% du cpu, nous donne les 40 Mo/s voulus pour un disque
dur chiffré, mais pas les 100 Mo/s du VPN gigabit. De plus, cette
performance est fondé sur un compte de cycle sur Pentium III ; sur
Pentium IV, la note monte (le Pentium IV tourne à une cadence plus
élevée, mais il en fait moins par cycle d'horloge). Enfin, c'est un
compte qui fait fi de toute notion de cache. Donc la performance réelle
serait probablement assez nettement plus faible (à la louche, moitié
moindre). Ça fait tomber l'AES à 100 Mo/s sur un gros PC, à plein cpu.

Dans ces conditions, 6 ou 7 secondes pour un malheureux mégaoctet,
c'est pathétique.


--Thomas Pornin


Avatar
Vengeur Masqué
On Sun Dec 05 2004 at 16:05, Erwann ABALEA wrote:

J'ai chiffré un fichier de 10M rempli de 0x00 avec une clé composée de 128
'0' (0x30), j'obtiens après 5 mn


Ouaaaaahhhh !.... Ça c'est de l'algo qu'il est performant !
10 Mo en 5 min... On ne doit pas être loin de 1000 fois plus lent
qu'un bon AES.

--
Le Vengeur Masqué se vengera !
http://vm666.dotnode.com/ http://vm666.free.fr/

Avatar
Vengeur Masqué
On Sun Dec 05 2004 at 20:39, Raymond H. wrote:

sur ma machine P4 (Pentium 2.4Go)


2.4 giga-octets ? Et sinon, il tourne à quelle vitesse ?

le cryptage/décryptage prend environ 6 à 7 secondes pour chaque Mo,
donc environ 1 minutes pour un fichier de 10Mo.


C'est bien ça. 1000 fois plus lent qu'AES.

--
Le Vengeur Masqué se vengera !
http://vm666.dotnode.com/ http://vm666.free.fr/

1 2 3 4