A command-line tool to encrypt/decrypt files using AES-256-GCM with PBKDF2-HMAC-SHA256 key derivation, plus metadata, verify, list, and secure delete.
- AES-256-GCM authenticated encryption
- PBKDF2-HMAC-SHA256 (configurable iterations)
- Per-file random salt (16B) and IV/nonce (12B)
- Embedded metadata: original filename, size, plaintext SHA-256
- Streaming I/O for large files
- Best-effort secure delete (overwrite, fsync, unlink)
- Simple CLI:
encrypt,decrypt,verify,list,delete-secure
# prerequisites
xcode-select --install || true
brew install cmake openssl@3
# configure & build
OPENSSL_PREFIX="$(brew --prefix openssl@3)"
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="$OPENSSL_PREFIX" -DOPENSSL_INCLUDE_DIR="$OPENSSL_PREFIX/include" -DOPENSSL_CRYPTO_LIBRARY="$OPENSSL_PREFIX/lib/libcrypto.dylib"
cmake --build build --config Release./build/sflk --help
./build/sflk encrypt <file> [--iter N] [--out file.sflk]
./build/sflk decrypt <file.sflk> [--out restored_name]
./build/sflk verify <file.sflk>
./build/sflk list <file.sflk>
./build/sflk delete-secure <file>