Efficiency and Implementation Security of Code-based Cryptosystems - - PowerPoint PPT Presentation

efficiency and implementation security of code based
SMART_READER_LITE
LIVE PREVIEW

Efficiency and Implementation Security of Code-based Cryptosystems - - PowerPoint PPT Presentation

Efficiency and Implementation Security of Code-based Cryptosystems PhD Thesis by Falko Strenzke Falko Strenzke Cryptography and Computeralgebra, Department of Computer Science, Technische Universit at Darmstadt, Germany,


slide-1
SLIDE 1

Efficiency and Implementation Security of Code-based Cryptosystems

PhD Thesis by Falko Strenzke

Falko Strenzke

Cryptography and Computeralgebra, Department of Computer Science, Technische Universit¨ at Darmstadt, Germany, fstrenzke@cryptosource.de

November 11, 2013

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 1 / 37

slide-2
SLIDE 2

Public Key Encryption

Alice Bob secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-3
SLIDE 3

Public Key Encryption

Alice Bob public key (p) secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-4
SLIDE 4

Public Key Encryption

Alice Bob public key (p) secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-5
SLIDE 5

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-6
SLIDE 6

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-7
SLIDE 7

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-8
SLIDE 8

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-9
SLIDE 9

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c)

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-10
SLIDE 10

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c)

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-11
SLIDE 11

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-12
SLIDE 12

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-13
SLIDE 13

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer 20??: quantum computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-14
SLIDE 14

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer 20??: quantum computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-15
SLIDE 15

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer 20??: quantum computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-16
SLIDE 16

Public Key Encryption

Alice Bob public key (p) c = Ep(m) secret key (s) m = Ds(c) today: classical computer 20??: quantum computer

RSA, ElGamal, etc.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 2 / 37

slide-17
SLIDE 17

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-18
SLIDE 18

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-19
SLIDE 19

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-20
SLIDE 20

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-21
SLIDE 21

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-22
SLIDE 22

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-23
SLIDE 23

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-24
SLIDE 24

Code-based Cryptosystems

need for cryptosystems in a post-quantum world lattice-based, multivariate, . . . code-based cryptosystems

McEliece scheme proposed in 1976 still regarded secure fast encryption and decryption large public key Niederreiter scheme very similar

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 3 / 37

slide-25
SLIDE 25

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-26
SLIDE 26

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-27
SLIDE 27

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-28
SLIDE 28

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-29
SLIDE 29

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-30
SLIDE 30

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-31
SLIDE 31

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-32
SLIDE 32

Outline

Preliminaries

Error Correcting Codes Goppa Codes McEliece scheme

Encryption Decryption (syndrome decoding)

Challenges of code-based cryptosystems

Contributions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 4 / 37

slide-33
SLIDE 33

Error Correcting Codes

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 5 / 37

slide-34
SLIDE 34

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-35
SLIDE 35

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-36
SLIDE 36

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-37
SLIDE 37

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-38
SLIDE 38

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-39
SLIDE 39

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-40
SLIDE 40

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-41
SLIDE 41

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-42
SLIDE 42

Goppa Codes

Parameters of a Goppa Code

irreducible polynomial g(Y ) ∈ F2m[Y ] of degree t (the Goppa Polynomial) support Γ = (α0, α1, . . . , αn−1), where αi are pairwise distinct elements of F2m

Properties of the Code

the code has length n ≤ 2m (code word length) , dimension k = n − mt (message length) and can correct up to t errors. a parity check matrix H, where cH⊤ = 0 if c ∈ C example for secure parameters: n = 2048, t = 50 for 100 bit security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 6 / 37

slide-43
SLIDE 43

The McEliece PKC

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 7 / 37

slide-44
SLIDE 44

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-45
SLIDE 45

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-46
SLIDE 46

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-47
SLIDE 47

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-48
SLIDE 48

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-49
SLIDE 49

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-50
SLIDE 50

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-51
SLIDE 51

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-52
SLIDE 52

Syndrome Decoding: Patterson Algorithm

secret key: g(Y ), Γ = (α0, α1, . . . , αn−1) input: distorted codeword e ⊕ c

  • utput: error vector

e ∈ Fn

2m

S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1 mod g(Y ) // by EEA τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) //β(Y )τ(Y ) ≡ α(Y ) mod g(Y ) σ(Y ) ← α2(Y ) + Y β2(Y ) // σ(Y ) = t−1

i=0 (αfi − Y )

