mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-01 19:21:10 +00:00
1c7582ead6e1119899922041c1af2b4169b0bc74 tests: add decryption test to bip324_tests (Pieter Wuille) 990f0f8da92a2d11828a7c05ca93bf0520b2a95e Add BIP324Cipher, encapsulating key agreement, derivation, and stream/AEAD ciphers (Pieter Wuille) c91cedf281e5207fb5fd2ca81feec9760f7c2ed0 crypto: support split plaintext in ChaCha20Poly1305 Encrypt/Decrypt (Pieter Wuille) af2b44c76e5de8ce880381e5535ead37ab0b3ba9 bench: add benchmark for FSChaCha20Poly1305 (Pieter Wuille) aa8cee93342ee857931afec9af3ff5dbd8ce7749 crypto: add FSChaCha20Poly1305, rekeying wrapper around ChaCha20Poly1305 (Pieter Wuille) 0fee267792eb8cbdd48ad78f1712420b5d8d905b crypto: add FSChaCha20, a rekeying wrapper around ChaCha20 (Pieter Wuille) 9ff0768bdcca06836ccc673eacfa648e801930cb crypto: add the ChaCha20Poly1305 AEAD as specified in RFC8439 (Pieter Wuille) 9fd085a1a49d317abcaf1492b71c48bf1a1b3007 crypto: remove outdated variant of ChaCha20Poly1305 AEAD (Pieter Wuille) Pull request description: Depends on #27985 and #27993, based on and partially replaces #25361, part of #27634. Draft while dependencies are not merged. This adds implementations of: * The ChaCha20Poly1305 AEAD from [RFC8439 section 2.8](https://datatracker.ietf.org/doc/html/rfc8439#section-2.8), including test vectors. * The FSChaCha20 stream cipher as specified in [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki#rekeying-wrappers-fschacha20poly1305-and-fschacha20), a rekeying wrapper around ChaCha20. * The FSChaCha20Poly1305 AEAD as specified in [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki#rekeying-wrappers-fschacha20poly1305-and-fschacha20), a rekeying wrapper around ChaCha20Poly1305. * A BIP324Cipher class that encapsulates key agreement, key derivation, and stream ciphers and AEADs for [BIP324 packet encoding](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki#overall-packet-encryption-and-decryption-pseudocode). The ChaCha20Poly1305 and FSChaCha20Poly1305 implementations are new, taking advance of the improvements in #27993. ACKs for top commit: jamesob: reACK 1c7582e theStack: ACK 1c7582ead6e1119899922041c1af2b4169b0bc74 stratospher: tested ACK 1c7582e. Tree-SHA512: 06728b4b95b21c5b732ed08faf40e94d0583f9d86ff4db3b92dd519dcd9fbfa0f310bc66ef1e59c9e49dd844ba8c5ac06e2001762a804fb5aa97027816045a46
104 lines
2.8 KiB
Makefile
104 lines
2.8 KiB
Makefile
# Copyright (c) 2015-2016 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
bin_PROGRAMS += bench/bench_bitcoin
|
|
BENCH_SRCDIR = bench
|
|
BENCH_BINARY = bench/bench_bitcoin$(EXEEXT)
|
|
|
|
RAW_BENCH_FILES = \
|
|
bench/data/block413567.raw
|
|
GENERATED_BENCH_FILES = $(RAW_BENCH_FILES:.raw=.raw.h)
|
|
|
|
bench_bench_bitcoin_SOURCES = \
|
|
$(RAW_BENCH_FILES) \
|
|
bench/addrman.cpp \
|
|
bench/base58.cpp \
|
|
bench/bech32.cpp \
|
|
bench/bench.cpp \
|
|
bench/bench.h \
|
|
bench/bench_bitcoin.cpp \
|
|
bench/bip324_ecdh.cpp \
|
|
bench/block_assemble.cpp \
|
|
bench/ccoins_caching.cpp \
|
|
bench/chacha20.cpp \
|
|
bench/checkblock.cpp \
|
|
bench/checkqueue.cpp \
|
|
bench/crypto_hash.cpp \
|
|
bench/data.cpp \
|
|
bench/data.h \
|
|
bench/descriptors.cpp \
|
|
bench/duplicate_inputs.cpp \
|
|
bench/ellswift.cpp \
|
|
bench/examples.cpp \
|
|
bench/gcs_filter.cpp \
|
|
bench/hashpadding.cpp \
|
|
bench/load_external.cpp \
|
|
bench/lockedpool.cpp \
|
|
bench/logging.cpp \
|
|
bench/mempool_eviction.cpp \
|
|
bench/mempool_stress.cpp \
|
|
bench/merkle_root.cpp \
|
|
bench/nanobench.cpp \
|
|
bench/nanobench.h \
|
|
bench/peer_eviction.cpp \
|
|
bench/poly1305.cpp \
|
|
bench/pool.cpp \
|
|
bench/prevector.cpp \
|
|
bench/rollingbloom.cpp \
|
|
bench/rpc_blockchain.cpp \
|
|
bench/rpc_mempool.cpp \
|
|
bench/streams_findbyte.cpp \
|
|
bench/strencodings.cpp \
|
|
bench/util_time.cpp \
|
|
bench/verify_script.cpp \
|
|
bench/xor.cpp
|
|
|
|
nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_BENCH_FILES)
|
|
|
|
bench_bench_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BOOST_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
|
|
bench_bench_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
|
bench_bench_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS)
|
|
bench_bench_bitcoin_LDADD = \
|
|
$(LIBTEST_UTIL) \
|
|
$(LIBBITCOIN_NODE) \
|
|
$(LIBBITCOIN_WALLET) \
|
|
$(LIBBITCOIN_COMMON) \
|
|
$(LIBBITCOIN_UTIL) \
|
|
$(LIBBITCOIN_CONSENSUS) \
|
|
$(LIBBITCOIN_CRYPTO) \
|
|
$(LIBLEVELDB) \
|
|
$(LIBMEMENV) \
|
|
$(LIBSECP256K1) \
|
|
$(LIBUNIVALUE) \
|
|
$(EVENT_PTHREADS_LIBS) \
|
|
$(EVENT_LIBS) \
|
|
$(MINIUPNPC_LIBS) \
|
|
$(NATPMP_LIBS)
|
|
|
|
if ENABLE_ZMQ
|
|
bench_bench_bitcoin_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
|
|
endif
|
|
|
|
if ENABLE_WALLET
|
|
bench_bench_bitcoin_SOURCES += bench/coin_selection.cpp
|
|
bench_bench_bitcoin_SOURCES += bench/wallet_balance.cpp
|
|
bench_bench_bitcoin_SOURCES += bench/wallet_loading.cpp
|
|
bench_bench_bitcoin_SOURCES += bench/wallet_create_tx.cpp
|
|
bench_bench_bitcoin_LDADD += $(BDB_LIBS) $(SQLITE_LIBS)
|
|
endif
|
|
|
|
CLEAN_BITCOIN_BENCH = bench/*.gcda bench/*.gcno $(GENERATED_BENCH_FILES)
|
|
|
|
CLEANFILES += $(CLEAN_BITCOIN_BENCH)
|
|
|
|
bench/data.cpp: bench/data/block413567.raw.h
|
|
|
|
bitcoin_bench: $(BENCH_BINARY)
|
|
|
|
bench: $(BENCH_BINARY) FORCE
|
|
$(BENCH_BINARY)
|
|
|
|
bitcoin_bench_clean : FORCE
|
|
rm -f $(CLEAN_BITCOIN_BENCH) $(bench_bench_bitcoin_OBJECTS) $(BENCH_BINARY)
|