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

Slides:



Advertisements
Similar presentations
Ruhr- Universität Bochum Fakultät für Mathematik Informationssicherheit und Kryptologie Solving Systems of Equations with Incompatible Operations CITS.
Advertisements

Vector Spaces A set V is called a vector space over a set K denoted V(K) if is an Abelian group, is a field, and For every element vV and K there exists.
College of Information Technology & Design
Lecture 24 MAS 714 Hartmut Klauck
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
HST 952 Computing for Biomedical Scientists Lecture 10.
Search Strategies Reading: Russell’s Chapter 3 1.
Chapter 9: Searching, Sorting, and Algorithm Analysis
14 Jan 2004CS Blind Search1 Solving problems by searching Chapter 3.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Finite Element Method Introduction General Principle
Complexity Analysis (Part I)
CSCI 5708: Query Processing I Pusheng Zhang University of Minnesota Feb 3, 2004.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
25/06/2015Marius Mikucionis, AAU SSE1/22 Principles and Methods of Testing Finite State Machines – A Survey David Lee, Senior Member, IEEE and Mihalis.
Discrete Mathematics Recursion and Sequences
CSCI 5708: Query Processing I Pusheng Zhang University of Minnesota Feb 3, 2004.
 2006 Pearson Education, Inc. All rights reserved Searching and Sorting.
Polynomial Factorization Olga Sergeeva Ferien-Akademie 2004, September 19 – October 1.
COMP s1 Computing 2 Complexity
Decision Procedures An Algorithmic Point of View
Discrete Mathematics Algorithms. Introduction  An algorithm is a finite set of instructions with the following characteristics:  Precision: steps are.
Chapter 2: Vector spaces
©Silberschatz, Korth and Sudarshan13.1Database System Concepts Chapter 13: Query Processing Overview Measures of Query Cost Selection Operation Sorting.
Analysis of Algorithms
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Algorithm Evaluation. What’s an algorithm? a clearly specified set of simple instructions to be followed to solve a problem a way of doing something What.
Additional Problems.
Searching. RHS – SOC 2 Searching A magic trick: –Let a person secretly choose a random number between 1 and 1000 –Announce that you can guess the number.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
1 Analysis of Algorithms CS 105 Introduction to Data Structures and Algorithms.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Introduction to Data Structures and Algorithms CS 110: Data Structures and Algorithms First Semester,
CSC 211 Data Structures Lecture 13
Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda Modified for use by MSU Dept. of Computer Science.
Data Structure Introduction.
Algorithm Analysis CS 400/600 – Data Structures. Algorithm Analysis2 Abstract Data Types Abstract Data Type (ADT): a definition for a data type solely.
Algorithms 1.Notion of an algorithm 2.Properties of an algorithm 3.The GCD algorithm 4.Correctness of the GCD algorithm 5.Termination of the GCD algorithm.
2-0 Copyright © 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin “ Introduction to the Design & Analysis of Algorithms, ” 2 nd ed., Ch. 2 Theoretical.
Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology On the Security of HFE, HFEv- and Quartz Nicolas T. CourtoisMagnus DaumPatrick.
C++ How to Program, 7/e © by Pearson Education, Inc. All Rights Reserved.
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Some new aspects concerning the Analysis of HFE type Cryptosystems Magnus.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Prof. Amr Goneid, AUC1 Analysis & Design of Algorithms (CSCE 321) Prof. Amr Goneid Department of Computer Science, AUC Part 3. Time Complexity Calculations.
1 Algorithms Searching and Sorting Algorithm Efficiency.
Decision Procedures in First Order Logic
CMPT 438 Algorithms.
Advanced Algorithms Analysis and Design
COMP9319 Web Data Compression and Search
Applied Discrete Mathematics Week 2: Functions and Sequences
Analysis of Algorithms
Introduction to Search Algorithms
Database Management System
Hans Bodlaender, Marek Cygan and Stefan Kratsch
Data Structures and Algorithms
Chapter 12: Query Processing
Objective of This Course
Linear sketching with parities
GC 211:Data Structures Algorithm Analysis Tools
Linear sketching over
Applied Discrete Mathematics Week 6: Computation
Chapter 2.
Linear sketching with parities
CSE 2010: Algorithms and Data Structures Algorithms
Hashing Sections 10.2 – 10.3 Lecture 26 CS302 Data Structures
Presentation transcript:

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

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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 Definitions

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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,…)

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 Algorithm # (flats of of dimension m) m45678 log 2 (#flats)

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 Idea

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 Algorithm

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 U (u i ): index of the leftmost 1 in u i >: standard lexicographical ordering Details

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 U

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology 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 U

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

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

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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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 t0t log 2 (complexity)

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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 t0t log 2 (complexity) t0t log 2 (complexity) naive algorithm

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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:

Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology Daum,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

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