ei ← 1 iff σ(αi) = 0 // root finding

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 8 / 37

slide-53
SLIDE 53

Implementation Aspects of Cryptograpic Algorithms

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-54
SLIDE 54

Implementation Aspects of Cryptograpic Algorithms

RAM

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-55
SLIDE 55

Implementation Aspects of Cryptograpic Algorithms

RAM ROM

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-56
SLIDE 56

Implementation Aspects of Cryptograpic Algorithms

RAM ROM input

  • utput

∆t

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-57
SLIDE 57

Implementation Aspects of Cryptograpic Algorithms

Efficiency RAM ROM input

  • utput

∆t

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-58
SLIDE 58

Implementation Aspects of Cryptograpic Algorithms

Efficiency RAM ROM input

  • utput

∆t

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-59
SLIDE 59

Implementation Aspects of Cryptograpic Algorithms

Efficiency RAM ROM input

  • utput

∆t input

  • utput

∆t

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-60
SLIDE 60

Implementation Aspects of Cryptograpic Algorithms

Efficiency RAM ROM input

  • utput

∆t input

  • utput

∆t

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-61
SLIDE 61

Implementation Aspects of Cryptograpic Algorithms

Efficiency RAM ROM input

  • utput

∆t input

  • utput

∆t Side Channel Security

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 9 / 37

slide-62
SLIDE 62

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-63
SLIDE 63

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-64
SLIDE 64

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-65
SLIDE 65

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-66
SLIDE 66

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-67
SLIDE 67

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-68
SLIDE 68

The Challenges of Code-based Encryption

Code-based schemes known to be fast

fast enough on embedded systems (smart cards)? time memory trade-offs?

Large public-key size

what does this mean for embedded systems?

Side Channel Security

no previous works

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 10 / 37

slide-69
SLIDE 69

Overview

Efficiency Key-aimed SCA Message-aimed SCA RSA

(Message-aimed SCA) PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack ISICS 2010 Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 11 / 37

slide-70
SLIDE 70

Overview

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 12 / 37

slide-71
SLIDE 71

Message-aimed Timing Attack

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 13 / 37

slide-72
SLIDE 72

Message-aimed Timing Attack (I)

let w = wt ( e) deg (σ(Y )) = w for w ≤ t basically any root-finding variant: (at least) linear dependency of root-finding time on deg (σ(Y ))

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 14 / 37

slide-73
SLIDE 73

Message-aimed Timing Attack (I)

let w = wt ( e) deg (σ(Y )) = w for w ≤ t basically any root-finding variant: (at least) linear dependency of root-finding time on deg (σ(Y ))

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 14 / 37

slide-74
SLIDE 74

Message-aimed Timing Attack (I)

let w = wt ( e) deg (σ(Y )) = w for w ≤ t basically any root-finding variant: (at least) linear dependency of root-finding time on deg (σ(Y ))

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 14 / 37

slide-75
SLIDE 75

Message-aimed Timing Attack (I)

let w = wt ( e) deg (σ(Y )) = w for w ≤ t basically any root-finding variant: (at least) linear dependency of root-finding time on deg (σ(Y ))

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 14 / 37

slide-76
SLIDE 76

Message-aimed Timing Attack (II)

t = 50

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 15 / 37

slide-77
SLIDE 77

Overview

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 16 / 37

slide-78
SLIDE 78

Refinements of the Message-aimed Attack

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 17 / 37

slide-79
SLIDE 79

Refinements of the Message-aimed Attack (outline)

Number of iterations in the EEA already dependent on w

smaller timing differences, allowing same attack countermeasure: avoid “premature” abortion of the EEA

Related simple power analysis attack on the number of iterations in EEA

similar countermeasure

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 18 / 37

slide-80
SLIDE 80

Refinements of the Message-aimed Attack (outline)

Number of iterations in the EEA already dependent on w

smaller timing differences, allowing same attack countermeasure: avoid “premature” abortion of the EEA

Related simple power analysis attack on the number of iterations in EEA

similar countermeasure

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 18 / 37

slide-81
SLIDE 81

Refinements of the Message-aimed Attack (outline)

Number of iterations in the EEA already dependent on w

smaller timing differences, allowing same attack countermeasure: avoid “premature” abortion of the EEA

Related simple power analysis attack on the number of iterations in EEA

similar countermeasure

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 18 / 37

slide-82
SLIDE 82

Refinements of the Message-aimed Attack (outline)

Number of iterations in the EEA already dependent on w

