@spec compute_exp_log_tables() :: {%{required(integer()) => integer()}, %{required(integer()) => integer()}}
@spec create_digest(binary(), binary()) :: binary()
@spec interpolate([Slip39.Share.RawShare], integer()) :: binary()
@spec random_identifier() :: non_neg_integer()
@spec split_ems!(integer(), list(), binary(), any(), any()) :: list()
@spec split_secret!(integer(), integer(), binary()) :: [ %Slip39.Share.RawShare{data: term(), x: term()} ]