Current section
Files
Jump to
Current section
Files
src/tc_secret_key.erl
-module(tc_secret_key).
-export([
%% SecretKey API
random/0,
from_fr/1,
public_key/1,
reveal/1,
sign/2,
decrypt/2
]).
-type sk() :: reference().
-export_type([sk/0]).
-spec random() -> sk().
random() ->
erlang_tc:sk_random().
-spec from_fr(Fr :: tc_fr:fr()) -> sk().
from_fr(Fr) ->
erlang_tc:sk_from_fr(Fr).
-spec public_key(SK :: sk()) -> tc_pubkey:pk().
public_key(SK) ->
erlang_tc:sk_public_key(SK).
-spec reveal(SK :: sk()) -> string().
reveal(SK) ->
erlang_tc:sk_reveal(SK).
-spec sign(SK :: sk(), Msg :: binary()) -> tc_signature:sig().
sign(SK, Msg) ->
erlang_tc:sk_sign(SK, Msg).
-spec decrypt(SK :: sk(), Cipher :: tc_ciphertext:ciphertext()) -> binary().
decrypt(SK, Cipher) ->
erlang_tc:sk_decrypt(SK, Cipher).