Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalidMAC occurs when Message Authentication Check (MAC) fails // during decryption. This happens because of either invalid private key or // corrupt ciphertext. ErrInvalidMAC = errors.New("invalid mac hash") )
Functions ¶
func Decrypt ¶
func Decrypt(priv *btcec.PrivateKey, in []byte) ([]byte, error)
Decrypt decrypts data that was encrypted using the Encrypt function.
func Encrypt ¶
Encrypt encrypts data for the target public key using AES-256-CBC. It also generates a private key (the pubkey of which is also in the output). The only supported curve is secp256k1. The `structure' that it encodes everything into is:
struct {
// Initialization Vector used for AES-256-CBC
IV [16]byte
// Public Key: curve(2) + len_of_pubkeyX(2) + pubkeyX +
// len_of_pubkeyY(2) + pubkeyY (curve = 714)
PublicKey [70]byte
// Cipher text
Data []byte
// HMAC-SHA-256 Message Authentication Code
HMAC [32]byte
}
The primary aim is to ensure byte compatibility with Pyelliptic. Also, refer to section 5.8.1 of ANSI X9.63 for rationale on this format.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.