Skip to main content

Module encryption

Module encryption 

Source
Expand description

Sealing of transaction inputs against the validator set’s shared encryption key.

This module is the single definition of the associated-data transcript, so the sealing side (clients and the node’s own submitters) and the unsealing side (the validator) cannot drift. A drift would not fail to compile: it would reject every submission at runtime with an opaque AEAD error, so the transcript is pinned by a golden vector in the tests below.

Structs§

NextEncryptionKeyInfo
Public metadata for a scheduled transaction encryption key.
TransactionEncryptionKeyInfo
Public metadata for the transaction encryption key served by a validator.
TransactionInputsSealer
Seals transaction inputs against the validator set’s shared encryption key.
TrustedTransactionEncryptionState
Trusted chain state used to verify a served transaction encryption key.
VerifiedTransactionEncryptionKey
A transaction encryption key whose attestation matches trusted chain state.

Enums§

TransactionEncryptionKeyError
Failure to decode or verify a served transaction encryption key.
TransactionEncryptionScheme
Encryption schemes supported by transaction input submission.
TransactionInputSealError
Failure to seal transaction inputs.

Constants§

ATTESTATION_DOMAIN
Domain tag prefixed to the validator-signed encryption key payload.
MAX_KEY_ID_LEN
Upper bound on the length of an encryption key identifier.
TX_INPUT_SEAL_DOMAIN
Domain tag prefixed to the associated data of sealed transaction inputs.

Functions§

transaction_inputs_associated_data
Builds the associated data authenticating a sealed set of transaction inputs.
verify_transaction_encryption_key
Verifies a served transaction encryption key against trusted chain state.