Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gemss #79

Merged
merged 23 commits into from
Jul 17, 2020
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions signatures/gemss/BlueGemss/BlueGemss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: GeMSS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me that the "colors" are not really separate flavors (they don't differ in anything but the numbers), but rather just "groups" of parameter sets. At least, the data you've entered is the same everywhere. It looks like the implementations are also all the same, correct?

I'd suggest we merge them into one flavor. (That should be quickly done by some copy'n'pasting. I can do it if you like. I like hacking around with sed ;) )

Copy link
Contributor Author

@Hennich Hennich Jun 2, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the documentation what flavours are for? Like, what is our intention, when to use flavours?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, R&S have already mentioned this, there's indeed a lack of documentation here.

Basically, what we thought about when making up the separation was that there's things that are

  • more different than just parameter sets
  • but still belong together somehow

for example, because they have a differing API (for example a passively secure PKE (KTM) and an actively secure KEM built upon the former), or completely different and incompatible implementations (for example, one scheme using AES and one using Shake). The latter is not a harsh definition, this could also be implemented as parameter sets, but we thought it's clearer when we call them flavors).

Because the red/blue/vanilla GeMSS schemes only differ in the numbers, it's a quite clear case of parameter sets. What is different between them is just how strict they are in the qubits<->category relation. (Personally, I'd expect NIST to opt for one "color" (=calculation method) and throw out the rest anyways)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can do it easily, I would prefer if you do it.
The other changes are done.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. In fact, it didn't even involve sed, just renaming and moving :)

