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