[Ann] A new Haskell crypto lib: Z-Botan 0.1.1

Dear Haskellers:

After hundreds of days working. I’m happy to announce that the very first version of Z-Botan is published, It’s a new crypto lib built around the versatile botan C++ crypto lib. Currently, all crypto stuff exported by Botan FFI is implemented, i.e.:

  • Random number generators.
  • Block Cipher and symmetric cipher.
  • Hash.
  • MAC.
  • Key derivation functions.
  • Password hash.
  • Constant time multiple precision integers.
  • Public key creation, import and export.
  • Public key encryption/decryption
  • Diffie-Hellman key exchange.
  • Signature generation & signature verification.
  • X.509 certificates & X.509 certificate revocation lists.
  • One time password.
  • AES Key Wrapping
  • Format Preserving Encryption.

We will continue to polish this work, e.g. build TLS upon it. If you have any crypto usage, please give it a try. as usual, we wish you happy hacking!

Cheers~
Dong
2021.05.11

13 Likes

This is really cool, nice work. One thing I really like about cryptonite is how the type system is used to ensure things are used properly - I would love to know which hash algorithm or symmetric cypher is used in any given piece of code. It seems to me that many of the sum types which encode that information at the value level could actually be GADTs which also make that visible at the type level.

2 Likes