An open API service indexing awesome lists of open source software.

https://github.com/sammyne/crypto-rs

A Go-like crypto library in Rust
https://github.com/sammyne/crypto-rs

cryptography digital-signature encryption hash rust

Last synced: over 1 year ago
JSON representation

A Go-like crypto library in Rust

Awesome Lists containing this project

README

          

# crypto-rs

[![docs badge](https://img.shields.io/badge/docs-0.7.0-blue)](https://sammyne.github.io/crypto-rs/crypto/)
![minimum rustc](https://img.shields.io/badge/rustc-1.68.2%2B-blue)

This repository tries to implement a Go-like crypto library in Rust.

## Algorithms

> The added time of every new algorithm should be recorded in the table below.

| Algorithm | AddedAt(YY/MM/DD) |
| ---------: | :---------------- |
| AES | 19/12/25 |
| Curve25519 | 19/12/30 |
| ED25519 | 20/01/04 |
| HMAC | 20/01/09 |
| MD5 | 19/12/26 |
| RC4 | 20/01/11 |
| RIPEMD160 | 19/12/26 |
| SHA1 | 20/03/10 |
| SHA3 | 20/03/06 |
| subtle | 20/01/11 |

## Examples

Just check the corresponding tests of the same names under the tests folder~

## FAQ

- Q: Why not separate each algorithm as small crates?
- A: There're some common trait depended by these cryptographic algorithms. If packing these
traits as a crate, it may happen that crates in this repository reference different versions
of the common traits. Besides, if a crate of the same commit hash is specified with tag/rev,
it's treated as two crates by cargo, which has no fix right now. So I'd like to package all of
them into a large crate, and enable them through **features**.