init(recipientKey:ciphersuite:info:authenticatedBy:presharedKey:presharedKeyIdentifier:)

Creates a sender in authentication and preshared key mode.

HPKE.swift:154
iOS
13+
macOS
10.15+
tvOS
13+
watchOS
6+
init<SK>(recipientKey: SK.PublicKey, ciphersuite: Ciphersuite, info: Data, authenticatedBy authenticationKey: SK, presharedKey psk: SymmetricKey, presharedKeyIdentifier pskID: Data) throws where SK : HPKEDiffieHellmanPrivateKey

Parameters

recipientKey

The recipient’s public key for encrypting the messages.

ciphersuite

The cipher suite that defines the cryptographic algorithms to use.

info

Data that the key derivation function uses to compute the symmetric key material. The sender and the recipient need to use the same info data.

authenticationKey

The sender’s private key for generating the HMAC.

psk

A preshared key (PSK) that the sender and the recipient both hold.

pskID

An identifier for the PSK.

The Sender encrypts messages in authentication and preshared key (auth_psk) mode using a symmetric encryption key that the sender and recipient both know in advance, in combination with a key it derives using a key derivation function (KDF) and the key schedule data in info. Messages also include authentication data so that the recipient can verify the authenticity of the sender’s private key.