Pieter Wuille
2991c91d88
Add SHA256 dispatcher
2017-07-20 09:03:53 -07:00
Pieter Wuille
4d50f38fe0
Support multi-block SHA256 transforms
...
Extracted from a patch by Wladimir van der Laan.
2017-07-20 09:03:53 -07:00
practicalswift
90593ed92c
Limit variable scope
2017-06-05 00:52:36 +02:00
Pieter Wuille
4fd2d2fc97
Add a FastRandomContext::randrange and use it
2017-03-29 11:26:08 -07:00
Pieter Wuille
e04326fe66
Add ChaCha20
2017-03-29 00:40:17 -07:00
Pieter Wuille
843c560003
Avoid unaligned access in crypto i/o
2017-01-12 11:52:45 -08:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pieter Wuille
760765d5a9
Update ctaes
2016-12-08 17:09:07 -08:00
fsb4000
15fa95d7e5
Fix some typos
2016-11-28 16:16:37 +07:00
Cory Fields
27a212dcb4
crypto: add AES 128/256 CBC classes
...
The output should always match openssl's, even for failed operations. Even for
a decrypt with broken padding, the output is always deterministic (and attemtps
to be constant-time).
2016-05-13 10:23:03 +02:00
Pieter Wuille
6bec172eb9
Add ctaes-based constant time AES implementation
2016-05-13 10:22:54 +02:00
Pieter Wuille
cd2be4419e
Merge commit 'a545127fbccef4ee674d18d43732ce00ba97f782' as 'src/crypto/ctaes'
2016-05-11 19:37:02 +02:00
Wladimir J. van der Laan
9ad1a51857
crypto: bytes counts are 64 bit
...
Byte counts for SHA256, SHA512, SHA1 and RIPEMD160 must be 64 bits.
`size_t` has a different size per platform, causing divergent results
when hashing more than 4GB of data.
2016-04-15 16:44:23 +02:00
Wladimir J. van der Laan
4414f5ffe1
build: Endian compatibility
...
- Detect endian instead of stopping configure on big-endian
- Add `byteswap.h` and `endian.h` header for compatibility with
Windows and other operating systems that don't come with them
- Update `crypto/common.h` functions to use compat
endian header
2015-03-06 15:54:53 +01:00
Pieter Wuille
1a9576de9d
Use libsecp256k1's RFC6979 implementation
2015-01-06 00:28:44 +01:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
...
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Pieter Wuille
9d8604f36a
Header define style cleanups
2014-11-20 17:22:06 +01:00
Pieter Wuille
3060e36098
Add the RFC6979 PRNG
2014-11-20 17:22:06 +01:00
Pieter Wuille
a8f5087e53
Add HMAC-SHA256
2014-11-20 17:22:06 +01:00
Pieter Wuille
36fa4a78ac
Split up crypto/sha2
2014-11-20 17:22:02 +01:00
Pavel Janík
84738627ce
Fix all header defines
2014-11-03 16:16:40 +01:00
Philip Kaufmann
0db65d8798
update license of compat and crypto
...
- change license to be just MIT for all files in compat and crypto
- also add missing header end comments
- ensure default header include style
2014-09-29 08:21:11 +02:00
Pieter Wuille
cf42c36e99
Apply clang-format on crypto/* and compat/*
2014-09-25 08:23:32 +02:00
Philip Kaufmann
611116d4e3
header include cleanup
...
- ensures alphabetical ordering for includes etc. in source file headers
2014-09-14 12:43:56 +02:00
Pieter Wuille
a0495bb68c
Add <Hasher>::OUTPUT_SIZE
2014-06-21 19:47:43 +02:00
Cory Fields
f2647cc0e9
crypto: explicitly check for byte read/write functions
...
Don't depend on hard-coded platform lists
2014-06-21 19:47:43 +02:00
Pieter Wuille
7ecd9739d9
Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible
2014-06-21 19:47:42 +02:00
Pieter Wuille
a5bc9c0917
Add built-in RIPEMD-160 implementation
2014-06-21 19:47:42 +02:00
Pieter Wuille
13b5dfef64
Move crypto implementations to src/crypto/
2014-06-21 19:47:42 +02:00