Module Dirsp_exchange_kbb2017__.Kobeissi_bhargavan_blanchet_intf
type 't record_msg
=
{
valid : bool;
mutable ephemeralKey : 't;
mutable initEphemeralKey : 't;
ciphertext : 't;
mutable iv : 't;
tag : 't;
preKeyId : int;
}
val record_msg_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_msg
val record_msg_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_msg -> Protobuf.Encoder.t -> unit
val record_keypair_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_keypair
val record_keypair_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_keypair -> Protobuf.Encoder.t -> unit
type 't record_them
=
{
mutable signedPreKey : 't;
mutable signedPreKeySignature : 't;
mutable identityKey : 't;
mutable identityDHKey : 't;
mutable myEphemeralKeyP0 : 't record_keypair;
mutable myEphemeralKeyP1 : 't record_keypair;
mutable ephemeralKey : 't;
mutable myPreKey : 't record_keypair;
mutable preKey : 't;
preKeyId : int;
recvKeys : 't array;
sendKeys : 't array;
mutable shared : 't;
established : bool;
}
val record_them_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_them
val record_them_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_them -> Protobuf.Encoder.t -> unit
type 't record_sendoutput
=
{
mutable them : 't record_them;
mutable output : 't record_msg;
}
val record_sendoutput_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_sendoutput
val record_sendoutput_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_sendoutput -> Protobuf.Encoder.t -> unit
type 't record_recvoutput
=
{
mutable them : 't record_them;
mutable output : 't record_msg;
plaintext : 't;
}
val record_recvoutput_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_recvoutput
val record_recvoutput_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_recvoutput -> Protobuf.Encoder.t -> unit
val record_ratchetsendkeys_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_ratchetsendkeys
val record_ratchetsendkeys_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_ratchetsendkeys -> Protobuf.Encoder.t -> unit
val record_ratchetrecvkeys_from_protobuf : (Protobuf.Decoder.t -> 'a) -> Protobuf.Decoder.t -> 'a record_ratchetrecvkeys
val record_ratchetrecvkeys_to_protobuf : ('a -> Protobuf.Encoder.t -> unit) -> 'a record_ratchetrecvkeys -> Protobuf.Encoder.t -> unit
module type PROTOCOL = sig ... end
The KBB2017 protocol
module type PROTOCOLFUNCTOR = functor (ProScript : Dirsp_proscript.S) -> PROTOCOL with type t = ProScript.t
module type PROTOCOLMODULE = sig ... end