Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Boolean Functions and their Cryptographic Criteria (0)

1 Hindamata
Punktid




2018       * Univeristy of Tartu, Estonia     Lomonosov Moscow State University, Russia                    Boolean Functions and their  Cryptographic Criteria     


Contents 
1.  Introduction ..................................................................................................................................... 3 
2.  Boolean functions and their representations ................................................................................. 4  2.1  Truth table ............................................................................................................................... 4  2.1.1  Disjunctive normal form .................................................................................................. 4  2.1.2  Conjunctive normal form ................................................................................................ 5  2.2  Algebraic normal form ............................................................................................................. 5  3.  Walsh and Fourier transforms ......................................................................................................... 7  3.1  Hadamard matrices ................................................................................................................. 8  4.  Correlation immunity and algebraic immunity ............................................................................... 9  4.1  Cross-correlation and autocorrelation .................................................................................... 9  4.2  Correlation immunity .............................................................................................................. 9  4.3  Algebraic immunity ............................................................................................................... 10  5.  Nonlinearity of Boolean functions ................................................................................................ 11  5.1  Bent functions ....................................................................................................................... 12  Bibliography ........................................................................................................................................... 13 
 


3    1.  Introduction 
Boolean functions have various applications in cryptography. Linear feedback shift registers (LFSR) use  Boolean functions to generate pseudo-random numbers while S-boxes used in block cyphers are just  vectorial Boolean functions.  
To  make  the  cryptanalysis  more  difficult  to  implement,  we  have  to  be  careful  when  choosing  the  Boolean  functions  for  our  cryptosystem  and  follow  several  recommendations,  often  called  cryptographic criteria. For example, the combining and filtering Boolean functions used in stream and  block cyphers must have certain properties to resist different kinds of attacks. Nonlinearity must be  high for resisting linear approximation attacks while correlation immunity determines the number of  LFSRs needed for a correlation attack. 
This paper gives an overview on the topic of Boolean functions, starting with generalities of Boolean  functions  and  their  representations  and  moving  on  to  different  cryptographic  criteria  of  Boolean  functions,  including  correlation  immunity,  nonlinearity  and  algebraic  immunity.  Both  Walsh  and  Fourier transforms are introduced. The paper also includes a short chapter on Bent functions. 
These  topics  are  covered  shortly,  introducing  the  main  points  and  giving  their  most  important  properties. Thus the paper contains many definitions and properties, while only giving proofs to some  of  them.  The  result  is  a  concise  material,  covering  the  generalities  of  Boolean  functions  and  their  properties relevant in cryptography. 


4    2.  Boolean functions and their representations  
In the following chapters the vector space of all binary vectors of length n will be denoted as  𝔽2𝑛. For  two  vectors  𝑎 = (𝑎1, … , 𝑎𝑛)  and  𝑏 = (𝑏1, … , 𝑏𝑛)  in  𝔽2𝑛  we  define  the  scalar  product  < 𝑎, 𝑏 > = 𝑎1𝑏1 ⊕ …⊕ 𝑎 𝑛𝑏𝑛, where all the operations are over a finite field with two elements  𝔽2 .  The logical negation (or complement) of a Boolean function 𝑓 is 𝑓 = 𝑓 ⊕ 1 . 
Definition 2.1. A Boolean function 𝑓 of 𝑛 variables is a map from 𝔽2𝑛 to 𝔽2 . 
𝐹𝑛 will be used to mark the set of all Boolean functions of 𝑛 variables. 
The value vector of a Boolean function is very important term when describing the function. The weight  and the support of a Boolean function refer to the weight and support of its value vector. 
Definition 2.2. A value vector of a Boolean function is a binary vector 𝑣𝑓 of length 2𝑛 composed of all  𝑓(𝑥) when 𝑥 ∈ 𝔽2𝑛. 
Definition 2.3. The weight of a Boolean function  𝑓 of 𝑛 variables is the number of vectors from the  field 𝔽2𝑛, where the 𝑓 obtains the value of one:  𝑤𝑡(𝑓) = |{𝑥 ∈ 𝔽2𝑛 ∶ 𝑓(𝑥) = 1}|  We say that a Boolean function 𝑓 is balanced if 𝑡(𝑓) = 2 𝑛−1 .  2.1  Truth table 
A Boolean function 𝑓 is often expressed through its truth table, which gives the values of function  𝑓   of 𝑛 variables using all of the elements in 𝔽2𝑛. Those values combine into its value vector. 
For example, the following Table 1 represents a truth table of a function 𝑓 over 𝔽23, where the last row  is its value vector.    𝑥1  0  0  0  0  1  1  1  1  𝑥2  0  0  1  1  0  0  1  1  𝑥3  0  1  0  1  0  1  0  1  𝑓(𝑥1, 𝑥2, 𝑥3)  0  0  0  1  0  0  0  1  Table 1.1. Truth table of function 𝑓 of three variables    2.1.1  Disjunctive normal form 
Since making a table of all possible values is impractical at larger values of 𝑛, other representations of  Boolean functions are often used. One of them is disjunctive normal form (abbreviated DNF) which  presents a Boolean function in a form of disjunction consisting of conjunctive clauses. 
In order to find the DNF of a Boolean function 𝑓(𝑥1, … , 𝑥𝑛) we must present all those sets of values of  𝑥1, … , 𝑥𝑛 where the function 𝑓 obtains the value of one in a form of a conjunction and combine those  conjunctions into a single disjunction.  
For example, function  𝑓(𝑥1, 𝑥2, 𝑥3) presented in the Table 1 has two sets of  𝑥1, 𝑥2, 𝑥3 values, where  the function obtains the value of one:  𝑥1𝑥2𝑥3 and 𝑥1𝑥2𝑥3. Thus, the DNF of function  𝑓(𝑥1, 𝑥2, 𝑥3) is  𝑥1𝑥2𝑥3 + 𝑥1𝑥2𝑥3, where + marks the binary operation or. 


