<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>