Upload
cruz
View
58
Download
0
Tags:
Embed Size (px)
DESCRIPTION
An Algorithm for Checking Normality of Boolean Functions. Magnus DaumHans DobbertinGregor Leander. Overview. Definitions and Motivation General Idea and Algorithm Details of the Algorithm Complexity Evaluations. Definitions. Boolean function , n=2m - PowerPoint PPT Presentation
Citation preview
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
An AlgorithmAn Algorithm
for Checking Normalityfor Checking Normality
of Boolean Functionsof Boolean Functions
Magnus DaumMagnus Daum Hans DobbertinHans Dobbertin Gregor LeanderGregor Leander
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
OverviewOverview
• Definitions and Motivation• General Idea and Algorithm• Details of the Algorithm• Complexity Evaluations
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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
DefinitionsDefinitions
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
MotivationMotivation
• 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,…)
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 AlgorithmMotivation: Naive Algorithm
• # (flats of of dimension m)
m 4 5 6 7 8
log2(#flats) 21 31 44 57 73
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
General IdeaGeneral Idea
• flat a+U, u1,…,uk a basis of U
• f is affine on a+U:
) f is constant on a+U or
• f constant on a+U:
constant
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
) and are constant
General IdeaGeneral Idea
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 IdeaGeneral Idea
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
Outline of the AlgorithmOutline of the Algorithm
Input: Boolean function f, starting dimension t0
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
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 AlgorithmOutline of the Algorithm
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 UDetails: Representation of U
(ui): index of the leftmost 1 in ui
• >: standard lexicographical ordering
DetailsDetails
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 UDetails: Representation of U
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,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 UDetails: Representation of U
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
• Main data structure:
List of all flats corresponding toon which f is constant equal to c
Details: Combining FlatsDetails: Combining Flats
if is GJB
otherwise
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
• store elements in sorted order
Details: Combining FlatsDetails: Combining Flats
Lemma:
• compute once , check
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
Details: Combining FlatsDetails: Combining Flats
Corollary:
• only need to consider if this is fulfilled
or
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
Details: AlgorithmDetails: Algorithm
Input: Boolean function f, starting dimension t0
Output: a list of all flats on which f is affine
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
ComplexityComplexity
• How to choose starting dimension t0?
• evaluate expected complexity under the assumption that f is a random Boolean function
• Two parts:– „exhaustive search“ part– „combining“ part
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
• Check all flats of dimension t0:
about flats
• less than two comparisons per flat on average
n=14:
Complexity: Exhaustive SearchComplexity: Exhaustive Search
t0 1 2 3 4 5 6 7
log2(complexity) 28 38 46 52 56 58 58
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
• complexity of combining part• n=14:
• exh.search:
• choose starting dimension t0=2 or t0=3
• implementation on Pentium IV, 1.5 GHz: about 50 hours for n=14
Complexity: CombiningComplexity: Combining
t0 1 2 3 4 5 6 7
log2(complexity) 28 38 46 52 56 58 58
t0 1 2 3 4 5
log2(complexity) 43 43 41 30 1 naive
algorithm
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
28.03.2003 Daum,Dobbertin,Leander: An Algorithm for Checking Normality of Boolean Functions
ConclusionConclusion
• 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
RuhrRuhrUniversityUniversityBochumBochumFaculty of MathematicsFaculty of MathematicsInformation-Security and CryptologyInformation-Security and Cryptology
Thank You !!!Thank You !!!
Questions ?!?Questions ?!?