5    2.1.2  Conjunctive normal form 
Similarly to disjunctive normal form, a Boolean function can also be expressed by a conjunction of  disjunctive clauses.  
To find the conjunctive normal form (CNF) of a Boolean function  𝑓(𝑥1, … , 𝑥𝑛) we must select those  sets of values of  𝑥1, … , 𝑥𝑛 where the function  𝑓 obtains a value of zero, invert those values and join  them into a single disjunction. Then all such disjunctions are combined into a single conjunction, which  is called the CNF of function 𝑓. 
Thus the CNF of the function 𝑓(𝑥1, 𝑥2, 𝑥3) presented in the Table 1 is:  (𝑥1 + 𝑥2 + 𝑥3)(𝑥1 + 𝑥2 + 𝑥3)(𝑥1 + 𝑥2 + 𝑥3)(𝑥1 + 𝑥2 + 𝑥3)(𝑥1 + 𝑥2 + 𝑥3)(𝑥1 + 𝑥2 + 𝑥3)  2.2  Algebraic normal form 
One of the most classical representations of Boolean functions is in a form of a 𝑛-variable polynomial  over the field  𝔽2 . It is also most commonly used in cryptography and coding. This representation is  called the algebraic normal form (ANF), also known as a Zhegalkin polynomial. 
Definition 2.4. Let 𝑓 be a Boolean function of 𝑛 variables. Then the polynomial in the following form   𝑓(𝑥1, … , 𝑥𝑛) = ⊕𝑢∈𝔽 2 𝑛 µ𝑓  ∏ 𝑥 𝑖 𝑢𝑖 𝑛 𝑖=1   is called the algebraic normal form of function 𝑓. The monomial ∏ 𝑥𝑖 𝑢𝑖 𝑛 𝑖=1  is often denoted by 𝑥𝑢.  The µ𝑓 is also a Boolean function of 𝑛 variables, which is called the Möbius transformation of  𝑓. The  coefficients of ANF satisfy the following equation:  µ𝑓 =   ∑ 𝑓(𝑥) 𝑥≤𝑢 𝑢∈𝔽2𝑛     where the sum is in 𝔽2  and 𝑥 ≤ 𝑢  if and only if 𝑥𝑖 ≤ 𝑢𝑖 for all 1 ≤ 𝑖 ≤ 𝑛 . 
Let us compute the coefficients 𝑎𝑢 of the function 𝑓(𝑥1, 𝑥2, 𝑥3) shown in Table 1 above:  𝑎000 = 𝑓(000) = 0  𝑎001 = 𝑓(000) + 𝑓(001) = 0  𝑎010 = 𝑓(000) + 𝑓(010) = 0  𝑎011 = 𝑓(000) + 𝑓(010) + 𝑓(001) + 𝑓(011) = 1  𝑎100 = 𝑓(000) + 𝑓(100) = 0  𝑎101 = 𝑓(000) + 𝑓(001) + 𝑓(100) + 𝑓(101) = 0  𝑎110 = 𝑓(000) + 𝑓(010) + 𝑓(100) + 𝑓(110) = 0 
𝑎111 = ∑ 𝑓 (𝑥) = 𝑤𝑡(𝑓) 𝑚𝑜𝑑 2 = 𝑥∈𝔽23  0    Thus the ANF of the function 𝑓 is 𝑥2𝑥3.  It is important to note that a unique ANF exists for every Boolean function. 
Definition  2.5.  The  (algebraic)  degree  of  a  function  𝑓  is  the  degree  of  the  largest  monomial  in  its  algebraic normal form. In other words:  deg 𝑓 = max 𝑢∈𝔽2𝑛 𝑎𝑢≠0  𝑤𝑡(𝑢) 


6    Algebraic  degree  is  one  of  the  most  important  properties  of  Boolean  functions,  when  it  comes  to  cryptography. One of the basic requirements relative to the Boolean functions used in stream ciphers  is that they allow to increase the linear complexity, which is obtained if these functions have a high  algebraic degree.[7] 
Lemma 2.1. The weight of a Boolean function 𝑓 over 𝔽2𝑛 is an odd number if and only if deg 𝑓 = 𝑛. 
Theorem 2.1. If a Boolean function 𝑓 of 𝑛 variables has a degree of deg 𝑓 = 𝑑  > 1 , then the following  inequality stands correct:   2𝑛−𝑑 ≤ 𝑤𝑡(𝑓) ≤ 2𝑛 − 2𝑛−𝑑   Proof. Let 𝑥𝑖 1 𝑥𝑖 2 … 𝑥𝑖𝑑 be the monomial with the highest degree enclosed in the ANF of function  𝑓. Let  us decompose the function  𝑓 through  𝑛 − 𝑑 variables not included in the highest order monomial   𝑥𝑖 1 𝑥𝑖 2 … 𝑥𝑖𝑑,  let  𝑓1, … , 𝑓2𝑛−𝑑   be  coefficients  of  this  decomposition.  Since  the  degree  of   𝑓𝑐 ∈ {𝑓1, … , 𝑓2𝑛−𝑑  } is 𝑑 we know from the Lemma 2.1 that 𝑤𝑡(𝑓𝑐) is an odd number. From that we can  easily deduce that 1  ≤ 𝑤𝑡 (𝑓𝑐) ≤ 2𝑑 − 1. Since  𝑤𝑡(𝑓) = ∑ 𝑓 𝑐 2𝑛−𝑑 𝑐=1   it is clear, that  2𝑛−𝑑 ≤ 𝑤𝑡(𝑓) ≤ 2𝑛 − 2𝑛−𝑑 .  ∎ 


