Définition

Un algorithme de chiffrement asymétrique (ou à clé publique) est un système cryptographique qui utilise une paire de clés mathématiques liées entre elles : une clé publique et une clé privée.

  • ClĂ© publique: Elle peut ĂŞtre librement distribuĂ©e et sert Ă  chiffrer les messages.
  • ClĂ© privĂ©e: Elle est tenue secrète par le destinataire et sert Ă  dĂ©chiffrer les messages chiffrĂ©s avec la clĂ© publique correspondante.

Contrairement aux algorithmes symétriques, qui utilisent une seule clé pour le chiffrement et le déchiffrement, les algorithmes asymétriques offrent un avantage majeur : ils permettent de sécuriser la communication sans avoir à échanger préalablement une clé secrète.

Caractéristiques et utilisations

Sécurité

La sécurité des algorithmes asymétriques repose sur des problèmes mathématiques complexes, comme la factorisation de grands nombres premiers (utilisés dans RSA).

Flexibilité

Ils sont utilisés pour diverses applications :

  • Chiffrement: ProtĂ©ger la confidentialitĂ© des donnĂ©es.
  • Signatures numĂ©riques: Authentifier l’origine d’un message et garantir son intĂ©gritĂ©.
  • Échange de clĂ©s: Établir des clĂ©s de session pour des algorithmes symĂ©triques plus rapides.

Algorithmes

Plusieurs algorithmes:

Sous-catégories

On retrouvera deux catégories d’algorithmes:

  • Public Key Signature
  • Digital Signature

Types de chiffrements

Flux

Dans un chiffrement par flux, les données sont traitées bit par bit ou octet par octet, de manière séquentielle. Un générateur de clé de flux produit un flux de bits pseudo-aléatoires qui est combiné avec les données en clair pour produire le texte chiffré.

Avantages:

  • Vitesse Ă©levĂ©e : idĂ©al pour les communications en temps rĂ©el.
  • SimplicitĂ© d’implĂ©mentation. InconvĂ©nients:
  • Moins sĂ»r que le chiffrement par blocs en cas d’erreurs de transmission ou de modifications des donnĂ©es.
  • SensibilitĂ© Ă  la synchronisation entre l’émetteur et le rĂ©cepteur.

Exemples d’algorithmes de chiffrement par flux: RC4, Salsa20, ChaCha20.

Blocs

Au contraire, le chiffrement par blocs divise les données en blocs de taille fixe (par exemple, 128 bits pour AES) et chaque bloc est chiffré indépendamment.

Avantages:

  • SĂ©curitĂ© renforcĂ©e : les erreurs de transmission affectent gĂ©nĂ©ralement un seul bloc.
  • FlexibilitĂ© : peut ĂŞtre utilisĂ© dans de nombreux modes de fonctionnement (ECB, CBC, CTR, etc.) pour rĂ©pondre Ă  diffĂ©rents besoins.

Inconvénients:

  • Peut ĂŞtre moins performant que le chiffrement par flux pour de grands volumes de donnĂ©es.
  • NĂ©cessite souvent des modes de fonctionnement supplĂ©mentaires pour gĂ©rer les donnĂ©es de taille variable.

Exemples d’algorithmes de chiffrement par blocs: AES, DES, 3DES.

Comparaison

CaractéristiqueChiffrement par fluxChiffrement par blocs
Traitement des donnéesBit à bit ou octet à octetBlocs de taille fixe
VitesseGénéralement plus rapidePeut être plus lent pour de petits blocs
SécuritéMoins sûr en cas d’erreurPlus sûr, mais nécessite des modes de fonctionnement
FlexibilitéMoins flexiblePlus flexible
Le choix entre un chiffrement par flux et un chiffrement par blocs dépend de l’application :
  • Chiffrement par flux: IdĂ©al pour les communications en temps rĂ©el (comme les protocoles de streaming), les applications nĂ©cessitant une vitesse Ă©levĂ©e et une faible latence.
  • Chiffrement par blocs: PrĂ©fĂ©rĂ© pour le chiffrement de fichiers, les communications sĂ©curisĂ©es oĂą la sĂ©curitĂ© est primordiale, et les applications nĂ©cessitant une grande flexibilitĂ©.