smaller timing differences, allowing same attack countermeasure: avoid “premature” abortion of the EEA

Related simple power analysis attack on the number of iterations in EEA

similar countermeasure

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 18 / 37

slide-83
SLIDE 83

Refinements of the Message-aimed Attack (outline)

Number of iterations in the EEA already dependent on w

smaller timing differences, allowing same attack countermeasure: avoid “premature” abortion of the EEA

Related simple power analysis attack on the number of iterations in EEA

similar countermeasure

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 18 / 37

slide-84
SLIDE 84

Overview

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 19 / 37

slide-85
SLIDE 85

Analysis of Root-Finding Variants

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 20 / 37

slide-86
SLIDE 86

Analysis of Root-Finding Variants

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-87
SLIDE 87

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-88
SLIDE 88

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-89
SLIDE 89

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-90
SLIDE 90

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-91
SLIDE 91

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-92
SLIDE 92

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-93
SLIDE 93

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-94
SLIDE 94

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-95
SLIDE 95

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-96
SLIDE 96

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-97
SLIDE 97

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-98
SLIDE 98

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-99
SLIDE 99

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-100
SLIDE 100

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-101
SLIDE 101

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-102
SLIDE 102

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-103
SLIDE 103

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe linearized polynomials

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-104
SLIDE 104

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe linearized polynomials 415ms

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-105
SLIDE 105

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe linearized polynomials 415ms 2344 byte

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-106
SLIDE 106

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe linearized polynomials 415ms 2344 byte safe

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-107
SLIDE 107

Analysis of Root-Finding Variants

using parameters n = 6624, t = 115 (244 bit security); Atmel AP7000, 30 MHz

Speed RAM demands Mess.-

  • aim. TA

Key-aim. TA

  • exh. evaluation

1269ms 2344 byte safe safe

  • exh. evalua-

tion w/ division 638ms 2344 byte unsafe safe with c.m. BTZ2 272ms 34886 byte unsafe probably unsafe linearized polynomials 415ms 2344 byte safe safe with c.m.

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 21 / 37

slide-108
SLIDE 108

Overview

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 22 / 37

slide-109
SLIDE 109

Encryption in PKI

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 23 / 37

slide-110
SLIDE 110

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-111
SLIDE 111

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-112
SLIDE 112

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-113
SLIDE 113

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-114
SLIDE 114

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-115
SLIDE 115

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-116
SLIDE 116

Solution for Memory-constrained Platforms

Process the certificate during receipt: fail –

  • utput

error success – finalize & output sign.

  • k?

TBS data beg. Matrix (Public Key) 100 KByte TBS end signature Hash value

  • nline-

mul.

  • mG
  • m

. . .

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 24 / 37

slide-117
SLIDE 117

Results

experiments: transmission rate is the limiting factor for a key with security level 244 bit: t > 13s

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 25 / 37

slide-118
SLIDE 118

Results

experiments: transmission rate is the limiting factor for a key with security level 244 bit: t > 13s

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 25 / 37

slide-119
SLIDE 119

Overview

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 26 / 37

slide-120
SLIDE 120

Timing Attack against the secret Support

Efficiency Key-aimed SCA Message-aimed SCA

PQCrypto 2008 Timing Attack ICISC 2009 Timing Attack JCEN 2011 Power Analysis Attack JCEN 2011 Generalization CANS 2012 Root finding ISC 2012 Key Storage PQCrypto 2010 Timing Attack PQCrypto 2013 Timing Attack Decryption: S(Y ) ← ( e ⊕ c)H⊤

  • ∈Ft

2m

  • Y t−1, · · · , Y , 1

⊤ U(Y ) ← S−1(Y ) mod g(Y ) τ(Y ) ←

  • U(Y ) + Y mod g(Y )

(α(Y ), β(Y )) ← EEA(g(Y ), τ(Y )) σ(Y ) ← α2(Y ) + Y β2(Y ) ei ← 1 iff σ(αi ) = 0 Encryption:

  • z′ =

mGp

  • z =

z′ ⊕ e Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 27 / 37

slide-121
SLIDE 121

Timing Attack against the secret Support

secret key: g(Y ) Γ = (α0, α1, . . . αn−1)

  • e =

( . . . 1 . . . 1 . . . ) indexes: 1 . . . f1 f2 αf1 αf2 σ(Y ) = w−1

