Cles, chiffrement et authentification - 01 - Chiffrement symetrique vs asymetrique

La différence entre chiffrement symetrique et asymetrique, expliquee simplement. AES, RSA, Ed25519 et pourquoi ca compte pour toi.

01 - Chiffrement symetrique vs asymetrique

Ce que tu vas apprendre

  • La différence entre chiffrement symetrique et asymetrique
  • Quels algorithmes sont utilises en pratique (AES, RSA, Ed25519)
  • Pourquoi on utilise les deux ensemble
  • Des commandes openssl pour experimenter

Prerequisites


Le problème de la valise

Imagine que tu veux envoyer un message secret a un ami. Tu le mets dans une valise avec un cadenas. Ton ami a besoin de la clé du cadenas pour ouvrir la valise. Mais comment tu lui envoies la clé sans que quelqu'un l'intercepte ?

C'est le problème fondamental de la cryptographie. Et il a deux solutions.

Chiffrement symetrique : une seule clé pour tout

Le chiffrement symetrique utilise la meme clé pour chiffrer et dechiffrer. C'est le cadenas classique : une clé, un cadenas. Alice et Bob partagent un secret, et ce secret sert dans les deux sens.

L'algorithme standard en 2026, c'est AES (Advanced Encryption Standard). Adopte par le NIST en 2001, il est utilise partout : HTTPS, VPN, chiffrement de disque, messageries. AES-256 utilise une clé de 256 bits, ce qui donne 2^256 combinaisons possibles. Pour te donner une idee, c'est plus que le nombre d'atomes dans l'univers observable.

Tu peux l'essayer directement :

bash# Chiffrer un fichier avec AES-256-CBC
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc -pbkdf2

# Dechiffrer
openssl enc -d -aes-256-cbc -in secret.enc -out secret_decrypted.txt -pbkdf2

OpenSSL te demande un mot de passe. Ce mot de passe sert a deriver la clé AES (via PBKDF2). Simple.

Le problème du symetrique ? L'échange de clés. Si Alice et Bob ne se sont jamais rencontres physiquement, comment partagent-ils la clé ? Par email ? C'est pas chiffre. Par SMS ? Encore pire. C'est exactement le problème de la valise.

Chiffrement asymetrique : deux clés, deux rôles

Le chiffrement asymetrique resout ce problème avec une idee geniale : au lieu d'une clé, on en a deux. Une clé publique que tu donnes a tout le monde, et une clé privee que tu gardes pour toi. Ce qui est chiffre avec la clé publique ne peut etre dechiffre qu'avec la clé privee correspondante (et inversement pour la signature).

L'analogie que je préféré : la boîte aux lettres. Tout le monde peut mettre une lettre dans ta boîte (clé publique = fente de la boîte). Mais toi seul as la clé pour l'ouvrir (clé privee).

Les algorithmes asymetriques courants :

RSA : le plus ancien encore en usage, créé en 1977 par Rivest, Shamir et Adleman. Repose sur la difficulte de factoriser de grands nombres premiers. En 2026, on recommande des clés d'au moins 3072 bits (le NIST a déprécié 2048 bits pour les nouvelles applications). C'est costaud, mais lent.

Ed25519 : base sur les courbes elliptiques (Curve25519, conçue par Daniel J. Bernstein en 2006). Cles de 256 bits seulement, mais aussi solide que RSA-3072. Plus rapide, clés plus courtes. C'est mon choix par défaut pour SSH et la signature de commits git.

bash# Generer une paire de cles RSA (demonstration)
openssl genpkey -algorithm RSA -out rsa_private.pem -pkeyopt rsa_keygen_bits:4096

# Extraire la cle publique
openssl pkey -in rsa_private.pem -pubout -out rsa_public.pem

# Chiffrer avec la cle publique
openssl pkeyutl -encrypt -pubin -inkey rsa_public.pem -in secret.txt -out secret_rsa.enc

# Dechiffrer avec la cle privee
openssl pkeyutl -decrypt -inkey rsa_private.pem -in secret_rsa.enc -out secret_decrypted.txt

Pourquoi on utilise les deux ensemble

Le symetrique est rapide (AES chiffre des gigaoctets par seconde). L'asymetrique est lent (RSA chiffre quelques kilo-octets). La solution ? On combine les deux. C'est ce que fait TLS (HTTPS) a chaque connexion :

  1. Le client et le serveur utilisent l'asymetrique pour s'échanger une clé symetrique temporaire (via un échange Diffie-Hellman ou RSA)
  2. Ensuite, toute la communication est chiffree en symetrique avec cette clé

Ce système s'appelle le chiffrement hybride. Tu le retrouves dans SSH, TLS, PGP/GPG et a peu pres tout protocole serieux.

Le tableau recapitulatif

Propriété Symetrique (AES) Asymetrique (RSA/Ed25519)
Nombre de clés 1 (partagee) 2 (publique + privee)
Vitesse Tres rapide Lent
Taille de clé typique 128-256 bits 2048-4096 bits (RSA) / 256 bits (Ed25519)
Problème Échange de clés Performance
Usage Chiffrement de donnees en masse Échange de clés, signature

En pratique, qu'est-ce que ca change pour toi ?

Quand tu fais ssh user@serveur, les deux types de chiffrement sont utilises. Quand tu visites un site en HTTPS, pareil. Quand tu signes un commit avec GPG, c'est de l'asymetrique pur.

Comprendre cette distinction, c'est comprendre pourquoi ta clé SSH privee ne doit jamais quitter ta machine (c'est la clé de ta boîte aux lettres), et pourquoi ta clé publique peut etre collee partout (c'est juste la fente).

On approfondit les clés SSH dans le prochain article : Les clés SSH de A a Z.


Navigation : Precedent : 00 - Introduction | Suivant : 02 - Les clés SSH


Sources

Retrouve d'autres articles techniques sur paltemps.fr.

Réservez un audit gratuit de 30 minutes. Je vous montre concrètement ce qu'on peut automatiser.