It's Ascon AEAD-128 running on the Thumby
Done as a project for my university's cryptography course
Note that this code is NOT production ready, you should probably just be using the implementation by the original authors
See the included pdf for more details on how the cipher works and how I created/tested this project
Here's where all the Thumby code lives
To set up your environment:
- Download/Install the Arduino IDE
- Download the Thumby Graphics Library and the Core Thumby Library as zip files
- Add them to the Arduino IDE by going to
Sketch->Include Library->Add .ZIP Library... - Install version 2.2.2 of arduino-pico
- Go to
File->Preferencesand pastehttps://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.jsoninto theAdditional boards manager URLssection - In the
Boards Managertab there should now be a new entry calledRaspberry Pi Pico/RP2040 - Change the version to
2.2.2and clickInstall
- Alternatively: experiment with versions until you find a newer one that actually works with the Thumby (this may require making a PR to one or more of the Thumby libraries you downloaded earlier)
- Go to
- Now you should be safe to open the included
.inofile and have everything compile correctly - Follow the uploading instructions from TinyCircuits to actually upload the code to the Thumby
- Just skip steps 1 and 2 under the
Uploadingheading... you should already have the IDE open to this very project!
- Just skip steps 1 and 2 under the
This lets you run my Ascon implementation locally for easier correctness testing
It should just be a regular Visual Studio (2022) C++ project, so open the .sln file and hit compile
The ref folder contains the reference implementation that my implementation is being compared against
The included pdf is licensed under CC BY 4.0 International
The Ascon reference implementation is licensed under CC0 1.0 Universal
The rest of the repo is licensed under MIT