デジタル署名アルゴリズム (DSA)
デジタル署名アルゴリズム (DSA) とは何ですか?
デジタル署名アルゴリズム (DSA) は、国立標準技術研究所 (NIST) によって提案されました。このアルゴリズムは、離散対数の計算の難しさに基づいています。
DSA は 1990 年代に米国政府によって開発されました。これは暗号化アルゴリズムではなく署名アルゴリズムであり、公開キー暗号化を使用してデジタル署名を生成します。
DSA には 3 つのステップがあります。
最初のステップは、キー ペアを生成することです。
2 番目のステップは、メッセージに署名することです。
3 番目のステップは、メッセージの署名を検証することです。
DSA キー ペアは、秘密キーと公開キーで構成されます。秘密キーはランダムに生成され秘密に保たれますが、公開キーは誰とでも共有できます。メッセージに署名するには、署名を生成する当事者が秘密キーを知っている必要がありますが、DSA 署名で署名されたメッセージを検証するには、署名の生成に使用された秘密キーに対応する公開キーのみが必要です。
デジタル署名は、デジタル メッセージまたはドキュメントの信頼性を証明する数学的スキームです。有効なデジタル署名は、メッセージが既知の送信者によって作成されたこと (認証)、およびメッセージが送信中に変更されていないこと (完全性) を示します。デジタル署名は、現代のコンピューター セキュリティと商取引の中心です。
DSA アルゴリズムを使用して、メッセージのデジタル署名を生成できます。通常、PGP や SSL/TLS などの他のセキュリティ プロトコルと組み合わせて使用されます。また、一部の暗号化ノンス スキームやキー交換プロトコルでも使用されます。
数学関数と一連のキーを使用して、インターネット上の通信を保護します。秘密キーはメッセージの署名に使用され、公開キーはそれらの署名が本物であることを確認するために使用されます。 2 つの異なるキーを使用すると、デジタル署名の信頼性を確保できます。
DSA アルゴリズムは、1985 年に開発された ElGamal 署名スキームに基づいていますが、その機能とデータの保護方法の点で多くの違いがあります。 DSA アルゴリズムでは、キーの生成とデータの署名に乱数ジェネレーターが必要ですが、ElGamal には必要ありません。 DSA アルゴリズムでは、メッセージに複数回署名したり、異なる鍵を使用したりしないことも指定されていますが、ElGamal では指定されていません。
デジタル署名アルゴリズム (DSA) の利点
デジタル署名は、メッセージの作成者がメッセージが署名後に変更されていないことを確認できるプロセスです。また、署名はユーザーを偽造から保護します。
非対称キー暗号化を使用します。したがって、追加の非対称キー暗号化は必要ありません。これにより、DSA は RSA などの他のアルゴリズムより高速になります。
署名の生成に 160 ビットのハッシュ値のみを使用するため、他のアルゴリズムよりも必要なメモリ スペースが少なくなります。