Cryptanalysis of Two Variants of the McEliece Cryptosystem Ayoub - - PowerPoint PPT Presentation

cryptanalysis of two variants of the mceliece cryptosystem
SMART_READER_LITE
LIVE PREVIEW

Cryptanalysis of Two Variants of the McEliece Cryptosystem Ayoub - - PowerPoint PPT Presentation

Cryptanalysis of Two Variants of the McEliece Cryptosystem Ayoub Otmani 1 Ayoub.Otmani@info.unicaen.fr eonard Dallot 1 Jean-Pierre Tillich 2 L Leonard.Dallot@info.unicaen.fr jean-pierre.tillich@inria.fr 1 GREYC - Groupe de Recherche en


slide-1
SLIDE 1

Cryptanalysis of Two Variants of the McEliece Cryptosystem

Ayoub Otmani 1

Ayoub.Otmani@info.unicaen.fr

L´ eonard Dallot 1 Jean-Pierre Tillich 2

Leonard.Dallot@info.unicaen.fr jean-pierre.tillich@inria.fr 1 GREYC - Groupe de Recherche en Informatique, Image, Automatique et Instrumentation de Caen (UMR 6072) 2 ´ Equipe-projet Secret, INRIA-Rocquencourt S´ eminaire ALI/SALSA. April 3, 2009.

slide-2
SLIDE 2
  • I. Background

S´ eminaire ALI/SALSA. April 3, 2009. 1

slide-3
SLIDE 3

Introduction

  • Asymmetric cryptography concepts introduced by Diffie & Hellman

(’76)

  • Rivest, Shamir & Adleman invented RSA (’77)

– First asymmetric cryptosystem – Widely accepted for practical uses – Extensively studied that induces (too?) many security recommendations

  • But, alternative cryptosystems exist . . . such as McEliece cryptosystem

S´ eminaire ALI/SALSA. April 3, 2009. 2

slide-4
SLIDE 4

McEliece Cryptosystem

  • Let Fn,k,t be a family of codes of length n and dimension k capable of

correcting ≤ t errors.

  • Cryptosystem described by three algorithms:
  • 1. (PK, SK) ←

− Setup(1λ)

  • 2. c ∈ Fn

2 ←

− Encrypt(m ∈ Fk

2)

  • 3. m′ ∈ Fk

2 ←

− Decrypt(c′ ∈ Fn

2)

S´ eminaire ALI/SALSA. April 3, 2009. 3

slide-5
SLIDE 5

McEliece.Setup

(PK, SK) ← Setup(1λ)

  • 1. Take n, k, t according to λ
  • 2. Randomly choose a generator matrix G′ ∈ Fn,k,t
  • 3. Randomly pick:

– n × n permutation matrix P – k × k invertible matrix S

  • 4. Set G = S × G′ × P and γ : Fn

2 → Fk 2 as the decoding algorithm

associated with G′

  • 5. Output

PK = (G, t) and SK = (S, P, γ)

S´ eminaire ALI/SALSA. April 3, 2009. 4

slide-6
SLIDE 6

McEliece.Encrypt

c ∈ Fn

2 ← Encrypt(m ∈ Fk 2)

  • 1. Pick a random vector e ∈ Fn

2 of weight ≤ t

  • 2. Output c = m × G ⊕ e

S´ eminaire ALI/SALSA. April 3, 2009. 5

slide-7
SLIDE 7

McEliece.Decrypt

m′ ∈ Fk

2 ← Decrypt(c′ ∈ Fn 2)

  • 1. Calculate z = c′ × P −1

// z = m × (S × G′) ⊕ (e × P −1)

  • 2. Compute y = γ(z)

// y = m × S

  • 3. Output m′ = y × S−1

// m′ = m

S´ eminaire ALI/SALSA. April 3, 2009. 6

slide-8
SLIDE 8

McEliece Cryptosystem – Security Assumptions

  • One-Wayness under Chosen Plaintext Attack (OW-CPA)

