暗号方式
暗号化方式は主に下記のように分類することができます。
換字式暗号(かえじしきあんごう、Substitution cipher)
平文に対して、別の文字や記号等を割り当てることで暗号化します。
平文を構成する同一言語における変換(アルファベットを別のアルファベットへ変換)する暗号を「単一換字暗号(simple substitution cipher)」といいます。
「シーザー暗号」は単一換字暗号の一種といえます。
換字式暗号に対しては「頻度分析」という暗号解読法で解読が行われることがあります。
頻度分析は平文時に用いられる傾向が高い文字を解読の手がかりとする手法です。
平文が日本語ならば「です、ます」は比較的多く用いられるので、これを解析の手がかりとします。
転置式暗号(てんちしきあんごう、Transposition cipher)
平文の文字を並べ替えて暗号文を作成する方式です。
文字列の並べ替え順序があまりにも複雑すぎると、暗号化と復号が困難となり利便性が失われる。
しかし、復号化を行うことを考慮してしまうことで、文字の並び替えに法則が生まれやすく解読されやすくなります。
コンピュータを用いて擬似乱数を利用する事で、多くの置換群が表現できるので法則性を隠蔽することが可能となります。
装置(機械)暗号
装置を用いて暗号文を作成する方式です。
装置を保持しており、操作できる者のみが暗号化及び復号化を行えます。
- エニグマ暗号
暗号鍵による暗号
暗号化及び復号化に「鍵」を使う暗号方式です。
鍵を用いた演算(計算)によって暗号化/復号化を行います。
暗号アルゴリズムを公開したものが多くあります。
- 共通鍵暗号方式
- 公開鍵暗号方式
ハイブリッド暗号方式とは
ハイブリッド暗号方式は、平文を対象暗号(共通鍵)で暗号化して、暗号鍵を公開鍵暗号方式で暗号化します。
共通鍵暗号方式と公開鍵暗号方式における以下のデメリットを補い合う暗号方式です。
- 共通鍵暗号方式は演算処理は高速ですが、鍵の配送を安全に行う手立てを別に用意する必要があります。
- 公開鍵暗号方式は演算処理に時間がかかるが、鍵の配送や管理が容易です。
ハイブリッド暗号は、暗号強度的には公開鍵暗号や対称鍵暗号そのものより強いわけではありません。
共通鍵(対称鍵)暗号における鍵配送の問題と、公開鍵暗号における速度的な低下を同時に克服しているという点がハイブリッドと言えます。
ハイブリッド暗号方式における通信手順
送信者の処理
- 送信者は平文を作成します。
- 送信者は平文を暗号化するための共通鍵を作成します。
- 送信者は作成した共通鍵を利用して、平文を暗号化します。(共通鍵暗号方式)
- 送信者は作成した共通鍵を、あらかじめ入手しておいた受信者の公開鍵で暗号化します。(公開鍵暗号方式)
- 送信者は、「暗号化した本文」と「暗号化した共通鍵」の両方を受信者に送ります。
受信者の処理
- 受信者は送信者から送られてきた「暗号化された共通鍵」を復号します。復号には「受信者の秘密鍵」を使います。
- 受信者はで復号して取り出した共通鍵を使って本文を復号します。