bent sequences and feedback with carry shift registers · 2017. 3. 8. · boolean functions in the...
TRANSCRIPT
![Page 1: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/1.jpg)
Bent Sequences and Feedback with Carry ShiftRegisters
Charles Celerier
April 26, 2012
![Page 2: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/2.jpg)
Cryptography
Alice u- Encryptplaintext ?
encryptionkey
ciphertext-
?Eve
6Decrypt -
plaintextBob
?
decryptionkey
![Page 3: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/3.jpg)
Kerckhoff’s Principle
“In assessing the security of a cryptosystem, one should alwaysassume the enemy knows the method being used.”
![Page 4: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/4.jpg)
F2 or “GF two”
Binary Operations for F2
XOR
0⊕ 0 := 00⊕ 1 := 11⊕ 0 := 11⊕ 1 := 0
![Page 5: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/5.jpg)
Stream Ciphers
Encryption
0101001101000001010100110100110101000011 plaintext⊕ 0001100000001011000111110001110100010010 key
0100101101001010010011000101000001010001 ciphertext
![Page 6: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/6.jpg)
Stream Ciphers
Encryption
0101001101000001010100110100110101000011 plaintext⊕ 0001100000001011000111110001110100010010 key
0100101101001010010011000101000001010001 ciphertext
![Page 7: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/7.jpg)
Stream Ciphers
Encryption
0101001101000001010100110100110101000011 plaintext⊕ 0001100000001011000111110001110100010010 key
0100101101001010010011000101000001010001 ciphertext
![Page 8: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/8.jpg)
Stream Ciphers
Decryption
0100101101001010010011000101000001010001 ciphertext⊕ 0001100000001011000111110001110100010010 key
0101001101000001010100110100110101000011 plaintext
![Page 9: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/9.jpg)
Why use stream ciphers?
I plaintext length is not always known
I fast and easy to implement in hardware
I near one-time-pad security
![Page 10: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/10.jpg)
What is a pseudorandom sequence?
R1. uniform distribution
|p∑
n=1
(−1)an | ≤ 1
R2.1
2iof the runs have length i
R3. low auto-correlation,
C (τ) =
∑pn=1(−1)an+an+τ
p
![Page 11: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/11.jpg)
Example
a = [1, 0, 0, 1, 1, 1, 0]
0 1 1 -
1����
1����
0����
h h h
-
![Page 12: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/12.jpg)
LFSR
Linear Feedback Shift Register
xn−1 xn−2 . . . x1 x0 -
q1����
q2����
. . . qn−1����
qn����
∑ ����
-mod 2
![Page 13: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/13.jpg)
FCSR
Feedback with Carry Shift Register
xn−1 xn−2 . . . x1 x0 -
q1����
q2����
. . . qn−1����
qn����
∑ ����
-�z
-
mod 2div 2
![Page 14: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/14.jpg)
I 2-adic integers
I Boolean functions
I Bent Sequences
![Page 15: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/15.jpg)
2-adic integers
10101010101010101010101010. . .
DefinitionThe infinite integer sequence (xn) determines a 2-adic integer α,or (xn)→ α, if
xi+1 ≡ xi (mod 2i+1) ∀i ≥ 0. (1)
Two sequences (xn) and (x ′n) determine the same 2-adic integer if
xi ≡ x ′i (mod 2i+1) ∀i ≥ 0. (2)
The set of all 2-adic integers will be denoted by Z2.
![Page 16: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/16.jpg)
2-adic integers
10101010101010101010101010. . .
DefinitionThe infinite integer sequence (xn) determines a 2-adic integer α,or (xn)→ α, if
xi+1 ≡ xi (mod 2i+1) ∀i ≥ 0. (1)
Two sequences (xn) and (x ′n) determine the same 2-adic integer if
xi ≡ x ′i (mod 2i+1) ∀i ≥ 0. (2)
The set of all 2-adic integers will be denoted by Z2.
![Page 17: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/17.jpg)
2-adic integers
Let (xn)→ α ∈ Z2. Then the first 5 terms of (xn) may looksomething like:
(xn) = ( 1 ,
1 + 0 · 2 ,1 + 0 · 2 + 1 · 22 ,
1 + 0 · 2 + 1 · 22 + 0 · 23 ,
1 + 0 · 2 + 1 · 22 + 0 · 23 + 1 · 24 , . . . )
= ( 1, 1, 5, 5, 21, . . . )
![Page 18: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/18.jpg)
2-adic integers
α = 11001 · · ·1 = 1000 · · ·2 = 0100 · · ·3 = 1100 · · ·−1 = 1111 · · ·1/3 = 1101010101 · · ·−1/3 = 1010101010 · · ·
![Page 19: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/19.jpg)
2-adic integers
DefinitionLet α = (an) ∈ Z2 \ (0). If m is the smallest number in N ∪ {0}such that am 6≡ 0 (mod 2)m+1, then the 2-adic valuation of α ism, or log2(α) = m. If α = 0, then log2(α) =∞.
Example
Let α = 0001011101111 · · · . Then log2(α) = 3.
![Page 20: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/20.jpg)
FCSR
−4
5= 00110011001100110011 · · ·
1 1 0 0 -
1����
1����
0����
0����
∑ ����
-�0
-
mod 2div 2
![Page 21: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/21.jpg)
F2 or “GF two”
XOR AND
0⊕ 0 := 0 0 · 0 := 00⊕ 1 := 1 0 · 1 := 01⊕ 0 := 1 1 · 0 := 01⊕ 1 := 0 1 · 1 := 1
Table: Binary Operations for F2
![Page 22: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/22.jpg)
Fn2 or “GF two to the n”
Example
Let a, b ∈ F32 such that a = (1, 0, 1) and b = (0, 1, 1) then
a + b = (1⊕ 0, 0⊕ 1, 1⊕ 1) = (1, 1, 0)
a · b = 1 · 0⊕ 0 · 1⊕ 1 · 1 = 1
FactFn
2 is a vector space.
![Page 23: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/23.jpg)
Boolean functions in BFn
DefinitionAny function f defined such that
f : Fn2 → F2
is a Boolean function. The set of all Boolean functions on nvariables will be denoted by BFn.
![Page 24: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/24.jpg)
An example
Example
Let f = x0 + x1.
x0 x1 f (x0, x1)
0 0 01 0 10 1 11 1 0
Table: Truth Table of f
![Page 25: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/25.jpg)
Characters of Fn2
DefinitionA character χ of a finite abelian group G is a grouphomomorphism from G into the multiplicative group of complexnumbers.
Factχλ(x) := (−1)λ·x , where λ, x ∈ Fn
2, is a character of Fn2.
![Page 26: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/26.jpg)
Walsh Transform
Let the dual group F̂n2 be the group of all characters of Fn
2.
(χ · ψ)(x) = χ(x)ψ(x), x ∈ Fn2
Fn2∼= F̂n
2
λ 7→ χλ
![Page 27: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/27.jpg)
Walsh Transform
DefinitionLet f ∈ BFn. Then f̂ : Fn
2 → {1,−1} such that f̂ (x) = (−1)f (x) isa pseudo-Boolean function
Example
Let f = x0 + x1.
x0 x1 f (x0, x1) f̂ (x0, x1)
0 0 0 11 0 1 -10 1 1 -11 1 0 1
Table: Truth Table of f̂
![Page 28: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/28.jpg)
Walsh Transform
DefinitionLet f ∈ BFn and λ ∈ Fn
2. Then the Walsh transform of f isdefined by:
Wf (λ) =∑x∈Fn
2
f̂ (x)χλ(x). (3)
![Page 29: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/29.jpg)
Walsh Transform
LemmaThe characters of Fn
2 belong to B̂Fn = {f̂ : f ∈ BFn} and form anorthonormal basis of B̂Fn ⊗ R.
LemmaFor f̂ ∈ B̂Fn,
f̂ (x) =1
2n/2
∑λ∈Fn
2
c(λ)χλ(x) (4)
where c(λ) are given by
c(λ) =1
2n/2Wf (λ) (5)
Call the c(λ)’s Fourier coefficients.
![Page 30: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/30.jpg)
Rothaus’ Definition and First Theorem
DefinitionIf all of the Fourier coefficients of f̂ are ±1 then f is a bentfunction.
TheoremIf f is a bent function on Fn
2, then n is even. Moreover, the degreeof f is at most n/2, except in the case n = 2.
![Page 31: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/31.jpg)
Properties of Bent Functions
(R1) 1. wt(f ) = 2n−1 ± 2n/2−1
(R2) 2. perfectly non-linear
(R3) 3.∑
x∈Fn2f (x) + f (x + a) = 0 ∀a ∈ Fn
2
![Page 32: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/32.jpg)
Properties of Bent Functions
(R1) 1. wt(f ) = 2n−1 ± 2n/2−1
(R2) 2. perfectly non-linear
(R3) 3.∑
x∈Fn2f (x) + f (x + a) = 0 ∀a ∈ Fn
2
![Page 33: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/33.jpg)
Properties of Bent Functions
(R1) 1. wt(f ) = 2n−1 ± 2n/2−1
(R2) 2. perfectly non-linear
(R3) 3.∑
x∈Fn2f (x) + f (x + a) = 0 ∀a ∈ Fn
2
![Page 34: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/34.jpg)
Properties of Bent Functions
(R1) 1. wt(f ) = 2n−1 ± 2n/2−1
(R2) 2. perfectly non-linear
(R3) 3.∑
x∈Fn2f (x) + f (x + a) = 0 ∀a ∈ Fn
2
![Page 35: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/35.jpg)
Non-Linear Filtering
f
6
xn−1 xn−2 . . . x1 x0
q1����
q2����
. . . qn−1����
qn����
∑ ����
-�z
-
mod 2div 2
![Page 36: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/36.jpg)
Boolean Sequence
DefinitionLet f ∈ BFn and vi ∈ Fn
2 such that vi = B−1(i) for 0 ≤ i < 2n.Then,
seq(f ) = (f (v0), f (v1), · · · , f (v2n−1), f (v0), · · · ) (6)
is a lexicographical Boolean sequence.
DefinitionLet (an) be a sequence. If T is the smallest integer such thatai = ai+T , then the minimal period of (an) is T .
TheoremThe lexicographical Boolean sequence of a Bent function has aperiod exactly 2n.
![Page 37: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/37.jpg)
Boolean Sequence
DefinitionLet f ∈ BFn and vi ∈ Fn
2 such that vi = B−1(i) for 0 ≤ i < 2n.Then,
αf = (f (v0), f (v0) + f (v1) · 2, · · · , f (v0) + · · ·+ f (vi ) · 2i , · · · ) (7)
where αf ∈ Z2 is called the 2-adic expansion of f .
LemmaThe digit representation of αf is seq(f ).
![Page 38: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/38.jpg)
Maiorana-McFarland Class Boolean Functions
A simple bent function construction is accomplished by theBoolean functions in the Maiorana-McFarland class. This is thethe set M which contains all Boolean functions onFn
2 = {(x , y) : x , y ∈ Fn/22 }, of the form:
f (x , y) = x · π(y)⊕ g(y)
where π is any permutation on Fn/22 and g any Boolean function
on Fn/22 .
All functions in the Maiorana-McFarland class of Boolean functionsare bent.
![Page 39: Bent Sequences and Feedback with Carry Shift Registers · 2017. 3. 8. · Boolean functions in the Maiorana-McFarland class. This is the the set Mwhich contains all Boolean functions](https://reader035.vdocuments.us/reader035/viewer/2022071416/61125ff4ae37eb3a69758d87/html5/thumbnails/39.jpg)
Consider the subset of Maiorana-McFarland class Booleanfunctions where g(y) = 0. π̄ will be the function which specifieswhere each index moves to under the permutation π.
Theoremlog2(αx ·π(y)) = 2n/2 + 2π̄(y0)
The 2-adic valuation of the Boolean sequence of the functions inthis subset is entirely dependent on the permutation π.