lol-apps: Lattice-based cryptographic applications using < lol>.

[ crypto, gpl, library, program ] [ Propose Tags ]

This library contains example cryptographic applications built using lol, a general-purpose library for ring-based lattice cryptography.

[Skip to Readme]
Versions [faq],,,,, (info)
Change log
Dependencies base (>=4.9 && <5), containers (<0.6), deepseq (>= && <1.5), DRBG (<0.6), filepath (<1.5), lol (>= && <0.7), lol-apps, lol-cpp (<0.1), MonadRandom (>=0.2 && <0.6), mtl (<2.3), numeric-prelude (>=0.4.2 && <0.5), protocol-buffers (<2.5), protocol-buffers-descriptor (<2.5), singletons (<2.3), split (<0.3), time (<1.9) [details]
License GPL-2.0-only
Copyright Eric Crockett, Chris Peikert
Author Eric Crockett <>, Chris Peikert <>
Maintainer Eric Crockett <>
Category Crypto
Home page
Bug tracker
Source repo head: git clone
Uploaded by crockeea at Fri Feb 24 07:09:24 UTC 2017
Distributions NixOS:
Executables symmshe, khprf, homomprf
Downloads 2552 total (81 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2017-02-24 [all 1 reports]





Compile via LLVM. This produces much better object code, but you need to have the LLVM compiler installed.


Turn on library optimizations


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for lol-apps-

[back to package description]
Overview of applications:

* SymmSHE.hs gives an implementation of a symmetric-key,
  somewhat-homomorphic encryption scheme that is essentially
  equivalent to the one from the toolkit paper [LPR'13].

* KeyHomomorphicPRF.hs gives an implementation of the
  key-homomorphic pseudo-random function from Banerjee
  and Peikert in Crypto 2014 ([BP14]).

* HomomPRF provides an interface for the homomorphic evaluation of the [BP14]

Note that an example using each application can be found in the 'examples'
directory. Tests and benchmarks for SHE and KeyHomomorphicPRF are provided in
the 'tests' and 'benchmarks' directories. Tests and benchmarks for HomomPRF are
included in the example for HomomPRF.