You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for creating self-decrypting binaries, and use 4-way AES key shares instead of just the AES key (#207)
Note: this is not the final commit for this functionality, so use with caution for now
* Use 4-way key shares for AES private keys
The privateaes.bin key file is now 4x256bit numbers (A,B,C,D), and the AES key X is A^B^C^D
* Remove check that ELF segments are between metadata blocks
This is not required, as you can still load data outside of the region between the metadata blocks which contain the binary - for example, loading code into scratch memory.
* Add enc_bootloader binary
You can now use `picotool encrypt --embed ...` to create a self-decrypting binary, using enc_bootloader
* Specify file types where useful for untyped files (json, pem, bin)
* Implement FIB workaround by storing inverse of row n in row n+32 of each OTP page
* Only delete existing load_maps when encrypting
These only cause issues when encrypting, as the old block needs to be included in the new load_map
When signing, the old load_map can be used again without issue
* Throw clearer error when using picotool >2.1.1 with SDK <=2.1.1
This is required due to 2.1.0 and 2.1.1 SDK releases pointing at picotool develop branch rather than the respective picotool releases (raspberrypi/pico-sdk#2401)
---------
Co-authored-by: Graham Sanderson <graham.sanderson@raspberrypi.com>
0 commit comments