https://github.com/linaro/lite-flow
LITE Cryptographic Workflow Demonstration
https://github.com/linaro/lite-flow
Last synced: 10 months ago
JSON representation
LITE Cryptographic Workflow Demonstration
- Host: GitHub
- URL: https://github.com/linaro/lite-flow
- Owner: Linaro
- License: apache-2.0
- Created: 2023-04-12T22:01:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-16T15:28:37.000Z (almost 3 years ago)
- Last Synced: 2025-03-11T06:49:24.061Z (about 1 year ago)
- Language: Rust
- Size: 103 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# LITE Flow tool
This project is an attempt at a reference implementation of the cryptographic
"flow" demonstrating how data undergoes encryption and signing from an embedded
device to the cloud.
In order to gather some meaningful benchmarks, there is also a main program that
is able to run on some embedded targets to benchmark this encryption.
## Submodules
This repo currently brings in a current version of embassy with git submodules,
and if you didn't add `--submodules` when cloning the repo, you will need to
update those:
```
$ git submodule update --init
```
## On target benchmarking
Currently, the benchmark can be run on the STM32F407VGTx Discovery board, which
is available at the time of writing. This tool needs a rust unstable version,
which can be downloaded with rustup. It is highly recommended to use rustup to
build this software, as the necessary tools will be automatically installed.
```
$ cd boards/stm32f4-disco
$ cargo build --release
```
Although the rust embedded book describes using openocd to connect to the
target, the `probe-run` tool, built on `probe-rs` provides a much more concise
solution to running and developing on these boards. It supports the RTT
protocol, and will automatically show available messages as they are printed by
the device.
```
$ cargo install probe-run
```
You should be able to query your probe with:
```
$ probe-run --list-probes
the following probes were found:
[0]: STLink V3 (VID: 0483, PID: 374e, Serial: 001F00094741500420383733, StLink)
```
If the board doesn't show up here, it likely has to do with device permissions
and such. The [probe-run](https://ferrous-systems.com/blog/probe-run/)
documentation may be helpful in diagnosing problems.
Once that works, you can just issue
```
$ cargo run --release
```
to run the test, and print out messages. There is a script `./run.sh` in this
directory that uses a grep command to filter out the line information on the log
messages, making the content of the messages easier to read.