Pourquoi
PGP est incassable ?
Le programme de cryptage de Philipp Zimmermann est basé sur celui
de RSA. Le principe en est simple. En chiffrement classique, qu'on appelle
à clé symétrique (dit aussi à clé
privée), il y a une clé pour l'encodage et une pour le
décodage.
L'algorithme de César en est un exemple : il consistait à
décaler chaque lettre dans l'alphabet d'une certaine quantité. La
clé c'est le nombre de décalage. Celui qui connaît
l'algorithme et le nombre de décalage peut chiffrer, celui qui
connaît le nombre de décalage peut déchiffrer. Mais il est
très facile à casser car il n'y a que 26 clés possibles.
Tout de problème du système à clé
symétrique c'est que les deux personnes qui veulent communiquer
doivent s'être donné la clé, par un canal sûr.
Par contre, dans le système à clé asymétrique
(appelé à clé publique) il y a deux clés
: une publique et une privée. Comme son nom l'indique, cette
dernière est rigoureusement privée, tandis que l'autre,
puisqu'elle est publique, peut figurer sur votre carte de visite. On encode
avec la clé publique du destinataire, qui lui, décode avec sa
clé personnelle. Pour que ce système soit sûr, il faut
qu'il y ait une relation mathématique entre les deux clés qui ne
soit pas cassable. RSA est basé sur le système des nombres
premiers.
Quand vous avez un grand nombre, il se décompose en facteurs premiers de
manière unique. Quand vous avez le facteur premier vous avez facilement
le nombre mais l'inverse n'est pas vrai. Tout l'intérêt de PGP
repose sur cette asymétrie. Car la seule possibilité de retrouver
les facteurs premiers d'après le nombre, c'est la force brute, à
savoir essayer systématiquement toutes les valeurs. Les
mathématiciens appellent ça un problème "difficile",
(c'est-à-dire qui n'est pas soluble autrement qu'avec la force brute).
L'informaticien, dira que la solution est impossible car le temps
nécessaire pour essayer toutes les combinaisons se chiffre à
l'heure actuelle en quelques petits milliards d'années.... Même si
les ordinateurs se perfectionnent très vite, il suffit d'augmenter la
taille de la clé pour repousser très loin les possibilité
de "craquage". Comme RSA travaille en binaire, il suffit d'ajouter un seul bit
à la clé pour doubler le temps nécessaire à la
décomposition.
|