/* image empruntée sur http://news.hitb.org/content/crypto-collisions-cause-denial-service-major-hashes ; credits : SC Magazine*/

Intro théorique rapide

L'usage de la cryptographie est ancien... L'antiquité nous renvoie à la scitale, au chiffre de Caesar, puis sont venus des mécanismes toujours plus sophistiqués (Polybes, Vigenère,...) et complexes !
Leur découverte est passionnante de même que les énignmes qu'ils nous posent...

Aujourd'hui, l'informatique et l'électronique utilisent massivement la cryptographie pour les connexions, les communications (WIFI , téléphone portable, connexions internet sécurisées,...) et le stockage afin d' assurer la confidentialité, l'authenticité, l'intégrité des données ou encore la non-répudiation.

Rapidement, nous distinguerons plusieurs types de chiffrement :

* Le chiffrement symétrique :
Ce mode de chiffrement à clé secrète utilise une clé pour le chiffrement et le déchiffrement. Il permet la confidentialité (tant que la clé reste secrète !). Il existe de nombreux algorithmes à clé secrète... Les plus anciens sont cassables avec les moyens modernes (à moins d'utiliser une clé aussi longue que le texte à chiffrer ou d'autres sophistications...). Aujourd'hui, on utilisera des algorithmes sûrs comme AES avec une clé de 256 bits.

* Le chiffrement asymétrique (à clé publique).
On utilise cette fois-ci une paire de clés : une clé sera publique (connue de tous) et l'autre demeurera privée. Il n'est pas possible de retrouver la clé privée à partir de la clé publique. La clé privée sert à déchiffrer un message qui a été chiffré avec la clé publique (et inversement !).

Si on fait l'opération inverse (je chiffre avec ma clé privée et le destinataire déchiffre avec ma clé publique), la confidentialité ne sera pas de mise ! En revanche, cela permettra au destinataire de s'assurer que le message est bien de moi : c'est la signature numérique.
L'algorithme à retenir ici c'est RSA (longueur de clé... 2048 bits !).

Références...
Müller, D.(2007) Les codes secrets décryptés. Comprendre et déchiffrer les codes utilisés de l'Antiquité à nos jours. City Editions.
Ars Cryptographica (du même Didier Müller !)
Le cryptographe de Mirmo pour s'amuser (et bien pratique aussi !)
cryptool : Le logiciel de référence pour comprendre et faire un peu de cryptanalyse. Existe aujourd'hui "online".
RSA expliquée aux Zéros





Les outils

Chiffrer un fichier :

axCrypt : logiciel de chiffrement open source qui s'intègre très facilement à Windows (clic-droit). Il chiffre vos fichiers avec AES 128 bits. Il existe également en version portable.

Cr!ptAES : j'aime bien celui-ci aussi, toujours pour Windows. Bien qu'il soit moins "intégré" à l'environnement, il se montre plus riche en paramétrages (AES-256/Serpent-256/Blowfish-448) et autorise un chiffrement plus sûr (AES-256). Cr!ptAES est lui aussi portable, possible à exécuter en ligne de commande (pour des traitements par lot) et open source !

Chiffrer des notes :

fsekrit : plus confidentiel... Cette petite application pour Windows permet de chiffrer ses notes avec AES-256 bits et ne nécessite pas l'installation de logiciel : fsekrit.exe ouvre un bloc-note, vous y saisissez ce que vous y voulez, et au moment d'enregistrer on vous demande un mot de passe. Le fichier résultant est un fichier "exe" que vous pouvez lire depuis n'importe quel poste Windows. A l'ouverture, il vous demande le mot de passe et ouvre le bloc-note. A aucun moment vos notes ne sont enregistrées en clair sur le disque ! C'est l'atout principal de ce petit soft irremplaçable !

Chiffrer un conteneur (Disque USB, dossier,...) :

TrueCrypt : logiciel qui fait référence. Il est sûr et permet de créer des conteneurs dans lesquels on stockera nos fichiers. Dans la pratique, on commencera donc par créer ce conteneur, on choisit sa taille, le type de chiffrement. Il faut ensuite "monter" ce conteneur avec le logiciel TrueCrypt. Il apparaîtra dans l'explorateur comme un disque (F:, H:, X:,..). Il suffit d'y déposer les fichiers à protéger puis de démonter le volume. TrueCrypt est particulièrement indiqué pour le transport de données sensibles sur une clé USB ou pour stocker des données confidentielles dans le cloud.

Chiffrer ses e-mails :

gpg : la protection de la vie privée est d'actualité (PRISM, etc...). Pourtant rien n'a été prévu à l'origine pour chiffrer notre correspondance électronique. PGP (Pretty Good Privacy) et son équivalent libre GPG mettent en oeuvre la cryptographie asymétrique pour assurer la confidentialité des emails. Pour l'utiliser, l'émissaire et le destinataire doivent donc faire usage du couple clé publique/clé privée. C'est LA solution mais elle est encore très peu utilisée et nécessite un peu de savoir faire...

Bookmarklet Encipher it : plus simple que GPG, il est possible "simplement" de chiffrer le contenu d'un mail (voire d'une pièce jointe avec les logiciels présentés plus haut). Pour ce faire, on peut utiliser un bookmarklet. Reste à transmettre la clé par un canal sûr...

c!pher : Juste pour m'amuser j'avais codé rapidement (avec utilisation de bibliothèques javascript) un petit machin à crypter en AES... Pour stocker en local ou pour transmettre...

Communication sur forum/ Échanges de messages :

cryptocat : "chat" (discussions temps réel) cryptées. Le serveur n'a pas accès aux données en clair (chiffrage côté client) et utilise HTTPS (SSL).
EDIT : Faille majeure dans cryptocat qui semble relever d'erreurs de codage et d'une mauvaise compréhension des concepts de crypto decryptocat : Autant ne pas l'utiliser !


ZeroBin : alternative cryptée à PasteBin de Sebsauvage (à qui on doit en passant shaarli qui est utilisé sur ce site pour le partage de liens). ZeroBin est donc un endroit où l'on peut copier du texte (avec coloration syntaxique pour le code SVP !) qui sera donc stocké sur le serveur qui héberge. Le contenu est crypté et donc illisible par le serveur. La clé est dans le lien que vous transmettez. Possibilité de mettre en place une discussion cryptée entre plusieurs personnes, possibilité aussi de détruire un message sitôt lu ("M. Phelps, ce message s'autodétruira dans 5 s..."). Le tout est donc chiffré côté client en AES 256 bits. Attention à ne pas perdre l'adresse du lien... On peut l'essayer ici (mais pas d'abus hein ? J'ai pas beaucoup de place !)

Pour finir
Il existe de TRES TRES nombreux logiciels pour chiffrer. Le plus important est de savoir quoi chiffrer, comment chiffrer et de le faire avec rigueur. Inutile de chiffrer ses photos de vacances si on les envoie à des amis par mails (quoique :-)), inutile aussi de chiffrer un mail et d'envoyer la clé par le même canal !
Pensez à conserver les données sensibles sur clé USB chiffrées par exemple avec TrueCrypt (dispo sur linux/mac/windows).
Pour des notes confidentielles (mots de passe, identifiants, numéros de compte,...) le bloc-note fsekrit peut très bien convenir.

Des remarques, des oublis, des fautes... J'attends vos commentaires !