type: SIG
security notion: EUF-CMA
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/additional_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 53800000
enc|sign: 164000000
dec|vrfy: 176000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/additional_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 278000000
enc|sign: 4480000000
Hennich marked this conversation as resolved.
Show resolved Hide resolved
dec|vrfy: 512000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/additional_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 923000000
enc|sign: 6530000000
dec|vrfy: 1140000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/mqsoft_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 39200000
enc|sign: 81300000
dec|vrfy: 136000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/mqsoft_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 174000000
enc|sign: 252000000
dec|vrfy: 325000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/mqsoft_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 530000000
enc|sign: 399000000
dec|vrfy: 684000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/opt_128_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 52100000
enc|sign: 198000000
dec|vrfy: 170000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/opt_192_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 268000000
enc|sign: 481000000
dec|vrfy: 468000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/opt_256_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 810000000
enc|sign: 733000000
dec|vrfy: 989000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/ref_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 118000000
enc|sign: 530000000
dec|vrfy: 228000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/ref_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 520000000
enc|sign: 1290000000
dec|vrfy: 592000
6 changes: 6 additions & 0 deletions signatures/gemss/BlueGemss/bench/ref_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 1510000000
enc|sign: 2080000000
dec|vrfy: 1190000
3 changes: 3 additions & 0 deletions signatures/gemss/BlueGemss/impl/additional.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Skylake
type: optimized
platform: skylake
7 changes: 7 additions & 0 deletions signatures/gemss/BlueGemss/impl/mqsoft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: MQsoft
type: optimized
platform: c
hardware features:
- avx2
- sse2
- ssse3
3 changes: 3 additions & 0 deletions signatures/gemss/BlueGemss/impl/opt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Optimized
type: optimized
platform: haswell
3 changes: 3 additions & 0 deletions signatures/gemss/BlueGemss/impl/ref.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Reference
type: reference
platform: c
11 changes: 11 additions & 0 deletions signatures/gemss/BlueGemss/param/128.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: BlueGeMSS128
security level:
classical: 128
quantum: 174
Hennich marked this conversation as resolved.
Show resolved Hide resolved
nist category: 1
failure probability: -24204404
number of operations: inf
sizes:
sk: 16
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 363609
ct|sig: 34
11 changes: 11 additions & 0 deletions signatures/gemss/BlueGemss/param/192.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: BlueGeMSS192
security level:
classical: 192
quantum: 112
nist category: 3
failure probability: -6345039891167
number of operations: inf
sizes:
sk: 24
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 1264116
ct|sig: 53
11 changes: 11 additions & 0 deletions signatures/gemss/BlueGemss/param/256.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: BlueGeMSS256
security level:
classical: 256
quantum: 149
nist category: 5
failure probability: -1.3306513097844322e+19
number of operations: inf
sizes:
sk: 32
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 3087963
ct|sig: 74
3 changes: 3 additions & 0 deletions signatures/gemss/RedGemss/RedGemss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: GeMSS
type: SIG
security notion: EUF-CMA
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/additional_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
Hennich marked this conversation as resolved.
Show resolved Hide resolved
timings:
unit: cycles
gen: 54300000
enc|sign: 5240000
dec|vrfy: 185000
Hennich marked this conversation as resolved.
Show resolved Hide resolved
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/additional_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 277000000
enc|sign: 13100000
dec|vrfy: 518000
dingens marked this conversation as resolved.
Show resolved Hide resolved
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/additional_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 921000000
enc|sign: 21400000
dec|vrfy: 1170000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/mqsoft_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 39500000
enc|sign: 2330000
dec|vrfy: 141000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/mqsoft_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 173000000
enc|sign: 5970000
dec|vrfy: 334000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/mqsoft_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 534000000
enc|sign: 399000000
dec|vrfy: 704000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/opt_128_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 52400000
enc|sign: 5720000
dec|vrfy: 178000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/opt_192_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 264000000
enc|sign: 13700000
dec|vrfy: 474000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/opt_256_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 805000000
enc|sign: 22100000
dec|vrfy: 1010000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/ref_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 91100000
enc|sign: 52000000
dec|vrfy: 239000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/ref_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 423000000
enc|sign: 126000000
dec|vrfy: 627000
6 changes: 6 additions & 0 deletions signatures/gemss/RedGemss/bench/ref_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 1310000000
enc|sign: 203000000
dec|vrfy: 1190000
3 changes: 3 additions & 0 deletions signatures/gemss/RedGemss/impl/additional.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Skylake
type: optimized
platform: skylake
7 changes: 7 additions & 0 deletions signatures/gemss/RedGemss/impl/mqsoft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: MQsoft
type: optimized
platform: c
hardware features:
- avx2
- sse2
- ssse3
3 changes: 3 additions & 0 deletions signatures/gemss/RedGemss/impl/opt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Optimized
type: optimized
platform: haswell
3 changes: 3 additions & 0 deletions signatures/gemss/RedGemss/impl/ref.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Reference
type: reference
platform: c
11 changes: 11 additions & 0 deletions signatures/gemss/RedGemss/param/128.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: RedGeMSS128
security level:
classical: 128
quantum: 174
Hennich marked this conversation as resolved.
Show resolved Hide resolved
nist category: 1
failure probability: -24204404
number of operations: inf
sizes:
sk: 16
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 375212
ct|sig: 36
11 changes: 11 additions & 0 deletions signatures/gemss/RedGemss/param/192.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: RedGeMSS192
security level:
classical: 192
quantum: 112
nist category: 3
failure probability: -6345039891167
number of operations: inf
sizes:
sk: 24
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 1290543
ct|sig: 55
11 changes: 11 additions & 0 deletions signatures/gemss/RedGemss/param/256.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: RedGeMSS256
security level:
classical: 256
quantum: 149
nist category: 5
failure probability: -1.3306513097844322e+19
number of operations: inf
sizes:
sk: 32
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 3135591
ct|sig: 75
19 changes: 19 additions & 0 deletions signatures/gemss/gemss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: GeMSS
type: sig
category: multivariate
year:
paper: 2017
candidate: 2017
problems:
- assumption: HFE
stateful: false
nist round: 2
authors:
- A. Casanova
- J.-C. Faugère
- G. Macario-Rat
- J. Patarin
- L. Perret
- J. Ryckeghem
sources:
- NIST Submission Paper (https://www-polsys.lip6.fr/Links/NIST/GeMSS_specification_round2.pdf)
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 52600000
enc|sign: 1040000000
dec|vrfy: 164000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 275000000
enc|sign: 2960000000
dec|vrfy: 501000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 916000000
enc|sign: 4940000000
dec|vrfy: 1120000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 38700000
enc|sign: 531000000
dec|vrfy: 106000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 175000000
enc|sign: 1800000000
dec|vrfy: 304000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 530000000
enc|sign: 3020000000
dec|vrfy: 678000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_128_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 51600000
enc|sign: 1240000000
dec|vrfy: 163000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_192_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 270000000
enc|sign: 3320000000
dec|vrfy: 459000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_256_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Haswell
timings:
unit: cycles
gen: 814000000
enc|sign: 5380000000
dec|vrfy: 973000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 145000000
enc|sign: 2730000000
dec|vrfy: 211000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 619000000
enc|sign: 6510000000
dec|vrfy: 585000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Skylake
timings:
unit: cycles
gen: 1660000000
enc|sign: 10500000000
dec|vrfy: 1160000
3 changes: 3 additions & 0 deletions signatures/gemss/gemss/gemss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: GeMSS
type: SIG
security notion: EUF-CMA
3 changes: 3 additions & 0 deletions signatures/gemss/gemss/impl/additional.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Skylake
type: optimized
platform: skylake
Hennich marked this conversation as resolved.
Show resolved Hide resolved
Loading