mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-12 17:48:09 +00:00
chore(core): introduce elligator2 feature flag
This commit is contained in:
parent
322e269f85
commit
cac5a6aab0
@ -17,6 +17,7 @@ FEATURE_FLAGS = {
|
||||
"RDI": True,
|
||||
"SECP256K1_ZKP": True, # required for trezor.crypto.curve.bip340 (BIP340/Taproot)
|
||||
"SYSTEM_VIEW": False,
|
||||
"ELLIGATOR2": False,
|
||||
}
|
||||
|
||||
FEATURES_WANTED = ["input", "sbu", "sd_card", "rgb_led", "dma2d", "consumption_mask", "usb" ,"optiga"]
|
||||
@ -110,7 +111,6 @@ SOURCE_MOD += [
|
||||
'vendor/trezor-crypto/ed25519-donna/ed25519-sha3.c',
|
||||
'vendor/trezor-crypto/ed25519-donna/ed25519.c',
|
||||
'vendor/trezor-crypto/ed25519-donna/modm-donna-32bit.c',
|
||||
'vendor/trezor-crypto/elligator2.c',
|
||||
'vendor/trezor-crypto/groestl.c',
|
||||
'vendor/trezor-crypto/hasher.c',
|
||||
'vendor/trezor-crypto/hmac.c',
|
||||
@ -368,6 +368,12 @@ if FEATURE_FLAGS["SYSTEM_VIEW"]:
|
||||
CPPDEFINES_MOD += ['SYSTEM_VIEW']
|
||||
CCFLAGS_MOD += '-DSYSTEM_VIEW '
|
||||
|
||||
if FEATURE_FLAGS["ELLIGATOR2"]:
|
||||
CPPDEFINES_MOD += ['USE_ELLIGATOR2']
|
||||
SOURCE_MOD += [
|
||||
'vendor/trezor-crypto/elligator2.c',
|
||||
]
|
||||
|
||||
# fonts
|
||||
tools.add_font('NORMAL', FONT_NORMAL, CPPDEFINES_MOD, SOURCE_MOD)
|
||||
tools.add_font('BOLD', FONT_BOLD, CPPDEFINES_MOD, SOURCE_MOD)
|
||||
|
@ -23,6 +23,7 @@ if TREZOR_MODEL in ('DISC1', ):
|
||||
|
||||
FEATURE_FLAGS = {
|
||||
"SECP256K1_ZKP": True, # required for trezor.crypto.curve.bip340 (BIP340/Taproot)
|
||||
"ELLIGATOR2": True,
|
||||
}
|
||||
|
||||
CCFLAGS_MOD = ''
|
||||
@ -113,7 +114,6 @@ SOURCE_MOD += [
|
||||
'vendor/trezor-crypto/ed25519-donna/ed25519-sha3.c',
|
||||
'vendor/trezor-crypto/ed25519-donna/ed25519.c',
|
||||
'vendor/trezor-crypto/ed25519-donna/modm-donna-32bit.c',
|
||||
'vendor/trezor-crypto/elligator2.c',
|
||||
'vendor/trezor-crypto/groestl.c',
|
||||
'vendor/trezor-crypto/hasher.c',
|
||||
'vendor/trezor-crypto/hmac.c',
|
||||
@ -171,6 +171,12 @@ if FEATURE_FLAGS["SECP256K1_ZKP"]:
|
||||
'vendor/trezor-crypto/zkp_bip340.c',
|
||||
]
|
||||
|
||||
if FEATURE_FLAGS["ELLIGATOR2"]:
|
||||
CPPDEFINES_MOD += ['USE_ELLIGATOR2']
|
||||
SOURCE_MOD += [
|
||||
'vendor/trezor-crypto/elligator2.c',
|
||||
]
|
||||
|
||||
# modtrezorio
|
||||
SOURCE_MOD += [
|
||||
'embed/extmod/modtrezorio/modtrezorio.c',
|
||||
|
@ -52,7 +52,9 @@ static void wrapped_ui_wait_callback(uint32_t current, uint32_t total) {
|
||||
#include "modtrezorcrypto-crc.h"
|
||||
#include "modtrezorcrypto-curve25519.h"
|
||||
#include "modtrezorcrypto-ed25519.h"
|
||||
#if USE_ELLIGATOR2
|
||||
#include "modtrezorcrypto-elligator2.h"
|
||||
#endif
|
||||
#include "modtrezorcrypto-groestl.h"
|
||||
#include "modtrezorcrypto-hmac.h"
|
||||
#include "modtrezorcrypto-nist256p1.h"
|
||||
@ -97,8 +99,10 @@ STATIC const mp_rom_map_elem_t mp_module_trezorcrypto_globals_table[] = {
|
||||
MP_ROM_PTR(&mod_trezorcrypto_curve25519_module)},
|
||||
{MP_ROM_QSTR(MP_QSTR_ed25519),
|
||||
MP_ROM_PTR(&mod_trezorcrypto_ed25519_module)},
|
||||
#if USE_ELLIGATOR2
|
||||
{MP_ROM_QSTR(MP_QSTR_elligator2),
|
||||
MP_ROM_PTR(&mod_trezorcrypto_elligator2_module)},
|
||||
#endif
|
||||
#if !BITCOIN_ONLY
|
||||
{MP_ROM_QSTR(MP_QSTR_monero), MP_ROM_PTR(&mod_trezorcrypto_monero_module)},
|
||||
#endif
|
||||
|
@ -4,12 +4,16 @@ from trezorcrypto import ( # noqa: F401
|
||||
bip39,
|
||||
chacha20poly1305,
|
||||
crc,
|
||||
elligator2,
|
||||
hmac,
|
||||
pbkdf2,
|
||||
random,
|
||||
)
|
||||
|
||||
try:
|
||||
from trezorcrypto import elligator2 # noqa: F401
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
from trezor import utils
|
||||
|
||||
if not utils.BITCOIN_ONLY:
|
||||
|
Loading…
Reference in New Issue
Block a user