7    3.  Walsh and Fourier transforms 
The terminology on these two transforms vary a lot in different materials. Often, the Walsh transform  is also called Hadamard transform or Walsh-Hadamard transform. In many cases, the Walsh transform  is defined in a same way as we define the Fourier transform. In this article the Walsh transform is 
defined as a Fourier transform of its sign function 𝑓χ = (−1)𝑓(𝑥).   Definition 3.1. The Fourier transform of a function  𝑓 on 𝔽2𝑛 is the map from 𝑓 to function 𝐹𝑓 defined  by  𝐹𝑓(𝑢) =   ∑ 𝑓(𝑥) (−1)<𝑥,𝑢>  𝑥∈𝔽2𝑛   Function 𝑓 can be recovered by the inverse Fourier transform:   𝑓(𝑥) = 2−𝑛 ∑ 𝐹 𝑓(𝑢)(−1)<𝑥,𝑢>  𝑥∈𝔽2𝑛   Definition 3.2. The Walsh transform of a function 𝑓 on 𝔽2𝑛 is the map 𝑊𝑓: 𝔽2𝑛 → ℝ, defined by  𝑊𝑓(𝑢) =   ∑ (−1)𝑓(𝑥)⊕<𝑥,𝑢>  𝑥∈𝔽2𝑛   The value 𝑊𝑓(𝑢) is called the Walsh coefficient of the function 𝑓.  
Function 𝑓 can be recovered by the inverse Walsh transform:   (−1)𝑓(𝑥) = 2−𝑛 ∑ 𝑊 𝑓(𝑢)(−1)<𝑥,𝑢>  𝑥∈𝔽2𝑛     Definition 3.3. The Walsh spectrum of 𝑓 is the set of all 2𝑛 Walsh coefficients {𝑊𝑓(𝑢) ∶ 𝑢 ∈ 𝔽 2𝑛} as 𝑢  varies. 
Lemma 3.1. If 𝑢 ∈ 𝔽 2𝑛  ∑ (−1)<𝑥,𝑢> 𝑥∈𝔽2𝑛 = { 0, 𝑢 ≠ 0 𝑛 2𝑛, 𝑢 = 0𝑛    Proof. Firstly, we can easily see that if  𝑢 = 0 𝑛, then all summands are 1 and the sum is  2𝑛. Now, if   𝑢 ≠ 0𝑛,  we  can  look  at  two  sets 𝐴 = {𝑥  ∈ 𝔽2𝑛 ∶ < 𝑥, 𝑢 > = 0 }  and 𝐴′ = {𝑥  ∈ 𝔽2𝑛 ∶ < 𝑥, 𝑢 > = 1 }.  Obviously, those sets belong to 𝔽2𝑛 and their cardinalities are the same 2𝑛−1. Since for any 𝑥 ∈ 𝐴 , the  summand is 1 and for any 𝑥 ∈ 𝐴 , the summand is −1, we get the equation. ∎ 
If and only if the function is balanced the weight of a Boolean function can be expressed though it’s  Walsh transform:  𝑤𝑡(𝑓) =   2𝑛−1  − 1
2 𝑊𝑓(0 𝑛 )   
Lemma 3.2. There is a straight relation between the Fourier and Walsh transform of a function:  𝑊𝑓(𝑢) = 2𝑛𝛿(𝑢) − 2𝐹𝑓(𝑢),  where 𝛿(𝑢) = {1, 𝑢 = 0 𝑛 0, 𝑢 ≠ 0𝑛  .   
 



8    Lemma 3.3.  ∑ 𝑊 𝑓(𝑥)𝑊𝑓(𝑥 𝑥∈𝔽2𝑛 ⊕ 𝑣) = { 0, 𝑣 ≠ 0 𝑛 22𝑛, 𝑣 = 0𝑛    
Proof. Using the equations 𝑊𝑓(𝑥) = 𝐹𝑓 χ(𝑥)  and 𝑓χ(𝑦)2 = 1 we complete following steps:  ∑ 𝑊 𝑓(𝑥)𝑊𝑓(𝑥 𝑥∈𝔽2𝑛 ⊕ 𝑣) = ∑ (−1)<𝑥,𝑦> 𝑓χ(𝑦) 𝑥∈𝔽2𝑛 𝑦∈𝔽2𝑛 ∑ (−1)<𝑥⊕𝑣,𝑧> 𝑓χ(𝑧) 𝑧∈𝔽2𝑛 = ∑ (−1)<𝑣,𝑧>𝑓χ(𝑦) 𝑦∈𝔽2𝑛 𝑧∈𝔽2𝑛 𝑓χ(𝑧) ∑ (−1)<𝑥,𝑦⊕𝑧> 𝑧∈𝔽2𝑛 = ∑ (−1)<𝑣,𝑦>𝑓χ(𝑦)2 = 2𝑛 ∑ (−1)<𝑣,𝑦> 𝑦∈𝔽2𝑛   𝑦∈𝔽2𝑛     Based on Lemma 3.1 the equation stands.  ∎  3.1  Hadamard matrices 
Definition 3.4. A Hadamard matrix 𝐻 of order 𝑛 is an 𝑛 × 𝑛 matrix with elements from {−1, 1}, such  that 𝐻𝐻𝑡 = 𝑛𝐼𝑛, where 𝐻𝑡 is the transpose of 𝐻 and 𝐼𝑛 is the 𝑛 × 𝑛 identity matrix.  
The  product  of  any  two  distinct  rows  or  columns  of  𝐻  is  zero.    Hadamard  matrix  is  often  defined  recursively by:  𝐻𝑛 = ( 𝐻𝑛−1 𝐻𝑛−1 𝐻𝑛−1 −𝐻𝑛−1) ,  𝐻𝑜 = (1)   For example:  𝐻1 = (1 1 1 −1) ,    𝐻2 =   ( 1 1 1 −1 1 1 1 −1 1 1 1 −1 1 1 1 −1 )  etc.  2𝑛 × 2𝑛  matrices  𝐻𝑖 are  also  called  Sylvester-Hadamard  matrices.  Hadamard  matrix  can  also  be  described  as  a  Kronecker  product: 𝐻𝑛 = 𝐻1 ⊗ 𝐻𝑛−1,  where  the  Kronecker  product  is  defined  as  follows:   𝐴 ⊗ B = ( 𝑎11𝐵 ⋯ 𝑎1𝑛𝐵 ⋮ ⋱ ⋮ 𝑎𝑚1 ⋯ 𝑎 𝑚𝑛 𝐵 ) ,  where  𝐴  is  a 𝑚 × 𝑛  matrix.  It  is  important  to  note,  that  Kronecker  product  is  not  commutative,  although it is associative and distributive.  
Now the Fourier transform of function 𝑓 can be described through a Sylvester-Hadamard function as  follows: 𝐹𝑓 = 𝑓𝐻𝑛. Inverse of that is similarly 𝑓 = 2−𝑛𝐹𝑓𝐻𝑛. 


9    4.  Correlation immunity and algebraic immunity  4.1  Cross-correlation and autocorrelation 
Definition 4.1. The following function is called the cross-correlation function of two functions 𝑓 and 𝑔  is a map from 𝔽2𝑛 to [−2𝑛, 2𝑛] defined by:  ∆𝑓,𝑔(𝑢) = ∑ (−1)𝑓(𝑥)⊕𝑔(𝑥⊕𝑢)  𝑥∈𝔽2𝑛   Let us note that cross-correlation is the difference between the number of cases where 𝑓(𝑥) coincides  with 𝑔(𝑥 ⊕ 𝑢) and the number of cases where it does not. 
Definition  4.2.  If 𝑓 = 𝑔   the  cross-correlation  function  is  called  the  autocorrelation  function  and  is  defined by:  ∆𝑓(𝑢) = ∆𝑓,𝑓(𝑢) = ∑ (−1)𝑓(𝑥)⊕𝑓(𝑥⊕𝑢)  = ∑ (−1)𝑓𝑢 ′ (𝑥) 𝑥∈𝔽2𝑛 𝑥∈𝔽2𝑛   Here are some basic properties of autocorrelation:  1.  ∆𝑓(0𝑛) = 2𝑛  2.  ∆𝑓(𝑢) = 0 if and only if function 𝑓 is balanced  3.  ∆𝑓(𝑢) = ∆𝑊 𝑓 (𝑢) for every 𝑢  4.  ∆𝑓(𝑢) = ∆𝑊 𝑓𝑢′ (0𝑛)  Theorem 4.1. If 𝑓, 𝑔  ∈ 𝔽2 , then  (∆𝑓,𝑔(0𝑛), … , ∆𝑓,𝑔(1𝑛)) 𝐻2𝑛 = (𝑊𝑓(0𝑛)𝑊𝑔(0𝑛), … , 𝑊𝑓(1𝑛)𝑊𝑔(1𝑛)),  where 𝐻2𝑛 is a Sylvester-Hadamard matrix. 
Proof.   ∑ ∆ 𝑓,𝑔(𝑢)(−1)<𝑢,𝑣> 𝑢∈𝔽2𝑛 = ∑   𝑢∈𝔽2𝑛 ∑ (−1)𝑓(𝑥)⊕𝑔(𝑥⊕𝑢)(−1)<𝑢,𝑣> 𝑥∈𝔽2𝑛 = ∑ (−1)𝑓(𝑥) 𝑥∈𝔽2𝑛 ∑ (−1)𝑔(𝑥⊕𝑢)⊕<𝑢,𝑣> 𝑢∈𝔽2𝑛 𝑧=𝑥⊕𝑢 ⇒      ∑ (−1)𝑓(𝑥) 𝑥∈𝔽2𝑛 ∑ (−1)𝑔(𝑧)⊕<𝑧,𝑣> 𝑧∈𝔽2𝑛 = ∑ (−1)𝑓(𝑥)⊕<𝑥,𝑣> 𝑥∈𝔽2𝑛 ∑ (−1)𝑔(𝑧)⊕<𝑧,𝑣> 𝑧∈𝔽2𝑛 = 𝑊𝑓(𝑣)𝑊𝑔(𝑣)   ∎    4.2  Correlation immunity 
Correlation immunity is an important property of Boolean functions, since using  Boolean functions  with  low  correlation  immunity  can  allow  effective  attacks  on  the  cryptosystem.  For  example,  correlation immunity plays a crucial role when attacking a stream cipher based on two or more linear  feedback  shift  registers,  whose  outputs  are  combined  by  a  nonlinear  Boolean  function.  In  such  a  combination generator, the correlation-immunity order  𝑘 of the combining function determines the  minimal number of LFSRs which must be considered in a correlation attack - the smallest number of  LFSRs involved in a correlation attack must be 𝑘  +  1. 


10    Definition  4.3.  A Boolean function 𝑓  on 𝔽2𝑛  is said  to  be  correlation  immune of order 𝑘,  where m  satisfies  1  ≤  𝑘  ≤  𝑛 ,  if  the  values  of  𝑓  and  any  subset  of  𝑘  input  variables  are  statistically  independent. 
If a function is correlation immune of order 𝑘, it is also correlation immune of order 𝑘 − 1. 
There is a strong connection between correlation immunity and the Walsh transform of a function. 
Theorem 4.2. A Boolean function  𝑓 on 𝔽2𝑛 is correlation-immune of order  𝑘 if and only if  𝑊𝑓(𝑢) = 0  for all vectors 𝑢  ∈ 𝔽2𝑛, such that 1  ≤  𝑤𝑡(𝑢)   ≤  𝑘. 
A balanced correlation immune function of order  𝑘 is called an  𝑘-resilient function. That means that  the Boolean function 𝑓 is 𝑘-resilient if 𝑤𝑡(𝑓’)   =   2𝑛−𝑚−1  for any subfunction 𝑓′ of 𝑛  −  𝑚 variables. 
Theorem 4.3. (Siegenthaler’s inequality) Let 𝑓 be a Boolean function of 𝑛 variables. Then its correlation  immunity order 𝑘 satisfies  𝑘 + deg 𝑓 ≤  𝑛.  If 𝑓 is balanced (it is 𝑘-resilient function) and 𝑘 < 𝑛 − 1 , then 𝑘 + deg 𝑓 ≤ 𝑛 − 1 . 
That is a very important notion, since it shows that it is not possible to have both a very high degree  and high correlation immunity. 
Theorem  4.4.  If  𝑓  is  a  correlation  immune  function  of  order  𝑘  on  𝔽2𝑛,  where  𝑘 ≤ 𝑛 − 1 ,  then   𝑊𝑓(𝑢)   ≡  0 (𝑚𝑜𝑑 2𝑘 + 1)  Moreover, if f is 𝑘-resilient and 𝑘 ≤ 𝑛 − 2 , then 𝑊𝑓(𝑢) ≡ 0 (𝑚𝑜𝑑 2𝑘 + 2) .  4.3  Algebraic immunity 
In 2003 a new kind of attack, called algebraic attack, was introduced. Algebraic attacks recover the  secret key by solving a system of algebraic equations. High algebraic immunity is needed to resist this  kind of attacks. 
Definition  4.4.  An  annihilator  of  a  polynomial  𝑓(𝑥)  is  a  nonzero  polynomial  𝑔(𝑥)  such  that  𝑓(𝑥)𝑔(𝑥) = 0   Definition 4.5. The minimum degree of  𝑔(𝑥) ≠ 0 𝑛 such that  𝑓(𝑥)𝑔(𝑥) = 0 or (𝑓(𝑥) ⊕ 1)𝑔(𝑥) = 0   is called the algebraic immunity of 𝑓 and denoted by 𝐴𝐼(𝑓).  It is known, that algebraic degree has an upper bound of 𝐴𝐼(𝑓) ≤ ⌈ 𝑛 2⌉ . Thus, a good design aims to use  a function 𝑓 such that neither 𝑓 nor 𝑓 ⊕ 1 has an annihilator at a degree less than ⌈ 𝑛
2⌉ .  An interesting connection between algebraic immunity and the weight of a Boolean function has been  found. Weight of a Boolean function 𝑓 with given algebraic immunity satisfies:  ∑ ( 𝑛 𝑖 ) ≤ 𝑤𝑡 (𝑓) ≤ 𝐴𝐼(𝑓)−1 𝑖=0 ∑ ( 𝑛 𝑖 ) 𝑛−𝐴𝐼(𝑓) 𝑖=0   where (𝑛𝑖) are binomial coefficients (choose 𝑖 elements from 𝑛 elements). 
 


11    5.  Nonlinearity of Boolean functions 
Nonlinearity is one of the most important cryptographic criteria, since it provides confusion. According  to Shannon, confusion refers to making the link between the key and the ciphertext as complex as  possible. Nonlinearity must be high to resist different kinds of attack, including the fast correlation  attack. 
In  order  to  understand  nonlinearity  of  Boolean  functions,  the  definition  of  Hamming  distance  is  needed. 
Definition 5.1. The Hamming distance between two Boolean functions  𝑓 and  𝑔 on  𝔽2𝑛 is defined as  𝑑𝑖𝑠𝑡(𝑓, 𝑔) = 𝑤𝑡(𝑓 ⊕ 𝑔)   Here are some properties of Hamming distance:  1.  𝑑𝑖𝑠𝑡(𝑓, 𝑔) = |{𝑥 ∈ 𝔽 2𝑛 ∶ 𝑓(𝑥) ≠ 𝑔(𝑥)}|  2.  𝑑𝑖𝑠𝑡(𝑓, 𝑔) + 𝑑𝑖𝑠𝑡(𝑔, ℎ) ≥ 𝑑𝑖𝑠𝑡(𝑓, ℎ)  3.  𝑑𝑖𝑠𝑡(𝑓, 𝑔) = 2𝑛 − 𝑑𝑖𝑠𝑡(𝑓, 𝑔)    Definition 5.2. The nonlinearity of a function 𝑓 is defined as 𝑛𝑙(𝑓) =   min φ∈A n 𝑑𝑖𝑠𝑡(𝑓, φ), where 𝐴𝑛 is the  class of all affine functions on 𝔽2𝑛.  
Nonlinearity can be expressed through the Walsh transform: 𝑛𝑙(𝑓) = 2𝑛−1 − 1
2 max 𝑢∈𝔽2𝑛 |𝑊𝑓(𝑢)|.   Since max |𝑊𝑓(𝑢)| > 0, it is trivial that  𝑛𝑙(𝑓) < 2𝑛−1. Furthermore, the following and more precise  upper bound for nonlinearity has been proven: 
Theorem 5.1. The nonlinearity of function 𝑓 satisfies:  𝑛𝑙(𝑓) ≤ 2𝑛−1 − 2 𝑛 2−1   It is important to note that this stands true only if n is even. In the case where  𝑛 is odd, the value of  the maximal nonlinearity is unknown. 
Definition 5.3. A Boolean function  𝑓 is perfect nonlinear if and only if  𝑓(𝑥) ⊕ 𝑓(𝑥 ⊕ 𝑢) is balanced  for any 𝑢 ∈ 𝔽2𝑛, such that 1 ≤ 𝑤𝑡(𝑢) ≤ 𝑛 . 
For a perfect nonlinear Boolean function, any change of input causes the change of output with the 
probability of 1 2 . [10]  There  is  a  straight  connection  between  perfect  nonlinearity  and  the  autocorrelation  of  a  Boolean  function:  
Lemma  5.1.  A  Boolean  function 𝑓  is  perfect  nonlinear  if  and  only  if ∆𝑓(𝑢) = 0  for  every 𝑢 ∈ 𝔽2𝑛,  excluding 0𝑛. 
Another substantial cryptographic criterion, closely linked to perfect nonlinearity is the propagation  criterion, which is important in Boolean functions used in block ciphers. It is difficult to find balance  between  propagation  criteria  and  algebraic  immunity,  thus  designing  Boolean  functions  with  high  algebraic degree and high degree of propagation is a subject of many papers. 
Definition 5.4. A Boolean function  𝑓 is said to satisfy the propagation criterion of degree  𝑘 (denoted  𝑃𝐶(𝑘)) if and only if 𝑓(𝑥) ⊕ 𝑓(𝑥 ⊕ 𝑢) is balanced for any 𝑢 ∈ 𝔽 2𝑛, such that 1 ≤ 𝑤𝑡(𝑢) ≤ 𝑘 . 
We can see, that a perfect nonlinear function satisfies the propagation criterion of degree  𝑛. Important  narrowing of propagation criterion is the strict avalanche criteria: 
Definition 5.5 A Boolean function  𝑓 is said to satisfy the strict avalanche criteria (SAC) if and only if  𝑓(𝑥) ⊕ 𝑓(𝑥 ⊕ 𝑢) is balanced for any 𝑢 ∈ 𝔽2𝑛, such that 𝑤𝑡(𝑢) = 1. 


12    Thus SAC is equivalent to  𝑃𝐶(1). The SAC is a useful property of Boolean functions in cryptography  because satisfying the SAC means that a slight change in the input leads to a large change in the output.  5.1  Bent functions 
Bent  functions  are  functions  with  maximal  nonlinearity,  meaning  their  nonlinearity  is  equal  to  
2𝑛 − 2 𝑛 2−1 .  Lemma 5.2. A Boolean function 𝑓 is called bent if and only if the Walsh transform coefficients are all 
±2 𝑛 2  . That indicates that 𝑊𝑓2 is constant.  Here are some main properties on bent Boolean functions:  1.  Bent functions exist only in even size Boolean spaces, 𝑛 = 2𝑘 .   2.  Bent functions are not balanced.  3.  Bent functions are not correlation immune. 
4.  All of the bent functions have a weight of either 2𝑛−1 − 2 𝑛 2−1  or 2𝑛−1 + 2 𝑛 2−1 .  5.  If 𝑓(𝑥) is a bent function and 𝜑(𝑥) is an affine function on 𝔽2𝑛, then the function 𝑓(𝑥) + 𝜑(𝑥)  is also bent.  For example, function 𝑓 on 𝔽2𝑛 such as 𝑓(𝑥) = 𝑥1𝑥2 is a bent function, since 𝑊𝑓(𝑢) = ±2. 
Theorem 5.2. Any  𝑛-variable Boolean function, where  𝑛 is even, is bent if and only if it satisfies the  propagation criterion of degree 𝑛. Thus, bent functions are perfect nonlinear functions. 
Even though bent functions have maximal nonlinearity, they are improper for use in cryptosystems,  because  they  are  unbalanced.  Stream  ciphers  using a  bent  combining  function  are  vulnerable to  a  correlation attacks. On the other hand, it is possible to modify bent functions randomly to achieve  balancedness, so that the function will preserve its high nonlinearity. This method will be faster than  a brute-force search. It is important to undergo careful testing though, since functions produced in this  way may lose other desirable properties like satisfying the SAC. 
 
 


13    Bibliography  1.  Cusick, T.W. Stănică, P. (2009) Cryptographic Boolean Functions and Applications. San Diego.  Elsevier Inc.  2.  Carlet, C. Boolean Functions for Cryptography and Error Correcting Codes. University of Paris.  3.  Canteaut A. Lecture Notes on Cryptographic Boolean Functions. Paris. Inria.  4.  Cheng-Xin Qu. (2002) Boolean functions in cryptography. University of Wollongong.  5.  Pankratova, I. (2014) Булевы функции в криптографии. Tomsk State University.   6.  Tarannikov, Y. Korolev, P. Botev, A. Autocorrelation Coefficients and Correlation Immunity of  Boolean Functions. Moscow State University.  7.  Climent, J. J. Garcia, F. J. Requena, V. The degree of a Boolean function and some algebraic  properties of its support. Universitat d’Alacant. Universidad Miguel Hernandez de Elche.  8.  Çalik, Ç. (2013) Nonlinearity Computation for Sparse Boolean Functions. Ankara. Middle East  Technical University.  9.  Rodier, F. On the nonlinearity of boolean functions. Marseille. Institut de Math´ematiques de  Luminy.  10. Hirose, S. Ikeda, K. (1994) Nonlinearity criteria of Boolean functions. Kyoto University.  11. Deepak, K. D. Subhamoy, M. (2008) Algebraic Immunity of Boolean Functions – Analysis and  Construction. National Institute of Science Education and Research. Indian Statistical Institute.  12.  Mesnager,  S.  (2014)  A  note  on  linear  codes  and  algebraic  immunity  of  Boolean  functions.  Groningen. 

Document Outline

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13

Vasakule Paremale
Boolean Functions and their Cryptographic Criteria #1 Boolean Functions and their Cryptographic Criteria #2 Boolean Functions and their Cryptographic Criteria #3 Boolean Functions and their Cryptographic Criteria #4 Boolean Functions and their Cryptographic Criteria #5 Boolean Functions and their Cryptographic Criteria #6 Boolean Functions and their Cryptographic Criteria #7 Boolean Functions and their Cryptographic Criteria #8 Boolean Functions and their Cryptographic Criteria #9 Boolean Functions and their Cryptographic Criteria #10 Boolean Functions and their Cryptographic Criteria #11 Boolean Functions and their Cryptographic Criteria #12 Boolean Functions and their Cryptographic Criteria #13
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 13 lehte Lehekülgede arv dokumendis
Aeg2020-09-23 Kuupäev, millal dokument üles laeti
Allalaadimisi 1 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor stib Õppematerjali autor
Boolean Functions and their Cryptographic Criteria

Sarnased õppematerjalid

Värvitud Petri võrgud CPN eksami konspekt
12
docx

Värvitud Petri võrgud CPN eksami konspekt

a model satisfies a property– verified properties must be those a system should possess– informal justification always accompanies formal verification)  Two types of simulation (– interactive simulation(user is in complete control; user determines individual simulation steps; execution events are GUI visible)– automatic simulation (user specifies number of execution steps in the GUI; and/or user sets a number of stop criteria and breakpoints; simulator makes random choices without user interaction; only the resulting state is shown via the GUI; a simulation report contains results)) 3. A Single-example protocol/ Net structure  The transport layer(– ensures reliable transmissions between hosts – the sender transfers data packagets to a receiver – unreliable communication network– use of sequence numbers, acknowledgements, retransmissions)

Värvitud Petri võrgud
Thesis Kivimaa August 2022
140
pdf

Thesis Kivimaa August 2022

1 Abstract In IT Security world, there is lack of available, reliable systems for measuring security levels/posture. They lack the range of quantitative measurements and easy and fast deployment, and potentially affects companies of all sizes. Readily available security standards provide qualitative security levels, but not quantitative results – that would be easily comparable. This deficiency makes it hard for companies to evaluate their security posture accurately. Absence of security metrics makes it complicated for customers to select the appropriate measures for particular security level needed. The research question for this research project is – “How is it possible to calculate IT security effectiveness?”. The aim of this research is to use this reference model to calculate and to optimize major university’s and a small CSP-s (Cloud Service Provider) security posture and their spending’s on security measures

Infotehnoloogia
Kvalitatiivne uurimustöö Emotsioonide regulatsioon ja stress
32
doc

Kvalitatiivne uurimustöö Emotsioonide regulatsioon ja stress

3.2 Descriptive statistics for the items of HER and DAR 19 Table 2. Descriptives for HER 19 Table 3. Descriptives for DAR 20 3.3 Emotion regulation (HER and DAR) in relation to cortisol response as measured by AUCg and AUCi calculations 21 Figure 5. Cortisol reactivity as a function of high and low HER 21 3.4 HER as predictor for cortisol response 22 Figure 6. AUCg as function of HER 22 Figure 7. AUCi as function of HER 22 3.5 Plasma Interleukin- 6 (IL-6) 23 4 Discussion 24

Psühholoogia
Inglise keele struktuur
29
docx

Inglise keele struktuur

A phone is represented between brackets Allophone: e.g. pin ­ spin Phoneme: /p/ - /iz/ `houses' /s/ voicless `cats' /z/ `boys' /t/ `learned' /id/ `wanted' A phoneme is the smallest unit of the sound system of a language. If two sounds have the same phoneme, they are treated equally. A phoneme is represented between slashes. Morphology: is the study of word formations and the internal structure of words Morphemes: the smallest units of language that have their own meaning or grammatical function. cat, cat/s, laugh/ed, un/able, sheep Free morphemes: cat, laugh, eat, red Bound morphemes: prefixes: pre- prejudge dis- dislike suffixes: -ist typist infixes ­ attached within another morpheme. Infixation is common in languages of Southeast Asia and the Philippines, and it is also found in some Native American languages.

Inglise keel
Vormistamine ülesanne 2
20
docx

Vormistamine ülesanne 2

pills detection and classification. Basically (in almost all the methods) the starting point consists of digital images of pilled fabrics. These images (representing either pilled fabric specimens to be evaluated or standard reference) are, then, processed in several different ways in order to extract some features describing fabric pilling. Finally, such parameters are used for grading the fabrics or for characterizing their quality. While the starting point and the final results are ultimately shared by all the techniques, what changes is the method adopted for extracting the information used for pilling grading. On the basis of main literature works, in the present work the following categories are identified: 1) 2D imaging methods based on thresholding. 2) 2D imaging methods based on Fourier and/or Wavelet analysis. 3) 3D imaging methods. 4) AI-based methods (using either 2D or 3D images).

