A New Class of Codes for Boolean Masking of Cryptographic Computations
Résumé
We introduce a new class of rate one-half binary codes: complementary information set codes. A binary linear code of length $2n$ and dimension $n$ is called a complementary information set code (CIS code for short) if it has two disjoint information sets. This class of codes contains self-dual codes as a subclass. It is connected to graph correlation immune vectorial Boolean functions of use in the security of hardware implementations of cryptographic primitives. Such codes permit to improve the cost of masking cryptographic algorithms against side channel attacks. In this paper, we investigate this new class of codes: we give optimal or best known CIS codes of length $ < 132$. We derive general constructions based on cyclic codes and on double circulant codes. We derive a Varshamov-Gilbert bound for long CIS codes, and show that they can all be classified in small lengths $leq 12$ by the building up construction. Some nonlinear permutations are constructed by using ${BBZ}_{4}$-codes, based on the notion of dual distance of a possibly nonlinear code.