Boolean functions, algebraic curves and complex multiplication Jean-Pierre Flori
To cite this version:
Jean-Pierre Flori. Boolean functions, algebraic curves and complex multiplication. General Mathe- matics [math.GM]. Télécom ParisTech, 2012. English. NNT : 2012ENST0003. pastel-00758378
HAL Id: pastel-00758378 https://pastel.archives-ouvertes.fr/pastel-00758378 Submitted on 28 Nov 2012
HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. 2012-ENST-003
EDITE de Paris
Doctorat ParisTech
THÈSE
pour obtenir le grade de docteur délivré par
Télécom ParisTech Spécialité “Informatique et Réseaux”
présentée et soutenue publiquement par
Jean-Pierre FLORI le 3 février 2012 Fonctions booléennes, courbes algébriques
et multiplication complexe
Directeur de thèse : Gérard COHEN Directeur de thèse : Hugues RANDRIAM
Jury T M. Gary MCGUIRE, Professeur Associé, University College Dublin Rapporteur M. Igor SHPARLINSKI, Professeur, Macquarie University Rapporteur H M. Andreas ENGE, Directeur de Recherche, INRIA Bordeaux-Sud-Ouest & IMB Examinateur Mme Sihem MESNAGER, Maître de Conférence, Université de Paris VIII Examinatrice M. Benjamin SMITH, Chargé de Recherche, INRIA Saclay-Île-de-France & LIX Examinateur È M. Nicolas M. THIÉRY, Maître de Conférence, Université Paris Sud Examinateur M. Gérard COHEN, Professeur, Télécom ParisTech Directeur de Thèse S M. Hugues RANDRIAM, Maître de Conférence, Télécom ParisTech Directeur de Thèse E
Télécom ParisTech Grande école de l’Institut Télécom — membre fondateur de ParisTech 46, rue Barrault — 75634 Paris Cedex 13 — Tél. + 33 (0)1 45 81 77 77 — www.telecom-paristech.fr
Boolean functions, algebraic curves and complex multiplication
Jean-Pierre Flori Jean-Pierre Flori: Boolean functions, algebraic curves and complex multiplication, Thèse de doctorat, c February 2012. To Choupi
Abstract
The core of this thesis is the study of some mathematical objects or problems of interest in cryptology. As much as possible, the author tried to emphasize the computational aspects of these problems. The topics covered here are indeed not only favorable to experimental investigations, but also to the quasi direct translation of the mathematical concepts involved into concrete algorithms and implementations. The first part is devoted to the study of a combinatorial conjecture whose validity entails the existence of infinite classes of Boolean functions with good cryptographic properties. Although the conjecture seems quite innocuous, its validity remains an open question. Nonetheless, the author sincerely hopes that the theoretical and experimental results presented here will give the reader a good insight into the conjecture. In the second part, some connections between (hyper-)bent functions — a subclass of Boolean functions —, exponential sums and point counting on (hyper)elliptic curves are presented. Bent functions and hyper-bent functions are known to be difficult to classify and to build explicitly. However, exploring the links between these different worlds makes possible to give beautiful answers to theoretical questions and to design efficient algorithms addressing practical problems. The third and last part investigates the theory of (hyper)elliptic curves in a different direction. Several constructions in cryptography indeed rely on the use of highly specific classes of such curves which can not be constructed by classical means. Nevertheless, the so-called “complex multiplication” method solves some of these problems. Class polynomials are fundamental objects for that method, but their construction is usually considered only for maximal orders. The modest contribution of the author is to clarify how a specific flavor of their construction — the complex analytic method — extends to non-maximal orders.
Résumé
Le cœur de cette thèse est l’étude d’objets ou de problèmes mathématiques intéressants en cryptologie. Autant que possible, l’auteur a essayé de mettre en avant les aspects calculatoires de tels problèmes. Les thèmes traités ici sont en effet non seulement propices aux approches expérimentales, mais aussi à une transposition quasiment immédiate des concepts mathématiques en implémentations concrètes. La première partie de cette thèse est dévolue à l’étude d’une conjecture combinatoire dont la validité assure l’existence de familles infinies de fonctions booléennes dotées de propriétés cryptographiques intéressantes. Quoique particulièrement innocente au premier abord, la validité de cette conjecture reste un problème ouvert. Néanmoins, l’auteur espère que les résultats théoriques et expérimentaux présentés ici permettront au lecteur d’acquérir un tant soit peu de familiarité avec la conjecture. Dans la seconde partie de ce manuscrit, des liens entre fonctions (hyper-)courbes — une classe particulière de fonctions booléennes —, sommes exponentielles et courbes (hyper)elliptiques sont présentés. Les fonctions (hyper-)courbes sont en effet particulièrement difficiles à classifier et à construire. L’étude des liens mentionnés ci-dessus permet de résoudre de façon élégante des problèmes d’ordre tout aussi bien théorique que pratique. La troisième et dernière partie pousse plus avant l’étude des courbes (hyper)elliptiques d’un point de vue sensiblement différent. De nombreuses constructions cryptographiques reposent en effet sur l’utilisation de classes particulières de telles courbes qui ne peuvent être construites en utilisant des méthodes classiques. Cependant, la méthode CM permet de donner une réponse positive à ce problème. Les polynômes de classes sont des objets fondamentaux de cette méthode. Habituellement, leur construction n’est envisagée que pour des ordres maximaux. La modeste contribution de l’auteur est d’expliciter comment une telle construction — la méthode analytique complexe — s’étend aux ordres non-maximaux.
Acknowledgments
Vladimir. — Quand j’y pense. . . depuis le temps. . . je me demande. . . ce que tu serais devenu. . . sans moi. . . (Avec décision.) Tu ne serais plus qu’un petit tas d’ossements à l’heure qu’il est, pas d’erreur.
En attendant Godot Samuel Beckett [11]
Le Niolo est le bassin supérieur du Golo, en amont du défilé de la Scala di Santa Regina. Large cuvette granitique d’une alt. moyenne de l’ordre de 900 m, dominée au N. par le chaînon du Cinto et au S. par les crêtes qui le séparent de la haute vallée du Tavignano, c’est une région très nettement délimitée qui, avant l’ouverture de la route D84 (ex RF9), n’était accessible que par quelques cols franchis par des sentiers muletiers et bloqués par la neige une partie de l’année. Ce réel isolement par rapport au reste de l’île a fortement marqué la population du Niolo au cours des siècles et lui a conféré une certaine originalité qui se manifeste encore de nos jours dans différents domaines.
Guide des montagnes corses Michel Fabrikant [88]
I shall first thank both my Ph.D. advisors — Gérard Cohen and Hugues Randriam — without whom this work would have never been possible: you have let me wander in the directions I wanted for three years, and I will always be grateful to you for the wonderful ideas we shared together and that liberty you gave me. Next comes Sihem Mesnager who was kind enough to share her research interests and collaborate with me. Much of the content of this thesis would have been far different if I did not have the chance to meet you. I also had the chance to collaborate with Hervé Chabanne and Alain Patey from Morpho even though no trace of this work appears in the present memoir. As a rather fortunate consequence of this collaboration, I was forced to take my first step on the South-American continent. I am also extremely grateful to Gary McGuire and Igor Shparlinski who accepted to go through the hassle of reading this memoir and to write a report, as well as to Andreas Enge, Nicolas M. Thiéry and Benjamin Smith who accepted to be part of my defense jury. I should not forget the former and current members of the MIC2 team: David Auger and Céline Chevalier with whom I shared my office and my days; David xii Acknowledgments
Madore, Bertrand Meyer and Jacques Sakarovitch who answered my silly questions; and finally Irène Charon, Laurent Decreusefond, Olivier Hudry, Antoine Lobstein and Süleyman Üstünel. From the INFRES department, I also have a thought for Jean Leneutre and Ahmed Serhrouchni — you once saved my computer during one of my lonely Sunday afternoons at Télécom ParisTech. To go on with the scientific aspect of these past three years, I must also thank the fellow members of the “Groupe de Travail de la Butte aux Cailles” — Alain Couvreur, Luca De Feo and Jérôme Plût — for keeping my modest initiative alive for more than two years. I have the feeling that we even managed to build something more than a purely mathematical relation. Finally, I can not omit my new colleagues from the ANSSI: Loïc Duflot, Olivier Levillain, and the members of the “Laboratoire de Cryptographie” — Aurélie Bauer, Thomas Fuhr, Henri Gilbert, Jean-René Reinhard, Yannick Seurin, Joana Treger–Marim. You have warmly welcomed me and offered me exceptional conditions to finish the writing of this manuscript. I hope that the near future will see the beginning of a long lasting collaboration between us. On the technical side, I guess most of the work I conducted during the past three years would have not been possible without the use of a wide spectrum of free and open source software among which I will only mention a few: the Debian operating system, the LATEX typesetting system, the GNU Compiler Collection and the Sage project. I will do my best to contribute back to these projects. I am also grateful to the maintainers of the arxiv.org and iacr.org preprint servers and the numerous authors making their results freely available there. A particular thought goes to the wonderful math webpage of J.S. Milne: this is a goldmine for course notes. To conclude, I must say that I could not have survived throughout these three years in a purely mathematical world. The bo-buns I ate with Chico and Bertrand; the concerts I attended with Clément; the exotic countries and high routes I traveled with Moche, Rod, Titi and Val; the beers I shared with my fellow comrades from the École Polytechnique and the BôBar — Baptiste, Milpatte and Tipiak — and my old fellow comrades from the Lycée Pasteur and elsewhere — Bousty, Flavien, Franz, Guillaume, Jérémy, Olivier and Victor. On a more personal note, I would like to thank the extended Debarre family — Anne, Becky, Benoît, Clélia, Fanfette, François, Jacques, Magali, Olivier and Paul — for welcoming me into their world. The same must definitely be said for my family — my grandmother, my mother, my uncle Albert and my sister, who bravely brought back stinking cheese from Corsica, despite the interrogative looks of the bus driver. And last but not least comes Marianne who has put up with me and my stupid ideas for all these years. Contents
List of symbols and notation xix
Introduction 1 1 Mathematics and cryptology ...... 2 2 Computational experiments and implementation ...... 2 3 Outline ...... 3
I Boolean functions and a combinatorial conjecture 5
1 Boolean functions in cryptography 7 1.1 Cryptographic criteria for Boolean functions ...... 8 1.1.1 The filter and combiner models ...... 8 1.1.2 Balancedness and resiliency ...... 8 1.1.3 Algebraic degree ...... 10 1.1.4 Algebraic immunity ...... 10 1.1.5 Nonlinearity and bentness ...... 11 1.2 Families of Boolean functions with good cryptographic properties ...... 11 1.2.1 Trade-offs between the different criteria ...... 11 1.2.2 The Carlet–Feng family ...... 12 1.2.3 The Tu–Deng family ...... 12 1.2.4 The Tang–Carlet–Tang family ...... 15 1.2.5 The Jin et al. family ...... 16
2 On a conjecture about addition modulo 2k − 1 19 2.1 General properties ...... 21 2.1.1 Notation ...... 21 2.1.2 Negation and rotation ...... 22 2.1.3 Carries ...... 23 2.2 The case = −1 ...... 24 2.2.1 Proof of the conjecture of Tang, Carlet and Tang ...... 24 2.2.2 Computing the exact gap ...... 25 2.3 The case = +1 ...... 29 2.3.1 Notation ...... 29 2.3.2 Mean ...... 30 2.3.3 Zero ...... 30 2.3.4 Parity ...... 31 2.3.5 Reformulation in terms of carries ...... 31 xiv Contents
2.3.6 A combinatorial proposition of independent interest ...... 33 2.4 A block splitting pattern ...... 35 2.4.1 General situation ...... 35 2.4.2 Combining variables ...... 37 2.4.3 One block: d = 1 ...... 37
2.4.4 A helpful constraint: mini(αi) ≥ B − 1 ...... 40 2.4.5 Analytic study: d = 2 ...... 42
2.4.6 Extremal value: βi = 1 ...... 45 2.5 A closed-form expression for fd ...... 47 2.5.1 Experimental results ...... 48 2.5.2 Splitting the sum into atomic parts ...... 50 d 2.5.3 The residual term TX ...... 53 2.5.4 A polynomial expression ...... 58 2.5.5 The coefficients ad,n ...... 60 (i1,...,in) 2.5.6 An additional relation ...... 64
2.6 Asymptotic behavior: βi → ∞ ...... 67 2.6.1 The limit fd(∞,..., ∞) ...... 67 2.6.2 The limit fd(1, ∞,..., ∞) ...... 78 2.7 An inductive approach ...... 80 2.7.1 Overflow and inertia ...... 80 2.7.2 Adding 0’s ...... 81 2.7.3 Adding 1’s ...... 82 2.8 Other works ...... 85 2.8.1 Cusick et al...... 85 2.8.2 Carlet ...... 85 2.8.3 Towards a complete proof ...... 86 2.9 Efficient test of the Tu–Deng conjecture ...... 86 2.9.1 The Tu–Deng algorithm ...... 86 2.9.2 Necklaces and Lyndon words ...... 88 2.9.3 Implementation details ...... 89
II Bent functions and point counting on algebraic curves 93
3 Bent functions and algebraic curves 95 3.1 Bent functions ...... 96 3.1.1 Boolean functions in polynomial form ...... 96 3.1.2 Walsh–Hadamard transform ...... 97 3.1.3 Binary exponential sums ...... 98 3.1.4 Dickson polynomials ...... 99 3.2 Algebraic curves ...... 99 3.2.1 Elliptic curves over perfect fields ...... 99 3.2.2 Elliptic curves over finite fields ...... 104 3.2.3 Hyperelliptic curves ...... 105 3.2.4 Point counting ...... 106 Contents xv
4 Efficient characterizations for bentness 109 4.1 Hyper-bentness characterizations ...... 110 4.1.1 Monomial functions ...... 110 4.1.2 Functions with multiple trace terms ...... 111 4.2 Reformulation in terms of cardinalities of curves ...... 114 4.2.1 Kloosterman sums and elliptic curves ...... 114 4.2.2 Exponential sums and hyperelliptic curves ...... 115 4.3 Divisibility of binary Kloosterman sums ...... 119 4.3.1 Classical results ...... 119 4.3.2 Using torsion of elliptic curves ...... 120 4.4 Finding specific values of binary Kloosterman sums ...... 121 4.4.1 Generic strategy ...... 121 4.4.2 Zeros of binary Kloosterman sums ...... 122 4.4.3 Implementation for the value 4 ...... 122 4.5 Experimental results for m even...... 124
III Complex multiplication and class polynomials 129
5 Complex multiplication and elliptic curves 131 5.1 Further background on elliptic curves ...... 132 5.1.1 Morphisms between algebraic curves ...... 132 5.1.2 Divisors of algebraic curves ...... 134 5.1.3 Pairings ...... 136 5.1.4 Reduction of elliptic curves ...... 138 5.2 Elliptic curves over the complex numbers ...... 139 5.2.1 Complex tori ...... 140 5.2.2 Orders in imaginary quadratic fields ...... 143 5.2.3 Binary quadratic forms ...... 146 5.3 Elliptic curves with complex multiplication ...... 147 5.3.1 Complex multiplication ...... 147 5.3.2 Hilbert class polynomial ...... 148 5.3.3 The main theorem of complex multiplication ...... 149 5.3.4 Computing the Hilbert class polynomial ...... 152 5.3.5 Shimura’s reciprocity law and class invariants ...... 153 5.4 Elliptic curves in cryptography ...... 153 5.4.1 Curves with a given number of points ...... 153 5.4.2 The MOV/Frey–Rück attack ...... 155 5.4.3 Identity-based cryptography ...... 156
6 Complex multiplication in higher genera 159 6.1 Abelian varieties ...... 161 6.1.1 Definition and first properties ...... 161 6.1.2 Theta functions and Riemann forms ...... 161 6.1.3 Isogenies ...... 163 6.1.4 Picard variety and polarizations ...... 164 6.1.5 Homomorphisms and the Rosati involution ...... 167 6.2 Class groups and units ...... 168 6.2.1 Description ...... 168 xvi Contents
6.2.2 Computation of the Picard and unit groups ...... 170 6.2.3 Multiplication of fractional ideals by finite idèles ...... 171 6.3 Complex multiplication ...... 173 6.3.1 CM field ...... 173 6.3.2 Reflex field ...... 173 6.3.3 CM abelian varieties ...... 174 6.3.4 Homomorphisms ...... 176 6.3.5 Dual abelian variety ...... 176 6.3.6 Polarizations ...... 177 6.3.7 The main theorems of complex multiplication ...... 179 6.4 Class polynomials for genus 2 ...... 180 6.4.1 Jacobian variety ...... 181 6.4.2 Igusa invariants ...... 181 6.4.3 Igusa class polynomials ...... 182 6.4.4 Going further ...... 184
Appendices 185
A Coefficients of fd 187
Bibliography 191
Index 211
Résumé long 217 1 Des fonctions booléennes et d’une conjecture combinatoire ...... 219 1.1 Fonctions booléennes en cryptographie ...... 219 1.2 D’une conjecture sur l’addition modulo 2k − 1 ...... 222 2 Fonctions courbes et comptage de points sur les courbes algébriques ...... 227 2.1 Fonctions courbes et courbes algébriques ...... 227 2.2 Caractérisations efficaces de fonctions courbes ...... 230 3 Multiplication complexe et polynômes de classes ...... 235 3.1 Multiplication complexe et courbes elliptiques ...... 235 3.2 Multiplication complexe en genre supérieur ...... 238 List of figures
1.1 The filter model ...... 9 1.2 The combiner model ...... 9
2.1 Graph of f2(x, y) for 0 ≤ x, y ≤ 8 ...... 44 2.2 Zoom on the graph of f2(x, y) for 1 ≤ x, y ≤ 5 ...... 44 2.3 Graph of fd(βi) for βi = 1, i 6= 1 ...... 49 2.4 Graph of fd(βi) for βi = 2, i 6= 1 ...... 49 2.5 Graph of fd(βi) for βi = 10, i 6= 1 ...... 50 2.6 Directed graph D ...... 87 2.7 Adjacency matrix A of directed graph D ...... 87
3.1 The elliptic curve E : y2 = x3 + 1, ∆ = −432 ...... 100 3.2 The singular curve E : y2 = x3, ∆ = 0 ...... 101 3.3 The singular curve E : y2 = x3 − 3x + 2, ∆ = 0 ...... 101 3.4 The elliptic curve E : y2 = x3 − 2x, ∆ = 512 ...... 101 3.5 The elliptic curve E : y2 = x3 − 2x + 2, ∆ = −1216 ...... 101 3.6 Addition law on the elliptic curve E : y2 = x3 + 1 ...... 102 3.7 The hyperelliptic curve H : y2 = (x + 2)(x + 1)x(x − 2)(x − 5/2) of genus 2 ... 106
5.1 A complex torus of dimension 1 ...... √ 141 1+i 2 5.2 The lattice corresponding to τ = 3 ...... 148
List of tables
2.1 Distributions of γi and δi ...... 36 0 0 2.2 Distributions for γi and δi ...... 36 2.3 Values of Ai for 0 ≤ i ≤ 7 ...... 57 2.4 Values of fd(1,..., 1, ∞,..., ∞) for d ≥ 1 ...... 79 2.5 Computers’ description — Part I ...... 90 2.6 Computers’ description — Part II ...... 90 xviii Lists of figures, tables and algorithms
2.7 Timings for checking the Tu–Deng conjecture ...... 91
4.1 Families of hyper-bent and semi-bent functions for Km(a) = 0 ...... 111 4.2 Families of (hyper-)bent functions for Km(a) = 4 ...... 112 4.3 Families of semi-bent functions for Km(a) = 4 ...... 112 4.4 Test of bentness for m even...... 126 4.5 The fourteen cyclotomic classes such that K16(a) = 4 ...... 127
A.1 Coefficients a1,n ...... 187 (i1,...,in) A.2 Coefficients a2,n ...... 187 (i1,...,in) A.3 Coefficients a3,n ...... 188 (i1,...,in) A.4 Coefficients a4,n ...... 188 (i1,...,in) A.5 Coefficients a5,n ...... 188 (i1,...,in) A.6 Coefficients a6,n ...... 189 (i1,...,in) A.7 Coefficients a7,n ...... 189 (i1,...,in) A.8 Coefficients a8,n ...... 190 (i1,...,in)
List of algorithms
2.1 Tu–Deng algorithm ...... 88 2.2 Iterative generation of necklaces ...... 89
4.1 Finding the value 4 of binary Kloosterman sums for m odd ...... 123 4.2 Testing bentness for m even ...... 125
5.1 Miller’s algorithm ...... 138 5.2 Computation of the Hilbert class polynomial ...... 152 5.3 The CM method ...... 154 5.4 Cornacchia’s algorithm ...... 155 5.5 The MOV/Frey–Rück Attack ...... 155
6.1 Computation of the Picard group of a non-maximal order ...... 172 6.2 Computation of the isomorphism classes of p.p.a.v. with CM by a given order . . 183 6.3 Computation of the Igusa class polynomials of a non-maximal order ...... 184 List of symbols and notation
General
N Semiring of non-negative integers ...... xxv
Z Ring of integers ...... xxv
Q Field of rational numbers ...... xxv
R Field of real numbers ...... xxv
C Field of complex numbers ...... xxv K,L A perfet field or a number field ...... xxv
K An algebraic closure of K ...... xxv a, b Fractional ideals ...... xxv p, q Prime ideals ...... xxv
Fq Finite field with q elements ...... xxv #S Cardinality of the set S ...... xxv p A prime number ...... xxv q A prime number’s power ...... xxv l A prime number different from p ...... xxv
Combinatorics