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
- One or more equations did not get rendered due to their size.
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
- One or more equations did not get rendered due to their size.
Instances For
Advantage