#base64 #base-16 #rfc #base32 #encryption #hash #data-encoding

bin+lib encodex

Implementation of and cryptanalysis tool for legacy and modern codes, ciphers and hashes

5 releases

0.1.12 Nov 14, 2023
0.1.11 Nov 12, 2023
0.1.7 Apr 30, 2022
0.0.1 Apr 24, 2022

#308 in Cryptography

Download history 16/week @ 2024-02-21 6/week @ 2024-02-28 3/week @ 2024-03-13 26/week @ 2024-03-27 26/week @ 2024-04-03

52 downloads per month

GPL-3.0-or-later

260KB
4K 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.


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.

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

UI elements

  • ui
    • Perform single encode/decode operation
    • Chain multiple cryptographic atoms

TODO

  • Publish new version of crate on crates.io
  • Implement Vigenère cipher.
  • Rework command line tool
  • Implement interactive command line tool
  • Implement cryptanalysis tool to analyse Vigenère cipher.

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.

No runtime deps

Features