hn.today

gocryptfs: Encrypted overlay filesystem written in Go

github.com10 points0 comments
Screenshot of gocryptfs: Encrypted overlay filesystem written in Go

gocryptfs is an encrypted overlay filesystem implemented in Go that mounts an encrypted "cipher" directory and exposes a decrypted view without modifying the underlying storage. Built on the go-fuse library and inspired by EncFS, it was designed to fix EncFS's security weaknesses while preserving or improving performance. Development reached 1.0 in 2016 and underwent a formal security audit in 2017; release tags from v0.4 onward are signed. The project emphasizes correct behavior under stress and compatibility with filesystem test suites (including a FUSE-adapted xfstests), provides tooling to decrypt files without FUSE or to encrypt directories offline, and advises keeping a printed master key backup to recover data if configuration or passwords are lost.

The repository documents practical details: Linux is the primary platform with beta macOS support and a Windows reimplementation (cppcryptfs). Installation options include distro packages or prebuilt binaries; building requires Go (1.13+) and optionally OpenSSL for faster AES-GCM on CPUs without AES-NI. Storage overhead is small (empty files 0 bytes, an 18-byte header for non-empty files, ~32 bytes per 4KB block for nonce+auth tag). Performance benchmarks show hundreds of MB/s for AES-GCM and XChaCha20 with configurable backends; a stable CLI ABI aids automation. Active maintenance and a detailed changelog record fixes and feature work (reverse mode, ownership flags, btrfs workarounds, macOS fixes, etc.).

Read on github.com0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Security

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.