Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- setup :: (MonadRandom m, MonadFail m) => Curve -> m (Integer, Point, Point)
- choose :: (MonadRandom m, MonadFail m) => Curve -> Integer -> Point -> m (Integer, Point, Integer)
- deriveSenderKeys :: Curve -> Integer -> Integer -> Point -> Point -> [Integer]
- deriveReceiverKey :: Curve -> Integer -> Point -> Integer
- mDeriveSenderKeys :: Curve -> Integer -> Integer -> [Point] -> Point -> [[Integer]]
- mDeriveReceiverKeys :: Curve -> [Integer] -> Point -> [Integer]
- mChoose :: (Eq t, Num t, MonadRandom m, MonadFail m) => Curve -> Integer -> Point -> t -> [(Integer, Point, Integer)] -> m [(Integer, Point, Integer)]
Documentation
setup :: (MonadRandom m, MonadFail m) => Curve -> m (Integer, Point, Point) Source #
Setup: Only once, independently of the number of OT messages *m*.
choose :: (MonadRandom m, MonadFail m) => Curve -> Integer -> Point -> m (Integer, Point, Integer) Source #
Choose: In parallel for all OT messages.
deriveSenderKeys :: Curve -> Integer -> Integer -> Point -> Point -> [Integer] Source #
Sender's key derivation from his private key and receiver's response In parallel for all OT messages
deriveReceiverKey :: Curve -> Integer -> Point -> Integer Source #
Receiver's key derivation from his private key and sender's public key In parallel for all OT messages
mDeriveSenderKeys :: Curve -> Integer -> Integer -> [Point] -> Point -> [[Integer]] Source #
Fold together m
calls of deriveSenderKeys