menu

CryptoAgreementBinding

import { CryptoAgreementBinding } from "destack:crypto/binding";

Agreement binding family.

language/library/src/crypto/binding/agreement.ds:82:126
1export interface CryptoAgreementBinding {2    deriveSharedSecret(privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, algorithm: CryptoKeyAgreementAlgorithm): Result<uint8[], HostError>;3    deriveAgreementBits(privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, request: &'b readonly CryptoAgreementBits<'a>): Result<uint8[], HostError>;4    deriveAgreementKey(store: CryptoStoreHandle, privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, derivation: &'b readonly CryptoAgreementDerivation<'a>, key: &'c readonly CryptoDerivedKey): Result<CryptoKeyHandle, HostError>;5}

Members

deriveSharedSecret(privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, algorithm: CryptoKeyAgreementAlgorithm): Result<uint8[], HostError>

Derive one shared secret from one local private key and one peer public key.

deriveAgreementBits(privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, request: &'b readonly CryptoAgreementBits<'a>): Result<uint8[], HostError>

Derive raw bytes from one local private key and one peer public key.

deriveAgreementKey(store: CryptoStoreHandle, privateKey: CryptoKeyHandle, peerPublicKey: CryptoKeyHandle, derivation: &'b readonly CryptoAgreementDerivation<'a>, key: &'c readonly CryptoDerivedKey): Result<CryptoKeyHandle, HostError>

Derive one key from one local private key and one peer public key.