|
| static rct::key | rct::vector_exponent (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::keyV | rct::vector_powers (const rct::key &x, size_t n) |
| |
| static rct::keyV | rct::vector_dup (const rct::key &x, size_t n) |
| |
| static rct::key | rct::inner_product (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::key | rct::multiexp (const std::vector< MultiexpData > &data, bool HiGi) |
| |
| static bool | rct::is_reduced (const rct::key &scalar) |
| |
| static void | rct::addKeys_acc_p3 (ge_p3 *acc_p3, const rct::key &a, const rct::key &point) |
| |
| static void | rct::add_acc_p3 (ge_p3 *acc_p3, const rct::key &point) |
| |
| static void | rct::sub_acc_p3 (ge_p3 *acc_p3, const rct::key &point) |
| |
| static rct::key | rct::scalarmultKey (const ge_p3 &P, const rct::key &a) |
| |
| static rct::key | rct::get_exponent (const rct::key &base, size_t idx) |
| |
| static void | rct::init_exponents () |
| |
| static rct::key | rct::vector_exponent_custom (const rct::keyV &A, const rct::keyV &B, const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::key | rct::vector_power_sum (const rct::key &x, size_t n) |
| |
| static rct::keyV | rct::hadamard (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::keyV | rct::hadamard2 (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::keyV | rct::vector_add (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::keyV | rct::vector_subtract (const rct::keyV &a, const rct::keyV &b) |
| |
| static rct::keyV | rct::vector_scalar (const rct::keyV &a, const rct::key &x) |
| |
| static rct::keyV | rct::vector_scalar2 (const rct::keyV &a, const rct::key &x) |
| |
| static rct::key | rct::vector_sum (const rct::keyV &a) |
| |
| static rct::key | rct::switch_endianness (rct::key k) |
| |
| static rct::key | rct::invert (const rct::key &x) |
| |
| static rct::keyV | rct::slice (const rct::keyV &a, size_t start, size_t stop) |
| |
| static rct::key | rct::hash_cache_mash (rct::key &hash_cache, const rct::key &mash0, const rct::key &mash1) |
| |
| static rct::key | rct::hash_cache_mash (rct::key &hash_cache, const rct::key &mash0, const rct::key &mash1, const rct::key &mash2) |
| |
| static rct::key | rct::hash_cache_mash (rct::key &hash_cache, const rct::key &mash0, const rct::key &mash1, const rct::key &mash2, const rct::key &mash3) |
| |
| Bulletproof | rct::bulletproof_PROVE (const rct::key &sv, const rct::key &gamma) |
| |
| Bulletproof | rct::bulletproof_PROVE (uint64_t v, const rct::key &gamma) |
| |
| Bulletproof | rct::bulletproof_PROVE (const rct::keyV &sv, const rct::keyV &gamma) |
| |
| Bulletproof | rct::bulletproof_PROVE (const std::vector< uint64_t > &v, const rct::keyV &gamma) |
| |
| bool | rct::bulletproof_VERIFY (const std::vector< const Bulletproof *> &proofs) |
| |
| bool | rct::bulletproof_VERIFY (const std::vector< Bulletproof > &proofs) |
| |
| bool | rct::bulletproof_VERIFY (const Bulletproof &proof) |
| |
|
| static constexpr size_t | rct::maxN = 64 |
| |
| static constexpr size_t | rct::maxM = BULLETPROOF_MAX_OUTPUTS |
| |
| static rct::key | rct::Hi [maxN *maxM] |
| |
| static rct::key | rct::Gi [maxN *maxM] |
| |
| static ge_p3 | rct::Hi_p3 [maxN *maxM] |
| |
| static ge_p3 | rct::Gi_p3 [maxN *maxM] |
| |
| static std::shared_ptr< straus_cached_data > | rct::straus_HiGi_cache |
| |
| static std::shared_ptr< pippenger_cached_data > | rct::pippenger_HiGi_cache |
| |
| static const rct::key | rct::TWO = { {0x02, 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 rct::key | rct::MINUS_ONE = { { 0xec, 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 rct::key | rct::MINUS_INV_EIGHT = { { 0x74, 0xa4, 0x19, 0x7a, 0xf0, 0x7d, 0x0b, 0xf7, 0x05, 0xc2, 0xda, 0x25, 0x2b, 0x5c, 0x0b, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a } } |
| |
| static const rct::keyV | rct::oneN = vector_dup(rct::identity(), maxN) |
| |
| static const rct::keyV | rct::twoN = vector_powers(TWO, maxN) |
| |
| static const rct::key | rct::ip12 = inner_product(oneN, twoN) |
| |
| static boost::mutex | rct::init_mutex |
| |