Crate commit_verify

Source
Expand description

Standard cryptographic commitment library, created and supported by the LNP/BP Labs.

Re-exports§

pub use merkle::MerkleBuoy;
pub use merkle::MerkleHash;
pub use merkle::MerkleLeaves;
pub use merkle::MerkleNode;
pub use merkle::NodeBranching;

Modules§

merkle
Generic cryptographic merklization procedures.
mpc
Multi-protocol commitments according to LNPBP-4 standard.
stlstl
CommitVerify strict type library.
vespervesper

Structs§

CommitEngine
A helper engine used in computing commitment ids.
CommitLayout
The description of the commitment layout used in production of CommitmentId (or other users of CommitEncode).
ReservedBytes
Reserved bytes.
StrictHash
A commitment to the strict encoded-representation of any data.
UntaggedProtocol
Protocol defining commits created by using externally created hash value optionally pre-tagged.

Enums§

CommitColType
Type of the collection participating in a commitment id creation.
CommitStep
Step of the commitment id creation.
ConvolveVerifyError
Error during commitment verification
EmbedVerifyError
Error during commitment verification
VerifyError
Error during commitment verification

Constants§

LIB_NAME_COMMIT_VERIFY
Name of the CommitVerify strict type library.

Traits§

CommitEncode
A trait for types supporting commit-encode procedure.
CommitId
High-level API used in client-side validation for producing a single commitment to the data, which includes running all necessary procedures like concealment with Conceal, merklization, strict encoding, wrapped into CommitEncode, followed by the actual commitment to its output.
CommitVerify
Trait for commit-verify scheme.
CommitmentId
A definition of a resulting commitment type, which represent a unique identifier of the underlying data.
CommitmentLayout
A trait adding blanked implementation generating CommitmentLayout for any type implementing CommitEncode.
CommitmentProtocol
Marker trait for specific commitment protocols.
Conceal
Trait that should perform conversion of a given client-side-validated data type into a concealed (private) form, for instance hiding some of the data behind hashed - or homomorphically-encrypted version.
ConvolveCommit
Trait for convolve-commit-verify scheme, where some data structure (named container) may commit to existing message using supplement and producing final commitment value. The commitment can’t be used to restore original message, however the fact of the commitment may be deterministically verified when the message and the supplement (now acting as a proof) proof are revealed.
ConvolveCommitProof
Proof type used by ConvolveCommit protocol.
Digest
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
DigestExt
A generic cryptographic digest trait.
EmbedCommitProof
Proofs produced by EmbedCommitVerify::embed_commit procedure.
EmbedCommitVerify
Trait for embed-commit-verify scheme, where some data structure (named container) may commit to an existing message (producing commitment data structure and a proof) in such a way that the original message can’t be restored from the commitment, however, the fact of the commitment may be deterministically verified when the message and the proof are revealed.
TryCommitVerify
Trait for a failable version of commit-verify scheme.
VerifyEq
Trait for equivalence verification. Implemented for all types implementing Eq. For non-Eq types this trait provides a way to implement custom equivalence verification used during the commitment verification procedure.

Type Aliases§

Ripemd160
RIPEMD-160 hasher.
Sha256
SHA-256 hasher.

Derive Macros§

CommitEncodederive
Derives CommitEncode implementation for the type.