Gregor Kleen
71a630edaf
resumable hashing
2021-06-23 12:29:34 +02:00
Vincent Hanquez
cf89276b5c
Merge pull request #312 from ocheron/eddsa-gen
...
Generic EdDSA implementation
2021-04-14 23:17:34 +08:00
Olivier Chéron
c8199872e7
Test HashAlgorithmPrefix API
2020-06-26 07:16:49 +02:00
Olivier Chéron
c123752de4
Use isNothing
2020-06-13 09:24:47 +02:00
Olivier Chéron
edbd9e09fb
Test properties of powF2m
2020-06-12 19:06:58 +02:00
Will Song
17336857c5
implement square roots in f2m
2020-06-01 20:56:42 -05:00
Olivier Chéron
977c72cac9
Test EdDSA with both SHA-2 and BLAKE2
2020-02-24 06:54:23 +01:00
Olivier Chéron
d2df760e34
Use zipWith
2020-02-10 06:43:26 +01:00
Olivier Chéron
1f6ed5711c
Warn about non-uniform distribution with QuickCheck
2020-01-04 10:58:22 +01:00
Olivier Chéron
9e0dbb3231
Modular square root
2019-12-07 08:35:14 +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
6f2a59e470
Apply hlint suggestions
2019-10-05 08:34:12 +02:00
Olivier Chéron
db8d47a76c
ECC arithmetic in prime-order subgroup
...
A type-class extension packs together additional functions related to
a chosen basepoint as well as scalar serialization and arithmetic
modulo the subgroup order.
2019-10-05 08:34:12 +02:00
Olivier Chéron
e0b201b5e7
Test P256.pointMul
2019-10-05 08:34:12 +02:00
Olivier Chéron
2e92639679
Add P256.scalarMul
2019-10-05 08:34:12 +02:00
Olivier Chéron
2433893730
Test XSalsa.derive
...
Adds a test case taken from NaCl paper, but without the parts related
to Curve25519 and Poly1305 because we want to test only XSalsa here.
2019-09-14 08:35:43 +02:00
Olivier Chéron
29f0fd1b7a
Test AES-GCM-SIV
...
Includes the test vectors from RFC 8452 and QuickCheck properties with
encryption-decryption round trip.
2019-08-25 16:38:03 +02:00
Olivier Chéron
fc07a8b931
Fix counter wrapping in AES GCM
...
The generic and AESNI implementations used different conventions
regarding counter wrapping in GCM. The generic code was based on
function block128_inc_be, for which the counter is a 128-bit value.
Whereas the AESNI code used intrinsic function _mm_add_epi64, and
therefore wrapping at 2^64.
In NIST.SP.800-38d the GCM specification mandates to use incrementing
function inc32, wrapping after 2^32 blocks. This commit changes both
generic and AESNI implementations to align to the specification and
adds a test vector specially crafted to start encryption with IV block
0xfffffffffffffffffffffffffffffffe.
2019-08-20 10:34:40 +02:00
Olivier Chéron
53a1bf7ebf
Report info about runtime environment in the test suite
2019-06-15 09:28:02 +02:00
Olivier Chéron
393aeac8cd
Test LE serialization
2019-05-16 06:33:35 +02:00
Olivier Chéron
158d8dfd0c
Remove unnecessary imports
2019-05-08 10:22:30 +02:00
Olivier Chéron
1551436111
Add KMAC
2019-04-28 09:14:25 +02:00
Olivier Chéron
7e5dbeb146
Use vector/vectorOf from QuickCheck and simplify
2019-03-26 06:25:45 +01:00
Olivier Chéron
6f67cefa3d
Remove code duplication
2019-03-26 06:24:00 +01:00
Olivier Chéron
15f117d9c3
Remove tests add-n-1 and sub-n-1
...
Operation with value close to the curve order is now tested in other
tests. This tests substraction with 0 instead.
2019-03-25 06:47:21 +01:00
Olivier Chéron
399fc891da
Test P256 primitives will full scalar range
2019-03-24 08:31:58 +01:00
Lars Petersen
2a26202a32
Add implementation of bcrypt_pbkdf
2019-03-14 21:30:29 +01:00
Crockett
133c6e1b2d
Added some redundant constraints for documentation/consistency. Added an INLINABLE pragma to i2ospOf to hopefully increase specializations.
2019-02-24 17:04:10 -08:00
Crockett
0fb8a73d3b
Fixed compiler warnings
2019-02-03 16:06:05 -08:00
Crockett
d5003a46a6
Fixed hash truncation bug in DSA; added more KATs from RFC 6979.
2019-01-26 15:15:34 -08:00
Olivier Chéron
ae0e9c0f3e
Remove commented example 10
2019-01-12 17:43:49 +01:00
Olivier Chéron
8eb8d01577
RSASSA-PSS vectors with key size 1025, 1026, 1031
2019-01-12 17:43:49 +01:00
Carlos Rodriguez
314a9caba7
Merge branch 'master' of https://github.com/haskell-crypto/cryptonite
...
# Conflicts:
# cryptonite.cabal
# tests/KAT_PubKey.hs
2018-11-03 20:23:25 +01:00
Olivier Chéron
01faa66fd4
Add tests for RSA signature and verification
...
This includes tests for SignatureTooLong edge cases.
2018-10-29 20:43:07 +01:00
Olivier Chéron
455504b8e2
Implement SHAKE output not divisible by 8 bits
2018-10-23 06:59:07 +02:00
Olivier Chéron
e10ef06885
Remove unnecessary language extension
2018-10-23 06:59:07 +02:00
Carlos Rodriguez
c285d7f527
Added OAEP scheme and created test vectors for Rabin cryptosystem.
2018-10-06 16:53:22 +02:00
Carlos Rodriguez
e7b3abebf8
Implemented Rabin cryptosystem and some of its variations (including Rabin-Williams).
2018-09-06 20:27:32 +02:00
Olivier Chéron
b3a1506d82
Remove conditionals related to SHAKE and Blake2
...
Not needed anymore now that GHC > 8.0.
2018-04-28 08:09:25 +02:00
Luke Taylor
d27d464627
Fix cost parsing for bcrypt
...
The tens value was wrong for values of 20+, as reported in #230 .
It should be 10*costTens not 10^costTens. This wasn't detected because
the values are the same when costTens is 1, and using high cost values
is rare with bcrypt because of the performance hit.
Also added a simple hash and validate test since the KAT tests only do
validation. This doesn't cover this bug since the cost value is too
high to include in the test. It allows similar issues to be tested
locally though.
2018-04-17 13:51:04 +01:00
Olivier Chéron
07be32728e
Avoid warning with tasty-quickcheck-0.9.2
2018-02-04 15:27:45 +01:00
Olivier Chéron
4926cbb143
Improve types and indentation, fix typo
2018-02-03 19:05:20 +01:00
Baojun Wang
f6d9fb0cf1
aeadInit (ccm) returns CryptoError_IvSizeInvalid when iv size is wrong
2018-02-03 09:34:57 +01:00
Baojun Wang
ccc7c3e7a6
kill unused imports
2018-02-03 09:34:57 +01:00
Baojun Wang
6fef094e90
Add KATCCM test file
2018-02-03 09:34:57 +01:00
Baojun Wang
e01ef4386e
Add AESCCM test vectors for testing
2018-02-03 09:34:57 +01:00
Baojun Wang
1e04890d73
Add ccm decrypt
2018-02-03 09:34:57 +01:00
Olivier Chéron
3217038a1a
Add pointMulByCofactor and pointHasPrimeOrder
2017-12-17 11:56:33 +01:00