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

Add CROSS #461

Closed
wants to merge 11 commits into from
Closed
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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

* @baentsch
/oqsprov/oqs_hyb_kem.c @bhess
/oqs-template/generate.yml @baentsch @bhess @feventura
/oqs-template/generate.yml @baentsch @bhess @feventura @alexrow
SWilson4 marked this conversation as resolved.
Show resolved Hide resolved
/CMakeLists.txt @baentsch @thb-sb
/.circleci/config.yml @baentsch @thb-sb
/.github/workflows @baentsch @thb-sb
Expand Down
32 changes: 32 additions & 0 deletions ALGORITHMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,22 @@ As standardization for these algorithms within TLS is not done, all TLS code poi
| p384_mayo3 | 0xfef4 |Yes| OQS_CODEPOINT_P384_MAYO3
| mayo5 | 0xfef1 |Yes| OQS_CODEPOINT_MAYO5
| p521_mayo5 | 0xfef5 |Yes| OQS_CODEPOINT_P521_MAYO5
| CROSSrsdp128balanced | 0xfef6 |Yes| OQS_CODEPOINT_CROSSRSDP128BALANCED
| CROSSrsdp128fast | 0xfef7 |No| OQS_CODEPOINT_CROSSRSDP128FAST
| CROSSrsdp128small | 0xfef8 |No| OQS_CODEPOINT_CROSSRSDP128SMALL
| CROSSrsdp192balanced | 0xfef9 |No| OQS_CODEPOINT_CROSSRSDP192BALANCED
| CROSSrsdp192fast | 0xfefa |No| OQS_CODEPOINT_CROSSRSDP192FAST
| CROSSrsdp192small | 0xfefb |No| OQS_CODEPOINT_CROSSRSDP192SMALL
| CROSSrsdp256small | 0xfefc |No| OQS_CODEPOINT_CROSSRSDP256SMALL
| CROSSrsdpg128balanced | 0xfefd |No| OQS_CODEPOINT_CROSSRSDPG128BALANCED
| CROSSrsdpg128fast | 0xfefe |No| OQS_CODEPOINT_CROSSRSDPG128FAST
| CROSSrsdpg128small | 0xfeff |No| OQS_CODEPOINT_CROSSRSDPG128SMALL
| CROSSrsdpg192balanced | 0xff00 |No| OQS_CODEPOINT_CROSSRSDPG192BALANCED
| CROSSrsdpg192fast | 0xff01 |No| OQS_CODEPOINT_CROSSRSDPG192FAST
| CROSSrsdpg192small | 0xff02 |No| OQS_CODEPOINT_CROSSRSDPG192SMALL
| CROSSrsdpg256balanced | 0xff03 |No| OQS_CODEPOINT_CROSSRSDPG256BALANCED
| CROSSrsdpg256fast | 0xff04 |No| OQS_CODEPOINT_CROSSRSDPG256FAST
| CROSSrsdpg256small | 0xff05 |No| OQS_CODEPOINT_CROSSRSDPG256SMALL
<!--- OQS_TEMPLATE_FRAGMENT_IDS_END -->

