Module matrix_sdk_crypto::types

source ·
Expand description

Module containing customized types modeling Matrix keys and events.

These types were mostly taken from the Ruma project. The types differ in a couple of important ways to the Ruma types of the same name:

  1. They are using vodozemac types so we directly deserialize into a vodozemac Curve25519 or Ed25519 key.
  2. They support lossless serialization cycles in a canonical JSON supported way, meaning the white-space and field order won’t be preserved but the data will.
  3. Types containing secrets implement the Zeroize and ZeroizeOnDrop traits to clear out any memory containing secret key material.

Modules§

  • Types modeling end-to-end encryption related Matrix events
  • Data types for the QR code login mechanism described in MSC4108

Structs§

Enums§

  • Enum for the algorithm-specific secrets for the room key backup.
  • An enum over the different key types a device can have.
  • An encryption algorithm to be used to encrypt messages sent to a room.
  • A one-time public key for “pre-key” messages.
  • Information pertaining to a room key backup. Can be used to upload a new backup version as defined in the spec.
  • Represents a potentially decoded signature (but not a validated one).
  • An enum over the different key types a cross-signing key can have.