Skip to content

Commit f3aa65b

Browse files
committed
Updated signature markdown documentation.
1 parent 8b798a5 commit f3aa65b

File tree

16 files changed

+834
-169
lines changed

16 files changed

+834
-169
lines changed

docs/algorithms/kem/bike.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: QC-MDPC (Quasi-Cyclic Moderate Density Parity-Check).
55
- **Principal submitters**: Nicolas Aragon, Paulo Barreto, Slim Bettaieb, Loic Bidoux, Olivier Blazy, Jean-Christophe Deneuville, Phillipe Gaborit, Santosh Gosh, Shay Gueron, Tim Güneysu, Carlos Aguilar Melchor, Rafael Misoczki, Edoardo Persichetti, Nicolas Sendrier, Jean-Pierre Tillich, Valentin Vasseur, Gilles Zémor.
6-
- **Authors website**: http://bikesuite.org/
6+
- **Authors' website**: http://bikesuite.org/
77
- **Specification version**: 4.1.
88
- **Implementation source**: https://github.com/awslabs/bike-kem, which takes it from:
99
- https://bikesuite.org/files/v4.1/Reference_Implementation.2020.10.20.2.zip

docs/algorithms/kem/classic_mceliece.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: Niederreiter's dual version of McEliece's public key encryption using binary Goppa codes.
55
- **Principal submitters**: Daniel J. Bernstein, Tung Chou, Tanja Lange, Ingo von Maurich, Rafael Misoczki, Ruben Niederhagen, Edoardo Persichetti, Christiane Peters, Peter Schwabe, Nicolas Sendrier, Jakub Szefer, Wen Wang.
6-
- **Authors website**: https://classic.mceliece.org
6+
- **Authors' website**: https://classic.mceliece.org
77
- **Specification version**: SUPERCOP-20191221.
88
- **Implementation source**: https://github.com/PQClean/PQClean/commit/89d34613364deca88659f6c2dd38708279c6bd24, which takes it from:
99
- SUPERCOP-20191221 "vec" and "avx" implementations

docs/algorithms/kem/frodokem.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: learning with errors (LWE).
55
- **Principal submitters**: Michael Naehrig, Erdem Alkim, Joppe Bos, Léo Ducas, Karen Easterbrook, Brian LaMacchia, Patrick Longa, Ilya Mironov, Valeria Nikolaenko, Christopher Peikert, Ananth Raghunathan, Douglas Stebila.
6-
- **Authors website**: https://frodokem.org/
6+
- **Authors' website**: https://frodokem.org/
77
- **Specification version**: NIST Round 3 submission.
88
- **Implementation source**: https://github.com/microsoft/PQCrypto-LWEKE/commit/b6609d30a9982318d7f2937aa3c7b92147b917a2
99
- **Implementation license (SPDX-Identifier)**: MIT.

docs/algorithms/kem/hqc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: Syndrome decoding of structure codes (Hamming Quasi-Cyclic).
55
- **Principal submitters**: Carlos Aguilar Melchor, Nicolas Aragon, Slim Bettaieb, Olivier Blazy, Jurjen Bos, Jean-Christophe Deneuville, Philippe Gaborit, Edoardo Persichetti, Jean-Marc Robert, Pascal Véron, Gilles Zémor, Loïc Bidoux.
6-
- **Authors website**: https://pqc-hqc.org/
6+
- **Authors' website**: https://pqc-hqc.org/
77
- **Specification version**: NIST Round 3 submission.
88
- **Implementation source**: https://github.com/PQClean/PQClean/commit/89d34613364deca88659f6c2dd38708279c6bd24, which takes it from:
99
- https://github.com/jschanck/package-pqclean/tree/29f79e72/hqc, which takes it from:

docs/algorithms/kem/kyber.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- **Main cryptographic assumption**: Module LWE+R with base ring Z[x]/(3329, x^256+1).
55
- **Principal submitters**: Peter Schwabe.
66
- **Auxiliary submitters**: Roberto Avanzi, Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Gregor Seiler, Damien Stehlé.
7-
- **Authors website**: https://pq-crystals.org/
7+
- **Authors' website**: https://pq-crystals.org/
88
- **Specification version**: NIST Round 3 submission.
99
- **Implementation source**: https://github.com/pq-crystals/kyber/commit/8e9308bd with copy_from_upstream patches
1010
- **Implementation license (SPDX-Identifier)**: CC0-1.0.

