#elliptic-curve #integrated #scheme #encryption #pure #ecies

cyfs-ecies

Elliptic Curve Integrated Encryption Scheme for secp256k1 in Rust

1 unstable release

0.1.4 Jun 1, 2022

#7 in #ecies

Download history 35/week @ 2024-04-07 40/week @ 2024-04-14 63/week @ 2024-04-21 49/week @ 2024-04-28 47/week @ 2024-05-05 47/week @ 2024-05-12 52/week @ 2024-05-19 45/week @ 2024-05-26 39/week @ 2024-06-02 29/week @ 2024-06-09 55/week @ 2024-06-16 38/week @ 2024-06-23 10/week @ 2024-06-30 21/week @ 2024-07-07 48/week @ 2024-07-14 41/week @ 2024-07-21

121 downloads per month
Used in 16 crates (via cyfs-base)

MIT license

16KB
272 lines

eciesrs

Codacy Badge License Circle CI Crates

Elliptic Curve Integrated Encryption Scheme for secp256k1 in Rust, based on pure Rust implementation of secp256k1.

This is the Rust version of eciespy.

API

pub fn encrypt(receiver_pub: &[u8], msg: &[u8]) -> Result<Vec<u8>, SecpError>
pub fn decrypt(receiver_sec: &[u8], msg: &[u8]) -> Result<Vec<u8>, SecpError>

Quick Start

const MSG: &str = "helloworld";
let (sk, pk) = generate_keypair();
let (sk, pk) = (&sk.serialize(), &pk.serialize());

let msg = MSG.as_bytes();
assert_eq!(
    msg,
    decrypt(sk, &encrypt(pk, msg).unwrap()).unwrap().as_slice()
);

Release Notes

0.1.1 ~ 0.1.4

  • Bump dependencies
  • Update documentation
  • Fix error handling

0.1.0

  • First beta version release

Dependencies

~1.5MB
~26K SLoC