Namespace Uniform.Matrix.Protocol.Crypto
Classes
AccountRecord
Stored Olm account.
AesCtr
AES-256 in counter mode with a 128-bit big-endian counter, built from ECB as .NET has no CTR mode.
AttachmentCrypto
Encryption of attachments in encrypted rooms: AES-256-CTR, then SHA-256 of the ciphertext.
AttachmentKeys
Key and hash of an encrypted attachment, the file object of a message without its URL.
DecryptedToDeviceEvent
A to-device event decrypted from Olm, with the keys of the device that sent it.
DeviceInfo
A device of a user, from verified device keys.
DeviceListRecord
Stored device list of a user.
Ed25519
Standalone Ed25519 keys, e.g. for cross-signing; keys and signatures are unpadded base64.
EncryptedAttachments
Message content of encrypted attachments; upload and download are in Uniform.Matrix.Client.
EncryptedSecret
Secret as stored in secret storage account data: iv, ciphertext and mac.
EstablishedSas
Shared secret of a SAS verification: emoji or decimals to compare, and MACs over the keys being verified.
IdentityKeys
Public identity keys of an account, unpadded base64.
InMemoryCryptoStore
ICryptoStore in memory, for tests and short-lived clients.
InboundGroupSessionRecord
Stored Megolm session for decrypting one sender's room messages.
MegolmInboundSession
Inbound Megolm session: decrypts one sender's room messages from the index its key was shared at.
MegolmOutboundSession
Outbound Megolm session: encrypts room messages for everyone who has its session key.
MegolmPlaintext
A decrypted Megolm message with its index, which must not repeat for a session.
OlmAccount
An Olm account: the device's identity keys, one-time keys and fallback keys.
OlmException
An Olm or Megolm operation failed, e.g. a message that does not decrypt or a wrong pickle key.
OlmMachine
End-to-end encryption state machine of one device: keys, Olm sessions with other devices and Megolm sessions for rooms.
OlmMessage
An Olm message as sent in m.room.encrypted to-device content.
OlmSession
An Olm session with one other device: a double ratchet for encrypting to-device messages.
OlmSessionRecord
Stored Olm session with another device.
OutboundGroupSessionRecord
Stored Megolm session for sending to a room.
PassphraseInfo
Passphrase settings of a SecretStorageKeyDescription.
PkEncryption
Public-key encryption of m.megolm_backup.v1.curve25519-aes-sha2 key backups.
PkMessage
Ciphertext of PkEncryption as stored in a key backup's session_data.
RecoveryResult
Outcome of RecoverAsync(string, CancellationToken).
RoomEventDecryption
A timeline event after decryption.
Sas
Key agreement of SAS verification: send PublicKey, then Establish(string) with theirs.
SasEmoji
One of the 64 SAS emoji.
SecretNames
Names of the secrets this library keeps in secret storage.
SecretStorage
Secret storage (4S): secrets encrypted in account data with a key the user keeps as a recovery key.
SecretStorageCrypto
m.secret_storage.v1.aes-hmac-sha2 encryption and the recovery key format.
SecretStorageKeyDescription
Description of a secret storage key in account data m.secret_storage.key.<id>.
SecurityStatus
Cross-signing, key backup and secret storage state of the account, from GetSecurityStatusAsync(CancellationToken).
UserIdentity
A user's published cross-signing keys, checked against each other.
Verification
A SAS verification with another device, over to-device messages, or over events of a room when another user asked there.
Interfaces
ICryptoStore
Persistent storage of encryption state; pickles are encrypted, so the store itself need not be.
IKeyTransport
Network calls the OlmMachine needs; MatrixKeyTransport in Uniform.Matrix.Client sends them to a homeserver.
Enums
DecryptionStatus
Outcome of DecryptRoomEventAsync(string, ClientEvent, CancellationToken).
DeviceTrust
How much a device is trusted, see GetDeviceTrust(DeviceInfo).
VerificationState
Stage of a Verification.