packages feed

hwsl2-0.1.1.2: hwsl2.cabal

-- Initial hwsl2.cabal generated by cabal init.  For further documentation,
--  see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                hwsl2

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

-- A short (one-line) description of the package.
synopsis:            Hashing with SL2

-- A longer description of the package.
description:
  An algebraic hash function, inspired by the paper "Hashing with SL2" by Tillich and Zemor.
  .
  The hash function is based on matrix multiplication in the special linear group
  of degree 2, over a Galois field of order 2^127,  with all computations modulo
  the polynomial x^127 + x^63 + 1.
  .
  This construction gives some nice properties, which traditional "bit-scambling"
  hash functions don't possess, including it being composable. It holds:
  .
  > hash (m1 <> m2) == hash m1 <> hash m2
  .
  All operations in this package are implemented in a very efficient manner using SSE instructions.

-- URL for the project homepage or repository.
homepage:            https://github.com/srijs/hwsl2

-- The license under which the package is released.
license:             MIT

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Sam Rijs

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          srijs@airpost.net

-- A copyright notice.
-- copyright:           

category:            Data

build-type:          Simple

-- Extra files to be distributed with the package, such as examples or a 
-- README.
extra-source-files:  README.md

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10


library
  -- Modules exported by the library.
  exposed-modules:     Data.Hash.SL2
  
  -- Modules included in this library but not exported.
  -- other-modules:       
  
  -- LANGUAGE extensions used by modules in this package.
  other-extensions:    ForeignFunctionInterface, EmptyDataDecls
  
  -- Other library packages from which modules are imported.
  build-depends:       base >=4.7 && <4.8, bytestring >=0.10 && <0.11
  
  -- Directories containing source files.
  hs-source-dirs:      src

  -- Options for foreign source files.
  c-sources:           src/tillich-zemor.c
  includes:            src/tillich-zemor.h src/sl2-inl.h src/gf2p127-inl.h
  cc-options:          -msse2 -msse4.1 -mpclmul
  
  -- Base language which the package is written in.
  default-language:    Haskell2010