「DSA(Digital Signature Algorithm)」とは

「DSA(Digital Signature Algorithm)」とは、DLP(Discrete Logarithm Problem:離散対数問題)の困難性をベースとしたElGamal方式を改良して、署名の長さを160bit×2に短縮し、秘密鍵の生成などを特定の方法で運用するデジタル署名アルゴリズムである。

» 2019年03月25日 05時00分 公開

 「DSA(Digital Signature Algorithm)」とは、DLP(Discrete Logarithm Problem:離散対数問題)の困難性をベースとしたElGamal方式を改良して、署名の長さを160bit×2に短縮し、秘密鍵の生成などを特定の方法で運用するデジタル署名アルゴリズムである。

 以下、DSAにおけるパラメーター生成、鍵生成、署名、検証について順番に説明する。

  • パラメーター生成

 最初にパラメーターの生成を行う。ここで重要となるのは、選択する「暗号学的ハッシュ関数」と、鍵長の長さである。

 暗号学的ハッシュ関数とは、情報セキュリティ(暗号)用途において良い性質を持ったハッシュ関数のことをいう。そのような関数として、以前のDSAではSHA-1が選択されていたが、現在ではSHA-2も選択可能となっている(FIPS 186-4およびFIPS 180-4を参照)。

 鍵長は暗号の強度に影響を与えるパラメーターである。

  • 鍵生成

 パラメーター生成の後、鍵ペア、つまり公開鍵と秘密鍵を生成する。

  • 署名

 署名は、署名したいメッセージと、先に選択したハッシュ関数、生成した鍵ペア(公開鍵、秘密鍵)を基に行う。2つの値の組みが署名値となり、メッセージに付帯される。

  • 検証

 署名の検証はメッセージと署名と公開鍵を基に行う。

関連用語

電子署名
暗号アルゴリズム
暗号化/復号

■更新履歴

【2004/1/1】初版公開。

【2019/3/25】最新情報に合わせて内容を書き直しました(セキュリティ・キャンプ実施協議会 著)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。