SuperSerpent is a powerful, cross-platform encryption tool supporting three distinct encryption modes:
- 🔐 Interactive File Encryption – works on Linux & Windows
- 🧊 Transparent Filesystem Encryption – Linux-only, FUSE-based (like gocryptfs)
- 📦 Encrypted Volume Support – VeraCrypt-compatible volumes, with Linux-native mounting via
dm-crypt
orFUSE
✅ Open-source, educational, and experimental. Built with security and portability in mind.
- 📁 File Encryption (Linux & Windows): Encrypt/decrypt individual files interactively.
- 🔄 Filesystem Encryption (Linux-only): A FUSE-based encrypted filesystem (like gocryptfs).
- 💽 Volume Container Support:
- Create VeraCrypt-compatible volumes on Linux and Windows
- Mount volumes via
dm-crypt
orFUSE
on Linux - Windows currently supports only creation, mounting requires the VeraCrypt software.
- Algorithm: Serpent-256
- Modes of Operation:
- Volume Mode:
XTS
- Filesystem Mode:
CTR
(⚠️ Known issue: counter reuse on modification) - File Mode:
CBC-HMAC
orGCM
- Volume Mode:
- Key Derivation:
PBKDF2-HMAC-Whirlpool
- Zero runtime dependencies (uses only the standard C library)
- Fully statically linked
libfuse v2.9.9
included- Supports both
glibc (≥ 2.31)
andmusl
- Fully static binary for
musl
-based distros
- Supports both
Platform | File Encryption | Filesystem Encryption | Volume Encryption |
---|---|---|---|
Linux | ✅ Supported | ✅ Supported (via FUSE) | ✅ Full support (via dm-crypt or FUSE ) |
Windows | ✅ Supported | 🚧 Planned (via WinFsp or filter driver) | 🚧 Create-only (mounting requires VeraCrypt) |
- CMake
- A C compiler (e.g.,
gcc
,clang
,MSVC
)
mkdir build && cd build
cmake ..
make
CMake will detect the system's C library:
For glibc, a standard static binary is built
For musl, a fully static binary is built with all dependencies included
mkdir build && cd build
cmake ..
msbuild
FUSE-related components are excluded (via conditional compilation)
./main
Interactive CLI:
Create / Mount / Unmount VeraCrypt volumes
Encrypt / Decrypt files
Select encryption mode: CBC-HMAC or GCM
./main [VIRTUAL_MOUNT_POINT] [ENCRYPTED_BACKEND_DIR]
Mounts a virtual encrypted filesystem using FUSE
Prompts for a password to derive the encryption key
All files written to ~/secure are transparently encrypted and stored in ~/vault.
Implement filesystem encryption on Windows (via WinFsp or filter driver)
// Add a GUI for this tool
Explore Android support (It already works with ROOT in Termux)
This is an experimental project intended for educational use only. Do not use for sensitive or production data without a thorough security audit.
This project is licensed under the MIT License.
Contributions and suggestions are welcome!
Feel free to:
Open an Issue
Submit a Pull Request
Start a Discussion on GitHub