Module: models
- class doubleratchet.models.DiffieHellmanRatchetModel(**data)[source]
Bases:
BaseModelThe model representing the internal state of a
DiffieHellmanRatchet.- Parameters:
version (str)
own_ratchet_priv (Annotated[bytes, PlainValidator(func=~doubleratchet.models._json_bytes_decoder, json_schema_input_type=~typing.Any), PlainSerializer(func=~doubleratchet.models._json_bytes_encoder, return_type=PydanticUndefined, when_used=always)])
other_ratchet_pub (Annotated[bytes, PlainValidator(func=~doubleratchet.models._json_bytes_decoder, json_schema_input_type=~typing.Any), PlainSerializer(func=~doubleratchet.models._json_bytes_encoder, return_type=PydanticUndefined, when_used=always)])
root_chain (KDFChainModel)
symmetric_key_ratchet (SymmetricKeyRatchetModel)
- own_ratchet_priv: Annotated[bytes, PlainValidator(func=_json_bytes_decoder, json_schema_input_type=Any), PlainSerializer(func=_json_bytes_encoder, return_type=PydanticUndefined, when_used=always)]
- other_ratchet_pub: Annotated[bytes, PlainValidator(func=_json_bytes_decoder, json_schema_input_type=Any), PlainSerializer(func=_json_bytes_encoder, return_type=PydanticUndefined, when_used=always)]
- root_chain: KDFChainModel
- symmetric_key_ratchet: SymmetricKeyRatchetModel
- class doubleratchet.models.DoubleRatchetModel(**data)[source]
Bases:
BaseModelThe model representing the internal state of a
DoubleRatchet.- Parameters:
version (str)
diffie_hellman_ratchet (DiffieHellmanRatchetModel)
skipped_message_keys (List[SkippedMessageKeyModel])
- diffie_hellman_ratchet: DiffieHellmanRatchetModel
- skipped_message_keys: List[SkippedMessageKeyModel]
- class doubleratchet.models.KDFChainModel(**data)[source]
Bases:
BaseModelThe model representing the internal state of a
KDFChain.- Parameters:
version (str)
length (int)
key (Annotated[bytes, PlainValidator(func=~doubleratchet.models._json_bytes_decoder, json_schema_input_type=~typing.Any), PlainSerializer(func=~doubleratchet.models._json_bytes_encoder, return_type=PydanticUndefined, when_used=always)])
- key: Annotated[bytes, PlainValidator(func=_json_bytes_decoder, json_schema_input_type=Any), PlainSerializer(func=_json_bytes_encoder, return_type=PydanticUndefined, when_used=always)]
- class doubleratchet.models.SkippedMessageKeyModel(**data)[source]
Bases:
BaseModelThe model used as part of the
DoubleRatchetModel, representing a single skipped message key with meta data.- Parameters:
ratchet_pub (Annotated[bytes, PlainValidator(func=~doubleratchet.models._json_bytes_decoder, json_schema_input_type=~typing.Any), PlainSerializer(func=~doubleratchet.models._json_bytes_encoder, return_type=PydanticUndefined, when_used=always)])
index (int)
message_key (Annotated[bytes, PlainValidator(func=~doubleratchet.models._json_bytes_decoder, json_schema_input_type=~typing.Any), PlainSerializer(func=~doubleratchet.models._json_bytes_encoder, return_type=PydanticUndefined, when_used=always)])
- ratchet_pub: Annotated[bytes, PlainValidator(func=_json_bytes_decoder, json_schema_input_type=Any), PlainSerializer(func=_json_bytes_encoder, return_type=PydanticUndefined, when_used=always)]
- message_key: Annotated[bytes, PlainValidator(func=_json_bytes_decoder, json_schema_input_type=Any), PlainSerializer(func=_json_bytes_encoder, return_type=PydanticUndefined, when_used=always)]
- class doubleratchet.models.SymmetricKeyRatchetModel(**data)[source]
Bases:
BaseModelThe model representing the internal state of a
SymmetricKeyRatchet.- Parameters:
version (str)
receiving_chain (KDFChainModel | None)
sending_chain (KDFChainModel | None)
previous_sending_chain_length (int | None)
- receiving_chain: KDFChainModel | None
- sending_chain: KDFChainModel | None