1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-29 09:38:08 +00:00
trezor-firmware/core/embed/extmod/modtrezorcrypto
Dusan Klinec 2658e253fa xmr/bp: memory optimizations and improvements
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
..
crc.c all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
crc.h all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
modtrezorcrypto-aes.h core/crypto: Add AES mode constants. 2019-08-09 12:46:08 +02:00
modtrezorcrypto-bip32.h core: introduce BITCOIN_ONLY flag 2019-08-23 13:52:10 +02:00
modtrezorcrypto-bip39.h crypto: refactor bip39 api 2019-09-23 17:56:36 +02:00
modtrezorcrypto-blake2b.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-blake2s.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-blake256.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-chacha20poly1305.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-crc.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-curve25519.h all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
modtrezorcrypto-ed25519.h core: introduce BITCOIN_ONLY flag 2019-08-23 13:52:10 +02:00
modtrezorcrypto-groestl.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-monero.h xmr/bp: memory optimizations and improvements 2020-03-02 12:17:03 +01:00
modtrezorcrypto-nem.h core/nem: don't use mp_obj_new_str_of_type 2019-11-09 12:06:12 +00:00
modtrezorcrypto-nist256p1.h all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00
modtrezorcrypto-pbkdf2.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-random.h tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
modtrezorcrypto-rfc6979.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-ripemd160.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-secp256k1_zkp.h core/typing: fix extmod docs and mocks 2019-07-09 14:05:14 +02:00
modtrezorcrypto-secp256k1.h core: remove remaning utility code for Bitcoin only firmware 2019-08-27 12:38:28 +02:00
modtrezorcrypto-sha1.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-sha3-256.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-sha3-512.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-sha256.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-sha512.h core/seed: Add SLIP-0021 implementation and tests. 2019-07-16 14:30:28 +02:00
modtrezorcrypto-shamir.h core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
modtrezorcrypto-slip39.h core: add slip39 keyboard 2019-06-23 21:33:58 +02:00
modtrezorcrypto.c core: introduce BITCOIN_ONLY flag 2019-08-23 13:52:10 +02:00
rand.c all: rename TREZOR to Trezor where possible 2019-06-17 20:28:29 +02:00