Lattice-based Signatures in the Fiat-Shamir Paradigm
Signatures Fondées sur les Réseaux Euclidiens dans le Paradigme de Fiat-Shamir
Résumé
The Fiat-Shamir paradigm enables the systematic design of signature schemes from
identification protocols. The latter are three-moves interactive protocols between a
prover holding onto some secret information and a verifier with a correlated public
information. There are efficient and elegant designs for them and as the Fiat-Shamir
transform is simple and flexible, its popularity is easily explained. Unfortunately,
its use in the lattice setting turns out to be more difficult and researchers usually
rely on a variant, the Fiat-Shamir with aborts transform. This thesis proposes a
study of this paradigm and its use in conjunction with Euclidean lattices. First, we
recover the security of this transform after identifying flaws in the previous security
reductions. This is also a pretense to study the runtime of the signature as well
as discuss the zero-knowledge flavor satisfied by Lyubashevsky’s scheme, the most
famous aborting identification protocols based on Euclidean lattices.
We then move on to study it in more details. This scheme relies on a generic
technique called rejection sampling, and can be adapted to work with a wide range
of pairs of distributions to sample from and to reject to, as long as these two dis-
tributions are “close”. Under a target average number of iterations of the scheme,
we minimize the average Euclidean norm of the final signature, by wisely choos-
ing the pair of source and target distributions. This directly decreases the size of
the signature and also makes forgery attacks harder, allowing for smaller parameter
choices.
Next we propose HAETAE, an implementation of the bimodal, uniform over Eu-
clidean balls, version of Lyubashevsky’s signature scheme. Let us quickly compare it
with the two lattice-based signature schemes selected by NIST for standardisation.
Contrary to Dilithium, which aimed for easy implementation, we aimed for low sig-
nature sizes. This results in a scheme with up to 40% smaller signature sizes than
Dilithium but up to 8 times signing runtime. When compared to Falcon, however,
we still have bigger signature sizes but lower signing runtime. Our implementation
is constant-time and relies only on fixed-point arithmetic.
Finally, we propose a novel way to avoid rejection sampling by using discrete
Gaussian convolutions. Contrary to flooding, this solution appears to preserve the
signature and verification key size of the signature scheme and can even be proven
to be asymptotically smaller. While it requires sampling from an elliptical discrete
Gaussian, this distribution can be made independent from the message. Our tech-
nique can be seen as a generalisation of the bimodal technique, where instead of
relying on two centers, we randomly pick one over a line with a discrete Gaussian
distribution. This center corrects the distribution of the first message, making the
last message independent from the secret, which was the critical problem that led to
the introduction of rejection sampling in the first place.
Le paradigme de Fiat-Shamir permet la création systématique de schémas de signa-
ture à partir de protocoles d’identification. Ces derniers sont des protocoles interactifs
en trois messages, entre un prouveur possédant une information secrète et un vérifi-
cateur avec une information publique corrélée. La transformation de Fiat-Shamir est
simple et flexible, ce qui explique sa popularité, notamment lorsqu’elle est combinée
avec des protocoles d’identification efficaces. Malheureusement, son utilisation dans
le cadre de la cryptographie fondée sur les réseaux Euclidiens se révèle plus compli-
quée, et on lui préfère sa variante dite avec rejet. Cette thèse propose une étude de
cette variante et de son utilisation en conjonction avec les réseaux Euclidiens. Nous
commençons par recouvrer sa sécurité après avoir identifié des erreurs dans les pré-
cédentes preuves de sécurité proposées. On étudie aussi le temps d’exécution d’une
signature ainsi que les propriétés de non-divulgation de connaissance du protocole
de Lyubahsevsky, qui est le plus célèbre à reposer sur les réseaux Euclidiens.
Nous l’étudions ensuite plus en détail. Ce protocole repose sur l’échantillonnage
par rejet, qui peut être utilisée avec une très grande variété de paires “proches” de
distributions : on échantillonne depuis l’une pour rejeter vers l’autre. Étant donné
un nombre moyen d’itérations du protocole, nous minimisons la norme Euclidienne
moyenne de la signature résultante, en choisissant soigneusement la paire de distribu-
tions source et cible. Cela diminue la taille de la signature, et la rend plus résistante
aux attaques, ce qui permet de réduire les paramètres pour la même sécurité.
Nous proposons ensuite HAETAE, une implémentation de la version bimodale
avec des distributions uniformes sur des boules Euclidiennes de la signature de Lyu-
bashevsky. Si nous la comparons rapidement avec les signatures réseaux sélectionnées
par le NIST pour être standardisées, on s’aperçoit que nous avons des tailles de si-
gnatures près de 40% plus petite que Dilithium, même si nous signons jusqu’à 8 fois
plus lentement. Cela reste pourtant plus grand en taille mais plus rapide en vitesse
de signature que Falcon. De plus, notre implémentation est en temps constant et
n’utilise que de l’arithmétique à virgule fixe.
Enfin, nous proposons d’éviter l’échantillonnage par rejet en utilisant à la place
des convolutions de Gaussiennes discrètes. Contrairement aux autres techniques
connues, cette solution semble préserver les tailles de signatures et de clés de vé-
rification du protocole pour des paramètres concrets, et elles sont même meilleures
asymptotiquement. Bien que cette technique requiert d’échantillonner à partir d’une
Gaussienne discrète elliptique, celle-ci est indépendante du message. Pour corriger
cette distribution du premier message, un centre aléatoire est choisi et le résultat sera
indépendant du secret, ce qui est le problème critique qui avait mené à l’introduction
du rejet en premier lieu.
Origine | Fichiers produits par l'(les) auteur(s) |
---|