Le meilleur algorithme de chiffrement sous TrueCrypt

TrueCrypt_banniere

Présentation de TrueCrypt

Truecrypt est un logiciel gratuit de chiffrement à la volée. Il vous permet de créer une disque virtuel chiffré (volume TrueCrypt) contenu dans un fichier et de le monter comme un disque physique réel dans lequel vous pourrez mettre tous vos secrets.

Au moment de la création de votre partition cryptée, vous devrez choisir l’algorithme que vous allez utiliser pour protéger votre partition cryptée. TrueCrypt propose 3 algorithmes de chiffrement :

  • AES
  • Twofish
  • Serpent

Mais comment savoir lequel est le plus sûr ? Ou tout du moins comment faire son choix en toute connaissance de cause ?

Historique

Pour comprendre tout ça, il faut remonter en 1997. Le NIST (National Institude of Standards and Technology) demande alors aux cryptologues de concevoir un nouvel algorithme de chiffrement destiné au gouvernement des Etats-Unis afin de remplacer l’anciennes norme, appelée DES (qui utilisait alors une clé de 56 bits). En effet, avec l’évolution des moyens et de la puissance de calculs de nos machine, il était désormais possible de forcer ce type de chiffrement par recherches exhaustives (aussi appelée méthode brute-force).

L’idée était donc de proposer un nouveau standard pour le cryptage des documents confidentiels des organismes gouvernementaux des Etats-Unis ou des dans le cas de produits commerciaux de grande importance. Ce dernier devait respecter plusieurs exigences car il était prévu que ce remplaçant au DES “tienne” jusqu’en 2050.  Ce nouveau chiffrement devrait être rapide, robuste et utiliser des clés de 192 à 256 bits.

A l’issu de ce concours lancé par le NIST, 15 algorithmes ont été proposés et 5 d’entre eux ont été retenus comme finalistes.

Les vainqueurs étaient les suivants :

L’algorithme AES ou Rijndael

En Octobre 2000, c’est finalement l’algorithme Rijndael qui remporte cette compétition. Il devient alors le nouveau standard de chiffrement pour les organisations gouvernementales des E-U. Il est alors nommé AES pour Advanced Encryption Standard. C’est notamment sous ce nom que vous le retrouvez dans TrueCrypt.

Pour les détails techniques, ce chiffrement AES, Rijndael, prend en compte un bloc de 128 bits et utilise une clé de chiffrement de 128, 192 ou 256 bits. Vous retrouverez plus de détails en vous rendant sur les deux références que je vous joins un peu plus bas. Il est important de bien comprendre la notion de clé de chiffrement pour voir les nuances entre les 3 algorithmes.

Jusqu’à présent, l’AES n’a pu être cassé. La recherche exhaustive reste la seule solution mais nos machines n’en sont pour l’heure pas encore capable (à priori pas avant 2050… quoique vu l’évolution fulgurante des machines on peut remettre cette date en question).

L’algorithme Twofish

Concernant, la seconde possibilité offerte par TrueCrypt, il s’agit d’un algorithme appelé Twofish. Il découle d’un ancien algorithme du même auteur et qui portait le nom de Blowfish. Cet algorithme n’a pas été retenu comme vainqueur par le NIST en 2000 car il est plus lent que Rijndael mais le surpasse toutefois car utilise une clé de 256 bits et peut-être implanté dans des systèmes embarqués tels que des cartes à puces.

En 2005, aucune attaque n’a pu être appliquée à l’algorithme Twofish.

L’algorithme Serpent

Le dernier et troisième finaliste, également disponible dans Truecrypt, porte le nom de Serpent. Il a obtenu la seconde place lors du concours lancé par le NIST en 2000. L’algorithme Serpent est considéré comme l’un des systèmes de chiffrement le plus sûr actuellement. En fait, selon Wikipédia, il existerait même une controverse comme quoi l’algorithme Serpent n’aurait pas été retenu car casser ses clés aurait été trop complexe pour les services de renseignement civils ou militaires.
On pourrait donc résumer comme suit :
  • L’algorithme Rijndael, aussi appelé AES, est considéré comme la norme notamment utilisée par des organismes militaires, gouvernementaux ou pour protéger certaines données dans le développement de produits commerciaux de grande importance.
  • Twofish supplante Rijndael avec une clé de 256 bits mais est plus lent. Il semble que ce soit l’argument majeur qui ait joué en sa défaveur lors du concours lancé par la NIST.
  • Enfin, l’algorithme Serpent est considéré comme l’un des plus sûr et robuste. Il est capable de travailler avec des clés allant jusqu’à 512 bits !

Conclusion

J’espère que ces quelques explications vous permettront de choisir avec plus de précisions l’algorithme que vous utiliserez dans vos partitions TrueCrypt. D’autant qu’il est également possible de cascader ces 3 algorithmes.

  1. AES / Rijndael : la norme
  2. Twofish : robuste mais plus lent
  3. Serpent : le plus sûr ?

Gardez toutefois à l’esprit qu’en France, il est illégal de chiffrer des données que les autorités ne pourraient pas lire. En effet, certaines logiciels (comme PGP ou GPG) qui ne tiennent pas compte de ce critère et ont d’ailleurs été longtemps considéré en France comme des “armes de guerre de deuxième catégorie” ! Ce n’est que depuis 1996 que la loi s’est assouplie autorisant le chiffrement avec des clés allant au maximum jusqu’à 128 bits. Enfin, en 2004, le gouvernement a totalement libéralisé les moyens de chiffrement sauf dans le cas d’importation ou d’exportation. Dans ces cas précis, vous devait déclarer votre algorithme aux autorités pour en permettre le déchiffrement et/ou obtenir une autorisation spécifique.