Difficult to invert Encrypt (decoding attack)

  • Private key recovery

Difficult to extract secret matrices or an equivalent secret matrix having an efficient decoding algorithm from the public matrix (structural attack) Remark. Public code and secret code are permutation equivalent

S´ eminaire ALI/SALSA. April 3, 2009. 7

slide-9
SLIDE 9

McEliece Cryptosystem Security – OW-CPA

  • 1. Decoding random linear codes is NP-Hard
  • E. R. Berlekamp, R. J. McEliece, and H. C. A. van Tilborg. On the intractability of certain coding problems. IEEE Transactions on

Information Theory, 24(3):384–386, 1978.

  • 2. Best practical algorithms operate exponentially with the length and the rate

D.J. Bernstein, T. Lange, and C. Peters. Attacking and defending the mceliece cryptosystem. In PQCrypto, pages 31–46, 2008.

  • 3. Permuted Goppa codes look like random linear codes
  • ALSA. April 3, 2009.

8

slide-10
SLIDE 10

McEliece Cryptosystem – Private Key Recovery

  • Hardness does not come from the problem of permutation equivalence

because in practise Support Splitting Algorithm easily solves it

  • N. Sendrier. Finding the permutation between equivalent codes: the support splitting algorithm. IEEE Transactions on Information Theory,
  • vol. 46, no. 4, pages 1193-1203, July 2000.
  • But rather from the huge sizes of Fn,k,t and the symmetric group of order n

Remark. Original McEliece scheme is still unbroken unlike many other variants. . .

S´ eminaire ALI/SALSA. April 3, 2009. 9

slide-11
SLIDE 11

McEliece Cryptosystem Variants

Replacing Goppa codes

  • 1. Reed-Solomon codes (Niederreiter ’86)
  • 2. Concatenated codes
  • 3. Reed-Muller codes (Sidelnikov ’94)

S´ eminaire ALI/SALSA. April 3, 2009. 10

slide-12
SLIDE 12

Insecure McEliece Cryptosystem Variants

  • Reed-Solomon codes

V.M. Sidelnikov and S.O. Shestakov. On the insecurity of cryptosystems based on generalized Reed-Solomon codes. Discrete Mathematics and Applications, 1(4):439–444, 1992.

  • Concatenated codes
  • N. Sendrier. On the Structure of Randomly Permuted Concatenated Code. Rapport de recherche de l’INRIA - Rocquencourt. Janvier 1995
  • Reed-Muller codes.
  • L. Minder and A. Shokrollahi. Cryptanalysis of the Sidelnikov cryptosystem. In Eurocrypt 2007, volume 4515 of Lecture Notes in

Computer Science, pages 347–360, Barcelona, Spain, 2007. S´ eminaire ALI/SALSA. April 3, 2009. 11

slide-13
SLIDE 13

McEliece Cryptosystem

  • Three advantages

– Fast encryption/decryption algorithms – Original scheme still secure – Alternative solution to RSA for quantum computers!

  • Main drawback: huge public key

For instance, parameters proposed in ’78 (now outdated) ∗ Goppa codes with n = 1024, k = 524 ∗ Private key ≃ 300 Kbits ∗ Public key ≃ 500 Kbits

S´ eminaire ALI/SALSA. April 3, 2009. 12

slide-14
SLIDE 14

Reducing Key Sizes

  • 1. Sparse matrices
  • A. Shokrollahi C. Monico, J. Rosenthal. Using low density parity check codes in the McEliece cryptosystem. In IEEE International

Symposium on Information Theory (ISIT 2000), page 215, Sorrento, Italy, 2000.

  • 2. Quasi-cyclic matrices
  • P. Gaborit. Shorter keys for code based cryptography. In Proceedings of the 2005 International Workshop on Coding and Cryptography (WCC

2005), pages 81–91, Bergen, Norway, March 2005.

  • 3. Sparse quasi-cyclic matrices
  • M. Baldi, G. F. Chiaraluce. Cryptanalysis of a new instance of McEliece cryptosystem based on QC-LDPC codes. In IEEE International

