# Features

## Security

* [ChaCha20-Poly1305](https://www.rfc-editor.org/rfc/rfc8439) for authenticated encryption, with the [padding fix](https://github.com/samuel-lucas6/kcChaCha20-Poly1305) for key commitment.
* [Argon2id](https://www.rfc-editor.org/rfc/rfc9106.html) for password-based key derivation.
* [BLAKE2b](https://www.rfc-editor.org/rfc/rfc7693) for hashing, keyed hashing, and key derivation.
* [X25519](https://www.rfc-editor.org/rfc/rfc7748) for key exchange.
* [Elligator 2](https://elligator.cr.yp.to/) for hiding ephemeral public keys.
* [Ed25519](https://www.rfc-editor.org/rfc/rfc8032) for digital signatures.

The [libsodium](https://doc.libsodium.org/) library is used for everything but Elligator2, which is from [Monocypher](https://monocypher.org/).

## Functionality

* 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.

## Privacy

* Kryptor runs locally on your computer. No personal data is ever collected or sent to anyone.​
* Kryptor runs offline unless you run the `-u|--update` command, which downloads [this](https://github.com/samuel-lucas6/Kryptor/blob/master/version.txt) text file and [this](https://github.com/samuel-lucas6/Kryptor/blob/master/version.txt.signature) signature file from GitHub. If you choose to let Kryptor install an update for you when prompted, the [latest release](https://github.com/samuel-lucas6/Kryptor/releases/latest) for your operating system and the associated signature file will also be downloaded from GitHub. You can read GitHub's Privacy Statement [here](https://docs.github.com/en/github/site-policy/github-privacy-statement).

{% hint style="info" %}
As of [v4.1.0](https://www.kryptor.co.uk/pages/-MUD6G-JBYqklHgrh5kv#v4.1.0), the`-u|--update` option has been removed to be consistent with other command line tools. A package manager should be used instead if this is a concern.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.kryptor.co.uk/features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
