https://github.com/thibmeu/age-plugin-simplepq
Simple Post Quantum plugin for age
https://github.com/thibmeu/age-plugin-simplepq
age-encryption cli cryptography post-quantum
Last synced: about 1 year ago
JSON representation
Simple Post Quantum plugin for age
- Host: GitHub
- URL: https://github.com/thibmeu/age-plugin-simplepq
- Owner: thibmeu
- License: mit
- Created: 2023-08-27T21:21:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-28T17:49:38.000Z (almost 3 years ago)
- Last Synced: 2025-04-15T22:59:06.520Z (about 1 year ago)
- Topics: age-encryption, cli, cryptography, post-quantum
- Language: Rust
- Homepage:
- Size: 36.1 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# age-plugin-simplepq: Simple Post Quantum plugin for age
[][Documentation]

[][Crates.io]
[Crates.io]: https://crates.io/crates/age-plugin-simplepq
[Documentation]: https://docs.rs/age-plugin-simplepq/
age-plugin-simplepq is a plugin for [age](https://github.com/C2SP/C2SP/blob/main/age.md). It provides an age Identity and Recipient consuming X25519Kyber768Draft00 encoded files.
age-plugin are defined by [C2SP](https://github.com/C2SP/C2SP/blob/main/age.md).
## Tables of Content
* [Features](#features)
* [Installation](#installation)
* [Usage](#usage)
* [Security Considerations](#security-considerations)
* [FAQ](#faq)
* [License](#license)
## Features
* Post Quantum recipients and identities with X25519Kyber768Draft00
* Plugin cli for age
* Cross platform (Linux, Windows, macOS)
## What's next
* Agree on age format
## Installation
| Environment | CLI Command |
|:-------------------|:------------------------------------|
| Cargo (Rust 1.67+) | `cargo install age-plugin-simplepq` |
Read [age installation instructions](https://github.com/FiloSottile/age#installation) to install age.
## Usage
You can use the `--help` option to get more details about the command and its options.
```text
age-plugin-simplepq [-o OUTPUT]
age-keygen-simplepq -y [-o OUTPUT] [INPUT]
```
### Generate recipient and identity
```shell
age-plugin-simplepq -o my_id.key
```
For convenience, you can also create an associated recipient
```shell
age-plugin-simplepq -y -o my_id.key my_id.key
```
> The recipient and identity size are going to be large.
### Encrypt and decrypt
Encrypt `Hello age-plugin-simplepq!` string with your new key.
```shell
echo 'Hello age-plugin-simplepq!' | age -a -R my_id.key.pub > data.age
age --decrypt -i my_id.key data.age
Hello age-plugin-simplepq!
```
## Security Considerations
This software has not been audited. Please use at your sole discretion. With this in mind, age-plugin-simplepq security relies on the following:
* [age](https://github.com/C2SP/C2SP/blob/main/age.md) encryption protocol, and its implementation in [str4d/rage](https://github.com/str4d/rage),
* [HPKE RFC 9180](https://www.rfc-editor.org/rfc/rfc9180.html) by R. Barnes, K. Bhargavan, B. Lipp, C. Wood, its implementation in [rozbb/rust-hpke](https://github.com/rozbb/rust-hpke),and its binding for age [age-plugin-hpke](https://github.com/thibmeu/age-plugin-hpke) ,
## FAQ
Empty
## License
This project is under the MIT license.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be MIT licensed as above, without any additional terms or conditions.