This commit is contained in:
parent
b2b72df6f6
commit
4ed16badc5
5 changed files with 56 additions and 39 deletions
|
|
@ -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
21
src/eddsa.ml
Normal 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
16
src/eddsa.mli
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue