ECDSA
Meta
[ ] What is the first paper?
[ ] What is the security based on?
Notation
- \(q\) is the order of the elliptic curve group \(\mathbb{G}\).
- \(g\) is the generator of \(\mathbb{G}\).
- $.x$ refers to the x co-ordinate of a point.
- Let \(H_{q}: \{0,1\}^{*} \rightarrow \mathbb{Z}_{q}\) be a hash function modeled as a random oracle.
Algorithms
- \(Gen(1^{\kappa}) \rightarrow (sk, pk)\):
- Choose \(sk \leftarrow \mathbb{Z}^{*}_{q}\)
- Compute \(pk \leftarrow g^{x}\)
- \(Sign(sk, m) \rightarrow \sigma\):
- Choose \(k \leftarrow \mathbb{Z}^{*}_{q}\)
- Compute \(r \leftarrow g^{k}.x \mod{q}\)
- Compute \(m' \leftarrow H_{q}(m)\)
- Compute \(s \leftarrow (k^{-1}(m' + r\cdot sk)) \mod{q}\)
- Output \(\sigma := (r,s)\)
- \(Verify(pk, m, \sigma) \rightarrow \{0,1\}\):
- Compute \(m' \leftarrow H_{q}(m)\)
- Output \((g^{m\cdot s^{-1}}\cdot pk^{r\cdot s^{-1}}).x \mod{q} = r\)
- Correctness check:
- \((g^{m\cdot s^{-1}}\cdot pk^{r\cdot s^{-1}}).x \mod{q}\) is
- \(g^{s^{-1}\cdot (m+ sk \cdot r)}.x \mod{q}\) is
- \(g^{s^{-1}\cdot s \cdot k}.x \mod{q}\) is
- \(g^{k}.x \mod{q}\) is
- \(r\)