Haskell implementation of the RNCryptor encrypted file format by Rob Napier
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
example
src/Crypto/RNCryptor
test
.gitignore
.hub
.travis.yml
LICENSE
README.md
Setup.hs
appveyor.yml
rncryptor.cabal
stack-7.10.yaml
stack-7.8.yaml
stack-8.0.yaml
stack.yaml

README.md

Build Status Build status Coverage Status

Haskell Implementation of the RNCryptor spec

This library implements the specification for the RNCryptor encrypted file format by Rob Napier.

Current Supported Versions

Requirements

The library uses by default a fast C layer to compute the PBKDF2, but that requires the presence of the OpenSSL libraries on the target system. In case this is a too rigid requirement, you can switch back to a pure (slower) Haskell implementation by turning off the fastpbkdf2 cabal flag.

TODO

  • Key-based test vectors
  • Key-derivation test vectors

Contributors (Sorted by name)

  • Alfredo Di Napoli (creator and maintainer)
  • Rob Napier (gave me the key insight to use the previous cipher text as IV for the new block)
  • Tim Docker (Added decryptEither and gave us momentum in turning decrypt into a total function)
  • Tom Titchener (added support for HMAC validation)

Contributions

This library scratches my own itches, but please fork away! Pull requests are encouraged.