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 r = R.r
|
||||||
type t = EddsaSignature.t
|
type t = EddsaSignature.t
|
||||||
|
|
||||||
let bin = R.bin
|
let sign ~key r = EddsaSignature.sign ~key (Bin.to_string R.bin r)
|
||||||
let sign ~key r = EddsaSignature.sign ~key (Bin.to_string bin r)
|
|
||||||
|
|
||||||
let verify ~key t 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
|
match b with
|
||||||
| false -> Error "signature verification failure"
|
| false -> Error "signature verification failure"
|
||||||
| true -> Ok ()
|
| true -> Ok ()
|
||||||
|
|
@ -105,6 +104,23 @@ end = struct
|
||||||
let caqti : EddsaSignature.t Caqti_type.t = EddsaSignature.caqti
|
let caqti : EddsaSignature.t Caqti_type.t = EddsaSignature.caqti
|
||||||
end
|
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 DenominationKeyAnnouncement = struct
|
||||||
module R = struct
|
module R = struct
|
||||||
(* TODO taler_signatures purpose
|
(* 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