Three algorithms/functions for message signing
G() -> (pk, sk)
– generator returns public key (pk
) and secret or private key (sk
)S(sk, x) -> t
– signer returns tagt
(string) for inputx
(string)V(pk, x, t) -> accept|reject
– verifier checks validity of tagt
for given inputx
Correctness property
V(pk, x, S(sk, x)) = accept
– should alway be true
Security property
V(pk, x, t) = accept
– should almost never be true whenx
andt
are chosen by an attacker