Jack Grigg
a6dcf2ee6f
Use little-endian for hash personalisation and hashing indices
The test vectors have been regenerated using the basic solver.
8 years ago
Jack Grigg
d07cf62991
Speed up FullStepRow index comparison by leveraging big-endian byte layout
8 years ago
Jack Grigg
ae37d2a4cd
Increase Equihash parameters to n = 96, k = 3 (about 430 MiB)
Includes a tweak to set the fixed-width of the rows based on whether the first
or last round is widest. This is necessary for some parameters, these ones
included.
8 years ago
Simon
dca3af5bde
Update variable name.
8 years ago
Simon
574f0bca77
Update to DistinctIndices function (for issue #857 ).
Replaces pull request #974 .
8 years ago
Jack Grigg
0a66f01304
Use depth-first scan for eliminating partial solutions instead of breadth-first
This reduces the peak number of lists in-memory from 2^k to k, and enables the
solver to eliminate most duplicates before it has instantiated the full set of
leaves.
8 years ago
Jack Grigg
447444ae7a
Fix nits after review
8 years ago
Jack Grigg
d4d76536a5
Use fixed-width array for storing hash and indices
8 years ago
Jack Grigg
29d9986c83
Store full indices in the same char* as the hash
8 years ago
Jack Grigg
639c40047f
Use comparator object for sorting StepRows
8 years ago
Jack Grigg
a683cc85d9
Merge *StepRow XOR and trimming operations
8 years ago
Jack Grigg
e95747288a
Use template parameters to statically initialise Equihash
8 years ago
Jack Grigg
39f5cb35f9
Store truncated indices in the same char* as the hash (H/T tromp for the idea!)
8 years ago
Jack Grigg
c92c1f6050
Implement index-truncation Equihash optimisation
8 years ago
Jack Grigg
6afef0dd6d
Cleanups
8 years ago
Jack Grigg
a3361e778b
Refactor StepRow to make optimisation easier
8 years ago
Taylor Hornby
675e17022f
Use left shift instead of floating-point pow() in equihash.
8 years ago
Jack Grigg
6d25662f25
Implement validator and basic solver for Equihash
8 years ago
Sean Bowe
27a109af01
Improve testing and API of CSHA256 compression.
8 years ago
Sean Bowe
8466467a35
Added SHA256Compress to Bitcoin's SHA256 implementation.
8 years ago
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
10 years ago
Pieter Wuille
1a9576de9d
Use libsecp256k1's RFC6979 implementation
10 years ago
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
10 years ago
Pieter Wuille
9d8604f36a
Header define style cleanups
10 years ago
Pieter Wuille
3060e36098
Add the RFC6979 PRNG
10 years ago
Pieter Wuille
a8f5087e53
Add HMAC-SHA256
10 years ago
Pieter Wuille
36fa4a78ac
Split up crypto/sha2
10 years ago
Pavel Janík
84738627ce
Fix all header defines
10 years ago
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
10 years ago
Pieter Wuille
cf42c36e99
Apply clang-format on crypto/* and compat/*
10 years ago
Philip Kaufmann
611116d4e3
header include cleanup
- ensures alphabetical ordering for includes etc. in source file headers
10 years ago
Pieter Wuille
a0495bb68c
Add <Hasher>::OUTPUT_SIZE
10 years ago
Cory Fields
f2647cc0e9
crypto: explicitly check for byte read/write functions
Don't depend on hard-coded platform lists
10 years ago
Pieter Wuille
7ecd9739d9
Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible
10 years ago
Pieter Wuille
a5bc9c0917
Add built-in RIPEMD-160 implementation
10 years ago
Pieter Wuille
13b5dfef64
Move crypto implementations to src/crypto/
10 years ago