AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 35 Bitcoin

refactor(core/rust): trezor-crypto backend glue for noise-protocol

Public commit record

What the developer wrote

Authored by Martin Milata

62/100 · Adequate
refactor(core/rust): trezor-crypto backend glue for noise-protocol

[no changelog]
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
The short version

What changed, and why it matters

This commit refactors the cryptographic glue code that connects Trezor's embedded firmware to a Rust-based Noise protocol implementation used for secure device communication. The most notable security-relevant change is the addition of a constant-time comparison function for checking AES-GCM authentication tags, which helps prevent timing-based attacks that could leak information about the tag. The commit also splits AES-GCM into separate encrypt and decrypt types, adds a non-pinned SHA-256 wrapper, and introduces wrappers for Curve25519 and AES-GCM to satisfy the Noise protocol backend interface. There is no explicit vendor statement that this fixes a security vulnerability, and no independent researcher is credited.

Recommended action

Review the `consteq` implementation for correctness on all target architectures, ensure `black_box` is sufficient to prevent compiler optimization of the timing-independent comparison, and verify that the new `AesGcmDecrypt::finish` tag comparison is used consistently across all decryption paths. Continue monitoring the THP/Noise protocol integration for further security-relevant commits.

Security signals we found

01

Added constant-time tag comparison for AES-GCM to mitigate timing side-channels

02

Split combined AES-GCM encrypt/decrypt type into separate types to enforce correct state machine usage

03

Added zeroizing wrappers for sensitive key material used by Noise protocol backend

04

Added non-pinned SHA-256 wrapper compatible with external noise-protocol crate

05

Exposed SHA-256/SHA-512 block length constants for use by the Noise protocol implementation

Risk score

Why this scored 35/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 6/15
Affected reach 7/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.