|
| void | ge_add (ge_p1p1 *, const ge_p3 *, const ge_cached *) |
| void | ge_dsm_precomp (ge_dsmp r, const ge_p3 *s) |
| void | ge_double_scalarmult_base_vartime (ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *) |
| void | ge_triple_scalarmult_base_vartime (ge_p2 *, const unsigned char *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp) |
| void | ge_double_scalarmult_base_vartime_p3 (ge_p3 *, const unsigned char *, const ge_p3 *, const unsigned char *) |
| int | ge_frombytes_vartime (ge_p3 *, const unsigned char *) |
| void | ge_p1p1_to_p2 (ge_p2 *, const ge_p1p1 *) |
| void | ge_p1p1_to_p3 (ge_p3 *, const ge_p1p1 *) |
| void | ge_p2_dbl (ge_p1p1 *, const ge_p2 *) |
| void | ge_p3_to_cached (ge_cached *, const ge_p3 *) |
| void | ge_p3_to_p2 (ge_p2 *, const ge_p3 *) |
| void | ge_p3_tobytes (unsigned char *, const ge_p3 *) |
| void | ge_scalarmult_base (ge_p3 *, const unsigned char *) |
| void | ge_tobytes (unsigned char *, const ge_p2 *) |
| void | sc_reduce (unsigned char *) |
| void | ge_scalarmult (ge_p2 *, const unsigned char *, const ge_p3 *) |
| void | ge_scalarmult_p3 (ge_p3 *, const unsigned char *, const ge_p3 *) |
| void | ge_double_scalarmult_precomp_vartime (ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *, const ge_dsmp) |
| void | ge_triple_scalarmult_precomp_vartime (ge_p2 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp) |
| void | ge_double_scalarmult_precomp_vartime2 (ge_p2 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp) |
| void | ge_double_scalarmult_precomp_vartime2_p3 (ge_p3 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp) |
| void | ge_mul8 (ge_p1p1 *, const ge_p2 *) |
| void | ge_fromfe_frombytes_vartime (ge_p2 *, const unsigned char *) |
| void | sc_0 (unsigned char *) |
| void | sc_reduce32 (unsigned char *) |
| void | sc_add (unsigned char *, const unsigned char *, const unsigned char *) |
| void | sc_sub (unsigned char *, const unsigned char *, const unsigned char *) |
| void | sc_mulsub (unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *) |
| void | sc_mul (unsigned char *, const unsigned char *, const unsigned char *) |
| void | sc_muladd (unsigned char *s, const unsigned char *a, const unsigned char *b, const unsigned char *c) |
| int | sc_check (const unsigned char *) |
| int | sc_isnonzero (const unsigned char *) |
| uint64_t | load_3 (const unsigned char *in) |
| uint64_t | load_4 (const unsigned char *in) |
| void | ge_sub (ge_p1p1 *r, const ge_p3 *p, const ge_cached *q) |
| void | fe_add (fe h, const fe f, const fe g) |
| void | fe_tobytes (unsigned char *, const fe) |
| void | fe_invert (fe out, const fe z) |
| int | ge_p3_is_point_at_infinity_vartime (const ge_p3 *p) |
| void | generate_random_bytes_not_thread_safe (size_t n, void *result) |
| void | add_extra_entropy_not_thread_safe (const void *ptr, size_t bytes) |
| static unsigned char * | operator& (ec_point &point) |
| static const unsigned char * | operator& (const ec_point &point) |
| static unsigned char * | operator& (ec_scalar &scalar) |
| static const unsigned char * | operator& (const ec_scalar &scalar) |
| boost::mutex & | get_random_lock () |
| void | generate_random_bytes_thread_safe (size_t N, uint8_t *bytes) |
| void | add_extra_entropy_thread_safe (const void *ptr, size_t bytes) |
| static bool | less32 (const unsigned char *k0, const unsigned char *k1) |
| void | random32_unbiased (unsigned char *bytes) |
| static void | random_scalar (ec_scalar &res) |
| void | hash_to_scalar (const void *data, size_t length, ec_scalar &res) |
| static void | hash_to_ec (const public_key &key, ge_p3 &res) |
| static POP_WARNINGS size_t | rs_comm_size (size_t pubs_count) |
| | public_key_memsafe (const public_key &original) |
| void | rand (size_t N, uint8_t *bytes) |
| template<typename T> |
| T | rand () |
| template<typename T> |
| std::enable_if< std::is_integral< T >::value, T >::type | rand_range (T range_min, T range_max) |
| template<typename T> |
| std::enable_if< std::is_unsigned< T >::value, T >::type | rand_idx (T sz) |
| secret_key | generate_keys (public_key &pub, secret_key &sec, const secret_key &recovery_key=secret_key(), bool recover=false) |
| bool | check_key (const public_key &key) |
| bool | secret_key_to_public_key (const secret_key &sec, public_key &pub) |
| bool | generate_key_derivation (const public_key &key1, const secret_key &key2, key_derivation &derivation) |
| bool | derive_public_key (const key_derivation &derivation, std::size_t output_index, const public_key &base, public_key &derived_key) |
| void | derivation_to_scalar (const key_derivation &derivation, size_t output_index, ec_scalar &res) |
| void | derive_secret_key (const key_derivation &derivation, std::size_t output_index, const secret_key &base, secret_key &derived_key) |
| bool | derive_subaddress_public_key (const public_key &out_key, const key_derivation &derivation, std::size_t output_index, public_key &result) |
| void | generate_signature (const hash &prefix_hash, const public_key &pub, const secret_key &sec, signature &sig) |
| bool | check_signature (const hash &prefix_hash, const public_key &pub, const signature &sig) |
| void | generate_tx_proof (const hash &prefix_hash, const public_key &R, const public_key &A, const boost::optional< public_key > &B, const public_key &D, const secret_key &r, signature &sig) |
| void | generate_tx_proof_v1 (const hash &prefix_hash, const public_key &R, const public_key &A, const boost::optional< public_key > &B, const public_key &D, const secret_key &r, signature &sig) |
| bool | check_tx_proof (const hash &prefix_hash, const public_key &R, const public_key &A, const boost::optional< public_key > &B, const public_key &D, const signature &sig, const int version) |
| void | generate_key_image (const public_key &pub, const secret_key &sec, key_image &image) |
| void | generate_ring_signature (const hash &prefix_hash, const key_image &image, const public_key *const *pubs, std::size_t pubs_count, const secret_key &sec, std::size_t sec_index, signature *sig) |
| bool | check_ring_signature (const hash &prefix_hash, const key_image &image, const public_key *const *pubs, std::size_t pubs_count, const signature *sig) |
| void | generate_ring_signature (const hash &prefix_hash, const key_image &image, const std::vector< const public_key * > &pubs, const secret_key &sec, std::size_t sec_index, signature *sig) |
| bool | check_ring_signature (const hash &prefix_hash, const key_image &image, const std::vector< const public_key * > &pubs, const signature *sig) |
| void | derive_view_tag (const key_derivation &derivation, std::size_t output_index, view_tag &vt) |
| std::ostream & | operator<< (std::ostream &o, const crypto::public_key &v) |
| std::ostream & | operator<< (std::ostream &o, const secret_key_explicit_print_ref v) |
| std::ostream & | operator<< (std::ostream &o, const crypto::key_derivation &v) |
| std::ostream & | operator<< (std::ostream &o, const crypto::key_image &v) |
| std::ostream & | operator<< (std::ostream &o, const crypto::signature &v) |
| std::ostream & | operator<< (std::ostream &o, const crypto::view_tag &v) |
| bool | operator< (const public_key &p1, const public_key &p2) |
| bool | operator> (const public_key &p1, const public_key &p2) |
| template<class Archive, class T> |
| std::enable_if_t< is_blob_type< T >::type::value, bool > | do_serialize (Archive &ar, T &v) |
| | main function for dispatching serialization for a given pair of archive and value types
|
| template<class Archive, class T> |
| std::enable_if_t< boost::is_integral< T >::value, bool > | do_serialize (Archive &ar, T &v) |
| template<class Archive, class T> |
| auto | do_serialize (Archive &ar, T &v) -> decltype(v.member_do_serialize(ar), true) |
| template<class Archive> |
| bool | do_serialize (Archive &ar, bool &v) |
| template<template< bool > class Archive> |
| bool | do_serialize (Archive< false > &ar, std::string &str) |
| template<template< bool > class Archive> |
| bool | do_serialize (Archive< true > &ar, std::string &str) |
| static uint32_t | rol32 (uint32_t x, int r) |
| static uint64_t | rol64 (uint64_t x, int r) |
| static uint64_t | hi_dword (uint64_t val) |
| static uint64_t | lo_dword (uint64_t val) |
| static uint64_t | mul128 (uint64_t multiplier, uint64_t multiplicand, uint64_t *product_hi) |
| static uint64_t | div_with_reminder (uint64_t dividend, uint32_t divisor, uint32_t *remainder) |
| static uint32_t | div128_32 (uint64_t dividend_hi, uint64_t dividend_lo, uint32_t divisor, uint64_t *quotient_hi, uint64_t *quotient_lo) |
| void | div128_64 (uint64_t dividend_hi, uint64_t dividend_lo, uint64_t divisor, uint64_t *quotient_hi, uint64_t *quotient_lo, uint64_t *remainder_hi, uint64_t *remainder_lo) |
| static void | add64clamp (uint64_t *value, uint64_t add) |
| static void | sub64clamp (uint64_t *value, uint64_t sub) |
| static uint16_t | ident16 (uint16_t x) |
| static uint32_t | ident32 (uint32_t x) |
| static uint64_t | ident64 (uint64_t x) |
| static uint16_t | swap16 (uint16_t x) |
| static uint32_t | swap32 (uint32_t x) |
| static uint64_t | swap64 (uint64_t x) |
| static void | mem_inplace_ident (void *mem UNUSED, size_t n UNUSED) |
| static void | mem_inplace_swap16 (void *mem, size_t n) |
| static void | mem_inplace_swap32 (void *mem, size_t n) |
| static void | mem_inplace_swap64 (void *mem, size_t n) |
| static void | memcpy_ident16 (void *dst, const void *src, size_t n) |
| static void | memcpy_ident32 (void *dst, const void *src, size_t n) |
| static void | memcpy_ident64 (void *dst, const void *src, size_t n) |
| static void | memcpy_swap16 (void *dst, const void *src, size_t n) |
| static void | memcpy_swap32 (void *dst, const void *src, size_t n) |
| static void | memcpy_swap64 (void *dst, const void *src, size_t n) |
| static void * | padd (void *p, size_t i) |
| static const void * | cpadd (const void *p, size_t i) |
| static void | place_length (uint8_t *buffer, size_t bufsize, size_t length) |
| void | hash_permutation (union hash_state *state) |
| void | hash_process (union hash_state *state, const uint8_t *buf, size_t count) |
| void | cn_fast_hash (const void *data, size_t length, char *hash) |
| void | cn_slow_hash (const void *data, size_t length, char *hash, int variant, int prehashed, uint64_t height) |
| void | hash_extra_blake (const void *data, size_t length, char *hash) |
| void | hash_extra_groestl (const void *data, size_t length, char *hash) |
| void | hash_extra_jh (const void *data, size_t length, char *hash) |
| void | hash_extra_skein (const void *data, size_t length, char *hash) |
| void | tree_hash (const char(*hashes)[HASH_SIZE], size_t count, char *root_hash) |
| bool | tree_path (size_t count, size_t idx, uint32_t *path) |
| bool | tree_branch (const char(*hashes)[HASH_SIZE], size_t count, const char *hash, char(*branch)[HASH_SIZE], size_t *depth, uint32_t *path) |
| bool | tree_branch_hash (const char hash[HASH_SIZE], const char(*branch)[HASH_SIZE], size_t depth, uint32_t path, char root[HASH_SIZE]) |
| bool | is_branch_in_tree (const char hash[HASH_SIZE], const char root[HASH_SIZE], const char(*branch)[HASH_SIZE], size_t depth, uint32_t path) |
| void | rx_slow_hash_allocate_state (void) |
| void | rx_slow_hash_free_state (void) |
| uint64_t | rx_seedheight (const uint64_t height) |
| void | rx_seedheights (const uint64_t height, uint64_t *seed_height, uint64_t *next_height) |
| void | rx_set_main_seedhash (const char *seedhash, size_t max_dataset_init_threads) |
| void | rx_slow_hash (const char *seedhash, const void *data, size_t length, char *result_hash) |
| void | rx_set_miner_thread (uint32_t value, size_t max_dataset_init_threads) |
| uint32_t | rx_get_miner_thread (void) |
| void | cn_fast_hash (const void *data, std::size_t length, hash &hash) |
| hash | cn_fast_hash (const void *data, std::size_t length) |
| static constexpr void | cn_variant1_check (const std::size_t length, const int variant) |
| void | cn_slow_hash (const void *data, std::size_t length, hash &hash, int variant=0, uint64_t height=0) |
| void | cn_slow_hash_prehashed (const void *data, std::size_t length, hash &hash, int variant=0, uint64_t height=0) |
| void | tree_hash (const hash *hashes, std::size_t count, hash &root_hash) |
| std::ostream & | operator<< (std::ostream &o, const crypto::hash &v) |
| std::ostream & | operator<< (std::ostream &o, const crypto::hash8 &v) |