plebble
|
#include <ec.h>
Classes | |
struct | keys |
Public Types | |
typedef secp256k1_ecdsa_signature | signature |
typedef sha256 | sigmsg_hasher_t |
typedef vector< unsigned char > | sig_t |
Public Member Functions | |
ec () | |
ec (const ec &)=delete | |
ec & | operator= (const ec &)=delete |
~ec () | |
ko | sign (const keys::priv_t &pk, const string &text, sig_t &signature) const |
ko | sign (const keys::priv_t &pk, const vector< unsigned char > &msg, sig_t &signature) const |
ko | sign (const keys::priv_t &pk, const sigmsg_hasher_t::value_type &, sig_t &signature) const |
bool | verify (const keys::pub_t &pk, const string &text, const sig_t &signature_der) const |
bool | verify (const keys::pub_t &pk, const vector< unsigned char > &msg, const sig_t &signature_der) const |
bool | verify (const keys::pub_t &pk, const sigmsg_hasher_t::value_type &msgh, const sig_t &signature_der) const |
bool | verify (const keys::pub_t &pk, const sigmsg_hasher_t::value_type &msgh, const sig_t &signature_der, ostream &err) const |
bool | verify_not_normalized (const keys::pub_t &pk, const string &text, const sig_t &signature_der) const |
bool | verify_not_normalized (const keys::pub_t &pk, const vector< unsigned char > &msg, const sig_t &signature_der) const |
bool | verify_not_normalized (const keys::pub_t &pk, const sigmsg_hasher_t::value_type &, const sig_t &signature_der) const |
ko | generate_shared_key (unsigned char *, size_t, const keys::priv_t &, const keys::pub_t &) |
byte[] | getPublicKey (byte[] priv) |
KeyPair | getKeyPair () |
byte[] | generate_shared_key (byte[] priv, byte[] pub, int length) |
String | to_b58 (byte[] k) |
bool | verify (byte[] pub, String text, String signature_der_b58) |
byte[] | sign (byte[] priv, String message) |
String | sign_encode (byte[] priv, String message) |
ec (String curve_name, String algorithm, String signature_algorithm) throws GeneralSecurityException | |
BigInteger | generate_private_int () |
BigInteger | get_private_int (PrivateKey k0) |
PrivateKey | get_private_key (BigInteger k) |
KeyPair | generate_keypair () |
KeyPair | generate_keypair (PrivateKey k) |
KeyPair | get_keypair (BigInteger priv) |
byte[] | generate_shared_key (PrivateKey priv, PublicKey pub, int length) |
byte[] | to_vector (PublicKey pub) |
byte[] | to_vector (PrivateKey priv) |
String | to_b58 (PublicKey k) |
String | to_b58 (PrivateKey k) |
PrivateKey | get_private_key (byte[] privateKey) |
PrivateKey | get_private_key (byte[] buffer, int offset) |
PublicKey | get_public_key (byte[] buffer, int offset) |
ECPoint | multiply (ECPoint point, BigInteger d) |
PublicKey | get_public_key (BigInteger priv) |
PublicKey | get_public_key (PrivateKey priv) |
PublicKey | get_public_key (ECPoint point) |
PublicKey | get_public_key (byte[] public_key) |
boolean | verify (PublicKey pub, sha256.hash_t msgh, byte[] signature_der) |
byte[] | sign (PrivateKey priv, sha256.hash_t msgh) |
Static Public Member Functions | |
static constexpr uint32_t | bit_size () |
static vector< unsigned char > | from_b58 (const string &hex) |
Public Attributes | |
secp256k1_context * | ctx |
Static Public Attributes | |
static ec | instance |
Static Package Functions | |
[static initializer] | |
Package Attributes | |
linux_secure_random | secure_random |
KeyFactory | factory |
ECParameterSpec | spec |
ECDomainParameters | curve |
KeyPairGenerator | generator |
Signature | dsa |
Properties | |
static ec | Instance [get] |
Private Member Functions | |
ec () | |
BigInteger | get_private_int (KeyPair keypair) |
ECPoint | get_point (byte[] pub) |
Static Private Attributes | |
static readonly ec | _instance = new ec() |
typedef vector<unsigned char> us::gov::crypto::ec::sig_t |
typedef secp256k1_ecdsa_signature us::gov::crypto::ec::signature |
us::gov::crypto::ec::ec | ( | ) |
|
delete |
us::gov::crypto::ec::~ec | ( | ) |
|
inlineprivate |
|
inline |
|
inlinestaticpackage |
|
inlinestaticconstexpr |
|
static |
|
inline |
References generator.
Referenced by us::gov::io::cfg1.cfg1(), main.create_instance_k(), main.create_instance_p(), generate_private_int(), get_keypair(), us::gov::io::cfg1.load(), us.gov.crypto.test.symmetric_encryption.main(), us::gov::crypto::symmetric_encryption.test(), us.gov.crypto.test.symmetric_encryption.test_decrypt_multiple(), us.gov.crypto.test.symmetric_encryption.test_decrypt_nulls(), us.gov.crypto.test.symmetric_encryption.test_encrypt_decrypt(), us.gov.crypto.test.symmetric_encryption.test_encrypt_multiple(), and us.gov.crypto.test.ec.test_shared_secret().
|
inline |
|
inline |
References generate_keypair(), and get_private_int().
Referenced by us.gov.crypto.test.ec.test_key_conversion(), and us::gov::io::cfg1.write_k().
|
inline |
|
inline |
References us::gov::crypto::sha256.hash(), and multiply().
ko us::gov::crypto::ec::generate_shared_key | ( | unsigned char * | , |
size_t | , | ||
const keys::priv_t & | , | ||
const keys::pub_t & | |||
) |
Referenced by us::gov::crypto::symmetric_encryption::init(), us.gov.crypto.test.ec::test_shared_secret(), and us.gov.crypto.test.ec::test_shared_secret_raw_keys().
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
Referenced by generate_private_int(), get_private_int(), get_public_key(), and us.gov.crypto.test.ec.test_key_conversion().
|
inline |
Referenced by get_keypair(), get_private_key(), us::gov::io::cfg1.load_sk(), us::gov::io::shell_args.next_priv(), us::gov::socket::datagram.parse_k(), us::gov::socket::datagram.parse_kph(), us::gov::socket::datagram.parse_sk(), us::gov::socket::datagram.parse_u2u2u2k(), us::gov::socket::datagram.parse_vk(), us::gov::socket::datagram.parse_vkp(), us::gov::socket::datagram.parse_vpk(), us.gov.crypto.test.ec.test_key_conversion(), and us.gov.crypto.test.ec.test_shared_secret_raw_keys().
|
inline |
|
inline |
|
inline |
|
inline |
References get_point().
Referenced by generate_keypair(), get_public_key(), us::gov::io::shell_args.next_pub(), us::gov::socket::datagram.parse_Hpv(), us::gov::socket::datagram.parse_kph(), us::gov::socket::datagram.parse_p(), us::gov::socket::datagram.parse_ph(), us::gov::socket::datagram.parse_pss(), us::gov::socket::datagram.parse_pv(), us::gov::socket::datagram.parse_vkp(), us::gov::socket::datagram.parse_vpk(), us::gov::socket::datagram.parse_vpv(), and us.gov.crypto.test.ec.test_shared_secret_raw_keys().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References spec.
Referenced by generate_shared_key(), and get_public_key().
|
inline |
ko us::gov::crypto::ec::sign | ( | const keys::priv_t & | pk, |
const sigmsg_hasher_t::value_type & | , | ||
sig_t & | signature | ||
) | const |
ko us::gov::crypto::ec::sign | ( | const keys::priv_t & | pk, |
const string & | text, | ||
sig_t & | signature | ||
) | const |
Referenced by us::gov::id::peer_t::process_peer_challenge(), us::gov::id::peer_t::process_request(), and sign_encode().
ko us::gov::crypto::ec::sign | ( | const keys::priv_t & | pk, |
const vector< unsigned char > & | msg, | ||
sig_t & | signature | ||
) | const |
|
inline |
References dsa.
|
inline |
References us.gov.crypto.base58.encode(), and sign().
Referenced by us::gov::id::peer_t.process_peer_challenge(), and us::gov::id::peer_t.process_request().
|
inline |
References us.gov.crypto.base58.encode().
Referenced by us::gov::id::peer_t.process_peer_challenge(), us::gov::id::peer_t.process_request(), us.wallet.cli.hmi.run_offline(), and us.wallet.api_stream_parseable.write().
|
inline |
References us.gov.crypto.base58.encode(), and to_vector().
|
inline |
References us.gov.crypto.base58.encode(), and to_vector().
|
inline |
|
inline |
Referenced by us::gov::socket::datagram.datagram(), and to_b58().
|
inline |
bool us::gov::crypto::ec::verify | ( | const keys::pub_t & | pk, |
const sigmsg_hasher_t::value_type & | msgh, | ||
const sig_t & | signature_der | ||
) | const |
bool us::gov::crypto::ec::verify | ( | const keys::pub_t & | pk, |
const sigmsg_hasher_t::value_type & | msgh, | ||
const sig_t & | signature_der, | ||
ostream & | err | ||
) | const |
bool us::gov::crypto::ec::verify | ( | const keys::pub_t & | pk, |
const string & | text, | ||
const sig_t & | signature_der | ||
) | const |
Referenced by us::gov::id::peer_t::process_challenge_response(), and us::gov::id::peer_t::process_peer_challenge().
bool us::gov::crypto::ec::verify | ( | const keys::pub_t & | pk, |
const vector< unsigned char > & | msg, | ||
const sig_t & | signature_der | ||
) | const |
|
inline |
References dsa.
bool us::gov::crypto::ec::verify_not_normalized | ( | const keys::pub_t & | pk, |
const sigmsg_hasher_t::value_type & | , | ||
const sig_t & | signature_der | ||
) | const |
bool us::gov::crypto::ec::verify_not_normalized | ( | const keys::pub_t & | pk, |
const string & | text, | ||
const sig_t & | signature_der | ||
) | const |
bool us::gov::crypto::ec::verify_not_normalized | ( | const keys::pub_t & | pk, |
const vector< unsigned char > & | msg, | ||
const sig_t & | signature_der | ||
) | const |
secp256k1_context* us::gov::crypto::ec::ctx |
|
package |
Referenced by ec().
|
package |
Referenced by ec(), get_private_key(), and get_public_key().
|
package |
Referenced by ec(), and generate_keypair().
|
static |
Referenced by [static initializer](), us::gov::io::cfg1::cfg1(), us::gov::crypto::ec::keys::pub_t::compute_hash(), main::create_instance_k(), main::create_instance_p(), us::gov::socket::datagram::datagram(), us::gov::crypto::symmetric_encryption::init(), us::gov::io::cfg1::load(), us::gov::io::cfg1::load_sk(), us.gov.crypto.test.symmetric_encryption::main(), us::gov::io::shell_args::next_priv(), us::gov::io::shell_args::next_pub(), us::gov::socket::datagram::parse_Hpv(), us::gov::socket::datagram::parse_k(), us::gov::socket::datagram::parse_kph(), us::gov::socket::datagram::parse_p(), us::gov::socket::datagram::parse_ph(), us::gov::socket::datagram::parse_pss(), us::gov::socket::datagram::parse_pv(), us::gov::socket::datagram::parse_sk(), us::gov::socket::datagram::parse_u2u2u2k(), us::gov::socket::datagram::parse_vk(), us::gov::socket::datagram::parse_vkp(), us::gov::socket::datagram::parse_vpk(), us::gov::socket::datagram::parse_vpv(), us::gov::id::peer_t::process_challenge_response(), us::gov::id::peer_t::process_peer_challenge(), us::gov::id::peer_t::process_request(), us::gov::crypto::ec::keys::pub_t::read_ser(), us.wallet.cli.hmi::run_offline(), us::gov::crypto::symmetric_encryption::test(), us.gov.crypto.test.symmetric_encryption::test_decrypt_multiple(), us.gov.crypto.test.symmetric_encryption::test_decrypt_nulls(), us.gov.crypto.test.symmetric_encryption::test_encrypt_decrypt(), us.gov.crypto.test.symmetric_encryption::test_encrypt_multiple(), us.gov.crypto.test.ec::test_key_conversion(), us.gov.crypto.test.ec::test_shared_secret(), us.gov.crypto.test.ec::test_shared_secret_raw_keys(), us::gov::crypto::ec::keys::pub_t::to_vector(), us.wallet.api_stream_parseable::write(), and us::gov::io::cfg1::write_k().
|
package |
Referenced by ec().
|
package |
Referenced by ec(), get_point(), get_private_key(), get_public_key(), and multiply().
|
staticget |