共通鍵暗号化方式
暗号および復号に同じ鍵(共通鍵)を使用する。
共通鍵は2者間で共有する。
種類は?
特徴 | 暗号技術 | |
---|---|---|
ブロック暗号化 | ・撹拌部と鍵生成部から構成される ・ブロック単位で暗号化する |
DES AES |
ストリーム暗号化 | ・疑似乱数生成器*が生成する乱数を使用し、bit単位で暗号化する | RC4 |
疑似乱数:
一見乱数のように規則性のない数の並びのように見えるが、一定の計算手順によって確定的に与えられる数値の列。
DESとは?
- 特徴はFeistel構造*
- 現在は非推奨
- 上位互換の3DES*は現在も利用可能
Feistel構造:
ブロック暗号の構成法の一種。逆変換するだけでにより復号も可能。
➀入力値を半分(L1,R1)に分ける
➁R1→L2として出力
➂L1はR1に関数を適用した値と排他的論理和で計算→R2として出力
④上記を繰り返す
3DES:
DESを3回(暗号化→復号化→暗号化)を行うことで暗号強度を高めた暗号化方式。
AESとは?
- 特徴はSPN構造
- Feistel構造より高速処理が期待
- ブロック暗号の中で最も安全で利用が推奨されている(2022年時点)
SPN構造:
各ラウンドは置換表によるデータの入れ替え、左巡回シフト、行列変換、ラウンド鍵とのXOR演算の4つの処理からなり、暗号鍵から導出されたラウンドごとに変化するラウンド鍵を用いてパラメータを決定する。
RSAとは?
- 暗号鍵を元に1ビットずつ擬似乱数列を発生させ、平文とXOR(排他的論理和)を取ったものが暗号文
- 鍵長は40~256bitまで選択可能
- SSL/TLSなどで使われていた
- 現在は非推奨