nada_dsl.operations

Class definitions corresponding to Nada operations.

class BinaryOperation(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: object

Superclass of all the binary operations.

store_in_ast(ty: object)[source]

Store object in AST

class UnaryOperation(inner: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: object

Superclass of all the unary operations.

store_in_ast(ty: object)[source]

Store object in AST.

class Addition(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Addition operation

class Subtraction(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Subtraction operation.

class Multiplication(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Multiplication operation

class Division(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Division operation

class Modulo(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Modulo operation

class Power(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Power operation

class RightShift(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Right shift (>>) operation.

class LeftShift(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Left shift (<<)operation.

class LessThan(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Less than (<) operation

class GreaterThan(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Greater than (>) operation.

class LessOrEqualThan(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Less or equal (<=) operation.

class GreaterOrEqualThan(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Greater or equal (>=) operation.

class Equals(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Equals (==) operation

class NotEquals(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Not equals (!=) operation.

class PublicOutputEquality(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Public output equality operation.

class BooleanAnd(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Boolean AND (&) operation.

class BooleanOr(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Boolean OR (|) operation.

class BooleanXor(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Boolean XOR (^) operation.

class Random(source_ref)[source]

Bases: object

Random operation.

source_ref: SourceRef
store_in_ast(ty)[source]

Store object in AST.

class IfElse(this: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, arg_0: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, arg_1: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: object

cond.if_else(left, right)

this: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature
arg_0: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature
arg_1: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature
source_ref: SourceRef
store_in_ast(ty)[source]

Store object in AST.

__eq__(other)

Return self==value.

class Reveal(this: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: UnaryOperation

Reveal (i.e. make public) operation.

class TruncPr(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Probabilistic Truncation operation.

class Not(this: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: UnaryOperation

Not (!) Operation

class EcdsaSign(left: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, right: Integer | UnsignedInteger | Boolean | PublicInteger | PublicUnsignedInteger | PublicBoolean | SecretInteger | SecretUnsignedInteger | SecretBoolean | Array | Vector | Tuple | NTuple | Object | EcdsaPrivateKey | EcdsaDigestMessage | EcdsaSignature, source_ref: SourceRef)[source]

Bases: BinaryOperation

Ecdsa signing operation.