This post outlines how the Jade generates its entropy:
User input
- CPU counters
- Battery state
- Ambient temperature
- Multiple images taken with camera during boot
- Built-in cryptographic-strength hardware number generator
- Entropy from the Blockstream companion app
The built-in hardware cryptographic random number generator (CRNG) derives entropy from various sources, one of which is the included radio (used for Bluetooth). If you [disable radio](https://help.blockstream.com/blockstream-jade/add-more-security-functionality/disable-bluetooth) with the optional “No-Radio” firmware, the CRNG loses that source and, therefore, has reduced entropy. To mitigate this, we use an ESP32 API call named “bootloader_random_enable()” to sample raw radio noise only during boot, which is then added to the entropy pool along with the sources mentioned above.
However, Entropy from the Blockstream companion app is optional. It would be nice to require that add_entropy be called at least once with at least 32 bytes before the entropy state is considered valid:
{
"id": "925",
"method": "add_entropy"
"params": {
"entropy": <bytes>
}
}
This post outlines how the Jade generates its entropy:
However,
Entropy from the Blockstream companion appis optional. It would be nice to require that add_entropy be called at least once with at least 32 bytes before the entropy state is considered valid: