6 releases
0.2.0 | Oct 9, 2024 |
---|---|
0.1.12 | Nov 14, 2023 |
0.1.7 |
|
0.0.1 |
|
#249 in Cryptography
350KB
5.5K
SLoC
En-Codex
A command line tool and library for several codes, ciphers and hashes. See features section for a
comprehensive list of supported features. For information about how to use this crate please use
cargo doc --all-features
from within the project folder and read the generated documentation.
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.
Features
The following list is a complete overview of all implemented features. Unchecked features are not yet implemented.
The names of the highlighted
features in this list match the names of features in the Cargo.toml
file. The list below the names is the functionality that will be enabled by the feature.
Ciphers
Caesar
- Encrypting
- Decrypting
- Test vectors
Vigenère
- Encrypting
- Decrypting
- Test vectors
Codes
RFC 4648 - The Base16, Base32, and Base64 Data Encodings
-
base64
- Encoding
- Decoding
- Test vectors (from RFC 4648 - 10)
-
base64url
en- and decoding- Encoding
- Decoding
- Test vectors
-
base32
- Encoding
- Decoding
- Choose between upper- and lowercase
- Test vectors (from RFC 4648 - 10)
-
base32hex
- Encoding
- Decoding
- Choose between upper- and lowercase
- Test vectors (from RFC 4648 - 10)
-
base16
/hex
- Encoding
- Decoding
- Choose between upper- and lowercase
- Test vectors (from RFC 4648 - 10)
- Option for adding line feed after a certain amount of characters (RFC 4648 - 3.1)
- Option for conditionally not adding padding bytes? Or different padding bytes? (RFC 4648 - 3.2)
- Option for ignoring non-alphabet characters in base encoded data? (RFC 4648 - 3.3)
- Option to change used alphabet for specific uses (RFC 4648 - 3.4)
Cryptanalysis
-
cryptanalysis
- Caesar
- Vigenère
Digests
SHA-2
- SHA-224
- SHA-256
- SHA-384
- SHA-512
- SHA-512/224
- SHA-512/256
UI elements
-
ui
- Perform non-interactive encode,decode,encrypt,decrypt or hash operation
- Use program interactively
- Chain multiple cryptographic atoms
License
This program is released under the GNU General Public License. See COPYING for additional information about the license.
Contact
For any other question contact me at fabian.moos@moosegamesdev.org.