Skip to content

Commit ca5de0c

Browse files
committed
Disable mayo-5 because of stack usage
Signed-off-by: Basil Hess <[email protected]>
1 parent afac940 commit ca5de0c

16 files changed

+1352
-971
lines changed

ALGORITHMS.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ As standardization for these algorithms within TLS is not done, all TLS code poi
119119
| p256_mayo2 | 0xff37 |Yes| OQS_CODEPOINT_P256_MAYO2
120120
| mayo3 | 0xff34 |Yes| OQS_CODEPOINT_MAYO3
121121
| p384_mayo3 | 0xff38 |Yes| OQS_CODEPOINT_P384_MAYO3
122-
| mayo5 | 0xff35 |Yes| OQS_CODEPOINT_MAYO5
123-
| p521_mayo5 | 0xff39 |Yes| OQS_CODEPOINT_P521_MAYO5
122+
| mayo5 | 0xff35 |No| OQS_CODEPOINT_MAYO5
123+
| p521_mayo5 | 0xff39 |No| OQS_CODEPOINT_P521_MAYO5
124124
| CROSSrsdp128balanced | 0xfef6 |Yes| OQS_CODEPOINT_CROSSRSDP128BALANCED
125125
| CROSSrsdp128fast | 0xfef7 |No| OQS_CODEPOINT_CROSSRSDP128FAST
126126
| CROSSrsdp128small | 0xfef8 |No| OQS_CODEPOINT_CROSSRSDP128SMALL
@@ -230,8 +230,8 @@ discussed in https://github.com/open-quantum-safe/oqs-provider/issues/351.
230230
| p256_mayo2 | 1.3.9999.8.2.4 |Yes| OQS_OID_P256_MAYO2
231231
| mayo3 | 1.3.9999.8.3.3 |Yes| OQS_OID_MAYO3
232232
| p384_mayo3 | 1.3.9999.8.3.4 |Yes| OQS_OID_P384_MAYO3
233-
| mayo5 | 1.3.9999.8.5.3 |Yes| OQS_OID_MAYO5
234-
| p521_mayo5 | 1.3.9999.8.5.4 |Yes| OQS_OID_P521_MAYO5
233+
| mayo5 | 1.3.9999.8.5.3 |No| OQS_OID_MAYO5
234+
| p521_mayo5 | 1.3.9999.8.5.4 |No| OQS_OID_P521_MAYO5
235235
| CROSSrsdp128balanced | 1.3.6.1.4.1.62245.2.1.1 |Yes| OQS_OID_CROSSRSDP128BALANCED
236236
| CROSSrsdp128fast | 1.3.6.1.4.1.62245.2.1.2 |No| OQS_OID_CROSSRSDP128FAST
237237
| CROSSrsdp128small | 1.3.6.1.4.1.62245.2.1.3 |No| OQS_OID_CROSSRSDP128SMALL

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ This implementation makes available the following quantum safe algorithms:
5050

