共通鍵暗号と排他的論理和

暗号化する時と複合するときに同じ鍵を使う。秘密鍵暗号、対称鍵暗号ともいう。
s(secret), m(message), c(ciphertext)
c = Enc(s, m)
c = Enc(m)
m = Dec(c)

Chosen Plaintext Attack, Choosen Ciphertext Attackなどがあります

### 共通鍵暗号の種類
ブロック暗号とストリーム暗号に分類される
– ブロック暗号: 一定のブロックごとに平文をかき混ぜて暗号化
– ストリーム暗号: ノイズ(乱数)を生成し、それと平文を混ぜ合わせて暗号化

### ビットと排他的論理和
真理値表に従い恒等変換という
論理積: 両方の入力が1の時のみ1
論理和: どちらか一方が1なら1
排他的論理和: aとbどちらか片方が1の時1、それ以外が0
交換法則: aとbを交換しても同じ値になる
結合法則: 3この1ビットa, b, cがあったときに、どちらから先に計算しても同じになる

排他的論理和で考えると、aを平文、bを鍵とすると a^bは暗号文、(a^b)^b = a が暗号文を復号して元の平文aを取り出す操作