attacks on the mersenne-based ajps cryptosystem...choose f;g 2r such that jfj= jgj= w and g...

76
Attacks on the Mersenne-based AJPS cryptosystem Koen de Boer 1 , L. Ducas 1 , S. Jeffery 1,2 , R. de Wolf 1,2,3 1 Centrum Wiskunde en Informatica, Amsterdam 2 QuSoft, Amsterdam 3 University of Amsterdam April 9, 2018 April 9, PQCrypto, Fort Lauderdale, Florida 1 / 15

Upload: others

Post on 17-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Attacks on the Mersenne-based AJPS cryptosystem

Koen de Boer 1, L. Ducas 1, S. Jeffery 1,2, R. de Wolf 1,2,3

1Centrum Wiskunde en Informatica, Amsterdam

2QuSoft, Amsterdam

3University of Amsterdam

April 9, 2018

April 9, PQCrypto, Fort Lauderdale, Florida 1 / 15

Page 2: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 3: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 4: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 5: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

Beunardeau, Connolly, Geraud, Naccache [BCGN17]

Describe an experimental lattice-reduction attack.

Jun ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 6: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

Beunardeau, Connolly, Geraud, Naccache [BCGN17]

Describe an experimental lattice-reduction attack.

Jun ’17

Our contribution

Meet-in-the-Middle attack

Analysis of the lattice-attack of Beunardeau et al.

Dec ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 7: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

Beunardeau, Connolly, Geraud, Naccache [BCGN17]

Describe an experimental lattice-reduction attack.

Jun ’17

Our contribution

Meet-in-the-Middle attack

Analysis of the lattice-attack of Beunardeau et al.Dec ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 8: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Aggarwal, Joux, Prakash, Santha [AJPS17]

Propose potentially quantum-safe public-keycryptosystem based on Mersenne numbers andNTRU [HPS98].

Consider but dismiss Meet-in-the-Middle andlattice attacks.

Hope that ‘brute force’ is the optimal attack.

May ’17

Beunardeau, Connolly, Geraud, Naccache [BCGN17]

Describe an experimental lattice-reduction attack.

Jun ’17

Our contribution

Meet-in-the-Middle attack ← this talk

Analysis of the lattice-attack of Beunardeau et al.Dec ’17

April 9, PQCrypto, Fort Lauderdale, Florida 2 / 15

Page 9: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Table of Contents

1 The Mersenne-number based AJPS-cryptosystem

2 Meet-in-the-Middle attack on the AJPS cryptosystemExample: Subset-sum problemMITM in the AJPS-cryptosystem

April 9, PQCrypto, Fort Lauderdale, Florida 3 / 15

Page 10: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 11: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.

For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

a ∈ R bin. rep. |a|0 0...000 01 0...001 12 0...010 13 0...011 2...

......

2n − 2 1...110 n − 1

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 12: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

a ∈ R bin. rep. |a|0 0...000 01 0...001 12 0...010 13 0...011 2...

......

2n − 2 1...110 n − 1

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 13: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

a ∈ R bin. rep. |a|0 0...000 01 0...001 12 0...010 13 0...011 2...

......

2n − 2 1...110 n − 1

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 14: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 15: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

f = , g =

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 16: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

f = , g =

h = fg =

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 17: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 18: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 19: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 20: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

The AJPS cryptosystem

Set R = Z/NZ, where N = 2n − 1 with n prime.

Each element in R can be uniquely identified by its binaryrepresentation in {0, 1}n\{1n}.For a ∈ R, set |a| := the Hamming weight of the binaryrepresentation of a.

Set w = b√n/2c.

Choose f , g ∈ R such that |f | = |g | = w and g invertible.

Set h = f /g . Public key is h and secret key g .

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Brute force attack: Guess a g ∈ R with |g | = w , check whether |gh| = w .time:

(nw

).

April 9, PQCrypto, Fort Lauderdale, Florida 4 / 15

Page 21: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Table of Contents

1 The Mersenne-number based AJPS-cryptosystem

2 Meet-in-the-Middle attack on the AJPS cryptosystemExample: Subset-sum problemMITM in the AJPS-cryptosystem

April 9, PQCrypto, Fort Lauderdale, Florida 5 / 15

