各ユーザは秘密鍵(実印に相当)を他人が使用することができないように保管する一方、公開鍵(印鑑証明書に相当)を皆に公開する。ユーザの秘密鍵を知っている(使うことができる)のはユーザ自身だけであるのに対し、そのユーザの公開鍵は全てのユーザが容易に知りうることになる。公開鍵、秘密鍵をそれぞれ検証鍵、署名鍵ともいう。一度事前準備をすませたユーザは、何度でも秘密鍵(署名鍵)を用いて電子文書に電子署名することができる。電子署名するには、まず署名生成アルゴリズムにメッセージを入力する。すると署名生成アルゴリズムはメッセージに対する署名者の署名文を出力する。署名を作成したユーザをその署名文に対する署名者という。署名者は署名文を作成するときに、メッセージとともに自分の秘密鍵を入力する。署名者の秘密鍵を知っている(使うことができる)のは署名者本人だけのはずなので、署名者以外の人は同じ方法で同じ署名を作成することはできないことになり、この性質が電子署名を付した電子文書の作成者を識別する根拠になる。署名者は、メッセージとそれに対する署名文を他のユーザに送る。メッセージと署名文を受け取ったユーザ(検証者)は、これらを入力して検証アルゴリズムを実行することによって署名文が正しいかどうかを検証することができる。このとき、検証者は検証アルゴリズムに署名者(だと推定されるユーザ)の公開鍵(検証鍵)も入力する。(公開鍵は公開情報なので、検証者は署名者の公開鍵を知ることができる)。検証アルゴリズムは署名文が本当にそのユーザによって作成されたか否かを判定し、その結果を出力する。公開鍵の認証.改竄の防止.一般に電子署名は、単なる本人認証よりも偽造・改竄の防止を目的とする場合が多い。その場合には署名生成アルゴリズムに入力するメッセージとして、文書そのものではなく文書の改竄検出符号を用いる。これは、電子署名のサイズを文書のサイズよりも小さくする効果もある。不適切な改竄検出符号(例えば改竄検出符号の代わりにCRCなどの誤り検出符号)を用いると、電子署名が施されていても偽造や改竄が容易になる。したがって、電子署名は、用いられる改竄検出符号を含めて評価されることがある。電子文書の真正な成立の推定.