ホームページ よくある問題 現在一般的に使用されているデジタル署名アルゴリズムは何ですか?

現在一般的に使用されているデジタル署名アルゴリズムは何ですか?

Dec 10, 2019 pm 01:51 PM
番号

デジタル署名を実装するにはさまざまな方法があります。現在、デジタル署名には公開鍵暗号技術が主に使用されています。1994 年に米国標準技術研究所がデジタル署名標準を発表し、公開鍵暗号技術は広く使われるようになりました。

現在一般的に使用されているデジタル署名アルゴリズムは何ですか?

#公開キー暗号化システムは、非対称暗号化アルゴリズムを使用します。このうち、DES は対称暗号アルゴリズム、EDI は非暗号アルゴリズム、RSA と 13SA はいずれも非対称暗号アルゴリズムであり、データ暗号化とデジタル署名の両方に使用できる初めてのアルゴリズムです。分かりやすく、操作も簡単で、セキュリティも高く、よく使われています。

RSA 暗号化アルゴリズムは、非対称暗号化アルゴリズムです。 RSA は、公開キー暗号化と電子商取引で広く使用されています。 (推奨学習: Web フロントエンド ビデオ チュートリアル )

RSA は、1977 年に Ron Rivest、Adi Shamir、Leonard によって開発されました。Leonard Adleman と共同で提案されました。

当時、3 人全員が MIT で働いていました。 RSA は、姓の頭文字を綴ったものです。

1973 年、英国政府通信本部に勤務する数学者クリフォード コックスは内部文書で同一のアルゴリズムを提案しましたが、彼の発見は機密扱いとなり、1997 年まで公表されませんでした。

非常に大きな整数を因数分解する難しさによって、RSA アルゴリズムの信頼性が決まります。言い換えれば、非常に大きな整数を因数分解するのが難しいほど、RSA アルゴリズムの信頼性が高くなります。誰かが高速ファクタリング アルゴリズムを発見した場合、RSA で暗号化された情報の信頼性は確実に劇的に低下するでしょう。

しかし、そのようなアルゴリズムが見つかる可能性は非常に低いです。現在、ブルートフォースによってクラックできるのは短い RSA キーのみです。今のところ、RSA アルゴリズムを攻撃する信頼できる方法は世界中にありません。キーの長さが十分に長い限り、RSA で暗号化された情報を実際に解読することはできません。

1983 年、MIT は米国で RSA アルゴリズムの特許を申請しました。この特許は 2000 年 9 月 21 日に期限切れになりました。このアルゴリズムは特許出願前に公開されたため、世界の他のほとんどの地域では特許権が認められていません。

RSA 公開キー暗号システム。いわゆる公開鍵暗号方式は、異なる暗号鍵と復号鍵を使用し、「既知の暗号鍵から復号鍵を導出することが計算上不可能」な暗号方式です。

公開鍵暗号方式では、暗号化鍵 (公開鍵) PK は公開情報ですが、復号鍵 (秘密鍵) SK は秘密にしておく必要があります。暗号化アルゴリズム E と復号アルゴリズム D も公開されています。復号鍵SKは公開鍵PKによって決まるが、大きな数nに対するオイラー関数phi(N)は計算できないため、PKに基づいてSKを計算することはできない。

有名な RSA アルゴリズムが 1978 年に登場したのは、この理論に基づいています。通常、最初に RSA キーのペアが生成され、そのうちの 1 つは秘密キーでユーザーによって保存され、もう 1 つは公開キーです。 key は公開することができ、Web サーバーに登録することもできます。

機密性を高めるには、RSA キーの長さは少なくとも 500 ビットである必要があり、通常は 1024 ビットが推奨されます。これにより、暗号化の計算負荷が高くなります。計算量を削減するために、情報を送信する際には、従来の暗号化方式と公開鍵暗号化方式を組み合わせて使用​​することがよくあります。つまり、情報を改良した DES キーまたは IDEA キーで暗号化し、その後 RSA キーを使用します。会話キーと情報ダイジェストを暗号化します。相手はメッセージを受信すると、別のキーを使用して復号化し、メッセージの概要を確認できます。

RSA アルゴリズムは、暗号化と電子署名の両方に使用できる初めてのアルゴリズムであり、理解しやすく、操作も簡単です。 RSA は最も広く研究されている公開鍵アルゴリズムです。導入以来 30 年以上にわたり、さまざまな攻撃を受けてきましたが、徐々に人々に受け入れられてきました。2017 年の時点では、一般に最良の公開鍵スキームの 1 つと考えられています。1 。

以上が現在一般的に使用されているデジタル署名アルゴリズムは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iOS 17: スタンバイモードでiPhoneの時計スタイルを変更する方法 iOS 17: スタンバイモードでiPhoneの時計スタイルを変更する方法 Sep 10, 2023 pm 09:21 PM

スタンバイは、iPhone が充電器に接続され、水平 (または横) 向きになっているときにアクティブになるロック画面モードです。これは 3 つの異なる画面で構成されており、そのうちの 1 つは全画面表示されます。時計のスタイルを変更する方法については、この記事を読んでください。 StandBy の 3 番目の画面には、垂直にスワイプできるさまざまなテーマで時刻と日付が表示されます。一部のテーマでは、温度や次のアラームなどの追加情報も表示されます。時計を押し続けると、デジタル、アナログ、ワールド、ソーラー、フローティングなどのさまざまなテーマを切り替えることができます。 Float はカスタマイズ可能な色の大きなバブル数字で時間を表示します。Solar はさまざまな色の太陽フレアのデザインを備えたより標準的なフォントを持ち、World は世界を強調表示して表示します。

