Packages

Erlang bindings for threshold cryptography over BLS12-381 keys

Current section

Files

Jump to
erlang_tc src tc_pubkey.erl
Raw

src/tc_pubkey.erl

-module(tc_pubkey).
-export([
%% public key API
reveal/1,
verify/3,
encrypt/2,
serialize/1,
deserialize/1,
cmp/2
]).
-type pk() :: reference().
-export_type([pk/0]).
-spec reveal(PK :: pk()) -> string().
reveal(PK) ->
erlang_tc:pk_reveal(PK).
-spec verify(PK :: pk(), Sig :: tc_signature:sig(), Msg :: binary()) -> boolean().
verify(PK, Sig, Msg) ->
erlang_tc:pk_verify(PK, Sig, Msg).
-spec encrypt(PK :: pk(), Msg :: binary()) -> tc_ciphertext:ciphertext().
encrypt(PK, Msg) ->
erlang_tc:pk_encrypt(PK, Msg).
-spec serialize(PK :: pk()) -> binary().
serialize(PK) ->
erlang_tc:pk_serialize(PK).
-spec deserialize(Bin :: binary()) -> pk().
deserialize(PK) ->
erlang_tc:pk_deserialize(PK).
-spec cmp(PK1 :: pk(), PK2 :: pk()) -> boolean().
cmp(PK1, PK2) ->
erlang_tc:pk_cmp(PK1, PK2).