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.1 425 10/28/2025
1.1.0 191 10/28/2025
1.0.0 186 10/28/2025