Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codyps/sodalite
tweetnacl in rust
https://github.com/codyps/sodalite
authentication cryptography ecc ed25519 libsodium nacl rust salsa20 sha512 tweetnacl
Last synced: 2 months ago
JSON representation
tweetnacl in rust
- Host: GitHub
- URL: https://github.com/codyps/sodalite
- Owner: codyps
- Created: 2015-10-16T01:20:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-20T23:11:34.000Z (about 2 years ago)
- Last Synced: 2024-05-01T13:31:14.959Z (10 months ago)
- Topics: authentication, cryptography, ecc, ed25519, libsodium, nacl, rust, salsa20, sha512, tweetnacl
- Language: Rust
- Homepage:
- Size: 207 KB
- Stars: 25
- Watchers: 3
- Forks: 9
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sodalite
An implementation of tweetnacl in pure rust. Originally generated by manually translating `tweetnacl.c` into rust. Tested by verifying outputs match those of tweetnacl.
- [![Documentation (releases)](https://img.shields.io/badge/documentation-release-brightgreen.svg?style=flat)](https://docs.rs/sodalite/)
- [![Travis](https://img.shields.io/travis/jmesmon/sodalite.svg?style=flat)](https://travis-ci.org/jmesmon/sodalite)
- [sodalite ![sodalite Crates.io](https://img.shields.io/crates/v/sodalite.svg?style=flat)](https://crates.io/crates/sodalite)
- [tweetnacl ![tweetnacl Crates.io](https://img.shields.io/crates/v/tweetnacl.svg?style=flat)](https://crates.io/crates/tweetnacl)
- [tweetnacl-sys ![tweetnacl-sys Crates.io](https://img.shields.io/crates/v/tweetnacl-sys.svg?style=flat)](https://crates.io/crates/tweetnacl-sys)## Todo
- provide additional APIs:
- rather than take bare mutable references, use wrapper types around the refs to capture the underlying type (ie: prevent mixing keys between primitives)
- add a buffer and/or "set-only" abstraction to prevent unsafety wrt uninitialized values (also should allow some internal optimization).
- sodiumoxide style API that returns values rather than taking mutable refs
- Use namespacing to separate different APIs and backend impls
- start testing against sodiumoxide as well
- Provide some of the API improvements from libsodium that are missing nacl (disjoint signatures, not requiring special extra space in buffers)## License
Licensed under either of
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.### Contribution
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.