permute(_:key:)

Apply the AES permutation operation in the encryption direction.

Block Function.swift:34
iOS
13+
macOS
10.15+
tvOS
13+
watchOS
6+
static func permute<Payload>(_ payload: inout Payload, key: SymmetricKey) throws where Payload : MutableCollection, Payload.Element == UInt8

Parameters

payload

The payload to encrypt. Must be exactly 16 bytes long.

key

The encryption key to use.

Throws

On invalid parameter sizes.

This function applies the core AES block operation to payload in the encryption direction. Note that this is not performing any kind of block cipher mode, and does not authenticate the payload. This is a dangerous primitive that should only be used to compose higher-level primitives, and should not be used directly.