Olivier Chéron
f84f7e3009
Enable flag by default
2020-03-15 15:39:56 +01:00
Olivier Chéron
0cf0d076ab
Add flag use_target_attributes
2020-03-14 08:44:44 +01:00
Olivier Chéron
f5706959a4
AES-NI and PCLMUL with per-function target compiler options
2020-03-14 08:43:44 +01:00
Olivier Chéron
dae01d056d
AES-NI with per-file target compiler options
2020-03-14 08:09:12 +01:00
Olivier Chéron
a1072948ca
Avoid error "Unknown mingw32 arch" with hlint
2020-03-14 08:07:35 +01:00
Olivier Chéron
d8a39637f5
Ignore hint "Use camelCase" globally
2020-03-14 07:39:06 +01:00
Olivier Chéron
64f097788e
Merge pull request #315 from ocheron/i386-sse
...
Fix support_sse on i386 architecture
2020-03-14 07:36:30 +01:00
Olivier Chéron
b9e1e75a10
Fix support_sse on i386 architecture
...
On i386 compilation failed with support_sse enabled and support_aesni
disabled. This enables the minimum required instruction set, guarded
with an architecture condition.
2020-03-11 19:15:32 +01:00
Olivier Chéron
e56308f9d0
Fix ignored allow_failures and weeder build in Travis CI
...
Used haskell-ci commit cbf9d90 from PR vincenthz/haskell-ci#5 to
regenerate the files.
2020-03-08 18:34:59 +01:00
Olivier Chéron
981b97a132
Protect against negative argument
2020-02-24 06:54:23 +01:00
Olivier Chéron
2e0a60f7f7
Use Semigroup API
2020-02-24 06:54:23 +01:00
Olivier Chéron
b01f610aa2
Add and use Builder module
...
Avoids intermediate allocations and conversions when concatenating
byte arrays of different types.
2020-02-24 06:54:23 +01:00
Olivier Chéron
ef880291e3
Add EdDSA 'ctx' and 'ph' variants
2020-02-24 06:54:23 +01:00
Olivier Chéron
977c72cac9
Test EdDSA with both SHA-2 and BLAKE2
2020-02-24 06:54:23 +01:00
Olivier Chéron
1cb2cd2f12
Ability to select the hash algorithm
2020-02-24 06:54:23 +01:00
Olivier Chéron
436b9abc13
Benchmark EdDSA implementations
2020-02-24 06:54:23 +01:00
Olivier Chéron
6f932998ad
Fast hashing for EdDSA
2020-02-24 06:54:23 +01:00
Olivier Chéron
bd84c75f3e
Use unsafe FFI calls
...
Changed Edwards primitives to unsafe when overhead of FFI call is
approximately 5% or more of total execution time.
2020-02-24 06:54:23 +01:00
Olivier Chéron
6f70986cb1
Avoid signature padding when not required
2020-02-24 06:54:23 +01:00
Olivier Chéron
633879f801
Avoid repeated point encoding
2020-02-24 06:54:23 +01:00
Olivier Chéron
6075b698e1
Generic EdDSA implementation
2020-02-24 06:54:23 +01:00
Olivier Chéron
4b9584dbe4
Use lts-15 in CI and bump versions
2020-02-24 06:53:19 +01:00
Olivier Chéron
4b8a8229cf
Remove redundant where
2020-02-24 06:53:03 +01:00
Olivier Chéron
43a9967b1d
Remove redundant superclass in MonadRandom
...
Reported by @frasertweedale
2020-02-16 19:49:49 +01:00
Olivier Chéron
86470d5563
Use conventional declaration order
2020-02-10 06:43:26 +01:00
Olivier Chéron
d2df760e34
Use zipWith
2020-02-10 06:43:26 +01:00
Vincent Hanquez
be517c9273
Merge pull request #307 from ocheron/p256-b64
...
Add 64-bit implementation for P256
2020-01-21 10:33:56 +08:00
Olivier Chéron
2579d1e7aa
Use smaller value in felem_diff
2020-01-14 21:11:51 +01:00
Olivier Chéron
44a1651d26
Remove NULL checks in inner loop
2020-01-12 18:33:32 +01:00
Olivier Chéron
b08ce5e3ae
Add 64-bit implementation for p256
2020-01-12 18:33:32 +01:00
Olivier Chéron
f9a6a35ce3
Prepare 64-bit implementation for p256
2020-01-12 18:33:32 +01:00
Olivier Chéron
f291bd08ef
Move p256 felem code
2020-01-12 18:33:32 +01:00
Olivier Chéron
b5d9b6cba5
Add AppVeyor file
2020-01-12 18:21:17 +01:00
Olivier Chéron
7f1c2980e2
Merge pull request #305 from ocheron/p256-point-mul
...
Better P256.pointMul performance
2020-01-12 18:20:17 +01:00
Olivier Chéron
7ac3060873
Better P256.pointMul performance
...
Use dedicated function to avoid multiplying the basepoint with 0.
2020-01-06 18:49:12 +01:00
Olivier Chéron
1f6ed5711c
Warn about non-uniform distribution with QuickCheck
2020-01-04 10:58:22 +01:00
Olivier Chéron
17879cbecd
Merge pull request #303 from ocheron/square-root
...
Modular square root
2020-01-04 10:55:48 +01:00
Olivier Chéron
9e0dbb3231
Modular square root
2019-12-07 08:35:14 +01:00
Olivier Chéron
0a1aa3517c
Fix warnings and whitespace
2019-12-03 21:06:17 +01:00
Olivier Chéron
18c6e37ef1
Merge pull request #300 from ocheron/tc-ecdsa
...
ECDSA with a type class
2019-12-01 08:47:33 +01:00
Olivier Chéron
95ebd3996f
Merge pull request #301 from bwignall/typo
...
Fix typos
2019-12-01 08:45:37 +01:00
Brian Wignall
78684bc62b
Fix typos
2019-11-30 18:22:26 -05:00
Olivier Chéron
99820c742d
Truncate the digest without Integer conversion
2019-11-11 17:46:16 +01:00
Olivier Chéron
b9a8a6b83d
ECDSA with digest
2019-11-11 17:46:16 +01:00
Olivier Chéron
15327ecd4f
ECDSA with a type class
2019-11-11 17:46:16 +01:00
Olivier Chéron
8f75165f8b
Time-constant P256 scalar inversion
2019-11-11 17:46:16 +01:00
Olivier Chéron
977e75f478
Add P256 functions to implement ECDSA
2019-11-11 17:46:16 +01:00
Olivier Chéron
19b7ab375a
Time-constant modular inverse
2019-11-11 17:46:16 +01:00
Olivier Chéron
ce35a1e07d
Merge pull request #299 from ocheron/ecc-scalar-ext
...
Extended ECC type class
2019-11-11 17:45:18 +01:00
Olivier Chéron
6f2a59e470
Apply hlint suggestions
2019-10-05 08:34:12 +02:00