core/slip39: remove _encrypt

(cherry picked from commit 53ca61ab00)
pull/408/head
Tomas Susanka 5 years ago
parent 1b666804c0
commit 542f156b4f

@ -208,20 +208,6 @@ def _get_salt(identifier: int) -> bytes:
)
def _encrypt(
master_secret: bytes, passphrase: bytes, iteration_exponent: int, identifier: int
) -> bytes:
l = master_secret[: len(master_secret) // 2]
r = master_secret[len(master_secret) // 2 :]
salt = _get_salt(identifier)
for i in range(_ROUND_COUNT):
(l, r) = (
r,
xor(l, _round_function(i, passphrase, iteration_exponent, salt, r)),
)
return r + l
def decrypt(
identifier: int,
iteration_exponent: int,

@ -152,14 +152,14 @@ class TestMsgResetDeviceT2(TrezorTest):
assert resp.passphrase_protection is False
def validate_mnemonics(mnemonics, threshold, expected_secret):
def validate_mnemonics(mnemonics, threshold, expected_ems):
# We expect these combinations to recreate the secret properly
for test_group in combinations(mnemonics, threshold):
# TODO: HOTFIX, we should fix this properly by modifying and unifying the python-shamir-mnemonic API
ms = shamir.combine_mnemonics(test_group)
identifier, iteration_exponent, _, _, _ = shamir._decode_mnemonics(test_group)
ems = shamir._encrypt(ms, b"", iteration_exponent, identifier)
assert ems == expected_secret
assert ems == expected_ems
# We expect these combinations to raise MnemonicError
for test_group in combinations(mnemonics, threshold - 1):
with pytest.raises(

Loading…
Cancel
Save