This repository introduces the falcon CLI tool, designed to facilitate exploration of the Falcon signature scheme.
This tool is part of the R&D work to make the Algorand blockchain quantum-safe, but it can also be used independently to explore Falcon signatures.
The tool implements the Falcon-1024 scheme, based on this implementation, using deterministic signing (which means signing a message with a given private key will always produce the same signature).
| Key type | Size |
|---|---|
| Public key | 1,793 bytes |
| Private key | 2,305 bytes |
| Signature | 1,538 bytes (uncompressed) |
Falcon-1024 targets NIST security level 5 — i.e., at least as hard to break as brute-forcing AES-256 (~256-bit classical security). That’s the highest NIST Post-Quantum Cryptography category for signatures.
You need Go installed.
To install directly:
go install github.com/algorandfoundation/falcon-signatures/cmd/falcon@latestThis places the falcon binary in your Go bin directory (usually $GOBIN or $GOPATH/bin).
Make sure that directory is on your PATH.
Verify installation:
falcon helpgit clone https://github.com/algorandfoundation/falcon-signatures.git
cd falcon-signatures
make buildThis creates the falcon binary in the current directory.
You can also run the tests:
make testRun static analysis:
make vetAvailable commands:
falcon create : Create a new keypair
falcon sign : Sign a message
falcon verify : Verify a signature for a message
falcon info : Display information about a keypair file
falcon help : Show help
- -
falcon algorand : Algorand-specific commands
Detailed command syntax lives in per-command docs:
This project is licensed under the AGPL.