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?

  • $\begingroup$ If you really want to implement it, you can use Stack Overflow to ask for help. In Cryptography.SE we are no interested in the implementation problems. As you can see a recent problem has been migrated to so $\endgroup$ – kelalaka Mar 8 at 12:50
  • $\begingroup$ No, I was just asking logic-wise.... like is it possible? to use a binary curve for ECDSA where operations are done using prime numbers? $\endgroup$ – DEBASMITA DEY Mar 8 at 12:51
  • $\begingroup$ Also, the rational point of a curve defined over a field $E(K)$ form an abelian group where it is usual to define a Z-Module with scalar multiplication. The field for the underlying curve has only an effect on the security, the number of points, and efficient implementations. Therefore it is possible. $\endgroup$ – kelalaka Mar 8 at 12:52
  • $\begingroup$ Okay, thanks! looking through the links. $\endgroup$ – DEBASMITA DEY Mar 8 at 12:54

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)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.