-
Notifications
You must be signed in to change notification settings - Fork 151
Add support for creating self-decrypting binaries, and use 4-way AES key shares instead of just the AES key #207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
85 commits
Select commit
Hold shift + click to select a range
bc12015
Use 4-way key shares for AES private keys
will-v-pi 78f27fb
Remove check that ELF segments are between metadata blocks
will-v-pi d1088ff
Fix overlapping memory ranges issue for encrypted binaries
will-v-pi a65daa7
Update share as word-wise
will-v-pi 4eac457
Add enc_bootloader binary
will-v-pi 76baca1
Apply encrypted-example 6de8084b6eda
will-v-pi cc6fbab
Fixup no libusb build
will-v-pi 0d81600
Remove debug prints, and add USE_USB_DPRAM option
will-v-pi d0dd100
Reduce binary size
will-v-pi 5596923
Remove pico_rand and use boot random instead
will-v-pi 0dc6c62
Update precompiled enc_bootloader.elf
will-v-pi 83de3e3
Remove unused use_usb_dpram
will-v-pi a605be7
Re-jig to create more space for the AES code
will-v-pi cff9a9e
Integrate new aes.S
will-v-pi d04d513
Use minimal vector table
will-v-pi d2c8419
Pass TBYB and version from encrypted binary metadata to the decryptio…
will-v-pi af31a00
Add --otp-key-page argument
will-v-pi 6e62875
Update aes.S
will-v-pi 4ef6450
Shrink enc_bootloader.c code further
will-v-pi e17112d
Add otp file to enc
will-v-pi 82d6116
Increase stack size by 0x80 to provide some headroom
will-v-pi 9cf530f
Integrate latest aes.S code
will-v-pi 1640e86
Use ROSC randomisation instead of CK_JITTER
will-v-pi b1b0015
Fix SDK branch for enc_bootloader
will-v-pi 3251f22
Add comments and slight size reduction
will-v-pi 4819b55
Uncomment chaff assertion
will-v-pi 922c3e3
Shrink IV storage size
will-v-pi 4eab13e
Update enc_bootloader.elf with latest
will-v-pi e86b6c5
Rejig clock init to prevent overclocking
will-v-pi 7d8db46
Update with latest aes.S
will-v-pi 2766a7d
Seed ROSC random using rstate_lfsr
will-v-pi 9f01c2c
Use CK_JITTER to enable/disable ROSC randomisation
will-v-pi baf011f
Add IV XOR code, but turn it off with IV0_XOR for now
will-v-pi aa6a0ba
Disable calibration using XOSC by default
will-v-pi 8781004
Update with latest aes.S
will-v-pi d7aa177
Add fast-rosc option
will-v-pi c8b03fd
clock_configure_mhz no longer used
will-v-pi 854e147
Tidy up indents in CMakeLists.txt
will-v-pi 8af552d
Remove CK_JITTER from aes.S, as this is now handled in the C code
will-v-pi e20a3a5
Throw error when using AES key share file of incorrect size
will-v-pi bd403b4
Incorporate latest aes.S code, and add IV salt
will-v-pi aef73b1
Update enc_bootloader.elf with latest
will-v-pi abb4e63
Remove pico-sdk branch handling
will-v-pi e96ff1c
Update aes.S
will-v-pi c29bad5
Add USE_MBEDTLS variant
will-v-pi 7080fdf
Update with latest aes.S
will-v-pi 8e9eaba
Better fix for #210
will-v-pi eef5d24
Add --use-mbedtls option to use mbedtls version of the decryption stage
will-v-pi 15f059c
Add enc_bootloader_mbedtls to bazel build
will-v-pi 8c4a66c
Fix build without mbedtls
will-v-pi bbbd032
Review fixups
will-v-pi fce50e1
Reword readme, to reflect word-wise aes file
will-v-pi cd21a1e
Add IV salt to regular encrypted binaries too
will-v-pi fd7e89b
Rename xip_ram_perms.cpp and enc_bootloader.cpp to get_....cpp
will-v-pi d26ccd0
Use include_directories for lib/include
will-v-pi 5030525
Use newer VTABLE related variables
kilograham d838946
Copy last block when signing/encrypting, if it has an image_def
will-v-pi e0db243
Review fixups
will-v-pi 3fdc556
Review fixups
will-v-pi 64fe3d4
don't include RAM vector table
kilograham 091cf6f
Mention file size in bits & bytes
will-v-pi 04d8819
Remove OTP key workaround
will-v-pi 90ddbc4
Remove load_map, hash and signature from chosen ELF blocks
will-v-pi e370a20
Clear SRAM in load_map of self-decrypting binary
will-v-pi 33419cf
Add ability to generate key share from 256 bit key
will-v-pi b35d9a9
Remove -t argument when not needed
will-v-pi 4adbf75
Support passing AES key and IV salt as hex strings instead of files
will-v-pi cbfab7c
Improve encrypt docs
will-v-pi eb5c981
Review fixups
will-v-pi ba3bf03
Improve external project inclusion
will-v-pi 954120f
Use named_untyped_file_selection for coprodis as well
will-v-pi 1ff20e0
Implement FIB workaround by storing inverse of row n in row n+32 of e…
will-v-pi d6c5171
Only delete existing load_maps when encrypting
will-v-pi 61bf7c3
Tidy up string_to_hex_array function
will-v-pi f018f89
Add permission handling to OTP dump
will-v-pi 6743582
Modify bootloader to work with FIB workaround
will-v-pi f9bf5e7
Review fixups
will-v-pi 861a153
Mention mbedtls is "faster but less secure" in help text
will-v-pi 9ea5a40
Merge branch 'develop' into encrypted-shares
will-v-pi b637421
Update README help text
will-v-pi b89a7e8
Prevent PRs running test-examples twice, and give it a name
will-v-pi 4b49a6d
Fix mbedtls for FIB workaround
will-v-pi 0c354a1
Improve error message when sealing an RP2040 binary with no metadata …
will-v-pi b42e72a
Improve RP2040 sealing error
will-v-pi 3757973
Throw clearer error when using picotool >2.1.1 with SDK <=2.1.1
will-v-pi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How hard would it be to modify the line-wrapping to prevent a line-break getting inserted in the middle of e.g.
[-t <type>]
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's handled by the CLIPP library, so probably a question for @kilograham whether we want to change that code?
picotool/clipp/clipp.h
Lines 317 to 363 in c56c005
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, sounds like There Be Dragons 🐉