The lol-apps package

[ Tags: benchmark, 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,,,,, (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
Copyright Eric Crockett, Chris Peikert
Author Eric Crockett <>, Chris Peikert <>
Maintainer Eric Crockett <>
Category Crypto
Home page
Bug tracker
Source repository head: git clone
Uploaded Fri Feb 24 07:09:24 UTC 2017 by crockeea
Distributions NixOS:
Executables symmshe, khprf, homomprf
Downloads 307 total (10 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-24 [all 1 reports]
Hackage Matrix CI





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.