This commit is contained in:
swrup 2025-12-15 20:15:42 +01:00
parent b2b72df6f6
commit 4ed16badc5
5 changed files with 56 additions and 39 deletions

View file

@ -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

21
src/eddsa.ml Normal file
View file

@ -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

16
src/eddsa.mli Normal file
View file

@ -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

View file

@ -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

View file

@ -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