Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ycrypto/salty
25519 for Cortex-M4 microcontrollers
https://github.com/ycrypto/salty
cortex-m4 ed25519 rust signatures
Last synced: 23 days ago
JSON representation
25519 for Cortex-M4 microcontrollers
- Host: GitHub
- URL: https://github.com/ycrypto/salty
- Owner: ycrypto
- License: apache-2.0
- Created: 2019-06-09T15:52:23.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-10-21T12:19:23.000Z (about 1 year ago)
- Last Synced: 2024-08-10T11:46:45.461Z (4 months ago)
- Topics: cortex-m4, ed25519, rust, signatures
- Language: Rust
- Homepage: https://salty.rs
- Size: 339 KB
- Stars: 61
- Watchers: 6
- Forks: 10
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-embedded-software - salty - Ed25519 signatures with assembly optimizations for Cortex-M4 and Cortex-M33. (Cryptography / Elliptic Curve Cryptography)
README
salty
Ed25519 signatures for microcontrollers
## Overview
[![Build Status][build-image]][build-link]
[build-image]: https://builds.sr.ht/~nickray/salty.svg
[build-link]: https://builds.sr.ht/~nickray/salty
[crate-image]: https://img.shields.io/crates/v/salty.svg
[crate-link]: https://crates.io/crates/salty
[license-image]: https://img.shields.io/badge/license-Apache2.0%2FMIT-blue.svg
[docs-image]: https://docs.rs/salty/badge.svg?style=flat-square
[docs-link]: https://docs.rs/salty
[docs-main-image]: https://img.shields.io/badge/docs-main-blue?style=flat-square
[docs-main-link]: https://salty-api.netlify.com
[solokeys-img]: .github/images/solokeys-120-40.png
[solokeys-url]: https://solokeys.com
[yamnord-img]: .github/images/yamnord-120-40-alt.png
[yamnord-url]: https://yamnord.comSmall, 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.**
Work on salty is sponsored by
[![SoloKeys][solokeys-img]][solokeys-url]
[![yamnord][yamnord-img]][yamnord-url]## Goals
From highest to lowest priority:
- [understandable](https://blog.filippo.io/a-literate-go-implementation-of-poly1305/) 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
- allocation free API for signatures
- transcription of Ed25519 from [TweetNaCl](https://tweetnacl.cr.yp.to/20140427/tweetnacl.c)
- Bjoern Haase's [field arithmetic optimizations](https://github.com/BjoernMHaase/fe25519/tree/master/STM32F407/crypto/asm)
- use [subtle](https://github.com/dalek-cryptography/subtle)### v0.2.0
More tests!
- fuzzing to test correctness against known good implementation
- [side-fuzzing](https://tweetnacl.cr.yp.to/20140427/tweetnacl.c) to test for timing side-channels### v0.3.0
Completion! The rest of NaCl.
- X22519
- authenticated encryption#### License
The `scalar29` implementation is from `curve25519-daleks`'s u32 backend: [LICENSE](https://github.com/dalek-cryptography/curve25519-dalek/blob/master/LICENSE).
Salty is licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or [MIT License](LICENSE-MIT) 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](https://tweetnacl.cr.yp.to/) is a public-domain library.
[fe25519](https://github.com/BjoernMHaase/fe25519) is licensed under Creative Commons Zero v1.0 Universal.