Rypt: versatile command-line encryption tool

Examples

```bash $ # Basic use case: encrypt/decrypt file with a password $ rypt secret-interview.mp4 Enter password: Confirm password:

secret-interview.mp4 -> secret-interview.mp4.rypt (1/1) 100.0 % 1.46 GiB 310.18 MiB/s ETA 0:00s

Remove original file(s)? [y/N]: y

$ rypt -d secret-interview.mp4.rypt Enter password:

secret-interview.mp4.rypt -> secret-interview.mp4 (1/1) 100.0 % 1.46 GiB 320.48 MiB/s ETA 0:00s

Remove original file(s)? [y/N]: y

$ # Advanced examples: generate public/private key pair $ rypt -g recipient-key Keypair 1/1: Public key: 8bF9648A4C7705E3276795901819Dfe734fa62Df587CF7dB27a17D6FD0d5012c Public key file: recipient-key.pub Private key file: recipient-key

$ # Upload a public-key-encrypted compressed archive to S3 $ tar c . | xz | rypt --public-key recipient-key.pub | aws s3 cp - s3://mybucket/archive.xz.rypt

$ # Then download it, decrypt and unpack $ aws s3 cp s3://mybucket/archive.xz.rypt - | rypt -d --private-key recipient-key | xz -d | tar x

$ # More advanced examples: encrypt a note from stdin using an any-2-out-of-3 passwords threshold scheme $ rypt -p -p -p --key-threshold 2 > encrypted.rypt Enter password: Confirm password:

Enter password: Confirm password:

Enter password: Confirm password:

(stdin) -> (stdout) (1/1) This is a secret message. ^D $ ./rypt -d -p -p -s encrypted.rypt Enter password:

Enter password:

encrypted.rypt -> (stdout) (1/1) This is a secret message.

```

Installation

Download binary

See the Releases section.

From source

  1. Install Rust: https://www.rust-lang.org/tools/install
  2. cargo install rypt

Why not use existing tools?