title: Logiciels de cryptographie
text: # Logiciels de cryptographie
  
  Les logiciels de cryptographie sont des logiciels qui peuvent chiffrer et déchiffrer des données, souvent sous la forme de fichiers dans un disque dur ou de paquets envoyés à travers un réseau informatique.
  
  ## Chiffrement
  
  Les logiciels de chiffrement utilisent un protocole de chiffrement pour chiffrer les données de l’ordinateur donc elles ne peuvent plus être récupérées sans la bonne clé. Les logiciels de chiffrement sont importants pour les communications informatiques et la protection de fichiers.
  
  Le but du chiffrement est d’empêcher des tiers d’accéder aux données originelles, ou à aucune information concernant ces données grâce à des données chiffrées. C’est particulièrement important pour les données sensibles comme un numéro de sécurité sociale.
  
  ## Protocole de chiffrement
  
  Beaucoup d’algorithmes et de protocoles existent pour différents buts. Les algorithmes avec des clés publiques comme le chiffrement RSA et le cryptosystème de ElGamal sont utilisés par HTTPS pour chiffrer les communications et par PGP et GnuPG pour chiffrer les e-mails.
  
  Les algorithmes à clé symétrique comme AES utilisés dans le mode CBC sont plus populaires pour les chiffrement de fichiers individuels. Le chiffrement d’un disque dur complet a des contraintes différentes et TrueCrypt utilise donc AES dans le mode XTS.
  
  ## Algorithmes de chiffrement
  
  ### Types d’algorithmes
  
  Les algorithmes de chiffrement peuvent être catégorisés en deux types généraux : codes à clé publique (ou asymétrique) et codes à clé symétrique.
  
  Les codes à clé publique utilisent des algorithmes qui relient mathématiquement deux clés. Les informations sont chiffrées avec une clé et peuvent seulement être déchiffrées avec l’autre. Ces systèmes de chiffrement sont privilégiés pour l'échange d'informations sensibles et pour les signatures numériques.
  
  Les codes à clé symétrique (ou clé secrète) utilisent une seule et même clé pour le chiffrement et le déchiffrement. Ainsi, pour que les messages chiffrés avec une clé symétrique restent sécurisés, la clé doit rester secrète. Ces systèmes de chiffrement sont privilégiés pour le stockage d'informations sensibles. Les codes à clé symétrique peuvent, à leur tour, être subdivisés en deux catégories : le chiffrement de flux et le chiffrement par bloc.
  
  Le chiffrement de flux chiffre habituellement l'information bit par bit et est le plus utilisé pour les communications en temps réel, notamment pour l'audio-visuel. La clé est utilisée pour établir l’état initial d'un générateur de nombres pseudo-aléatoires qui va chiffrer le flux au fur et à mesure.
  
  L’algorithme de chiffrement par bloc divise l'information en bloc de taille fixe et chiffre ces blocs un par un. Par exemple, AES traite des blocs de 128 bits alors que son prédécesseur DES en traite de 64 bits
  
  ### Choisir un algorithme
  
  Il y a beaucoup de facteurs qui peuvent affecter le choix de l’algorithme de chiffrement. Les facteurs les plus fréquents sont la sécurité, la vitesse, la possibilité de chiffrer et déchiffrer parallèlement, le besoin en mémoire, connaître les points faibles, et la comparaison avec les autres solutions.
  
  Une erreur fréquente pour les amateurs en cryptographie est de croire que parce que la méthode est secrète, le code est sûr. C’est toujours faux. Beaucoup de d’algorithmes de chiffrements « fait maison » ont révélé pouvoir être cassé facilement quand une chaîne de caractères est identifiée (par exemple des espaces).
  
  Le but de diffuser une méthode de cryptage est de permettre à la communauté de l’évaluer. Si elle est bien sécurisée, sa force réside dans le fait que la méthode a été soumis à l’examen et jugés correcte, pas dans le fait qu’elle soit secrète.
  
  ## Applications
  
  Les logiciels de chiffrement peuvent être utilisés de différentes façons. Les usages les plus fréquents incluent :
  
  * les logiciels de chiffrement de disque dur (en) (logiciels de OTFE)
  * le chiffrement de fichiers/dossiers (en)
  * le chiffrement de base de données (en)
  * les communications internet
  
  Outils de chiffrement du trafic réseau :
  
  * (en) Générique
  * (en) Basé sur IPSec
  
  Chacune de ces catégories définissent la plage et l'emplacement des données à chiffrer, mais le processus est le même pour toutes.
  
  