[−][src]Trait nubls::PRSKey
A trait that describes the Penumbral Proxy Re-Signature protocol. Given a Re-Signature key, a BLS signature can be re-signed from Bob's key to Alice's key.
Required methods
fn resigning_key(&self, bob_pubkey: &PublicKey) -> Self
Generates a re-signing key from Bob's designated key to the self
key.
fn designated_key(&self, alice_pubkey: &PublicKey) -> Self
Returns the designated PRS key that Bob signs with. Signatures made under this key can be re-signed from Bob to Alice given a re-signing key generated by Alice.
fn resign(&self, signature: &Signature) -> Signature
Performs a re-signature with the re-signing key to transform a Signature under Bob's designated key to Alice's key.
Implementors
impl PRSKey for PrivateKey
[src]
fn resigning_key(&self, bob_pubkey: &PublicKey) -> PrivateKey
[src]
Calculates $\phi_{B \rightarrow A}$ as $\frac{a}{\phi_B}$
fn designated_key(&self, alice_pubkey: &PublicKey) -> PrivateKey
[src]
Calculate $\phi_B$ as a Diffie-Hellman between Alice and Bob.
fn resign(&self, signature: &Signature) -> Signature
[src]
Re-Signs a Signature
from $\sigma_{\phi_B}$ to $\sigma_A$.
This is done by multiplying the Signature
by the re-signing key:
$\sigma_A = \phi_{B \rightarrow A} \cdot \sigma_{\phi_B}$
TODO: Validate signature before re-signing.