Page 22: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Meet-in-the-Middle attack

Improved time complexity, at the cost of greater space complexity.

April 9, PQCrypto, Fort Lauderdale, Florida 6 / 15

Page 23: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1z4 10z5 9z6 −5

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 24: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 25: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

6 {1}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 26: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

6 {1}8 {1, 2}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 27: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

6 {1}8 {1, 2}7 {1, 2, 3}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 28: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

-1 {3}1 {2, 3}2 {2}5 {1, 3}6 {1}7 {1, 2, 3}8 {1, 2}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 29: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

-1 {3}1 {2, 3}2 {2}5 {1, 3}6 {1}7 {1, 2, 3}8 {1, 2}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 30: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

-1 {3}1 {2, 3}2 {2}5 {1, 3}6 {1}7 {1, 2, 3}8 {1, 2}

−∑

i∈{4} zi = −10

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 31: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z4 −5

i L[i ]

-1 {3}1 {2, 3}2 {2}5 {1, 3}6 {1}7 {1, 2, 3}8 {1, 2}

−∑

i∈{4} zi = −10−∑

i∈{5} zi = −9

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 32: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1

z4 10z5 9z6 −5

i L[i ]

-1 {3}1 {2, 3}2 {2}5 {1, 3}6 {1}7 {1, 2, 3}8 {1, 2}

−∑

i∈{4} zi = −10−∑

i∈{5} zi = −9−

∑∑∑i∈{6} zi = 5

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 33: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the subset-sum problem

Subset-sum problem

Given z1, . . . , zn ∈ ZFind I ⊆ {1, . . . , n} such that

∑i∈I zi = 0.

For all I1 ⊆ {1, . . . , n/2}, store I1 in the bucket L[∑

i∈I1 zi].

For every I2 ⊆ {n/2 + 1, . . . , n} do

Check whether the bucket L[−∑

i∈I2zi]

is non-empty.

If it is, output I2 and a I1 ∈ L[−∑

i∈I2zi].

z1 6z2 2z3 −1z4 10z5 9z6 −5

Output: {1, 3} ∪ {6}

April 9, PQCrypto, Fort Lauderdale, Florida 7 / 15

Page 34: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 35: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 36: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

g = =

g1+

g2

Then hg1 = −hg2 + f

Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 37: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 38: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

−hg2f

hg1

Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 39: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

−hg2f

hg1Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 40: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

−hg2f

hg1Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 41: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

The Mersenne Low Hamming Ratio Problem

Given h ∈ R, which is quotient of two elements of low Hamming wt.

Find f , g ∈ R with |f | = |g | = w such that h = f /g .

Split g = g1 + g2. (hg = f )

Then hg1 = −hg2 + f

−hg2f

hg1Heuristically, assume −hg2 is random.

Then ∆Hamm(−hg2, hg1) ≤ 2w + c√w with error probability ≤ e−c/8.

Informally: −hg2 ≈ hg1.

April 9, PQCrypto, Fort Lauderdale, Florida 8 / 15

Page 42: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.If such t exists, pick g1 ∈ L[t] and output g1 + g2.

g = =

g1+

g2

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 43: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.If such t exists, pick g1 ∈ L[t] and output g1 + g2.

Hash Table L:Key Bucket

hg1→ {g1}hg ′1 → {g ′1}

......

. . . . . .

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 44: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.If such t exists, pick g1 ∈ L[t] and output g1 + g2.

Hash Table L:Key Bucket

hg1→ {g1}hg ′1 → {g ′1}

......

. . . . . .

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 45: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.

If such t exists, pick g1 ∈ L[t] and output g1 + g2.

Hash Table L:Key Bucket

hg1→ {g1}hg ′1 → {g ′1}

......

. . . . . .

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 46: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.If such t exists, pick g1 ∈ L[t] and output g1 + g2.

Hash Table L:Key Bucket

hg1→ {g1}hg ′1 → {g ′1}

......

. . . . . .

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 47: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, store {g1} into the bucket L[hg1].

For all g2, do

Find t ≈ −hg2, such that L[t] is non-empty.If such t exists, pick g1 ∈ L[t] and output g1 + g2.

Hash Table L:Key Bucket

hg1→ {g1}hg ′1 → {g ′1}

......

