Skip to content

GeneralZero/ChaCha-and-Salsa

Repository files navigation

ChaCha-and-Salsa

A simple, commented and readable python implementations of

Asymetric Encryption:

  • Elgamal
  • ECC (ECIES)

Symetric Encryption:

  • AES
  • Blowfish
  • ChaCha
  • Salsa
  • XChaCha
  • XSalsa
  • DES
  • 3DES
  • TEA/XTEA

Hash Functions:

  • Bcrypt
  • Blake (Blake224, Blake256, Blake384, Blake512)
  • Blake2 (Blake2b, Blake2s)
  • Blake3 [TODO]
  • 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 [TODO]

Key Derivation:

  • Argon2
  • Double Ratchet
  • HKDF
  • PBKDF
  • PBKDF2
  • Scrypt

Message Authentication Cods:

  • CMAC
  • CBC Mac
  • GMAC
  • HMAC
  • Poly1305

Signatures:

  • DSA
  • ECDSA
  • EdDSA

Key Exchange:

  • DH
  • ECDH
  • x3DH

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.

Special Mentions

@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.

About

A simple, commented and readable python implementation of ChaCha, Salsa, Poly1305, MD2, MD4, MD5, SHA1, SHA2, SHA3, Blake, Blake2, DES, 3DES, and more

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages