# VOR

# Functions:

# Function bigModExp(uint256 base, uint256 exponent) internal -> uint256 exponentiation

No description

# Function squareRoot(uint256 x) internal -> uint256

No description

# Function ySquared(uint256 x) internal -> uint256

No description

# Function isOnCurve(uint256[2] p) internal -> bool

No description

# Function fieldHash(bytes b) internal -> uint256 x_

No description

# Function newCandidateSecp256k1Point(bytes b) internal -> uint256[2] p

No description

# Function hashToCurve(uint256[2] pk, uint256 input) internal -> uint256[2] rv

No description

# Function ecmulVerify(uint256[2] multiplicand, uint256 scalar, uint256[2] product) internal -> bool verifies

Based on Vitalik Buterin's idea in ethresear.ch post cited below.

# Parameters:

  • secp256k1: point

  • zero: GF(GROUP_ORDER) scalar

  • secp256k1: expected to be multiplier * multiplicand

# Return Values:

  • verifies true iff product==scalar*multiplicand, with cryptographically high probability / func

# Function projectiveSub(uint256 x1, uint256 z1, uint256 x2, uint256 z2) internal -> uint256 x3, uint256 z3

No description

# Function projectiveMul(uint256 x1, uint256 z1, uint256 x2, uint256 z2) internal -> uint256 x3, uint256 z3

No description

# Function projectiveECAdd(uint256 px, uint256 py, uint256 qx, uint256 qy) internal -> uint256 sx, uint256 sy, uint256 sz

No description

# Function affineECAdd(uint256[2] p1, uint256[2] p2, uint256 invZ) internal -> uint256[2]

No description

# Function verifyLinearCombinationWithGenerator(uint256 c, uint256[2] p, uint256 s, address lcWitness) internal -> bool

No description

# Function linearCombination(uint256 c, uint256[2] p1, uint256[2] cp1Witness, uint256 s, uint256[2] p2, uint256[2] sp2Witness, uint256 zInv) internal -> uint256[2]

No description

# Function scalarFromCurvePoints(uint256[2] hash, uint256[2] pk, uint256[2] gamma, address uWitness, uint256[2] v) internal -> uint256 s

No description

# Function verifyVORProof(uint256[2] pk, uint256[2] gamma, uint256 c, uint256 s, uint256 seed, address uWitness, uint256[2] cGammaWitness, uint256[2] sHashWitness, uint256 zInv) internal

No description

# Function randomValueFromVORProof(bytes proof) internal -> uint256 output

No description