> Coldcard’s software is built on MicroPython, and Coinkite supplies its own hardware-RNG wrapper for the device’s STM32 chip. To avoid conflicts, Coinkite deliberately disabled MicroPython’s built-in RNG path by setting a configuration flag, MICROPY_HW_ENABLE_RNG, to zero. The problem: the underlying library checked only whether that flag was defined, not whether it was enabled (set to a non-zero value). Because a flag set to zero is still “defined,” the build silently compiled against the wrong code, and seed generation fell back to a deterministic software pseudo-random number generator called Yasmarang
[–] rationalist 4 hours ago
[–] weird-eye-issue 4 hours ago
[–] gnabgib 4 hours ago
Possibly Trezor (35 points, 16 days ago, 3 comments) https://news.ycombinator.com/item?id=50078423
[–] kalleboo 4 hours ago
> Coldcard’s software is built on MicroPython, and Coinkite supplies its own hardware-RNG wrapper for the device’s STM32 chip. To avoid conflicts, Coinkite deliberately disabled MicroPython’s built-in RNG path by setting a configuration flag, MICROPY_HW_ENABLE_RNG, to zero. The problem: the underlying library checked only whether that flag was defined, not whether it was enabled (set to a non-zero value). Because a flag set to zero is still “defined,” the build silently compiled against the wrong code, and seed generation fell back to a deterministic software pseudo-random number generator called Yasmarang
[–] rationalist 3 hours ago