I published a git repo while learning to use FFI (or language bindings) in Rust. I think this project is a good target for some hands-on learning.
Context: Specifications for the HW crypto-accelerator used in nRF52840 (i.e. ARM CryptCell-310) aren't publicly available. So, no datasheets for this extra peripheral. All we have is - access to a
compiled library that can be included in a project (taken from nRF's SDK) that wants to make use of the crypto-accel. Problem is, its written entirely in C.
This repo helps with the following:
rust bindingswith rust-bindgen for nRF52840's HW crypto accelerator i.e. the ARM CryptoCell 310.
- Test authentication or verification of firmware image(s) using HW accelerated ECDSA or Elliptic Curve Digital Signature Algorithms (for boards that include ARM's Cryptocell IP.)
- Assess some of the pros and cons of the CC310 on nRF boards.