From 4ed16badc5ac12c200764345fa8ddc8282aa7565 Mon Sep 17 00:00:00 2001 From: swrup Date: Mon, 15 Dec 2025 20:15:42 +0100 Subject: [PATCH] --- src/bin_sig.ml | 22 +++++++++++++++++++--- src/eddsa.ml | 21 +++++++++++++++++++++ src/eddsa.mli | 16 ++++++++++++++++ src/eddsa_key.ml | 20 -------------------- src/eddsa_key.mli | 16 ---------------- 5 files changed, 56 insertions(+), 39 deletions(-) create mode 100644 src/eddsa.ml create mode 100644 src/eddsa.mli delete mode 100644 src/eddsa_key.ml delete mode 100644 src/eddsa_key.mli diff --git a/src/bin_sig.ml b/src/bin_sig.ml index 1c95cdcc..72082c56 100644 --- a/src/bin_sig.ml +++ b/src/bin_sig.ml @@ -92,11 +92,10 @@ end = struct type r = R.r type t = EddsaSignature.t - let bin = R.bin - let sign ~key r = EddsaSignature.sign ~key (Bin.to_string bin r) + let sign ~key r = EddsaSignature.sign ~key (Bin.to_string R.bin r) let verify ~key t r = - let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string bin r) in + let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string R.bin r) in match b with | false -> Error "signature verification failure" | true -> Ok () @@ -105,6 +104,23 @@ end = struct let caqti : EddsaSignature.t Caqti_type.t = EddsaSignature.caqti end +module MK'' (R : sig + type k + type r + + (*val bin : r Bin.t*) +end) : sig + type r = R.r + type t = (R.k, r) Eddsa.sig_ + + val caqti : t Caqti_type.t +end = struct + type r = R.r + type t = (R.k, r) Eddsa.sig_ + + let caqti = Eddsa.sig_caqti +end + module DenominationKeyAnnouncement = struct module R = struct (* TODO taler_signatures purpose diff --git a/src/eddsa.ml b/src/eddsa.ml new file mode 100644 index 00000000..1920dbfa --- /dev/null +++ b/src/eddsa.ml @@ -0,0 +1,21 @@ +open Crypto + +type sm +type sk +type master +type 'k priv = EddsaPrivateKey.t +type 'k pub = EddsaPublicKey.t + +type 'k key = { + priv: 'k priv; + pub: 'k pub; +} + +type ('k, 'r) sig_ = EddsaSignature.t + +let generate () = + let priv, pub = Mirage_crypto_ec.Ed25519.generate () in + { priv; pub } + +let pub_caqti = EddsaPublicKey.caqti +let sig_caqti = EddsaSignature.caqti diff --git a/src/eddsa.mli b/src/eddsa.mli new file mode 100644 index 00000000..b2eddda7 --- /dev/null +++ b/src/eddsa.mli @@ -0,0 +1,16 @@ +type sm +type sk +type master +type 'k priv +type 'k pub + +type 'k key = { + priv: 'k priv; + pub: 'k pub; +} + +type ('k, 'r) sig_ + +val generate : unit -> 'k key +val pub_caqti : 'k pub Caqti_type.t +val sig_caqti : ('k, 'r) sig_ Caqti_type.t diff --git a/src/eddsa_key.ml b/src/eddsa_key.ml deleted file mode 100644 index 83716d56..00000000 --- a/src/eddsa_key.ml +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 1fe5a023..00000000 --- a/src/eddsa_key.mli +++ /dev/null @@ -1,16 +0,0 @@ -(*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