電子署名
電子署名(G,S,V)は次の要件を満たさねばならない: Correctness:正当な署名者が作った署名文は、検証を通過する。 Security: 検証を通過するのは正当な署名者が作った署名文に限る。
ただしここで「正当な署名者」というのは、検証に用いた公開鍵に対応する秘密鍵の持ち主を指す。
一般に電子署名は、単なる本人認証よりも偽造・改竄の防止を目的とする場合が多い。その場合には署名生成アルゴリズムに入力するメッセージとして、文書そのものではなく文書の改竄検出符号を用いる。これは、電子署名のサイズを文書のサイズよりも小さくする効果もある。不適切な改竄検出符号(例えば改竄検出符号の代わりに CRC などの誤り検出符号)を用いると、電子署名が施されていても偽造や改竄が容易になる。 したがって、電子署名は、用いられる改竄検出符号を含めて評価されることがある。
署名オラクルとは、攻撃者Aから平文mを送信されると、秘密鍵skを使ってmに対する署名文s=Ssk(m)を作成し、sをAに送信するオラクルの事である。 攻撃者Aの目標は、平文mと署名文sとの組(m,s)で検証を通り、しかも署名オラクルOにmを送信していないものを出力する事。 そのような(m,s)を作成できればAの勝ち、そうでなければAの負けである。 以上の実験をより形式的に書くと、以下の通り。 Experiment
( p k , s k ) ← G ( 1 k ) {\displaystyle (\mathbf {pk} ,\mathbf {sk} )\gets G(1^{k})}
( m , s ) ← A O ( s k , ⋅ ) ( 1 k , p k ) {\displaystyle (m,s)\gets A^{O(\mathrm {sk} ,\cdot )}(1^{k},\mathbf {pk} )}
If( A {\displaystyle A{}} が O ( s k , ⋅ ) {\displaystyle O(\mathbf {sk} ,\cdot )} に m {\displaystyle m{}} を聞いた事がある) Return LOSE