Les protocoles assurant la sécurité de nos communications et de nos données s'appuient sur des transformations fondamentales, par exemple des fonctions de chiffrement, appelées primitives cryptographiques. Alors que la sécurité des protocoles peut être formellement démontrée en idéalisant ces primitives, la sécurité des primitives elles-mêmes ne peut être assurée que par la cryptanalyse.
Par exemple, la cryptanalyse dite « différentielle » consiste à tenter de distinguer une primitive F d'une fonction aléatoire en exploitant le fait que la distribution des valeurs d'une « différentielle », x -> F(x+a)-F(x), est éloignée de la distribution uniforme.
Pour se prémunir de ce type d'attaque, on fait donc reposer les primitives sur des fonctions F bijectives opérant sur un corps fini de caractéristique 2 telles que le nombre maximal de solutions x de l'équation F(x+a)-F(x)=b, pour tout a et b, a non nul, est le plus petit possible.
Les fonctions optimales sont celles pour lesquelles ces équations ont au plus 2 solutions, mais leur existence en dimension paire strictement supérieure à 6 est un problème ouvert dans le cas bijectif. Nous ferons le point sur quelques directions suivies récemment pour aborder ce problème.