i=0 (αfi − Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 28 / 37

slide-122
SLIDE 122

Timing Attack against the secret Support

secret key: g(Y ) Γ = (α0, α1, . . . αn−1)

  • e =

( . . . 1 . . . 1 . . . ) indexes: 1 . . . f1 f2 αf1 αf2 σ(Y ) = w−1

i=0 (αfi − Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 28 / 37

slide-123
SLIDE 123

Timing Attack against the secret Support

secret key: g(Y ) Γ = (α0, α1, . . . αn−1)

  • e =

( . . . 1 . . . 1 . . . ) indexes: 1 . . . f1 f2 αf1 αf2 σ(Y ) = w−1

i=0 (αfi − Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 28 / 37

slide-124
SLIDE 124

Timing Attack against the secret Support

secret key: g(Y ) Γ = (α0, α1, . . . αn−1)

  • e =

( . . . 1 . . . 1 . . . ) indexes: 1 . . . f1 f2 αf1 αf2 σ(Y ) = w−1

i=0 (αfi − Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 28 / 37

slide-125
SLIDE 125

Overview of the Attack

Timing vulnerabilities:

for w = 4: linear equations for w = 1: zero element for w = 6: cubic equations

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 29 / 37

slide-126
SLIDE 126

Overview of the Attack

Timing vulnerabilities:

for w = 4: linear equations for w = 1: zero element for w = 6: cubic equations

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 29 / 37

slide-127
SLIDE 127

Overview of the Attack

Timing vulnerabilities:

for w = 4: linear equations for w = 1: zero element for w = 6: cubic equations

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 29 / 37

slide-128
SLIDE 128

Overview of the Attack

Timing vulnerabilities:

for w = 4: linear equations for w = 1: zero element for w = 6: cubic equations

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 29 / 37

slide-129
SLIDE 129

Source of timing differences for weight 4 error vectors

Syndrome S(Y ) ≡

w

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) mod g(Y ) If w ≤ t/2 then σ(Y ) can be found be EEA (break once deg (ri(Y )) ≤ (t/2) − 1 ) → information about an intermediate iteration where coefficient = σ(Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 30 / 37

slide-130
SLIDE 130

Source of timing differences for weight 4 error vectors

Syndrome S(Y ) ≡

w

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) mod g(Y ) If w ≤ t/2 then σ(Y ) can be found be EEA (break once deg (ri(Y )) ≤ (t/2) − 1 ) → information about an intermediate iteration where coefficient = σ(Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 30 / 37

slide-131
SLIDE 131

Source of timing differences for weight 4 error vectors

Syndrome S(Y ) ≡

w

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) mod g(Y ) If w ≤ t/2 then σ(Y ) can be found be EEA (break once deg (ri(Y )) ≤ (t/2) − 1 ) → information about an intermediate iteration where coefficient = σ(Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 30 / 37

slide-132
SLIDE 132

Source of timing differences for weight 4 error vectors

Syndrome S(Y ) ≡

w

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) mod g(Y ) If w ≤ t/2 then σ(Y ) can be found be EEA (break once deg (ri(Y )) ≤ (t/2) − 1 ) → information about an intermediate iteration where coefficient = σ(Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 30 / 37

slide-133
SLIDE 133

Source of timing differences for weight 4 error vectors

Syndrome S(Y ) ≡

w

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) mod g(Y ) If w ≤ t/2 then σ(Y ) can be found be EEA (break once deg (ri(Y )) ≤ (t/2) − 1 ) → information about an intermediate iteration where coefficient = σ(Y )

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 30 / 37

slide-134
SLIDE 134

The Syndrome Inversion EEA for w = 4

S(Y ) ≡

4

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) ≡ σ3Y 2 ⊕ σ1 Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y ⊕ σ0 mod g(Y )

maximal number of iterations M = deg (Ω(Y )) + deg (σ(Y )) if σ3 = 0, then M smaller than otherwise → fewer iterations, smaller timing σ3 = αf1 ⊕ αf2 ⊕ αf3 ⊕ αf4 = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 31 / 37

slide-135
SLIDE 135

The Syndrome Inversion EEA for w = 4

S(Y ) ≡

4

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) ≡ σ3Y 2 ⊕ σ1 Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y ⊕ σ0 mod g(Y )

maximal number of iterations M = deg (Ω(Y )) + deg (σ(Y )) if σ3 = 0, then M smaller than otherwise → fewer iterations, smaller timing σ3 = αf1 ⊕ αf2 ⊕ αf3 ⊕ αf4 = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 31 / 37

slide-136
SLIDE 136

The Syndrome Inversion EEA for w = 4

S(Y ) ≡

4

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) ≡ σ3Y 2 ⊕ σ1 Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y ⊕ σ0 mod g(Y )

