LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar...

25
LUOV Ward Beullens, Bart Preneel, Alan Szepieniec, Frederik Vercauteren 1/ 10

Transcript of LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar...

Page 1: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

LUOV

Ward Beullens, Bart Preneel, Alan Szepieniec, Frederik Vercauteren

1 / 10

Page 2: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Overview

1

2

3

4

Introduction

Modifications

Some numbers

Conclusion

2 / 10

Page 3: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Goal of LUOV is to reduce the key sizes.(while preserving the good properties of UOV)

• Generate SK from seed• Generate most of PK from seed [Petzoldt]• Field lifting

=

What is LUOV? (baby don’t hurt me)

Unbalanced Oil and Vinegar (UOV) [Patarin 1997]

• Quadratic trapdoor function: P : Fnq → Fm

q with n > m.

• Trapdoor is a factorization of P F ◦ T , where T is linear and F linear in the last m variables (oil variables).

• Well understood signature scheme, fast, small signatures, but large keys. Used as building block for other MQ schemes (e.g. Rainbow).

3 / 10

Page 4: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

• Generate SK from seed• Generate most of PK from seed [Petzoldt]• Field lifting

=

What is LUOV? (baby don’t hurt me)

Unbalanced Oil and Vinegar (UOV) [Patarin 1997]

• Quadratic trapdoor function: P : Fnq → Fm

q with n > m.

• Trapdoor is a factorization of P F ◦ T , where T is linear and F linear in the last m variables (oil variables).

• Well understood signature scheme, fast, small signatures, but large keys. Used as building block for other MQ schemes (e.g. Rainbow).

Goal of LUOV is to reduce the key sizes. (while preserving the good properties of UOV)

3 / 10

Page 5: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

=

What is LUOV? (baby don’t hurt me)

Unbalanced Oil and Vinegar (UOV) [Patarin 1997]

• Quadratic trapdoor function: P : Fnq → Fm

q with n > m.

• Trapdoor is a factorization of P F ◦ T , where T is linear and F linear in the last m variables (oil variables).

• Well understood signature scheme, fast, small signatures, but large keys. Used as building block for other MQ schemes (e.g. Rainbow).

Goal of LUOV is to reduce the key sizes. (while preserving the good properties of UOV)

• Generate SK from seed

• Generate most of PK from seed [Petzoldt]

• Field lifting

3 / 10

Page 6: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Field Lifting Assumption:

Solving a random system P(x) = y over F2r is as hard as solving arandom system P(x) = y , where P is defined over F2, when r isprime.

= · · ·= · · ·= · · ·

Field lifting

Given a UOV key pair (P, T ) over F2, we can use it as a key pair over F2r .

2 + α30 x 1 + x1x2 + x3 + x1x4 + x4x5 + x5 1 + α2 + 2 2 + α31 x2x3 + x 3 + x2x6 + x3x4 + x3x5 + x 1 + α + 6

+ α31 x1x2 + x2x3 + x3x4 + x2 + x5x6 α + α5 + | {z } | {z } P(x) H(M)

4 / 10

Page 7: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

when r isprime.

= · · ·= · · ·= · · ·

==

Field lifting

Given a UOV key pair (P, T ) over F2, we can use it as a key pair over F2r .

2 + α30 x 1 + x1x2 + x3 + x1x4 + x4x5 + x5 1 + α2 + 2 2 + α31 x2x3 + x 3 + x2x6 + x3x4 + x3x5 + x 1 + α + 6

+ α31 x1x2 + x2x3 + x3x4 + x2 + x5x6 α + α5 + | {z } | {z } P(x) H(M)

Field Lifting Assumption: Solving a random system P(x) y over F2r is as hard as solving a random system P(x) y , where P is defined over F2,

4 / 10

Page 8: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

= · · ·= · · ·= · · ·

==

Field lifting

Given a UOV key pair (P, T ) over F2, we can use it as a key pair over F2r .

2 + α30 x 1 + x1x2 + x3 + x1x4 + x4x5 + x5 1 + α2 + 2 2 + α31 x2x3 + x 3 + x2x6 + x3x4 + x3x5 + x 1 + α + 6

+ α31 x1x2 + x2x3 + x3x4 + x2 + x5x6 α + α5 + | {z } | {z } P(x) H(M)

Field Lifting Assumption: Solving a random system P(x) y over F2r is as hard as solving a random system P(x) y , where P is defined over F2, when r is prime.

