Monero
Loading...
Searching...
No Matches
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

namespace  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, keyrct::skpkGen ()
tuple< ctkey, ctkeyrct::ctskpkGen (xmr_amount amount)
void rct::genC (key &C, const key &a, xmr_amount amount)
tuple< ctkey, ctkeyrct::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)
key rct::scalarmult8 (const key &P)
void rct::scalarmult8 (ge_p3 &res, 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::addKeys_aGbBcC (key &aGbBcC, const key &a, const key &b, const ge_dsmp B, const key &c, const ge_dsmp C)
void rct::addKeys_aAbBcC (key &aAbBcC, const key &a, const ge_dsmp A, const key &b, const ge_dsmp B, const key &c, const ge_dsmp C)
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)
void rct::hash_to_p3 (ge_p3 &hash8_p3, const key &k)
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