BitShares-Core  6.1.0
BitShares blockchain implementation and command-line interface software
Namespaces | Classes | Typedefs | Functions
fc::ecc Namespace Reference

Namespaces

 detail
 

Classes

class  extended_private_key
 
class  extended_public_key
 
class  private_key
 an elliptic curve private key. More...
 
class  public_key
 contains only the public point of an elliptic curve key. More...
 
struct  range_proof_info
 

Typedefs

typedef fc::sha256 blind_factor_type
 
typedef zero_initialized_array< unsigned char, 33 > commitment_type
 
typedef zero_initialized_array< unsigned char, 33 > public_key_data
 
typedef fc::sha256 private_key_secret
 
typedef zero_initialized_array< unsigned char, 65 > public_key_point_data
 the full non-compressed version of the ECC point More...
 
typedef zero_initialized_array< unsigned char, 72 > signature
 
typedef zero_initialized_array< unsigned char, 65 > compact_signature
 
typedef std::vector< char > range_proof_type
 
typedef zero_initialized_array< unsigned char, 78 > extended_key_data
 

Functions

commitment_type blind (const blind_factor_type &blind, uint64_t value)
 
blind_factor_type blind_sum (const std::vector< blind_factor_type > &blinds, uint32_t non_neg)
 
bool verify_sum (const std::vector< commitment_type > &commits, const std::vector< commitment_type > &neg_commits, int64_t excess)
 
bool verify_range (uint64_t &min_val, uint64_t &max_val, const commitment_type &commit, const range_proof_type &proof)
 
range_proof_type range_proof_sign (uint64_t min_value, const commitment_type &commit, const blind_factor_type &commit_blind, const blind_factor_type &nonce, int8_t base10_exp, uint8_t min_bits, uint64_t actual_value)
 
bool verify_range_proof_rewind (blind_factor_type &blind_out, uint64_t &value_out, string &message_out, const blind_factor_type &nonce, uint64_t &min_val, uint64_t &max_val, commitment_type commit, const range_proof_type &proof)
 
range_proof_info range_get_info (const range_proof_type &proof)
 

Typedef Documentation

◆ blind_factor_type

Definition at line 21 of file elliptic.hpp.

◆ commitment_type

Definition at line 22 of file elliptic.hpp.

◆ compact_signature

Definition at line 27 of file elliptic.hpp.

◆ extended_key_data

Definition at line 29 of file elliptic.hpp.

◆ private_key_secret

Definition at line 24 of file elliptic.hpp.

◆ public_key_data

Definition at line 23 of file elliptic.hpp.

◆ public_key_point_data

the full non-compressed version of the ECC point

Definition at line 25 of file elliptic.hpp.

◆ range_proof_type

typedef std::vector<char> fc::ecc::range_proof_type

Definition at line 28 of file elliptic.hpp.

◆ signature

typedef zero_initialized_array<unsigned char,72> fc::ecc::signature

Definition at line 26 of file elliptic.hpp.

Function Documentation

◆ blind()

commitment_type fc::ecc::blind ( const blind_factor_type blind,
uint64_t  value 
)

Definition at line 208 of file elliptic_secp256k1.cpp.

◆ blind_sum()

blind_factor_type fc::ecc::blind_sum ( const std::vector< blind_factor_type > &  blinds,
uint32_t  non_neg 
)

Definition at line 215 of file elliptic_secp256k1.cpp.

◆ range_get_info()

range_proof_info fc::ecc::range_get_info ( const range_proof_type proof)

Definition at line 291 of file elliptic_secp256k1.cpp.

◆ range_proof_sign()

std::vector< char > fc::ecc::range_proof_sign ( uint64_t  min_value,
const commitment_type commit,
const blind_factor_type commit_blind,
const blind_factor_type nonce,
int8_t  base10_exp,
uint8_t  min_bits,
uint64_t  actual_value 
)

Definition at line 240 of file elliptic_secp256k1.cpp.

◆ verify_range()

bool fc::ecc::verify_range ( uint64_t &  min_val,
uint64_t &  max_val,
const commitment_type commit,
const range_proof_type proof 
)

Definition at line 235 of file elliptic_secp256k1.cpp.

◆ verify_range_proof_rewind()

bool fc::ecc::verify_range_proof_rewind ( blind_factor_type blind_out,
uint64_t &  value_out,
string &  message_out,
const blind_factor_type nonce,
uint64_t &  min_val,
uint64_t &  max_val,
commitment_type  commit,
const range_proof_type proof 
)

Definition at line 264 of file elliptic_secp256k1.cpp.

◆ verify_sum()

bool fc::ecc::verify_sum ( const std::vector< commitment_type > &  commits_in,
const std::vector< commitment_type > &  neg_commits_in,
int64_t  excess 
)

verifies taht commnits + neg_commits + excess == 0

Definition at line 225 of file elliptic_secp256k1.cpp.