---
title: AES.GCM.Nonce
framework: cryptokit
role: symbol
role_heading: Structure
path: cryptokit/aes/gcm/nonce
---

# AES.GCM.Nonce

A value used once during a cryptographic operation and then discarded.

## Declaration

```swift
struct Nonce
```

## Overview

Overview Don’t reuse the same nonce for multiple calls to encryption APIs. It’s critical that nonces are unique per call to encryption APIs in order to protect the integrity of the encryption.

## Topics

### Creating a nonce

- [init()](cryptokit/aes/gcm/nonce/init().md)
- [init(data:)](cryptokit/aes/gcm/nonce/init(data:).md)

### Iterating over a nonce’s bytes

- [makeIterator()](cryptokit/aes/gcm/nonce/makeiterator().md)

### Initializers

- [init(copying:)](cryptokit/aes/gcm/nonce/init(copying:).md)

### Instance Properties

- [bytes](cryptokit/aes/gcm/nonce/bytes.md)
- [count](cryptokit/aes/gcm/nonce/count.md)

## Relationships

### Conforms To

- [ContiguousBytes](foundation/contiguousbytes.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [Sequence](swift/sequence.md)
