Umbral-rs
umbral-rs
is the implementation of the Umbral threshold proxy re-encryption scheme, built with Rust taking as reference the Python version createdby the Umbral authors.
Umbral consists of a Proxy Re-Encryption scheme, in which a data holder can delegate decryption rights to a data consumer for any encrypted text intended for him/her. It is carried out through a re-encryption process performed by a series of semi-trusted proxies. When a threshold of these proxies participates by performing the re-encryption and creating some shares, the consumer is able to combine these independent re-encryption shares and decrypt the original message using his private key.
Encrypt/Decrypt Example
use *;
let params = new_standard_params;
let alice = new;
let signer = new;
let bob = new;
let plaintext = b"Hello, umbral!".to_vec;
let = encrypt.unwrap;
capsule.set_correctness_keys;
let threshold = 2;
let nodes_number = 5;
let kfrags = generate_kfrags.unwrap;
for kfrag in kfrags
let plaintext_bob = decrypt.unwrap;
assert_eq!;
println!;