---
title: "expand(pseudoRandomKey:info:outputByteCount:)"
framework: cryptokit
role: symbol
role_heading: Type Method
platforms: [iOS 14.0+, iPadOS 14.0+, Mac Catalyst 14.0+, macOS 11.0+, tvOS 14.0+, visionOS 1.0+, watchOS 7.0+]
path: "cryptokit/hkdf/expand(pseudorandomkey:info:outputbytecount:)"
---

# expand(pseudoRandomKey:info:outputByteCount:)

Expands cryptographically strong key material into a derived symmetric key.

## Declaration

```swift
static func expand<PRK, Info>(pseudoRandomKey prk: PRK, info: Info?, outputByteCount: Int) -> SymmetricKey where PRK : ContiguousBytes, Info : DataProtocol
```

## Parameters

- `prk`: A pseudorandom, cryptographically strong key generated from the extract(inputKeyMaterial:salt:) function.
- `info`: The shared information to use for key derivation.
- `outputByteCount`: The length in bytes of the resulting symmetric key.

## Return Value

Return Value The derived symmetric key.

## Discussion

Discussion Generate cryptographically strong key material to use with this function by calling extract(inputKeyMaterial:salt:).
