Skip to content

Repository files navigation

Ascon on the World's Smallest Video Game Console

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

Building

ThumbyPowerConsumption

Here's where all the Thumby code lives

To set up your environment:

  1. Download/Install the Arduino IDE
  2. Download the Thumby Graphics Library and the Core Thumby Library as zip files
  3. Add them to the Arduino IDE by going to Sketch -> Include Library -> Add .ZIP Library...
  4. Install version 2.2.2 of arduino-pico
    1. Go to File -> Preferences and paste https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json into the Additional boards manager URLs section
    2. In the Boards Manager tab there should now be a new entry called Raspberry Pi Pico/RP2040
    3. Change the version to 2.2.2 and click Install
    • 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)
  5. Now you should be safe to open the included .ino file and have everything compile correctly
  6. Follow the uploading instructions from TinyCircuits to actually upload the code to the Thumby
    • Just skip steps 1 and 2 under the Uploading heading... you should already have the IDE open to this very project!

AsconTests

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

Licensing

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

About

Ascon AEAD-128 running on the Thumby

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages