Module transcript

Source
Expand description

Transcript types.

All application data communicated over a TLS connection is referred to as a Transcript. A transcript is essentially just two vectors of bytes, each corresponding to a Direction.

TLS operates over a bidirectional byte stream, and thus there are no application layer semantics present in the transcript. For example, HTTPS is an application layer protocol that runs over TLS so there is no concept of “requests” or “responses” in the transcript itself. These semantics must be recovered by parsing the application data and relating it to the bytes in the transcript.

§Commitments

During the attestation process a Prover can generate multiple commitments to various parts of the transcript. These commitments are inserted into the attestation body and can be used by the Verifier to verify transcript proofs later.

To configure the transcript commitments, use the TranscriptCommitConfigBuilder.

§Selective Disclosure

Using a TranscriptProof a Prover can selectively disclose parts of a transcript to a Verifier in the form of a PartialTranscript. A Verifier always learns the length of the transcript, but sensitive data can be withheld.

To create a proof, use the TranscriptProofBuilder which is returned by Secrets::transcript_proof_builder.

Structs§

CompressedPartialTranscript
PartialTranscript in a compressed form.
Idx
Transcript index.
IdxBuilder
Builder for Idx.
InvalidSubsequence
Invalid subsequence error.
PartialTranscript
A partial transcript.
Subsequence
Transcript subsequence.
Transcript
A transcript contains the plaintext of all application data communicated between the Prover and the Server.
TranscriptCommitConfig
Configuration for transcript commitments.
TranscriptCommitConfigBuilder
A builder for TranscriptCommitConfig.
TranscriptCommitConfigBuilderError
Error for TranscriptCommitConfigBuilder.
TranscriptProof
Proof of the contents of a transcript.
TranscriptProofBuilder
Builder for TranscriptProof.
TranscriptProofBuilderError
Error for TranscriptProofBuilder.
TranscriptProofError
Error for TranscriptProof.

Enums§

Direction
The direction of data communicated over a TLS connection.
TranscriptCommitmentKind
Kind of transcript commitment.