Expand description

The only goal of this library is to provide the easiest way to encrypt and decrypt a message to a computer, its a very very minimal and provides no choices for the user to increase performance or security.

It is a minimal wrapper for the crate aes_siv and anyone wanting anything more advanced than what this library provides should look in that crate where ALL the heavy lifting is performed.

Encryption and decryption example:

use std::str;
fn main() {
    let payload = "Hello world!".as_bytes();
    let password = b"hello wooooooooo";

    let encrypted = simplestcrypt::encrypt_and_serialize(&password[..], &payload).unwrap();
    let plain = simplestcrypt::deserialize_and_decrypt(&password[..], &encrypted).unwrap();

    println!("{:?}", str::from_utf8(&plain));


Contains the Nonce used in the encryption process. This type is inflated when serialized using bincode (16 bytes for the nonce + 8 bytes with size of the Vec + (rest of bytes for Vec ciphertext).



Decrypts an Encrypted structure using Aes128SivAead and returns a decrypted vector using the given password

Assumes that the given bytes is a Bincode serialized Encrypted structure, and first deserializes it and then tries to decrypt it using the given password bytes

Encrypts the given bytes using a random nonce using Aes128SivAed Password cannot be longer than 32 bytes

Encrypts the given bytes using a random nonce using Aes128SivAed, and then serializes the encryption along with the nonce using bincode. The resulting vector is then bincode serialized Encrypted structure