今週の情報セキュリティの準備をしていて,使い捨てパッドの暗号化・復号を表した下式をぼんやり眺めながら,思いました. k XOR (k XOR m) = (k XOR k) XOR m = 0 XOR m = m 本論に進む前に,いくつか注意書きをしないといけません.上の式でmは平文,kは鍵,k XOR mは暗号文に対応します.全体としては「任意の平文mを任意の鍵kで暗号化し,暗号化と同じ鍵kで復号すると,必ず,元の平文になる」を表した式です.プリミティブな演算として見たとき,平文・鍵・暗号文はいずれも1ビットですが,これをビット列に拡張させ,ビット単位で演算を行ったと考えることもできます.XORは排他的論理和の演算子です.k XOR k = 0は,kが1ビットのとき,k=0でもk=1でも成立します.任意のビット列に拡張しても,成立しますが,その際の0は,kと同じビット長で,どのビットもゼロ