hMPC-0.1.0.2: Multiparty Computation in Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

SecTypes

Description

This module collects basic secure (secret-shared) types for hMPC.

Secure number types all use common base classes, which ensures that operators such as +,* are defined by operator overloading.

Synopsis

Documentation

data SecureTypes Source #

A secret-shared object.

An MPC protocol operates on secret-shared objects of type SecureObject. The basic Haskell operators are overloaded instances by SecureTypes classes. An expression like a * b will create a new SecureObject, which will eventually contain the product of a and b. The product is computed asynchronously, using an instance of a specific cryptographic protocol.

Constructors

SecFld

Base class for secure (secret-shared) numbers.

SecInt

Base class for secure (secret-shared) finite field elements.

Literal 

Instances

Instances details
Gather SecureTypes Source # 
Instance details

Defined in Asyncoro

Associated Types

type Result SecureTypes Source #

Num (SIO SecureTypes) Source # 
Instance details

Defined in Runtime

Fractional (SIO SecureTypes) Source # 
Instance details

Defined in Runtime

IfElse (SIO SecureTypes) SecureTypes Source # 
Instance details

Defined in Runtime

Output (SIO SecureTypes) Integer Source # 
Instance details

Defined in Runtime

IfElse [SIO SecureTypes] [SIO SecureTypes] Source # 
Instance details

Defined in Runtime

Input (SIO SecureTypes) [SIO SecureTypes] Source # 
Instance details

Defined in Runtime

Input [SIO SecureTypes] [[SIO SecureTypes]] Source # 
Instance details

Defined in Runtime

Output [SIO SecureTypes] [Integer] Source # 
Instance details

Defined in Runtime

type Result SecureTypes Source # 
Instance details

Defined in Asyncoro

secIntGen :: Int -> SIO (Integer -> SIO SecureTypes) Source #

Secure l-bit integers (SecInt).

secFldGen :: Integer -> Integer -> SIO SecureTypes Source #

Secure finite field (SecFld) of order q = p where p is a prime number