Vérifier
les codes-sources
des
traductions de PGP 5.5.3, PGP 6.5.1 et ScramDisk 2.02H
PGP 5.5.3fr, PGP 6.5.1fr et ScramDisk 2.02H-fr ont été
traduits bénévolement par Fabien Petitcolas, Raphaël
Quoilin et Michel Bouissou. Ceux-ci ont travaillé avec l’accord
des auteurs des versions anglaises mais en dehors de leur contrôle
(les auteurs anglais n’ont tout simplement pas le temps d’examiner le code-source
français puis le compiler).
Ces traducteurs français sont dévoués depuis longtemps
à la promotion de la cryptographie libre et ceux qui les connaissent
ne sauraient les soupçonner une seconde d’avoir placé une
porte arrière dans ces versions françaises.
Mais peut-être que vous êtes paranoïaque et que vous
ne faîtes confiance qu’à Philip Zimmermann (responsable du
développement américain de PGP) et Ståle Schumacher
Ytteborg (qui a scanné le code américain de PGP et en a fourni
la version électronique internationale), ou à Aman et Sam
Simpson (les auteurs de ScramDisk) ?
Peut-être que vous voulez être certain que PGP 5.5.3fr,
PGP 6.5.1fr et ScramDisk 2.02H-fr sont aussi sûrs que les originaux
PGP 5.5.3i, PGP 6.5.1 et ScramDisk 2.02H ?
Alors, il vous faut examiner les codes-sources des versions anglaise
et française en les comparant et en identifiant les changements
opérés par les traducteurs.
Le
code-source et le binaire
Le logiciel que vous utilisez sur votre ordinateur se présente
sous la forme de plusieurs programmes exécutables (extension « EXE »)
complétés par des bibliothèques de fonctions (extension
« DLL ») ; ce sont les fichiers binaires qui sont compris et exécutés
par le microprocesseur de votre ordinateur. L’ordinateur ne comprend que
ce binaire car il ne comprend que le langage « machine ».
Ce fichier en langage machine est incompréhensible pour un programmeur.
Aussi, pour mettre au point leur logiciel, les programmeurs travaillent
sur un langage dit « de haut niveau », tels C ou C++. Le « code-source » est
la liste de commandes écrites en langage de haut niveau que doit
exécuter l’ordinateur.
Voici par exemple un passage du code-source de PGP 2.63i :
#define SUBTITLES_FILE « language.txt »
#define LANG_INDEXFILE « language.idx »
#define STRBUFSIZE
2048
char language[16] = « en »;
/* The language code, defaults to English */
static char *strbuf;
static char lang[16];
/* readstr sets this to the language id of
the msg it last read */
static int subtitles_available
= 0;
static int line = 0;
/*
subtitles_available is used to determine if we know whether the special
subtitles_file
exists. subtitles_available has the following values:
0 = first
time thru, we don’t yet know if subtitles_file exists.
1 = we
have already determined that subtitles_file exists.
-1 = we have
already determined that subtitles_file does not exist.
*/
#define NEWLINE 0 |
Une fois vérifié, le code-source est converti par le « compilateur »
en fichiers binaires compréhensibles par l’ordinateur.
Voici par exemple un passage du fichier binaire de PGP 2.63i (fichier
« pgp.exe ») :

Comment
comparer le code-source français et le code-source original ?
Il vous faut utiliser un logiciel de comparaison de fichiers qui va
produire des fichiers DIFF et vous indiquer toutes les modifications apportées
au code-source original. ComponentSoftware
Diff (CSDiff) freeware pour Windows permet cela.
Récupérez le code-source anglais puis le code-source français
:
Sources
de PGP 5.5.3i
Sources
de PGP 5.5.3fr
Sources
de PGP 6.5.1i
Sources
de PGP 6.5.1fr
Sources
de ScramDisk 2.02H
Sources
de ScramDisk 2.02H-fr
Dézippez-les dans des répertoires différents.
Lancez CSDiff, sélectionnez les fichiers, et à l’aide
des flèches, allez de modification en modification comme ceci :

Vous verrez ainsi tout ce qui a été « retouché »
dans la version française.
Comment
compiler le code-source ?
Une fois que vous avez examiné le code, si vous êtes *vraiment*
paranoïaque 😉 vous pouvez le compiler vous-même grâce
aux outils GNU de Cygnus :
Compilateur gratuit GNU pour Windows : http://sourceware.cygnus.com/cygwin/
(Le code-source de Cygwin est lui aussi disponible).
Pour compiler PGP 6.5.1fr, il est
conseillé d’utiliser les outils Microsoft.
Quelques connaissances de l’informatique seront aussi ici indispensables.
Mise à jour : janvier 2000
© 1997, 1998, 1999, 2000, pplf 14A0 4A67 0431 2402
684D 6EBA 537F 664D 3F80 0D58
[email protected] |