5151
- **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `p256_sphincssha2128fsimple`\*, `rsa3072_sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `p256_sphincssha2128ssimple`\*, `rsa3072_sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `p384_sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `p384_sphincssha2192ssimple`, `sphincssha2256fsimple`, `p521_sphincssha2256fsimple`, `sphincssha2256ssimple`, `p521_sphincssha2256ssimple`
5252
- **SPHINCS-SHAKE**:`sphincsshake128fsimple`\*, `p256_sphincsshake128fsimple`\*, `rsa3072_sphincsshake128fsimple`\*, `sphincsshake128ssimple`, `p256_sphincsshake128ssimple`, `rsa3072_sphincsshake128ssimple`, `sphincsshake192fsimple`, `p384_sphincsshake192fsimple`, `sphincsshake192ssimple`, `p384_sphincsshake192ssimple`, `sphincsshake256fsimple`, `p521_sphincsshake256fsimple`, `sphincsshake256ssimple`, `p521_sphincsshake256ssimple`
53-
- **MAYO**:`mayo1`\*, `p256_mayo1`\*, `mayo2`\*, `p256_mayo2`\*, `mayo3`\*, `p384_mayo3`\*, `mayo5`\*, `p521_mayo5`\*
53+
- **MAYO**:`mayo1`\*, `p256_mayo1`\*, `mayo2`\*, `p256_mayo2`\*, `mayo3`\*, `p384_mayo3`\*, `mayo5`, `p521_mayo5`
5454
- **CROSS**:`CROSSrsdp128balanced`\*, `CROSSrsdp128fast`, `CROSSrsdp128small`, `CROSSrsdp192balanced`, `CROSSrsdp192fast`, `CROSSrsdp192small`, `CROSSrsdp256small`, `CROSSrsdpg128balanced`, `CROSSrsdpg128fast`, `CROSSrsdpg128small`, `CROSSrsdpg192balanced`, `CROSSrsdpg192fast`, `CROSSrsdpg192small`, `CROSSrsdpg256balanced`, `CROSSrsdpg256fast`, `CROSSrsdpg256small`
5555

5656
<!--- OQS_TEMPLATE_FRAGMENT_ALGS_END -->

oqs-template/generate.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1577,7 +1577,7 @@ sigs:
15771577
oqs_meth: 'OQS_SIG_alg_mayo_5'
15781578
oid: '1.3.9999.8.5.3'
15791579
code_point: '0xff35'
1580-
enable: true
1580+
enable: false
15811581
mix_with: [{'name': 'p521',
15821582
'pretty_name': 'ECDSA p521',
15831583
'oid': '1.3.9999.8.5.4',

oqs-template/oqs-sig-info.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@
5050
| falcon1024 **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe0f | 1.3.9999.3.5 |
5151
| falconpadded1024 | 20211101 | 3 | 5 | 0xfedf | 1.3.9999.3.19 |
5252
| falconpadded1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfee0 | 1.3.9999.3.20 |
53-
| mayo1 | NIST Round 2 (February 2025) | 1 | 1 | 0xff32 | 1.3.9999.8.1.3 |
54-
| mayo1 **hybrid with** p256 | NIST Round 2 (February 2025) | 1 | 1 | 0xff36 | 1.3.9999.8.1.4 |
55-
| mayo2 | NIST Round 2 (February 2025) | 1 | 1 | 0xff33 | 1.3.9999.8.2.3 |
56-
| mayo2 **hybrid with** p256 | NIST Round 2 (February 2025) | 1 | 1 | 0xff37 | 1.3.9999.8.2.4 |
57-
| mayo3 | NIST Round 2 (February 2025) | 1 | 3 | 0xff34 | 1.3.9999.8.3.3 |
58-
| mayo3 **hybrid with** p384 | NIST Round 2 (February 2025) | 1 | 3 | 0xff38 | 1.3.9999.8.3.4 |
59-
| mayo5 | NIST Round 2 (February 2025) | 1 | 5 | 0xff35 | 1.3.9999.8.5.3 |
60-
| mayo5 **hybrid with** p521 | NIST Round 2 (February 2025) | 1 | 5 | 0xff39 | 1.3.9999.8.5.4 |
53+
| mayo1 | NIST Round 2 (February 2025) | 2 | 1 | 0xff32 | 1.3.9999.8.1.3 |
54+
| mayo1 **hybrid with** p256 | NIST Round 2 (February 2025) | 2 | 1 | 0xff36 | 1.3.9999.8.1.4 |
55+
| mayo2 | NIST Round 2 (February 2025) | 2 | 1 | 0xff33 | 1.3.9999.8.2.3 |
56+
| mayo2 **hybrid with** p256 | NIST Round 2 (February 2025) | 2 | 1 | 0xff37 | 1.3.9999.8.2.4 |
57+
| mayo3 | NIST Round 2 (February 2025) | 2 | 3 | 0xff34 | 1.3.9999.8.3.3 |
58+
| mayo3 **hybrid with** p384 | NIST Round 2 (February 2025) | 2 | 3 | 0xff38 | 1.3.9999.8.3.4 |
59+
| mayo5 | NIST Round 2 (February 2025) | 2 | 5 | 0xff35 | 1.3.9999.8.5.3 |
60+
| mayo5 **hybrid with** p521 | NIST Round 2 (February 2025) | 2 | 5 | 0xff39 | 1.3.9999.8.5.4 |
6161
| mldsa44 | ML-DSA | FIPS204 | 1 | 0x0904 | 2.16.840.1.101.3.4.3.17 |
6262
| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff06 | 1.3.9999.7.5 |
6363
| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff07 | 1.3.9999.7.6 |

oqsprov/oqs_decode_der2key.c

-4
Original file line numberDiff line numberDiff line change
@@ -777,10 +777,6 @@ MAKE_DECODER(, "mayo3", mayo3, oqsx, PrivateKeyInfo);
777777
MAKE_DECODER(, "mayo3", mayo3, oqsx, SubjectPublicKeyInfo);
778778
MAKE_DECODER(, "p384_mayo3", p384_mayo3, oqsx, PrivateKeyInfo);
779779
MAKE_DECODER(, "p384_mayo3", p384_mayo3, oqsx, SubjectPublicKeyInfo);
780-
MAKE_DECODER(, "mayo5", mayo5, oqsx, PrivateKeyInfo);
781-
MAKE_DECODER(, "mayo5", mayo5, oqsx, SubjectPublicKeyInfo);
782-
MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, PrivateKeyInfo);
783-
MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, SubjectPublicKeyInfo);
784780
MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx,
785781
PrivateKeyInfo);
786782
MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx,

oqsprov/oqs_encode_key2any.c

-20
Original file line numberDiff line numberDiff line change
@@ -1253,12 +1253,6 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) {
12531253
#define p384_mayo3_evp_type 0
12541254
#define p384_mayo3_input_type "p384_mayo3"
12551255
#define p384_mayo3_pem_type "p384_mayo3"
1256-
#define mayo5_evp_type 0
1257-
#define mayo5_input_type "mayo5"
1258-
#define mayo5_pem_type "mayo5"
1259-
#define p521_mayo5_evp_type 0
1260-
#define p521_mayo5_input_type "p521_mayo5"
1261-
#define p521_mayo5_pem_type "p521_mayo5"
12621256
#define CROSSrsdp128balanced_evp_type 0
12631257
#define CROSSrsdp128balanced_input_type "CROSSrsdp128balanced"
12641258
#define CROSSrsdp128balanced_pem_type "CROSSrsdp128balanced"
@@ -2561,20 +2555,6 @@ MAKE_ENCODER(, p384_mayo3, oqsx, PrivateKeyInfo, pem);
25612555
MAKE_ENCODER(, p384_mayo3, oqsx, SubjectPublicKeyInfo, der);
25622556
MAKE_ENCODER(, p384_mayo3, oqsx, SubjectPublicKeyInfo, pem);
25632557
MAKE_TEXT_ENCODER(, p384_mayo3);
2564-
MAKE_ENCODER(, mayo5, oqsx, EncryptedPrivateKeyInfo, der);
2565-
MAKE_ENCODER(, mayo5, oqsx, EncryptedPrivateKeyInfo, pem);
2566-
MAKE_ENCODER(, mayo5, oqsx, PrivateKeyInfo, der);
2567-
MAKE_ENCODER(, mayo5, oqsx, PrivateKeyInfo, pem);
2568-
MAKE_ENCODER(, mayo5, oqsx, SubjectPublicKeyInfo, der);
2569-
MAKE_ENCODER(, mayo5, oqsx, SubjectPublicKeyInfo, pem);
2570-
MAKE_TEXT_ENCODER(, mayo5);
2571-
MAKE_ENCODER(, p521_mayo5, oqsx, EncryptedPrivateKeyInfo, der);
2572-
MAKE_ENCODER(, p521_mayo5, oqsx, EncryptedPrivateKeyInfo, pem);
2573-
MAKE_ENCODER(, p521_mayo5, oqsx, PrivateKeyInfo, der);
2574-
MAKE_ENCODER(, p521_mayo5, oqsx, PrivateKeyInfo, pem);
2575-
MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, der);
2576-
MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, pem);
2577-
MAKE_TEXT_ENCODER(, p521_mayo5);
25782558
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, der);
25792559
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, pem);
25802560
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, PrivateKeyInfo, der);

oqsprov/oqs_kmgmt.c

+2-22
Original file line numberDiff line numberDiff line change
@@ -1156,35 +1156,17 @@ static void *p384_mayo3_gen_init(void *provctx, int selection) {
11561156
return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_3, "p384_mayo3",
11571157
KEY_TYPE_HYB_SIG, 192, 46, 0);
11581158
}
1159-
static void *mayo5_new_key(void *provctx) {
1160-
return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5,
1161-
"mayo5", KEY_TYPE_SIG, NULL, 256, 47, 0);
1162-
}
1163-
1164-
static void *mayo5_gen_init(void *provctx, int selection) {
1165-
return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "mayo5", 0,
1166-
256, 47, 0);
1167-
}
1168-
static void *p521_mayo5_new_key(void *provctx) {
1169-
return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5,
1170-
"p521_mayo5", KEY_TYPE_HYB_SIG, NULL, 256, 48, 0);
1171-
}
1172-
1173-
static void *p521_mayo5_gen_init(void *provctx, int selection) {
1174-
return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "p521_mayo5",
1175-
KEY_TYPE_HYB_SIG, 256, 48, 0);
1176-
}
11771159

11781160
static void *CROSSrsdp128balanced_new_key(void *provctx) {
11791161
return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx),
11801162
OQS_SIG_alg_cross_rsdp_128_balanced,
1181-
"CROSSrsdp128balanced", KEY_TYPE_SIG, NULL, 128, 49, 0);
1163+
"CROSSrsdp128balanced", KEY_TYPE_SIG, NULL, 128, 47, 0);
11821164
}
11831165

11841166
static void *CROSSrsdp128balanced_gen_init(void *provctx, int selection) {
11851167
return oqsx_gen_init(provctx, selection,
11861168
OQS_SIG_alg_cross_rsdp_128_balanced,
1187-
"CROSSrsdp128balanced", 0, 128, 49, 0);
1169+
"CROSSrsdp128balanced", 0, 128, 47, 0);
11881170
}
11891171

11901172
///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END
@@ -1378,8 +1360,6 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(mayo2)
13781360
MAKE_SIG_KEYMGMT_FUNCTIONS(p256_mayo2)
13791361
MAKE_SIG_KEYMGMT_FUNCTIONS(mayo3)
13801362
MAKE_SIG_KEYMGMT_FUNCTIONS(p384_mayo3)
1381-
MAKE_SIG_KEYMGMT_FUNCTIONS(mayo5)
1382-
MAKE_SIG_KEYMGMT_FUNCTIONS(p521_mayo5)
13831363
MAKE_SIG_KEYMGMT_FUNCTIONS(CROSSrsdp128balanced)
13841364

13851365
MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128)

oqsprov/oqs_prov.h

-33
Original file line numberDiff line numberDiff line change
@@ -1833,37 +1833,6 @@ extern const OSSL_DISPATCH
18331833
oqs_PrivateKeyInfo_der_to_p384_mayo3_decoder_functions[];
18341834
extern const OSSL_DISPATCH
18351835
oqs_SubjectPublicKeyInfo_der_to_p384_mayo3_decoder_functions[];
1836-
extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_der_encoder_functions[];
1837-
extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_pem_encoder_functions[];
1838-
extern const OSSL_DISPATCH
1839-
oqs_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
1840-
extern const OSSL_DISPATCH
1841-
oqs_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
1842-
extern const OSSL_DISPATCH
1843-
oqs_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[];
1844-
extern const OSSL_DISPATCH
1845-
oqs_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[];
1846-
extern const OSSL_DISPATCH oqs_mayo5_to_text_encoder_functions[];
1847-
extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo5_decoder_functions[];
1848-
extern const OSSL_DISPATCH
1849-
oqs_SubjectPublicKeyInfo_der_to_mayo5_decoder_functions[];
1850-
extern const OSSL_DISPATCH
1851-
oqs_p521_mayo5_to_PrivateKeyInfo_der_encoder_functions[];
1852-
extern const OSSL_DISPATCH
1853-
oqs_p521_mayo5_to_PrivateKeyInfo_pem_encoder_functions[];
1854-
extern const OSSL_DISPATCH
1855-
oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
1856-
extern const OSSL_DISPATCH
1857-
oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
1858-
extern const OSSL_DISPATCH
1859-
oqs_p521_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[];
1860-
extern const OSSL_DISPATCH
1861-
oqs_p521_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[];
1862-
extern const OSSL_DISPATCH oqs_p521_mayo5_to_text_encoder_functions[];
1863-
extern const OSSL_DISPATCH
1864-
oqs_PrivateKeyInfo_der_to_p521_mayo5_decoder_functions[];
1865-
extern const OSSL_DISPATCH
1866-
oqs_SubjectPublicKeyInfo_der_to_p521_mayo5_decoder_functions[];
18671836
extern const OSSL_DISPATCH
18681837
oqs_CROSSrsdp128balanced_to_PrivateKeyInfo_der_encoder_functions[];
18691838
extern const OSSL_DISPATCH
@@ -1934,8 +1903,6 @@ extern const OSSL_DISPATCH oqs_mayo2_keymgmt_functions[];
19341903
extern const OSSL_DISPATCH oqs_p256_mayo2_keymgmt_functions[];
19351904
extern const OSSL_DISPATCH oqs_mayo3_keymgmt_functions[];
19361905
extern const OSSL_DISPATCH oqs_p384_mayo3_keymgmt_functions[];
1937-
extern const OSSL_DISPATCH oqs_mayo5_keymgmt_functions[];
1938-
extern const OSSL_DISPATCH oqs_p521_mayo5_keymgmt_functions[];
19391906
extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_keymgmt_functions[];
19401907

19411908
extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[];

0 commit comments

Comments
 (0)