Andme-ja tekstitöötlus
English structure revision for the exam
40
docx

English structure revision for the exam

result of the exchange of the phoneme c and f.  Morphology - The study of word formations and the internal structure of words.  Morphemes – the smallest units of language that have their own meaning or grammatical function. Morphemes can be bound or free. Free morphemes are morphemes that can appear alone and carry and meaning. For example: dog, cat, work, also articles.

Inglise keel
Side konspekt 2020- eksami kordamisküsimused
45
docx

Side konspekt 2020 / eksami kordamisküsimused

This means that the variation of the received power due to fading can be suppressed by the transmission power control. 17. Selgita paari lausega HARQ (Hybrid Automatic Repeat Request) tööpõhimõtet. Hybrid Automatic Repeat-Request • uses incremental redundancy • user data is transmitted multiple times using different codings • user device saves packet and combines it later with the retransmission *Even if the retransmitted packets are corrupted, their combination can yield an error-free packet • Scheme combining ARQ and Forward Error Correction • FEC decoding based on all unsuccessful transmissions • Stop-and-Wait (SAW) protocol • Two basic schemes -Chase Combining * same data block is sent at each retransmission - Incremental Redundancy (IR) * Additional Redundant Information sent at each retransmission Töö põhimõte kokkuvõtvalt ARQ:

Side
Hüdro- ja aeromehaanika
12
docx

Hüdro- ja aeromehaanika

x -U t A U sin h = y x -U t 2 cosh + A cos h h 2. What advantages gives equations for vorticity transport and streamfuction in comparison with standard equations for velocity field? In what cases these advantages are often used? Vorticity transport depends on the three Partial differential equations (PDEs) for u, v and p in the "primitive variable" form. Stream function depends on only two Partial differential equations (PDEs) for the scalars and . We win on variables and this is the main advantage. 3. How will change vorticity transport equation if Reynold number will increase? Then Re number increase, it means, that we have turbulent flow. In this conditions Navier-Stokes equation take form of Euler equation. Navier-Stokes equation consist of two parts. One part, that consist volume becomes greater and equation transform into linear

Füüsika




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun