ダミーのための電子デジタル署名:それが何であり、どのようにチョークしないか。 パート3

パート1

パート2



このパートでは、デジタル署名から、通常の意味での直接的なデジタル署名や情報保護ではなく、暗号化とは異なる方向に少し逸脱します。 結局のところ、データの保護に関して最初に頭に浮かぶのは、このデータを悪意のある人に読んでもらうことではないということです。 したがって、PGPおよびS / MIME標準の検討を続ける前に、知識の空白部分をいくつか記入し、暗号化プロセスをより詳細に検討する価値があります。





人類が周囲の世界の印象をメディアに記録することを学んだ瞬間から、おそらく暗号とコードが存在します。 少し考えてみると、普通のアルファベットでさえすでに暗号化されています。 結局のところ、テキストを読むとき、頭の中で描かれた各シンボルは特定の音、音の組み合わせ、または概念全体に関連付けられており、読むことができない隣人の頭では、これはもう起こりません。



どの記号と何が比較されるのか分からないので、筆者が正確に何を意味しているかを理解することはできません。 たとえば、ヘブライ語または中国語で書かれたものを取り、読んでみてください。 あなたの母国語の概念がこれらの記号を使用して書かれている場合でも、これらの言語のアルファベット自体はあなたにとって乗り越えられない障害となります。



しかし、それでも、他人のアルファベットを使用するだけでは、データを保護するのに十分な手段ではありません。 確かに、アルファベットは、何らかの方法で使用するために作成されたものであり、このアルファベットが特徴的な言語と密接にリンクしています。 したがって、この言語とその基本的な概念のセットを学習した(または単にこの言語を知っている人のサービスを使用して)悪い人はあなたの情報を読むことができます。



そのため、限られた人しか知らないアルファベットを考え出し、それを使用して情報を書き留める必要があります。 きっと誰もがシャーロック・ホームズに関する一連の物語を読んだ(あるいは少なくとも聞いた)。 踊る人々で構成されたアルファベットがこのサイクルに登場しました(そして、多くの子供の頃、それに基づいて自分で作ったと思います)。 ただし、この物語が示すように、観察者はどのシンボルとそれが何を指しているのかを把握できます。 したがって、私たちの情報は再び間違った手に渡ります。



どうする? ますます複雑なアルファベットが登場しますか? しかし、アルファベットが複雑で扱いにくいほど、それを使用して秘密にしておくのは不便になります。 さらに、秘密について素晴らしい言葉があります。2人が知っている-彼らはすべてを知っています。 結局のところ、暗号の中で最も弱いリンクは、この暗号を解読する方法を知っている人です。



そして、暗号化方式をすぐに誰にも知られるようにしてはいけませんが、何らかの種類の鍵なしではデータを解読することは不可能でしょうか? 結局のところ、キーは(アルファベット全体とは異なり)小さく、それが(再び、アルファベット全体の処理とは異なり)非表示になりやすい場合、新しいキーを作成するのは非常に簡単です。 キーシステムの最も明らかな利点を次の例に示します。受信者は送信したメッセージを読む必要があります。 紙の上で。 秘密のアルファベットを使用するとしましょう。 次に、メッセージを読むには、受信者はアルファベットを知っており、復号化方法を説明する大きな埃っぽいタルムードを持っている必要があります(結局、アルファベットは信頼性を高めるために複雑でなければなりません)。 キーを使用すると、すべてがより簡単になります。メッセージをロック付きのボックスに入れ、受信者が適切なキーを挿入するだけで、ロックが完全に配置される方法を知る必要があります。

そのため、よく知られている「アルファベット」とキーは、単なるアルファベットよりもはるかに便利なメカニズムです。 しかし、単純なキーですべてを復号化するために、どのように暗号化することができますか? そしてここで、数学が助けになります。より具体的には、元のキャラクターを新しいキャラクターに置き換えるために使用できる数学関数です。



関数とは何かを思い出してください。 これは特定の比率であり、1つの数値から別の比率を取得できます。 xを知り、それを既知の関係y = A * xに代入すると、常にyの値が得られます。 しかし、原則として、逆も真です。yを知っていればxを取得できます。

