chiefbiiko / falcon-cli

post-quantum file sigs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

falcon-cli

release GitHub license stability-experimental

CLI tool to sign and verify files with the post-quantum signature scheme FALCON, a round 3 finalist for digital signature algorithms in NIST's post-quantum cryptography standardization competition

Installation

With cargo

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

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

Usage

If not havin' generated a key pair yet (default location ~/.falcon-cli) do it now

falcon --keygen

A test file to roundtrip

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

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

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 <hello@nugget.digital>

Sign and verify files with the post-quantum signature scheme FALCON

USAGE:
    falcon [FLAGS] [OPTIONS] [FILE]

ARGS:
    <FILE>    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 <degree>                 512 or 1024; default 1024
    -f <file>                   Input file
    -k <public-key>             Base64 public key
    -o <output>                 Output file
    -p <public-key-file>        Public key file; default: ~/.falcon-cli/public.key
    -s <secret-key-file>        Secret key file; default: ~/.falcon-cli/secret.key

If no input/output file(s) are given stdin/stdout are used for IO

License

MIT

About

post-quantum file sigs

License:MIT License


Languages

Language:Rust 100.0%