sigtool is a command-line file signing and encryption utility.
It combines Ed25519 signatures with multi-recipient public-key encryption, providing a workflow reminiscent of tools such as signify and age while also exposing its functionality as a Go package. The command-line program can generate keys, sign files, verify signatures, encrypt data for one or more recipients, and decrypt it again.
A particularly useful feature is its support for existing OpenSSH Ed25519 keys, allowing users to work with established SSH identities instead of maintaining a completely separate key set. Encryption can optionally authenticate the sender as well as protect the file contents.
This is free and open source software.
Key Features
- Generate native Ed25519 key pairs for signing and encryption workflows.
- Sign arbitrary files and verify detached signatures.
- Encrypt a file for multiple recipients in a single operation.
- Optionally authenticate the sender during encryption.
- Verify the claimed sender while decrypting authenticated files.
- Read OpenSSH Ed25519 public and private keys as well as native sigtool keys.
- Locate recipients through Ed25519 entries from OpenSSH authorised-keys data.
- Use ephemeral Curve25519 keys to establish recipient-specific shared secrets.
- Protect encrypted file contents with AES-GCM authenticated encryption.
- Use SHA3 hashing when prehashing files for Ed25519 signatures.
- Protect private keys with a passphrase-derived Argon2id key.
- Process encrypted data in chunks rather than requiring entire files in memory.
- Use memory-mapped I/O for efficient hashing and signing of large files.
- Store structured encryption metadata in Protocol Buffers headers.
- Bind authenticated sender signatures to the specific sender, recipient and encrypted file.
Website: github.com/opencoff/sigtool
Support:
Developer: Sudhi Herle
License: GNU General Public License v2.0
sigtool is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| CLI File Encryption Tools | |
|---|---|
| SOPS | Editor of encrypted files |
| age | Simple file encryption tool |
| GnuPG | Implementation of the OpenPGP standard |
| Sequoia PGP | Comprehensive OpenPGP implementation |
| horcrux | File splitter with encryption and redundancy |
| rage | Simple encryption tool using the age format |
| Kryptor | Simple, modern, and secure file encryption and signing tool |
| Picocrypt | Very small (hence Pico), very simple, yet very secure encryption tool |
| fscrypt | Go tool for managing Linux filesystem encryption |
| enc | Designed as a modern, approachable alternative to GnuPG |
| ccrypt | Tool for encrypting and decrypting files and streams |
| Encpipe | Billed as the simplest encryption tool in the world |
| Volaris | Encryption tool designed to prioritize privacy and security |
| eddy | Simple and fast CLI file encryption |
| Xecrets Cli | AxCrypt compatible encryption tool |
| nacrypt | Simple and easy-to-use file encryption utility |
| v02enc | Symmetric encryption for multiple recipients |
| rsecure | AES-GCM file encryption and decryption tool |
| PurrCrypt | Fur-ociously secure encryption tool |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.