L'allergie aux mathématiques est un phénomène assez courant chez la plupart d'entre nous. Concevoir ou casser un algorithme cryptographique sans de très solides bases théoriques paraît impensable à certains. Et pourtant, l'orchestration des mécanismes nécessaires à l'obtention d'une solution robuste est potentiellement à la portée de tous ceux qui n'ont pas un doctorat en théorie des nombres ! Cet article aidera le lecteur à se poser les bonnes questions et à faire le bon choix parmi le trop grand nombre d'algorithmes et de bibliothèques, le tout illustré à travers différents cas concrets avec OpenSSL et PolarSSL. Faites chauffer xterm, vim et gcc !
1. Objectifs de sécurité
La cryptographie ne résout pas tous les problèmes de sécurité mais elle aide dans bien des cas à les limiter quand on utilise de la bonne cryptographie. La question légitime qui se pose alors est « Qu’est ce qu’un bon algorithme de cryptographie ? ». On aurait tendance à répondre « un algorithme pas encore cassé... ».
La cryptographie a pour but d’assurer la confidentialité et l’intégrité des données :
- La confidentialité garantit que les personnes ne disposant pas du secret ne puissent pas découvrir le contenu réel du message.
- L’intégrité garantit l’identité numérique d’une personne, qu’un message n’a pas été modifié ou alors qu’il provient bien d’une personne numérique donnée.
Dans le cas de la preuve d’intégrité d’un message, on parle de signature ou d’authenticité, et dans le cas de la preuve d’identité d’une personne, on parle d’authentification.
1.1...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première