GCM(Galois/Counter Mode)はブロック暗号における利用モードの1つです。ECBやCBCといったモードとは異なり、GCMは「認証付き」のモードです。イメージとしては、改竄防止のMAC(Message Authentication Code)が暗号にくっついているようなモードです。 今回は、Webアプリ等で(特にPHPで)GCMを利用するにあたっての注意点を書いてみます。PHPでは7.1以降のバージョンでGCMが利用できます。 GCMの使い方 注意点の前にGCMの非常に大雑把な説明です。 GCMモードで暗号化を行うと、下記の2つが出力されます。 暗号文 タグ(認証タグ) 出力に「タグ」が含まれている点がCBC等のモードとの違いです。 タグは改竄を検出するMACの役割を果たします。タグは可変長で、暗号化する関数を呼ぶ際に、生成したいタグの長さを引数等として指定します。PHPの