Electroneum
Namespaces | Macros | Functions | Variables
rctOps.h File Reference
#include <cstddef>
#include <tuple>
#include "crypto/generic-ops.h"
#include "crypto/random.h"
#include "crypto/keccak.h"
#include "rctCryptoOps.h"
#include "crypto/crypto.h"
#include "rctTypes.h"
Include dependency graph for rctOps.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 rct
 

Macros

#define RCTOPS_H
 
#define DP(x)
 

Functions

key rct::zero ()
 
void rct::zero (key &z)
 
key rct::identity ()
 
void rct::identity (key &Id)
 
key rct::curveOrder ()
 
void rct::curveOrder (key &l)
 
void rct::copy (key &AA, const key &A)
 
key rct::copy (const key &A)
 
keyM rct::keyMInit (size_t rows, size_t cols)
 
bool rct::toPointCheckOrder (ge_p3 *P, const unsigned char *data)
 
key rct::skGen ()
 
void rct::skGen (key &sk)
 
keyV rct::skvGen (size_t rows)
 
key rct::pkGen ()
 
void rct::skpkGen (key &sk, key &pk)
 
tuple< key, key > rct::skpkGen ()
 
tuple< ctkey, ctkey > rct::ctskpkGen (etn_amount amount)
 
void rct::genC (key &C, const key &a, etn_amount amount)
 
tuple< ctkey, ctkey > rct::ctskpkGen (const key &bH)
 
key rct::commit (etn_amount amount, const key &mask)
 
key rct::zeroCommit (etn_amount amount)
 
etn_amount rct::randEtnAmount (etn_amount upperlimit)
 
void rct::scalarmultBase (key &aG, const key &a)
 
key rct::scalarmultBase (const key &a)
 
void rct::scalarmultKey (key &aP, const key &P, const key &a)
 
key rct::scalarmultKey (const key &P, const key &a)
 
key rct::scalarmultH (const key &a)
 
key rct::scalarmult8 (const key &P)
 
bool rct::isInMainSubgroup (const key &A)
 
void rct::addKeys (key &AB, const key &A, const key &B)
 
rct::key rct::addKeys (const key &A, const key &B)
 
rct::key rct::addKeys (const keyV &A)
 
void rct::addKeys1 (key &aGB, const key &a, const key &B)
 
void rct::addKeys2 (key &aGbB, const key &a, const key &b, const key &B)
 
void rct::precomp (ge_dsmp rv, const key &B)
 
void rct::addKeys3 (key &aAbB, const key &a, const key &A, const key &b, const ge_dsmp B)
 
void rct::addKeys3 (key &aAbB, const key &a, const ge_dsmp A, const key &b, const ge_dsmp B)
 
void rct::subKeys (key &AB, const key &A, const key &B)
 
bool rct::equalKeys (const key &a, const key &b)
 
void rct::cn_fast_hash (key &hash, const void *data, const size_t l)
 
void rct::hash_to_scalar (key &hash, const void *data, const size_t l)
 
void rct::cn_fast_hash (key &hash, const key &in)
 
void rct::hash_to_scalar (key &hash, const key &in)
 
key rct::cn_fast_hash (const key &in)
 
key rct::hash_to_scalar (const key &in)
 
key rct::cn_fast_hash128 (const void *in)
 
key rct::hash_to_scalar128 (const void *in)
 
key rct::cn_fast_hash (const ctkeyV &PC)
 
key rct::hash_to_scalar (const ctkeyV &PC)
 
key rct::cn_fast_hash (const keyV &keys)
 
key rct::hash_to_scalar (const keyV &keys)
 
key rct::cn_fast_hash (const key64 keys)
 
key rct::hash_to_scalar (const key64 keys)
 
key rct::hashToPointSimple (const key &hh)
 
key rct::hashToPoint (const key &hh)
 
void rct::hashToPoint (key &pointk, const key &hh)
 
void rct::sumKeys (key &Csum, const key &Cis)
 
key rct::genCommitmentMask (const key &sk)
 
void rct::ecdhEncode (ecdhTuple &unmasked, const key &sharedSec, bool v2)
 
void rct::ecdhDecode (ecdhTuple &masked, const key &sharedSec, bool v2)
 

Variables

static const key rct::Z = { {0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 } }
 
static const key rct::I = { {0x01, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 } }
 
static const key rct::L = { {0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 } }
 
static const key rct::G = { {0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 } }
 
static const key rct::EIGHT = { {0x08, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 , 0x00, 0x00, 0x00,0x00 } }
 
static const key rct::INV_EIGHT = { { 0x79, 0x2f, 0xdc, 0xe2, 0x29, 0xe5, 0x06, 0x61, 0xd0, 0xda, 0x1c, 0x7d, 0xb3, 0x9d, 0xd3, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06 } }
 

Macro Definition Documentation

◆ DP

#define DP (   x)

◆ RCTOPS_H

#define RCTOPS_H