maximal number of iterations M = deg (Ω(Y )) + deg (σ(Y )) if σ3 = 0, then M smaller than otherwise → fewer iterations, smaller timing σ3 = αf1 ⊕ αf2 ⊕ αf3 ⊕ αf4 = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 31 / 37

slide-137
SLIDE 137

The Syndrome Inversion EEA for w = 4

S(Y ) ≡

4

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) ≡ σ3Y 2 ⊕ σ1 Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y ⊕ σ0 mod g(Y )

maximal number of iterations M = deg (Ω(Y )) + deg (σ(Y )) if σ3 = 0, then M smaller than otherwise → fewer iterations, smaller timing σ3 = αf1 ⊕ αf2 ⊕ αf3 ⊕ αf4 = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 31 / 37

slide-138
SLIDE 138

The Syndrome Inversion EEA for w = 4

S(Y ) ≡

4

  • i=1

1 Y ⊕ αfi ≡ Ω(Y ) σ(Y ) ≡ σ3Y 2 ⊕ σ1 Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y ⊕ σ0 mod g(Y )

maximal number of iterations M = deg (Ω(Y )) + deg (σ(Y )) if σ3 = 0, then M smaller than otherwise → fewer iterations, smaller timing σ3 = αf1 ⊕ αf2 ⊕ αf3 ⊕ αf4 = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 31 / 37

slide-139
SLIDE 139

Weight 6 Vulnerability

S(Y ) ≡ σ5Y 4 ⊕ σ3Y 2 ⊕ σ1 Y 6 ⊕ σ5Y 5 ⊕ σ4Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y + σ0 mod g(Y ),

σ5 = 6

i=1 αfi

σ3 = 6

j=3

j−1

k=2

k−1

l=1 αfjαfkαfl = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 32 / 37

slide-140
SLIDE 140

Weight 6 Vulnerability

S(Y ) ≡ σ5Y 4 ⊕ σ3Y 2 ⊕ σ1 Y 6 ⊕ σ5Y 5 ⊕ σ4Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y + σ0 mod g(Y ),

σ5 = 6

i=1 αfi

σ3 = 6

j=3

j−1

k=2

k−1

l=1 αfjαfkαfl = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 32 / 37

slide-141
SLIDE 141

Weight 6 Vulnerability

S(Y ) ≡ σ5Y 4 ⊕ σ3Y 2 ⊕ σ1 Y 6 ⊕ σ5Y 5 ⊕ σ4Y 4 ⊕ σ3Y 3 ⊕ σ2Y 2 ⊕ σ1Y + σ0 mod g(Y ),

σ5 = 6

i=1 αfi

σ3 = 6

j=3

j−1

k=2

k−1

l=1 αfjαfkαfl = 0

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 32 / 37

slide-142
SLIDE 142

Building the Attack

from the linear equations: α0 α1 . . . αi . . . αn−m−3 αn−m−2 β0 . . . βm−1 1 . . . . . . X . . . X . . . . . . 1 . . . X . . . X . . . . . . . . . 1 X . . . X αi =

j∈Bi βj

→ collect cubic equations s.th. system can be solved

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 33 / 37

slide-143
SLIDE 143

Building the Attack

from the linear equations: α0 α1 . . . αi . . . αn−m−3 αn−m−2 β0 . . . βm−1 1 . . . . . . X . . . X . . . . . . 1 . . . X . . . X . . . . . . . . . 1 X . . . X αi =

j∈Bi βj

→ collect cubic equations s.th. system can be solved

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 33 / 37

slide-144
SLIDE 144

Building the Attack

from the linear equations: α0 α1 . . . αi . . . αn−m−3 αn−m−2 β0 . . . βm−1 1 . . . . . . X . . . X . . . . . . 1 . . . X . . . X . . . . . . . . . 1 X . . . X αi =

j∈Bi βj

→ collect cubic equations s.th. system can be solved

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 33 / 37

slide-145
SLIDE 145

Building the Attack

from the linear equations: α0 α1 . . . αi . . . αn−m−3 αn−m−2 β0 . . . βm−1 1 . . . . . . X . . . X . . . . . . 1 . . . X . . . X . . . . . . . . . 1 X . . . X αi =

j∈Bi βj

→ collect cubic equations s.th. system can be solved

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 33 / 37

slide-146
SLIDE 146

Collecting cubic Equations

