From 821d9d8ba36be74e8d113bf829cae5c43e5dc53e Mon Sep 17 00:00:00 2001 From: swrup Date: Mon, 15 Dec 2025 17:37:17 +0100 Subject: [PATCH] --- src/crypto.ml | 5 +++++ src/eddsa_key.ml | 20 ++++++++++++++++++++ src/eddsa_key.mli | 16 ++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/eddsa_key.ml create mode 100644 src/eddsa_key.mli diff --git a/src/crypto.ml b/src/crypto.ml index 6abf3849..71c2fa37 100644 --- a/src/crypto.ml +++ b/src/crypto.ml @@ -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 diff --git a/src/eddsa_key.ml b/src/eddsa_key.ml new file mode 100644 index 00000000..83716d56 --- /dev/null +++ b/src/eddsa_key.ml @@ -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 diff --git a/src/eddsa_key.mli b/src/eddsa_key.mli new file mode 100644 index 00000000..1fe5a023 --- /dev/null +++ b/src/eddsa_key.mli @@ -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