CTR
メッセージではなくカウンターを暗号化することで、ブロック暗号をストリーム暗号に変える方式。
カウンターモードは、連続するカウンター値を暗号化し、その結果を平文とXORする。つまり暗号はユーザーのデータそのものには一切適用されず、鍵ストリームを作るだけだ。利点は大きい。パディングが不要で、暗号化も復号も並列化でき、1000番目のブロックへ手前を計算せずに直接ジャンプできる。
危険は単純で、うっかり踏みやすい。同じ鍵で同じカウンター値を再利用すると同じ鍵ストリームが2回生成され、2つの暗号文をXORすると平文同士のXORが露出する。ワンタイムパッドの使い回しと同じ失敗だ。CTRは、認証を加えたGCMの土台でもある。