yggdrasil- Executable specifications of composable cryptographic protocols.

Safe HaskellNone



A collection of common functionalities, ready for use.



type ROState a b = [(a, b)] Source #

The state of a randomOracle. Consists of previously recorded query/response pairs.

type SigState s msg sig = [(msg, sig, Ref s)] Source #

The state of a signature functionality. Consists of previously recorded signatures, and their corresponding messages and signers.

commonRandomString :: Distribution b -> Functionality s (Maybe b) '['((), b)] Source #

A CRS functionality over a given distribution.

randomOracle :: Eq a => Distribution b -> Functionality s (ROState a b) '['(a, b)] Source #

A random oracle functionality, over a given distribution.

signature :: (Eq msg, Eq sig, ForceSample sig) => WithAdversary' s (SigState s msg sig) '['((msg, Ref s), sig)] '['((msg, Ref s), sig), '((msg, sig, Ref s), Bool)] Source #

A robust signature functionality.