hwsl2: Hashing with SL2
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
Following that, the hash function is also parallelisable. If a message can be divided into a list of chunks, the hash of the message can be calculated in parallel:
mconcat (parMap rpar hash chunks)
All operations in this package are implemented in a very efficient manner using SSE instructions.
[Skip to Readme]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
avx2 | Enable AVX 2 optimisations. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- hwsl2-0.4.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.2.0.0, 0.3.0.1, 0.3.1.0, 0.3.1.1, 0.3.2.0, 0.4.0.0, 0.4.0.1 |
---|---|
Dependencies | base (>=4.8 && <5), bytestring (>=0.10) [details] |
License | MIT |
Author | Sam Rijs |
Maintainer | srijs@airpost.net |
Category | Data |
Home page | https://github.com/srijs/hwsl2 |
Source repo | head: git clone git://github.com/srijs/hwsl2-haskell.git |
Uploaded | by srijs at 2017-11-03T11:19:33Z |
Distributions | |
Reverse Dependencies | 3 direct, 0 indirect [details] |
Downloads | 9038 total (53 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2017-11-03 [all 1 reports] |