A simple, commented and readable python implementations of
Asymetric Encryption:
Hash Functions:
- Blake (Blake224, Blake256, Blake384, Blake512)
- Blake2 (Blake2b, Blake2s)
- Blake3
- Gimli
- MD2
- MD4
- MD5
- RC4
- RIPEMD-160
- SHA1
- SHA2 (SHA224, SHA256, SHA384, SHA512)
- SHA3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE-128, SHAKE-256, Keccak-224, Keccak-256, Keccak-384, Keccak-512)
- XOODOO [TODO]
- Whirlpool [TODO]
- Rumba20 [TODO]
- SipHash
Key Derivation:
Key Exchange:
Message Authentication Codes (MAC):
Signatures:
Symetric Encryption:
While these should not be used in real world applications. Hopefully the simple implimenation and comments should let people under stand the flow of the program and how each of the implimenations work.
@oiidmnk for bringing the MD2 RFC Eratta to my attention and making the Pull Request. https://www.rfc-editor.org/errata/eid555
These Implimenations have been verified against some of the Test Vectors in the RFC's to make sure that the functions are correct.