Z-Botan: Crypto for Haskell

[ bsd3, data, library ] [ Propose Tags ]

Crypto for Haskell, based on Botan


[Skip to Readme]
Versions [RSS] [faq] 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.4.0.0 (info)
Change log ChangeLog.md
Dependencies base (>=4.12 && <5.0), ghc-prim (>=0.5.3), integer-gmp (==1.*), scientific (==0.3.*), stm (==2.5.*), time (==1.11.*), Z-Data (>=0.8.2 && <0.9), Z-IO (==0.8.*) [details]
License BSD-3-Clause
Copyright (c) Z.Haskell Contributors, 2017-2020
Author Dong Han, Tao He
Maintainer winterland1989@gmail.com
Category Data
Home page https://github.com/ZHaskell/z-botan
Bug tracker https://github.com/ZHaskell/z-botan/issues
Source repo head: git clone git://github.com/haskell-Z/z-botan.git
Uploaded by winterland at 2021-05-11T09:29:55Z
Distributions
Downloads 399 total (120 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2021-05-11 [all 3 reports]

Modules

  • Z
    • Botan
      • Z.Botan.Errno
      • Z.Botan.Exception
      • Z.Botan.FFI
    • Crypto
      • Z.Crypto.Cipher
      • Z.Crypto.FPE
      • Z.Crypto.Hash
      • Z.Crypto.KDF
      • Z.Crypto.KeyWrap
      • Z.Crypto.MAC
      • Z.Crypto.MPI
      • Z.Crypto.OTP
      • Z.Crypto.PubKey
      • Z.Crypto.PwdHash
      • Z.Crypto.RNG
      • Z.Crypto.X509

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for Z-Botan-0.1.1.0

[back to package description]

Z-Botan

Hackage Linux Build Status MacOS Build Status Windows Build Status Gitter chat

This package is part of ZHaskell project, providing comprehensive crypto primitives based on botan.

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

Requirements

  • A working haskell compiler system, GHC(>=8.6), cabal-install(>=2.4), hsc2hs.

  • A working python interpreter in $PATH.

  • Tests need hspec-discover.

Example usage

> :set -XOverloadedLists
> :m + Z.Crypto.Hash Z.Data.Vector.Hex 
>
> hash MD5 "hello, world"
[228,215,241,180,237,46,66,209,88,152,244,178,123,1,157,164]
> HexBytes $ hash SHA256  "hello, world"
09CA7E4EAA6E8AE9C7D261167129184883644D07DFBA7CBFBC4C8A2E08360D5B
>
> :m + Z.Crypto.RNG Z.Crypto.PwdHash 
> genBcrypt "mypass" rng 8
[36,50,97,36,48,56,36,102,82,102,78,76,71,122,106,78,80,99,100,68,69,77,75,70,81,104,76,97,117,110,86,52,88,53,89,47,88,101,81,117,80,111,111,111,65,109,122,48,97,50,66,55,79,104,56,104,54,66,121,109]
> validBcrypt "mypass" [36,50,97,36,48,56,36,102,82,102,78,76,71,122,106,78,80,99,100,68,69,77,75,70,81,104,76,97,117,110,86,52,88,53,89,47,88,101,81,117,80,111,111,111,65,109,122,48,97,50,66,55,79,104,56,104,54,66,121,109]
True

Dev guide

# get code
git clone --recursive git@github.com:ZHaskell/z-botan.git
cd z-botan
# build
cabal build
# test
cabal test --enable-tests --test-show-details=direct
# install
cabal install
# generate document
cabal haddock