Basically there are three reasons:

For portability, the code is usually written in C, which is not the best language for templating.

Usually the field arithmetic is specialized to the field for performance reasons, so you'd have to rewrite it.

Each curve has its own special quirks: extension fields, endomorphisms, different cofactors, Edwards vs Weierstrass form, etc.

The upshot is that most libraries support either one curve, or a few curves that are basically the same shape.

-- Mike

On 06/18/2015 10:05 AM, Ray Dillinger wrote:
I may be ignorant here but I'm wondering why adding support for
a different curve is such a big deal for all these libraries and
programs.

Isn't a curve just a block of static parameters which some
generic ECC code can work on?  Why isn't adding a curve just a
matter of defining a data block?

                                Bear



_______________________________________________
Curves mailing list
[email protected]
https://moderncrypto.org/mailman/listinfo/curves

_______________________________________________
Curves mailing list
[email protected]
https://moderncrypto.org/mailman/listinfo/curves

Reply via email to