Le schéma de signature de Lamport est composé de trois algorithmes : génération de clés, signature et vérification.
L'algorithme de génération de clés prend en entrées un paramètre de sécurité
et une taille de messages
, puis détermine deux entiers
, et une fonction à sens unique
. L'algorithme de génération de clés tire ensuite
éléments uniformément au hasard
pour
et
.
L'algorithme retourne la clé privée
, la clé publique
et les paramètres publics
.
L'algorithme de signature prend en entrées les paramètres publics, la clé privée, et
un message à signer. La signature correspondante est
.
L'algorithme de vérification prend en entrées les paramètres publics, la clé publique, un message
et une signature
. S'il existe un indice
tel que
alors l'algorithme retourne une erreur. Sinon, il renvoie un succès.