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.
https://github.com/nihalpasham/nrf-secureboot-test
This repo helps with the following:
- Generate
rust bindings
with 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.