Skip to content

Commit

Permalink
feat: create a key exchange for ed25519 package mailchain#504 and sr2…
Browse files Browse the repository at this point in the history
…5519 packange mailchain#505
  • Loading branch information
developerfred committed Jan 5, 2020
1 parent c452cc2 commit 8057a13
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
13 changes: 13 additions & 0 deletions crypto/ed25519/keyexchange.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package ed25519

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)
}
13 changes: 13 additions & 0 deletions crypto/sr25519/keyexchange.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package sr25519

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)
}

0 comments on commit 8057a13

Please sign in to comment.