• No results found

A New Method on Constructing Boolean Functions Satisfying the Strict Avalanche Criterion and Bounds on the Number of SAC Functions

N/A
N/A
Protected

Academic year: 2020

Share "A New Method on Constructing Boolean Functions Satisfying the Strict Avalanche Criterion and Bounds on the Number of SAC Functions"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

2015 3rd AASRI Conference on Computational Intelligence and Bioinformatics (CIB 2015) ISBN: 978-1-60595-308-3

A New Method on Constructing Boolean Functions Satisfying the

Strict Avalanche Criterion and Bounds on the Number of SAC

Functions

Qingping Wang

School of Statistics, Jiangxi University of Finance & Economics, Nanchang, P. R. China

Research Center of Applied Statistics, Jiangxi University of Finance & Economics, Nanchang, P.R. China

ABSTRACT: Properties of Boolean functions satisfying the Strict Avalanche Criterion (SAC) are studied. A new method of constructing SAC functions is proposed, and it is proved that the Hamming weight of SAC functions with n variables belongs to the set W(n)={k|2n-2≤k ≤3×2n−2, k is an even number}. Finally, the up-per and lower bounds of the number of SAC functions are obtained.

1 INTRODUCTION

The Strict Avalanche Criterion (SAC) for crypto-graphic functions was introduced by A.F. Webster and S.E. Tavares in [1]. Results concerning the enumeration of SAC functions have been studied by cryptographers, and yet there is no known closed form for the number of SAC functions[2-10]. R. Forre[2] has exhaustively enumerated the number of

n-bit functions for n≤4. Among the 65536 4-bit functions, 4128 are SAC functions. However, it is very complicated and difficult to enumerate the number of n-bit SAC functions when n is too big. In [3], T.W. Cusick provided a method to con-struct22n−2n-bit balanced Boolean functions which satisfy the SAC, and the lower bound on the number of those functions is obtained. In fact, this lower bound is given as n

n

L

2

2 , where 41

n

L . Besides, T.W. Cusick gave a conjecture to improve this lower bound further, which has not been prove yet(Conjecture 4 in [3]: Give any choice of the val-ues f(vi), 0≤ ≤2 1−1

n

i , there exists a choice of

f(vi), 2 1 ≤ ≤2 1−1

− − n n

i such that the resulting func-tion f(x) satisfies the SAC). If this conjecture holds, then a better lower bound can be given as 21

n

L . In order to improve the lower bound above, a new method to construct Boolean functions which satisfy the SAC is proposed in the present paper.

First of all, it is proved that 2n−2 ≤

2

2 3 )) (

(f x ≤ × n

ω , where ω(f(x)) is the Ham-ming weight of f(x), and ω(f(x)) is an even

num-property, it is pointed out that the number of SAC functions is less than 22n−1. Furthermore, a method is given to construct the n-bit SAC functions satisfy-ing the condition ω(f(x))=k , where

{

k

n W

k( )= 2n−2 ≤k3×2n−2 , k is an even

number}. By means of this method, we can find

       

×

− −

1 2

2 2 2

n n

n-bit SAC functions satisfying

2

2 )) (

(f x = n

ω as well as

     

×

− −

1 2

2 2

2 n

n

n-bit SAC

functions satisfying ω(f(x))=3×2n−2 . Finally, bounds on the number of SAC functions are ob-tained.

2 SAC FUNCTIONS

In this section, the concept of SAC functions is re-viewed, and properties of SAC functions are studied. Definition 2.1[4] Assume that Z2={0,1}, then any

function f :Z2 Z2

n

is called a Boolean function. Definition 2.2[4] Suppose that f(x) is an n-bit

Boolean function,

n

n Z

x x

x=( 1,, )∈ 2

, the number of "1" in vector x is called the Hamming weigh of x,

denoted ω(x). The number of x satisfying f(x)=1 is called the Hamming weight of f(x),

denot-edω(f(x)).

(2)

implies

1

2 )) ( ) (

(f x + f x+c = n

ω

(i.e. f(x) is a bal-anced Boolean function), then f(x) is called a SAC function.

Proposition 2.1 If f(x) is a SAC function, then g(x)=1-f(x) is also a SAC function.

Proof. Suppose that f(x) is an n-bit Boolean

func-tion. ∀cZ2, (c)=1

n ω

, we have g(x)+g(x+c)= )) ( 1 ( )) ( 1 ( )) ( 1 ( )) ( 1

( − f x + − f x+c = + f x + + f x+c

) ( )

(x f x c

f + +

=

.

Since f(x) is a SAC function, then ω(g(x)+g(x

1

2 )) ( ) ( (

))= + + = −

+c ω f x f x c n

. Hence g(x)=1-f(x) is a SAC function.

Proposition 2.2 Suppose that f(x) is an n-bit SAC

function, then 2 2 ( ( )) 3 2 2 − −

× ≤

n

n

x f

ω

.

Proof. Since f(x) is a SAC function, then ∀c = 1

) ( , ) , ,

(c1 cZ2n c =

n ω

, we have ω(f(x)+ f(x

1

2 )) −

=

+c n

. It is easy to prove that ω(f(x))+ω(g ))

( ) ( ( ))

(x ≥ω f x +g x

and ω(f(x))=ω(f(x+c)),

hence it follows from ω(f(x))+ω(f(x+c))≥ω(

1

2 )) ( )

(x + f x+c = n

f that ω(f(x))≥2n−2 . Since f(x) is a SAC function, by Proposition 2.1, we know that g(x)=1-f(x) is a SAC function. Then

2

2 )) ( ( )) ( 1 ( )) ( (

2 −

≥ =

− =

n

n ω f x ω f x ω g x

, hence

2

2 3 )) (

(f x ≤ × n

ω

.

Proposition 2.3 Suppose that f(x) is an n-bit SAC

function, ∀cZ2, (c)=1

n ω

, let V =

{

x f(x)= f(x }

, 1 ) x Z2n

c = ∈

+

. If |V|=a, then a is an even number,

and ω(f(x)+ f(x+c))=2(ω(f(x))−a), where |V| denotes the number of elements in V.

Proof. If α∈V, then f(α)= f(α+c)=1. Let

c +

β

, then f(β)= f(α+c)=1, f(β +c)= 1

) ( ) )

