Electroneum
Namespaces | Macros | Functions | Variables
rctOps.h File Reference
#include <cstddef>
#include <mutex>
#include <vector>
#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)
 
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 (xmr_amount amount)
 
void rct::genC (key &C, const key &a, xmr_amount amount)
 
tuple< ctkey, ctkey > rct::ctskpkGen (const key &bH)
 
key rct::commit (xmr_amount amount, const key &mask)
 
key rct::zeroCommit (xmr_amount amount)
 
xmr_amount rct::randXmrAmount (xmr_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)
 
void rct::addKeys (key &AB, const key &A, const key &B)
 
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::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)
 
void rct::ecdhEncode (ecdhTuple &unmasked, const key &sharedSec)
 
void rct::ecdhDecode (ecdhTuple &masked, const key &sharedSec)
 

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 } }
 

Macro Definition Documentation

◆ DP

#define DP (   x)

◆ RCTOPS_H

#define RCTOPS_H