L'une des règles de la cryptographie est que la sécurité ne doit pas reposer sur le secret de l'algorithme. Ce secret ne doit reposer que sur la clé de chiffrement.
L'importance du secret de la clé est évidente pour les cryptosystèmes symétriques : la clé de chiffrement fournit aussitôt celle de déchiffrement.
Nous allons découvrir maintenant des cryptosystèmes asymétriques. La connaissance de la clé de chiffrement ne fournit alors pas automatiquement la clé de déchiffrement.
Cela revient, avec un annuaire téléphonique, à rechercher un nom à partir d'un numéro de téléphone.
Soient $\mathcal{M}$ l'ensemble des messages, et $C$ l'ensemble des cryptogrammes.
On considère une fonction de chiffrement $f:\mathcal{M} \rightarrow C$, c'est-à-dire :
On souhaite donc qu'il soit facile de calculer le cryptogramme à partir du clairmessage, mais pas l'inverse. On parle, dans le cas précédent, de fonction à sens unique.
En effet, bien qu'en théorie la fonction possède un inverse, ça ne veut pas dire qu'il soit possible ou facile de la trouver effectivement.
La difficulté pour inverser la fonction dépend des progrès effectués par la cryptanalyse. D'où l'intérêt pour un système de chiffrement d'être diffusé, de façon à le soumettre aux attaques des cryptanalystes, et d'en tester ainsi la fiabilité.
Conclusion : le principe de Kerckhoffs est un bon principe, toujours d'actualité.