同期式ストリーム暗号
鍵ストリームが鍵と位置だけで決まり、送信側と受信側が常に歩調を合わせる必要があるストリーム暗号。
同期式ストリーム暗号は、平文にも暗号文にも依存せずに鍵ストリームを生成する。暗号化は鍵ストリームと平文の XOR、復号は鍵ストリームと暗号文の XOR で行う。ハードウェア実装が高速で簡単になり、暗号文の 1 ビットが反転すると、平文の同じ 1 ビットだけが反転する。
この同期という性質は長所でも短所でもある。1 ビットでも落ちたり挿入されたりすると鍵ストリームがずれ、以降のバイトはすべて読めなくなるので、プロトコル側でカウンター、ノンス、再開の仕組みが要る。また鍵がなくても平文をビット単位で書き換えられるため展性(malleability)があり、ビット反転攻撃はこれを突く。同じ鍵とノンスを再利用するとさらに悪く、2 つの暗号文の XOR が平文同士の XOR になってしまう。