-
public interface KeyExchange.Lazy
-
-
Method Summary
Modifier and Type Method Description abstract KeyPaircryptoKxKeypair()Generate a public and secret key. abstract KeyPaircryptoKxKeypair(Array<byte> seed)Deterministically generate a public and secret key.Store the seed somewhere if you want to generate thesekeys again. abstract SessionPaircryptoKxClientSessionKeys(Key clientPk, Key clientSk, Key serverPk)Generate a client's session keys. abstract SessionPaircryptoKxClientSessionKeys(KeyPair clientKeyPair, KeyPair serverKeyPair)Generate a client's session keys. abstract SessionPaircryptoKxClientSessionKeys(KeyPair clientKeyPair, Key serverPublicKey)Generate a client's session keys. abstract SessionPaircryptoKxServerSessionKeys(Key serverPk, Key serverSk, Key clientPk)Computes a pair of shared keys (server-side)(rx and tx) using the client's public key clientPk,the server's secret key serverSk and the server's public key serverPk. abstract SessionPaircryptoKxServerSessionKeys(KeyPair serverKeyPair, KeyPair clientKeyPair)Generate a server's session keys. abstract SessionPaircryptoKxServerSessionKeys(KeyPair serverKeyPair, Key clientPublicKey)Generate a server's session keys. -
-
Method Detail
-
cryptoKxKeypair
abstract KeyPair cryptoKxKeypair()
Generate a public and secret key.
-
cryptoKxKeypair
abstract KeyPair cryptoKxKeypair(Array<byte> seed)
Deterministically generate a public and secret key.Store the seed somewhere if you want to generate thesekeys again.
- Parameters:
seed- A random seed of size SEEDBYTES.
-
cryptoKxClientSessionKeys
abstract SessionPair cryptoKxClientSessionKeys(Key clientPk, Key clientSk, Key serverPk)
Generate a client's session keys. This shouldbe performed on the client.
- Parameters:
clientPk- Client public key of size PUBLICKEYBYTES.clientSk- Client secret key of size SECRETKEYBYTES.serverPk- Server public key of size PUBLICKEYBYTES.
-
cryptoKxClientSessionKeys
@Deprecated(forRemoval = true, since = 6.0.0) abstract SessionPair cryptoKxClientSessionKeys(KeyPair clientKeyPair, KeyPair serverKeyPair)
Generate a client's session keys. This shouldbe performed on the client.
- Parameters:
clientKeyPair- Provide the client's public and private key.serverKeyPair- Provide the server's public key only.
-
cryptoKxClientSessionKeys
abstract SessionPair cryptoKxClientSessionKeys(KeyPair clientKeyPair, Key serverPublicKey)
Generate a client's session keys. This shouldbe performed on the client.
- Parameters:
clientKeyPair- Provide the client's public and private key.serverPublicKey- Provide the server's public key.
-
cryptoKxServerSessionKeys
abstract SessionPair cryptoKxServerSessionKeys(Key serverPk, Key serverSk, Key clientPk)
Computes a pair of shared keys (server-side)(rx and tx) using the client's public key clientPk,the server's secret key serverSk and the server's public key serverPk.
- Parameters:
serverPk- Server public key of size PUBLICKEYBYTES.serverSk- Server secret key of size SECRETKEYBYTES.clientPk- Client public key of size PUBLICKEYBYTES.
-
cryptoKxServerSessionKeys
@Deprecated(forRemoval = true, since = 6.0.0) abstract SessionPair cryptoKxServerSessionKeys(KeyPair serverKeyPair, KeyPair clientKeyPair)
Generate a server's session keys. This shouldbe performed on the server.
- Parameters:
serverKeyPair- Provide the server's public and private key.clientKeyPair- Provide the client's public key only.
-
cryptoKxServerSessionKeys
abstract SessionPair cryptoKxServerSessionKeys(KeyPair serverKeyPair, Key clientPublicKey)
Generate a server's session keys. This shouldbe performed on the server.
- Parameters:
serverKeyPair- Provide the server's public and private key.clientPublicKey- Provide the client's public key.
-
-
-
-