lol-apps-0.2.0.1: lol-apps.cabal
name: lol-apps
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.2.0.1
synopsis: Lattice-based cryptographic applications using <https://hackage.haskell.org/package/lol lol>.
homepage: https://github.com/cpeikert/Lol
Bug-Reports: https://github.com/cpeikert/Lol/issues
license: GPL-2
license-file: LICENSE
author: Eric Crockett <ecrockett0@gmail.com>, Chris Peikert <cpeikert@alum.mit.edu>
maintainer: Eric Crockett <ecrockett0@gmail.com>
copyright: Eric Crockett, Chris Peikert
category: Crypto
stability: experimental
build-type: Simple
extra-source-files: README, CHANGES.md, SHE.proto, HomomPRF.proto
cabal-version: >= 1.10
description:
This library contains example cryptographic applications built using
<https://hackage.haskell.org/package/lol lol>,
a general-purpose library for ring-based lattice cryptography.
source-repository head
type: git
location: https://github.com/cpeikert/Lol
Flag llvm
Description: Compile via LLVM. This produces much better object code,
but you need to have the LLVM compiler installed.
Default: False
Flag opt
Description: Turn on library optimizations
Default: True
Manual: False
library
default-language: Haskell2010
if flag(llvm)
ghc-options: -fllvm -optlo-O3
-- ghc optimizations
if flag(opt)
ghc-options: -O3 -Odph -funbox-strict-fields -fwarn-dodgy-imports
ghc-options: -fno-liberate-case -funfolding-use-threshold1000 -funfolding-keeness-factor1000
exposed-modules:
Crypto.Lol.Applications.HomomPRF
Crypto.Lol.Applications.KeyHomomorphicPRF
Crypto.Lol.Applications.SymmSHE
Crypto.Proto.HomomPRF
Crypto.Proto.HomomPRF.LinearFuncChain
Crypto.Proto.HomomPRF.RoundHintChain
Crypto.Proto.HomomPRF.TunnelInfoChain
Crypto.Proto.SHE
Crypto.Proto.SHE.KSHint
Crypto.Proto.SHE.RqPolynomial
Crypto.Proto.SHE.SecretKey
Crypto.Proto.SHE.TunnelInfo
build-depends:
base >= 4.9 && < 5,
containers < 0.6,
deepseq >= 1.4.1.1 && < 1.5,
lol >= 0.6.0.0 && < 0.7,
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
test-suite test-apps
type: exitcode-stdio-1.0
hs-source-dirs: tests, examples
default-language: Haskell2010
main-is: TestAppsMain.hs
ghc-options: -main-is TestAppsMain
other-modules: KHPRFTests, SHETests
ghc-options: -threaded -rtsopts
build-depends:
arithmoi < 0.5,
base >= 4.9 && < 5,
constraints < 0.10,
deepseq < 1.5,
DRBG < 0.6,
lol >= 0.6.0.0 && < 0.7,
lol-apps,
lol-cpp < 0.1,
lol-repa < 0.1,
lol-tests < 0.1,
MonadRandom < 0.6,
mtl < 2.3,
numeric-prelude < 0.5,
QuickCheck >= 2.8 && < 3.0,
random < 1.2,
-- repa < 3.5,
singletons < 2.3,
test-framework >= 0.8 && < 0.9,
test-framework-quickcheck2 >= 0.3 && < 0.4,
vector < 0.13
Benchmark bench-apps
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks, examples
default-language: Haskell2010
main-is: BenchAppsMain.hs
ghc-options: -main-is BenchAppsMain
other-modules: KHPRFBenches, SHEBenches
-- if flag(llvm)
-- ghc-options: -fllvm -optlo-O3
ghc-options: -threaded -rtsopts -O2
-- ghc-options: -O2 -Odph -funbox-strict-fields -fwarn-dodgy-imports -rtsopts
-- ghc-options: -fno-liberate-case -funfolding-use-threshold1000 -funfolding-keeness-factor1000
build-depends:
arithmoi < 0.5,
base >= 4.9 && < 5,
containers < 0.6,
criterion < 1.2,
deepseq < 1.5,
DRBG < 0.6,
lol >= 0.6.0.0 && < 0.7,
lol-apps,
lol-benches >= 0.0.0.3 && < 0.1,
lol-cpp < 0.1,
lol-repa < 0.1,
MonadRandom < 0.6,
mtl < 2.3,
numeric-prelude < 0.5,
singletons < 2.3,
transformers < 0.6,
vector < 0.13,
repa >=3.4 && < 3.5
executable homomprf
hs-source-dirs: examples
default-language: Haskell2010
main-is: HomomPRFMain.hs
ghc-options: -main-is HomomPRFMain
other-modules: HomomPRFParams
ghc-options: -threaded -rtsopts -O2
build-depends:
arithmoi < 0.5,
base >= 4.9 && < 5,
deepseq < 1.5,
DRBG < 0.6,
filepath < 1.5,
lol >= 0.6.0.0 && < 0.7,
lol-apps,
lol-cpp < 0.1,
MonadRandom < 0.6,
mtl < 2.3,
numeric-prelude < 0.5,
singletons < 2.3,
time < 1.9
executable khprf
hs-source-dirs: examples
default-language: Haskell2010
main-is: KHPRFMain.hs
ghc-options: -main-is KHPRFMain
ghc-options: -threaded -rtsopts -O2
build-depends:
arithmoi < 0.5,
base >= 4.9 && < 5,
deepseq < 1.5,
lol >= 0.6.0.0 && < 0.7,
lol-apps,
lol-cpp < 0.1,
MonadRandom < 0.6,
mtl < 2.3,
numeric-prelude < 0.5
executable symmshe
hs-source-dirs: examples
default-language: Haskell2010
main-is: SHEMain.hs
ghc-options: -main-is SHEMain
ghc-options: -threaded -rtsopts -O2
build-depends:
arithmoi < 0.5,
base >= 4.9 && < 5,
lol >= 0.6.0.0 && < 0.7,
lol-apps,
lol-cpp < 0.1,
MonadRandom < 0.6,
numeric-prelude < 0.5