falcon-signatures

module
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2025 License: AGPL-3.0

README

falcon – a CLI tool to explore FALCON signatures

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.


Installation

Install via go install

If you have Go1.21+ installed, you can install directly with:

go install github.com/algorandfoundation/falcon-signatures/cmd/falcon@latest

This 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 help

Pre-built binaries

Pre-built binaries are available on the releases page


Build from source

You need Go1.25+ to build from source:

git clone https://github.com/algorandfoundation/falcon-signatures.git
cd falcon-signatures
make build

This creates the falcon binary at ./build/falcon.

Run make help to see all available commands.


Usage

Available commands:

Command Description
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 version Show the CLI build version
falcon help Show help
falcon algorand Algorand-specific commands

Key Management

falcon create generates keys using 24-word BIP-39 mnemonics by default for easy recovery.

  • Default: 256-bit entropy with mnemonic (recoverable)
  • High security: 384-bit entropy without mnemonic (--no-mnemonic)
  • Deterministic: Generate from custom seed (--seed)

See falcon create documentation for details.


License

This project is licensed under the AGPL.

Directories

Path Synopsis
Package algorand defines Algorand accounts controlled by FALCON keys.
Package algorand defines Algorand accounts controlled by FALCON keys.
cmd
falcon command
Package mnemonic provides functions to generate and validate mnemonic phrases based on the BIP-39 standard, and to derive Falcon seeds from them.
Package mnemonic provides functions to generate and validate mnemonic phrases based on the BIP-39 standard, and to derive Falcon seeds from them.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL