15 lines
333 B
Go
15 lines
333 B
Go
|
package ecdh
|
||
|
|
||
|
import (
|
||
|
"crypto"
|
||
|
"io"
|
||
|
)
|
||
|
|
||
|
// The main interface for ECDH key exchange.
|
||
|
type ECDH interface {
|
||
|
GenerateKey(io.Reader) (crypto.PrivateKey, crypto.PublicKey, error)
|
||
|
Marshal(crypto.PublicKey) []byte
|
||
|
Unmarshal([]byte) (crypto.PublicKey, bool)
|
||
|
GenerateSharedSecret(crypto.PrivateKey, crypto.PublicKey) ([]byte, error)
|
||
|
}
|