Account creation with ECSDA and El Gamal
System Overview
Step-by-Step Process
BitcoinNode CreateAccount( const ECDSA<private_key> &prvt_key )
{
auto elgamal_pubkey_predefined = GetAddressFromTable();
auto cypher_signature = prvt_key.sign(elgamal_pubkey_predefined);
auto new_derived_key_value = GenerateKDF(cypher_signature);
BitcoinNode proxy_bitcoin_node(new_derived_key_value);
ELGamal<key_pair> new_keys_elgamal(new_derived_key_value);
auto encrypted_signature = new_keys_elgamal.encrypt(cypher_signature);
auto encrypted_kdf = new_keys_elgamal.encrypt(new_derived_key_value);
CRDT.store(encrypted_signature);
CRDT.store(encrypted_kdf);
return proxy_bitcoin_node;
}Security and Privacy Implications
Conclusion
Last updated