docs/algorithms/kem/ntru.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- **Main cryptographic assumption**: NTRU in Z[x]/(q, x^n-1) with prime n and power-of-two q.
55
- **Principal submitters**: John M. Schanck.
66
- **Auxiliary submitters**: Cong Chen, Oussama Danba, Jeffrey Hoffstein, Andreas Hülsing, Joost Rijneveld, Tsunekazu Saito, Peter Schwabe, William Whyte, Keita Xagawa, Takashi Yamakawa, Zhenfei Zhang.
7-
- **Authors website**: https://ntru.org/
7+
- **Authors' website**: https://ntru.org/
88
- **Specification version**: NIST Round 3 submission.
99
- **Implementation source**: https://github.com/PQClean/PQClean/commit/89d34613364deca88659f6c2dd38708279c6bd24, which takes it from:
1010
- https://github.com/jschanck/ntru/tree/a43a4457

docs/algorithms/kem/ntruprime.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: NTRU.
55
- **Principal submitters**: Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange, Christine van Vredendaal.
6-
- **Authors website**: https://ntruprime.cr.yp.to
6+
- **Authors' website**: https://ntruprime.cr.yp.to
77
- **Specification version**: supercop-20200826.
88
- **Implementation source**: https://github.com/PQClean/PQClean/commit/89d34613364deca88659f6c2dd38708279c6bd24, which takes it from:
99
- https://github.com/jschanck/package-pqclean/tree/4d9f08c3/ntruprime, which takes it from:

docs/algorithms/kem/saber.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: Module learning with rounding.
55
- **Principal submitters**: Jan-Pieter D'Anvers, Angshuman Karmakar, Sujoy Sinha Roy, Frederik Vercauteren.
6-
- **Authors website**: https://www.esat.kuleuven.be/cosic/pqcrypto/saber/
6+
- **Authors' website**: https://www.esat.kuleuven.be/cosic/pqcrypto/saber/
77
- **Specification version**: NIST Round 3 submission.
88
- **Implementation source**: https://github.com/PQClean/PQClean/commit/89d34613364deca88659f6c2dd38708279c6bd24, which takes it from:
99
- https://github.com/jschanck/package-pqclean/tree/1ae84c3c/saber, which takes it from:

docs/algorithms/kem/sike.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Algorithm type**: Key encapsulation mechanism.
44
- **Main cryptographic assumption**: (supersingular) isogeny walk problem.
55
- **Principal submitters**: David Jao, Reza Azarderakhsh, Matthew Campagna, Craig Costello, Luca De Feo, Basil Hess, Amir Jalali, Brian Koziel, Brian LaMacchia, Patrick Longa, Michael Naehrig, Joost Renes, Vladimir Soukharev, David Urbanik.
6-
- **Authors website**: https://sike.org
6+
- **Authors' website**: https://sike.org
77
- **Specification version**: NIST Round 3 submission.
88
- **Implementation source**: https://github.com/microsoft/PQCrypto-SIDH/commit/28b4b5d0a7926e0e7eb4f9c03f75887236e1cebd
99
- **Implementation license (SPDX-Identifier)**: MIT.

docs/algorithms/sig/dilithium.md

Lines changed: 71 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,75 @@
11
# CRYSTALS-Dilithium
22

3-
- **Algorithm type**: signature
3+
- **Algorithm type**: Digital signature scheme.
44
- **Main cryptographic assumption**: hardness of lattice problems over module lattices.
5-
- **Scheme authors**: Vadim Lyubashevsky, Leo Ducas, Eike Kiltz, Tancrede Lepoint, Peter Schwabe, Gregor Seiler, Damien Stehle
5+
- **Principal submitters**: Vadim Lyubashevsky.
6+
- **Auxiliary submitters**: Shi Bai, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Peter Schwabe, Gregor Seiler, Damien Stehlé.
67
- **Authors' website**: https://pq-crystals.org/dilithium/
7-
- **Version**: 3.1
8-
9-
## Implementation
10-
11-
- **Source of implementation**: https://github.com/pq-crystals/dilithium
12-
- **Implementation version**: https://github.com/pq-crystals/dilithium.git, master, 9dddb2a0537734e749ec2c8d4f952cb90cd9e67b
13-
- **License**: public domain
14-
- **Constant-time**: Yes
15-
- **Optimizations**: Portable C with AES, AVX2, POPCNT, SSE2, SSSE3 instructions (if available at run-time)
16-
17-
## Parameter sets
18-
19-
| Parameter set | Security model | Claimed NIST security level | Public key size (bytes) | Secret key size (bytes) | Signature size (bytes) |
20-
| -------------- | -------------- | --------------------------- | ----------------------- | ----------------------- | ---------------------- |
21-
| Dilithium2 | EUF-CMA | 2 | 1312 | 2528 | 2420 |
22-
| Dilithium3 | EUF-CMA | 3 | 1952 | 4000 | 3293 |
23-
| Dilithium5 | EUF-CMA | 5 | 2592 | 4864 | 4595 |
24-
| Dilithium2-AES | EUF-CMA | 2 | 1312 | 2528 | 2420 |
25-
| Dilithium3-AES | EUF-CMA | 3 | 1952 | 4000 | 3293 |
26-
| Dilithium5-AES | EUF-CMA | 5 | 2592 | 4864 | 4595 |
8+
- **Specification version**: 3.1.
9+
- **Implementation source**: https://github.com/pq-crystals/dilithium/commit/d9c885d3f2e11c05529eeeb7d70d808c972b8409
10+
- **Implementation license (SPDX-Identifier)**: CC0-1.0.
11+
12+
## Parameter set summary
13+
14+
| Parameter set | Security model | Claimed NIST Level | Public key size (bytes) | Secret key size (bytes) | Signature size (bytes) |
15+
|:---------------:|:-----------------|---------------------:|--------------------------:|--------------------------:|-------------------------:|
16+
| Dilithium2 | EUF-CMA | 2 | 1312 | 2528 | 2420 |
17+
| Dilithium3 | EUF-CMA | 3 | 1952 | 4000 | 3293 |
18+
| Dilithium5 | EUF-CMA | 5 | 2592 | 4864 | 4595 |
19+
| Dilithium2-AES | EUF-CMA | 2 | 1312 | 2528 | 2420 |
20+
| Dilithium3-AES | EUF-CMA | 3 | 1952 | 4000 | 3293 |
21+
| Dilithium5-AES | EUF-CMA | 5 | 2592 | 4864 | 4595 |
22+
23+
## Dilithium2 implementation characteristics
24+
25+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
26+
|:------------------------:|:----------------------------|:--------------------------------|:------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
27+
| ref | All | All | None | True | True | False |
28+
| avx2 | x86\_64 | Linux,Darwin | AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
29+
30+
Are implementations chosen based on runtime CPU feature detection? **Yes**.
31+
32+
## Dilithium3 implementation characteristics
33+
34+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
35+
|:------------------------:|:----------------------------|:--------------------------------|:------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
36+
| ref | All | All | None | True | True | False |
37+
| avx2 | x86\_64 | Linux,Darwin | AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
38+
39+
Are implementations chosen based on runtime CPU feature detection? **Yes**.
40+
41+
## Dilithium5 implementation characteristics
42+
43+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
44+
|:------------------------:|:----------------------------|:--------------------------------|:------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
45+
| ref | All | All | None | True | True | False |
46+
| avx2 | x86\_64 | Linux,Darwin | AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
47+
48+
Are implementations chosen based on runtime CPU feature detection? **Yes**.
49+
50+
## Dilithium2-AES implementation characteristics
51+
52+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
53+
|:------------------------:|:----------------------------|:--------------------------------|:---------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
54+
| ref | All | All | None | True | True | False |
55+
| avx2 | x86\_64 | Linux,Darwin | AES,AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
56+
57+
Are implementations chosen based on runtime CPU feature detection? **Yes**.
58+
59+
## Dilithium3-AES implementation characteristics
60+
61+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
62+
|:------------------------:|:----------------------------|:--------------------------------|:---------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
63+
| ref | All | All | None | True | True | False |
64+
| avx2 | x86\_64 | Linux,Darwin | AES,AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
65+
66+
Are implementations chosen based on runtime CPU feature detection? **Yes**.
67+
68+
## Dilithium5-AES implementation characteristics
69+
70+
| Identifier in upstream | Supported architecture(s) | Supported operating system(s) | CPU extension(s) used | No branching-on-secrets claimed? | No branching-on-secrets checked by valgrind? | Large stack usage? |
71+
|:------------------------:|:----------------------------|:--------------------------------|:---------------------------|:-----------------------------------|:-----------------------------------------------|:---------------------|
72+
| ref | All | All | None | True | True | False |
73+
| avx2 | x86\_64 | Linux,Darwin | AES,AVX2,POPCNT,SSE2,SSSE3 | True | True | False |
74+
75+
Are implementations chosen based on runtime CPU feature detection? **Yes**.

0 commit comments

Comments
 (0)