<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Basically there are three reasons:<br>
<br>
For portability, the code is usually written in C, which is not the
best language for templating.<br>
<br>
Usually the field arithmetic is specialized to the field for
performance reasons, so you'd have to rewrite it.<br>
<br>
Each curve has its own special quirks: extension fields,
endomorphisms, different cofactors, Edwards vs Weierstrass form,
etc.<br>
<br>
The upshot is that most libraries support either one curve, or a few
curves that are basically the same shape.<br>
<br>
-- Mike<br>
<br>
<div class="moz-cite-prefix">On 06/18/2015 10:05 AM, Ray Dillinger
wrote:<br>
</div>
<blockquote cite="mid:5582FA3D.4090804@sonic.net" type="cite">
<pre wrap="">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
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Curves mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Curves@moderncrypto.org">Curves@moderncrypto.org</a>
<a class="moz-txt-link-freetext" href="https://moderncrypto.org/mailman/listinfo/curves">https://moderncrypto.org/mailman/listinfo/curves</a>
</pre>
</blockquote>
<br>
</body>
</html>