2

For Elliptic curves defined over $GF(2^n)$, by adding any two points P and Q over $GF(2^n)$ we get the third point over $GF(2^n)$. In Elliptic Curve Digital Signature Algorithm (ECDSA) https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm , there is a usage of prime numbers, particularly for the calculation of multiplicative inverse. It works fine for the Weierstrass form of Elliptic curve over $GF(P)$.

Now, I want to implement ECDSA using a binary form of Elliptic curve (like Hessian curve), but every time I am doing it, it is giving the wrong answer. My question is, is it not possible to use any curve over $GF(2^n)$ for an implementation like this?

2 Answers2

3

Yes it can. The only variation from the wikipedia article is in step 5 where it states to calculate $r\equiv x_1\pmod{n}$. This does not make sense when $x_1$ isbn element of a binary field. Instead binary field elements are converted to integers by a standards prescribed process (see ANSI X9.62-1984 section 4)

Daniel S
  • 29,316
  • 1
  • 33
  • 73
-3

Try to see Ukrainian standard DSTU-4145. It has almost same algorithm but another.

The calculation of the signature can be found on page 15 in pdf document (actually it is 21 page). The algorithm used for verification is shown slightly below that. This standard is using binary fields over optimal normal/polynomial basis. The base algorithms that are used in the calculation are described at the beginning of the standard.

Unfortunately the paper is in Ukrainian, there doesn't seem to be an English copy.

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323