Changing code points
Expand Down Expand Up @@ -223,6 +239,22 @@ adapting the OIDs of all supported signature algorithms as per the table below.
| p384_mayo3 | 1.3.9999.8.3.2 |Yes| OQS_OID_P384_MAYO3
| mayo5 | 1.3.9999.8.5.1 |Yes| OQS_OID_MAYO5
| p521_mayo5 | 1.3.9999.8.5.2 |Yes| OQS_OID_P521_MAYO5
| CROSSrsdp128balanced | 1.3.6.1.4.1.62245.2.1.1 |Yes| OQS_OID_CROSSRSDP128BALANCED
| CROSSrsdp128fast | 1.3.6.1.4.1.62245.2.1.2 |No| OQS_OID_CROSSRSDP128FAST
| CROSSrsdp128small | 1.3.6.1.4.1.62245.2.1.3 |No| OQS_OID_CROSSRSDP128SMALL
| CROSSrsdp192balanced | 1.3.6.1.4.1.62245.2.1.4 |No| OQS_OID_CROSSRSDP192BALANCED
| CROSSrsdp192fast | 1.3.6.1.4.1.62245.2.1.5 |No| OQS_OID_CROSSRSDP192FAST
| CROSSrsdp192small | 1.3.6.1.4.1.62245.2.1.6 |No| OQS_OID_CROSSRSDP192SMALL
| CROSSrsdp256small | 1.3.6.1.4.1.62245.2.1.9 |No| OQS_OID_CROSSRSDP256SMALL
| CROSSrsdpg128balanced | 1.3.6.1.4.1.62245.2.1.10 |No| OQS_OID_CROSSRSDPG128BALANCED
| CROSSrsdpg128fast | 1.3.6.1.4.1.62245.2.1.11 |No| OQS_OID_CROSSRSDPG128FAST
| CROSSrsdpg128small | 1.3.6.1.4.1.62245.2.1.12 |No| OQS_OID_CROSSRSDPG128SMALL
| CROSSrsdpg192balanced | 1.3.6.1.4.1.62245.2.1.13 |No| OQS_OID_CROSSRSDPG192BALANCED
| CROSSrsdpg192fast | 1.3.6.1.4.1.62245.2.1.14 |No| OQS_OID_CROSSRSDPG192FAST
| CROSSrsdpg192small | 1.3.6.1.4.1.62245.2.1.15 |No| OQS_OID_CROSSRSDPG192SMALL
| CROSSrsdpg256balanced | 1.3.6.1.4.1.62245.2.1.16 |No| OQS_OID_CROSSRSDPG256BALANCED
| CROSSrsdpg256fast | 1.3.6.1.4.1.62245.2.1.17 |No| OQS_OID_CROSSRSDPG256FAST
| CROSSrsdpg256small | 1.3.6.1.4.1.62245.2.1.18 |No| OQS_OID_CROSSRSDPG256SMALL

If [OQS_KEM_ENCODERS](CONFIGURE.md#OQS_KEM_ENCODERS) is enabled the following list is also available:

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ This implementation makes available the following quantum safe algorithms:
- **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `p256_sphincssha2128fsimple`\*, `rsa3072_sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `p256_sphincssha2128ssimple`\*, `rsa3072_sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `p384_sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `p384_sphincssha2192ssimple`, `sphincssha2256fsimple`, `p521_sphincssha2256fsimple`, `sphincssha2256ssimple`, `p521_sphincssha2256ssimple`
- **SPHINCS-SHAKE**:`sphincsshake128fsimple`\*, `p256_sphincsshake128fsimple`\*, `rsa3072_sphincsshake128fsimple`\*, `sphincsshake128ssimple`, `p256_sphincsshake128ssimple`, `rsa3072_sphincsshake128ssimple`, `sphincsshake192fsimple`, `p384_sphincsshake192fsimple`, `sphincsshake192ssimple`, `p384_sphincsshake192ssimple`, `sphincsshake256fsimple`, `p521_sphincsshake256fsimple`, `sphincsshake256ssimple`, `p521_sphincsshake256ssimple`
- **MAYO**:`mayo1`\*, `p256_mayo1`\*, `mayo2`\*, `p256_mayo2`\*, `mayo3`\*, `p384_mayo3`\*, `mayo5`\*, `p521_mayo5`\*
- **CROSS**:`CROSSrsdp128balanced`\*, `CROSSrsdp128fast`, `CROSSrsdp128small`, `CROSSrsdp192balanced`, `CROSSrsdp192fast`, `CROSSrsdp192small`, `CROSSrsdp256small`, `CROSSrsdpg128balanced`, `CROSSrsdpg128fast`, `CROSSrsdpg128small`, `CROSSrsdpg192balanced`, `CROSSrsdpg192fast`, `CROSSrsdpg192small`, `CROSSrsdpg256balanced`, `CROSSrsdpg256fast`, `CROSSrsdpg256small`

<!--- OQS_TEMPLATE_FRAGMENT_ALGS_END -->

Expand Down Expand Up @@ -188,6 +189,7 @@ Contributors to the `oqsprovider` include:
- Thomas Bailleux (many build, CI and usage improvements for different platforms)
- Felipe Ventura (composite sig integration and OID management)
- Iyán Méndez Veiga (PKCS#12 testing)
- Alessandro Barenghi (CROSS OIDs)

History
-------
Expand Down
126 changes: 125 additions & 1 deletion oqs-template/generate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ kem_nid_end: '0x0250'
kem_nid_hybrid_end: '0x2FFF'
# need to edit ssl_local.h macros IS_OQS_KEM_CURVEID and IS_OQS_KEM_HYBRID_CURVEID with the above _end values

# Next free signature ID: 0xfef6
# Next free signature ID: 0xff06
sigs:
# -
# iso (1)
Expand Down Expand Up @@ -1516,3 +1516,127 @@ sigs:
'pretty_name': 'ECDSA p521',
'oid': '1.3.9999.8.5.2',
'code_point': '0xfef5'}]
-
family: 'CROSS'
variants:
# RSDP 128
-
name: 'CROSSrsdp128balanced'
pretty_name: 'CROSS-rsdp-128-balanced'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_128_balanced'
oid: '1.3.6.1.4.1.62245.2.1.1'
code_point: '0xfef6'
baentsch marked this conversation as resolved.
Show resolved Hide resolved
baentsch marked this conversation as resolved.
Show resolved Hide resolved
enable: true
-
name: 'CROSSrsdp128fast'
pretty_name: 'CROSS-rsdp-128-fast'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_128_fast'
oid: '1.3.6.1.4.1.62245.2.1.2'
code_point: '0xfef7'
enable: false
-
name: 'CROSSrsdp128small'
pretty_name: 'CROSS-rsdp-128-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_128_small'
oid: '1.3.6.1.4.1.62245.2.1.3'
code_point: '0xfef8'
enable: false
# RSDP 192
-
name: 'CROSSrsdp192balanced'
pretty_name: 'CROSS-rsdp-192-balanced'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_192_balanced'
oid: '1.3.6.1.4.1.62245.2.1.4'
code_point: '0xfef9'
enable: false
-
name: 'CROSSrsdp192fast'
pretty_name: 'CROSS-rsdp-192-fast'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_192_fast'
oid: '1.3.6.1.4.1.62245.2.1.5'
code_point: '0xfefa'
enable: false
-
name: 'CROSSrsdp192small'
pretty_name: 'CROSS-rsdp-192-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_192_small'
oid: '1.3.6.1.4.1.62245.2.1.6'
code_point: '0xfefb'
enable: false
# RSDP 256
# CROSS variants rsdp-256-balanced and rsdp-256-fast are missing because
# they produce certificates that are larger than the maximum size allowed
# by TLS 1.3 (RFC 8446 section B.3.3)
-
name: 'CROSSrsdp256small'
pretty_name: 'CROSS-rsdp-256-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdp_256_small'
oid: '1.3.6.1.4.1.62245.2.1.9'
code_point: '0xfefc'
enable: false
# RSDPG 128
-
name: 'CROSSrsdpg128balanced'
pretty_name: 'CROSS-rsdpg-128-balanced'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_128_balanced'
oid: '1.3.6.1.4.1.62245.2.1.10'
code_point: '0xfefd'
enable: false
-
name: 'CROSSrsdpg128fast'
pretty_name: 'CROSS-rsdpg-128-fast'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_128_fast'
oid: '1.3.6.1.4.1.62245.2.1.11'
code_point: '0xfefe'
enable: false
-
name: 'CROSSrsdpg128small'
pretty_name: 'CROSS-rsdpg-128-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_128_small'
oid: '1.3.6.1.4.1.62245.2.1.12'
code_point: '0xfeff'
enable: false
# RSDPG 192
-
name: 'CROSSrsdpg192balanced'
pretty_name: 'CROSS-rsdpg-192-balanced'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_192_balanced'
oid: '1.3.6.1.4.1.62245.2.1.13'
code_point: '0xff00'
enable: false
-
name: 'CROSSrsdpg192fast'
pretty_name: 'CROSS-rsdpg-192-fast'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_192_fast'
oid: '1.3.6.1.4.1.62245.2.1.14'
code_point: '0xff01'
enable: false
-
name: 'CROSSrsdpg192small'
pretty_name: 'CROSS-rsdpg-192-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_192_small'
oid: '1.3.6.1.4.1.62245.2.1.15'
code_point: '0xff02'
enable: false
# RSDPG 256
-
name: 'CROSSrsdpg256balanced'
pretty_name: 'CROSS-rsdpg-256-balanced'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_256_balanced'
oid: '1.3.6.1.4.1.62245.2.1.16'
code_point: '0xff03'
enable: false
-
name: 'CROSSrsdpg256fast'
pretty_name: 'CROSS-rsdpg-256-fast'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_256_fast'
oid: '1.3.6.1.4.1.62245.2.1.17'
code_point: '0xff04'
enable: false
-
name: 'CROSSrsdpg256small'
pretty_name: 'CROSS-rsdpg-256-small'
oqs_meth: 'OQS_SIG_alg_cross_rsdpg_256_small'
oid: '1.3.6.1.4.1.62245.2.1.18'
code_point: '0xff05'
enable: false
16 changes: 16 additions & 0 deletions oqs-template/oqs-sig-info.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID |
|:--------------------------------------------------|:------------------------------------------------|:-------------|---------------------:|:-------------|:-------------------------|
| CROSSrsdp128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef6 | 1.3.6.1.4.1.62245.2.1.1 |
| CROSSrsdp128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef7 | 1.3.6.1.4.1.62245.2.1.2 |
| CROSSrsdp128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef8 | 1.3.6.1.4.1.62245.2.1.3 |
| CROSSrsdp192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfef9 | 1.3.6.1.4.1.62245.2.1.4 |
| CROSSrsdp192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefa | 1.3.6.1.4.1.62245.2.1.5 |
| CROSSrsdp192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefb | 1.3.6.1.4.1.62245.2.1.6 |
| CROSSrsdp256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xfefc | 1.3.6.1.4.1.62245.2.1.9 |
| CROSSrsdpg128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefd | 1.3.6.1.4.1.62245.2.1.10 |
| CROSSrsdpg128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefe | 1.3.6.1.4.1.62245.2.1.11 |
| CROSSrsdpg128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfeff | 1.3.6.1.4.1.62245.2.1.12 |
| CROSSrsdpg192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff00 | 1.3.6.1.4.1.62245.2.1.13 |
| CROSSrsdpg192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff01 | 1.3.6.1.4.1.62245.2.1.14 |
| CROSSrsdpg192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff02 | 1.3.6.1.4.1.62245.2.1.15 |
| CROSSrsdpg256balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff03 | 1.3.6.1.4.1.62245.2.1.16 |
| CROSSrsdpg256fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff04 | 1.3.6.1.4.1.62245.2.1.17 |
| CROSSrsdpg256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff05 | 1.3.6.1.4.1.62245.2.1.18 |
| dilithium2 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.2.267.7.4.4 |
| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.1 |
| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea2 | 1.3.9999.2.7.2 |
Expand Down
4 changes: 4 additions & 0 deletions oqsprov/oqs_decode_der2key.c
Original file line number Diff line number Diff line change
Expand Up @@ -819,4 +819,8 @@ MAKE_DECODER(, "mayo5", mayo5, oqsx, PrivateKeyInfo);
MAKE_DECODER(, "mayo5", mayo5, oqsx, SubjectPublicKeyInfo);
MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, PrivateKeyInfo);
MAKE_DECODER(, "p521_mayo5", p521_mayo5, oqsx, SubjectPublicKeyInfo);
MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx,
PrivateKeyInfo);
MAKE_DECODER(, "CROSSrsdp128balanced", CROSSrsdp128balanced, oqsx,
SubjectPublicKeyInfo);
///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_END
10 changes: 10 additions & 0 deletions oqsprov/oqs_encode_key2any.c
Original file line number Diff line number Diff line change
Expand Up @@ -1226,6 +1226,9 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) {
#define p521_mayo5_evp_type 0
#define p521_mayo5_input_type "p521_mayo5"
#define p521_mayo5_pem_type "p521_mayo5"
#define CROSSrsdp128balanced_evp_type 0
#define CROSSrsdp128balanced_input_type "CROSSrsdp128balanced"
#define CROSSrsdp128balanced_pem_type "CROSSrsdp128balanced"
///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END

/* ---------------------------------------------------------------------- */
Expand Down Expand Up @@ -2661,4 +2664,11 @@ MAKE_ENCODER(, p521_mayo5, oqsx, PrivateKeyInfo, pem);
MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, der);
MAKE_ENCODER(, p521_mayo5, oqsx, SubjectPublicKeyInfo, pem);
MAKE_TEXT_ENCODER(, p521_mayo5);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, der);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, EncryptedPrivateKeyInfo, pem);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, PrivateKeyInfo, der);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, PrivateKeyInfo, pem);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, SubjectPublicKeyInfo, der);
MAKE_ENCODER(, CROSSrsdp128balanced, oqsx, SubjectPublicKeyInfo, pem);
MAKE_TEXT_ENCODER(, CROSSrsdp128balanced);
///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_END
13 changes: 13 additions & 0 deletions oqsprov/oqs_kmgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,18 @@ static void *p521_mayo5_gen_init(void *provctx, int selection) {
KEY_TYPE_HYB_SIG, 256, 55);
}

static void *CROSSrsdp128balanced_new_key(void *provctx) {
return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx),
OQS_SIG_alg_cross_rsdp_128_balanced,
"CROSSrsdp128balanced", KEY_TYPE_SIG, NULL, 128, 56);
}

static void *CROSSrsdp128balanced_gen_init(void *provctx, int selection) {
return oqsx_gen_init(provctx, selection,
OQS_SIG_alg_cross_rsdp_128_balanced,
"CROSSrsdp128balanced", 0, 128, 56);
}

///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END

#define MAKE_SIG_KEYMGMT_FUNCTIONS(alg) \
Expand Down Expand Up @@ -1407,6 +1419,7 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(mayo3)
MAKE_SIG_KEYMGMT_FUNCTIONS(p384_mayo3)
MAKE_SIG_KEYMGMT_FUNCTIONS(mayo5)
MAKE_SIG_KEYMGMT_FUNCTIONS(p521_mayo5)
MAKE_SIG_KEYMGMT_FUNCTIONS(CROSSrsdp128balanced)

MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128)

Expand Down
18 changes: 18 additions & 0 deletions oqsprov/oqs_prov.h
Original file line number Diff line number Diff line change
Expand Up @@ -2148,6 +2148,23 @@ extern const OSSL_DISPATCH
oqs_PrivateKeyInfo_der_to_p521_mayo5_decoder_functions[];
extern const OSSL_DISPATCH
oqs_SubjectPublicKeyInfo_der_to_p521_mayo5_decoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_PrivateKeyInfo_der_encoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_PrivateKeyInfo_pem_encoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_EncryptedPrivateKeyInfo_der_encoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_EncryptedPrivateKeyInfo_pem_encoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_SubjectPublicKeyInfo_der_encoder_functions[];
extern const OSSL_DISPATCH
oqs_CROSSrsdp128balanced_to_SubjectPublicKeyInfo_pem_encoder_functions[];
extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_to_text_encoder_functions[];
extern const OSSL_DISPATCH
oqs_PrivateKeyInfo_der_to_CROSSrsdp128balanced_decoder_functions[];
extern const OSSL_DISPATCH
oqs_SubjectPublicKeyInfo_der_to_CROSSrsdp128balanced_decoder_functions[];
///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END

///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START
Expand Down Expand Up @@ -2210,6 +2227,7 @@ extern const OSSL_DISPATCH oqs_mayo3_keymgmt_functions[];
extern const OSSL_DISPATCH oqs_p384_mayo3_keymgmt_functions[];
extern const OSSL_DISPATCH oqs_mayo5_keymgmt_functions[];
extern const OSSL_DISPATCH oqs_p521_mayo5_keymgmt_functions[];
extern const OSSL_DISPATCH oqs_CROSSrsdp128balanced_keymgmt_functions[];

extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[];

Expand Down
4 changes: 4 additions & 0 deletions oqsprov/oqsdecoders.inc
Original file line number Diff line number Diff line change
Expand Up @@ -275,4 +275,8 @@ DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5),
DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5),DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5),
DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5),
#endif
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced
DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, CROSSrsdp128balanced),
DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, CROSSrsdp128balanced),
#endif
///// OQS_TEMPLATE_FRAGMENT_MAKE_END
9 changes: 9 additions & 0 deletions oqsprov/oqsencoders.inc
Original file line number Diff line number Diff line change
Expand Up @@ -921,4 +921,13 @@ ENCODER_w_structure("p521_mayo5", p521_mayo5, der, SubjectPublicKeyInfo),
ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo),
ENCODER_TEXT("p521_mayo5", p521_mayo5),
#endif
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, PrivateKeyInfo),
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, PrivateKeyInfo),
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, EncryptedPrivateKeyInfo),
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, EncryptedPrivateKeyInfo),
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, SubjectPublicKeyInfo),
ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, SubjectPublicKeyInfo),
ENCODER_TEXT("CROSSrsdp128balanced", CROSSrsdp128balanced),
#endif
///// OQS_TEMPLATE_FRAGMENT_MAKE_END
Loading
Loading