Download presentation
Presentation is loading. Please wait.
Published byAlaina Warner Modified over 8 years ago
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 ?!?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.