# Class: AEADEncryptedDataPacket

## AEADEncryptedDataPacket()

Implementation of the Symmetrically Encrypted Authenticated Encryption with Additional Data (AEAD) Protected Data Packet

https://tools.ietf.org/html/draft-ford-openpgp-format-00#section-2.1: AEAD Protected Data Packet

## Constructor

#### new AEADEncryptedDataPacket()

Source:
  - packet/aead_encrypted_data.js, line 53

### Methods

#### (async) crypt(fn, key, data) → {Promise.<(Uint8Array|ReadableStream.<Uint8Array>)>}

En/decrypt the payload.

##### Parameters:

Name | Type | Description
--- | --- | ---
`fn` | encrypt | decrypt | Whether to encrypt or decrypt
`key` | Uint8Array | The session key used to en/decrypt the payload
`data` | Uint8Array | ReadableStream.<Uint8Array> | The data to en/decrypt

Source:
  - packet/aead_encrypted_data.js, line 133

##### Returns:

Type
  Promise.<(Uint8Array|ReadableStream.<Uint8Array>)>

#### (async) decrypt(sessionKeyAlgorithm, key, configopt)

Decrypt the encrypted payload.

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`sessionKeyAlgorithm` | String |  | The session key's cipher algorithm e.g. 'aes128'
`key` | Uint8Array |  | The session key used to encrypt the payload
`config` | Object | <optional> | Full configuration, defaults to openpgp.config

Source:
  - packet/aead_encrypted_data.js, line 99

##### Throws:

if decryption was not successful

Type
  Error

#### (async) encrypt(sessionKeyAlgorithm, key, configopt)

Encrypt the packet list payload.

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`sessionKeyAlgorithm` | String |  | The session key's cipher algorithm e.g. 'aes128'
`key` | Uint8Array |  | The session key used to encrypt the payload
`config` | Object | <optional> | Full configuration, defaults to openpgp.config

Source:
  - packet/aead_encrypted_data.js, line 115

##### Throws:

if encryption was not successful

Type
  Error

#### (async) read(bytes)

Parse an encrypted payload of bytes in the order: version, IV, ciphertext (see specification)

##### Parameters:

Name | Type | Description
--- | --- | ---
`bytes` | Uint8Array | ReadableStream.<Uint8Array> |

Source:
  - packet/aead_encrypted_data.js, line 68

#### write() → {Uint8Array|ReadableStream.<Uint8Array>}

Write the encrypted payload of bytes in the order: version, IV, ciphertext (see specification)

Source:
  - packet/aead_encrypted_data.js, line 87

##### Returns:

The encrypted payload.

Type
  Uint8Array | ReadableStream.<Uint8Array>