ecdh.go 333 B

1234567891011121314
  1. package ecdh
  2. import (
  3. "crypto"
  4. "io"
  5. )
  6. // The main interface for ECDH key exchange.
  7. type ECDH interface {
  8. GenerateKey(io.Reader) (crypto.PrivateKey, crypto.PublicKey, error)
  9. Marshal(crypto.PublicKey) []byte
  10. Unmarshal([]byte) (crypto.PublicKey, bool)
  11. GenerateSharedSecret(crypto.PrivateKey, crypto.PublicKey) ([]byte, error)
  12. }