Crate encodex

source
Expand description

This crate provides functionality for handling plaintexts and ciphertext for any of the following codes, ciphers or digests.

Additionally a cryptanalysis tool is provided to perform cryptanalysis on any of the CryptographicAtoms implemented in this crate.


§Features

To enable any CryptographicAtom, the corresponding feature must be enabled. Though building the crate without any feature is possible, it is not useful, because then the crate does not supply any functionality.

| feature | enables ||| feature | enables | |———––|——————|||———––|——————| | base64 | Base64Context ||| base16, hex | Base16Context | | base64_url | Base64UrlContext ||| caesar | CaesarContext | | base32 | Base32Context ||| ui | Ui elements | | base32_hex | Base32HexContext ||| vigenere | VigenereContext |

By enabling any of these features the respective modules will be compiled. Additional information for every CryptographicAtom can be found in their respective module.


§Nomenclature

This part contains explanations for some words that are frequently used throughout the crate. The meaning of most of the words might be obvious, but since some of them are used in cases where they are not normally used, an explanation is included in this crate.

§Ciphertext

A byte vector after an encrypt or encode operation or before a decrypt or decode operation has been performed on the vector.

§Plaintext

A byte vector after a decrypt or decode operation or before a encrypt or encode operation has been performed on the vector.


§Please note

I develop this library/cli-tool mostly for lectures at university and understanding how all the codes, ciphers and digest-algorithms work internally. It is not intended for use in production code.

If you still decide to use this library in production code or to play around with it, every constructive feedback is appreciated.


Macros§

Enums§

Traits§