What changed, and why it matters
This commit simply deletes an unused helper class called BusyDecoder from a cryptography file in the Trezor firmware. There is no change to active code, no bug fix, and no security-relevant behavior change.
No security action needed. This is a routine code-cleanup commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch removes the BusyDecoder class from core/src/trezor/wire/thp/crypto.py. The class implemented an incremental AES-GCM decryptor, but nothing in the diff or commit message indicates it was referenced anywhere. The remaining enc/dec functions and protocol constants are untouched. No functional or cryptographic logic is modified.
Changed components
core/src/trezor/wire/thp/crypto.pyInspect captured patch +0 / −15
diff --git a/core/src/trezor/wire/thp/crypto.py b/core/src/trezor/wire/thp/crypto.py
index 58e5114b..58da1282 100644
--- a/core/src/trezor/wire/thp/crypto.py
+++ b/core/src/trezor/wire/thp/crypto.py
@@ -57,21 +57,6 @@ def dec(
return utils.consteq(computed_tag, tag)
-class BusyDecoder:
-
- def __init__(self, key: bytes, nonce: int, auth_data: bytes = b"") -> None:
- iv = _get_iv_from_nonce(nonce)
- self.aes_ctx = aesgcm(key, iv)
- self.aes_ctx.auth(auth_data)
-
- def decrypt_part(self, part: AnyBuffer) -> None:
- self.aes_ctx.decrypt_in_place(part)
-
- def finish_and_check_tag(self, tag: bytes) -> bool:
- computed_tag = self.aes_ctx.finish()
- return utils.consteq(computed_tag, tag)
-
-
PROTOCOL_NAME = b"Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00"
IV_1 = b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
IV_2 = b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.