4 / 10

Page 9: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Subfield differential attack (Ding et al. 2019):Pick random x0 and solve P(x0 + x0) = y for x0 in a subfield.

Claimed complexity of the attack:

Parameters Security lvl Subfield Complexity

LUOV-8-58-237 2 F22 ⊂ F28 2107

LUOV-48-43-222 2 F28 ⊂ F248 2135

Solution: Choose F2r , with r prime, such that there are nosubfields to exploit. ⇒ No performance penalty.

We study some generalization of the attack in revised LUOVsubmission document.

=

Attacks

• Key recovery attacks Studied since 1997

• Forgery attacks: Solve P(x) y for x.

5 / 10

Page 10: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Claimed complexity of the attack:

Parameters Security lvl Subfield Complexity

LUOV-8-58-237 2 F22 ⊂ F28 2107

LUOV-48-43-222 2 F28 ⊂ F248 2135

Solution: Choose F2r , with r prime, such that there are nosubfields to exploit. ⇒ No performance penalty.

We study some generalization of the attack in revised LUOVsubmission document.

=

=

Attacks

• Key recovery attacks Studied since 1997

• Forgery attacks: Solve P(x) y for x.

Subfield differential attack (Ding et al. 2019): Pick random x0 and solve P(x0 + x0) y for x0 in a subfield.

5 / 10

Page 11: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Solution: Choose F2r , with r prime, such that there are nosubfields to exploit. ⇒ No performance penalty.

We study some generalization of the attack in revised LUOVsubmission document.

=

=

Attacks

• Key recovery attacks Studied since 1997

• Forgery attacks: Solve P(x) y for x.

Subfield differential attack (Ding et al. 2019): Pick random x0 and solve P(x0 + x0) y for x0 in a subfield.

Claimed complexity of the attack:

Parameters Security lvl Subfield Complexity 2107 LUOV-8-58-237 2 F22 ⊂ F28

2135 LUOV-48-43-222 2 F28 ⊂ F248

5 / 10

Page 12: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

We study some generalization of the attack in revised LUOVsubmission document.

=

=

Attacks

• Key recovery attacks Studied since 1997

• Forgery attacks: Solve P(x) y for x.

Subfield differential attack (Ding et al. 2019): Pick random x0 and solve P(x0 + x0) y for x0 in a subfield.

Claimed complexity of the attack:

Parameters Security lvl Subfield Complexity 2107 LUOV-8-58-237 2 F22 ⊂ F28

2135 LUOV-48-43-222 2 F28 ⊂ F248

Solution: Choose F2r , with r prime, such that there are no subfields to exploit. ⇒ No performance penalty.

5 / 10

Page 13: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

=

=

Attacks

• Key recovery attacks Studied since 1997

• Forgery attacks: Solve P(x) y for x.

Subfield differential attack (Ding et al. 2019): Pick random x0 and solve P(x0 + x0) y for x0 in a subfield.

Claimed complexity of the attack:

Parameters Security lvl Subfield Complexity 2107 LUOV-8-58-237 2 F22 ⊂ F28

2135 LUOV-48-43-222 2 F28 ⊂ F248

Solution: Choose F2r , with r prime, such that there are no subfields to exploit. ⇒ No performance penalty.

We study some generalization of the attack in revised LUOV submission document.

5 / 10

Page 14: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

• Add salt to message before signing⇒ Improved security against fault injection attacks andside-channel attacks.

• Break up PRNG calls into multiple smaller calls.⇒ Speed up by parallelization, lower memory usage.

• Constant time AVX2 optimized implementation.• Add option to use Chacha8 instead of SHAKE to expandpublic randomness. ⇒ ×2.5 and ×5.2 faster signing andverification respectively (SL1).

Round 2 improvements

• Take smaller parameters ⇒ more efficient

6 / 10

Page 15: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

• Break up PRNG calls into multiple smaller calls.⇒ Speed up by parallelization, lower memory usage.

• Constant time AVX2 optimized implementation.• Add option to use Chacha8 instead of SHAKE to expandpublic randomness. ⇒ ×2.5 and ×5.2 faster signing andverification respectively (SL1).

Round 2 improvements

• Take smaller parameters ⇒ more efficient

• Add salt to message before signing ⇒ Improved security against fault injection attacks and side-channel attacks.

