Skip to content

raidshift/NoXS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NoXS

  • Command line tool & library for authenticated encryption with password-based key derivation

Key derivation: Argon2id

  • Parameters: iterations = 2, memory = 1024*256, parallelism = 2
  • Input: password, secure random salt/nonce (24 bytes)
  • Output: key (32 bytes)

Authenticated encryption: XChaCha20-Poly1305

  • Input: key (32 bytes), secure random salt/nonce (24 bytes), plaintext (n bytes)
  • Output: version 0x78 (1 byte) || secure random salt/nonce (24 bytes) || ciphertext (n bytes) || authentication tag (16 bytes)

NoXS

Usage

With interaction (password prompt)

  • noxs <command> <in_file> <out_file>

Without interaction (password from file)

  • noxs <command> <in_file> <out_file> <password_file>

Commands

  • e = encrypt
  • ea = encrypt & base64-encode
  • d = decrypt
  • da = base64-decode & decrypt

Build with Rust and install to /usr/local/bin

  • build_install