Skip to content
VRAM-RAMPublic

About

A fast, simple file & folder encryption manager, written in Rust

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Enkryptit!

🔵 Human-written

Enkryptit License

Enkryptit! - A fast, simple file & folder encryption manager, written in Rust

Enkryptit! gif as example

Warning

This project is currently a work in progress. It is not audited for production security. Os' keyring usage is unstable for now.

Table of contents

Quick Start

Prerequisites

  • Rust: 1.85+ is recommended.
  • A working native credential store (e.g. libsecret on Linux, native Keychain on macOS).

Using cargo

If you have cargo installed on your system, run :

cargo install eck

Building and Launching using the source code

# Clone the repository
git clone https://github.com/VRAM-RAM/Enkryptit

cd Enkryptit/

# Build
cargo xtask build --release

# Or Install
cargo xtask install

Note

Compilation may take some time because Enkryptit uses an aggressive release profile.

Usage & Commands

Enkryptit! can be used in two ways: as a CLI tool or as a TUI.

CLI Tool

These are the available commands:

Command Syntax Description
Encrypt / Decrypt eck <path> Automatically encrypts plaintext or decrypts .encky files.
Encrypt / Decrypt with a password eck <path> -p <password> Encrypts or decrypts using the specified password.
Open TUI eck ui or eck Opens the interactive TUI.
Show current parameters eck parameters or eck params Shows the current parameters.
Change compression eck params -c <type> Changes the compression algorithm. Available: zstd, lz4, xz, none, and auto.
Change key type eck params -k <type> Changes the key type. Available: os, file, and pwd / password.
Change parallelism eck params -p <type> Changes the parallelism mode. Available: single, multi, or multi:<threads>.
Inspect eck inspect <path> Inspects a file or archive without encrypting or decrypting it.

Tip

eck <path> and eck inspect <path> support multiple paths:

eck <path1> <path2>

eck inspect myfolder/*

TUI

Enkryptit! also provides an interactive terminal user interface.

Launch it with:

eck

or:

eck ui

It will open :

Enkryptit
   Fast & Simple File Encryption Manager v0.0.3
? What do you want to do?  
> Browse
  Parameters
  Help
  Exit
[↑↓ to move, enter to select, type to filter]

The Tui allows you to directly browse your files / folders.

Examples

Encrypt a file:

eck /home/user/secrets/secrets.txt

This creates:

secrets.txt.encky

To decrypt it:

eck /home/user/secrets/secrets.txt.encky

Encrypt a folder:

eck /home/user/secrets/

This creates:

secrets.encky

To decrypt it:

eck /home/user/secrets.encky

Multiple files and folders can be processed at once:

eck /home/user/secrets/* /home/user/secret.txt /lib/secret.bin

Inspect a file without decrypting it:

eck inspect /home/user/my_secret.txt

Why Enkryptit! ?

  • Modern primitives — XChaCha20-Poly1305 provides authenticated encryption, protecting encrypted data against unauthorized modification as well as unauthorized access.

  • Flexible key management — use a password, the OS keyring, or a dedicated key file depending on your workflow.

  • Built for large files — chunked streaming encryption avoids requiring the entire file to be loaded into memory.

  • Automatic performance optimization — compression and parallelism can be infered automatically based on the file and its size.

  • First-class folder encryption - encrypt an entire directory into a single .encky archive while preserving its structure and Unix permissions.

  • Security-conscious secret handling — keys are memory-locked and zeroized when no longer needed.

  • CLI + TUI — use a fast, scriptable CLI or an interactive terminal interface without needing separate applications.

  • Transparent inspection — eck inspect can examine encrypted files and archives without decrypting their contents.

  • Extensively tested — 199+ tests cover cryptography, key handling, tamper detection, folder encryption, multithreading, CLI behavior, and TUI flows.

In short: Enkryptit combines strong authenticated encryption, flexible key management, efficient large-file processing, automatic compression and parallelism, and a usable CLI/TUI in one native Rust application.

Documentation

The full documentation lives in the doc/ folder:

Development

Enkryptit! contains :

  • Its binary, in eck/
  • cargo xtask for launching tests, fuzzing and rustdoc

You can follow the development in PROGRESSION.md.

You can also help the development by contributing!

License

This project is dual-licensed under:

  • CeCILL-B License (French-law compliant)
  • Apache License, Version 2.0

Choose the license that best fits your needs.

About

A fast, simple file & folder encryption manager, written in Rust

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages