bent sequences and feedback with carry shift registers · 2017. 3. 8. · boolean functions in the...

39
Bent Sequences and Feedback with Carry Shift Registers Charles Celerier April 26, 2012

Upload: others

Post on 10-Mar-2021

2 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 π.