AES-GCM อยู่ในหมวดหมู่ A5 ในกระดาษ ใน AES-GCM ไม่รองรับ $\texttt{no-AAD}$แม้ว่าคุณจะไม่ได้ใช้ AAD ระหว่างการเข้ารหัส แต่ AES-GCM ก็แปลงเป็นไฟล์ a $\texttt{zero-length-AAD}$.
ดูใน NIST สิ่งพิมพ์พิเศษ 800-38d, หน้า 15;
อัลกอริทึม 4: $GCM-AE_K (IV, P, A)$
¦
4. ปล่อยให้ $u = 128\cdot\lceil\operatorname{len}(C)/128\rceil - \operatorname{len}(C)$ และปล่อยให้ $v = 128\cdot\lceil\operatorname{len}(A)/128\rceil - \operatorname{len}(A)$.
5. กำหนดบล็อก $S$ดังต่อไปนี้: $$S = \operatorname{GHASH}_H(\mathbf{A \mathbin\| \mathtt 0^v} \mathbin\| C \mathbin\| \mathtt 0^u \mathbin\| \mathbf{[\operatorname{ len}(A)]_{64}} \mathbin\| [\operatorname{len}(C)]_{64}).$$
¦
ในขั้นตอนที่ 4 และ 5 แต่ละ AAD และข้อความเข้ารหัสจะถูกต่อท้ายด้วยจำนวนขั้นต่ำ â$\mathtt 0$บิต อาจไม่มีเพื่อให้ความยาวบิตของสตริงผลลัพธ์เป็นทวีคูณของขนาดบล็อก (ตัวหนาเป็นของฉัน)
$A$ เป็นข้อมูลที่เกี่ยวข้อง $len(A) = 0$ ดังนั้น, $\mathtt{v} = 0$. แม้ในกรณีนี้ เราก็มี $[\operatorname{len}(A)]_{64}$การเข้ารหัส 64 บิตของความยาวของข้อมูลที่เกี่ยวข้องและสิ่งนี้จะระบุการมีอยู่ของ AAD อยู่เสมอ ความยาวเป็นศูนย์หรือไม่!
หากผู้โจมตีลบข้อมูลที่เกี่ยวข้องออก เพื่อให้ดูเหมือนว่ามีความยาวเป็นศูนย์ ระหว่างการถอดรหัส จะต้องหยุดโดยแท็กไม่ตรงกัน ( หยุดและหยุดการถอดรหัสทันทีทุกครั้ง)
รูปแบบที่สนับสนุนแบบไม่มี AAD จะต้องไม่มีข้อมูลเกี่ยวกับ AAD ที่ขาดหายไป มิฉะนั้นจะจัดอยู่ใน AAD ที่มีความยาวเป็นศูนย์
ในท้ายที่สุด เรามีการป้องกันเพิ่มเติมจากการปลอมแปลงด้วย AAD ที่มีความยาวเป็นศูนย์