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
CryptographicAtom
s 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§
- Creates a
HashMap
.
Enums§
- Defines the three classes of
CryptographicAtom
s that can be encountered in this crate. - Defines all types of
CryptographicAtom
s. - The error used by all
CryptographicAtom
s.
Traits§
- Trait for case insensitive
CryptographicAtom
s. - Trait for cryptographic atoms.