1.
Introduction
Let Fn2 be the vector space of dimension n over the two-element field F2={0,1}. A Boolean function fn(x0,⋯,xn−1) in n variables is a map from Fn2 to F2. Boolean functions have wide applications to different scientific areas, like information theory, electrical engineering, game theory, cryptography and coding theory. In 1999, Piepryzyk and Qu [8] introduced a kind of special Boolean functions such that their evaluations on every cyclic inputs are the same, which is called rotation symmetric Boolean functions (abbr. RSBFs). Further, Piepryzyk and Qu [8] showed that RSBFs are useful in the design of fast hashing algorithms with strong cryptographic properties. Since then, RSBFs have attracted much attention for their wide applications in cryptography and coding theory ([2,5,9]).
For brevity, let the vectors (x0,x1,...,xn−1) and (c0,c1,...,cn−1) in Fn2 be denoted by xn and cn respectively. The Hamming weight of a function fn(xn) is the number of xn∈Fn2 satisfying fn(xn)=1 and denoted by wt(fn). For any two n variables Boolean functions fn(xn) and gn(xn), the Hamming distance between fn(xn) and gn(xn) is defined as wt(fn+gn), and denoted by d(fn,gn). We define the linear function Lcn by Lcn(xn):=cn⋅xn, where ⋅ is the vector dot product. The nonlinearity of fn is defined as Nfn:=min{d(fn,Lcn)∣cn∈Fn2}. Since hashing algorithm employing RSBFs with degree 2 as components cannot resist the linear and differential attacks [7], we need to use higher-degree RSBFs with high nonlinearity to protect from differential attack. As early as 1998, Filiol and Fontaine [4] studied the nonlinearity of RSBFs up to 9 variables. In this paper, we study the relation between Hamming weights and nonlinearity of RSBFs with small degree.
By ⟨i⟩ we denote the least nonnegative residue of imodn. Let e and l be integers such that 1≤e<n and 2≤l≤n. Then the l-th rotation symmetric Boolean function Fnl,e in n variables generated by the monomial x0xex⟨2e⟩...x⟨(l−1)e⟩ is defined as
In 2009, Kim, Park and Hahn [6] explored the nonlinearity of Fn2,e, and proved that if ngcd(n,e) is even, then NFn2,e=wt(Fn2,e), otherwise, NFn2,e≠wt(Fn2,e). In 2010, Ciungu [3] showed that the linearity of Fn3,1 is the same as its weight for the case l=3 and 3|n. Zhang, Guo, Feng and Li [11] totally proved the equality of the linearity of Fn3,1 and its weight. Later on, Yang, Wu and Hong [10] investigated the case l=4 and proved that wt(Fn4,e)=NFn4,e. Furthermore, Yang, Wu and Hong [10] proposed the following conjecture.
Conjecture 1.1. [10] Let e≥1 and l≥5 be any given integer. Then the nonlinearity of Fnl,e is equal to its weight.
Recently, Castro, Medina and Stănică [2] showed that the Walsh transforms of symmetric and rotation symmetric Boolean functions satisfy the linear recurrence with integer coefficients, and suggested the following conjecture:
Conjecture 1.2. [2] Let l>1 be a fixed integer. The sequence of {NFil}i≥l satisfies the linear recurrence whose characteristic polynomial is given by
In this paper, we dedicate to prove that Conjecture 1.1 is true for some small degree cases, which also confirms Conjecture 1.2 for l=5,6 and 7. Particularly, we prove the following result.
Theorem 1.3. Let l∈{5,6,7} and e and n be integers such that 1≤e<n and n≥2l−1. Then NFnl,e=wt(Fnl,e).
This paper is organized as follows. In Section 2, we study Fourier transform of Boolean functions and obtain some recursive formulas. In Section 3, we give the proof of Theorem 1.3. The final section is devoted to some remarks.
2.
Fourier transform of Boolean functions
We define the Fourier transform of the Boolean function fn(xn) at cn∈Fn2 to be
Obviously, we have ^fn(cn)=2n−2wt(fn+Lcn). In particular, one has ^fn(0)=2n−2wt(fn).
First of all, we introduce some notations. We let Fnl:=Fnl,1. Let i′,j′ and k′ be nonnegative integers such that 1≤k′≤j′−i′+1. Let m and t be nonnegative integers such that t≤m. Let X(i′,j′,0):=0, Y(m,0):=0,
Let n be an integer with n≥l. Then we let
For any integers i,j with 0≤i,j≤l−1, we let
Now we let n>l. It is easy to check that if xn−1=0, then tn=tn−1 and X(n−(l−1),n−1,i)=0 for any 0≤i≤l−1. This implies that if xn−1=0, then
with 0≤i≤l−1. If xn−1=1, then we derive that
Lemma 2.1. Let l and n be integers such that n>l≥5. Let i and j be integers such that 0≤i,j≤l−1. If 0≤i≤l−2, then
If i=l−1, then
Proof. We only prove the relation ^fnl−1,0(cn)=^fn−10,0(cn−1)−(−1)cn−1^fn−1l−1,0(cn−1). The remaining relations can be handled similarly. It follows from (2.1) and (2.2) that
as desired. Thus Lemma 2.1 is proved.
Let (cn−l+1,cn−l+2,…,cn−1)∈Fl−12. If n≥2l−1, then Fnl can be written as
Now we let (xn−l+1,⋯,xn−1) take all values in Fl−12. If l=5, then
If l≥6, then ^Fnl(cn) can be decomposed as follows:
Now we let cn=(0,⋯,0). Clearly, we have fni,j(x0,...,xn−1)=fnj,i(xn−1,...,x0). Hence ^fni,j(0)=^fnj,i(0). Thus we conclude that if l=5, then
And if l≥6, then
Let [x] denote the largest integer that is less than or equal to the real number x. In what follows, we give some recursive relations about ^fni,j(cn) for any integer i and j with 0≤i,j≤l−1.
Lemma 2.2. Let n,l,i,j and k be integers such that l≥5, n≥2l, 0≤i,j≤l−1 and 1≤k≤n. Let cn=(c0,...,cn−1)∈Fn2 such that cn−1=0. Let ck be the vector consisting of the first k bits of cn. If i=l−1, then
If i=l−2, then
If 0≤i≤l−3, then
Proof. Note that cn−1=0. We divide the proof into the following three cases.
Case 1. i=l−1. For any integer j with 0≤j≤l−1, by Lemma 2.1 we conclude that
If l is even, then by Lemma 2.1 one derives that
If l is odd, it then follows from Lemma 2.1 that
This finishes the proof of Lemma 2.2 in this case.
Case 2. i=l−2. Then by Lemma 2.1, we have
If l is even, then one derives that
If l is odd, then
Thus Lemma 2.2 is proved in this case.
Case 3. 0≤i≤l−3. Then by Lemma 2.1, we have
Note that 0≤i≤l−3. From Lemma 2.1 we derive that
If i=0, then it is easy to see that Tn−(l−1)=2^fn−l0,j(cn−l). It follows from (2.5) that
If i=1, then by (2.6) and Lemma 2.1, we have
Thus from (2.5), we obtain that
If 2≤i≤l−3, then by (2.6) and Lemma 2.1, we have
Hence we obtain that if i is odd, then
By (2.5), one deduces that
If i is even, then
From (2.5) we derive that
Hence Lemma 2.2 holds in this case.
This completes the proof of Lemma 2.2.
Lemma 2.3. Let n,l,i,j and k be integers such that l≥5, n≥2l, 0≤i,j≤l−1 and 1≤k≤n. Let cn=(c0,...,cn−1)∈Fn2 such that cn−1=1. Let ck denote the first k bits of cn. Then
Proof. We divide the proof into the following three cases.
Case 1. 0≤i≤l−3. Then by Lemma 2.1 we have
Thus Lemma 2.3 is true in this case.
Case 2. i=l−2. From Lemma 2.1 one deduces that
Hence Lemma 2.3 holds for this case.
Case 3. i=l−1. It follows from Lemma 2.1 that
If l is even, then one derives that
as desired.
If l is odd, then
as required. Hence Lemma 2.3 is proved in this case.
This finishes the proof of Lemma 2.3.
Lemma 2.4. Let l,n,j be integers such that l≥5, n≥2l and 0≤j≤l−1. Then for integer i with 0≤i≤l−1, we have
Proof. It follows from Lemma 2.2 that for any integer j with 0≤j≤l−1, we have
Thus (2.7) is true when i=0 and 0≤j≤l−1. Note that ^fni,j(0)=^fnj,i(0). Then for 0≤i≤l−1, one has
Then by the definition of ^fni,j(0) and the assumption n≥2l−1, we can conclude that (2.7) holds for any integer 0≤i,j≤l−1. Hence Lemma 2.4 is proved.
In the following, we show that the weight of Fnl satisfies a linear recurrence, which is also proved by Castro, Chapman, Medina and Sepˊulveda [1].
Proposition 2.5. Let l and n be integers such that l≥5 and n≥2l. Then
Proof. We only prove the case l≥6 since the case l=5 can be done similarly. Let l≥6. It then follows from (2.4) and Lemma 2.4 that
Then by (2.4), we deduce that
The proof of Proposition 2.5 is complete.
Lemma 2.6 (Proposition 3.1, [10]). Let fn(xn) be a Boolean function with n variables. If ^fn(0)=max{|^fn(cn)|:cn∈Fn2}, then Nfn=wt(fn).
3.
Proof of Theorem 1.3
In this section, we show Theorem 1.3. For this purpose, we need the following lemma.
Lemma 3.1. Let n and l be nonnegative integers such that 5≤l≤7. Let cn=(c0,…,cn−1)∈Fn2. If cn such that c1=1, then for all 0≤i,j≤l−1, we have
Proof. We prove Lemma 3.1 by induction on n. When l≤n≤2l−1 and c1≠0, using Maple 17 we can check that (3.1) holds for all 0≤i,j≤l−1. For example, the case l=n=5 is given in Table 1, we can check that ^fnij(c5)≤124^F2l−1l(0)=42024. In what follows, we let n≥2l. Assume that Lemma 3.1 holds for any positive integer k less than n−1. Now we prove that Lemma 3.1 is true for the case k=n. Since c1=1, we divide the proof into the following two cases.
Case 1. cn−1=0. From Lemma 2.2 and Theorem 2.5, then
Hence Lemma 3.1 is true in this case.
Case 2. cn−1=1. Then by Lemma 2.3 and Theorem 2.5 we have
Thus Lemma 3.1 holds for this case.
This finishes the proof of Lemma 3.1.
Now we present the proof of Theorem 1.3.
Proof of Theorem 1.3. From Lemma 2.6 we conclude that to prove the validity of Theorem 1.3 for e=1, it suffices to prove that
From the definition of Fnl, we conclude that for any integer 0≤j≤n−1,
Without loss of generality, we suppose that c1≠0. From Lemma 3.1, it follows that
It follows from (2.3) that ^Fnl(cn) is the sum of ^fn−(l−1)i,j(cn−(l−1)). Hence ^Fnl(cn)<^Fnl(0). Namely, Theorem 1.3 is true for the case e=1.
Now let e>1. Let s=gcd(n,e) and t=n/s. Then
For 0≤k≤s−1,0≤j≤t−1, substituting x⟨k+je⟩ by y(k)j, one gets that
Let ctk=(ck,c⟨e+k⟩,...,c⟨(t−1)e+k⟩) and xtk=(xk,x⟨e+k⟩,...,x⟨(t−1)e+k⟩). For any ctk≠0, we have showed that ^gtk(ctk)<^gtk(0). Then for all cn=(c0,...,cn−1)≠0, it follows from the definition of Fourier transform and (3.2) that
Thus Theorem 1.3 is true for the case e>1.
This concludes the proof of Theorem 1.3.
4.
Final remarks
In Section 2, we present some recursive formulas for the Fourier transform of fni,j(xn) and Fnl(xn) for all positive integers i,j,l and n such that l≥5, 0≤i,j≤l−1 and n≥2l. So to prove the truth of Conjectures 1.1 and 1.2, it is enough to show that for any integer n such that l≤n≤2l−1, the inequality
is true when c1=1. When l is an integer greater than 7 but not too large, by some direct calculations one can derive that (4.1) holds. But for the general case when l>7, one meets some obstructions when one tries to prove (4.1). Hence we propose the following conjecture.
Conjecture 4.1. Let i,j,l,n be integers such that l>7, l≤n≤2l−1 and 0≤i,j≤l−1 and let cl=(c0,⋯,cl−1)∈Fl2 with c1=1. Then
Let q=pr with p being a prime and r>1. One can form the exponential sum of a function F:Fnq→Fq as follows:
where TrFq/Fp represents the field trace function from Fq to Fp. Castro, Chapman, Medina and Sepˊulveda [1] showed that the sequence of {SFq(Fnl)}n≥l satisfies the linear recurrence whose characteristic polynomial is given by
On the other hand, by Lemma 2.4, we know that for any integer i and j with 0≤i,j≤l−1, the sequence {SF2(fni,j)}n≥l satisfies the linear recurrence whose characteristic polynomial is given by
We believe that the same holds for the general finite field. That is, we suggest the following conjecture as the conclusion of this paper.
Conjecture 4.2. Let i,j and l be integers with l≥3 and 0≤i,j≤l−1. The sequence {SFq(fni,j)}n≥l satisfies the linear recurrence whose characteristic polynomial is given by
Acknowledgments
The authors would like to thank the anonymous referees for careful reading of the manuscript and helpful comments and corrections that improved the presentation of this paper. Hong was supported partially by the Fundamental Research Funds for the Central Universities.
Conflict of interest
We declare that we have no conflict of interest.