暗号アルゴリズム AES, DES, RC4, RSA, 楕円曲線暗号

共通鍵暗号方式には「DES」「RC4」「AES」などがある

### AES
AESは無線LANなどに用いられる暗号化アルゴリズムの一つで Advanced Encryption Standardの略で標準的に使われている。共通鍵暗号で、データの送信者と受信者が同じ暗号鍵を用いて暗号化と復号を実行する DES以上の強度を持つ。処理速度も優れている
AESは128,192, 256bitから鍵長を選んで利用可能
SubBytes, ShiftRows, MixColumns, AddRoundKeyなどの変換を行う
WPA2(無線LAN), SSL/TLS化通信(https://)、ファイルの暗号化などで使われている
WifiのWPA2, WPA3はAESを採用している

### DES/3DES
1977年にアメリカ連邦政府標準が採用した暗号アルゴリズム
DESは鍵長が短い(56bit)などの難点があった 総当たり攻撃に弱い
鍵長は56bitですが、パリティチェック用の8bitを加えて64bitとして扱う
この弱点を補うために2DES(DESを2回繰り返す112bitの鍵長)、3DES(DESを3回繰り返す、168bitだが処理に時間がかかる)が登場したが別の攻撃に弱いなどの弱点が見つかった
DESでは64bitのデータを半分(LとR)に分割し、同じような処理を繰り返す過程がある。この繰り返しの単位をラウンドと言う

### RC4(Rivest’s Cipher4)
ブロックのが長さ(鍵長)を自由に設定できるアルゴリズム
鍵の長さを40〜2048bitの間で自由に設定できる
逐次暗号化するすストリーム暗号 簡単にセキュリティを突破されてしまう
SSL3.0以前やWifiのWEPやWAPはRC4を用いている

### RSA
公開鍵暗号方式、暗号化と復号に別の鍵を使用する
「大きな数字を素因数分解するには膨大な時間がかかる」ことを利用したアルゴリズム。
安全性が高いが処理に時間がかかる

### 楕円曲線暗号
楕円曲線( y2 = x3 + ax + b で表される曲線)の数学的な特性を安全性の根拠とする暗号。「一方向の計算は容易でも、反対方向の計算は困難」な性質が使われることで、公開鍵が知られても容易に秘密鍵を割り出せない仕組み。暗号化や復号に必要な計算量が少なく、他のアルゴリズムより短い鍵で同等の強度が得られることから、活用の幅が広がっている。

### ハイブリッド暗号方式
共通鍵暗号方式と公開鍵暗号方式の特徴を組み合わせた方式
1. 受信者が公開鍵と秘密鍵を作成する
2. 送信者は通信で使用する「共通の秘密鍵」を作成する
3. 送信者は取得した受信者の公開鍵を使って「共通の秘密鍵」を暗号化し、送付する
4. 受信者は秘密鍵を使って「共通の秘密鍵」を復号する
ハイブリッド暗号方式は、共通鍵暗号方式の持つ鍵の受け渡しの課題を公開鍵暗号方式でカバーし、公開鍵暗号方式が持つ処理速度の遅さを共通鍵暗号方式でカバー

### ハッシュ化
不可逆性(元に戻せない性質)を持つ
ユーザーがパスワードを初期登録する際にハッシュ化によってパスワードが変換されハッシュ値が得られます。ログインをする際は、入力されたパスワードのハッシュ値と登録の際に保存されたハッシュ値を比較することで、ユーザーが同一であると認証できる