(( + + = =

= f α c c f α

. Hence β =α+cV . i.e. The elements of V are in pairs. i.e. |V|=a is an even number.

If f(x)=f(x+c)=1, then f(x)+f(x+c)=0. Hence

f

( ω

= − + +

− =

+

+ ( )) ( ( ( )) ) ( ( ( )) )

)

(x f x c ω f x a ω f x c a

) )) ( ( (

2 ω f xa

.

Theorem 2.1 Suppose that f(x) is an n-bit (n≥3) SAC function, If f(x) is a SAC function, then 2n−2

2

2 3 )) (

( −

× ≤

n

x f

ω

, and ω(f(x)) is an even number.

Proof. It follows from Proposition 2.2 that 2n−2

2

2 3 )) (

( ≤ × −

≤ω f x n

.

For every cZ2n with ω(c)=1, let V={x|f(x)=f

(x+c)=1,

n Z

x2

}, and suppose |V|=a. Then by Proposition 2.3, we have ω(f(x)+ f(x+c))=2(ω

) )) ( (f xa

.

Since f(x) is a SAC function, then ω(f(x)+

1

2 ) )) ( ( ( 2 ))

(x+c = f xa = n

f ω

. Note that n≥3, then 2(ω(f(x))−a) is multiple of 4. i.e. ω(f (x))-a is multiple of 2.

Moreover, |V|=a is an even number, hence ))

( (f x

ω

is an even number.

Lemma 2.1 The following equations hold:

(i) If n is an even number, then

+ +

     

+

     

n n

2 0

    

 −

+

    

 −

+ +

     

+

     

=

     

+

    

 −

n n n

n n

n n n n

n 2 1 3 3 1

1

2 −

= n .

(ii) If n is an odd number, then

+ +

     

+

     

n n

2 0

     

+

    

 −

+ +

     

+

     

=

    

 −

+

    

 −

n n n

n n

n n

n n

n 3 1 1 3 2

1

2 −

= n .

These two equations in Lemma 2.1 can be gotten from the properties of binomial coefficient. Hence the proof is omitted.

Theorem 2.2 Suppose that f(x) is an n-bit (n≥3)

SAC function, Let W(n)={ ω(f(x))|f(x) is a SAC function}, then W(n)={k |2n−2 ≤k ≤3×2n−2, and k is an even number}.

Proof. Let f(x) be an n-bit (n≥3) SAC function.

It follows from Theorem 2.1 that 2n 2 ≤ω(f(x)) −

2

2 3× −

n , and ω(f(x)) is an even number. In the

following, we will prove that ∀kW(n), there ex-ists an n-bit (n≥3) SAC function f(x) such that

k x f( ))=

( ω

.

Let V {x|x Z2, (x) i}(i 0,1,2, ,n)

n

i = ∈ ω = = ,

then

     

= n

i Vi| |

.

Firstly, suppose that n is an even number and

1 2

(3)

(i) If k =2n−2, we can select 2n−2 vectors from

n

n V

V V

V02∪∪ −2 to construct a set, denoted

as X0(In fact, from Lemma 2.1, we know that

      n 0 + +       + n 2 1 2 2 − =       +       − n n n n n

. Hence there are

1

2n

vectors in V0 ∪V2 ∪∪Vn−2 ∪Vn. Therefore

the selection is possible). Let 

  ∈ = otherwise X x x f , 0 , 1 ) ( 0

then f x X k

n =

=

= −2

0 | 2

| )) ( ( ω .

For every cZ2n with ω(c)=1, if xV0∪V2

n

n V

V

2

, then x+cV1∪V3∪∪Vn−3

1

n V

. Hence { | ( ) ( ) 1, 2}

n Z x c x f x f x

V = = + = ∈

φ

=

. It follows from Proposition 2.3 that ω(f(x)+

1 2 )) ( ( 2 )) ( − = =

+c f x n

x

f ω

. Hence f(x) is a SAC

function with ω(f(x))=k.

(ii)If k =2n−2+2 , we can select 2n−2 −n+1

vectors from V3∪V5∪∪Vn−3∪Vn−1 to construct

a set, denoted as X1(In fact, from Lemma 2.1, we

know that

      n 1 + +       + n 3 =       − +       − n n n

n 3 1

1

2n

. Hence there are 2n−1−n vectors in V3∪V5

1 3 − − n n V V ∪ ∪ ∪

. Therefore the selection is

possi-ble). Let 

  ∈ = otherwise X V V x x f , 0 , 1 )

( 0 ∪ 1∪ 1

then = + − + + =

=| | 1 (21)

)) (

(f x V0V1X1 n n 2 n

ω

k

n+ =

2

2 2 .

For every

n Z

c2

with ω(c)=1, if xV3∪V5

1 3 − − n n V V ∪ ∪ ∪

, then x+cV2 ∪V4 ∪∪Vn−2

n V

; If xV0, then x+cV1. Hence V ={x

} , 1 ) ( ) (

| f x = f x+c = xZ2n

has 2 elements. i.e. |V|=2. It follows from Proposition 2.3 that

+

) ( (f x

ω 1 2 |) | ) ( ( 2 ))

(x+c = f xV = n

f ω

. Hence f(x) is a SAC function with ω(f(x))=k.

(iii)If 2 2 (1 2 )

3 2 − − ≤ < +

= n j j n

k , It follows from

Lemma 2.1 that

      +       − + +       +       n n n n n n 2 2 0 1 2 −

= n . Hence there exists an even number l such

+       + +       +       ≤ <       + +       +       n l n n j n l n n 2 0 2 0       + n l 2

.we can select

) 2 0 (       +       +       − n l n n j

vec-tors from Vl+2 and

      + +       +       − + − n l n n j

n 1 3 1

(

2 2 3)

     + + n l vectors

from Vl+5 ∪Vl+7∪∪Vn−3∪ Vn−1 to construct a

set, denoted as Xj(In fact, from Lemma 2.1, we

know that

      − + +       +       n n n n 3 3 1 1 2 1 − =       − + n n n

. Hence there are

      +       − − n n

n 1 3

( 2 1 ) 3 1       + +       + + + n l n l

vectors in Vl+5 ∪Vl+7

1 3 − − n n V V ∪ ∪ ∪

. Therefore the selection is

possi-ble). Let

   ∈ = + + otherwise V X V V V V x x

f l l j l

, 0

, 1 )

( 0∪ 1∪∪ ∪ 1∪ ∪ 3

then ω(f(x))=|V0∪V1∪∪VlVl+1∪Xj

− +       + +       + +       +       +       = + j n l n l n n n

Vl 3| 0 1 2 1 (

+       +       − + +       + +       +       − n n j n l n n

n 1 3

( 2

) 2

0

( 2

k j n l n l n l n = + =       + +       + +       +

+ 1 3 )) 3 2 −2 2

.

For every cZ2n with ω(c)=1, if xVl+5

1 3

7 − −

+ n n

l V V

V ∪∪ ∪

, then x+cVl+4∪Vl+6

n

n V

V

∪ −2 ; If xV0∪V2∪∪VlVl+2 ,

then x+cV1∪V3∪∪Vl+1∪Vl+3. Hence V ={

} , 1 ) ( ) (

| f x f x c x Z2n

x = + = ∈

has 2j elements. i.e. |V|=2j. It follows from Proposition 2.3 that

+

) ( (f x

ω ( )) 2 ( ( ) | |) 2 −1

= − =

+c f x V n

x

f ω

. Hence

f(x) is a SAC function with ω(f(x))=k.

Secondly, if n is an odd number, and 2n−2 ≤k

1

2 −

n , the proof is similar.

Lastly, if 2n−1 ≤k ≤3×2n−2, then 2n−2 ≤2nk

1

2 −

n . Hence, there exists a SAC function g(x) such

that g x k

n =2 )) ( ( ω

(4)

The proof of Theorem 2.2 provides a method to

construct SAC functions satisfying ω(f(x))=k. In the following, we give a formula to compute the number of n-bit (n≥3) SAC functions.

Theorem 2.3 Assume that the number of all n-bit

(n≥3) SAC function is denoted by η(n), and the

number of n-bit SAC functions satisfying ω(f(x))

1

2k =

is denoted by ξ(2k1,n) , then

− − ×

=

3 3 32

2

1, )

2 ( )

(

n n k

n k

n ξ

η

.

Proof. Let k=2k1. From Theorem 2.2, we know

that

3 1

3

1,2 3 2

− −

× ≤ ≤

k n k n

, there exists an n-bit

(n≥3) SAC function f(x) such that ω(f(x))=2k1.

Since the number of all n-bit SAC functions

satisfy-ing ω(f(x))=2k1 is denoted by ξ(2k1,n), hence

the number of all n-bit SAC functions η(n) can be

expressed by the formula

− −

× ≤ ≤

=

3 3

2 3 2

1, )

2 ( )

(

n n

k

n k

n ξ

η

.

3 BOUNDS ON THE NUMBER OF SAC FUNCTIONS

There are η(n)n-bit (n≥3) SAC functions in all

n

2

2 Boolean functions. Define n

n n

L 2

) ( log2η

=

. In the following, we turn to discuss the bounds of Ln.

Theorem 3.1 The number η(n) of all n-bit

(n≥3) SAC functions is less than 22n−1.

Proof. It follows from Theorem 2.1 that 2n−2

2

2 3 )) (

( ≤ × −

ω f x n

, and ω(f(x)) is an even

number. Hence

+ +

    

 

 +

+

       

− −

n n

n n n

2 2 2 2

2 ) (

2 2

η

       

+ +

     

+

     

<

    

 

 ×

+

    

 

 × − − −

n n

n n n

n

n n

2 2 2

2 2

0

2 2 3 2

2 2

3 2 2

= 22n−1.

Corollary 3.1 1 2 ( 3)

1

< n

Ln n

.

Proof. It follows from Theorem 3.1 that η(n)≤

1 2

2 n

. Thus n n

n

n L

2 1 2

2 log

1

1 2

2 =

<

.

Theorem 3.2 We can explicitly construct 2 ×

       

− −

1 2

2 2

n n

n-bit ( n≥3 ) SAC functions satisfying

2

2 )) (

(f x = n

ω

. i.e.

       

× ≥

− − −

1 2 2

2 2 2 ) , 2 (

n n n

n

ξ

.

Proof. Suppose that n is an even number. Since

f(x) is a SAC function and ( ( )) 2 2 −

= n

x f

ω

, we can

select 2n−2 vectors from V0∪V2∪∪Vn−2∪Vn

or V1∪V3∪∪Vn−3∪Vn−1 to construct a set,

de-noted as X0. The different selections are

       

×

− −

1 2

2 2 2

n n

.

Let 

 ∈

=

otherwise X x x

f

, 0

, 1 )

( 0

, then f(x) is a SAC

function and

2

2 )) (

(f x = n

ω

.

Hence

       

× ≥

− − −

1 2 2

2 2 2 ) , 2 (

n n n

n

ξ

.

Corollary 3.2 We can explicitly construct 2 ×

       

− −

1 2

2 2

n n

n-bit ( n≥3 ) SAC functions satisfying

2

2 3 )) (

(f x = × n

ω

. i.e.

       

× ≥ ×

− − −

1 2 2

2 2 2 ) , 2 3 (

n n n

n

ξ

. Proof. Suppose that f(x) is a SAC function and

2

2 3 )) (

(f x = × n

ω

. Let f(x)=1-g(x), then g(x) is a

SAC function and

2

2 )) (

( −

= n

x g

ω

. By Theorem 3.2,

we can construct

       

×

− −

1 2

2 2

2 n

n

n-bit SAC functions

g(x). Hence

       

× ≥ ×

− − −

1 2 2

2 2 2 ) , 2 3 (

n n

n n

ξ

.

Theorem 3.3 If n≥3 , then

) (

2 1 2

2 2 4

log 1

2

2

∞ → →

     

×

>

− −

n

L n

n n

n

.

Proof. It follows from Theorem 3.2 and Corollary

3.2 that

       

× ≥

− −

1 2

2 2 4 )

( n

n n

η

.

By means of the Stirling's formula

n e n n n!~ 2π ( )

) (n→∞

, it can be inferred that

=

       

− −

1 2

2 2

(5)

2 2 2 2

2 2 1

2 2

1

) ) ( 2 2 (

) ( 2 2 ~ )! 2 ( )! 2 (

)! 2 (

2 2

1 1

− −

− −

− −

− −

n n

n n

e n

e n

n n

n

π π

). (

2 2

1 1

2

1

= +−

n

n n

π

Hence n n

n n

n n

2 2 log ~ 2

2 2 4 log

2 1 3

2 1 2 1

2

2 − + −

− 

      

×

π

) (

2 1 2

log 3

2 12 2

2 1

∞ → →

− − + =

n n

n

n π

.

Therefore

) (

2 1 2

2 2 4

log 1

2

2

∞ → →

     

×

>

− −

n

L n

n n

n

.

4 CONCLUSION

In this paper, the properties of SAC functions are

studied. For every k1 with

3 1

3

2 3 2n− ≤k ≤ × n

, we provide a new method to construct SAC functions

satisfying ω(f(x))=2k1. Then a formula to

com-pute the number of all n-bit (n≥3) SAC functions

is given as

− −

× ≤ ≤

=

3 3

2 3 2

1, )

2 ( )

(

n n

k

n k

n ξ

η

. Based on this formula, bounds of Ln are obtained. However, as n increases, it is very complicated and difficult to

enumerate ξ(2k1,n) , the number of n-bit SAC

functions satisfying ω(f(x))=2k1, which remains

an open problem to be solved.

5 ACKNOWLEDGEMENTS

I would like to express my gratitude to all those who helped me during the writing of this thesis. This work is supported by the National Natural Science Foundation of China (Grant Nos. 11171200, 61562030), Youth Natural Science Foundation of Jiangxi Province (Grant Nos. 20144BAB2020002).

REFERENCES

[1] Webster, A.F. & Tavares, S.E. 1986. On the design of S-boxes, Advances in Cryptology. CRYPTO'85, Lecture Notes in Computer Science 218: 523-534.

[2] Forre, R. 1990. The strict avalanche criterion: Spectural properties of Boolean functions and an extended definition. Advances in Cryptology, CRYPTO'88, Lecture Notes in Computer Science 403: 450-468.

[3] Cusick, T.W. 1996. Bounds on the number of functions sat-isfying the Strict Avalanche Criterion. Information Pro-cessing Letters 57: 261-263.

[4] Qiaoyan, W. &, Xinyi, N. 2000. Boolean function in mod-ern cryptology. Beijing: Science Press.

[5] Cusick, T.W. 1994. Boolean functions satisfying a higher order strict avalance criterion. Advances in Cryptolo-gy,Eurocrypt'93, Lecture Notes in Computer Science 765: 102-117.

[6] Lloyd, S. 1990. Counting functions satisfying a higher order strict avalance criterion. Advances in Cryptology, Eu-rocrypt'89, Lecture Notes in Computer Science 434: 63-74. [7] Lloyd, S. 1992. Characterising and counting functions

satis-fying the strict avalance criterion of order (n-3). Cryptog-raphy and Coding II: 165-172.

[8] Lloyd, S. 1992. Counting binary functions with certain cryptographic properties. J. Cryptology 5 : 107-131. [9] O'Connor, L.1994. An upper bound on the number of

func-tions satisfying the Strict Avalance Criterion. Information Processing Letters 52: 325-327.

References

Related documents

In this paper, we show that Chikazawa-Inoue ID-based key system is insecure by collu- sion, where Chikazawa-Inoue ID-based key system means the key parameters established during

Infectious Mononucleosis and Reye's Syndrome: A Fatal Case with Studies

Discussing the possibilities of palliative care and the patient's treatment preferences is necessary to prevent that end-of-life care needs of COPD patients dying while listed for

Chapter 6 presents the results and analysis of all the experimentation done in this thesis, including the geometric analysis for the synaptic weight boundaries of the neuron blocks,

Thus, in this research based on Trusted Computing, Federated Identity Management, Single Sign On, and Cloud Computing has been tried to propose a trusted base model base on

The localized up and down links optical soliton pulse are generated whereas the required signals included specific wavelengths or frequencies can form the secure

The electron temperature and density in different ambient background (Air, Helium and Argon) and in different pressures are crucial parameters and are determined from

Actin is encoded by 10 genes in A. thulium: A primary goal of this study was a thorough analysis of actin gene family structure in Arabidopsis. Hybridization of actin coding