Problem: There are many t ≈ −hg2, andmost of the buckets L[t] are empty

April 9, PQCrypto, Fort Lauderdale, Florida 9 / 15

Page 48: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Locality Sensitive Hashing

hg1 = −hg2 + f

−hg2f

hg1

Locality Sensitive Hashing

Construct the ‘hash’ function H : {0, 1}n → {0, 1}k , sendingbn · · · b1 7→ bk+i · · · bi .

Hope: H(hg1) = H(−hg2)

April 9, PQCrypto, Fort Lauderdale, Florida 10 / 15

Page 49: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Locality Sensitive Hashing

hg1 = −hg2 + f

−hg2f

hg1

Locality Sensitive Hashing

Construct the ‘hash’ function H : {0, 1}n → {0, 1}k , sendingbn · · · b1 7→ bk+i · · · bi .

Hope: H(hg1) = H(−hg2)

April 9, PQCrypto, Fort Lauderdale, Florida 10 / 15

Page 50: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Locality Sensitive Hashing

hg1 = −hg2 + f

−hg2f

hg1

Locality Sensitive Hashing

Construct the ‘hash’ function H : {0, 1}n → {0, 1}k , sendingbn · · · b1 7→ bk+i · · · bi .

Hope: H(hg1) = H(−hg2)

April 9, PQCrypto, Fort Lauderdale, Florida 10 / 15

Page 51: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Locality Sensitive Hashing

hg1 = −hg2 + f

−hg2f

hg1

Locality Sensitive Hashing

Construct the ‘hash’ function H : {0, 1}n → {0, 1}k , sendingbn · · · b1 7→ bk+i · · · bi .

Hope: H(hg1) = H(−hg2)

April 9, PQCrypto, Fort Lauderdale, Florida 10 / 15

Page 52: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.

For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

g = =

g1+

g2

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 53: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].

For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 54: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].

For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 55: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 56: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.

If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 57: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .

If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 58: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Hash Table L:Key Bucket

H(hg1)→ {g ′1, g ′′1 , g1, . . .}H(hg ′′′1 )→ {g ′′′1 , . . .}

......

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 59: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket‘false negatives’: close element in ‘wrong’ bucket

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 60: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket

‘false negatives’: close element in ‘wrong’ bucket

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 61: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket‘false negatives’: close element in ‘wrong’ bucket

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 62: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket‘false negatives’: close element in ‘wrong’ bucket

Solution: Choose the block size of H to be log2(n/2w/2

). Repeat algorithm

over randomized H.

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 63: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket‘false negatives’: close element in ‘wrong’ bucket

Solution: Choose the block size of H to be log2(n/2w/2

). Repeat algorithm

over randomized H. Using a combinatorial heuristic, this works.

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 64: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

MITM in the AJPS-cryptosystem

Split a possible g = g1 + g2 in two parts, where g1 ∈ {0, 1}n/2 × 0n/2

and g2 ∈ 0n/2 × {0, 1}n/2.For all g1, {g1} into the bucket L[H(hg1)].For all g2 do

Check whether L[H(−hg2)] is non-empty.If so, then check if some g1 ∈ L[H(−hg2)] satisfies |h(g1 + g2)| = w .If so, output g1 + g2.

Difficulties:

‘false positives’: non-close elements in the bucket‘false negatives’: close element in ‘wrong’ bucket

Solution: Choose the block size of H to be log2(n/2w/2

). Repeat algorithm

over randomized H. Using a combinatorial heuristic, this works.

This algorithm breaks the AJPS system in time(n/2w/2

)≈ n

√n/8

April 9, PQCrypto, Fort Lauderdale, Florida 11 / 15

Page 65: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Attack Authors Running time

Classical Quantum

Brute force AJPS n√n4 n

√n8

Meet in the Middle Our work n√n8 n

√n

12

Lattice attack BCGN 2√n ? 2

√n/2 ?

Our analysis 2.01√n 2.01

√n/2

April 9, PQCrypto, Fort Lauderdale, Florida 12 / 15

Page 66: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Attack Authors Running time

Classical Quantum

Brute force AJPS n√n4 n

√n8

Meet in the Middle Our work n√n8 n

√n

12

Lattice attack BCGN 2√n ? 2

√n/2 ?

