Commit graph

3 commits

Author SHA1 Message Date
Sebastian Falbesoner
a8c3454ba1 test: speedup bip324_cipher.py unit test
Executing the unit tests for the bip324_cipher.py module currently
takes quite long (>60 seconds on my notebook). Most time here is spent
in empty plaintext/ciphertext encryption/decryption loops:

    ....
    for _ in range(msg_idx):
        enc_aead.encrypt(b"", b"")
    ...
    for _ in range(msg_idx):
        enc_aead.decrypt(b"", bytes(16))
    ...

Their sole purpose is increasing the FSChaCha20Poly1305 packet
counters in order to trigger rekeying, i.e. the actual
encryption/decryption is not relevant, as the result is thrown away.
This commit speeds up the tests by supporting to pass "None" as
plaintext/ciphertext, indicating to the routines that no actual
encryption/decryption should be done.

master branch:

$ python3 -m unittest ./test/functional/test_framework/crypto/bip324_cipher.py
..
----------------------------------------------------------------------
Ran 2 tests in 64.658s

PR branch:

$ python3 -m unittest ./test/functional/test_framework/crypto/bip324_cipher.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.822s
2024-02-06 01:35:03 +01:00
stratospher
c534c08710 [test/crypto] Add FSChaCha20Poly1305 AEAD python implementation
Co-authored-by: Pieter Wuille <pieter.wuille@gmail.com>
2023-09-29 17:50:38 +05:30
stratospher
c4ea5f6288 [test/crypto] Add RFC 8439's ChaCha20Poly1305 AEAD
Co-authored-by: Pieter Wuille <pieter.wuille@gmail.com>
2023-09-29 17:50:38 +05:30