通信の暗号化技術【備忘録-応用情報技術者試験対策 #9】

応用情報技術者試験

※ 本記事では、応用情報技術者試験に向けて私が勉強したことを備忘録的にまとめておきたいと思います。基本情報技術者試験の内容と重複しているものもあります。なお、記事の投稿順に意味はないので、気にしないでもらえればと思います。

はじめに

今回は 通信の暗号化技術 についてまとめます。

IT技術は大変便利なものですが、それを悪用する輩が後を立ちません。通信の暗号化技術はそのような輩に対抗する技術となっています。

ちなみに私はこの参考書を使って勉強してました。

情報が豊富でがっつり勉強したい方向けかと思います。

暗号化方式の代表的な分類

暗号化方式は大きく分けると3つに分類されます。共通鍵暗号方式と公開鍵方式とハイブリッド暗号方式です。厳密に言うと、共通鍵方式と公開鍵方式ですが個人的にわかりやすいので3つに分類しました。ここで、暗号化前のデータを平文、暗号化後のデータを暗号文と言います。また、暗号化されたデータを平文に直すことを復号と言います。

① 共通鍵暗号方式
共通鍵暗号方式は、データの送信者と受信者が同じ鍵すなわち共通鍵を使って暗号化された通信を行います。この方式は共通鍵が第3者の手に渡ることがなければ、安全な暗号方式と言えます。しかし、通信を開始する際に送信者は何らかの手段で共通鍵を受信者に送る必要があります。ここが共通鍵暗号方式の弱点でもあります。

共通鍵方式の代表例を紹介します。
・DES (Data Encryption Standard)
DESは平文を64ビット単位に分割(64ビットのブロック長ということ)し、2$^{56}$パターンある鍵(鍵長が56ビットということ)の中から1つ選んで、16回変換を行います。ちなみに変換1回を1ラウンドと言います。しかし、近年の技術発展による2$^{56}$パターンを現実的な時間で総当たりできるようになってしまい、現在DESは推奨されていません。
・AES (Advanced Encryption Standard)
AESはブロック長が128ビットであり、鍵長は128/192/256ビットの中から任意に選択できます。鍵長が最低でもDESの2$^{72}$倍となり、現実的に総当たりできない規模となっており、現在の主流はAESとなっています。

しかし、共通鍵方式は通信する相手毎に鍵を変える必要があるので、鍵の管理が大変です。このデメリットを解消したものが公開鍵方式となります。

② 公開鍵暗号方式
公開鍵暗号方式はデータの送信者と受信者が異なる鍵を使って暗号化する方式です。暗号化鍵は公開鍵として公開されており、誰でも使えるものになっています。一方で、復号化鍵は秘密鍵として受信者だけしか持っていないため、復号できるのは受信者のみとなっています。したがって、受信者が秘密鍵を1つだけ管理してれば良いということになります。

公開鍵方式の代表例を紹介します。
・RSA (考案者のRivest、Shamir、Adlemanの3名の名前をとってRSA)
RSAは巨大な数値の素因数分解に時間がかかることを利用した方式です。現在では総当たりしなくてもある程度計算を省略できる方法が存在するため、一般的に鍵長は2048ビット以上が推奨されています。
・ECC (Elliptic Curve Cryptography :楕円曲線暗号)
ECCは楕円曲線上の点Pとある定数(スカラー)kが存在するときの点Q=k•Pを満たすような点Qの決定が難しいことを利用した方式です。RSAのように計算を省略する方法が見つかっていないため、ほぼ総当たりになるようです。そのため、ECCはRSAよりも短い鍵長でRSAと同等の安全性が実現できます。

公開鍵方式において、暗号化鍵は公開鍵として第3者の手に渡っても問題なく、受信者が秘密鍵1つを大事に持っていれば良いことになります。
しかし、共通鍵方式に比べて計算量が多くなってしまうというデメリットもあります。このデメリットを解消したものがハイブリット暗号方式となります。

③ ハイブリット暗号方式
ハイブリット暗号方式はその名の通り、共通鍵方式と公開鍵方式のハイブリッドの暗号方式です。
平文のデータ量が多い時に暗号化・復号の処理に時間がかかってしまいます。つまり、平文の暗号化・復号には共通鍵を使いたいのです。一方で、その共通鍵は万が一にも誰かの手に渡って欲しくないので、送信者が共通鍵を公開鍵で暗号化して、受信者が暗号化された共通鍵を秘密鍵で復号します。そして、受信者が共通鍵で暗号文を復号すれば安全に通信できるということになります。雑にまとめると、共通鍵方式の鍵を公開鍵方式で守るということです。

以上、3つが代表的な暗号方式となります。

最後に

今回は、通信の暗号化方式についてまとめました。

非常に重要な分野なので確実に覚えておきたいですね。

おすすめの記事

当ブログではいろいろな記事を書いています。今人気の記事をいくつかご紹介しますので、ぜひご覧ください。

コメント

タイトルとURLをコピーしました