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 all 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
20 changes: 20 additions & 0 deletions signatures/gemss/gemss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
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)
- Changes for 2nd round (https://www-polsys.lip6.fr/Links/NIST/changes_round2_V2.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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 916000000
enc|sign: 4940000000
dec|vrfy: 1120000
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 53800000
enc|sign: 164000000
dec|vrfy: 176000
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 278000000
enc|sign: 448000000
dec|vrfy: 512000
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 923000000
enc|sign: 6530000000
dec|vrfy: 1140000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_red128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 54300000
enc|sign: 5240000
dec|vrfy: 185000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_red192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 277000000
enc|sign: 13100000
dec|vrfy: 518000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/additional_red256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 921000000
enc|sign: 21400000
dec|vrfy: 1170000
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 530000000
enc|sign: 3020000000
dec|vrfy: 678000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_blue128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 39200000
enc|sign: 81300000
dec|vrfy: 136000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_blue192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 174000000
enc|sign: 252000000
dec|vrfy: 325000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_blue256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 530000000
enc|sign: 399000000
dec|vrfy: 684000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_red128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 39500000
enc|sign: 2330000
dec|vrfy: 141000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_red192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 173000000
enc|sign: 5970000
dec|vrfy: 334000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/mqsoft_red256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 534000000
enc|sign: 399000000
dec|vrfy: 704000
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: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
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: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 814000000
enc|sign: 5380000000
dec|vrfy: 973000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_blue128_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 52100000
enc|sign: 198000000
dec|vrfy: 170000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_blue192_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 268000000
enc|sign: 481000000
dec|vrfy: 468000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_blue256_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 810000000
enc|sign: 733000000
dec|vrfy: 989000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_red128_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 52400000
enc|sign: 5720000
dec|vrfy: 178000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_red192_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 264000000
enc|sign: 13700000
dec|vrfy: 474000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/opt_red256_haswell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Xeon E3-1275 v3 (Haswell) 3.5 GHz (Turboboost off), 32GB RAM, CentOS Linux 7 (Core), gcc -O4 -mavx2 -mpclmul -mpopcnt -funroll-loops
timings:
unit: cycles
gen: 805000000
enc|sign: 22100000
dec|vrfy: 1010000
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
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: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 1660000000
enc|sign: 10500000000
dec|vrfy: 1160000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_blue128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 118000000
enc|sign: 530000000
dec|vrfy: 228000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_blue192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 520000000
enc|sign: 1290000000
dec|vrfy: 592000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_blue256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 1510000000
enc|sign: 2080000000
dec|vrfy: 1190000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_red128_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 91100000
enc|sign: 52000000
dec|vrfy: 239000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_red192_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 423000000
enc|sign: 126000000
dec|vrfy: 627000
6 changes: 6 additions & 0 deletions signatures/gemss/gemss/bench/ref_red256_skylake.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
platform: Intel Core i7-6600U (Skylake) 2.6 GHz (Turboboost off), 32GB RAM, Ubuntu 16.04.5 LTS, gcc -O2 -msse2 -msse3 -mssse3 -msse4.1 -mpclmul
timings:
unit: cycles
gen: 1310000000
enc|sign: 203000000
dec|vrfy: 1190000
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: c
7 changes: 7 additions & 0 deletions signatures/gemss/gemss/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/gemss/impl/opt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name: Optimized
type: optimized
platform: c
3 changes: 3 additions & 0 deletions signatures/gemss/gemss/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/gemss/param/128.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: GeMSS128
security level:
classical: 128
quantum: 74
nist category: 1
failure probability: -24204404
Copy link
Contributor

Choose a reason for hiding this comment

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

For signature schemes, I think it is always possible to detect a failure and create a second signature, thus effectively reaching a zero failure probability. Unfortunately, they don't talk about this in the specs. Did you have a look at the implementation, by chance?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no, I didn't

number of operations: inf
sizes:
sk: 16
dingens marked this conversation as resolved.
Show resolved Hide resolved
pk: 352188
Hennich marked this conversation as resolved.
Show resolved Hide resolved
ct|sig: 33
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/192.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: GeMSS192
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: 1237964
ct|sig: 52
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/256.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: GeMSS256
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: 3040700
ct|sig: 72
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/blue128.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: BlueGeMSS128
security level:
classical: 128
quantum: 74
nist category: 1
failure probability: -24204404
number of operations: inf
sizes:
sk: 16
pk: 363609
ct|sig: 34
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/blue192.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
pk: 1264116
ct|sig: 53
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/blue256.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
pk: 3087963
ct|sig: 74
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/red128.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: RedGeMSS128
security level:
classical: 128
quantum: 74
nist category: 1
failure probability: -24204404
number of operations: inf
sizes:
sk: 16
pk: 375212
ct|sig: 36
11 changes: 11 additions & 0 deletions signatures/gemss/gemss/param/red192.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
pk: 1290543
ct|sig: 55
Loading