Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans.

Similar presentations


Presentation on theme: "Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans."— Presentation transcript:

1 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans DobbertinGregor Leander

2 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Overview Definitions and Motivation General Idea and Algorithm Details of the Algorithm Complexity Evaluations

3 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions finite field vector space n=2m U subspace of, dim(U)=k, a2 cosets a+U flats of dimension k Notation / Definitions

4 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Boolean function, n=2m f is normal :, 9 m-dimensional flat a+U: is constant f is weakly normal :, 9 m-dimensional flat a+U: is affine Definitions

5 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Boolean function f is normal :, 9 m-dimensional flat a+U: is constant f is weakly normal :, 9 m-dimensional flat a+U: is affine f weakly normal, is normal Notation / Definitions Normality

6 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Motivation Open question: Are there non normal bent functions? Dillon / Dobbertin found some new bent functions to be checked for normality (Kasami power functions) Interesting cases: m ¸ 5 odd (i.e. n=10,14,…)

7 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions # (subspaces of of dimension k): # ( flats of of dimension k): Naive idea: –Enumerate all flats of dimension m and check whether f is constant/affine or not Motivation: Naive Algorithm # (flats of of dimension m) m45678 log 2 (#flats)2131445773

8 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions General Idea flat a+U, u 1,…,u k a basis of U f is affine on a+U: ) f is constant on a+U or f constant on a+U: constant

9 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions ) and are constant General Idea

10 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Idea for the algorithm: –find flats a+U and b+U, dim(U)=k –combine them to with : General Idea

11 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Outline of the Algorithm Input: Boolean function f, starting dimension t 0 For all subspaces do : Determine all flats a+U, such that a+U, b+U, dim U=k ! dim=k+1 a+U, b+U, dim U=k ! dim=k+1 m-dimensional flats on which f is affine combine repeat up to dim=m-1

12 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Main problem: can be split into in many ways many ways to find some try to avoid this redundant work Outline of the Algorithm

13 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions need a unique representation of U to avoid looking at same U twice Basis of U is a Gauss Jordan Basis Details: Representation of U (u i ): index of the leftmost 1 in u i >: standard lexicographical ordering Details

14 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions easy to enumerate all subspaces: –loop over all –fill corresponding to this scheme –loop over all values in for Example: Details: Representation of U

15 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions easy to enumerate all flats corresponding to U: – –a+U can be represented uniquely as a‘+U with a‘2 Example: Details: Representation of U

16 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Main data structure: List of all flats corresponding to on which f is constant equal to c Details: Combining Flats if is GJB otherwise

17 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions store elements in sorted order Details: Combining Flats Lemma: compute once, check

18 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Details: Combining Flats Corollary: only need to consider if this is fulfilled or

19 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Details: Algorithm Input: Boolean function f, starting dimension t 0 Output: a list of all flats on which f is affine

20 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Complexity How to choose starting dimension t 0 ? evaluate expected complexity under the assumption that f is a random Boolean function Two parts: –„exhaustive search“ part –„combining“ part

21 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Check all flats of dimension t 0 : about flats less than two comparisons per flat on average n=14: Complexity: Exhaustive Search t0t0 1234567 log 2 (complexity)283846525658

22 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions complexity of combining part n=14: exh.search: choose starting dimension t 0 =2 or t 0 =3 implementation on Pentium IV, 1.5 GHz: about 50 hours for n=14 Complexity: Combining t0t0 1234567 log 2 (complexity)283846525658 t0t0 12345 log 2 (complexity)43 41301 naive algorithm

23 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Complexity: Combining dim=t 0 +1 dim=t 0 +2 dim=t 0 +3 dim=m dim=t 0 time needed for all calls of

24 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Details: Algorithm

25 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Complexity: Combining mainly depends on average size of inputted lists (besides ): expected size of is time needed for all calls of

26 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Complexity: Combining similar formula for total time of combining part: n=14: exh.search: t0t0 1234567 log 2 (complexity)283846525658 t0t0 12345 log 2 ( )43 41301 naive algorithm

27 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Complexity: Combining choose starting dimension t 0 =2 or t 0 =3 actual implementation on Pentium IV, 1.5 GHz: about 50 hours for n=14

28 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Applications Checking a Boolean function for –Weak normality –Normality Other applications possible –e.g. checking whether a given bent function is of Maiorana-McFarland-type

29 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Applications MM is the class of all Boolean functions, which are equivalent (under affine transformations) to a Maiorana-McFarland function, i.e. a function Lemma:

30 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 28.03.2003Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions Conclusion presented an algorithm that computes a list of all flats, on which a given Boolean function is affine/constant can be used to check (weak) normality of Boolean functions much faster than with the naive algorithm other applications also possible (like checking Maiorana-McFarland-property) solved open question about existence of non (weakly) normal bent functions

31 Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Thank You !!! Questions ?!?


Download ppt "Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans."

Similar presentations


Ads by Google