···38 type secret
39 val secret_of_octets : ?compress:bool -> string ->
40 (secret * string, error) result
041 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
42 secret * string
43 val key_exchange : secret -> string -> (string, error) result
···505 | Ok p -> Ok (p, share ?compress p)
506 | Error _ as e -> e
507000508 let rec generate_private_key ?g () =
509 let candidate = Mirage_crypto_rng.generate ?g Param.byte_length in
510 match S.of_octets candidate with
···952 Ok (s, public s)
953 else
954 Error `Invalid_length
00955956 let is_zero =
957 let zero = String.make key_len '\000' in
···38 type secret
39 val secret_of_octets : ?compress:bool -> string ->
40 (secret * string, error) result
41+ val secret_to_octets : secret -> string
42 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
43 secret * string
44 val key_exchange : secret -> string -> (string, error) result
···506 | Ok p -> Ok (p, share ?compress p)
507 | Error _ as e -> e
508509+ let secret_to_octets s =
510+ S.to_octets s
511+512 let rec generate_private_key ?g () =
513 let candidate = Mirage_crypto_rng.generate ?g Param.byte_length in
514 match S.of_octets candidate with
···956 Ok (s, public s)
957 else
958 Error `Invalid_length
959+960+ let secret_to_octets s = s
961962 let is_zero =
963 let zero = String.make key_len '\000' in
+4
ec/mirage_crypto_ec.mli
···38 the shared part will be compressed. May result in an error if the buffer
39 had an invalid length or was not in bounds. *)
40000041 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
42 secret * string
43 (** [gen_key ~compress ~g ()] generates a private and a public key for
···38 the shared part will be compressed. May result in an error if the buffer
39 had an invalid length or was not in bounds. *)
4041+ val secret_to_octets : secret -> string
42+ (** [secret_to_octets secret] encodes the provided secret into a freshly
43+ allocated buffer. *)
44+45 val gen_key : ?compress:bool -> ?g:Mirage_crypto_rng.g -> unit ->
46 secret * string
47 (** [gen_key ~compress ~g ()] generates a private and a public key for