[−][src]Trait nazgul::traits::Sign
Required methods
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
k: PrivateKey,
ring: Ring,
message: &Vec<u8>
) -> Self
k: PrivateKey,
ring: Ring,
message: &Vec<u8>
) -> Self
Implementors
impl Sign<(RistrettoPoint, Scalar, Scalar), Vec<(RistrettoPoint, RistrettoPoint, Scalar)>> for DLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
k: (RistrettoPoint, Scalar, Scalar),
ring: Vec<(RistrettoPoint, RistrettoPoint, Scalar)>,
message: &Vec<u8>
) -> DLSAG
[src]
k: (RistrettoPoint, Scalar, Scalar),
ring: Vec<(RistrettoPoint, RistrettoPoint, Scalar)>,
message: &Vec<u8>
) -> DLSAG
To sign you need k
your private key, and ring
which is the public keys of everyone
except you. You are signing the message
The private key k
in this case is your private key, the public key of the other end of
the channel and a random bitstring generated by hashing-to-scalar: the transaction ID, and
output index.
The ring contains public key pairs from the blockchain together with their random bitstrings as mentioned above.
This implementation of sign(...)
is for the user who has the private key for the right
side of the channel
impl Sign<(Scalar, RistrettoPoint, Scalar), Vec<(RistrettoPoint, RistrettoPoint, Scalar)>> for DLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
k: (Scalar, RistrettoPoint, Scalar),
ring: Vec<(RistrettoPoint, RistrettoPoint, Scalar)>,
message: &Vec<u8>
) -> DLSAG
[src]
k: (Scalar, RistrettoPoint, Scalar),
ring: Vec<(RistrettoPoint, RistrettoPoint, Scalar)>,
message: &Vec<u8>
) -> DLSAG
To sign you need k
your private key, and ring
which is the public keys of everyone
except you. You are signing the message
The private key k
in this case is your private key, the public key of the other end of
the channel and a random bitstring generated by hashing-to-scalar: the transaction ID, and
output index.
The ring contains public key pairs from the blockchain together with their random bitstrings as mentioned above.
This implementation of sign(...)
is for the user who has the private key for the left
side of the channel
impl Sign<Vec<(RistrettoPoint, Scalar, Scalar)>, Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>> for MDLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
ks: Vec<(RistrettoPoint, Scalar, Scalar)>,
ring: Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>,
message: &Vec<u8>
) -> MDLSAG
[src]
ks: Vec<(RistrettoPoint, Scalar, Scalar)>,
ring: Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>,
message: &Vec<u8>
) -> MDLSAG
To sign you need k
your private key, and ring
which is the public keys of everyone
except you. You are signing the message
The private key k
in this case is your private key, the public key of the other end of
the channel and a random bitstring generated by hashing-to-scalar: the transaction ID, and
output index.
The ring contains public key pairs from the blockchain together with their random bitstrings as mentioned above.
impl Sign<Vec<(Scalar, RistrettoPoint, Scalar)>, Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>> for MDLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
ks: Vec<(Scalar, RistrettoPoint, Scalar)>,
ring: Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>,
message: &Vec<u8>
) -> MDLSAG
[src]
ks: Vec<(Scalar, RistrettoPoint, Scalar)>,
ring: Vec<Vec<(RistrettoPoint, RistrettoPoint, Scalar)>>,
message: &Vec<u8>
) -> MDLSAG
To sign you need k
your private key, and ring
which is the public keys of everyone
except you. You are signing the message
The private key k
in this case is your private key, the public key of the other end of
the channel and a random bitstring generated by hashing-to-scalar: the transaction ID, and
output index.
The ring contains public key pairs from the blockchain together with their random bitstrings as mentioned above.
impl Sign<Vec<Scalar>, Vec<Vec<RistrettoPoint>>> for CLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
ks: Vec<Scalar>,
ring: Vec<Vec<RistrettoPoint>>,
message: &Vec<u8>
) -> CLSAG
[src]
ks: Vec<Scalar>,
ring: Vec<Vec<RistrettoPoint>>,
message: &Vec<u8>
) -> CLSAG
To sign you need ks
which is the set of private keys you want to sign with. Only the
first one is linkable. The ring
contains public keys for everybody except you. Your
public key will be inserted into it at random (secret) index. The message
is what you are signing
impl Sign<Vec<Scalar>, Vec<Vec<RistrettoPoint>>> for MLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
ks: Vec<Scalar>,
ring: Vec<Vec<RistrettoPoint>>,
message: &Vec<u8>
) -> MLSAG
[src]
ks: Vec<Scalar>,
ring: Vec<Vec<RistrettoPoint>>,
message: &Vec<u8>
) -> MLSAG
To sign you need ks
which is the set of private keys you want to sign with. The ring
contains
public keys for everybody except you. Your public key will be inserted into it at random (secret)
index. The message
is what you are signing
impl Sign<Scalar, Vec<RistrettoPoint>> for BLSAG
[src]
fn sign<Hash: Digest<OutputSize = U64> + Clone + Default, CSPRNG: CryptoRng + RngCore + Default>(
k: Scalar,
ring: Vec<RistrettoPoint>,
message: &Vec<u8>
) -> BLSAG
[src]
k: Scalar,
ring: Vec<RistrettoPoint>,
message: &Vec<u8>
) -> BLSAG
To sign you need k
your private key, and ring
which is the public keys of everyone
except you. You are signing the message