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
- Alice computes re-encryption key: rk = bob_sk^-1 * alice_sk
- Proxy transforms: (c1, c2) → (c1 * rk, c2) [point multiplication]
- Bob decrypts with his secret key
Structs§
- Ciphertext
- ElGamal ciphertext: (ephemeral point, encrypted point).
- ReEncryption
Key - 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.