Attacks on Stream Ciphers: A Perspective Palash Sarkar Applied - - PowerPoint PPT Presentation

attacks on stream ciphers a perspective
SMART_READER_LITE
LIVE PREVIEW

Attacks on Stream Ciphers: A Perspective Palash Sarkar Applied - - PowerPoint PPT Presentation

Attacks on Stream Ciphers: A Perspective Palash Sarkar Applied Statistics Unit Indian Statistical Institute, Kolkata India palash@isical.ac.in First Asian Workshop on Symmetric Key Cryptography ASK 2011, 30th August 2011 isilogo Palash


slide-1
SLIDE 1

isilogo

Attacks on Stream Ciphers: A Perspective

Palash Sarkar

Applied Statistics Unit Indian Statistical Institute, Kolkata India palash@isical.ac.in

First Asian Workshop on Symmetric Key Cryptography – ASK 2011, 30th August 2011

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 1 / 55

slide-2
SLIDE 2

isilogo

Overview of the Talk

Background. Correlation Attacks. Algebraic Attacks. Differential Attacks. Time/Memory Trade-Off Attacks.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 2 / 55

slide-3
SLIDE 3

isilogo

Background.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 3 / 55

slide-4
SLIDE 4

isilogo

Model of Symmetric Key Encryption

Receiver Sender message M Decrypt Encrypt ciphertext public channel secret key K secret key K adversary

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 4 / 55

slide-5
SLIDE 5

isilogo

One-Time Pad

message true random sequence ciphertext

1 1 1 1 1 1 1 1 1 1

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 5 / 55

slide-6
SLIDE 6

isilogo

Model of Additive Stream Cipher

secret key K Initialise state 1 update state 2 update

  • utput
  • utput

message blk message blk ciphertext blk ciphertext blk initialisation vector keystream blk keystream blk

Key: k bits; IV: (usually) ≤ k bits; state: (usually) ≥ 2k bits; initialise, update, output: functions (deterministic algorithms); keystream blk, msg blk, cpr blk: ≥ 1 bit.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 6 / 55

slide-7
SLIDE 7

isilogo

Self-Synchronizing Stream Cipher

message m0 m1 m2 · · · mi · · · keystream k0 k1 k2 · · · ki · · · ciphertext c0 c1 c2 · · · ci · · · ci = mi ⊕ ki.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 7 / 55

slide-8
SLIDE 8

isilogo

Self-Synchronizing Stream Cipher

message m0 m1 m2 · · · mi · · · keystream k0 k1 k2 · · · ki · · · ciphertext c0 c1 c2 · · · ci · · · ci = mi ⊕ ki. ki is completely determined by the secret key K and ci−n, . . . , ci−1. Correctly receiving n ciphertext bits allow correct generation of the next keystream bit. Robust against channel errors: bit flip/drop/insert.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 7 / 55

slide-9
SLIDE 9

isilogo

Self-Synchronizing Stream Cipher

message m0 m1 m2 · · · mi · · · keystream k0 k1 k2 · · · ki · · · ciphertext c0 c1 c2 · · · ci · · · ci = mi ⊕ ki. ki is completely determined by the secret key K and ci−n, . . . , ci−1. Correctly receiving n ciphertext bits allow correct generation of the next keystream bit. Robust against channel errors: bit flip/drop/insert. More generally, mi is completely determined by the secret key K and the last n ciphertext bits.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 7 / 55

slide-10
SLIDE 10

isilogo

Attack Models: Adversarial Access

Ciphertext only attack: the attacker has access to only ciphertext(s);

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 8 / 55

slide-11
SLIDE 11

isilogo

Attack Models: Adversarial Access

Ciphertext only attack: the attacker has access to only ciphertext(s); Known plaintext attack: the attacker knows (P1, C1), . . . , (Pt, Ct);

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 8 / 55

slide-12
SLIDE 12

isilogo

Attack Models: Adversarial Access

Ciphertext only attack: the attacker has access to only ciphertext(s); Known plaintext attack: the attacker knows (P1, C1), . . . , (Pt, Ct); Chosen plaintext attack: the attacker chooses P1, . . . , Pt; receives C1, . . . , Ct;

For additive stream ciphers, this is the same as known plaintext attack.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 8 / 55

slide-13
SLIDE 13

isilogo

Attack Models: Adversarial Access (contd.)

Known/Chosen IV attack: (resynchronization attack) the attacker knows/chooses IV1, . . . , IVt; receives the corresponding keystreams.

Obtaining keystreams correspond to known plaintexts. IVs are always known.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 9 / 55

slide-14
SLIDE 14

isilogo

Attack Models: Adversarial Access (contd.)

Known/Chosen IV attack: (resynchronization attack) the attacker knows/chooses IV1, . . . , IVt; receives the corresponding keystreams.

Obtaining keystreams correspond to known plaintexts. IVs are always known.

Chosen ciphertext attack. the attacker chooses C1, . . . , Ct; receives P1, . . . , Pt;

Not very meaningful for usual additive stream ciphers. Serious threat for self-synchronising stream ciphers. Serious threat for stream ciphers which combine encryption and authentication in a single composite primitive.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 9 / 55

slide-15
SLIDE 15

isilogo

Attack Models: Adversarial Goals

Key recovery: the ultimate goal of the adversary.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 10 / 55

slide-16
SLIDE 16

isilogo

Attack Models: Adversarial Goals

Key recovery: the ultimate goal of the adversary. State recovery:

This allows forward generation of the keystream. If the state update function is invertible, then this allows to move backwards. If the initialisation function is invertible, then this allows key recovery.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 10 / 55

slide-17
SLIDE 17

isilogo

Attack Models: Adversarial Goals

Key recovery: the ultimate goal of the adversary. State recovery:

This allows forward generation of the keystream. If the state update function is invertible, then this allows to move backwards. If the initialisation function is invertible, then this allows key recovery.

Distinguishing attack:

Define a test statistic on a bit string such that the values it takes for uniform random strings and for the real keystream are ‘significantly’ different. Sometimes distinguishing attacks can be converted to key recovery attacks. In case of chosen IV attacks, the goal is to distinguish between the set of keystreams and a set of uniform random strings of the same lengths.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 10 / 55

slide-18
SLIDE 18

isilogo

Encrypting Short Fixed Length Strings

key K key K msg blk cpr blk cpr blk msg blk

Encrypt Decrypt

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 11 / 55

slide-19
SLIDE 19

isilogo

Encrypting Short Fixed Length Strings

key K key K msg blk cpr blk cpr blk msg blk

Encrypt Decrypt

Block Cipher.

E : {0, 1}k × {0, 1}n → {0, 1}n. D : {0, 1}k × {0, 1}n → {0, 1}n. For each K ∈ {0, 1}k, DK(EK(M)) = M.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 11 / 55

slide-20
SLIDE 20

isilogo

Modes of Operations

message: M1, M2, M3, . . . (n-bit blocks); initialization vector: n-bit IV (used as nonce). Cipher block chaining (CBC) mode: C1 = EK(M1 ⊕ IV); Ci = EK(Mi ⊕ Ci−1), i ≥ 2.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 12 / 55

slide-21
SLIDE 21

isilogo

CBC Mode

C1 C2 Cm−1 Cm

EK EK EK EK

1 2 m−1 m

P P P P

IV

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 13 / 55

slide-22
SLIDE 22

isilogo

Modes of Operations (contd.)

message: M1, M2, M3, . . . (n-bit blocks); initialization vector: n-bit IV (used as nonce). Output feedback (OFB) mode: Z1 = EK(IV); Zi = EK(Zi−1), i ≥ 2; Ci = Mi ⊕ Zi, i ≥ 1. This is essentially an additive stream cipher.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 14 / 55

slide-23
SLIDE 23

isilogo

Modes of Operations (contd.)

message: M1, M2, M3, . . . (n-bit blocks); initialization vector: n-bit IV (used as nonce). Output feedback (OFB) mode: Z1 = EK(IV); Zi = EK(Zi−1), i ≥ 2; Ci = Mi ⊕ Zi, i ≥ 1. This is essentially an additive stream cipher. Cipher feedback (CFB) mode: C1 = M1 ⊕ EK(IV); Ci = Mi ⊕ EK(Ci−1), i ≥ 2. Can be used as a self-synchronizing stream cipher in a 1-bit feedback mode.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 14 / 55