Symposium on Information Theory, pages 2591–2595, Nice, France, March 2007.

  • ALSA. April 3, 2009.

13

slide-15
SLIDE 15

Low Density Parity Check Codes

Some facts.

  • Invented by Gallager (’68) and rediscovered by Mackay (’98)
  • Linear codes defined by very sparse parity check matrices
  • Iteratively decoded through Belief Propagation algorithm
  • For any cryptographic use, one has to hide the sparsity of matrices

Notation. Ln,k,t : family of LDPC codes of length n, dimension k and correcting capability of t errors.

S´ eminaire ALI/SALSA. April 3, 2009. 14

slide-16
SLIDE 16

LDPC Codes in the McEliece Cryptosystem

Setup(1λ)

  • 1. Randomly choose a parity check matrix H′ ∈ Ln,k,t
  • 2. Randomly pick sparse invertible (n − k) × (n − k) matrix T and k × k

matrix S

  • 3. Set H = T × H′
  • 4. Output SK = (H′, T) and PK = (H, S, t)

Remark. H and H′ define the same code C .

S´ eminaire ALI/SALSA. April 3, 2009. 15

slide-17
SLIDE 17

LDPC Codes in the McEliece Cryptosystem

Encrypt(m)

  • 1. Compute a generator matrix G in row reduced echelon form from H.
  • 2. Set ˜

G = S−1 × G

  • 3. Output c = m × ˜

G ⊕ e Decrypt(c)

  • 1. Decode c with H′

// G and ˜ G define the same code C

  • 2. Extract m × S−1 from m × ˜

G

  • 3. Output m

S´ eminaire ALI/SALSA. April 3, 2009. 16

slide-18
SLIDE 18

LDPC Codes in the McEliece Cryptosystem – Security Assumption

  • Dual of the public code must not have codewords of small weight
  • It should be hard to devise a sparse parity check matrix ˜

H equivalent to H′

  • It turns out not to be the case
  • A. Shokrollahi, C. Monico, J. Rosenthal. Using low density parity check codes in the McEliece cryptosystem. In IEEE International

Symposium on Information Theory (ISIT 2000), page 215, Sorrento, Italy, 2000. S´ eminaire ALI/SALSA. April 3, 2009. 17

slide-19
SLIDE 19

LDPC Codes in the McEliece Cryptosystem – Structural Attack

Notation. – Let vi be the ith row of a matrix V – Let vi ∩ vj be the intersection vector of vi and vj Basic observation. T and H′ are (very) sparse matrices With non-negligible probability, for many ℓ, there exist i, j such that h′

ℓ = hi ∩ hj

S´ eminaire ALI/SALSA. April 3, 2009. 18

slide-20
SLIDE 20

Secret Parity Check Matrix Recovery

  • 1. for any i, j do compute v = hi ∩ hj

2. if v ∈ C then B = B ∪ {v} 3. for any ℓ do 4. if wt(hℓ ⊕ v) < wt(hℓ) then 5. hℓ = hℓ ⊕ v 6. end if 7. end for 8. Goto 1 9. end if

  • 10. end for;
  • 11. Output B

S´ eminaire ALI/SALSA. April 3, 2009. 19

slide-21
SLIDE 21
  • II. Quasi-Cyclic Codes

S´ eminaire ALI/SALSA. April 3, 2009. 20

slide-22
SLIDE 22

Circulant Matrix

Definition.

  • M is a circulant p × p matrix if

M =        m0 m1 · · · mp−1 mp−1 m0 · · · mp−2 . . . . . . ... . . . m1 m2 · · · m0       

  • Weight of M is the weight of m = (m0, . . . , mp−1)

Notation. M − → m(x) = m0 + m1x + · · · mp−1xp−1

S´ eminaire ALI/SALSA. April 3, 2009. 21

slide-23
SLIDE 23

Circulant Matrix

  • Properties. Let M and N be circulant p × p matrices
  • M + N is circulant

M + N − → m(x) + n(x)

  • M × N is circulant

M × N − → m(x) · n(x) mod (xp − 1)

  • M T is circulant

M T − → m( 1 x) · xp

  • M is invertible iff m(x) is coprime with xp − 1

S´ eminaire ALI/SALSA. April 3, 2009. 22

slide-24
SLIDE 24

Circulant-by-Block Matrix

  • Definition. M = [Mi,j] is circulant-by-block if Mi,j is a circulant p × p

matrix M − → M(x) = [mi,j(x)]

  • Properties. Let M and N be circulant-by-block matrices
  • M + N, M × N, M T are also circulant-by-block matrices
  • M is invertible iff det(M)(x) is coprime with (xp − 1)
  • M −1 is a circulant-by-block matrix

S´ eminaire ALI/SALSA. April 3, 2009. 23

slide-25
SLIDE 25

Quasi-Cylic Codes

  • Let n = pn0 and r = pr0 with p, n0 and r0 positive integers
  • Let H be an r × n parity check matrix of a code C

Definition. C is quasi-cyclic if H = [Hi,j] with each Hi,j is a circulant p × p matrix C is a quasi-cyclic low density parity check code if each Hi,j is sparse Notation. H − → H(x) = [hi,j(x)]

S´ eminaire ALI/SALSA. April 3, 2009. 24

slide-26
SLIDE 26
  • III. Cryptanalysis of a McEliece Cryptosystem

Based on Quasi-Cyclic Subcodes of BCH Codes

S´ eminaire ALI/SALSA. April 3, 2009. 25

slide-27
SLIDE 27

McEliece Cryptosystem Based on Quasi-Cyclic Subcodes of BCH Codes (’05)

  • P. Gaborit. Shorter keys for code based cryptography. Proceedings of Workshop on Codes and Cryptography, Bergen, (2005), page 81-90.

In a nutshell.

  • Let C0 be a cyclic code of length n = pn0, dimension K = pK0 and capable
  • f correcting t errors
  • Let Ln,k,t be the family of subcodes of C0 of dimension k = K − p
  • Public code is a quasi-cyclic code equivalent to a code of Ln,k,t

Remark. The number of subcodes is ≥ 2K−p

S´ eminaire ALI/SALSA. April 3, 2009. 26

slide-28
SLIDE 28

McEliece Cryptosystem Based on Quasi-Cyclic Subcodes of BCH Codes

Setup(1λ)

  • 1. Choose a parity check matrix H0 of C0
  • 2. Randomly pick a vector v ∈ C ⊥
  • 3. Randomly pick a quasi-circulant generator matrix G of the code defined

by the parity check matrix   H0 v  

  • 4. Randomly pick an n0 × n0 permutation matrix P
  • 5. Calculate G in row reduced echelon form from H
  • 6. Compute G′ = S−1 × G × P −1
  • 7. Output PK = (G′, t) and SK = (S, H, P)

S´ eminaire ALI/SALSA. April 3, 2009. 27

slide-29
SLIDE 29

Cryptanalysis

Principle.

  • Find an n0 × n0 matrix X such that

H0 × (G × X)T = 0

  • Secret permutation P satisfies this linear equation
  • Number of unknowns is n2

0 and number of equations is

(k − p)(n − K) = p2(k0 − 1)(n0 − K0)

  • For the proposed parameters, we always have p > n0 P is the unique

solution! Example.

  • Parameters A: p = 91, n0 = 45 and k0 = 43
  • Parameters B: p = 89, n0 = 23 and k0 = 21

S´ eminaire ALI/SALSA. April 3, 2009. 28

slide-30
SLIDE 30
  • IV. Cryptanalysis of a McEliece Cryptosystem

