532479301
18307849b4
Consensus: Fix bug when compiler do not support __builtin_clz*
...
#ifdef is not correct since defination is defined to 0 or 1. Should change to #if
2018-03-01 17:20:27 +08:00
Akira Takizawa
595a7bab23
Increment MIT Licence copyright header year on files modified in 2017
2018-01-03 02:26:56 +09:00
MeshCollider
1a445343f6
scripted-diff: Replace #include "" with #include <> (ryanofsky)
...
-BEGIN VERIFY SCRIPT-
for f in \
src/*.cpp \
src/*.h \
src/bench/*.cpp \
src/bench/*.h \
src/compat/*.cpp \
src/compat/*.h \
src/consensus/*.cpp \
src/consensus/*.h \
src/crypto/*.cpp \
src/crypto/*.h \
src/crypto/ctaes/*.h \
src/policy/*.cpp \
src/policy/*.h \
src/primitives/*.cpp \
src/primitives/*.h \
src/qt/*.cpp \
src/qt/*.h \
src/qt/test/*.cpp \
src/qt/test/*.h \
src/rpc/*.cpp \
src/rpc/*.h \
src/script/*.cpp \
src/script/*.h \
src/support/*.cpp \
src/support/*.h \
src/support/allocators/*.h \
src/test/*.cpp \
src/test/*.h \
src/wallet/*.cpp \
src/wallet/*.h \
src/wallet/test/*.cpp \
src/wallet/test/*.h \
src/zmq/*.cpp \
src/zmq/*.h
do
base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
Wladimir J. van der Laan
3aa60b7ff9
Merge #11143 : Fix include path for bitcoin-config.h
...
5abb93f0e
Fix include path for bitcoin-config.h in crypto/common.h (danra)
Pull request description:
All the other files in the repo which include bitcoin-config.h do so with the appropriate subfolder prefixed: config/bitcoin-config.h
The header should be included with the appropriate subfolder here as well.
Tree-SHA512: abda23a9cf251553f90afe0ee1866de46ed579471f4139737239a4f9334ca817d985deac6336740898718775d1264c0b80cb348668b10a9cae970895f2de37b8
2017-09-05 23:15:55 +02:00
Wladimir J. van der Laan
df8c72237a
Merge #11176 : build: Rename --enable-experimental-asm to --enable-asm and enable by default
...
538cc0ca8
build: Mention use of asm in summary (Wladimir J. van der Laan)
ce5381e7f
build: Rename --enable-experimental-asm to --enable-asm and enable by default (Wladimir J. van der Laan)
Pull request description:
Now that 0.15 is branched off, enable assembler SHA256 optimizations by default, but still allow disabling them, for example if something goes wrong with auto-detection on a platform.
Also add mention of the use of asm in the configure summary.
Tree-SHA512: cd20c497f65edd6b1e8b2cc3dfe82be11fcf4777543c830ccdec6c10f25eab4576b0f2953f3957736d7e04deaa4efca777aa84b12bb1cecb40c258e86c120ec8
2017-09-05 22:14:16 +02:00
Utsav Gupta
dc334fe749
Update hmac_sha256.h
...
Fixed a typo
2017-09-02 09:59:48 +05:30
danra
5abb93f0ee
Fix include path for bitcoin-config.h in crypto/common.h
...
All the other files in the repo which include bitcoin-config.h do so with the appropriate subfolder prefixed: config/bitcoin-config.h
The header should be included with the appropriate subfolder here as well.
This canonicalization also allows getting rid of a bit of extra configuration in Makefile.am.
2017-08-31 21:30:41 +03:00
Wladimir J. van der Laan
ce5381e7fe
build: Rename --enable-experimental-asm to --enable-asm and enable by default
...
Now that 0.15 is branched off, enable assembler SHA256 optimizations by default.
2017-08-28 11:06:11 +02:00
practicalswift
64fb0ac016
Declare single-argument (non-converting) constructors "explicit"
...
In order to avoid unintended implicit conversions.
2017-08-16 16:33:25 +02:00
practicalswift
90d4d89230
scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h
sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp
sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp
sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp
sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp
sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp
-END VERIFY SCRIPT-
2017-08-07 07:36:37 +02:00
Pieter Wuille
6b8d872e5e
Protect SSE4 code behind a compile-time flag
2017-07-20 09:03:53 -07:00
Pieter Wuille
fa9be909c9
Add selftest for SHA256 transform
2017-07-20 09:03:53 -07:00
Pieter Wuille
c1ccb15b0e
Add SSE4 based SHA256
2017-07-20 09:03:53 -07:00
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