slide-24
SLIDE 24

isilogo

Modes of Operations (contd.)

message: M1, M2, M3, . . . (n-bit blocks); initialization vector: n-bit IV (used as nonce). Output feedback (OFB) mode: Z1 = EK(IV); Zi = EK(Zi−1), i ≥ 2; Ci = Mi ⊕ Zi, i ≥ 1. This is essentially an additive stream cipher. Cipher feedback (CFB) mode: C1 = M1 ⊕ EK(IV); Ci = Mi ⊕ EK(Ci−1), i ≥ 2. Can be used as a self-synchronizing stream cipher in a 1-bit feedback mode. Counter (CTR) mode: Ci = Mi ⊕ EK(nonce||bin(i)), i ≥ 1. Other variants of the CTR mode have been proposed.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 14 / 55

slide-25
SLIDE 25

isilogo

Linear Feedback Shift Register

Given (non-zero) initial state (a0, . . . , an−1) generates a sequence a0, a1, a2, . . . , ai, . . . where ai = cn−1ai−1 ⊕ · · · ⊕ c1ai−n+1 + c0ai−n.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 15 / 55

slide-26
SLIDE 26

isilogo

Linear Feedback Shift Register

Given (non-zero) initial state (a0, . . . , an−1) generates a sequence a0, a1, a2, . . . , ai, . . . where ai = cn−1ai−1 ⊕ · · · ⊕ c1ai−n+1 + c0ai−n. Characteristic (connection) polynomial: τ(x) = xn ⊕ cn−1xn−1 ⊕ · · · ⊕ c1x ⊕ c0.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 15 / 55

slide-27
SLIDE 27

isilogo

Linear Feedback Shift Register

Given (non-zero) initial state (a0, . . . , an−1) generates a sequence a0, a1, a2, . . . , ai, . . . where ai = cn−1ai−1 ⊕ · · · ⊕ c1ai−n+1 + c0ai−n. Characteristic (connection) polynomial: τ(x) = xn ⊕ cn−1xn−1 ⊕ · · · ⊕ c1x ⊕ c0. If τ(x) is primitive over GF(2), then the period of {ai} is 2n − 1. Other well-understood “randomness-like” properties.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 15 / 55

slide-28
SLIDE 28

isilogo

Linear Feedback Shift Register

Given (non-zero) initial state (a0, . . . , an−1) generates a sequence a0, a1, a2, . . . , ai, . . . where ai = cn−1ai−1 ⊕ · · · ⊕ c1ai−n+1 + c0ai−n. Characteristic (connection) polynomial: τ(x) = xn ⊕ cn−1xn−1 ⊕ · · · ⊕ c1x ⊕ c0. If τ(x) is primitive over GF(2), then the period of {ai} is 2n − 1. Other well-understood “randomness-like” properties. Any bit of the sequence is a linear combination of the first n bits. Given any n bits of the sequence, it is easy to get the initial state. Unsuitable for direct use in cryptography.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 15 / 55

slide-29
SLIDE 29

isilogo

Nonlinear Combiner Model

  • (1)

X i

(2)

Xi

(n)

Xi

LFSR i

LFSR LFSR LFSR 1

2 n

f

k m c

i i i

i = length of

m

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 16 / 55

slide-30
SLIDE 30

isilogo

Correlation Attacks.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 17 / 55

slide-31
SLIDE 31

isilogo

Correlation Attack

Suppose Pr

  • X (i)

1

= ki

  • = p = 1

2. Divide-and-conquer attack. Collect ℓ bits of the keystream. From each possible 2m1 − 1 non-zero initial states of LFSR1, generate ℓ bits of the LFSR sequence. Let s be the number of places where the LFSR sequence equals the keystream sequence. If s ≈ ℓp, then the corresponding state is likely to be the correct intial state. If s ≈ ℓ/2, then the corresponding state is unlikely to be the correct intial state.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 18 / 55

slide-32
SLIDE 32

isilogo

Correlation Attack (contd.)

For the attack to work ℓ must be at least m1/(1 − H(p)). If p = 1/2 the attack does not work.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 19 / 55

slide-33
SLIDE 33

isilogo

Correlation Attack (contd.)

For the attack to work ℓ must be at least m1/(1 − H(p)). If p = 1/2 the attack does not work. But, if Pr

  • X (i)

1

⊕ X (i)

2

= ki

  • = p = 1

2 then the LFSRs 1 and 2 can

be attacked simultaneously.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 19 / 55

slide-34
SLIDE 34

isilogo

Correlation Attack (contd.)

For the attack to work ℓ must be at least m1/(1 − H(p)). If p = 1/2 the attack does not work. But, if Pr

  • X (i)

1

⊕ X (i)

2

= ki

  • = p = 1

2 then the LFSRs 1 and 2 can

be attacked simultaneously. In general, if Pr

  • X (i)

j1 ⊕ · · · ⊕ X (i) jr

= ki

  • = p = 1

2 then the LFSRs j1, . . . , jr can be attacked simulatenously.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 19 / 55

slide-35
SLIDE 35

isilogo

Correlation Attack (contd.)

For the attack to work ℓ must be at least m1/(1 − H(p)). If p = 1/2 the attack does not work. But, if Pr

  • X (i)

1

⊕ X (i)

2

= ki

  • = p = 1

2 then the LFSRs 1 and 2 can

be attacked simultaneously. In general, if Pr

  • X (i)

j1 ⊕ · · · ⊕ X (i) jr

= ki

  • = p = 1

2 then the LFSRs j1, . . . , jr can be attacked simulatenously. Leads to Boolean function design criteria and trade-offs.

Balancedness. Correlation immunity (resilience). Algebraic degree. Nonlinearity. Other properties: propagation criteria, strict avalanche criteria, ....

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 19 / 55

slide-36
SLIDE 36

isilogo

Fast Correlation Attacks

Coding theory framework: State S of an LFSR is expanded to sequence a which is perturbed by non-linear noise e to obtain ciphertext c with p = Pr[ei = 0] = 1/2.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 20 / 55

slide-37
SLIDE 37

isilogo

Fast Correlation Attacks

Coding theory framework: State S of an LFSR is expanded to sequence a which is perturbed by non-linear noise e to obtain ciphertext c with p = Pr[ei = 0] = 1/2. View the expansion of S to a as the encoding procedure of a linear code.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 20 / 55

slide-38
SLIDE 38

isilogo

Fast Correlation Attacks

Coding theory framework: State S of an LFSR is expanded to sequence a which is perturbed by non-linear noise e to obtain ciphertext c with p = Pr[ei = 0] = 1/2. View the expansion of S to a as the encoding procedure of a linear code. Given c, using suitable decoding technique to obtain S.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 20 / 55

slide-39
SLIDE 39

isilogo

An Iterative Decoding Procedure

Generation of parity checks: find a number of linear relations that a bit ai in the sequence a should satisfy.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 21 / 55

slide-40
SLIDE 40

isilogo

An Iterative Decoding Procedure

Generation of parity checks: find a number of linear relations that a bit ai in the sequence a should satisfy.

Shifting, squaring and multiples of the connection polynomial.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 21 / 55

slide-41
SLIDE 41

isilogo

An Iterative Decoding Procedure

Generation of parity checks: find a number of linear relations that a bit ai in the sequence a should satisfy.

Shifting, squaring and multiples of the connection polynomial.

Use k as an approximation of a and find the number of equations involving ai that hold for ki. If this number is less than a threshold, then complement ki.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 21 / 55

slide-42
SLIDE 42

isilogo

An Iterative Decoding Procedure

Generation of parity checks: find a number of linear relations that a bit ai in the sequence a should satisfy.

Shifting, squaring and multiples of the connection polynomial.

Use k as an approximation of a and find the number of equations involving ai that hold for ki. If this number is less than a threshold, then complement ki. Iterate the procedure until the sequence satisfies the LFSR recurrence.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 21 / 55

slide-43
SLIDE 43

isilogo

An Iterative Decoding Procedure

Generation of parity checks: find a number of linear relations that a bit ai in the sequence a should satisfy.

Shifting, squaring and multiples of the connection polynomial.

Use k as an approximation of a and find the number of equations involving ai that hold for ki. If this number is less than a threshold, then complement ki. Iterate the procedure until the sequence satisfies the LFSR recurrence. Works well if the number of taps in the LFSR is small.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 21 / 55

slide-44
SLIDE 44

isilogo

Improvements to Correlation Attacks

Identify an embedded low-rate convolutional code in the LFSR code; use Viterbi algorithm for decoding.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 22 / 55

slide-45
SLIDE 45

isilogo

Improvements to Correlation Attacks

Identify an embedded low-rate convolutional code in the LFSR code; use Viterbi algorithm for decoding. Turbo code techniques.

Identify “parallel” embedded convolutional code in the LFSR code. The keystream sequence is used to construct received sequences for the convolutional codes. These are decoded using an iterative algorithm.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 22 / 55

slide-46
SLIDE 46

isilogo

Improvements to Correlation Attacks

Identify an embedded low-rate convolutional code in the LFSR code; use Viterbi algorithm for decoding. Turbo code techniques.

Identify “parallel” embedded convolutional code in the LFSR code. The keystream sequence is used to construct received sequences for the convolutional codes. These are decoded using an iterative algorithm.

List decoding techniques.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 22 / 55

slide-47
SLIDE 47

isilogo

Improvements to Correlation Attacks

A different view: Reconstruction of linear polynomials. Bit ai is a linear combination ai =

m1−1

  • j=0

wi,jaj; where wi,js can be computed from τ(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 23 / 55

slide-48
SLIDE 48

isilogo

Improvements to Correlation Attacks

A different view: Reconstruction of linear polynomials. Bit ai is a linear combination ai =

m1−1

  • j=0

wi,jaj; where wi,js can be computed from τ(x). Let wi = (wi,0, . . . , wi,m1−1) and define A(x) =

m1−1

  • j=0

xjaj. The values a0, . . . , am1−1 define the polynomial and are unknown. Then A(x) is a linear polynomial and ai = A(wi) for i ≥ m1.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 23 / 55

slide-49
SLIDE 49

isilogo

Improvements to Correlation Attacks

A different view: Reconstruction of linear polynomials. Bit ai is a linear combination ai =

m1−1

  • j=0

wi,jaj; where wi,js can be computed from τ(x). Let wi = (wi,0, . . . , wi,m1−1) and define A(x) =

m1−1

  • j=0

xjaj. The values a0, . . . , am1−1 define the polynomial and are unknown. Then A(x) is a linear polynomial and ai = A(wi) for i ≥ m1. ki is a noisy output of the unknown polynomial A(x) evaluated at the known point wi.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 23 / 55

slide-50
SLIDE 50

isilogo

Improvements to Correlation Attacks

A different view: Reconstruction of linear polynomials. Bit ai is a linear combination ai =

m1−1

  • j=0

wi,jaj; where wi,js can be computed from τ(x). Let wi = (wi,0, . . . , wi,m1−1) and define A(x) =

m1−1

  • j=0

xjaj. The values a0, . . . , am1−1 define the polynomial and are unknown. Then A(x) is a linear polynomial and ai = A(wi) for i ≥ m1. ki is a noisy output of the unknown polynomial A(x) evaluated at the known point wi. Use of techniques from computational learning theory due to Goldreich, Rubinfeld and Sudan to reconstruct f from the kis.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 23 / 55

slide-51
SLIDE 51

isilogo

Improvements to Correlation Attacks

A different view: Reconstruction of linear polynomials. Bit ai is a linear combination ai =

m1−1

  • j=0

wi,jaj; where wi,js can be computed from τ(x). Let wi = (wi,0, . . . , wi,m1−1) and define A(x) =

m1−1

  • j=0

xjaj. The values a0, . . . , am1−1 define the polynomial and are unknown. Then A(x) is a linear polynomial and ai = A(wi) for i ≥ m1. ki is a noisy output of the unknown polynomial A(x) evaluated at the known point wi. Use of techniques from computational learning theory due to Goldreich, Rubinfeld and Sudan to reconstruct f from the kis. The application is not straightforward, there are a few tricks involved.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 23 / 55

slide-52
SLIDE 52

isilogo

Other Kinds of Correlations

Correlations between linear functions of several output bits and linear functions of a subset of LFSR bits.

For strong enough correlations, a number of stochastic equations may be derived. If the known keystream sequence is long enough, then the equations can be solved.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 24 / 55

slide-53
SLIDE 53

isilogo

Other Kinds of Correlations

Correlations between linear functions of several output bits and linear functions of a subset of LFSR bits.

For strong enough correlations, a number of stochastic equations may be derived. If the known keystream sequence is long enough, then the equations can be solved.

Keystream (or simply key) correlation: leads to distinguishing attacks.

Bias in a particular keystream bit or a linear combination of keystream bits, eg. Pr[k16 = 0] = 1/2. Attack types: multiple keys; or, single key but, multiple IVs. Bias in a subsequence of key bits,

  • eg. Pr[ki = ki+3] = 1/2 for all i ≥ 0.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 24 / 55

slide-54
SLIDE 54

isilogo

Some References: Correlation Attacks

  • T. Siegenthaler: Decrypting a Class of Stream Ciphers Using

Ciphertext Only. IEEE Trans. Computers 34(1): (1985).

  • T. Siegenthaler: Correlation-immunity of nonlinear combining

functions for cryptographic applications. IEEE Trans. on Inf. Th. 30(5): (1984).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 25 / 55

slide-55
SLIDE 55

isilogo

Some References: Correlation Attacks

  • T. Siegenthaler: Decrypting a Class of Stream Ciphers Using

Ciphertext Only. IEEE Trans. Computers 34(1): (1985).

  • T. Siegenthaler: Correlation-immunity of nonlinear combining

functions for cryptographic applications. IEEE Trans. on Inf. Th. 30(5): (1984).

  • W. Meier, O. Staffelbach: Fast Correlation Attacks on Certain

Stream Ciphers. J. Cryptology 1(3): (1989).

  • J. Dj. Goli´

c: Correlation Properties of a General Binary Combiner with Memory. J. Cryptology 9(2): (1996).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 25 / 55

slide-56
SLIDE 56

isilogo

Some References: Correlation Attacks

  • T. Siegenthaler: Decrypting a Class of Stream Ciphers Using

Ciphertext Only. IEEE Trans. Computers 34(1): (1985).

  • T. Siegenthaler: Correlation-immunity of nonlinear combining

functions for cryptographic applications. IEEE Trans. on Inf. Th. 30(5): (1984).

  • W. Meier, O. Staffelbach: Fast Correlation Attacks on Certain

Stream Ciphers. J. Cryptology 1(3): (1989).

  • J. Dj. Goli´

c: Correlation Properties of a General Binary Combiner with Memory. J. Cryptology 9(2): (1996).

  • T. Johansson, F. Jönsson: Fast Correlation Attacks Based on

Turbo Code Techniques. CRYPTO 1999.

  • T. Johansson, F. Jönsson: Fast Correlation Attacks through

Reconstruction of Linear Polynomials. CRYPTO 2000.

  • M. J. Mihaljevic, M. P

. C. Fossorier, H. Imai: Fast Correlation Attack Algorithm with List Decoding and an Application. FSE 2001.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 25 / 55

slide-57
SLIDE 57

isilogo

Algebraic Attacks.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 26 / 55

slide-58
SLIDE 58

isilogo

Algebraic Attacks: Basic Idea

Let L be the update functions of all the LFSRs. Each LFSR is updated using a linear function and let L be the applications of these linear functions to the respective states. L is a linear function on the whole state.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 27 / 55

slide-59
SLIDE 59

isilogo

Algebraic Attacks: Basic Idea

Let L be the update functions of all the LFSRs. Each LFSR is updated using a linear function and let L be the applications of these linear functions to the respective states. L is a linear function on the whole state. Let (s0, . . . , sn−1) be the n-bit state at time i. Keystream: f(s0, . . . , sn−1) = ki f(L(s0, . . . , sn−1)) = ki+1 f(L2(s0, . . . , sn−1)) = ki+2 · · · · · · · · · Each of the expressions on the left have degree d ∆ = deg(f).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 27 / 55

slide-60
SLIDE 60

isilogo

Solving Equations

There are d

j=1

n

j

  • monomials of degree at most d.

Replace each monomial by a new variable. Solve the resulting system of linear equations.

Sufficient number of keystream bits required to get an over-defined system of equations.

From the solution to the linear system, obtain the solution to the

  • riginal system.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 28 / 55

slide-61
SLIDE 61

isilogo

Solving Equations

There are d

j=1

n

j

  • monomials of degree at most d.

Replace each monomial by a new variable. Solve the resulting system of linear equations.

Sufficient number of keystream bits required to get an over-defined system of equations.

From the solution to the linear system, obtain the solution to the

  • riginal system.

Use Gröbner basis based technique to directly solve the system of multivariate polynomial equations over I F2. Becomes progressively inefficient as d increases. The linearisation technique also essentially computes the Gröbner basis.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 28 / 55

slide-62
SLIDE 62

isilogo

Controlling the Degree

Suppose g is a function such that deg(f × g) < deg(g). Example: f(x1, x2, x3) = x1 ⊕ x2 ⊕ x1x2x3 and g(x1, x2, x3) = x2x3.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 29 / 55

slide-63
SLIDE 63

isilogo

Controlling the Degree

Suppose g is a function such that deg(f × g) < deg(g). Example: f(x1, x2, x3) = x1 ⊕ x2 ⊕ x1x2x3 and g(x1, x2, x3) = x2x3. f(s0, . . . , sn−1)g(s0, . . . , sn−1) = ki · g(s0, . . . , sn−1) f(L(s0, . . . , sn−1))g(L(s0, . . . , sn−1)) = ki+1 · g(L(s0, . . . , sn−1)) f(L2(s0, . . . , sn−1))g(L2(s0, . . . , sn−1)) = ki+2 · g(L2(s0, . . . , sn−1)) · · · · · · · · ·

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 29 / 55

slide-64
SLIDE 64

isilogo

Controlling the Degree

Suppose g is a function such that deg(f × g) < deg(g). Example: f(x1, x2, x3) = x1 ⊕ x2 ⊕ x1x2x3 and g(x1, x2, x3) = x2x3. f(s0, . . . , sn−1)g(s0, . . . , sn−1) = ki · g(s0, . . . , sn−1) f(L(s0, . . . , sn−1))g(L(s0, . . . , sn−1)) = ki+1 · g(L(s0, . . . , sn−1)) f(L2(s0, . . . , sn−1))g(L2(s0, . . . , sn−1)) = ki+2 · g(L2(s0, . . . , sn−1)) · · · · · · · · · If deg(g) < d or kj = 0 (which happens roughly half of the times), then we get a system of equations whose degrees are less than d. Finding a “good” g is important.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 29 / 55

slide-65
SLIDE 65

isilogo

A General Formulation

Let s = (s0, . . . , sn−1). Find a Boolean function f such that for some δ ≥ 0

  • f(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ) = 0.

For δ = 0, take f = f.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 30 / 55

slide-66
SLIDE 66

isilogo

A General Formulation

Let s = (s0, . . . , sn−1). Find a Boolean function f such that for some δ ≥ 0

  • f(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ) = 0.

For δ = 0, take f = f. Suppose f can be written as

  • f(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ)

= h(Lt(s), . . . , Lt+δ(s)) ⊕ g(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ) = ht(s) ⊕ gt(s, kt, . . . , kt+δ) where the degree e of s in g is less than the degree d of s in f.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 30 / 55

slide-67
SLIDE 67

isilogo

A General Formulation (contd.)

Assume that the attacker can find constants c0, . . . , cT−1 such that

T−1

  • j=0

cjht+j(s) = 0.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 31 / 55

slide-68
SLIDE 68

isilogo

A General Formulation (contd.)

Assume that the attacker can find constants c0, . . . , cT−1 such that

T−1

  • j=0

cjht+j(s) = 0. Using 0 = f(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ) = ht(s) ⊕ gt(s, kt, . . . , kt+δ) we can write

T−1

  • j=0

cjgt+j(s, kt, . . . , kt+δ) = 0.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 31 / 55

slide-69
SLIDE 69

isilogo

A General Formulation (contd.)

Assume that the attacker can find constants c0, . . . , cT−1 such that

T−1

  • j=0

cjht+j(s) = 0. Using 0 = f(Lt(s), . . . , Lt+δ(s), kt, . . . , kt+δ) = ht(s) ⊕ gt(s, kt, . . . , kt+δ) we can write

T−1

  • j=0

cjgt+j(s, kt, . . . , kt+δ) = 0. This is an equation of lower degree e in the unknown s.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 31 / 55

slide-70
SLIDE 70

isilogo

A General Formulation (contd.)

Finding the constants c0, . . . , cT−1. Choose a “reasonable” value s∗ of s. Compute ˆ kt = ht(s∗) for t = 0, . . . , 2T − 1.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 32 / 55

slide-71
SLIDE 71

isilogo

A General Formulation (contd.)

Finding the constants c0, . . . , cT−1. Choose a “reasonable” value s∗ of s. Compute ˆ kt = ht(s∗) for t = 0, . . . , 2T − 1. Use Berlekamp-Massey algorithm to find c0, . . . , cT−1 such that =

T−1

  • j=0

cj ˆ kt+j

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 32 / 55

slide-72
SLIDE 72

isilogo

A General Formulation (contd.)

Finding the constants c0, . . . , cT−1. Choose a “reasonable” value s∗ of s. Compute ˆ kt = ht(s∗) for t = 0, . . . , 2T − 1. Use Berlekamp-Massey algorithm to find c0, . . . , cT−1 such that =

T−1

  • j=0

cj ˆ kt+j =

T−1

  • j=0

cjht+j(s∗).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 32 / 55

slide-73
SLIDE 73

isilogo

A General Formulation (contd.)

Finding the constants c0, . . . , cT−1. Choose a “reasonable” value s∗ of s. Compute ˆ kt = ht(s∗) for t = 0, . . . , 2T − 1. Use Berlekamp-Massey algorithm to find c0, . . . , cT−1 such that =

T−1

  • j=0

cj ˆ kt+j =

T−1

  • j=0

cjht+j(s∗).

Requires O(T 2) time. The proof that these c0, . . . , cT−1 work for all s is non-trivial.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 32 / 55

slide-74
SLIDE 74

isilogo

Some References: Algebraic Attacks

  • N. Courtois, W. Meier: Algebraic Attacks on Stream Ciphers with

Linear Feedback. EUROCRYPT 2003.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 33 / 55

slide-75
SLIDE 75

isilogo

Some References: Algebraic Attacks

  • N. Courtois, W. Meier: Algebraic Attacks on Stream Ciphers with

Linear Feedback. EUROCRYPT 2003.

  • N. Courtois: Fast Algebraic Attacks on Stream Ciphers with Linear
  • Feedback. CRYPTO 2003.
  • F. Armknecht, M. Krause: Algebraic Attacks on Combiners with
  • Memory. CRYPTO 2003.

Frederik Armknecht: Improving Fast Algebraic Attacks. FSE 2004.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 33 / 55

slide-76
SLIDE 76

isilogo

Some References: Algebraic Attacks

  • N. Courtois, W. Meier: Algebraic Attacks on Stream Ciphers with

Linear Feedback. EUROCRYPT 2003.

  • N. Courtois: Fast Algebraic Attacks on Stream Ciphers with Linear
  • Feedback. CRYPTO 2003.
  • F. Armknecht, M. Krause: Algebraic Attacks on Combiners with
  • Memory. CRYPTO 2003.

Frederik Armknecht: Improving Fast Algebraic Attacks. FSE 2004.

  • N. Courtois, A. Klimov, J. Patarin, A. Shamir: Efficient Algorithms

for Solving Overdefined Systems of Multivariate Polynomial

  • Equations. EUROCRYPT 2000.
  • C. Diem: The XL-Algorithm and a Conjecture from Commutative
  • Algebra. ASIACRYPT 2004.
  • G. Ars, J.-C. Faugére, H. Imai, M. Kawazoe, M. Sugita:

Comparison Between XL and Gröbner Basis Algorithms. ASIACRYPT 2004.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 33 / 55

slide-77
SLIDE 77

isilogo

Differential Attacks.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 34 / 55

slide-78
SLIDE 78

isilogo

Trivium: A Counter-Point to Correlation and Algebraic Attacks

State: (s(i)

1 , . . . , s(i) 288): (Super-script i is omitted for simplicity.)

State update function is non-linear. Output function is linear.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 35 / 55

slide-79
SLIDE 79

isilogo

Trivium: A Counter-Point to Correlation and Algebraic Attacks

State: (s(i)

1 , . . . , s(i) 288): (Super-script i is omitted for simplicity.)

State update function is non-linear. Output function is linear. t1 = s66 ⊕ s93; t2 = s162 ⊕ s177; t3 = s243 ⊕ s288; ki = t1 ⊕ t2 ⊕ t3;

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 35 / 55

slide-80
SLIDE 80

isilogo

Trivium: A Counter-Point to Correlation and Algebraic Attacks

State: (s(i)

1 , . . . , s(i) 288): (Super-script i is omitted for simplicity.)

State update function is non-linear. Output function is linear. t1 = s66 ⊕ s93; t2 = s162 ⊕ s177; t3 = s243 ⊕ s288; ki = t1 ⊕ t2 ⊕ t3; t1 = t1 ⊕ s91 · s92 ⊕ s171; t2 = t2 ⊕ s175 · s176 ⊕ s264; t3 = t3 ⊕ s286 · s287 ⊕ s69;

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 35 / 55

slide-81
SLIDE 81

isilogo

Trivium: A Counter-Point to Correlation and Algebraic Attacks

State: (s(i)

1 , . . . , s(i) 288): (Super-script i is omitted for simplicity.)

State update function is non-linear. Output function is linear. t1 = s66 ⊕ s93; t2 = s162 ⊕ s177; t3 = s243 ⊕ s288; ki = t1 ⊕ t2 ⊕ t3; t1 = t1 ⊕ s91 · s92 ⊕ s171; t2 = t2 ⊕ s175 · s176 ⊕ s264; t3 = t3 ⊕ s286 · s287 ⊕ s69; (s1, s2, . . . , s93) ← (t3, s1, . . . , s92); (s94, s95 . . . , s177) ← (t1, s94, . . . , s176); (s178, s179, . . . , s288) ← (t2, s178, . . . , s287);

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 35 / 55

slide-82
SLIDE 82

isilogo

Derivatives

Given an n-variable Boolean function f(x) and a ∈ {0, 1}n, the derivative of f at a is defined to be a Boolean function ∆af(x) ∆ = f(x ⊕ a) ⊕ f(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 36 / 55

slide-83
SLIDE 83

isilogo

Derivatives

Given an n-variable Boolean function f(x) and a ∈ {0, 1}n, the derivative of f at a is defined to be a Boolean function ∆af(x) ∆ = f(x ⊕ a) ⊕ f(x). Extension: ∆(2)

a1,a2f(x) = f(x ⊕ a1 ⊕ a2) ⊕ f(x ⊕ a1) ⊕ f(x ⊕ a2) ⊕ f(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 36 / 55

slide-84
SLIDE 84

isilogo

Derivatives

Given an n-variable Boolean function f(x) and a ∈ {0, 1}n, the derivative of f at a is defined to be a Boolean function ∆af(x) ∆ = f(x ⊕ a) ⊕ f(x). Extension: ∆(2)

a1,a2f(x) = f(x ⊕ a1 ⊕ a2) ⊕ f(x ⊕ a1) ⊕ f(x ⊕ a2) ⊕ f(x).

Other direction: f(x ⊕ a1 ⊕ a2) = ∆(2)

a1,a2f(x) ⊕ ∆a1f(x) ⊕ ∆a2f(x) ⊕ f(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 36 / 55

slide-85
SLIDE 85

isilogo

Derivatives

Given an n-variable Boolean function f(x) and a ∈ {0, 1}n, the derivative of f at a is defined to be a Boolean function ∆af(x) ∆ = f(x ⊕ a) ⊕ f(x). Extension: ∆(2)

a1,a2f(x) = f(x ⊕ a1 ⊕ a2) ⊕ f(x ⊕ a1) ⊕ f(x ⊕ a2) ⊕ f(x).

Other direction: f(x ⊕ a1 ⊕ a2) = ∆(2)

a1,a2f(x) ⊕ ∆a1f(x) ⊕ ∆a2f(x) ⊕ f(x).

f(x ⊕ a1 ⊕ · · · ⊕ an) =

n

  • i=0
  • 1≤j1<···<ji≤n

∆(i)

aj1,...,aji f(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 36 / 55

slide-86
SLIDE 86

isilogo

Derivatives (contd.)

Properties. deg(∆af) < deg(f). ∆(2)

a1,a2f(x) = ∆(2) a2,a1f(x).

∆a(f ⊕ g) = ∆af ⊕ ∆ag. ∆a(f(x)g(x)) = f(x ⊕ a)∆ag(x) ⊕ (∆af(x))g(x). If a ∈ {0, 1}n is such that supp(a) ⊂ {1, . . . , i}, then ∆a(x1 · · · xif(xi+1, . . . , xn)) = f(xi+1, . . . , xn)∆a(x1 · · · xi).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 37 / 55

slide-87
SLIDE 87

isilogo

Derivatives (contd.)

Properties. deg(∆af) < deg(f). ∆(2)

a1,a2f(x) = ∆(2) a2,a1f(x).

∆a(f ⊕ g) = ∆af ⊕ ∆ag. ∆a(f(x)g(x)) = f(x ⊕ a)∆ag(x) ⊕ (∆af(x))g(x). If a ∈ {0, 1}n is such that supp(a) ⊂ {1, . . . , i}, then ∆a(x1 · · · xif(xi+1, . . . , xn)) = f(xi+1, . . . , xn)∆a(x1 · · · xi).

Nothing special about x1 · · · xi; easy modification for the monomial xj1 · · · xji.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 37 / 55

slide-88
SLIDE 88

isilogo

Derivatives (contd.)

Let C[a1, . . . , ai] be the set of all linear combinations of a1, . . . , ai. Then ∆(i)

a1,...,aif(x) =

  • c∈C[a1,...,ai]

f(x ⊕ c).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 38 / 55

slide-89
SLIDE 89

isilogo

Derivatives (contd.)

Let C[a1, . . . , ai] be the set of all linear combinations of a1, . . . , ai. Then ∆(i)

a1,...,aif(x) =

  • c∈C[a1,...,ai]

f(x ⊕ c). If ai is linearly dependent on a1, . . . , ai−1, then ∆(i)

a1,...,aif(x) = 0.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 38 / 55

slide-90
SLIDE 90

isilogo

Using Derivatives

Suppose f(x1, . . . , xn) can be written as f(x1, . . . , xn) = x1 · · · xig(xi+1, . . . , xn) ⊕ h(x1, . . . , xn) where x1 · · · xi does not divide any monomial of h(x1, . . . , xn).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 39 / 55

slide-91
SLIDE 91

isilogo

Using Derivatives

Suppose f(x1, . . . , xn) can be written as f(x1, . . . , xn) = x1 · · · xig(xi+1, . . . , xn) ⊕ h(x1, . . . , xn) where x1 · · · xi does not divide any monomial of h(x1, . . . , xn). Let a1, . . . , ai be linearly independent vectors such that supp(a1), . . . , supp(ai) ⊂ {1, . . . , i}.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 39 / 55

slide-92
SLIDE 92

isilogo

Using Derivatives

Suppose f(x1, . . . , xn) can be written as f(x1, . . . , xn) = x1 · · · xig(xi+1, . . . , xn) ⊕ h(x1, . . . , xn) where x1 · · · xi does not divide any monomial of h(x1, . . . , xn). Let a1, . . . , ai be linearly independent vectors such that supp(a1), . . . , supp(ai) ⊂ {1, . . . , i}. Then g(xi+1, . . . , xn) = ∆a1,...,aif(x1, . . . , xn)

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 39 / 55

slide-93
SLIDE 93

isilogo

Using Derivatives

Suppose f(x1, . . . , xn) can be written as f(x1, . . . , xn) = x1 · · · xig(xi+1, . . . , xn) ⊕ h(x1, . . . , xn) where x1 · · · xi does not divide any monomial of h(x1, . . . , xn). Let a1, . . . , ai be linearly independent vectors such that supp(a1), . . . , supp(ai) ⊂ {1, . . . , i}. Then g(xi+1, . . . , xn) = ∆a1,...,aif(x1, . . . , xn) =

  • c∈C[a1,...,ai]

f(x ⊕ c).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 39 / 55

slide-94
SLIDE 94

isilogo

Using Derivatives

Suppose f(x1, . . . , xn) can be written as f(x1, . . . , xn) = x1 · · · xig(xi+1, . . . , xn) ⊕ h(x1, . . . , xn) where x1 · · · xi does not divide any monomial of h(x1, . . . , xn). Let a1, . . . , ai be linearly independent vectors such that supp(a1), . . . , supp(ai) ⊂ {1, . . . , i}. Then g(xi+1, . . . , xn) = ∆a1,...,aif(x1, . . . , xn) =

  • c∈C[a1,...,ai]

f(x ⊕ c). Nothing special about x1 · · · xi; easy modification for xj1 · · · xji.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 39 / 55

slide-95
SLIDE 95

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-96
SLIDE 96

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1. Observation: If f is a random polynomial of degree d, then with high probability every degree (d − 1) monomial is a maxterm.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-97
SLIDE 97

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1. Observation: If f is a random polynomial of degree d, then with high probability every degree (d − 1) monomial is a maxterm. Suppose x1 · · · xi is a maxterm. f(x) = x1 · · · xig(xi+1, . . . , xn) + h(x).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-98
SLIDE 98

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1. Observation: If f is a random polynomial of degree d, then with high probability every degree (d − 1) monomial is a maxterm. Suppose x1 · · · xi is a maxterm. f(x) = x1 · · · xig(xi+1, . . . , xn) + h(x). Constant term of g is obtained by setting xi+1, . . . , xn to 0 and XORing together the values of f for all possible choices of x1, . . . , xi.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-99
SLIDE 99

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1. Observation: If f is a random polynomial of degree d, then with high probability every degree (d − 1) monomial is a maxterm. Suppose x1 · · · xi is a maxterm. f(x) = x1 · · · xig(xi+1, . . . , xn) + h(x). Constant term of g is obtained by setting xi+1, . . . , xn to 0 and XORing together the values of f for all possible choices of x1, . . . , xi. The coefficient of xj in g (j > i) is obtained by setting xj to 1, all

  • ther xi+1, . . . , xn to 0 and XORing together the values of f for all

possible choices of x1, . . . , xi.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-100
SLIDE 100

isilogo

Using Derivatives (contd.)

Maxterm: xj1 · · · xji is a maxterm if the corresponding g is of degree 1. Observation: If f is a random polynomial of degree d, then with high probability every degree (d − 1) monomial is a maxterm. Suppose x1 · · · xi is a maxterm. f(x) = x1 · · · xig(xi+1, . . . , xn) + h(x). Constant term of g is obtained by setting xi+1, . . . , xn to 0 and XORing together the values of f for all possible choices of x1, . . . , xi. The coefficient of xj in g (j > i) is obtained by setting xj to 1, all

  • ther xi+1, . . . , xn to 0 and XORing together the values of f for all

possible choices of x1, . . . , xi. Nothing special about x1 · · · xi; easy modification for xj1 · · · xji.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 40 / 55

slide-101
SLIDE 101

isilogo

Attacking Stream Ciphers With IV: Pre-Processing

Consider a stream cipher with secret key K = (κ1, . . . , κn) and IV= (v1, . . . , vm).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 41 / 55

slide-102
SLIDE 102

isilogo

Attacking Stream Ciphers With IV: Pre-Processing

Consider a stream cipher with secret key K = (κ1, . . . , κn) and IV= (v1, . . . , vm). Any keystream bit k can be written as kt = ft(K, IV) = f(κ1, . . . , κn, v1, . . . , vm).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 41 / 55

slide-103
SLIDE 103

isilogo

Attacking Stream Ciphers With IV: Pre-Processing

Consider a stream cipher with secret key K = (κ1, . . . , κn) and IV= (v1, . . . , vm). Any keystream bit k can be written as kt = ft(K, IV) = f(κ1, . . . , κn, v1, . . . , vm). Suppose f behaves like a random polynomial of degree d. Then with high probability every degree (d − 1) monomial consisting only of IV bits is a maxterm.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 41 / 55

slide-104
SLIDE 104

isilogo

Attacking Stream Ciphers With IV: Pre-Processing

Consider a stream cipher with secret key K = (κ1, . . . , κn) and IV= (v1, . . . , vm). Any keystream bit k can be written as kt = ft(K, IV) = f(κ1, . . . , κn, v1, . . . , vm). Suppose f behaves like a random polynomial of degree d. Then with high probability every degree (d − 1) monomial consisting only of IV bits is a maxterm. Choose n such maxterms. In a pre-processing stage, the corresponding linear functions g1, . . . , gn are obtained ensuring that each gj depends on at least one key bit.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 41 / 55

slide-105
SLIDE 105

isilogo

Attacking Stream Ciphers With IV: Pre-Processing

Consider a stream cipher with secret key K = (κ1, . . . , κn) and IV= (v1, . . . , vm). Any keystream bit k can be written as kt = ft(K, IV) = f(κ1, . . . , κn, v1, . . . , vm). Suppose f behaves like a random polynomial of degree d. Then with high probability every degree (d − 1) monomial consisting only of IV bits is a maxterm. Choose n such maxterms. In a pre-processing stage, the corresponding linear functions g1, . . . , gn are obtained ensuring that each gj depends on at least one key bit. Let A be an n × n matrix representing these linear functions. It can be ensured with high probability that A is invertible.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 41 / 55

slide-106
SLIDE 106

isilogo

Attacking Stream Ciphers With IV: On-line

Suppose v1 · · · vd−1 be a maxterm and g(K, vd, . . . , vm) be the corresponding linear function.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 42 / 55

slide-107
SLIDE 107

isilogo

Attacking Stream Ciphers With IV: On-line

Suppose v1 · · · vd−1 be a maxterm and g(K, vd, . . . , vm) be the corresponding linear function. Let a1, . . . , ad−1 ∈ {0, 1}n+m be l.i. with supp(aj) among the indices of v1, . . . , vd−1; and let bj be the restriction

  • f aj to the last m bits.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 42 / 55

slide-108
SLIDE 108

isilogo

Attacking Stream Ciphers With IV: On-line

Suppose v1 · · · vd−1 be a maxterm and g(K, vd, . . . , vm) be the corresponding linear function. Let a1, . . . , ad−1 ∈ {0, 1}n+m be l.i. with supp(aj) among the indices of v1, . . . , vd−1; and let bj be the restriction

  • f aj to the last m bits. Then

g(K, vd, . . . , vm) =

  • c∈C[a1,...,ad−1]

f((K, IV) ⊕ c) =

  • d∈C[b1,...,bd−1]

f(K, IV ⊕ b).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 42 / 55

slide-109
SLIDE 109

isilogo

Attacking Stream Ciphers With IV: On-line

Suppose v1 · · · vd−1 be a maxterm and g(K, vd, . . . , vm) be the corresponding linear function. Let a1, . . . , ad−1 ∈ {0, 1}n+m be l.i. with supp(aj) among the indices of v1, . . . , vd−1; and let bj be the restriction

  • f aj to the last m bits. Then

g(K, vd, . . . , vm) =

  • c∈C[a1,...,ad−1]

f((K, IV) ⊕ c) =

  • d∈C[b1,...,bd−1]

f(K, IV ⊕ b). Obtaining the outputs of f on 2d−1 chosen IVs gives the value of g(K, 0, . . . , 0) for the unknown K.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 42 / 55

slide-110
SLIDE 110

isilogo

Attacking Stream Ciphers With IV: On-line

Suppose v1 · · · vd−1 be a maxterm and g(K, vd, . . . , vm) be the corresponding linear function. Let a1, . . . , ad−1 ∈ {0, 1}n+m be l.i. with supp(aj) among the indices of v1, . . . , vd−1; and let bj be the restriction

  • f aj to the last m bits. Then

g(K, vd, . . . , vm) =

  • c∈C[a1,...,ad−1]

f((K, IV) ⊕ c) =

  • d∈C[b1,...,bd−1]

f(K, IV ⊕ b). Obtaining the outputs of f on 2d−1 chosen IVs gives the value of g(K, 0, . . . , 0) for the unknown K. Obtain the values of g1(K, 0, . . . , 0), . . . , gn(K, 0, . . . , 0). Use the previously computed A−1 to solve the system of linear equations and

  • btain the secret key K.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 42 / 55

slide-111
SLIDE 111

isilogo

Feasibility and Computational Complexity

Exponential in d in both the pre-processing and the online phases.

Works well when d is small.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 43 / 55

slide-112
SLIDE 112

isilogo

Feasibility and Computational Complexity

Exponential in d in both the pre-processing and the online phases.

Works well when d is small.

Polynomial in n in both the pre-processing and the online phases;

pre-processing: O(n3) to compute A−1.

  • n-line: O(n2) to solve using A−1.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 43 / 55

slide-113
SLIDE 113

isilogo

Feasibility and Computational Complexity

Exponential in d in both the pre-processing and the online phases.

Works well when d is small.

Polynomial in n in both the pre-processing and the online phases;

pre-processing: O(n3) to compute A−1.

  • n-line: O(n2) to solve using A−1.

Variants of the attack have been proposed.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 43 / 55

slide-114
SLIDE 114

isilogo

Some References: Differential Attacks

  • X. Lai. Higher Order Derivatives and Differential Cryptanalysis.

Communications and Cryptography, 1992. A.Canteaut, M. Videau: Degree of Composition of Highly Nonlinear Functions and Applications to Higher Order Differential

  • Cryptanalysis. EUROCRYPT 2002.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 44 / 55

slide-115
SLIDE 115

isilogo

Some References: Differential Attacks

  • X. Lai. Higher Order Derivatives and Differential Cryptanalysis.

Communications and Cryptography, 1992. A.Canteaut, M. Videau: Degree of Composition of Highly Nonlinear Functions and Applications to Higher Order Differential

  • Cryptanalysis. EUROCRYPT 2002.
  • I. Dinur, A. Shamir: Cube Attacks on Tweakable Black Box
  • Polynomials. EUROCRYPT 2009.

J.-P . Aumasson, I. Dinur, W. Meier, A. Shamir: Cube Testers and Key Recovery Attacks on Reduced-Round MD6 and Trivium.

  • I. Dinur, A. Shamir: Breaking Grain-128 with Dynamic Cube
  • Attacks. FSE 2011.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 44 / 55

slide-116
SLIDE 116

isilogo

Time/Memory Trade-Off Attacks

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 45 / 55

slide-117
SLIDE 117

isilogo

Inverting a One-Way Function

Let S be a finite set with #S = N and f : S → S be a one-way function.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 46 / 55

slide-118
SLIDE 118

isilogo

Inverting a One-Way Function

Let S be a finite set with #S = N and f : S → S be a one-way function. Inversion problem: Given target y, find x such that f(x) = y.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 46 / 55

slide-119
SLIDE 119

isilogo

Inverting a One-Way Function

Let S be a finite set with #S = N and f : S → S be a one-way function. Inversion problem: Given target y, find x such that f(x) = y. Memory N; time constant.

Pre-compute a table of all N pairs (x, y) such that f(x) = y. Store the table sorted on the second column. Given a target y0, look up the table to find a pre-image.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 46 / 55

slide-120
SLIDE 120

isilogo

Inverting a One-Way Function

Let S be a finite set with #S = N and f : S → S be a one-way function. Inversion problem: Given target y, find x such that f(x) = y. Memory N; time constant.

Pre-compute a table of all N pairs (x, y) such that f(x) = y. Store the table sorted on the second column. Given a target y0, look up the table to find a pre-image.

Memory constant; time N.

Given target y0, compute f(x) for each x ∈ S until y0 is obtained.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 46 / 55

slide-121
SLIDE 121

isilogo

Time/Memory Trade-Off

f : S → S. Basic idea. Perform a one-time computation of N invocations of f. Store a table of size M. Given a particular target y0, in time T obtain a pre-image.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 47 / 55

slide-122
SLIDE 122

isilogo

Time/Memory Trade-Off

f : S → S. Basic idea. Perform a one-time computation of N invocations of f. Store a table of size M. Given a particular target y0, in time T obtain a pre-image. Trade-Off Curve: TM2 = N2.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 47 / 55

slide-123
SLIDE 123

isilogo

Time/Memory Trade-Off

f : S → S. Basic idea. Perform a one-time computation of N invocations of f. Store a table of size M. Given a particular target y0, in time T obtain a pre-image. Trade-Off Curve: TM2 = N2. A trade-off point: T = M = N2/3.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 47 / 55

slide-124
SLIDE 124

isilogo

Time/Memory Trade-Off

f : S → S. Basic idea. Perform a one-time computation of N invocations of f. Store a table of size M. Given a particular target y0, in time T obtain a pre-image. Trade-Off Curve: TM2 = N2. A trade-off point: T = M = N2/3. Pre-computation time is N which would make the attack inadmissible.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 47 / 55

slide-125
SLIDE 125

isilogo

Multiple Targets/Data

f : S → S. Given: y1, . . . , yD. Goal: Invert any one of these points, i.e., obtain an x such that f(x) = yi for some i.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 48 / 55

slide-126
SLIDE 126

isilogo

Multiple Targets/Data

f : S → S. Given: y1, . . . , yD. Goal: Invert any one of these points, i.e., obtain an x such that f(x) = yi for some i. Modified Trade-Off Curve: TM2D2 = N2; 1 ≤ D2 ≤ T; P = N/D.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 48 / 55

slide-127
SLIDE 127

isilogo

Multiple Targets/Data

f : S → S. Given: y1, . . . , yD. Goal: Invert any one of these points, i.e., obtain an x such that f(x) = yi for some i. Modified Trade-Off Curve: TM2D2 = N2; 1 ≤ D2 ≤ T; P = N/D. Pre-computation time: P = N/D. Memory M and online time satisfy the equation TM2 = (N/D)2. A trade-off point: D = N1/4; P = N3/4; T = M = N1/2. All the parameters D, P, T, M are less than N which makes the attack admissible.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 48 / 55

slide-128
SLIDE 128

isilogo

TMTO on Stream Ciphers

Let g(S) denote the keystream obtained by starting from state S. Assume that the output function produces a single bit.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 49 / 55

slide-129
SLIDE 129

isilogo

TMTO on Stream Ciphers

Let g(S) denote the keystream obtained by starting from state S. Assume that the output function produces a single bit. State-to-keystream map: f : s-bit state S → s-bit prefix of g(S).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 49 / 55

slide-130
SLIDE 130

isilogo

TMTO on Stream Ciphers

Let g(S) denote the keystream obtained by starting from state S. Assume that the output function produces a single bit. State-to-keystream map: f : s-bit state S → s-bit prefix of g(S). Data: Given a keystream of length D + s − 1, shift a window of size s to construct D s-bit strings y1, . . . , yD. Inverting f on any of these targets gives an internal state.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 49 / 55

slide-131
SLIDE 131

isilogo

TMTO on Stream Ciphers

Let g(S) denote the keystream obtained by starting from state S. Assume that the output function produces a single bit. State-to-keystream map: f : s-bit state S → s-bit prefix of g(S). Data: Given a keystream of length D + s − 1, shift a window of size s to construct D s-bit strings y1, . . . , yD. Inverting f on any of these targets gives an internal state. Search space: N = 2s. Trade-off point: D = 2s/4; P = 23s/4; T = M = 2s/2.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 49 / 55

slide-132
SLIDE 132

isilogo

TMTO on Stream Ciphers

Let g(S) denote the keystream obtained by starting from state S. Assume that the output function produces a single bit. State-to-keystream map: f : s-bit state S → s-bit prefix of g(S). Data: Given a keystream of length D + s − 1, shift a window of size s to construct D s-bit strings y1, . . . , yD. Inverting f on any of these targets gives an internal state. Search space: N = 2s. Trade-off point: D = 2s/4; P = 23s/4; T = M = 2s/2. Suppose K is k bits long. If s < 2k, then T = 2s/2 < 2k. Ignoring pre-computation time, this is an attack. Counter-measure: state size must be double that of secret key size.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 49 / 55

slide-133
SLIDE 133

isilogo

TMTO on Stream Ciphers (contd.)

Consider a stream cipher with IV. Suppose IVs are v bits long. A one-way function: f : (K, IV) → (k + v)-bit prefix of the keystream.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 50 / 55

slide-134
SLIDE 134

isilogo

TMTO on Stream Ciphers (contd.)

Consider a stream cipher with IV. Suppose IVs are v bits long. A one-way function: f : (K, IV) → (k + v)-bit prefix of the keystream. Search space: N = 2k+v. Trade-off point: D = 2(k+v)/4; P = 23(k+v)/4; T = M = 2(k+v)/2.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 50 / 55

slide-135
SLIDE 135

isilogo

TMTO on Stream Ciphers (contd.)

Consider a stream cipher with IV. Suppose IVs are v bits long. A one-way function: f : (K, IV) → (k + v)-bit prefix of the keystream. Search space: N = 2k+v. Trade-off point: D = 2(k+v)/4; P = 23(k+v)/4; T = M = 2(k+v)/2. Ignoring pre-computation time, if v < k, then T < 2k and we have a valid attack. Counter-measure: IV should be at least as large as the key.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 50 / 55

slide-136
SLIDE 136

isilogo

TMTO on Stream Ciphers (contd.)

Consider a stream cipher with IV. Suppose IVs are v bits long. A one-way function: f : (K, IV) → (k + v)-bit prefix of the keystream. Search space: N = 2k+v. Trade-off point: D = 2(k+v)/4; P = 23(k+v)/4; T = M = 2(k+v)/2. Ignoring pre-computation time, if v < k, then T < 2k and we have a valid attack. Counter-measure: IV should be at least as large as the key. If v < k/3, then P < 2k and we have a valid attack even considering pre-computation.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 50 / 55

slide-137
SLIDE 137

isilogo

Multi-User Setting

A secure stream cipher will become popular and will be widely deployed. Users will choose random secret keys. Encryption will be done using the secret key and an IV. Restriction on the IV: should not be repeated for the same key. To obtain higher security, a user may choose a secret key for each session.

Each message in a session would be encrypted using a distinct IV. Same restriction: do not repeat IV for the same key.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 51 / 55

slide-138
SLIDE 138

isilogo

Multi-User (In)security

Set IV to a fixed value v and define the map f : K → first k bits of SCK(v).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 52 / 55

slide-139
SLIDE 139

isilogo

Multi-User (In)security

Set IV to a fixed value v and define the map f : K → first k bits of SCK(v). Suppose k = 80: Get 220 users to encrypt messages using the same IV and obtain the first 80 bits of the keystream.

No violation of IV usage; same IV used, but, for different keys. This gives 220 targets.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 52 / 55

slide-140
SLIDE 140

isilogo

Multi-User (In)security

Set IV to a fixed value v and define the map f : K → first k bits of SCK(v). Suppose k = 80: Get 220 users to encrypt messages using the same IV and obtain the first 80 bits of the keystream.

No violation of IV usage; same IV used, but, for different keys. This gives 220 targets.

Inverting f on any one of these targets will give the corresponding secret key. Trade-off point: P = 260; D = 220; T = M = 240. A very realistic attack: 80-bit security is inadequate!

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 52 / 55

slide-141
SLIDE 141

isilogo

Multi-User (In)security

Set IV to a fixed value v and define the map f : K → first k bits of SCK(v). Suppose k = 80: Get 220 users to encrypt messages using the same IV and obtain the first 80 bits of the keystream.

No violation of IV usage; same IV used, but, for different keys. This gives 220 targets.

Inverting f on any one of these targets will give the corresponding secret key. Trade-off point: P = 260; D = 220; T = M = 240. A very realistic attack: 80-bit security is inadequate!

No counter-measures; using random IVs may actually make it easier for the attacker to mount the attack.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 52 / 55

slide-142
SLIDE 142

isilogo

Multi-User (In)security

Set IV to a fixed value v and define the map f : K → first k bits of SCK(v). Suppose k = 80: Get 220 users to encrypt messages using the same IV and obtain the first 80 bits of the keystream.

No violation of IV usage; same IV used, but, for different keys. This gives 220 targets.

Inverting f on any one of these targets will give the corresponding secret key. Trade-off point: P = 260; D = 220; T = M = 240. A very realistic attack: 80-bit security is inadequate!

No counter-measures; using random IVs may actually make it easier for the attacker to mount the attack.

Works for all k; but, the effect is less dramatic.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 52 / 55

slide-143
SLIDE 143

isilogo

Some References: TMTO Attacks

  • M. E. Hellman: A Cryptanalytic Time-Memory Trade-Off. IEEE
  • Trans. on Infor. Th., 26 (1980).

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 53 / 55

slide-144
SLIDE 144

isilogo

Some References: TMTO Attacks

  • M. E. Hellman: A Cryptanalytic Time-Memory Trade-Off. IEEE
  • Trans. on Infor. Th., 26 (1980).
  • S. H. Babbage: Improved Exhaustive Search Attacks on Stream
  • Ciphers. European Convention on Security and Detection, IEE

Conference publication No. 408, IEE, 1995.

  • J. Dj. Golic: Cryptanalysis of Alleged A5 Stream Cipher.

EUROCRYPT 1997. Alex Biryukov, Adi Shamir: Cryptanalytic Time/Memory/Data Tradeoffs for Stream Ciphers. ASIACRYPT 2000.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 53 / 55

slide-145
SLIDE 145

isilogo

Some References: TMTO Attacks

  • M. E. Hellman: A Cryptanalytic Time-Memory Trade-Off. IEEE
  • Trans. on Infor. Th., 26 (1980).
  • S. H. Babbage: Improved Exhaustive Search Attacks on Stream
  • Ciphers. European Convention on Security and Detection, IEE

Conference publication No. 408, IEE, 1995.

  • J. Dj. Golic: Cryptanalysis of Alleged A5 Stream Cipher.

EUROCRYPT 1997. Alex Biryukov, Adi Shamir: Cryptanalytic Time/Memory/Data Tradeoffs for Stream Ciphers. ASIACRYPT 2000.

  • J. Hong, P

. Sarkar: New Applications of Time Memory Data

  • Tradeoffs. ASIACRYPT 2005.
  • S. Chatterjee, A. Menezes and P

. Sarkar. Another Look at

  • Tightness. SAC 2011, to appear.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 53 / 55

slide-146
SLIDE 146

isilogo

Summary

A brief background on stream ciphers.

Additive and self-synchornizing stream ciphers. Attack models and goals. Block cipher modes of operations. LFSR and non-linear combiner model.

Correlation Attacks. Algebraic Attacks. Chosen IV differential attacks. (In)security in the Multi-User Setting.

TMTO attacks on stream ciphers. Inadequacy of 80-bit security in the multi-user setting.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 54 / 55

slide-147
SLIDE 147

isilogo

Summary

A brief background on stream ciphers.

Additive and self-synchornizing stream ciphers. Attack models and goals. Block cipher modes of operations. LFSR and non-linear combiner model.

Correlation Attacks. Algebraic Attacks. Chosen IV differential attacks. (In)security in the Multi-User Setting.

TMTO attacks on stream ciphers. Inadequacy of 80-bit security in the multi-user setting.

We have left out a lot of topics including some important ones.

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 54 / 55

slide-148
SLIDE 148

isilogo

Thank you for your attention!

Palash Sarkar (ISI, Kolkata) stream ciphers ASK 2011 55 / 55