https://github.com/crane-valley/kylix-cli
A command-line interface for Kylix, a post-quantum cryptography library implementing NIST FIPS standards in Rust.
https://github.com/crane-valley/kylix-cli
cli command-line cryptography digital-signatures fips-203 fips-204 fips-205 key-generation ml-dsa ml-kem post-quantum pqc rust slh-dsa
Last synced: 5 months ago
JSON representation
A command-line interface for Kylix, a post-quantum cryptography library implementing NIST FIPS standards in Rust.
- Host: GitHub
- URL: https://github.com/crane-valley/kylix-cli
- Owner: crane-valley
- License: mit
- Created: 2026-01-27T12:57:37.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-28T00:20:58.000Z (5 months ago)
- Last Synced: 2026-01-28T00:44:58.265Z (5 months ago)
- Topics: cli, command-line, cryptography, digital-signatures, fips-203, fips-204, fips-205, key-generation, ml-dsa, ml-kem, post-quantum, pqc, rust, slh-dsa
- Language: Rust
- Homepage: https://kylix-pqc.dev
- Size: 84 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Kylix CLI
[](https://github.com/crane-valley/kylix-cli/actions/workflows/ci.yml)
[](https://github.com/crane-valley/kylix-cli/releases/latest)
[](https://kylix-pqc.dev/)
[](LICENSE)
Command-line interface for post-quantum cryptography operations using the [Kylix](https://github.com/crane-valley/kylix) library.
## Security
> [!WARNING]
> This CLI uses the [Kylix](https://github.com/crane-valley/kylix) library, which is experimental and has **NOT been audited**. It is **NOT intended for production use**.
See [SECURITY.md](https://github.com/crane-valley/kylix/blob/main/SECURITY.md) for security policy and vulnerability reporting.
## Installation
### Pre-built Binaries
**Linux/macOS:**
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/crane-valley/kylix-cli/releases/latest/download/kylix-cli-installer.sh | sh
```
**Windows (PowerShell):**
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://github.com/crane-valley/kylix-cli/releases/latest/download/kylix-cli-installer.ps1 | iex"
```
### From Source
```sh
cargo install --git https://github.com/crane-valley/kylix-cli kylix-cli
```
With benchmark feature:
```sh
cargo install --git https://github.com/crane-valley/kylix-cli kylix-cli --features bench
```
## Usage
### Key Generation
```sh
# ML-KEM (Key Encapsulation)
kylix keygen -a ml-kem-768 -o mykey
# ML-DSA (Digital Signature)
kylix keygen -a ml-dsa-65 -o mykey
# SLH-DSA (Stateless Hash-Based Signature)
kylix keygen -a slh-dsa-shake-128f -o mykey
```
### Encapsulation/Decapsulation (ML-KEM)
```sh
# Encapsulate (creates shared secret and ciphertext)
kylix encaps --pub mykey.pub -o ciphertext.ct
# Decapsulate (recovers shared secret from ciphertext)
kylix decaps --key mykey.sec -i ciphertext.ct
```
### Sign/Verify (ML-DSA, SLH-DSA)
```sh
# Sign a file
kylix sign --key mykey.sec -i document.txt -o document.sig
# Verify a signature
kylix verify --pub mykey.pub -i document.txt -s document.sig
```
### Algorithm Information
```sh
kylix info
```
### Benchmarks (requires `bench` feature)
```sh
# Run benchmarks for all algorithms
kylix bench
# Benchmark specific algorithm
kylix bench -a ml-kem-768 -i 1000
# Compare with external tools (OpenSSL, liboqs)
kylix bench -a ml-kem-768 --compare
```
### Shell Completions
```sh
# Bash
mkdir -p ~/.local/share/bash-completion/completions
kylix completions bash > ~/.local/share/bash-completion/completions/kylix
# Zsh (add ~/.zfunc to fpath in .zshrc)
mkdir -p ~/.zfunc
kylix completions zsh > ~/.zfunc/_kylix
# Fish
mkdir -p ~/.config/fish/completions
kylix completions fish > ~/.config/fish/completions/kylix.fish
```
```powershell
# PowerShell (add to $PROFILE)
kylix completions powershell >> $PROFILE
```
## Supported Algorithms
| Algorithm | Type | NIST Level | Standard |
|-----------|------|------------|----------|
| ML-KEM-512 | KEM | 1 | FIPS 203 |
| ML-KEM-768 | KEM | 3 | FIPS 203 |
| ML-KEM-1024 | KEM | 5 | FIPS 203 |
| ML-DSA-44 | Signature | 2 | FIPS 204 |
| ML-DSA-65 | Signature | 3 | FIPS 204 |
| ML-DSA-87 | Signature | 5 | FIPS 204 |
| SLH-DSA-SHAKE-128s/f | Signature | 1 | FIPS 205 |
| SLH-DSA-SHAKE-192s/f | Signature | 3 | FIPS 205 |
| SLH-DSA-SHAKE-256s/f | Signature | 5 | FIPS 205 |
## Output Formats
- `hex` - Hexadecimal encoding (default)
- `base64` - Base64 encoding
- `pem` - PEM format with headers
## License
MIT License - see [LICENSE](LICENSE) for details.