数値を小数点以下 n 桁に四捨五入する C++ プログラム 数値を小数点以下 n 桁に四捨五入する C++ プログラム Sep 12, 2023 pm 05:13 PM

数値を出力として表現することは、どの言語でプログラムを作成する場合でも興味深い、重要な作業です。整数型 (short、long、または Medium 型のデータ) の場合、出力として数値を表すのは簡単です。浮動小数点数 (float または double 型) の場合、特定の小数点以下の桁数に四捨五入する必要がある場合があります。たとえば、52.24568 を小数点以下 3 桁で表現したい場合は、前処理が必要です。この記事では、浮動小数点数を四捨五入して特定の小数点以下の桁数に表現するいくつかのテクニックを紹介します。さまざまなアプローチの中でも、C に似たフォーマット文字列を使用すること、precision 引数を使用すること、および数学ライブラリのround() 関数を使用することが重要です。一つずつ見ていきましょう。と

JavaScript で乱数と文字列を生成する JavaScript で乱数と文字列を生成する Sep 02, 2023 am 08:57 AM

乱数や英数字の文字列を生成する機能は、多くの状況で役立ちます。これを使用して、ゲーム内のさまざまな場所に敵や食べ物をスポーンできます。これを使用して、ユーザーにランダムなパスワードを提案したり、ファイルを保存するためのファイル名を作成したりすることもできます。 PHP でランダムな英数字文字列を生成する方法に関するチュートリアルを書きました。この投稿の冒頭で、真にランダムなイベントはほとんどないと述べましたが、乱数や文字列の生成にも同じことが当てはまります。このチュートリアルでは、JavaScript で擬似ランダムな英数字文字列を生成する方法を説明します。 JavaScript での乱数の生成 まずは乱数を生成してみましょう。最初に思い浮かぶメソッドは Math.random() です。これは浮動小数点を返します。

C++ を使用して N 番目の非平方数を見つけるコードを作成する C++ を使用して N 番目の非平方数を見つけるコードを作成する Aug 30, 2023 pm 10:41 PM

私たちは皆、2、3、5、7、8 など、数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C++ で N 番目の非平方数を見つける方法についてすべて説明します。 N 番目の非平方数 数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全平方数の例としては、-1issquareof14issquareof29issquareof316issquareof425issquareof5 などがあります。数値がどの整数の平方でもない場合、その数値は非正方形と呼ばれます。たとえば、最初の 15 個の非平方数は -2、3、5、6 です。

PHPのis_numeric()関数を使用して数値かどうかを確認します PHPのis_numeric()関数を使用して数値かどうかを確認します Jun 27, 2023 pm 05:00 PM

PHP プログラミング言語では、is_numeric() 関数は非常によく使用される関数で、変数または値が数値かどうかを判断するために使用されます。実際のプログラミングでは、ユーザーが入力した値が数値型であるかどうかを検証する必要がある場合が多く、この場合には is_numeric() 関数を使用して判定することができます。 1. is_numeric() 関数の概要 is_numeric() 関数は、変数または値が数値であるかどうかを検出するために使用される関数です。変数または値が数値の場合は true を返します

C++ を使用して、範囲内のどの数値でも割り切れない数値を検索します。 C++ を使用して、範囲内のどの数値でも割り切れない数値を検索します。 Sep 13, 2023 pm 09:21 PM

この記事では、2 から 10 までのどの数値でも割り切れない 1 から n (指定された) までの数値を見つける問題について説明します。いくつかの例でこれを理解しましょう - 入力:num=14出力:3説明:Therearethreenumbers,1,11,and13,thatarenotdivisible.Input:num=21Output:5説明:Therearefivenumbers1,11,13,17,and19,thatarenotdivisible. 解決済み シンプルなメソッド if

Java の数値 (接頭辞と文字列が 0 の場合) Java の数値 (接頭辞と文字列が 0 の場合) Aug 29, 2023 pm 01:45 PM

Java の数値 数値クラスは有形のクラスではなく、抽象クラスであることを理解することが重要です。その中には、その機能を定義する一連のラッパー クラスがあります。これらのラッパー クラスには、Integer、Byte、Double、Short、Float、Long が含まれます。これらは前に説明したのと同じ基本的なデータ型ですが、クラスの命名規則に準拠するために大文字の名前を持つ別のクラスとして表されていることに気づくでしょう。コンパイラは、特定の関数またはプログラム スコープの必要に応じて、プリミティブ データ型をオブジェクトに、またはその逆に自動的に変換します。数値クラスは java.lang パッケージの一部です。このプロセスは、オートボックス化およびアンボックス化と呼ばれます。数値クラスとそれに対応するラッパー クラスの抽象的な性質を理解することで、次のことが可能になります。

C++ で数値を可能な最大数の素数の合計として表現します。 C++ で数値を可能な最大数の素数の合計として表現します。 Aug 31, 2023 pm 04:29 PM

たとえば、数値 N が与えられた場合、その数値を最大の素数に分割する必要があるという問題について説明します。N から素数を引いて、素数の差を確認できます。差が素数であれば、N を 2 つの素数の和として表すことができます。しかし、ここで私たちはしなければなりません