

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 的內文額外驗證資料 (AAD) 參考 AWS Encryption SDK
<a name="body-aad-reference"></a>


|  | 
| --- |
|  本頁面上提供的參考可讓您建置自己的並與 AWS Encryption SDK相容的加密儲存庫。如果您不是自己建置相容的加密儲存庫，可能不需要此資訊。 若要在其中一個支援的程式設計語言 AWS Encryption SDK 中使用 ，請參閱 [程式設計語言](programming-languages.md)。 如需定義適當 AWS Encryption SDK 實作元素的規格，請參閱 GitHub 中的[AWS Encryption SDK 規格](https://github.com/awslabs/aws-encryption-sdk-specification/)。  | 

您必須為每個密碼編譯操作，將額外的驗證資料 (AAD) 提供給 [AES-GCM 演算法](algorithms-reference.md)。對於具框架和無框架[內文資料](message-format.md#body-structure)都是如此。如需有關 AAD 及其在 Galois/計數器模式 (GCM) 中的用法的詳細資訊，請參閱[區塊加密操作模式的建議：Galois/計數器模式 (GCM) 和 GMAC](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf)。

下表說明內文 AAD 的組成欄位。位元組依顯示順序附加。


**內文 AAD 結構**  

| 欄位 | 長度 (以位元組為單位) | 
| --- | --- | 
| [Message ID](#body-aad-message-id) | 16 | 
| [Body AAD Content](#body-aad-content) | 變數. 請參閱下列清單中的內文 AAD 內容。 | 
| [Sequence Number](#body-aad-sequence-number) | 4 | 
| [Content Length](#body-aad-content-length) | 8 | 

**訊息 ID**  
在訊息標頭中設定的相同 [Message ID](message-format.md#header-message-id) 值。

**內文 AAD 內容**  
由所使用內文資料類型決定的 UTF-8 編碼值。  
對於[無框架資料](message-format.md#body-no-framing)，請使用值 `AWSKMSEncryptionClient Single Block`。  
對於[具框架資料](message-format.md#body-framing)中的一般框架，請使用值 `AWSKMSEncryptionClient Frame`。  
對於[具框架資料](message-format.md#body-framing)中的最終框架，請使用值 `AWSKMSEncryptionClient Final Frame`。

**序號**  
4 位元組值，解譯為 32 位元的無正負號整數。  
對於[具框架資料](message-format.md#body-framing)，這是框架序號。  
對於[無框架資料](message-format.md#body-no-framing)，請使用值 1，在十六進位表示法中編碼為 4 位元組 `00 00 00 01`。

**內容長度**  
提供給演算法進行加密的純文字資料長度，以位元組為單位。它是 8 位元組值，並解譯為 64 位元的無正負號整數。