Skip to content
This repository was archived by the owner on Jan 8, 2025. It is now read-only.

Commit c294e11

Browse files
authored
Algorithm update (#447)
1 parent 728b017 commit c294e11

File tree

26 files changed

+1336
-1797
lines changed

26 files changed

+1336
-1797
lines changed

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ The following quantum-safe algorithms from liboqs are supported (assuming they h
7676

7777
<!--- OQS_TEMPLATE_FRAGMENT_LIST_KEXS_START -->
7878
- **BIKE**: `bikel1`, `bikel3`, `bikel5`
79-
- **CRYSTALS-Kyber**: `kyber512`, `kyber768`, `kyber1024`, `kyber90s512`, `kyber90s768`, `kyber90s1024`
79+
- **CRYSTALS-Kyber**: `kyber512`, `kyber768`, `kyber1024`
8080
- **FrodoKEM**: `frodo640aes`, `frodo640shake`, `frodo976aes`, `frodo976shake`, `frodo1344aes`, `frodo1344shake`
8181
- **HQC**: `hqc128`, `hqc192`, `hqc256`
8282
<!--- OQS_TEMPLATE_FRAGMENT_LIST_KEXS_END -->
@@ -96,11 +96,10 @@ Note that algorithms marked with a dagger (†) have large stack usage and may c
9696
The following digital signature algorithms from liboqs are supported by the fork. **Note that not all variants of all algorithms are enabled by default; algorithms that are enabled by default are marked with an asterisk, and should you wish to enable additional variants, consult [the "Code Generation" section of the documentation in the wiki](https://github.com/open-quantum-safe/openssl/wiki/Using-liboqs-algorithms-not-in-the-fork#code-generation)**.
9797

9898
<!--- OQS_TEMPLATE_FRAGMENT_LIST_SIGS_START -->
99-
- **CRYSTALS-Dilithium**:`dilithium2`\*, `dilithium3`\*, `dilithium5`\*, `dilithium2_aes`\*, `dilithium3_aes`\*, `dilithium5_aes`\*
99+
- **CRYSTALS-Dilithium**:`dilithium2`\*, `dilithium3`\*, `dilithium5`\*
100100
- **Falcon**:`falcon512`\*, `falcon1024`\*
101-
- **SPHINCS-Haraka**:`sphincsharaka128frobust`\*, `sphincsharaka128fsimple`\*, `sphincsharaka128srobust`, `sphincsharaka128ssimple`, `sphincsharaka192frobust`, `sphincsharaka192fsimple`, `sphincsharaka192srobust`, `sphincsharaka192ssimple`, `sphincsharaka256frobust`, `sphincsharaka256fsimple`, `sphincsharaka256srobust`, `sphincsharaka256ssimple`
102-
- **SPHINCS-SHA256**:`sphincssha256128frobust`\*, `sphincssha256128fsimple`, `sphincssha256128srobust`, `sphincssha256128ssimple`\*, `sphincssha256192frobust`, `sphincssha256192fsimple`, `sphincssha256192srobust`, `sphincssha256192ssimple`, `sphincssha256256frobust`, `sphincssha256256fsimple`, `sphincssha256256srobust`, `sphincssha256256ssimple`
103-
- **SPHINCS-SHAKE256**:`sphincsshake256128frobust`, `sphincsshake256128fsimple`\*, `sphincsshake256128srobust`, `sphincsshake256128ssimple`, `sphincsshake256192frobust`, `sphincsshake256192fsimple`, `sphincsshake256192srobust`, `sphincsshake256192ssimple`, `sphincsshake256256frobust`, `sphincsshake256256fsimple`, `sphincsshake256256srobust`, `sphincsshake256256ssimple`
101+
- **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `sphincssha2256fsimple`, `sphincssha2256ssimple`
102+
- **SPHINCS-SHAKE**:`sphincsshake128fsimple`\*, `sphincsshake128ssimple`, `sphincsshake192fsimple`, `sphincsshake192ssimple`, `sphincsshake256fsimple`, `sphincsshake256ssimple`
104103
<!--- OQS_TEMPLATE_FRAGMENT_LIST_SIGS_END -->
105104

106105
The following hybrid algorithms are supported; they combine a quantum-safe algorithm listed above with a traditional digital signature algorithm (`<SIG>` is any one of the algorithms listed above):

apps/s_cb.c

Lines changed: 22 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -266,20 +266,6 @@ static const char *get_sigtype(int nid)
266266
return "Dilithium5";
267267
case NID_p521_dilithium5:
268268
return "ECDSA p521 - Dilithium5";
269-
case NID_dilithium2_aes:
270-
return "Dilithium2_AES";
271-
case NID_p256_dilithium2_aes:
272-
return "ECDSA p256 - Dilithium2_AES";
273-
case NID_rsa3072_dilithium2_aes:
274-
return "RSA3072 - Dilithium2_AES";
275-
case NID_dilithium3_aes:
276-
return "Dilithium3_AES";
277-
case NID_p384_dilithium3_aes:
278-
return "ECDSA p384 - Dilithium3_AES";
279-
case NID_dilithium5_aes:
280-
return "Dilithium5_AES";
281-
case NID_p521_dilithium5_aes:
282-
return "ECDSA p521 - Dilithium5_AES";
283269
case NID_falcon512:
284270
return "Falcon-512";
285271
case NID_p256_falcon512:
@@ -290,36 +276,28 @@ static const char *get_sigtype(int nid)
290276
return "Falcon-1024";
291277
case NID_p521_falcon1024:
292278
return "ECDSA p521 - Falcon-1024";
293-
case NID_sphincsharaka128frobust:
294-
return "SPHINCS+-Haraka-128f-robust";
295-
case NID_p256_sphincsharaka128frobust:
296-
return "ECDSA p256 - SPHINCS+-Haraka-128f-robust";
297-
case NID_rsa3072_sphincsharaka128frobust:
298-
return "RSA3072 - SPHINCS+-Haraka-128f-robust";
299-
case NID_sphincsharaka128fsimple:
300-
return "SPHINCS+-Haraka-128f-simple";
301-
case NID_p256_sphincsharaka128fsimple:
302-
return "ECDSA p256 - SPHINCS+-Haraka-128f-simple";
303-
case NID_rsa3072_sphincsharaka128fsimple:
304-
return "RSA3072 - SPHINCS+-Haraka-128f-simple";
305-
case NID_sphincssha256128frobust:
306-
return "SPHINCS+-SHA256-128f-robust";
307-
case NID_p256_sphincssha256128frobust:
308-
return "ECDSA p256 - SPHINCS+-SHA256-128f-robust";
309-
case NID_rsa3072_sphincssha256128frobust:
310-
return "RSA3072 - SPHINCS+-SHA256-128f-robust";
311-
case NID_sphincssha256128ssimple:
312-
return "SPHINCS+-SHA256-128s-simple";
313-
case NID_p256_sphincssha256128ssimple:
314-
return "ECDSA p256 - SPHINCS+-SHA256-128s-simple";
315-
case NID_rsa3072_sphincssha256128ssimple:
316-
return "RSA3072 - SPHINCS+-SHA256-128s-simple";
317-
case NID_sphincsshake256128fsimple:
318-
return "SPHINCS+-SHAKE256-128f-simple";
319-
case NID_p256_sphincsshake256128fsimple:
320-
return "ECDSA p256 - SPHINCS+-SHAKE256-128f-simple";
321-
case NID_rsa3072_sphincsshake256128fsimple:
322-
return "RSA3072 - SPHINCS+-SHAKE256-128f-simple";
279+
case NID_sphincssha2128fsimple:
280+
return "SPHINCS+-SHA2-128f-simple";
281+
case NID_p256_sphincssha2128fsimple:
282+
return "ECDSA p256 - SPHINCS+-SHA2-128f-simple";
283+
case NID_rsa3072_sphincssha2128fsimple:
284+
return "RSA3072 - SPHINCS+-SHA2-128f-simple";
285+
case NID_sphincssha2128ssimple:
286+
return "SPHINCS+-SHA2-128s-simple";
287+
case NID_p256_sphincssha2128ssimple:
288+
return "ECDSA p256 - SPHINCS+-SHA2-128s-simple";
289+
case NID_rsa3072_sphincssha2128ssimple:
290+
return "RSA3072 - SPHINCS+-SHA2-128s-simple";
291+
case NID_sphincssha2192fsimple:
292+
return "SPHINCS+-SHA2-192f-simple";
293+
case NID_p384_sphincssha2192fsimple:
294+
return "ECDSA p384 - SPHINCS+-SHA2-192f-simple";
295+
case NID_sphincsshake128fsimple:
296+
return "SPHINCS+-SHAKE-128f-simple";
297+
case NID_p256_sphincsshake128fsimple:
298+
return "ECDSA p256 - SPHINCS+-SHAKE-128f-simple";
299+
case NID_rsa3072_sphincsshake128fsimple:
300+
return "RSA3072 - SPHINCS+-SHAKE-128f-simple";
323301
///// OQS_TEMPLATE_FRAGMENT_SIG_NAME_STR_END
324302
default:
325303
return NULL;
@@ -485,9 +463,6 @@ static const char* OQS_CURVE_ID_NAME_STR(int id) {
485463
case 0x0241: return "bikel1";
486464
case 0x0242: return "bikel3";
487465
case 0x0243: return "bikel5";
488-
case 0x023E: return "kyber90s512";
489-
case 0x023F: return "kyber90s768";
490-
case 0x0240: return "kyber90s1024";
491466
case 0x022C: return "hqc128";
492467
case 0x022D: return "hqc192";
493468
case 0x022E: return "hqc256";
@@ -505,9 +480,6 @@ static const char* OQS_CURVE_ID_NAME_STR(int id) {
505480
case 0x2F41: return "p256_bikel1 hybrid";
506481
case 0x2F42: return "p384_bikel3 hybrid";
507482
case 0x2F43: return "p521_bikel5 hybrid";
508-
case 0x2F3E: return "p256_kyber90s512 hybrid";
509-
case 0x2F3F: return "p384_kyber90s768 hybrid";
510-
case 0x2F40: return "p521_kyber90s1024 hybrid";
511483
case 0x2F2C: return "p256_hqc128 hybrid";
512484
case 0x2F2D: return "p384_hqc192 hybrid";
513485
case 0x2F2E: return "p521_hqc256 hybrid";

crypto/asn1/standard_methods.h

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -67,32 +67,21 @@ static const EVP_PKEY_ASN1_METHOD *standard_methods[] = {
6767
&p384_dilithium3_asn1_meth,
6868
&dilithium5_asn1_meth,
6969
&p521_dilithium5_asn1_meth,
70-
&dilithium2_aes_asn1_meth,
71-
&p256_dilithium2_aes_asn1_meth,
72-
&rsa3072_dilithium2_aes_asn1_meth,
73-
&dilithium3_aes_asn1_meth,
74-
&p384_dilithium3_aes_asn1_meth,
75-
&dilithium5_aes_asn1_meth,
76-
&p521_dilithium5_aes_asn1_meth,
7770
&falcon512_asn1_meth,
7871
&p256_falcon512_asn1_meth,
7972
&rsa3072_falcon512_asn1_meth,
8073
&falcon1024_asn1_meth,
8174
&p521_falcon1024_asn1_meth,
82-
&sphincsharaka128frobust_asn1_meth,
83-
&p256_sphincsharaka128frobust_asn1_meth,
84-
&rsa3072_sphincsharaka128frobust_asn1_meth,
85-
&sphincsharaka128fsimple_asn1_meth,
86-
&p256_sphincsharaka128fsimple_asn1_meth,
87-
&rsa3072_sphincsharaka128fsimple_asn1_meth,
88-
&sphincssha256128frobust_asn1_meth,
89-
&p256_sphincssha256128frobust_asn1_meth,
90-
&rsa3072_sphincssha256128frobust_asn1_meth,
91-
&sphincssha256128ssimple_asn1_meth,
92-
&p256_sphincssha256128ssimple_asn1_meth,
93-
&rsa3072_sphincssha256128ssimple_asn1_meth,
94-
&sphincsshake256128fsimple_asn1_meth,
95-
&p256_sphincsshake256128fsimple_asn1_meth,
96-
&rsa3072_sphincsshake256128fsimple_asn1_meth,
75+
&sphincssha2128fsimple_asn1_meth,
76+
&p256_sphincssha2128fsimple_asn1_meth,
77+
&rsa3072_sphincssha2128fsimple_asn1_meth,
78+
&sphincssha2128ssimple_asn1_meth,
79+
&p256_sphincssha2128ssimple_asn1_meth,
80+
&rsa3072_sphincssha2128ssimple_asn1_meth,
81+
&sphincssha2192fsimple_asn1_meth,
82+
&p384_sphincssha2192fsimple_asn1_meth,
83+
&sphincsshake128fsimple_asn1_meth,
84+
&p256_sphincsshake128fsimple_asn1_meth,
85+
&rsa3072_sphincsshake128fsimple_asn1_meth,
9786
///// OQS_TEMPLATE_FRAGMENT_SIG_ASN1_METHS_END
9887
};

0 commit comments

Comments
 (0)