Minisign is a dead simple tool to sign files and verify signatures. It is portable, lightweight, and uses the highly secure Ed25519 public-key signature system.
Minisign is a tool designed to sign files and verify digital signatures securely and efficiently. It leverages the Ed25519 public-key signature system for high security and performance while maintaining simplicity and portability.
Key Features:
Ed25519 Security: Uses the highly secure Ed25519 cryptographic algorithm for signing and verification.
Portability and Lightweight Design: Minisign is designed to be small, fast, and easy to deploy across platforms.
Key Pair Generation: Creates public/private key pairs for signing and verifying signatures.
Signature Verification Compatibility: Supports verification of signatures created with other tools like Signify.
Deterministic Signatures: Produces consistent signatures for the same input, enhancing reliability.
Cross-Language Implementations: Available in multiple programming languages, including Rust, Go, and JavaScript.
Audience & Benefit:
Ideal for developers, system administrators, and security professionals who need a reliable, efficient tool to manage file integrity and authenticity. Minisign simplifies secure file operations without the complexity of traditional tools like PGP or GPG, enabling seamless integration into workflows. It can be installed via winget for easy setup on supported platforms.
README
Minisign
A dead simple tool to sign files and verify signatures.
-p minisign.pub may be omitted if the default name has been generated.
The image can be verified with the following cosign public key:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Compatibility with Signify
Minisign is compatible with signify, the OpenBSD signing tool. Signatures created with signify can be verified with minisign, and vice versa.
Signature Determinism
This implementation uses deterministic signatures, unless libsodium was compiled with the ED25519_NONDETERMINISTIC macro defined. This adds random noise to the computation of EdDSA nonces.
Other implementations can choose to use non-deterministic signatures by default. They will remain fully interoperable with implementations using deterministic signatures.
Additional Tools, Libraries and Implementations
minizign - Compact implementation in Zig that can also use SSH-encoded keys
minisign-misc - Set of workflows and scripts for macOS to verify and sign files
go-minisign - Go module to verify Minisign signatures