Cryptex 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Cryptex --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Cryptex --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Cryptex&version=1.0.0
                    
nuke :add-package Cryptex --version 1.0.0
                    

Cryptex

A secure command-line tool for encrypting and decrypting files and folders using AES-GCM encryption with PBKDF2 key derivation.

Features

  • Strong Encryption: Uses AES-256-GCM authenticated encryption
  • Secure Key Derivation: PBKDF2 with 100,000 iterations and SHA-256
  • File & Folder Support: Encrypt/decrypt individual files or entire folders
  • Authenticated: Prevents tampering with encrypted data
  • Simple CLI: Easy-to-use command-line interface

Installation

Install from NuGet

Install as a global .NET tool:

dotnet tool install -g Cryptex

Usage

Encrypt a single file

cryptex encrypt input.txt output.txt.enc

Decrypt a single file

cryptex decrypt input.txt.enc output.txt

Encrypt all files in a folder

cryptex encrypt-folder /path/to/folder

This will create .enc files for all files in the folder (recursively).

Decrypt all encrypted files in a folder

cryptex decrypt-folder /path/to/folder

This will decrypt all .enc files in the folder (recursively).

Security Details

  • Algorithm: AES-256-GCM
  • Key Derivation: PBKDF2 with 100,000 iterations using SHA-256
  • Salt: 16 bytes (randomly generated per file)
  • Nonce: 12 bytes (randomly generated per file)
  • Tag: 16 bytes (authentication tag)
  • AAD: Includes magic bytes, version, salt, and nonce for additional integrity

File Format

Encrypted files use the following structure:

[Magic: "AESGCM10"] [Version: 1] [Salt: 16 bytes] [Nonce: 12 bytes] [Tag: 16 bytes] [Ciphertext: variable]

Development

Requirements

  • .NET 9.0 or later

License

MIT

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.2 118 5/7/2026
1.1.1 520 10/28/2025
1.1.0 216 10/28/2025
1.0.0 216 10/28/2025