+ All Categories
Home > Documents > Boolean Functions and Resistance against NL Polynomial...

Boolean Functions and Resistance against NL Polynomial...

Date post: 16-Apr-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
65
Boolean Functions and Resistance against NL Polynomial Invariant Attacks [on Some Block Ciphers] Nicolas T. Courtois University College London, UK BFA 2019, Boolean Functions and Applications
Transcript
Page 1: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Boolean Functions and Resistance against NL Polynomial Invariant Attacks

[on Some Block Ciphers]

Nicolas T. CourtoisUniversity College London, UK

BFA 2019, Boolean Functions and Applications

Page 2: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

2

Roadmap

• Non-Linear Cryptanalysis

– Polynomial Invariants and Backdoors

• Can “strong” Boolean functions help to secure block ciphers against polynomial invariant attacks?

– “product attack”

– attacks based annihilators =>

• potentially some attacks are HARD to avoid

eprint/2018/1242

Page 3: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

3

Carlet Meta-Theorem:

“Almost all Boolean functions do not have any property we would wish them to have”

• Claude Carlet: The complexity of Boolean functions

from cryptographic viewpoint, Dagstuhl, 06111, 2006.

• Peter Clote, Evangelos Kranakis: Boolean functions, invariance groups, and parallel complexity, In SIAM J. Comput. 20 (3) pp. 553-590, 1991.

Page 4: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

4

Partial Opposite [today]

Up to 15% of Boolean functions DO have the properties we need to make our NL attack work.

• Well, at least for some block ciphers…

• Proof of concept for T-310 for DES.

Page 5: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

5

Question:Why researchers have found

so few attacks on block ciphers?

LC = small HW words on 64 bits.

Page 6: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

6

Question:Why researchers have found

so few attacks on block ciphers?

“mystified by complexity” lack of working examples: how a NL attack actually looks like??

-for a long time I thought it would about some irreducible polynomials-

Page 7: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

7

Scope

We study how an encryption function of a block cipher acts on

arbitrary [Boolean] polynomials.

Stop, this is extremely complicated???

Page 8: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

8

Claim:Finding new attacks

on block ciphers isEASY and FUN

Page 9: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

9

Code Breakers - LinkedIn

Page 10: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

10

Cryptanalysis=def=Making the impossible possible.

How? two very large polynomials with 16+ vars are simply equal

Page 11: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

11

inspired by the master of impossible:

-- M. C. Escher

Page 12: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

12

Big Winner

“product attack”

a product of Boolean polynomials.

Claimed extremely powerful.Why?

@eprint/2018/1242

Page 13: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

13

Definition

We say that P => Q for 1R

if

P(inputs) = Q(outputs)with proba =1, i.e. for every input

Page 14: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

14

Another notation:P = Q

<=> P => Q for 1R

<=>

P(inputs) = Q(outputs)for any input with Pr=1

is 1 round of encryption

Page 15: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

Main Problem:Two polynomials P => Q.

P(x1,…)

Q(y1,…)

is P=Q possible??

“Invariant Theory” [Hilbert]: set of all invariants for any block cipher forms a [graded] finitely generated [polynomial] ring. A+B; A*B

Page 16: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Algebraic Attacks on Block Ciphers Nicolas T. Courtois

16

Key Remark:

To insure that P * R => P * R

we only need to make sure that P=>P but ONLY for a subspace

where R(inp)=1 and R(out)=1

Page 17: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

T-310

Nicolas T. Courtois17

East German T-310 Block Cipher

240 bits

long-term secret 90 bits only!

“quasi-absolute security” [1973-1990]

has a physical

RNG=>IV

Page 18: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

18

T-310 [1973-1990] – Feistel with 4 branches

Page 19: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

19

blog.bettercrypto.com

Page 20: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Security of DES (overview)

20

“Official” History of Cryptanalysis

• DC was known @IBM in 1970s

• Davies-Murphy attack [1982=classified, published in 1995] = early LC

• Shamir Paper [1985]……… early LC

• Differential Cryptanalysis :Biham-Shamir [1991]

• Linear Cryptanalysis: Gilbert and Matsui [1992-93]

Page 21: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

21

