62 static const key 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 } };
63 static const key 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 } };
64 static const key 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 } };
65 static const key 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 } };
66 static const key 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 } };
67 static const key 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 } };
71 inline void zero(
key &z) { memset(&z, 0, 32); }
101 std::tuple<key, key>
skpkGen();
#define v2(p)
Definition aesb.c:118
cryptonote::block b
Definition block.cpp:40
ge_cached ge_dsmp[8]
Definition crypto-ops.h:78
void * memcpy(void *a, const void *b, size_t c)
Definition glibc_compat.cpp:16
const char * res
Definition hmac_keccak.cpp:42
Definition bulletproofs.cc:64
void scalarmultBase(key &aG, const key &a)
Definition rctOps.cpp:350
key curveOrder()
Definition rctOps.h:76
void ecdhEncode(ecdhTuple &unmasked, const key &sharedSec, bool v2)
Definition rctOps.cpp:698
void hash_to_scalar(key &hash, const void *data, const std::size_t l)
Definition rctOps.cpp:565
void addKeys_aGbBcC(key &aGbBcC, const key &a, const key &b, const ge_dsmp B, const key &c, const ge_dsmp C)
Definition rctOps.cpp:517
void cn_fast_hash(key &hash, const void *data, const std::size_t l)
Definition rctOps.cpp:561
bool isInMainSubgroup(const key &A)
Definition rctOps.cpp:424
void hash_to_p3(ge_p3 &hash8_p3, const key &k)
Definition rctOps.cpp:654
key zeroCommit(xmr_amount amount)
Definition rctOps.cpp:322
std::vector< key > keyV
Definition rctTypes.h:89
std::vector< keyV > keyM
Definition rctTypes.h:90
static const key EIGHT
Definition rctOps.h:66
key scalarmultH(const key &a)
Definition rctOps.cpp:389
key skGen()
Definition rctOps.cpp:258
void subKeys(key &AB, const key &A, const key &B)
Definition rctOps.cpp:534
static const key L
Definition rctOps.h:64
static const key Z
Definition rctOps.h:62
key key64[64]
Definition rctTypes.h:153
bool toPointCheckOrder(ge_p3 *P, const unsigned char *data)
Definition rctOps.cpp:241
tuple< key, key > skpkGen()
Definition rctOps.cpp:290
static const key INV_EIGHT
Definition rctOps.h:67
void scalarmultKey(key &aP, const key &P, const key &a)
Definition rctOps.cpp:368
static const key I
Definition rctOps.h:63
void addKeys1(key &aGB, const key &a, const key &B)
Definition rctOps.cpp:471
std::vector< ctkey > ctkeyV
Definition rctTypes.h:109
key commit(xmr_amount amount, const key &mask)
Definition rctOps.cpp:336
keyV skvGen(size_t rows)
Definition rctOps.cpp:266
key cn_fast_hash128(const void *in)
Definition rctOps.cpp:594
void addKeys(key &AB, const key &A, const key &B)
Definition rctOps.cpp:432
void 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)
Definition rctOps.cpp:526
key scalarmult8(const key &P)
Definition rctOps.cpp:398
key zero()
Definition rctOps.h:70
void ecdhDecode(ecdhTuple &masked, const key &sharedSec, bool v2)
Definition rctOps.cpp:713
void addKeys2(key &aGbB, const key &a, const key &b, const key &B)
Definition rctOps.cpp:478
uint64_t xmr_amount
Definition rctTypes.h:151
static const key G
Definition rctOps.h:65
key pkGen()
Definition rctOps.cpp:277
void copy(key &AA, const key &A)
Definition rctOps.h:79
tuple< ctkey, ctkey > ctskpkGen(xmr_amount amount)
Definition rctOps.cpp:302
void precomp(ge_dsmp rv, const key &B)
Definition rctOps.cpp:488
key hash_to_scalar128(const void *in)
Definition rctOps.cpp:600
void genC(key &C, const key &a, xmr_amount amount)
Definition rctOps.cpp:297
void addKeys3(key &aAbB, const key &a, const key &A, const key &b, const ge_dsmp B)
Definition rctOps.cpp:497
keyM keyMInit(size_t rows, size_t cols)
Definition rctOps.cpp:227
key genCommitmentMask(const key &sk)
Definition rctOps.cpp:688
bool equalKeys(const key &a, const key &b)
Definition rctOps.cpp:548
void sumKeys(key &Csum, const keyV &Cis)
Definition rctOps.cpp:664
key identity()
Definition rctOps.h:73
xmr_amount randXmrAmount(xmr_amount upperlimit)
Definition rctOps.cpp:343
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1124
Definition crypto-ops.h:45
Definition rctTypes.h:140
std::string data
Definition base58.cpp:37