• Stars
    star
    414
  • Rank 104,053 (Top 3 %)
  • Language
    C#
  • License
    GNU General Publi...
  • Created about 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple, modern, and secure encryption and signing tool that aims to be a better version of age and Minisign.

License: GPLv3 CodeQL Specification

Kryptor

Kryptor is a simple, modern, and secure file encryption and signing tool for Windows, Linux, and macOS.

It aims to be a better version of age and Minisign to provide a leaner, user friendly alternative to GPG.

kryptor

Features

  • The latest and greatest cryptographic primitives, with no config options.
  • Encrypt multiple files/directories with a passphrase, symmetric key, or asymmetric keys.
  • Encrypt to multiple recipients for sender authenticated, one-way file sharing.
  • Encrypted files are indistinguishable from random. File names can also be encrypted.
  • Create and verify digital signatures, with support for an authenticated comment and prehashing.
  • Small public keys. Private keys are encrypted for protection at rest.
  • UNIX style passphrase entry and random passphrase generation.
  • Pre-shared keys can be used for post-quantum secure key exchange.

For more information, please go to kryptor.co.uk.

Usage

If you're just getting started, check out the tutorial instead.

Usage: kryptor [options] <file>

Arguments:
  file             specify a file/directory path

Options:
  -e|--encrypt     encrypt files/directories
  -d|--decrypt     decrypt files/directories
  -p|--passphrase  specify a passphrase (empty for interactive entry)
  -k|--key         specify or randomly generate a symmetric key or keyfile
  -x|--private     specify your private key (unused or empty for default key)
  -y|--public      specify a public key
  -n|--names       encrypt file/directory names
  -o|--overwrite   overwrite files
  -g|--generate    generate a new key pair
  -r|--recover     recover your public key from your private key
  -m|--modify      change your private key passphrase
  -s|--sign        create a signature
  -c|--comment     add a comment to a signature or new key pair
  -l|--prehash     sign large files by prehashing
  -v|--verify      verify a signature
  -t|--signature   specify a signature file (unused for default name)
  --version        view the program version
  -h|--help        show help information

Examples:
  --encrypt [file]
  --encrypt -p [file]
  --encrypt [-y recipient's public key] [file]
  --decrypt [-y sender's public key] [file]
  --sign [-c comment] [file]
  --verify [-y public key] [file]

Specifying files

When referencing file names/paths that contain spaces, you must surround them with "speech marks":

$ kryptor -e -p "GitHub Logo.png"
$ kryptor -e -p "C:\Users\samuel-lucas6\Downloads\GitHub Logo.png"

Files in the same directory as the kryptor executable can be specified using their file name:

$ kryptor -e -p file.txt

However, files that aren't in the same directory must be specified using a file path:

$ kryptor -e -p C:\Users\samuel-lucas6\Documents\file.txt

Multiple files and/or directories can be specified at once:

$ kryptor -e file1.txt file2.jpg file3.mp4 Photos Videos

Specifying your private key

You can perform encryption, decryption, and signing with your default private key as follows:

$ kryptor -e file.txt
$ kryptor -d file.txt.bin
$ kryptor -s file.txt

This is the recommended approach, but it means your private keys must be kept in the default folder, which varies depending on your operating system:

  • Windows: %USERPROFILE%/.kryptor
  • Linux: /home/.kryptor
  • macOS: /Users/USERNAME/.kryptor

To specify a private key for -r|--recover, -m|--modify, or a private key not stored in the default folder, you must use the -x|--private option followed by :[file] like so:

$ kryptor -r -x:"C:\Users\samuel-lucas6\Documents\encryption.private"

More Repositories

1

Cryptography-Guidelines

Guidance on implementing cryptography as a developer.
408
star
2

Geralt

A modern cryptographic library for .NET 6+ based on libsodium and inspired by Monocypher.
C#
40
star
3

crypto-is-cool

A list of cryptography books, papers, blog posts, presentations, and Q&A answers.
14
star
4

Milva

A simple, cross-platform command line tool for hashing files and text.
C#
9
star
5

ChaCha20-BLAKE3

Committing ChaCha20-BLAKE3, XChaCha20-BLAKE3, and XChaCha20-BLAKE3-SIV AEAD implementations.
C#
9
star
6

DoubleSec

A simple, double-paranoid encryption library inspired by TripleSec.
C#
5
star
7

ChaCha20-BLAKE2b

Committing ChaCha20-BLAKE2b, XChaCha20-BLAKE2b, and XChaCha20-BLAKE2b-SIV AEAD implementations.
C#
4
star
8

draft-lucas-bkdf

An Internet-Draft for the Balloon Key Derivation Function (BKDF), a memory-hard password hashing and password-based key derivation function.
Makefile
4
star
9

kcChaCha20-Poly1305

Key-committing ChaCha20-Poly1305.
C#
4
star
10

Cahir

A deterministic password manager.
C#
4
star
11

ChaCha.NET

A .NET implementation of ChaCha8, ChaCha12, and ChaCha20.
C#
3
star
12

AEGIS.NET

A .NET implementation of AEGIS-128L and AEGIS-256.
C#
3
star
13

HForro.NET

A .NET implementation of HForró.
C#
2
star
14

HashMe

Retrieve MD5, SHA1, and SHA256 hashes for files.
C#
2
star
15

crypto-secretstream-aegis256

Libsodium's crypto_secretstream using AEGIS-256.
C#
2
star
16

scrypt.NET

A .NET implementation of scrypt.
C#
2
star
17

Rocca-S.NET

A .NET implementation of Rocca-S.
C#
2
star
18

samuel-lucas6.github.io

My website/blog.
Ruby
2
star
19

AES-CTR.NET

A .NET implementation of AES-CTR.
C#
1
star
20

SipHash.NET

A .NET implementation of SipHash-2-4.
C#
1
star
21

Balloon.NET

A .NET implementation of the Balloon password hashing algorithm.
C#
1
star
22

Tango12

A stream cipher based on BLAKE2b.
C#
1
star
23

CovertPadding

An implementation of the Covert Encryption randomised padding scheme.
C#
1
star
24

Daence.NET

A .NET implementation of ChaCha-Daence.
C#
1
star
25

HMAC.NET

A .NET implementation of HMAC, with support for SHA256, SHA384, and SHA512.
C#
1
star
26

Ascon.NET

A .NET implementation of the Ascon cipher suite.
C#
1
star
27

Base64

Convert strings to/from Base64.
C#
1
star
28

Forro.NET

A .NET implementation of Forró, a cipher based on ChaCha and Salsa.
C#
1
star
29

XXChaCha20

ChaCha20 with a 224-bit nonce.
C#
1
star
30

Salsa.NET

A .NET implementation of Salsa20, Salsa20/12, and Salsa20/8.
C#
1
star
31

NIST-KBKDFs

A .NET implementation of the NIST SP 800-56Cr2 and NIST SP 800-108r1 KDFs.
C#
1
star
32

PADME.NET

A .NET implementation of PADMÉ padding.
C#
1
star
33

Vanity

A simple WireGuard vanity public key generator.
C#
1
star
34

benchmark-argon2-dotnet

Benchmark Argon2 in Libsodium, Monocypher, Konscious.Security.Cryptography, and/or Isopoh.Cryptography using BenchmarkDotNet to find suitable parameters.
C#
1
star