https://github.com/embetrix/meta-pqc
OpenEmbedded/Yocto layer dedicated to Post-Quantum Cryptography, providing integration and testing of quantum-safe cryptographic algorithms for embedded linux systems.
https://github.com/embetrix/meta-pqc
crypto-agility cryptography embedded-linux embedded-systems openembedded post-quantum-cryptography python security yocto
Last synced: over 1 year ago
JSON representation
OpenEmbedded/Yocto layer dedicated to Post-Quantum Cryptography, providing integration and testing of quantum-safe cryptographic algorithms for embedded linux systems.
- Host: GitHub
- URL: https://github.com/embetrix/meta-pqc
- Owner: embetrix
- License: other
- Created: 2024-12-29T15:35:06.000Z (over 1 year ago)
- Default Branch: scarthgap
- Last Pushed: 2025-02-21T07:16:26.000Z (over 1 year ago)
- Last Synced: 2025-02-21T08:24:16.865Z (over 1 year ago)
- Topics: crypto-agility, cryptography, embedded-linux, embedded-systems, openembedded, post-quantum-cryptography, python, security, yocto
- Language: BitBake
- Homepage:
- Size: 36.1 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# meta-pqc
This layer is an OpenEmbedded/Yocto layer dedicated to Post-Quantum Cryptography, providing integration and testing of quantum-safe cryptographic algorithms for embedded Linux systems. It supports OQS (Open Quantum Safe) and Botan.
Both OQS and Botan implement the latest [NIST-approved Post-Quantum Cryptography (PQC) algorithms](https://csrc.nist.gov/projects/post-quantum-cryptography):
### Public-Key Encryption and Key-Establishment Algorithms
* `CRYSTALS-Kyber`: A lattice-based key encapsulation mechanism (KEM).
### Digital Signature Algorithms
* `CRYSTALS-Dilithium`: A lattice-based digital signature algorithm.
* `FALCON`: A lattice-based digital signature algorithm.
* `SPHINCS+`: A hash-based digital signature algorithm.
## OQS (Open Quantum Safe)
The Open Quantum Safe (OQS) project aims to develop and integrate quantum-resistant cryptographic algorithms. These algorithms are designed to be secure against the potential future threat of quantum computers. The OQS project provides a C library, liboqs, which includes implementations of various quantum-safe algorithms.
For more information, visit the [Open Quantum Safe website](https://openquantumsafe.org).
## Botan
Botan is a cryptographic library written in C++ that provides a wide range of cryptographic algorithms and protocols. It supports both classical and quantum-safe cryptographic algorithms. Botan is designed to be portable and efficient, making it suitable for use in embedded systems. Botan is also [recommended](https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/Informationen-und-Empfehlungen/Kryptografie/Kryptobibliothek-Botan/kryptobibliothek-botan_node.html) by the German Federal Office for Information Security (BSI).
For more information, visit the [Botan website](https://botan.randombit.net).
## Build
This layer can be integrated in your layer(s) or built standalone using [kas-tool](https://github.com/siemens/kas):
To Enable OpenSSL with PQC support using `oqs-provider` you should set: `DISTRO_FEATURES += "oqs"`
```sh
KAS_MACHINE= kas build kas-pqc.yml
```
or using kas docker container:
```sh
KAS_MACHINE= kas-container build kas-pqc.yml
```
for example:
```sh
KAS_MACHINE=qemux86-64 kas build kas-pqc.yml
```
## Run in Qemu
```sh
KAS_MACHINE=qemux86-64 kas shell kas-pqc.yml -c 'runqemu kvm serialstdio nographic qemuparams="-m 1024"'
```
## Note
You can check the available machines that can be built using the following command:
```sh
find layers/ -name *.conf | grep machine
```