| Crates.io | qubip_aurora |
| lib.rs | qubip_aurora |
| version | 0.10.0 |
| created_at | 2025-09-26 15:01:55.113004+00 |
| updated_at | 2025-12-17 20:37:51.52808+00 |
| description | A framework to build OpenSSL Providers tailored for the transition to post-quantum cryptography |
| homepage | https://qubip.eu |
| repository | https://github.com/QUBIP/aurora |
| max_upload_size | |
| id | 1856031 |
| size | 1,202,322 |
auroraReport a Bug · Request a Feature · Ask a Question
[!CAUTION]
Development in Progress
This project is currently in development and not yet ready for production use.
Expect changes to occur from time to time, and at this stage, some features may be unavailable.
aurora provides a framework to build
OpenSSL Providers
tailored for the transition to post-quantum cryptography.
aurora showcases an approach we call "shallow loadable modules",
to enhance cryptographic agility
in order to adapt to the rapidly evolving ecosystem
of PQC algorithms and implementations:
[!NOTE] Note on naming
The name of the project is Aurora. The name of the repository follows
Githubconventions, while the corresponding crate name oncrates.iowas not available. So the former isaurora, while the latter isqubip_aurora.This crate builds
cdylibnamedaurora. On Linux this usually means that the build output is calledlibaurora.so.
While we do not tightly couple with specific implementation choices,
at the moment we support a limited selection of algorithms
and external implementations through our Adapters.
The current supported algorithms are summarized in the following tables.
[!NOTE] Future updates to aurora will expand its support for additional PQC algorithms and other external implementations.
| Algorithm | Adapter | PQ/T Hybrid | IANA TLS Supported Groups id |
|---|---|---|---|
| X25519MLKEM768 | libcrux | ✅ | 0x11EC (4588) |
| SecP256r1MLKEM768 | libcrux | ✅ | 0x11EB (4587) |
| Algorithm | Adapter | PQ/T Hybrid | IANA TLS SignatureScheme id | OID |
|---|---|---|---|---|
| ML-DSA-44 | pqclean | ❌ Pure-PQC | 0x0904 (2308) |
2.16.840.1.101.3.4.3.17 |
| ML-DSA-65 | pqclean | ❌ Pure-PQC | 0x0905 (2309) |
2.16.840.1.101.3.4.3.18 |
| ML-DSA-87 | pqclean | ❌ Pure-PQC | 0x0906 (2310) |
2.16.840.1.101.3.4.3.19 |
| SLH-DSA-SHAKE-128f | rustcrypto | ❎ Exempt | 0x0918 (2328) ⚠️ |
2.16.840.1.101.3.4.3.27 |
| SLH-DSA-SHAKE-192f | slhdsa_c | ❎ Exempt | 0x091A (2330) ⚠️ |
2.16.840.1.101.3.4.3.29 |
| SLH-DSA-SHAKE-256s | slhdsa_c | ❎ Exempt | 0x091B (2331) ⚠️ |
2.16.840.1.101.3.4.3.30 |
| ML-DSA-44_ED25519 | pqclean | ✅ Composite ID-lamps-pq-composite-sigs@13 |
0x090A (2314) |
1.3.6.1.5.5.7.6.39 |
| ML-DSA-65_ED25519 | pqclean | ✅ Composite ID-lamps-pq-composite-sigs@13 |
0x090B (2315) |
1.3.6.1.5.5.7.6.48 |
[!NOTE]
- The
ML-DSA-{44,65}_ED25519algorithms also useed25519-dalekfor the traditional part of the signature.- Relevant EU transition recommendations mandate hybrids for the PQC transition: in QUBIP we provide pure
ML-DSAoptions for experimentation only. In QUBIP's Internet Browsing Pilot we avoid pureML-DSAdeployments in favor of "CompositeML-DSA" and consistently recommend this approach.- Transition recommendations that mandate hybrids for the PQC transition usually mark
SLH-DSAas explicitly exempt from the PQ/T Hybrid requirement.- In the general TLS use cases, adopting
SLH-DSAfor signing the handshake is not recommended.aurorasupports the registered IANA TLS SignatureScheme codepoints for experimentation only, and in QUBIP's Internet Browsing Pilot we do not useSLH-DSAfor End-Entity certificates. More details about related discussion are available on the IETF mailing list.
See the open issues for a list of proposed features (and known issues).
Reach out to the maintainers at one of the following places:
If you want to say thank you or/and support active development:
Together, we can make Aurora better!
The GitHub repository primarily serves as a mirror, and will be updated every time a new version is released. It might not always be updated with the latest commits in between releases. However, contributions are still very welcome!
Please read our contribution guidelines, and thank you for being involved!
The original setup of this repository is by NISEC.
For a full list of all authors and contributors, see the contributors page.
In this project, we aim to follow good security practices, but 100% security cannot be assured. This crate is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
This project is licensed under the Apache License, Version 2.0 (Apache-2.0).
Copyright 2023-2025 Tampere University
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
See LICENSE for more information.
This work has been developed as part of the QUBIP project (https://www.qubip.eu), funded by the European Union under the Horizon Europe framework programme grant agreement no. 101119746.