Based on Quasi-Cyclic LDPC Codes

S´ eminaire ALI/SALSA. April 3, 2009. 29

slide-31
SLIDE 31

McEliece Cryptosystem Based on Quasi-Cyclic LDPC Codes (’07)

Description.

  • Assume r0 = 1
  • Let C be a QC-LDPC code defined by

H = [H1 · · · Hn0] where Hi is a sparse circulant p × p matrix of column weight dv

  • C is able to decode up to t′ errors
  • Hn0 has full rank and dimension of C is k = p(n0 − 1)

S´ eminaire ALI/SALSA. April 3, 2009. 30

slide-32
SLIDE 32

McEliece Cryptosystem Based on Quasi-Cyclic LDPC Codes

Setup(1λ)

  • 1. Choose integers s, m such that m << p and t = t′/m
  • 2. Randomly pick invertible matrix

– S = [Si,j] where Si,j is sparse circulant p × p matrix of weight s – Q = [Qi,j] where Qi,j is sparse circulant p × p matrix of weight m

  • 3. Calculate a generator matrix G in row reduced echelon form from H
  • 4. Compute G′ = S−1 × G × Q−1
  • 5. Output PK = (G′, t) and SK = (S, H, Q)

S´ eminaire ALI/SALSA. April 3, 2009. 31

slide-33
SLIDE 33

McEliece Cryptosystem Based on Quasi-Cyclic LDPC Codes

Encrypt(x)

  • 1. Randomly choose an error e ∈ Fn

2 of weight t

  • 2. Calculate y = x · G′ ⊕ e

Decrypt(y)

  • 1. Calculate z = y · Q

// z = (x · S−1 × G) ⊕ e · Q

  • 2. Decode z into x′

// x′ = x · S−1

  • 3. Output x′ · S

Remark. e′ = e · Q is of weight ≤ mt = t′

S´ eminaire ALI/SALSA. April 3, 2009. 32

slide-34
SLIDE 34

McEliece Cryptosystem Based on Quasi-Cyclic LDPC Codes

Proposed parameters.

  • Q is chosen in diagonal form

Q =      Q1 ... Qn0     

  • Qi’s are invertible

Suggested values.

  • n0 = 4, p = 4032, dv = 13, t′ = 190 and t = 27
  • s = m = 190/27 = 7

S´ eminaire ALI/SALSA. April 3, 2009. 33

slide-35
SLIDE 35

Cryptosystem Analysis

Preliminaries.

  • Since H = [H1 · · · Hn0] with Hn0 invertible

G =      (H−1

n0 H1)T

Ik . . . (H−1

n0 Hn0−1)T

    

  • This implies that k first columns of public matrix G′ is equal to

G′

≤k = S−1 ×

     Q−1

1

... Q−1

n0−1

    

S´ eminaire ALI/SALSA. April 3, 2009. 34

slide-36
SLIDE 36

Cryptosystem Analysis

Or, equivalently by inverting G≤k and adopting a polynomial approach

  • G′

≤k

−1 (x) =            q1(x) · s1,1(x) · · · q1(x) · s1,n0−1(x) . . . . . . qi(x) · si,1(x) · · · qi(x) · si,n0−1(x) . . . . . . qn0−1(x) · sn0−1,1(x) · · · qn0−1(x) · sn0−1,n0−1(x)            where qi(x) and si,j(x) are sparse polynomials: they are both of weight m and degree < p

S´ eminaire ALI/SALSA. April 3, 2009. 35

slide-37
SLIDE 37

Cryptosystem Analysis

Cryptanalysis principle Given a polynomial g(x) of degree < p, find two polynomials q(x) and s(x) of weight m << p such that g(x) = q(x) · s(x) mod (xp − 1) Remark.

  • With high probability the weight of g(x) is m2
  • More precisely, with high probability there exists ℓ such that
  • xℓ · q(x)
  • ∩ g(x) = xℓ · q(x)

