鍵カプセル化メカニズム(KEM)に加えて,
今度はデータカプセル化メカニズム(DEM)についてお話します.
DEMは大まかに2つのアルゴリズムからなります.
- 暗号化アルゴリズム:データの暗号化
- 復号アルゴリズム:暗号文の復号
暗号化アルゴリズム
共通鍵とラベルと平文を入力すると暗号文を生成します.
ラベルと平文はどんな長さでも構いません.
共通鍵暗号で暗号化するので,公開鍵暗号に比べれば十分に高速に動作するので問題ありません.
また,ラベルは通信毎に更新すべきです.
ワンタイム鍵のように扱う必要があります.
復号アルゴリズム
共通鍵暗号の鍵とラベルと暗号文を入力すると平文を生成します.
普通の共通鍵暗号の動作と変わりません.
また,DEMの暗号化で使った鍵とラベルと暗号文をそのまま復号アルゴリズムに通すと,
元の平文に戻るということが保障されていなければなりません.
この正当性も共通鍵暗号や公開鍵暗号単体で使った場合と変わりません.
一見名前だけで難しそうだと感じますが,
構成要素を1個ずつ見ていけばたいして難しくありません.
他の分野でもそうですね.