Versions in this module Expand all Collapse all v0 v0.6.5 Oct 7, 2019 Changes in this version + var Aes128Sha256Params = &Params + var Aes256Sha256Params = &Params + var Aes256Sha384Params = &Params + var Aes256Sha512Params = &Params + var DefaultCurve = ethcrypto.S256() + var DefaultParams = ParamsFromCurve(DefaultCurve) + var ErrImport = fmt.Errorf("ecies: failed to import key") + var ErrInvalidCurve = fmt.Errorf("ecies: invalid elliptic curve") + var ErrInvalidMessage = fmt.Errorf("ecies: invalid message") + var ErrInvalidParams = fmt.Errorf("ecies: invalid ECIES parameters") + var ErrInvalidPublicKey = fmt.Errorf("ecies: invalid public key") + var ErrKeyDataTooLong = fmt.Errorf("ecies: can't supply requested key data") + var ErrSharedKeyIsPointAtInfinity = fmt.Errorf("ecies: shared key is point at infinity") + var ErrSharedKeyTooBig = fmt.Errorf("ecies: shared key params are too big") + var ErrSharedTooLong = fmt.Errorf("ecies: shared secret is too long") + var ErrUnsupportedECIESParameters = fmt.Errorf("ecies: unsupported ECIES parameters") + func Encrypt(rand io.Reader, pub *ecdsa.PublicKey, msg, s1, s2 []byte) (ct []byte, err error) + func MarshalPublicKey(k *ecdsa.PublicKey) []byte + func UnmarshalPublicKey(curve elliptic.Curve, b []byte, k *ecdsa.PublicKey) error + type CipherText struct + EphemeralPublicKey *ecdsa.PublicKey + func (ct *CipherText) Marshal() ([]byte, error) + func (ct *CipherText) Unmarshal(b []byte, curve elliptic.Curve, hashSize int) error + type ECIES struct + func Must(e *ECIES, err error) *ECIES + func New(prv *ecdsa.PrivateKey) (*ECIES, error) + func NewGenerate(c elliptic.Curve, rand io.Reader) (*ECIES, error) + func NewWithParams(prv *ecdsa.PrivateKey, params *Params) (*ECIES, error) + func (ci *ECIES) Decrypt(ct, s1, s2 []byte) (msg []byte, err error) + func (ci *ECIES) DeriveSecretKeyringMaterial(pub *ecdsa.PublicKey, s1 []byte) (skm *SecretKeyringMaterial, err error) + func (ci *ECIES) Encrypt(rand io.Reader, pub *ecdsa.PublicKey, msg, s1, s2 []byte) (ct []byte, err error) + func (ci *ECIES) EncryptToCipherText(rand io.Reader, pub *ecdsa.PublicKey, msg, s1, s2 []byte) (ct *CipherText, err error) + func (ci *ECIES) GenerateShared(pub *ecdsa.PublicKey, skLen, macLen int) (sk []byte, err error) + func (ci *ECIES) MaxSharedKeyLength() int + func (ci *ECIES) Params() *Params + func (ci *ECIES) PrivateKey() *ecdsa.PrivateKey + func (ci *ECIES) PublicKey() *ecdsa.PublicKey + type EncryptedAuthenticatedMessage struct + EncryptedMessage []byte + HMAC []byte + type NewCipherFun func([]byte) (cipher.Block, error) + type NewHashFun func() hash.Hash + type Params struct + BlockSize int + KeyLen int + NewCipher NewCipherFun + NewHash NewHashFun + func ParamsFromCurve(curve elliptic.Curve) (params *Params) + func (p *Params) DecryptAuth(skm *SecretKeyringMaterial, eam *EncryptedAuthenticatedMessage, s2 []byte) (msg []byte, err error) + func (p *Params) EncryptAuth(rand io.Reader, skm *SecretKeyringMaterial, msg, s2 []byte) (eam *EncryptedAuthenticatedMessage, err error) + type SecretKeyringMaterial struct + EncryptionKey []byte + MACKey []byte