wip phantom type on eddsa_key

This commit is contained in:
swrup 2025-12-15 17:37:17 +01:00
parent f69f393abb
commit b2b72df6f6
3 changed files with 41 additions and 0 deletions

View file

@ -47,6 +47,11 @@ module EddsaPrivateKey = struct
type t = priv
(*
let generate () =
Mirage_crypto_ec.Ed25519.generate ()
*)
let pub_of_priv = pub_of_priv
let to_octets t = priv_to_octets t

20
src/eddsa_key.ml Normal file
View file

@ -0,0 +1,20 @@
open Crypto
type secmod
type signkey
type master
type 'a priv = EddsaPrivateKey.t
type 'a pub = EddsaPublicKey.t
type 'a t = {
priv: 'a priv;
pub: 'a pub;
}
let generate () =
let priv, pub = Mirage_crypto_ec.Ed25519.generate () in
{ priv; pub }
let generate_secmod = generate
let generate_signkey = generate
let generate_master = generate

16
src/eddsa_key.mli Normal file
View file

@ -0,0 +1,16 @@
(*open Crypto*)
type secmod
type signkey
type master
type 'a priv
type 'a pub
type 'a t = {
priv: 'a priv;
pub: 'a pub;
}
val generate_secmod : unit -> secmod t
val generate_signkey : unit -> signkey t
val generate_master : unit -> master t