Galois/Counter Mode
GCMは遅延、オーバーヘッドが少ないことから、パケット化されたデータの保護に適している。
GCMでは、1ブロック(128ビット)の暗号化および認証につき1回のブロック暗号の実行と1回のガロア体での128ビット乗算を必要とする。ブロック暗号の操作は容易にパイプライン化あるいは並列化することが可能であり、乗算操作はパイプライン化が容易に可能であり、並列化についても近年の研究によって可能となった(実際の操作の並列化あるいはホーナー法の適用、あるいはその両方)。
インテルは、2010年のWestmere以降のプロセッサに、GCMの計算の高速化のためのCLMUL instruction set (PCLMULQDQ)を実装している。これは、GF(2) 有限体上での乗法を高速化するものであり、任意の体の表現に適用可能である。
さまざまなプラットフォームにおいて、GCMのパフォーマンスについての報告がなされている。KäsperとSchwabeは、"Faster and Timing-Attack Resistant AES-GCM"と題する報告で、インテルの64ビットプロセッサを用いたAES-GCMでの暗号化で10.
また、t = 64かつ最大パケット長が2の場合、認証復号関数は2回より多く呼び出されるべきではない)。
他のメッセージ認証符号と同様に、攻撃者が任意の tビットのタグを選んだ場合、それが正しい確率は 2 である。しかしながら、GCMの場合には、攻撃者はその確率をより高くするタグを選択することが可能であり、その確率は暗号文の長さとadditional authenticated data (AAD)の長さの和に比例する。したがって、GCMは極めて短いタグあるいは非常に長いメッセージでの利用には適していない。
FergusonとSaarinenはそれぞれ、GCMの認証に対する最適な攻撃法を報告している。
Fergusonは、n をエンコード中(GHASH関数のインプット)のブロックの総数とした場合、およそ n2 の確率で対象の暗号文を改竄できる見込みのある手法を示した。タグ長 t が128より短い場合には、一つの改竄の成功が連続した改竄の成功の確率を増加させ、副鍵 H のハッシュ情報の漏えいにつながる。最終的には、H そのものが危うくなり、認証の信頼性は失われる。