Skip to main content

Module proxy_reencryption

Module proxy_reencryption 

Source
Expand description

Proxy re-encryption.

Allows a proxy to transform ciphertext encrypted under Alice’s key into ciphertext decryptable by Bob, WITHOUT the proxy learning the plaintext. Uses ElGamal over P-256.

§Protocol

  1. Alice computes re-encryption key: rk = bob_sk^-1 * alice_sk
  2. Proxy transforms: (c1, c2) → (c1 * rk, c2) [point multiplication]
  3. Bob decrypts with his secret key

Structs§

Ciphertext
ElGamal ciphertext: (ephemeral point, encrypted point).
ReEncryptionKey
A re-encryption key from Alice to Bob.

Functions§

decrypt_point
Decrypt a ciphertext with secret key sk.
encrypt_point
Encrypt a point under public key pk.
generate_rk
Generate a re-encryption key from Alice’s secret to Bob’s public.
re_encrypt
Re-encrypt: transform ciphertext from Alice to Bob.