···3838 type secret
3939 val secret_of_octets : ?compress:bool -> string ->
4040 (secret * string, error) result
4141+ val secret_to_octets : secret -> string
4142 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
4243 secret * string
4344 val key_exchange : secret -> string -> (string, error) result
···505506 | Ok p -> Ok (p, share ?compress p)
506507 | Error _ as e -> e
507508509509+ let secret_to_octets s =
510510+ S.to_octets s
511511+508512 let rec generate_private_key ?g () =
509513 let candidate = Mirage_crypto_rng.generate ?g Param.byte_length in
510514 match S.of_octets candidate with
···952956 Ok (s, public s)
953957 else
954958 Error `Invalid_length
959959+960960+ let secret_to_octets s = s
955961956962 let is_zero =
957963 let zero = String.make key_len '\000' in
+4
ec/mirage_crypto_ec.mli
···3838 the shared part will be compressed. May result in an error if the buffer
3939 had an invalid length or was not in bounds. *)
40404141+ val secret_to_octets : secret -> string
4242+ (** [secret_to_octets secret] encodes the provided secret into a freshly
4343+ allocated buffer. *)
4444+4145 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
4246 secret * string
4347 (** [gen_key ~compress ~g ()] generates a private and a public key for