ligo/vendors/ocaml-uecc/test/test_vectors.ml

34 lines
774 B
OCaml
Raw Normal View History

2018-06-14 03:56:11 +04:00
open Uecc
open Vectors
let bigstring_of_hex hex_str =
Cstruct.(to_bigarray (of_hex hex_str))
let msgs =
List.map bigstring_of_hex msgs
let keys =
List.map begin fun (sk, pk) ->
match
sk_of_bytes secp256r1 (bigstring_of_hex sk),
pk_of_bytes secp256r1 (bigstring_of_hex pk) with
| Some (sk, pk), Some pk' when pk = pk' -> sk, pk
| _ -> failwith "invalid key"
end keys
let sigs =
List.map begin fun block ->
List.map begin fun (r, s) ->
let r = bigstring_of_hex r in
let s = bigstring_of_hex s in
Bigstring.concat "" [r; s]
end block
end sigs
let () =
List.iter2 begin fun (_sk, pk) sigs ->
List.iter2 begin fun msg signature ->
assert (verify pk ~msg ~signature)
end msgs sigs
end keys sigs