ホームページ > よくある問題 > 世界で最も主流の暗号化アルゴリズム

世界で最も主流の暗号化アルゴリズム

(*-*)浩
リリース: 2019-09-02 15:05:14
オリジナル
12351 人が閲覧しました

地球を揺るがす画期的なアルゴリズム、コンピューティング能力がなければ解読できない暗号化アルゴリズム

世界で最も主流の暗号化アルゴリズム

##RSA アルゴリズム 歴史的段階からの脱却 (推奨学習: ウェブフロントエンド ビデオ チュートリアル)

時は 1976 年にやって来ました。2 人のアメリカ人コンピューター科学者、ホイットフィールド ディフィーとマーティン ハーバート マーティン ヘルマンは、鍵を直接送信しなくても復号化が完了できることが初めて証明されました。これは「ディフィー・ヘルマン鍵交換アルゴリズム」と呼ばれます。

DH アルゴリズムの出現には画期的な意義があります。この瞬間から、ルール間に一定の対応関係がある限り、暗号化と復号化に異なるルールを使用できることが人々に啓発されることになります。

この新しいモードは、「非対称暗号化アルゴリズム」とも呼ばれます:

(1) 当事者 B は、公開鍵と秘密鍵の 2 つの鍵を生成します。公開キーは公開されており、誰でも取得できますが、秘密キーは秘密に保たれます。

(2) 当事者 A は当事者 B の公開キーを取得し、それを使用して情報を暗号化します。

(3) 当事者 B は、暗号化された情報を取得し、秘密鍵を使用して復号します。

公開鍵で暗号化された情報は秘密鍵でのみ復号できるため、秘密鍵が漏洩しない限り通信は安全です。

DH アルゴリズムの発明からちょうど 1 年後の 1977 年、ロン リベスト、アディ シャミール、レナード エイドルマンは、MIT で一緒に RSA アルゴリズムを提案しました。RSA は、彼らの姓の頭文字を綴ったもので構成されています。 。

新しく誕生した RSA アルゴリズムは、DH アルゴリズムが鍵の配布のみに使用されるのに対し、RSA アルゴリズムは情報の暗号化とデジタル署名に使用できるため、DH アルゴリズムよりも強力な特性を備えています。さらに、RSA アルゴリズムのキーが長くなるほど、クラッキングの難易度は指数関数的に増加します。

その強力なパフォーマンスにより、コンピュータ ネットワークのあるところには必ず RSA アルゴリズムがあると言っても過言ではありません。

これが RSA アルゴリズムの仕組みです

RSA アルゴリズムは世界中で有名ですが、どのように機能するのですか?

最初のステップでは、2 つの等しくない素数 p と q をランダムに選択します。

2 番目のステップは、p と q の積 n を計算することです。 n の長さはキーの長さであり、通常は 2 進数で表され、一般的な長さは 2048 ビットです。桁数が長いほど解読が難しくなります。

3 番目のステップは、n のオイラー関数 φ(n) を計算することです。

4 番目のステップは、整数 e をランダムに選択することです (1 5 番目のステップは、φ(n) に関する e の逆剰余要素 d を計算することです。いわゆる「剰余逆元」とは、ed を φ(n) で割った余りを 1 にする整数 d が存在することを意味します。

6 番目のステップでは、n と e を公開キー (n,e) にカプセル化し、n と d を秘密キー (n,d) にカプセル化します。

ユーザー A が暗号化された情報 m をユーザー B に送信したいと考え、公開鍵 (n,e) を使用して m を暗号化したいとします。暗号化プロセスは実際には次のような式になります。

ユーザー B は情報 c を受け取った後、秘密キー (n, d) を使用してそれを復号化します。復号化プロセスも次の式になります。

このようにして、ユーザー B は、ユーザー A が送信したメッセージが m であることがわかります。

ユーザー B が番号 d を秘密にしている限り、送信された情報 c に基づいて暗号化された情報 m を他人が取得することはできません。

RSA アルゴリズムは公開鍵として (n, e) を使用します。n と e がわかっている場合に d を推定することは可能ですか?

(1)ed≡1 (mod φ(n))。 e と φ(n) を知ることによってのみ、d を計算できます。

(2)φ(n)=(p-1)(q-1)。 p と q を知ることによってのみ、φ(n) を計算できます。

(3)n=pq。 n を因数分解することによってのみ、p と q を計算できます。

つまり、n を非常に単純に分解できれば、d を計算するのは簡単です。これは、情報が解読されていることを意味します。

しかし、現在、大きな整数の因数分解は非常に困難です。現時点では、総当たりクラッキング以外に有効な方法は見つかっていません。つまり、キーの長さが十分に長い限り、RSA で暗号化された情報を実際には復号化することはできません。

RSA アルゴリズムは人間のあらゆる側面に徐々に適用されています

RSA アルゴリズムの信頼性により、このテクノロジーは現在多くの場所で適用されています。

最も重要な用途は、インターネット上の情報送信の保護です。 RSAアルゴリズムを採用しているため、たとえ通信途中で傍受されても解読が困難であり、情報通信の安全性を確保します。秘密鍵を持っている人だけが情報を解釈できます。

銀行取引用の U シールドは、ユーザーの身元を証明する唯一の証明書です。 USB シールドを初めて使用するときは、RSA アルゴリズムを使用して秘密キーが生成され、USB シールドに保存されます。将来の使用では、秘密キーを使用してトランザクション情報が復号化され、その後のトランザクション操作が実行され、ユーザーの利益が保護されます。

現在、偽物や粗悪な製品が数多く存在しており、企業は何らかの偽造防止手段を講じる必要があります。現在、最も一般的なのは QR コード偽造防止で、消費者が簡単なスキャン操作で製品を確認できるようになります。しかし、QRコードを平文で表示すると犯罪者に悪用されやすいため、現在では消費者の利益を守るためにRSAアルゴリズムを利用してQRコードの平文を暗号化する人もいます。

以上が世界で最も主流の暗号化アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート