From dad75b54f090a45a23a2979446920e2911d7979e Mon Sep 17 00:00:00 2001 From: Rob De Feo Date: Sun, 5 Jan 2020 15:24:54 +0000 Subject: [PATCH] feat: create key exchange (#497) * create key exchange * missing import statement --- crypto/cipher/keyexchange.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 crypto/cipher/keyexchange.go diff --git a/crypto/cipher/keyexchange.go b/crypto/cipher/keyexchange.go new file mode 100644 index 000000000..b55e81302 --- /dev/null +++ b/crypto/cipher/keyexchange.go @@ -0,0 +1,13 @@ +package cipher + +import ( + "github.com/mailchain/mailchain/crypto" +) + +type KeyExchange interface { + // EphemeralKey generates a private/public key pair. + EphemeralKey() (private crypto.PrivateKey, public crypto.PublicKey, err error) + + // SharedSecret computes a secret value from ephemeralKey private key and recipientKey public key. + SharedSecret(ephemeralKey crypto.PrivateKey, recipientKey crypto.PublicKey) ([]byte, error) +}