Ω(Y ) = σ5Y 4 ⊕ σ3Y 2 ⊕ σ1

C1: β3 ← β0, β1, β2 C2: β4 ← β0, β1, β2, β3 . . . . . . . . . . . . . . . Cm−3: βm−1 ← β0, β1, . . . βm−2 practical timing attack on Intel Core2 Duo CPU number of queries ≈ millions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 34 / 37

slide-147
SLIDE 147

Collecting cubic Equations

Ω(Y ) = σ5Y 4 ⊕ σ3Y 2 ⊕ σ1

C1: β3 ← β0, β1, β2 C2: β4 ← β0, β1, β2, β3 . . . . . . . . . . . . . . . Cm−3: βm−1 ← β0, β1, . . . βm−2 practical timing attack on Intel Core2 Duo CPU number of queries ≈ millions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 34 / 37

slide-148
SLIDE 148

Collecting cubic Equations

Ω(Y ) = σ5Y 4 ⊕ σ3Y 2 ⊕ σ1

C1: β3 ← β0, β1, β2 C2: β4 ← β0, β1, β2, β3 . . . . . . . . . . . . . . . Cm−3: βm−1 ← β0, β1, . . . βm−2 practical timing attack on Intel Core2 Duo CPU number of queries ≈ millions

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 34 / 37

slide-149
SLIDE 149

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-150
SLIDE 150

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-151
SLIDE 151

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-152
SLIDE 152

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-153
SLIDE 153

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-154
SLIDE 154

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-155
SLIDE 155

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-156
SLIDE 156

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-157
SLIDE 157

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-158
SLIDE 158

Conclusion

Efficiency issues

handling of public key keys on embedded devices investigation of a number of time-memory tradeoffs

Implementation Security

message-aimed side-channel issues key-aimed side-channel issues

choice of root-finding algorithm is crucial for performance and security security against timing attacks is achievable the decryption operation can be implemented on embedded systems without hardware support the encryption on embedded systems remains as a problem

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 35 / 37

slide-159
SLIDE 159

Contributions

Strenzke, F., Tews, E., Molter, H., Overbeck, R., Shoufan, A.: Side Channels in the McEliece PKC. In: The third international Workshop on Post-Quantum Cryptography, PQC 2008. Lecture Notes in Computer Science., Springer Berlin / Heidelberg (2008) Shoufan, A., Strenzke, F., Molter, H., St¨

  • ttinger, M.: A Timing Attack against Patterson Algorithm in the

McEliece PKC. In: Information, Security and Cryptology, ICISC 2009. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2009) Strenzke, F.: A Timing Attack against the secret Permutation in the McEliece PKC. In: The third international Workshop on Post-Quantum Cryptography, PQC 2010. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2010) Strenzke, F.: A Smart Card Implementation of the McEliece PKC. In: Workshop in Information Security Theory and Practices. Security and Privacy of Pervasive Systems and Smart Devices, WISTP 2010. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2010) Strenzke, F.: Message-aimed Side Channel and Fault Attacks against Public Key Cryptosystems with homomorphic Properties. In: Journal of Cryptographic Engineering (2011) Molter, H.G., St¨

  • tinger, M., Shoufan, A., Strenzke, F.: A Simple Power Analysis Attack on a McEliece
  • Cryptoprocessor. In: Journal of Cryptographic Engineering (2011)

Strenzke, F.: Fast and Secure Root-Finding for Code-based Cryptosystems. In: The 11th International Conference on Cryptology and Network Security, CANS 2012. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2012) Strenzke, F.: Solutions for the Storage Problem of McEliece Public and Private Keys on Memory-constrained Platforms. In: Proceedings of the 15th international conference on Information Security, ISC 2012. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2012) Strenzke, F.: Timing Attacks against the Syndrome Inversion in Code-based Cryptosystems. In: The fifth international Workshop on Post-Quantum Cryptography, PQC 2013. Lecture Notes in Computer Science, Springer Berlin / Heidelberg (2013) Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 36 / 37

slide-160
SLIDE 160

McEliece and Niederreiter

McEliece

Gp = [I|G2] = GT ∈ Fn×k

2

G2 ∈ Fmt×k

2

T ∈ Fk×k

2

Niederreiter

Hp = [I|H2] = TH ∈ Fmt×n

2

H2 ∈ Fmt×k

2

secret key contains T ∈ Fmt×mt

2

Efficiency and Implementation Security of Code-based Cryptosyst. Falko Strenzke 37 / 37