🔐 Les briques cryptographiques : primitives et constructions

Si la cryptographie Ă©tait un chĂąteau fort, les primitives cryptographiques seraient les briques, le mortier et la porte blindĂ©e. Individuellement, elles paraissent simples, mais c’est leur combinaison qui permet de bĂątir des systĂšmes robustes : chiffrement des disques, messageries sĂ©curisĂ©es, signatures Ă©lectroniques, paiements en ligne
 Bref, toute notre vie numĂ©rique repose sur elles.

đŸ§± C’est quoi une “primitive” ?

Une primitive cryptographique, c’est une fonction de base qui sert de brique Ă©lĂ©mentaire. Elle est :

  • MathĂ©matiquement solide (difficile Ă  inverser ou Ă  casser),
  • Bien dĂ©finie (spĂ©cification claire, implĂ©mentations multiples),
  • RĂ©utilisable (on peut l’employer dans des constructions plus grandes).

👉 Exemple : SHA-256 (fonction de hachage) est une primitive, mais la blockchain Bitcoin est une construction qui l’utilise.


🔑 Les grandes familles de primitives

1. Les fonctions de hachage (hash functions)

Une fonction de hachage prend une entrée de taille variable (un mot de passe, un fichier) et produit une empreinte de taille fixe (ex. 256 bits).

Caractéristiques :

  • DĂ©terministe : la mĂȘme entrĂ©e donne toujours le mĂȘme rĂ©sultat.
  • Non rĂ©versible : impossible de retrouver l’entrĂ©e depuis le hash.
  • RĂ©sistante aux collisions : difficile de trouver deux entrĂ©es diffĂ©rentes avec le mĂȘme hash.

📌 Exemple concret :

  • SHA-256 dans Bitcoin (preuve de travail),
  • Stockage des mots de passe (bcrypt, Argon2 → hash renforcĂ©).

⚠ PiĂšge classique : stocker des mots de passe en MD5
 autant laisser la clĂ© de la banque sous le paillasson.


2. Les générateurs de nombres aléatoires (RNG)

La crypto repose sur le hasard
 mais un hasard vraiment alĂ©atoire.

  • Si ton gĂ©nĂ©rateur est prĂ©visible, tes clĂ©s le sont aussi.
  • Un mauvais RNG, et tout ton systĂšme tombe comme un chĂąteau de cartes.

📌 Exemple cĂ©lĂšbre : en 2008, Debian avait patchĂ© OpenSSL de maniĂšre maladroite → des millions de clĂ©s gĂ©nĂ©rĂ©es Ă©taient
 prĂ©visibles. RĂ©sultat : carnage sĂ©curitaire.


3. Le chiffrement symétrique (blocs & flux)

C’est la brique de base pour rendre illisible une donnĂ©e.

  • Algorithmes par blocs : AES (128, 192, 256 bits).
  • Algorithmes par flux : ChaCha20 (rapide, utilisĂ© dans TLS moderne).

On combine souvent ces briques avec des modes d’opĂ©ration (CBC, GCM
) pour ajouter intĂ©gritĂ© et sĂ©curitĂ©.

📌 Exemple concret : chiffrement disque BitLocker (AES-CBC), ou messageries type Signal (AES + ChaCha20).


4. Les MAC (Message Authentication Codes)

Un MAC permet de vĂ©rifier l’intĂ©gritĂ© et l’authenticitĂ© d’un message.

  • On ajoute une sorte de “tampon secret” pour s’assurer qu’un message n’a pas Ă©tĂ© modifiĂ©.
  • Exemple : HMAC-SHA256 (utilisĂ© dans les API, JWT, OAuth).

⚠ Erreur courante : croire qu’un simple hash garantit l’authenticitĂ© → non, il faut une clĂ© partagĂ©e (sinon n’importe qui peut recalculer le hash).


5. Les primitives asymétriques (un avant-goût)

MĂȘme si on y revient dans l’épisode 5, rappelons qu’il existe des briques basĂ©es sur des mathĂ©matiques costaudes (factorisation, courbes elliptiques).
Elles servent Ă  :

  • GĂ©nĂ©rer des paires de clĂ©s (publique/privĂ©e),
  • Signer des documents,
  • Échanger des secrets de maniĂšre sĂ©curisĂ©e.

📌 Exemple concret : RSA, Diffie-Hellman, courbes elliptiques (ECC).


đŸ—ïž Des briques aux constructions

Une fois qu’on a les primitives, il faut les assembler en protocoles et constructions.
Exemples :

  • TLS (HTTPS) : utilise RSA/ECC pour l’échange de clĂ©s, AES pour le chiffrement, HMAC pour l’intĂ©gritĂ©.
  • Blockchain : hachage pour les blocs, signatures pour valider les transactions.
  • VPN/IPSec : combine asymĂ©trique pour initier la session + symĂ©trique pour la rapiditĂ©.

Chaque fois, on retrouve les mĂȘmes briques, mais combinĂ©es intelligemment.


🎹 SchĂ©ma mental simple

Imagine :

  • 🔑 ClĂ© → gĂ©nĂ©rĂ©e par RNG
  • 📩 Message → chiffrĂ© avec AES
  • đŸ§Ÿ Hash → SHA-256 pour rĂ©sumĂ©
  • ✅ HMAC → authentifie le message
  • 🔐 RSA/ECC → Ă©change la clĂ© AES en toute sĂ©curitĂ©

âžĄïž C’est exactement ce qui se passe chaque fois que tu te connectes en HTTPS sur ton navigateur.


⚠ Les erreurs classiques

  • RĂ©inventer la roue : coder son propre algo crypto (erreur fatale).
  • Mauvais choix de primitive : MD5 ou SHA1 encore utilisĂ©s en entreprise.
  • Mauvais assemblage : chiffrement sans intĂ©gritĂ© → vulnĂ©rable aux attaques.
  • ClĂ©s statiques et jamais renouvelĂ©es : un classique dans les systĂšmes industriels.

📝 Mini-fiche rĂ©cap (Ă  retenir)

  • Les primitives sont les briques de base (hash, RNG, chiffrement, MAC).
  • Elles doivent ĂȘtre utilisĂ©es dans des constructions Ă©prouvĂ©es (protocoles, bibliothĂšques).
  • La sĂ©curitĂ© d’un systĂšme dĂ©pend autant du choix des briques que de leur assemblage.

✹ Conclusion :
La cryptographie n’est pas une magie noire, mais un jeu de Lego gĂ©ant. Avec de bonnes briques, bien posĂ©es, on construit des forteresses numĂ©riques. Avec des briques mal choisies ou mal assemblĂ©es, on obtient
 un chĂąteau de sable.

🔐 Les briques cryptographiques : primitives et constructions
Partager cet article : Twitter LinkedIn WhatsApp

đŸ–‹ïž PubliĂ© sur SecuSlice.com

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut