OWASP & AppSec

ECC expliqué : cryptographie sur courbes elliptiques 2026

ECC expliqué : principes, ECDSA vs EdDSA, Curve25519, P-256, P-384, secp256k1, comparaison RSA, usages TLS JWT SSH FIDO2, attaques, transition post-quantique.

Naim Aouaichia
14 min de lecture
  • ECC
  • Cryptographie
  • Courbes elliptiques
  • Signatures
  • TLS
  • JWT
  • FIDO2
  • Post-quantum
  • Secure coding

L'ECC (Elliptic Curve Cryptography) est une famille d'algorithmes de cryptographie asymétrique publiés par Victor Miller et Neal Koblitz en 1985, basés sur la difficulté du problème du logarithme discret sur une courbe elliptique. Son avantage fondamental sur RSA : des clés beaucoup plus petites pour un niveau de sécurité équivalent (256 bits ECC = 3072 bits RSA = 128 bits de sécurité symétrique selon NIST SP 800-57), ce qui se traduit par des signatures plus rapides, moins d'octets sur le fil, et une consommation CPU/mémoire drastiquement réduite. En 2026, ECC est le choix par défaut pour TLS 1.3, JWT (ES256, EdDSA), SSH moderne (ed25519 keys), FIDO2/WebAuthn, WireGuard (Curve25519), Bitcoin (secp256k1), Apple Secure Enclave, Signal Protocol. Les courbes recommandées 2026 sont Ed25519/Curve25519 pour nouveaux déploiements grand public, NIST P-256/P-384 pour conformité FIPS et gouvernement. Attention : ECC est vulnérable à l'algorithme de Shor sur ordinateur quantique et même plus facilement cassable que RSA à sécurité équivalente - d'où la transition post-quantique en cours (ML-KEM, ML-DSA, SLH-DSA standardisés NIST 2024). Cet article détaille les principes mathématiques simplifiés, les courbes standard, les algorithmes (ECDSA, EdDSA, ECDH, ECIES), les usages, les attaques documentées et l'implémentation pratique en 2026.

Principes mathématiques simplifiés

Le problème mathématique sous-jacent

Une courbe elliptique sur un corps fini est un ensemble de points $(x, y)$ satisfaisant une équation de la forme y² = x³ + ax + b mod p, où p est un nombre premier. On définit une opération d'addition entre points qui confère à l'ensemble une structure de groupe abélien.

Propriété clé exploitée en crypto :
 
  Étant donné un point G (générateur) et un entier k,
  calculer Q = k·G (multiplication scalaire) est FACILE.
 
  Étant donné Q et G, retrouver k est DIFFICILE
  (Problème du logarithme discret sur courbe elliptique, ECDLP).
 
  La sécurité ECC repose sur l'asymétrie :
    Clé privée = scalaire k (gardé secret)
    Clé publique = Q = k·G (partagée)

Pourquoi les clés sont plus petites qu'en RSA

Les meilleures attaques connues contre RSA (General Number Field Sieve) ont une complexité sous-exponentielle - elles deviennent progressivement plus efficaces à mesure qu'on augmente la taille de clé, donc il faut augmenter massivement pour compenser. Les meilleures attaques contre ECC (Pollard's rho, BSGS) ont une complexité en O(√n) - purement exponentielle - ce qui rend de petites clés suffisantes.

Table d'équivalences NIST SP 800-57

Sécurité symétriqueRSA (taille clé)ECC (taille clé)Exemple courbe
80 bits1024 bits160 bitssecp160r1 (obsolète)
112 bits2048 bits224 bitsP-224
128 bits3072 bits256 bitsP-256, Ed25519, secp256k1
192 bits7680 bits384 bitsP-384
256 bits15360 bits521 bitsP-521, Ed448

En 2026, 128 bits de sécurité est le minimum raisonnable pour tout nouveau déploiement, 192 bits recommandé pour secteurs sensibles (gouvernement, défense, santé long terme).

Les courbes standard à connaître

NIST P-256, P-384, P-521

Courbes publiées par le NIST dans FIPS 186. P-256 offre 128 bits de sécurité, P-384 offre 192 bits, P-521 offre 256 bits. Largement déployées : TLS, X.509, CAC cards US, FIDO2 tokens enterprise, AWS KMS, GCP KMS, Azure Key Vault.

Obligations de conformité :
  FIPS 140-2 / 140-3            : P-256, P-384 acceptées
  Federal PKI (US gouvernement)  : P-256 + P-384
  SOG-IS (gouvernement UE)       : P-256 + P-384 acceptés
  ANSSI RGS v2.0                 : P-256 et P-384 recommandés

Curve25519 et Ed25519 (Bernstein)

Courbes conçues par Daniel J. Bernstein et al., publiées en 2005 (Curve25519) et 2011 (Ed25519). Objectifs : sécurité prouvée ("safe curves"), implémentations constantes-temps naturelles, performance maximale, absence d'options douteuses.

Usages dominants en 2026 :
  TLS 1.3 (x25519 comme key exchange par défaut)
  SSH (ssh-ed25519 standard depuis OpenSSH 6.5)
  WireGuard (exclusivement Curve25519 + Ed25519)
  Signal Protocol (base des messageries sécurisées modernes)
  Tor hidden services v3
  Apple iMessage
  Noise Protocol Framework
  JWT EdDSA (RFC 8037)

secp256k1 (Bitcoin)

Courbe spécifique Bitcoin, choisie par Satoshi Nakamoto pour ses propriétés optimisées (endomorphisme GLV accélérant les calculs). Utilisée par Bitcoin, Ethereum, la plupart des cryptomonnaies. Non recommandée hors blockchain car pas de « safe curve » documentée (nothing up my sleeve moins clair que Ed25519).

Brainpool (ECC German Federal Office)

Série de courbes (brainpoolP256r1, P384r1, P512r1) avec paramètres générés de manière vérifiable. Recommandées en Allemagne par BSI, utilisées dans certains passeports biométriques européens. Moins performantes qu'Ed25519, support moins universel.

Algorithmes ECC en pratique

ECDSA (Elliptic Curve Digital Signature Algorithm)

Version ECC du vieux DSA, standardisée dans FIPS 186-5 (2023). Utilise une courbe NIST typiquement.

Processus de signature ECDSA :
 
  1. Générer un nonce aléatoire k (critique : unique et unprévisible)
  2. Calculer R = k·G (point sur la courbe)
  3. Calculer r = R.x mod n
  4. Calculer s = k⁻¹ (hash(message) + r·privateKey) mod n
  5. Signature = (r, s)
 
Piège historique :
  Si k est réutilisé entre deux signatures, la clé privée peut
  être extraite directement par de simples calculs modulaires.

EdDSA (Edwards-curve Digital Signature Algorithm)

Standardisée RFC 8032 (2017). Adresse les défauts d'ECDSA en étant déterministe.

Différences EdDSA vs ECDSA :
 
  Déterministe : k est dérivé de la clé privée + message (HMAC-SHA512)
    → jamais de fuite par RNG faible
  Constant-time par construction : implémentations plus robustes aux side channels
  Plus rapide : 30-50 % plus rapide qu'ECDSA sur courbes équivalentes
  Hashes plus larges : utilise SHA-512 côté Ed25519, SHAKE256 côté Ed448
 
Variantes :
  Ed25519     : sur Curve25519, 128 bits sécurité, standard universel
  Ed448       : sur Curve448, 224 bits sécurité, secteurs sensibles
  Ed25519ctx  : avec contexte, pour désambiguïsation protocole

ECDH (Elliptic Curve Diffie-Hellman)

Échange de clés asymétrique. Alice et Bob calculent un secret partagé sans l'avoir jamais transmis en clair.

Processus ECDH :
 
  Alice : génère a (privée), A = a·G (publique), envoie A à Bob
  Bob   : génère b (privée), B = b·G (publique), envoie B à Alice
  Alice calcule : a·B = a·b·G
  Bob calcule   : b·A = b·a·G
  Les deux obtiennent le même secret partagé
 
Usage typique :
  TLS 1.3 ECDHE (Ephemeral, nouvelles clés à chaque session)
  Double Ratchet (Signal)
  Noise Protocol handshakes (WireGuard)
 
X25519 = ECDH sur Curve25519, standard moderne

ECIES (Elliptic Curve Integrated Encryption Scheme)

Schéma de chiffrement hybride : ECDH pour dériver une clé symétrique, puis chiffrement AES-GCM ou ChaCha20-Poly1305. Alternative asymétrique à RSA-OAEP.

Usages :
  Bitcoin (chiffrement de wallets)
  libsodium crypto_box
  Applications WebCrypto modernes

Usages ECC dominants en 2026

TLS 1.3
  Key exchange : x25519 par défaut, fallback P-256, P-384
  Signatures : Ed25519 pour nouvelles CA, ECDSA P-256 pour compat
 
Certificats X.509
  Let's Encrypt émet des certificats ECDSA P-256 depuis 2020
  Google, Cloudflare, Amazon : migration ECC massive
 
SSH
  OpenSSH : ssh-ed25519 recommandé depuis 2020
  Clés plus courtes : ~80 caractères vs ~700+ pour RSA-4096
 
JWT (RFC 7518, RFC 8037)
  ES256 (ECDSA P-256 + SHA-256) : standard moderne
  EdDSA (Ed25519) : plus moderne mais support variable selon plateforme
  À préférer à RS256 (RSA) pour les nouveaux déploiements
 
FIDO2 / WebAuthn
  P-256 standard historique
  Ed25519 en adoption progressive (iOS 16+, Android récents)
 
WireGuard
  Curve25519 exclusivement pour key exchange et identités de peer
  Pas de négociation = pas de downgrade attack
 
Bitcoin, Ethereum
  secp256k1 pour signatures de transactions
  Adresses = hash de la clé publique
 
Apple Secure Enclave, Windows TPM
  Clés ECC protégées hardware
  Utilisées pour Touch ID, Face ID, Windows Hello
 
Signal / WhatsApp / iMessage
  X25519 + Ed25519 pour Double Ratchet
  Base du chiffrement E2E moderne

Attaques et pièges historiques

Sony PS3 ECDSA (2010)

Sony utilisait un nonce k fixe (codé en dur) pour signer les mises à jour PS3. Deux signatures distinctes ont suffi à l'équipe fail0verflow pour extraire la clé privée de signature Sony - permettant de signer n'importe quel firmware.

Android Bitcoin wallets (2013)

Des bibliothèques Android utilisaient SecureRandom mal initialisé, produisant des nonces ECDSA prévisibles. Plusieurs wallets Bitcoin ont été vidés automatiquement par des scripts qui détectaient la collision de nonces sur la blockchain publique.

Invalid Curve Attacks

Certaines implémentations acceptent un point Q fourni par l'utilisateur sans vérifier qu'il est sur la courbe attendue. Un attaquant fournit un point sur une courbe faible (petite sous-groupe) et récupère la clé privée en quelques requêtes.

Parade : toujours valider qu'un point reçu appartient à la courbe
  (point_is_on_curve) avant toute opération cryptographique.
  Les bibliothèques modernes (libsodium, Tink) le font nativement.

Small subgroup attacks

Sur certaines courbes (pas Curve25519 qui a un cofactor traité proprement), un attaquant peut forcer la clé à tomber dans un sous-groupe de petite taille pour récupérer partiellement la clé.

Side channel attacks

Les implémentations ECC non-constant-time fuient la clé privée via timing, cache, power analysis. Impact documenté sur de nombreuses bibliothèques entre 2010 et 2020. Ed25519 impose une implémentation constante par design - c'est un de ses avantages.

Dual_EC_DRBG (2013 Snowden leaks)

Générateur aléatoire standardisé NIST basé sur des courbes elliptiques, contenant une backdoor mathématique dont la NSA avait la clé. Retiré des standards NIST en 2014. Sert aujourd'hui de cas d'école sur l'importance de la transparence des paramètres cryptographiques.

ECC vs RSA : tableau comparatif

CritèreRSAECC
Fondement mathématiqueFactorisation d'entiersLog discret sur courbe elliptique
Taille clé pour 128 bits sécurité3072 bits256 bits
Taille signature (128 bits)384 octets64 octets (ECDSA/EdDSA)
Génération de clésLente (quelques secondes)Rapide (quelques ms)
Performance signatureRapide à vérifier, plus lent à signerÉquilibré, rapide global
Consommation CPU/RAMÉlevéeTrès basse (idéal IoT, mobile)
MaturitéDepuis 1977Standard depuis ~2000
Support universelPresque partoutTrès large, attention legacy
Résistance quantiqueVulnérable Shor (algorithmique)Vulnérable Shor (plus facilement encore)
Conformité FIPSOui (RSA-2048+)Oui (P-256, P-384)
Usage 2026 recommandéLegacy / interopérabilitéPar défaut nouveaux déploiements

Transition post-quantique (PQC)

NIST a finalisé en août 2024 trois standards post-quantum après 8 ans de compétition internationale :

ML-KEM (FIPS 203) - ex-Kyber
  Mécanisme d'encapsulation de clé (remplace ECDH et RSA-KEM)
  Niveaux : ML-KEM-512, ML-KEM-768, ML-KEM-1024
 
ML-DSA (FIPS 204) - ex-Dilithium
  Signatures numériques (remplace ECDSA et RSA signatures)
  Niveaux : ML-DSA-44, ML-DSA-65, ML-DSA-87
 
SLH-DSA (FIPS 205) - ex-SPHINCS+
  Signatures hash-based (alternative conservative)
  Sans hypothèses mathématiques autres que la résistance des hashes
 
À venir :
  FALCON (FIPS 206 en cours)
  BIKE, HQC, Classic McEliece (KEM alternatives en évaluation)

Stratégie hybride en 2026

Le consensus industrie 2026 : déployer ECC classique + PQC en parallèle (hybrid handshakes) pour bénéficier des deux sécurités en attendant une confiance complète dans PQC.

Déploiements publics hybrid ECC + PQC :
  Cloudflare               : X25519Kyber768Draft00 depuis 2022
  Google Chrome / Android  : support hybrid TLS depuis 2023
  Apple iMessage           : PQ3 depuis iOS 17.2 (2024)
  Signal                   : PQXDH (X25519 + Kyber) depuis 2024
  AWS KMS                  : support PQC en preview 2025-2026
  SSH OpenSSH 9.x          : sntrup761x25519-sha512@openssh.com

Pour les données à protéger à long terme (archives chiffrées, secrets d'État), la menace « harvest now, decrypt later » rend déjà le chiffrement hybride essentiel.

Implémentation pratique 2026

Bibliothèques recommandées

Multi-langages cross-platform :
  libsodium (NaCl)          : C + bindings (Python, Node, Go, Ruby, PHP, Java, Swift)
                              API haut niveau, safe par défaut
  Google Tink                : C++, Java, Go, Python, Objective-C
                              API haut niveau, audits continus
 
C / C++ :
  BoringSSL                  : fork Google de OpenSSL
  OpenSSL 3.x                : standard, supporte toutes courbes
 
Python :
  cryptography (pyca)        : référence, haut niveau sûr
  PyNaCl                     : bindings libsodium
 
Node.js :
  crypto natif (Node 18+)    : support Ed25519, X25519 complet
  @noble/curves              : moderne, pur JS, auditée
 
Go :
  crypto/ecdsa, crypto/ed25519 : standard library
  filippo.io/nistec          : implémentation sécurisée Filippo Valsorda
  golang.org/x/crypto/curve25519 : X25519
 
Rust :
  ring                       : référence performance
  ed25519-dalek              : Ed25519 seul
  x25519-dalek               : X25519 seul
  rustcrypto/elliptic-curves : collection complète
 
Java :
  java.security natif (Java 11+)
  BouncyCastle                : support exhaustif
  Tink                        : API moderne
 
Navigateur :
  Web Crypto API (SubtleCrypto)
    Support Ed25519 natif depuis Chrome 109 (2023) et Safari 17 (2023)
    X25519 natif disponible

Exemple : signer et vérifier avec Ed25519 (Python)

from cryptography.hazmat.primitives.asymmetric.ed25519 import (
    Ed25519PrivateKey, Ed25519PublicKey
)
from cryptography.hazmat.primitives import serialization
 
# Génération de clé
private_key = Ed25519PrivateKey.generate()
public_key = private_key.public_key()
 
# Sérialisation pour stockage
private_pem = private_key.private_bytes(
    encoding=serialization.Encoding.PEM,
    format=serialization.PrivateFormat.PKCS8,
    encryption_algorithm=serialization.NoEncryption()
)
public_pem = public_key.public_bytes(
    encoding=serialization.Encoding.PEM,
    format=serialization.PublicFormat.SubjectPublicKeyInfo
)
 
# Signature
message = b"Zeroday Cyber Academy - message signe"
signature = private_key.sign(message)
 
# Vérification (lève InvalidSignature si invalide)
try:
    public_key.verify(signature, message)
    print("Signature valide")
except Exception:
    print("Signature INVALIDE")

Exemple : ECDH avec X25519 (Python)

from cryptography.hazmat.primitives.asymmetric.x25519 import (
    X25519PrivateKey, X25519PublicKey
)
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
from cryptography.hazmat.primitives import hashes
 
# Alice et Bob génèrent leurs clés
alice_private = X25519PrivateKey.generate()
alice_public  = alice_private.public_key()
 
bob_private = X25519PrivateKey.generate()
bob_public  = bob_private.public_key()
 
# Chacun calcule le secret partagé
alice_shared = alice_private.exchange(bob_public)
bob_shared   = bob_private.exchange(alice_public)
 
assert alice_shared == bob_shared  # identiques
 
# Dériver une clé symétrique via HKDF (ne jamais utiliser le raw shared secret)
derived_key = HKDF(
    algorithm=hashes.SHA256(),
    length=32,
    salt=None,
    info=b"session-key-v1",
).derive(alice_shared)
# derived_key utilisable avec AES-GCM ou ChaCha20-Poly1305

Bonnes pratiques 2026

  1. Bibliothèque auditée obligatoire - jamais d'implémentation maison.
  2. Ed25519 / X25519 par défaut pour tout nouveau déploiement sans contrainte FIPS.
  3. P-256 / P-384 pour conformité FIPS ou environnement gouvernemental.
  4. Pas de secp256k1 hors blockchain.
  5. Validation de point toujours activée (les bibliothèques modernes le font).
  6. RNG cryptographique système pour génération de clés et nonces (/dev/urandom, getrandom(2), CryptoAPI, Web Crypto).
  7. ECDSA jamais sans nonce unique et aléatoire (ou utiliser RFC 6979 deterministic ECDSA).
  8. Rotation régulière des clés signature et chiffrement (voir frequences NIST SP 800-57).
  9. Tailles à jour : minimum 256 bits ECC en 2026. 384+ pour archives long terme.
  10. Transition hybride PQC en cours sur les flux sensibles à long terme.

Points clés à retenir

  • ECC = cryptographie asymétrique sur courbes elliptiques, publiée 1985 Miller/Koblitz, dominante depuis ~2015 dans les nouveaux déploiements.
  • Avantage clé : 256 bits ECC ≈ 3072 bits RSA (NIST SP 800-57). Signatures plus petites, génération rapide, performance mobile/IoT excellente.
  • Courbes 2026 : Ed25519/Curve25519 (Bernstein, sûres, rapides, universelles) > NIST P-256/P-384 (FIPS compliance) > secp256k1 (Bitcoin uniquement). Éviter les non-safe curves.
  • Algorithmes : ECDSA (compatible, attention nonce), EdDSA/Ed25519 (déterministe, constant-time, recommandé), ECDH/X25519 (échange de clés), ECIES (chiffrement hybride).
  • Usages dominants 2026 : TLS 1.3 (x25519), JWT ES256/EdDSA, SSH Ed25519, FIDO2, WireGuard, Bitcoin, Apple Secure Enclave, Signal.
  • Pièges historiques : Sony PS3 ECDSA nonce fixe 2010, Android Bitcoin SecureRandom 2013, Dual_EC_DRBG backdoor 2013, invalid curve attacks, side channels. Tous via implémentations maison.
  • Post-quantum : ECC plus vulnérable que RSA à Shor. Standards NIST FIPS 203/204/205 finalisés 2024 (ML-KEM, ML-DSA, SLH-DSA). Déploiement hybride (X25519 + Kyber) déjà actif chez Cloudflare, Apple, Signal.
  • Implémentation : libsodium, Tink, BoringSSL, OpenSSL 3+, ring (Rust), cryptography pyca, @noble/curves, crypto natif Node 18+, Web Crypto API Ed25519 depuis 2023.

Pour comprendre comment ECC est utilisé dans les signatures JWT d'OpenID Connect (ES256, EdDSA), voir OpenID Connect expliqué : flows, JWT, PKCE, sécurité 2026. Pour le contexte SAML XML Signatures qui utilise aussi ECC désormais, lire SAML expliqué : SSO entreprise, flows, attaques, sécurité 2026. Pour valider les entrées avant tout traitement cryptographique (dont validation de point), voir Validation des entrées : bonnes pratiques secure coding 2026.

Questions fréquentes

  • Qu'est-ce que l'ECC et pourquoi c'est devenu le standard ?
    ECC (Elliptic Curve Cryptography, cryptographie sur courbes elliptiques) est une famille d'algorithmes asymétriques basés sur la difficulté du problème du logarithme discret sur une courbe elliptique. Son adoption massive depuis 2015 repose sur trois avantages : clés beaucoup plus petites pour une sécurité équivalente (256 bits ECC = 3072 bits RSA), signatures et clés plus rapides à générer, consommation mémoire et CPU très basse. Résultat : ECC est le choix par défaut pour TLS 1.3, JWT ES256, SSH moderne, FIDO2, WireGuard, Bitcoin, Apple Secure Enclave en 2026.
  • Quelle courbe ECC choisir : P-256, Curve25519, secp256k1 ?
    En 2026, trois choix standards selon le contexte. Ed25519 / Curve25519 pour tout nouveau déploiement grand public : rapide, safe curves, conçu par Bernstein, implémentations constantes-temps disponibles partout (TLS 1.3, SSH, WireGuard, signatures JWT EdDSA). NIST P-256 / P-384 pour conformité réglementaire (FIPS 140-2/3, gouvernement, enterprise) et compatibilité maximale. secp256k1 uniquement pour les usages blockchain (Bitcoin, Ethereum) - pas recommandé ailleurs. Éviter les courbes non-safe documentées sur safecurves.cr.yp.to (Koblitz, Brainpool non-verified).
  • ECDSA ou EdDSA : quelle différence ?
    ECDSA (Elliptic Curve Digital Signature Algorithm) est la version ECC du vieux DSA, standardisée NIST FIPS 186. Forces : compatible partout, obligatoire pour FIPS. Faiblesses : signatures non-déterministes (exige un nonce aléatoire fort - Sony PS3 cracké en 2010 à cause d'un nonce fixe, wallets Bitcoin vidés 2013), implémentations vulnérables aux side-channels. EdDSA (Edwards-curve Digital Signature Algorithm) corrige ces défauts : déterministe (pas de RNG nécessaire à la signature), implémentations constantes-temps naturelles, plus rapide. Ed25519 est la variante la plus utilisée. Si le choix est libre : EdDSA.
  • ECC résiste-t-il aux ordinateurs quantiques ?
    Non, au contraire. L'algorithme de Shor casse aussi bien ECC que RSA, et ECC est en fait plus vulnérable : à sécurité classique équivalente, casser P-256 nécessite environ 2,6 fois moins de qubits logiques et 148 fois moins de portes quantiques que casser RSA-3072. La transition post-quantique est en cours depuis 2022 avec les standards NIST finalisés (ML-KEM aka Kyber pour échange de clés, ML-DSA aka Dilithium pour signatures, SLH-DSA aka SPHINCS+). Stratégie 2026 recommandée : hybrid handshake (ECC classique + PQC) déjà déployé par Cloudflare, Apple iMessage, Signal. ECC seul reste sûr contre les attaquants classiques actuels.
  • Pourquoi les clés ECC 256 bits valent RSA 3072 bits ?
    La sécurité d'un algorithme asymétrique dépend de la difficulté du problème mathématique sous-jacent, pas uniquement de la taille de clé. RSA repose sur la factorisation d'entiers et bénéficie du General Number Field Sieve (GNFS) en complexité sous-exponentielle, donc il faut augmenter fortement la clé pour compenser. ECC repose sur le problème du logarithme discret sur courbe elliptique, résistant aux meilleures attaques connues en complexité exponentielle (racine carrée du groupe). Résultat : 256 bits ECC ≈ 3072 bits RSA ≈ 128 bits de sécurité symétrique. Cette table d'équivalence est publiée par NIST SP 800-57.
  • Comment utiliser ECC en pratique dans mon application ?
    Trois règles en 2026. 1) Jamais implémenter la crypto ECC soi-même - utiliser une bibliothèque auditée : libsodium (C, bindings multi-langages), Tink (Google, multi-langages), NaCl, OpenSSL 3+, BoringSSL, Web Crypto API côté navigateur. 2) Choisir l'algorithme haut niveau : Ed25519 pour signatures, X25519 pour ECDH, ECIES ou libsodium crypto_box pour chiffrement hybride. 3) Générer les clés avec un RNG cryptographique système (/dev/urandom, getrandom(2), CryptoAPI BCryptGenRandom, Web Crypto getRandomValues).

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.