デジタル署名
RSA
DSA
ECDSA
ElGamal署名
否認不可署名(Undeniable signature)
SHA
EdDSA
RSA-SHA
ECDSA-SHA
Rabin signature algorithm
Pointcheval-Stern signature algorithm
Schnorr signature
Aggregate signature - 集約に対応したデジタル署名: n人の別々の利用者からn個の別々のメッセージでn個の署名が与えられた時、それら全ての署名を一つの短い書名に集約する事が可能。この単一の署名はn人の利用者がn個の元のメッセージへ確かに署名したと検証者に納得させるであろう。
直接使われると、この種類の署名方式は存在的偽造への唯鍵攻撃に対して脆弱である。偽造文書を作り出すため、攻撃者は任意の署名σを取り出し、そしてその署名に対応する文書mを見つけ出すために検証処理を使用する。しかしながら、実際にはこの種類の署名が直接使われる事は無い。もっと正確に言えば、署名される文書は、最初にハッシュ化されて短い要約(メッセージ・ダイジェスト)となり、要約に対して署名処理がなされる。その結果、この偽造攻撃はσに対応するハッシュ関数の出力を生成するだけである。ハッシュ関数の出力は元の文書の有用性に繋がる物ではなく、攻撃を招く事にはならない。ランダム・オラクル・モデルでは、署名のこのhash-and-decrypt形式は、選択文書攻撃でさえ存在的偽造は不可能である。
文書全体の代わりにそのようなハッシュ(またはメッセージ・ダイジェスト)に署名する幾つかの理由がある。
効率性: 一般的にハッシュを計算する事は実際に署名する事より遥かに速いので、署名は非常に短くなり従って時間を節約するようになる。
互換性: 文書は通常ビット列であるが、ある署名方式は他の定義域で動作する(例えばRSAの場合、合成数Nを法とする整数)。ハッシュ関数は任意の入力を適切な形式へ変換する事に使う事ができる。
完全性: ハッシュ関数が無い場合は、"署名すべき"文章は、署名方式が直接処理できるように小さい単位に分割されなければならないであろう。しかしながら、署名された部分の受信者は、全ての部分が適切な順番で存在しているかどうか、認識する事ができない。
以下はデジタル署名をコミュニケーションに適用する最も一般的な理由である。