Asymmetric Encryption Schemes. #
This file defines a type AsymmEncAlg spec σ M PK SK C to represent an protocol
for asymmetric encryption using oracles in spec, with message space M,
public/secret keys PK and SK, and ciphertext space C.
Signature algorithm with computations in the monad m,
where M is the space of messages, PK/SK are the spaces of the public/private keys,
and S is the type of the final signature.
- keygen : m (PK × SK)
- sign (pk : PK) (sk : SK) (msg : M) : m S
Instances For
a SignatureAlg is perfectly complete if honest signatures are always verified.
Equations
Instances For
Adversary for testing the unforgeability of a signature scheme.
We only define this if the monad for the protocol is OracleComp spec,
as we need to be able to give the adversary access to a signing oracle.
- main (pk : PK) : OracleComp (spec ++ₒ (M →ₒ S)) (M × S)
Instances For
Unforgeability expiriment for a signature algorithm runs the adversary and checks returns whether or not the adversary successfully forged a signature
Equations
Instances For
Advantage