Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions deku-p/src/core/crypto/tests/alg_intf_tests.ml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ struct
List.for_all (fun kh -> Key_hash.equal kh kh) key_hashes
end

module Signature_data = struct
let secret_keys = List.map (fun id -> id.secret_key) ids
let public_keys = List.map (fun id -> id.public_key) ids
let to_hash = [ "1"; "2"; "3"; "4"; "5" ]

let to_sign =
List.map (fun string -> Deku_crypto.BLAKE2b.hash string) to_hash
end

module Test_secret_key_data = struct
let public_keys () =
let public_keys =
Expand Down Expand Up @@ -96,4 +105,25 @@ struct
~msg:"key hash equality works" ~expected:Tezos_data.equality_key_hashes
~actual:Key_hash_data.equality_key_hashes
end

module Test_signature_data = struct
let helper_string_signatures signature =
let signature = Signature.to_b58 signature in
let string_list =
String.fold_right
(fun char acc -> (Char.code char |> Int.to_string) :: acc)
signature []
in
String.concat "" string_list

let to_sign () =
let to_sign =
List.map Deku_crypto.BLAKE2b.to_raw Signature_data.to_sign
|> String.concat ""
|> String.map (fun char -> (Char.code char |> Int.to_string).[0])
in
Alcotest.(check' string)
~msg:"presigned hashes are equal" ~expected:Tezos_data.to_sign
~actual:to_sign
end
end
40 changes: 40 additions & 0 deletions deku-p/src/core/crypto/tests/data_for_tests/data_gen.ml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,21 @@ struct
List.for_all (fun kh -> Public_key_hash.equal kh kh) key_hashes
end

module Sig = struct
let secret_keys = List.map (fun id -> id.secret_key) ids
let public_keys = List.map (fun id -> id.public_key) ids

let byte_data =
List.map
(fun string -> String.to_bytes string)
[ "1"; "2"; "3"; "4"; "5" ]

let to_sign =
List.map
(fun string -> Blake2B.hash_bytes string |> Blake2B.to_bytes)
(List.map (fun bytes -> [ bytes ]) byte_data)
end

module Print_secret_key = struct
let print_public_keys () =
Format.printf "let public_keys = [\n%!";
Expand All @@ -113,6 +128,8 @@ struct
let print_equality_secret_keys () =
Format.printf "let equality_secret_keys = %b\n%!"
Skt_key.equality_secret_keys

(* TODO: encoding *)
end

module Print_key = struct
Expand All @@ -125,6 +142,8 @@ struct

let print_equality_public_keys () =
Format.printf "let equality_public_keys = %b\n%!" Ky.equality_public_keys

(* TODO: encoding *)
end

module Print_key_hash = struct
Expand All @@ -139,5 +158,26 @@ struct

let print_equality_key_hash () =
Format.printf "let equality_key_hash = %b\n%!" Ky_hash.equality_key_hash

(* TODO: encoding *)
end

module Print_signatures = struct
let helper_print_signatures signature =
let signature = to_b58check signature in
let string_list =
String.fold_right
(fun char acc -> (Char.code char |> Int.to_string) :: acc)
signature []
in
String.concat "" string_list

let print_to_sign () =
let to_sign =
List.map Bytes.to_string Sig.to_sign
|> String.concat ""
|> String.map (fun char -> (Char.code char |> Int.to_string).[0])
in
Format.printf "let to_sign = \"%s\"\n%!" to_sign
end
end
1 change: 1 addition & 0 deletions deku-p/src/core/crypto/tests/test_ed25519.ml
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,5 @@ let run () =
test_case "compare" `Quick Test_key_hash_data.compare;
test_case "equality" `Quick Test_key_hash_data.equality;
] );
("Signatures", [ test_case "to_sign" `Quick Test_signature_data.to_sign ]);
]
8 changes: 6 additions & 2 deletions deku-p/src/core/crypto/tests/tezos_test_data.ml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ module type Tezos_data = sig
val public_keys : string list
val compared_secret_keys : string list
val equality_secret_keys : bool
val compared_key_hashes : string list
val equality_public_keys : bool
val equality_key_hashes : bool
val compared_public_keys : string list
val compared_key_hashes : string list
val equality_key_hashes : bool
val to_sign : string
end

module Ed25519_data : Tezos_data = struct
Expand Down Expand Up @@ -50,4 +51,7 @@ module Ed25519_data : Tezos_data = struct
]

let equality_key_hashes = true

let to_sign =
"1221111113822211222227921529112243121122121222115441211112211232817511621326112702119221122192222173718731151233283141117142231111154312111111323622251114129212"
end