原則として、常にではありません。 多くの依存関係では、yを取得するのは簡単ですが、xはすでに非常に困難であり、取得に時間がかかります。 現在使用されている暗号化の基礎となっているのは、まさにそのような依存関係です。



しかし、暗号化自体に戻ります。 暗号化は、 対称非対称 、および複合に分割さます。 それらのそれぞれの本質を考慮してください。



対称暗号化は概して 、古き良き秘密のアルファベットとわずかに異なるだけです。 実際のところ、暗号化と復号化に使用される比較的小さな数字のシーケンスであるキーの存在だけが異なります。 同時に、情報を交換する各当事者は、このキーを知って、秘密に保つ必要があります。 このアプローチの大きな利点は暗号化速度です。実際、キーはかなり単純で短い命令で、どの文字、いつ、どの文字を置き換える必要があるかです。 また、このキーは双方向で機能します(つまり、この暗号化方式は対称と呼ばれていたため、すべての文字を新しい文字に置き換えるか、すべてをそのまま返すことができます)。 同様に大きなマイナスは、情報が送信される両当事者がキーを知っている必要があるという事実です。 同時に、悪意のある人がキーを取得すると、彼はすぐに慎重に保護されたデータを読み取ります。つまり、キーを受信側に送信する問題は本格的なものになります。



非対称暗号化はやや複雑です。 ここでは、私たちと受信者の両方がすでにパブリックとプライベートと呼ばれる2つのキーを持っています。 私たちと受信者は秘密鍵を保持します(各人は自分の鍵のみを保存するため、私たちはすでにそれを知っている2人についての言い回しを超えていることに注意してください)。復元できません。 合計すると、受信者の公開鍵を暗号化に使用し、受信者は復号化に自分の秘密鍵を使用します。 このアプローチの利点は明らかです:実質的には何も異なる受信者と秘密情報の交換を簡単に開始できます(受信者がプライベートキーなどを紛失/付与していない、つまり悪意のある人の手に渡されていないという条件を想定しています)情報を送信するとき。 しかし、巨大なマイナスなしではできません。 この場合の暗号化と復号化は、非常に非常に遅く、対称暗号化の同様の操作よりも2〜3桁遅くなります。 さらに、この暗号化のリソースも大幅に消費されます。 また、これらの操作の鍵自体は、公開鍵の選択から可能な限り秘密鍵を保護する必要があるため、対称暗号化操作の鍵よりも大幅に長くなります。 したがって、この方法で大量の情報を暗号化することは、単に採算が取れません。



非対称暗号化の例[ウィキペディア]

e-受信者の公開鍵B

d-受信者の秘密鍵B

m-送信者Aのソース情報

c-暗号化されたソース情報



そして再び疑問が生じます:何をすべきか? そして、次のことを行う必要があります。両方の方法を採用し、 組み合わせます。 実際に、これが複合暗号化の方法です。 大量のデータを最初の方法で暗号化し、暗号化に使用したキーを受信者に渡すために、2つ目の方法でキーを暗号化します。 その後、非対称暗号化も遅くなりますが、暗号化されたデータ(つまり、ビッグデータが暗号化されるキー)の量は少なくなります。つまり、復号化が十分に迅速に行われ、その後、高速の対称暗号化が作用します。





複合システムアプリケーションの例[Wikipedia]



これらのメカニズムはすべて実際に適用されており、大規模なキャンプPGPとS / MIMEの両方で使用されています。 最初の記事で述べたように、 非対称暗号化はデジタル署名に使用されます(つまり、ハッシュを暗号化します)。 このアプリケーションと従来の非対称暗号化の違いは、秘密鍵が暗号化に使用され、復号化には関連する公開鍵(つまり、私たちのもの)が十分に存在することです。 公開キーを非表示にしないため、ハッシュは個々の受信者だけでなく誰でも読み取ることができます。これはデジタル署名に必要なものです。

送信されたデータを暗号化するために、両方の標準で複合暗号化が直接使用されます。



したがって、デジタル署名を使用してデータをなりすましから保護し始めると、自動的に(これら2つの標準について)データを読み取りから保護する素晴らしい機会が得られます。これは非常に便利です。



データを保護するために使用されるメカニズムの一般原則に精通したので、最終的に実践に移り、何を使用するかを検討できます。 しかし、それについては次の記事で詳しく説明します。



All Articles