Our analysis 2.01√n 2.01

√n/2

April 9, PQCrypto, Fort Lauderdale, Florida 12 / 15

Page 67: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Attack Authors Running time

Classical Quantum

Brute force AJPS n√n4 n

√n8

Meet in the Middle Our work n√n8 n

√n

12

Lattice attack BCGN 2√n ? 2

√n/2 ?

Our analysis 2.01√n 2.01

√n/2

April 9, PQCrypto, Fort Lauderdale, Florida 12 / 15

Page 68: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Attack Authors Running time

Classical Quantum

Brute force AJPS n√n4 n

√n8

Meet in the Middle Our work n√n8 n

√n

12

Lattice attack BCGN 2√n ? 2

√n/2 ?

Our analysis 2.01√n 2.01

√n/2

April 9, PQCrypto, Fort Lauderdale, Florida 12 / 15

Page 69: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Overview

Attack Authors Running time

Classical Quantum

Brute force AJPS n√n4 n

√n8

Meet in the Middle Our work n√n8 n

√n

12

Lattice attack BCGN 2√n ? 2

√n/2 ?

Our analysis 2.01√n 2.01

√n/2

April 9, PQCrypto, Fort Lauderdale, Florida 12 / 15

Page 70: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Open Questions

We analyzed the lattice attack of Beunardeau et al. overrandomly chosen keys.

Are there specific ‘weak’ keys for this lattice attack?

Aggarwal et al. improved their cryptosystem [AJPS17], allowing toencrypt more bits.What is the security of this improved system?

April 9, PQCrypto, Fort Lauderdale, Florida 13 / 15

Page 71: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Open Questions

We analyzed the lattice attack of Beunardeau et al. overrandomly chosen keys.Are there specific ‘weak’ keys for this lattice attack?

Aggarwal et al. improved their cryptosystem [AJPS17], allowing toencrypt more bits.What is the security of this improved system?

April 9, PQCrypto, Fort Lauderdale, Florida 13 / 15

Page 72: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Open Questions

We analyzed the lattice attack of Beunardeau et al. overrandomly chosen keys.Are there specific ‘weak’ keys for this lattice attack?

Aggarwal et al. improved their cryptosystem [AJPS17], allowing toencrypt more bits.

What is the security of this improved system?

April 9, PQCrypto, Fort Lauderdale, Florida 13 / 15

Page 73: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Open Questions

We analyzed the lattice attack of Beunardeau et al. overrandomly chosen keys.Are there specific ‘weak’ keys for this lattice attack?

Aggarwal et al. improved their cryptosystem [AJPS17], allowing toencrypt more bits.What is the security of this improved system?

April 9, PQCrypto, Fort Lauderdale, Florida 13 / 15

Page 74: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Main lesson

Collisions don’t need to be exact to apply aMeet-in-the-Middle attack

April 9, PQCrypto, Fort Lauderdale, Florida 14 / 15

Page 75: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

Main lesson

Collisions don’t need to be exact to apply aMeet-in-the-Middle attack

April 9, PQCrypto, Fort Lauderdale, Florida 14 / 15

Page 76: Attacks on the Mersenne-based AJPS cryptosystem...Choose f;g 2R such that jfj= jgj= w and g invertible. Set h = f=g. Public key is h and secret key g. The Mersenne Low Hamming Ratio

References

D. Aggarwal et al. A New Public-Key Cryptosystem viaMersenne Numbers. Cryptology ePrint Archive, Report2017/481. http://eprint.iacr.org/2017/481. 2017.

A. Ambainis. “Quantum Search with Variable Times”. In:Theory of Computing Systems 47.3 (2010), pp. 786–807.issn: 1433-0490. doi: 10.1007/s00224-009-9219-1.

M. Beunardeau et al. “On the Hardness of the Mersenne LowHamming Ratio Assumption”. In: Progress in Cryptology –LATINCRYPT 2017. Available athttp://eprint.iacr.org/2017/522. 2017.

J. Hoffstein, J. Pipher, and J. H. Silverman. “NTRU: Aring-based public key cryptosystem”. In: InternationalAlgorithmic Number Theory Symposium. Springer. 1998,pp. 267–288.

April 9, PQCrypto, Fort Lauderdale, Florida 15 / 15