Skip to content
Ed25519 signatures for Cortex-M4 microcontrollers
C Rust Assembly Makefile C++ Shell Other
Branch: main
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.builds Some lipstick Nov 21, 2019
.github Some lipstick Nov 21, 2019
bin Pre-assemble assembly, no cc/bindgen dependency Nov 19, 2019
book Simplify field implementation selection Feb 8, 2020
c-api Simplify field implementation selection Feb 8, 2020
haase WIP Jul 15, 2019
qemu-tests Simplify field implementation selection Feb 8, 2020
scripts
src Simplify field implementation selection Feb 8, 2020
tweetnacl WIP Jul 15, 2019
.editorconfig Initial squatting commit Jun 10, 2019
.envrc Success! First successful Ed25519 signature of string "salty!" Jun 21, 2019
.gitignore Towards a working C example - uff! Nov 21, 2019
Cargo.toml Simplify field implementation selection Feb 8, 2020
LICENSE-APACHE Initial squatting commit Jun 10, 2019
LICENSE-MIT Initial squatting commit Jun 10, 2019
Makefile Simplify field implementation selection Feb 8, 2020
README.md Prepare release 0.1.0-alpha.0 Dec 7, 2019
build.rs
netlify.toml Simplify field implementation selection Feb 8, 2020
requirements.txt Success! First successful Ed25519 signature of string "salty!" Jun 21, 2019
rustfmt.toml Refining tests and fixing Haase transliteration bugs Nov 19, 2019

README.md

salty

Ed25519 signatures for microcontrollers

Overview

Build Status

Small, sweet, swift: Ed25519 signatures for microcontrollers.
With assembly optimizations for Cortex-M4 and Cortex-M33.

NOTE: This is work-in-progress and not audited!
The usual warnings apply: Your hamster will explode, etc. etc.

Goals

From highest to lowest priority:

  • understandable code
  • timing side-channel free
  • design for easy integration in embedded projects
  • sufficiently small compiled code size
  • useful speed

The Plan

None of these releases exist quite yet.

v0.1.0

Basic signature functionality

v0.2.0

More tests!

  • fuzzing to test correctness against known good implementation
  • side-fuzzing to test for timing side-channels

v0.3.0

Completion! The rest of NaCl.

  • X22519
  • authenticated encryption

License

Salty is licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
TweetNaCl is a public-domain library.
fe25519 is licensed under Creative Commons Zero v1.0 Universal.

You can’t perform that action at this time.