LC in 1976 [Eastern Germany]

Page 22: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

22

Generalised Linear Cryptanalysis= GLC =

[Harpes, Kramer and Massey, Eurocrypt’95]

Concept of [invariant] non-linear I/O sums.

P(inputs) = P(outputs)with some probability…

Page 23: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

23

Connecting Non-Linear Approxs.Black-Box Approach

Non-linear functions F G H.

F(x1,…)

G(y1,…) G(y1,…)

H(z1,…)

Page 24: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

24

GLC and Feistel Ciphers?

[Knudsen and Robshaw, EuroCrypt’96

“one-round approximations that are non-linear […] cannot be joined together”…

At Crypto 2004 Courtois shows that GLC is in fact possible for Feistel schemes!

Page 25: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

25

BLC better than LC for DES

Better than the best existing linear attack of Matsui

for 3, 7, 11, 15, … rounds.

Ex: LC 11 rounds:

BLC 11 rounds:

Page 26: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

26

Better Is Enemy of Good!DES = Courtois @ Crypto 2004 :

proba=1.0

deg 1

deg 2

deg 10

Page 27: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

27

New White Box Approach

Study of non-linear I/O sums.

.

P(inputs) = P(outputs) with probability 1.

Formal equality of 2 polynomials.

Page 28: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

28

Variable Boolean Function

We denote by Z our Boolean function

We consider a space of ciphers where Z is variable.

Question: given a fixed polynomial Pwhat is the probability over random choice of Z that P(inputs) = P(outputs) is an invariant (for any number of rounds).

Page 29: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

29

How Do You Find An Attack?

22^n possible attacks

Page 30: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

30

Invariant Hopping

attack 12x linear

attack 21x linear

attack 3

attack 4strong Bool + high degree invariant +

high success proba

Page 31: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

Nicolas T. Courtois, January 200931

Group Theory – Is DES A Group?

Study of group generated by φK for any key K.

Typically AGL not GL. Any smaller sub-groups?

Page 32: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

Nicolas T. Courtois, January 200932

Related Research

Page 33: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

33

Hopping in Group Lattices

attack 1three invariants

linear Boolean function

AGL

Page 34: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

34

Hopping in Group Lattices

attack 1three invariants

linear Boolean function

attack 2two invariants

bad Boolean function

AGL

Page 35: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

35

Hopping in Group Lattices

attack 1three invariants

linear Boolean function

attack 2two invariants

bad Boolean function

attack 36one high degree invariantstrong Boolean function

AGL

Page 36: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

Nicolas T. Courtois, January 200936

Hopping in Group Lattices

attack 1three invariants

linear Boolean function

attack 2two invariants

bad Boolean function

attack 36one complex high degree invariant

strong Boolean function

AGL

Page 37: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

37

“Hopping” Discovery

• Learn from examples.

• Find a path from a trivial attack on a weak cipher to a non-trivial attack on a strong cipher.

Page 38: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Backdoors

Nicolas T. Courtois38

T-310 [Contracting Feistel, 1970s, Eastern Germany!]

1 round of T-310

φ

Page 39: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

39

Impossible => Possible?

• We literally use “impossible” linear properties, which cannot happen and do not happen,

and construct a non-linear attack which works.

Page 40: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

40

Hopping Step 1 [WCC’19]First we look at an attack where the Boolean

function is linear and we have trivial LINEAR invariants (same as Matsui’s LC)

Example:

?

impossibletransition

Page 41: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

41

Impossible?

3 trivial, 1 impossible transitions

?

Page 42: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Backdoors

Nicolas T. Courtois42

A Vulnerable Setup

1 round of T-310

φ

Page 43: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

43

Hopping Step2 [WCC’19]Now could you please tell us if

is an invariant? =AC+BD

Page 44: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

44

Hopping Step2Now could you please tell us if

is an invariant?

The answer is remarkably simple.

Page 45: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

45

Hopping Step2Theorem:

is an invariant IF AND ONLY IF

a certain polynomial = FE =

Page 46: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

46

Hopping Step2Theorem:

is an invariant IF AND ONLY IF

a certain polynomial = FE =

is zero (as a polynomial, multiple cancellations)

FundamentalEquation

Page 47: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

47

Compute FE?Theorem:

is an invariant IF AND ONLY IF

is zero (as a polynomial, multiple cancellations)

= FE

Page 48: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

48

Compute FE?Theorem:

is an invariant IF AND ONLY IF

is zero (as a polynomial, multiple cancellations)

Page 49: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

49

NotationWe have

is an invariant IF AND ONLY IF

IF AND ONLY IF

is zero (as a polynomial, multiple cancellations)= FE

P = P(inputs) = P(output ANF) = P ?

P+P

Page 50: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

50

Compact Notation

is an P is an invariant

IF AND ONLY IF

(as a polynomial, multiple cancellations)= FE is zero

P = P ?

Page 51: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

51

White Box Cryptanalysis = New

[Courtois 2018]

Same concept of a non-linear I/O sums.Focus on perfect invariants mostly.

P(inputs) = P(outputs) with probability 1.

Formal equality of 2 polynomials.Exploits the structure of the ring Bn.

• annihilation events absorption events, nb. of vars collapses

• would be unthinkable if we had unique factorisation

ABCD=A’B’C’D’

Page 52: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

52

New Paradigm [1905.04684]

Page 53: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

53

Conclusion Step2Theorem:

is an invariant IF AND ONLY IF

is zero (as a polynomial, multiple cancellations)

Page 54: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

54

What is Special About P2-factoring decomposition

= AC+BD.

is invariant IF AND ONLY IF

some solutions are:

Page 55: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

55

Attack of Degree 4Q : Can we now have ABCD

to be an invariant of degree 4

Answer: easy: Y must be a root of

mBCD=YBCD

= FE

Page 56: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

56

Product Attack

Construct NL invariants based on LC cycles:

A B C D A

Then ABCD is a round invariant of degree 4.

Page 57: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

57

Phase TransitionWhen P is of degree 4, the Boolean function is

still “inevitably” degenerated [WCC’18].

Q: Can we backdoor or break a cipher with a random Boolean function?

Solution: The degree of P must increase to 8.

Page 58: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

58

Phase TransitionWhen P is of degree 4, the Boolean function is

still “inevitably” degenerated [this paper].

Q: Can we backdoor or break a cipher with a “strong” (e.g. random) Boolean function?

YES, see [eprint/2018/1242]

Degree 8 attack, P =ABCDEFGH.

Page 59: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

59

Thm 5.5. In eprint/2018/1242 page 18.

P =ABCDEFGH

is invariant if and only if this polynomial vanishes:

Can a polynomial with 16 variables with 2 very complex Boolean functions just disappear?

Page 60: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

60

Hard Becomes EasyPhase transition: eprint/2018/1242.

• When P degree grows, attacks become a

LOT easier.

• Degree 8: extremely strong:

15% success rate over the choice of a random Boolean function and with P =ABCDEFGH.

(3 variants)

WHAT??????????

Page 61: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

61

Let Y = Random Bool.Can we HOPE that for

we have for example:

mBCD=YBCD i.e.

0=(Y+m)BCD

Thm 6.0.1: Courtois-Meier Eurocypt 2003.

For any Z with 6 variables, Z or Z+1 always has some cubic annihilators.

Thm 6.4: [eprint/2018/1242] For Z(a+b)(c+d)(e+f)=0, any Boolean function works with probability of 5%.

= FE

Page 62: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

62

Less Trivial Attacksan irregular sporadic attack with P of degree 7

Page 63: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

63

DES

problem:

a LOT more key bits

48 instead of 2 in each round

Page 64: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

64

reality is more interesting than fiction!

Page 65: Boolean Functions and Resistance against NL Polynomial ...boolean.w.uib.no/files/2019/06/nicolas.pdfHopping Step2 [WCC’19] Now could you please tell us if is an invariant? =AC+BD.

Block Cipher Invariants

65

Degree 5 Attack on DESTheorem: Let P =

(1+L06+L07)*L12 * R13*R24*R28

IF

(1+c+d)*W2==0 and (1+c+d)*X2==0

e*W3==0 and f*Z3==0

ae*X7==0 and ae*Z7==0

THEN P is an invariant for

1 round of DES.


Recommended