6 / 10

Page 16: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

• Constant time AVX2 optimized implementation.• Add option to use Chacha8 instead of SHAKE to expandpublic randomness. ⇒ ×2.5 and ×5.2 faster signing andverification respectively (SL1).

Round 2 improvements

• Take smaller parameters ⇒ more efficient

• Add salt to message before signing ⇒ Improved security against fault injection attacks and side-channel attacks.

• Break up PRNG calls into multiple smaller calls. ⇒ Speed up by parallelization, lower memory usage.

6 / 10

Page 17: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

• Add option to use Chacha8 instead of SHAKE to expandpublic randomness. ⇒ ×2.5 and ×5.2 faster signing andverification respectively (SL1).

Round 2 improvements

• Take smaller parameters ⇒ more efficient

• Add salt to message before signing ⇒ Improved security against fault injection attacks and side-channel attacks.

• Break up PRNG calls into multiple smaller calls. ⇒ Speed up by parallelization, lower memory usage.

• Constant time AVX2 optimized implementation.

6 / 10

Page 18: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Round 2 improvements

• Take smaller parameters ⇒ more efficient

• Add salt to message before signing ⇒ Improved security against fault injection attacks and side-channel attacks.

• Break up PRNG calls into multiple smaller calls. ⇒ Speed up by parallelization, lower memory usage.

• Constant time AVX2 optimized implementation.

• Add option to use Chacha8 instead of SHAKE to expand public randomness. ⇒ ×2.5 and ×5.2 faster signing and verification respectively (SL1).

6 / 10

Page 19: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Updated submission package will be online next week.

Round 2.1 modifications

• Choose field extension of prime degree.

Original F28

F248

F264

F280

New F27

F247

F261

F279

• Aim for security level 1,3,5 instead of 2,4,5. ⇒ Smaller keys and signatures and better performance.

7 / 10

Page 20: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Round 2.1 modifications

• Choose field extension of prime degree.

Original F28

F248

F264

F280

New F27

F247

F261

F279

• Aim for security level 1,3,5 instead of 2,4,5. ⇒ Smaller keys and signatures and better performance.

Updated submission package will be online next week.

7 / 10

Page 21: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Performance of AVX2 constant-time implementation (SL I):

keygen sign verifyPRG (cycles) (cycles) (cycles)

Standard LUOVKeccak 1.9 M 1.4 M 1.0 MChacha8 1.1M 515 K 197 K

Precompute Keys1 ? 300 K 90 K

Finish signature 2 ? 11 K

Some numbers

Key and signature sizes for SL1:

LUOV-7-57-197 |sig| 239 B

Δ −23%

|pk| 11.5 KB

Δ −5%

|sk| 32B

LUOV-47-42-182 1332 B −17% 4.7 KB −6% 32B

1Requires 250 KB to store expanded PK or SK 2Requires 23 KB to store partial signature

8 / 10

Page 22: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Some numbers

Key and signature sizes for SL1:

|sig| Δ |pk| Δ |sk| LUOV-7-57-197 239 B −23% 11.5 KB −5% 32B LUOV-47-42-182 1332 B −17% 4.7 KB −6% 32B

Performance of AVX2 constant-time implementation (SL I):

Standard LUOV

Precompute Keys1

Finish signature 2

PRG Keccak Chacha8

? ?

keygen sign verify (cycles) (cycles) (cycles) 1.9 M 1.4 M 1.0 M 1.1M 515 K 197 K

300 K 90 K 11 K

1Requires 250 KB to store expanded PK or SK 2Requires 23 KB to store partial signature

8 / 10

Page 23: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Conclusion (part 1)

Disadvantages: • Public key size (11.5 KB) • Relatively new LUOV assumption

Advantages: • Small signatures (239 B) • Small private key (32 B) • Solid foundation (UOV)

• Simple arithmetic (F27 )

• Low latency signing (11K cycles)

• No patent claims

9 / 10

Page 24: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

Questions?

-

Conclusion (part 2)

“All you need is LUOV” John Lennon

10 / 10

Page 25: LUOV Round 2 Presentation - NIST · What is LUOV? (baby don’t hurt me) Unbalanced Oil and Vinegar (UOV) [Patarin 1997] • Quadratic trapdoor function: P: F. n q → F. mq. with

-

Conclusion (part 2)

“All you need is LUOV” John Lennon

Questions?

10 / 10