暗号化には、古代ギリシャ人とローマ人が秘密鍵でしか解読できない文字に置き換えて秘密のメッセージを送信したときまでさかのぼる長い歴史があります。簡単な歴史のレッスンに参加して、暗号化がどのように機能するかについて学びましょう。
本日のHTGExplainsでは、暗号化の簡単な歴史、その仕組み、さまざまな種類の暗号化の例を紹介します。前の版でも確認してください。 多くのオタクがInternetExplorerを嫌う理由 。
による画像 xkcd 、明らかに。
暗号化の初期
古代ギリシャ人はと呼ばれるツールを使用しました
スキュタレー
を使用してメッセージをより迅速に暗号化するのに役立ちます
転置式暗号
—羊皮紙のストリップをシリンダーに巻き付けてメッセージを書き出すだけで、巻き戻されても意味がありません。
もちろん、この暗号化方式はかなり簡単に破られる可能性がありますが、実際に実際に使用されている暗号化の最初の例の1つです。
ジュリアスシーザーは、彼の時代に、アルファベットの各文字をいくつかの位置で右または左にシフトすることによって、いくぶん似た方法を使用しました。これは、 シーザー暗号 。たとえば、以下の暗号例を使用すると、「GEEK」を「JHHN」と記述します。
プレーン:ABCDEFGHIJKLMNOPQRSTUVWXYZ
暗号:DEFGHIJKLMNOPQRSTUVWXYZABC
メッセージの意図された受信者だけが暗号を知っていたので、次の人がメッセージを解読するのは難しく、意味不明に見えますが、暗号を持っていた人は簡単に解読して読むことができました。
のような他の単純な暗号化暗号 ポリビウススクエア 使用した ポリアルファベット暗号 それは、文字の位置がどこにあったかを示すために、上部と側面の対応する数値位置とともに各文字をリストしました。
上記のような表を使用して、文字「G」を「23」、または「GEEK」を「23 31 3143」と記述します。
エニグママシン
第二次世界大戦中、ドイツ人 エニグママシンを使用 ポーランド人がメッセージを解読できるようになるまでに何年もかかった暗号化された送信をやり取りし、連合軍に解決策を提供し、それが彼らの勝利に貢献しました。
現代の暗号化の歴史
それに直面しましょう。現代の暗号化技術は非常に退屈なテーマになる可能性があるため、単に言葉で説明するのではなく、ジェフ・モーザーに触発された暗号化の歴史について語る漫画をまとめました。 AESへの棒人間ガイド 。 注:明らかに、暗号化の歴史に関するすべてを漫画で伝えることはできません。
当時、人々は電子通信を保護するための優れた暗号化方法を持っていません。
ルシファー 初期の民間人の何人かに付けられた名前でした ブロック暗号 、 によって開発されました Horst Feistel とIBMの彼の同僚。
データ暗号化規格(DES)は、によって選択されたブロック暗号(共有秘密暗号化の形式)です。 国立標準局 公式として 連邦情報処理標準 (FIPS)1976年の米国向けで、その後、国際的に広く使用されています。
1980年代後半から1990年代初頭に登場し始めた、ソフトウェアのセキュリティとDESの比較的遅い動作に関する懸念により、研究者はさまざまな代替ブロック暗号設計を提案するようになりました。 RC5 、 ふぐ 、 考え 、 NewDES 、 SAFER 、 CAST5 そして FEAL
Rijndael暗号化アルゴリズムは、標準の対称鍵暗号化またはAdvanced Encryption Standard(AES)として米国政府によって採用されました。 AESは、Rijndaelが最も多く選ばれる前に、15の競合する設計が提示および評価された、5年間の標準化プロセスの後、2001年11月26日に米国国立標準技術研究所(NIST)によってUS FIPS PUB 197(FIPS 197)として発表されました。適切な暗号化アルゴリズム。
暗号化アルゴリズムのパフォーマンス
多くの暗号化アルゴリズムが存在し、それらはすべて異なる目的に適しています。ある暗号化アルゴリズムを識別して別の暗号化アルゴリズムと区別する2つの主な特徴は、保護されたデータを攻撃から保護する機能と、その速度と効率です。
さまざまな種類の暗号化の速度の違いの良い例として、TrueCryptのボリューム作成ウィザードに組み込まれているベンチマークユーティリティを使用できます。ご覧のとおり、AESははるかに高速な種類の強力な暗号化です。
遅い暗号化方法と速い暗号化方法の両方があり、それらはすべてさまざまな目的に適しています。小さなデータを頻繁に復号化しようとしている場合は、可能な限り強力な暗号化を使用するか、さまざまな種類の暗号化で2回暗号化することもできます。速度が必要な場合は、おそらくAESを使用することをお勧めします。
さまざまな種類の暗号化のベンチマークの詳細については、からのレポートを確認してください。 セントルイスワシントン大学 、そこで彼らはさまざまなルーチンで大量のテストを行い、非常にこっけいな記事ですべてを説明しました。
最新の暗号化の種類
前に説明したすべての高度な暗号化アルゴリズムは、主に2つの異なるタイプの暗号化に使用されます。
- 対称鍵アルゴリズム 暗号化と復号化の両方に、関連するまたは同一の暗号化キーを使用します。
- 非対称鍵アルゴリズム 暗号化と復号化に異なるキーを使用します。これは通常、公開キー暗号化と呼ばれます。
対称鍵暗号化
この概念を説明するために、で説明されている郵便サービスのメタファーを使用します。 ウィキペディア 対称鍵アルゴリズムがどのように機能するかを理解する。
アリスは秘密のメッセージを箱に入れ、鍵を持っている南京錠を使って箱をロックします。次に、彼女は箱を通常の郵便でボブに送ります。ボブは箱を受け取ると、アリスの鍵の同一のコピー(彼は以前に何らかの方法で、おそらく対面の会議で入手したもの)を使用して箱を開け、メッセージを読みます。その後、ボブは同じ南京錠を使用して秘密の返信を送信できます。
対称鍵アルゴリズムは次のように分割できます ストリーム暗号 ブロック暗号—ストリーム暗号はメッセージのビットを一度に1つずつ暗号化し、ブロック暗号は多くの場合一度に64ビットのブロックでいくつかのビットを取り、それらを単一のユニットとして暗号化します。選択できるアルゴリズムはたくさんあります。より一般的で尊敬されている対称アルゴリズムには、次のものがあります。 Twofish 、 蛇 、 AES ( Rijndael )、 ふぐ 、 CAST5 、 RC4 、 TDES 、および 考え 。
非対称暗号化
非対称キーシステムでは、ボブとアリスは、対称の例の複数のキーを持つ単一の南京錠ではなく、別々の南京錠を持っています。 注:もちろん、これは実際にどのように機能するかを非常に単純化した例であり、はるかに複雑ですが、一般的な考え方は理解できます。
最初に、アリスはボブに彼の開いた南京錠を通常の郵便で彼女に送るように頼みます。アリスはそれを受け取ると、それを使用してメッセージを含むボックスをロックし、ロックされたボックスをボブに送信します。その後、ボブは自分のキーでボックスのロックを解除し、アリスからのメッセージを読むことができます。返信するには、ボブは同様に、アリスの開いた南京錠を取得してボックスをロックしてから、ボックスを彼女に送り返す必要があります。
非対称キーシステムの重要な利点は、ボブとアリスがキーのコピーを相互に送信する必要がないことです。これにより、サードパーティ(おそらく、破損した郵便局員)が転送中にキーをコピーするのを防ぎ、そのサードパーティがアリスとボブの間で送信される今後のすべてのメッセージをスパイできるようにします。さらに、ボブが不注意で他の誰かにコピーを許可した場合 彼の キー、ボブへのアリスのメッセージは危険にさらされますが、他の人が使用するために別の南京錠を提供するため、他の人へのアリスのメッセージは秘密のままになります。
非対称暗号化では、暗号化と復号化に異なるキーを使用します。メッセージの受信者は、秘密鍵と公開鍵を作成します。公開鍵はメッセージ送信者に配布され、送信者は公開鍵を使用してメッセージを暗号化します。受信者は、受信者の公開鍵を使用して暗号化された暗号化されたメッセージを秘密鍵として使用します。
対称暗号化と比較して、この方法で暗号化を行うことには1つの大きな利点があります。安全でないチャネルを介して秘密(暗号化キーやパスワードなど)を送信する必要はありません。公開鍵は世界中に公開されます。秘密ではなく、秘密である必要もありません。秘密鍵は、それを生成したパーソナルコンピュータ上でぴったりと快適に保つことができます。どこにでも電子メールで送信したり、攻撃者が読んだりする必要はありません。
暗号化がWeb上の通信を保護する方法
何年もの間、SSL( セキュア・ソケット・レイヤー )プロトコルは、WebブラウザとWebサーバー間の暗号化を使用してWebトランザクションを保護し、途中でネットワークをスヌーピングする可能性のある人からユーザーを保護します。
SSL自体は概念的に非常に単純です。ブラウザが安全なページ(通常はhttps://)を要求したときに始まります
Webサーバーは、証明書とともに公開鍵を送信します。
ブラウザは、証明書が信頼できる当事者(通常は信頼できるルートCA)によって発行されたこと、証明書がまだ有効であること、および証明書が接続されたサイトに関連していることを確認します。
次に、ブラウザは公開鍵を使用してランダムな対称暗号化鍵を暗号化し、必要な暗号化されたURLとその他の暗号化されたhttpデータを使用してサーバーに送信します。
Webサーバーは、秘密鍵を使用して対称暗号化鍵を復号化し、ブラウザーの対称鍵を使用してURLとhttpデータを復号化します。
Webサーバーは、要求されたhtmlドキュメントとブラウザの対称鍵で暗号化されたhttpデータを送り返します。ブラウザは、対称鍵を使用してhttpデータとhtmlドキュメントを復号化し、情報を表示します。
そして今、あなたは安全にできます そのeBayアイテムを購入する 本当に必要ありませんでした。
あなたは何かを学びましたか?
ここまで進んだら、暗号化とその仕組みを理解するための長い旅の終わりです。ギリシャ人とローマ人による暗号化の初期、ルシファーの台頭、そして最後にどのようにSSLは、非対称暗号化と対称暗号化を使用して、eBayでふわふわのピンクのバニーを購入できるようにします。
How-To Geekでは、暗号化の大ファンであり、次のようなさまざまな方法を取り上げてきました。
- TrueCrypt入門(データを保護するため)
- Firefoxに自動Webサイト暗号化を追加する
- BitLocker To Goは、Windows7のポータブルフラッシュドライブを暗号化します
- ハードドライブを暗号化してLinuxPCを保護する方法
- Windows 7 / Vistaの右クリックメニューに暗号化/復号化オプションを追加する
- Mac OSXでのTrueCryptドライブ暗号化入門
もちろん、暗号化は非常に複雑なトピックであり、すべてを実際に説明することはできません。重要なことを見逃しましたか?コメントであなたの仲間の読者にいくらかの知識を自由に置いてください。