Description
La multiplication est une opération arithmétique coûteuse comparativement à l'addition. Aussi il est intéressant, étant donné une application, de minimiser le nombre de produits à effectuer pour la calculer. Dans cette étude, nous nous restreignons au cas des applications bilinéaires.<br/> En effet, parmi les applications bilinéaires, nous étions intéressés en premier lieu par la multiplication polynomiale. Ce problème ancien a déjà été très étudié. La première découverte fut celle de Karatsuba (1962) qui montra que l'on peut effectuer le produit de deux polynômes de degré~$2$ en n'utilisant que $3$ produits au lieu de $4$ avec l'algorithme quadratique. Puis Toom \& Cook (1963) montrèrent que $5$ multiplications suffisent à calculer le produit de polynômes de degré~$3$. En généralisant le problème aux polynômes de degré~$n$ fixé, on définit alors $M(n)$ le nombre minimal de produits à effectuer pour une telle multiplication. Le calcul de $M(n)$ est difficile et on ne dispose bien souvent que de bornes supérieures, de formules sans preuve de leur optimalité. En 2005, Montgomery effectua une recherche exhaustive de formules pour la multiplication de polynômes de degré~$5$ et trouva de nouvelles formules pour le degré~$6$ et ~$7$. Nous avons alors cherché à généraliser son approche et réduire son coût grâce à une formalisation en terme d'espace vectoriel. Nous présentons ainsi un algorithme permettant d'énumérer toutes les formules contenant exactement $k$ produits calculant une application bilinéaire. Cet algorithme permet de calculer le nombre minimal de produits à calculer pour certaines applications bilinéaires. Enfin, notre algorithme ne se restreignant pas au produit de polynômes, nous avons pu appliquer cet algorithme à d'autres problèmes tels que~: le produit court, la multiplication dans une extension de corps ou encore de matrices.
Next sessions
-
Wagner’s Algorithm Provably Runs in Subexponential Time for SIS^∞
Speaker : Johanna Loyer - Inria Saclay
At CRYPTO 2015, Kirchner and Fouque claimed that a carefully tuned variant of the Blum-Kalai-Wasserman (BKW) algorithm (JACM 2003) should solve the Learning with Errors problem (LWE) in slightly subexponential time for modulus q = poly(n) and narrow error distribution, when given enough LWE samples. Taking a modular view, one may regard BKW as a combination of Wagner’s algorithm (CRYPTO 2002), run[…]-
Cryptography
-
-
CryptoVerif: a computationally-sound security protocol verifier
Speaker : Bruno Blanchet - Inria
CryptoVerif is a security protocol verifier sound in the computational model of cryptography. It produces proofs by sequences of games, like those done manually by cryptographers. It has an automatic proof strategy and can also be guided by the user. It provides a generic method for specifying security assumptions on many cryptographic primitives, and can prove secrecy, authentication, and[…]-
Cryptography
-
-
Structured-Seed Local Pseudorandom Generators and their Applications
Speaker : Nikolas Melissaris - IRIF
We introduce structured‑seed local pseudorandom generators (SSL-PRGs), pseudorandom generators whose seed is drawn from an efficiently sampleable, structured distribution rather than uniformly. This seemingly modest relaxation turns out to capture many known applications of local PRGs, yet it can be realized from a broader family of hardness assumptions. Our main technical contribution is a[…]-
Cryptography
-
-
Predicting Module-Lattice Reduction
Speaker : Paola de Perthuis - CWI
Is module-lattice reduction better than unstructured lattice reduction? This question was highlighted as `Q8' in the Kyber NIST standardization submission (Avanzi et al., 2021), as potentially affecting the concrete security of Kyber and other module-lattice-based schemes. Foundational works on module-lattice reduction (Lee, Pellet-Mary, Stehlé, and Wallet, ASIACRYPT 2019; Mukherjee and Stephens[…]-
Cryptography
-