S´ eminaire ALI/SALSA. April 3, 2009. 36

slide-38
SLIDE 38

Cryptosystem Analysis

Lemma.

  • Let q(x) be a polynomial of degree < p and weight m
  • Let ℓ1, . . . , ℓj be different integers < p
  • Randomly pick 0 ≤ ℓ ≤ p − 1 different from ℓ1, . . . , ℓj

Prob

  • xℓ1 + · · · + xℓj

· q(x) ∩ xℓ · q(x) = 0

j m(m − 1) p − j

S´ eminaire ALI/SALSA. April 3, 2009. 37

slide-39
SLIDE 39

Cryptosystem Analysis

Proof.

  • Set first q(x) = xe1 + · · · xem and r(x) =
  • xℓ1 + · · · + xℓj

· q(x)

  • By the union bound

Prob

  • r(x) ∩ xℓ · q(x) = 0
  • a∈{ℓ1,...,ℓj}

Prob

  • xa · q(x) ∩ xℓ · q(x) = 0
  • Prob
  • xa · qi(x) ∩ xℓ · qi(x) = 0
  • is at most the fraction of ℓ different from

ℓ1, . . . , ℓj such that there exist eb and ec with a + eb = ℓ + ec mod p

  • Thus,

Prob

  • xa · qi(x) ∩ xℓ · qi(x) = 0
  • ≤ m(m − 1)

p − j

S´ eminaire ALI/SALSA. April 3, 2009. 38

slide-40
SLIDE 40

Cryptosystem Analysis

Probabilistic model.

  • Let q(x) be a fixed polynomial of weight m and degree < p
  • Let ℓ1, . . . , ℓm be different chosen integers uniformly and independently
  • Set s(x) = xℓ1 + · · · + xℓm and g(x) = q(x) · s(x) mod (xp − 1)

Proposition. Let ℓ be an arbitrary element in {ℓ1, . . . , ℓm} The probability that g(x) contains exactly xℓ · q(x) verifies Prob

  • xℓ · q(x) ∩ g(x) = xℓ · q(x)
  • 1 − m(m − 1)

p − 1 m−1

S´ eminaire ALI/SALSA. April 3, 2009. 39

slide-41
SLIDE 41

Cryptosystem Analysis

Proof.

  • Set L = {ℓ1, . . . , ℓm} − {ℓ}
  • By the independence in the choice of the (m − 1) integers different from ℓ

Prob

  • xℓ · q(x) ∩
  • a∈L

xa · q(x) = ∅

  • =
  • a∈L

Prob

  • xℓ · q(x) ∩ xa · q(x) = ∅
  • Apply Lemma with j = 1 for any a ∈ L

Prob

  • xℓ · q(x) ∩ xa · q(x) = ∅

1 − m(m − 1) p − 1 Numerical results. For p = 4032 and m = 7 then

  • 1 − m(m − 1)

p − 1 m−1 ≥ 0.99

S´ eminaire ALI/SALSA. April 3, 2009. 40

slide-42
SLIDE 42

Cryptanalysis - First Strategy

  • Input. g(x) of weight ≤ m2 and degree < p
  • Output. q(x) and s(x) of weight m and degree < p such that

q(x) · s(x) = g(x) mod (xp − 1)

  • 1. Enumerate all the m-tuples (e1, . . . , em) of the support of g(x)

2. Calculate q(x) = xe1 + · · · + xem 3. If q(x) is coprime with xp − 1 then 4. Calculate s = q−1(x) · g(x) mod (xp − 1) 5. If wt(s) = m then 6. Return q(x) and s(x) 7. end if 8. end if

S´ eminaire ALI/SALSA. April 3, 2009. 41

slide-43
SLIDE 43

Cryptanalysis - First Strategy

  • Time complexity.

O m2 m

  • p2
  • Numerical results. For p = 4032 and m = 7, we obtain 250.3 operations
  • Probability of success. ≥ 99%

But we can do faster. . .

