https://github.com/chiefbiiko/falcon-cli
post-quantum file sigs
https://github.com/chiefbiiko/falcon-cli
cli digital-signatures post-quantum-cryptography
Last synced: about 1 year ago
JSON representation
post-quantum file sigs
- Host: GitHub
- URL: https://github.com/chiefbiiko/falcon-cli
- Owner: chiefbiiko
- License: mit
- Created: 2021-07-22T14:12:28.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-02T06:42:34.000Z (over 4 years ago)
- Last Synced: 2025-01-21T09:48:55.080Z (about 1 year ago)
- Topics: cli, digital-signatures, post-quantum-cryptography
- Language: Rust
- Homepage:
- Size: 76.2 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# falcon-cli
[](https://github.com/chiefbiiko/falcon-cli/releases/latest) [](https://github.com/chiefbiiko/falcon-cli/blob/main/LICENSE) [](https://github.com/chiefbiiko/falcon-cli)
CLI tool to sign and verify files with the post-quantum signature scheme [FALCON](https://falcon-sign.info/), a round 3 finalist for digital signature algorithms in NIST's post-quantum cryptography standardization competition
## Installation
**With `cargo`**
``` bash
cargo install --git https://github.com/chiefbiiko/falcon-cli#0.1.2
```
The tool will come available on your command line as `falcon`
To install and compile successfully make sure you are at least using `rustc 1.55.0`
**Or `curl`**
``` bash
release_url=https://github.com/chiefbiiko/falcon-cli/releases/download/v0.1.2/falcon-cli-v0.1.2-x86_64-unknown-linux-gnu.gz
curl -fsSL $release_url | gunzip > /usr/local/bin/falcon
chmod u+x /usr/local/bin/falcon
```
Find current prebuilds for Linux, and macOS ~~, Windows~~ on the [releases page](https://github.com/chiefbiiko/falcon-cli/releases/latest)
## Usage
If not havin' generated a key pair yet (default location `~/.falcon-cli`) do it now
```bash
falcon --keygen
```
A test file to roundtrip
```bash
echo "msg 2 sign safely post quantum" > ./file.txt
```
Signin' and openin' - here explcititely referencin' secret and public key with the `-s` and `-p` options respectively
```bash
falcon -S -o ./signed.txt -s ~/.falcon-cli/secret.key ./file.txt
falcon -O -o ./opened.txt -p ~/.falcon-cli/public.key ./signed.txt
```
Outcome
```bash
cmp ./opened.txt ./file.txt
cat ./opened.txt ./file.txt
# msg 2 sign safely post quantum
# msg 2 sign safely post quantum
```
## Docs
```
falcon-cli 0.1.2
chiefbiiko
Sign and verify files with the post-quantum signature scheme FALCON
USAGE:
falcon [FLAGS] [OPTIONS] [FILE]
ARGS:
Input file
FLAGS:
-F, --force Overwrites possibly existing key files
-h, --help Print help information
-K, --keygen Generates a fresh FALCON keypair
-O, --open Verifies a file
-S, --sign Signs a file
-V, --version Print version information
OPTIONS:
-d 512 or 1024; default 1024
-f Input file
-k Base64 public key
-o Output file
-p Public key file; default: ~/.falcon-cli/public.key
-s Secret key file; default: ~/.falcon-cli/secret.key
If no input/output file(s) are given stdin/stdout are used for IO
```
## License
[MIT](./LICENSE)