Galois/Counter Mode
ウィキペディア フリーな encyclopedia
Galois/Counter Mode(ガロア カウンター モード、GCM)は、ブロック暗号の暗号利用モードの一つであり、認証付き暗号の一つである。
GCMは認証付き暗号の一つであり、データ保護とメッセージ認証(完全性確認)の両方の機能を提供する。したがって、GCMには鍵 K、平文 P (暗号化されるデータ)、関連データ(associated data. 暗号化せず認証だけされるデータ) A が与えられ、平文から暗号文 C が計算され、C と A から認証タグ T が計算される。 鍵 K を知っている受信者が A, C, T を受け取ったならば、受信者は暗号文を復号して平文 P を得ることができ、また認証タグ T をチェックすることで、暗号文や関連データが改ざんされていないことを確認できる。 GCMはブロック長128ビットのブロック暗号に適用可能である。Galois Message Authentication Code (GMAC) は、認証のみに特化したGCMの派生であり、メッセージ認証符号として利用できる。GCM、GMACのいずれも、任意長の初期化ベクトルを用いることが可能である。
同じブロック暗号であっても、暗号利用モードが異なればそのパフォーマンスや効率には大きな違いが生じる。GCMは並列処理が可能であり、また、その実装は命令パイプラインやハードウェアでのパイプラインを活用することが可能である。一方、CBCモードはしばしばパイプラインストール(英語版)(命令やユニット間の相互関係によってパイプラインが停止すること)に陥る。