S´ eminaire ALI/SALSA. April 3, 2009. 42

slide-44
SLIDE 44

Cryptanalysis - Second Strategy

  • 1. For each 1 ≤ d ≤ p − 1 do

2. gd(x) = xd · g(x) mod (xp − 1) 3. q(x) = gd(x) ∩ g(x) 4. If (wt(q) = m) and (q(x) coprime with xp − 1) then 5. s(x) = q−1(x) · g(x) mod (xp − 1) 6. If wt(s) = m then 7. Return q(x) and s(x) 8. End if 9. End if

  • 10. End for

S´ eminaire ALI/SALSA. April 3, 2009. 43

slide-45
SLIDE 45

Cryptanalysis - Second Strategy

  • Time complexity.

O

  • p3
  • Numerical results. For p = 4032, we obtain 236 operations
  • Probability of success. Difficult to evaluate but experimentally ≃ 69%

S´ eminaire ALI/SALSA. April 3, 2009. 44

slide-46
SLIDE 46

Cryptanalysis - Second Strategy

Probabilistic model.

  • Fix an integer 1 ≤ d ≤ p − 1
  • Randomly pick m − 2 different positive integers ℓ1, . . . , ℓm−2 ≤ p − 1
  • Randomly pick m different integers e1, . . . , em ≤ p − 1
  • Define the polynomials

s(x) = 1 + xd + xℓ1 + · · · + xℓm−2 and q(x) = xe1 + · · · + xem

S´ eminaire ALI/SALSA. April 3, 2009. 45

slide-47
SLIDE 47

Cryptanalysis - Second Strategy

Proposition. Let gd(x) = xd · g(x) mod (xp − 1) Then Prob

  • gd(x) ∩ g(x) = xd · q(x)

q where q =

m−2

  • a=1
  • 1 − 3(a + 1)m(m − 1)

p − a − 1 m−1

  • b=1
  • 1 −

3b p − b

  • Numerical values.

When m = 7 and p = 4032 then q > 0.50.

S´ eminaire ALI/SALSA. April 3, 2009. 46

slide-48
SLIDE 48

Secret Parity Check Matrix Extraction

  • Once secret matrices S and Q1, . . . , Qn0−1 are found, calculate matrix

˜ G = S×G′×        Q1 ... Qn0−1 Ip        =      (H−1

n0 H1)T × Q−1 n0

Ik . . . (H−1

n0 Hn0−1)T × Q−1 n0

    

  • Note that we still need to discover H1, . . . , Hn0 and Qn0

S´ eminaire ALI/SALSA. April 3, 2009. 47

slide-49
SLIDE 49

Secret Parity Check Matrix Extraction

  • Define Ai = Hi × H−1

n0 × (Q−1 n0 )T and Bi,j = Ai × A−1 j

  • Note that we also have:

Bi,j = Hi × H−1

j

  • Define the code C1 spanned by the generator matrix G1

G1 =

  • Ip

B2,1 · · · Bn0−1,1

  • Then we have H1 × G1 =
  • H1

H2 · · · Hn0−1

  • .
  • C1 contains codewords of small weight (n0 − 1)dv = 39.

S´ eminaire ALI/SALSA. April 3, 2009. 48

slide-50
SLIDE 50

Secret Parity Check Matrix Extraction

  • Applying dedicated algorithms like Canteaut-Chabeau (Time complexity

is about 246,75)

  • Final step:
  • 1. Compute H−1

i

× Ai = H−1

n0 × (Q−1 n0 )T

  • 2. Apply strategy 1 or 2 to find Hn0 and Qn0

S´ eminaire ALI/SALSA. April 3, 2009. 49

slide-51
SLIDE 51

Conclusion

  • Key reduction is a crucial issue when considering McEliece cryptosystems
  • Hiding structure is also a main security issue
  • Successfully combining these two aspects represents a big challenge

S´ eminaire ALI/SALSA. April 3, 2009. 50