¿Cuáles son las ventajas de la criptografía de curva elíptica usando campos binarios sobre campos primos y viceversa?

Seguridad:
No hay ataques conocidos que debiliten en gran medida cualquiera de las clases de curvas. Sin embargo, existe cierta preocupación por las curvas binarias debido a las recientes mejoras en el ataque de logaritmos discretos sobre campos de características pequeñas. Estos ataques aún no son importantes para las curvas elípticas a menos que tenga un emparejamiento. Por lo tanto, no use emparejamientos en campos de características pequeñas. Pero podría valer la pena ir con una curva de primer campo para la seguridad a largo plazo.

Velocidad:
Las curvas binarias son más pequeñas y rápidas en hardware que las de campo principal. Esto se debe a que tienen fórmulas más cortas, y porque las operaciones binarias no tienen acarreos, y porque la cuadratura binaria es muy barata (es lineal). Puede encontrar un documento de implementación de curva binaria reciente en https://eprint.iacr.org/2013/131….

Las curvas de primer campo suelen ser más rápidas en las CPU de uso general, porque esas CPU suelen tener un circuito multiplicador entero gigante, y no suelen tener un circuito multiplicador binario gigante. Sin embargo, como muestra el documento anterior, el PCLMULQDQ de Intel da acceso a un multiplicador binario gigante (especialmente en Haswell) y puede mover cosas a favor de las curvas binarias.

Las curvas de campo principal más rápidas en estos días son las curvas de Edwards. Ver, por ejemplo, http://www.iacr.org/archive/asiacrypt2008/53500329/53500329.pdf. La desventaja de las curvas de Edwards es que son ligeramente especiales (tienen cofactores divisibles por 4). Por ejemplo, las curvas NIST no se pueden poner en forma de Edwards.

Cualquier tipo de curva puede mejorar su velocidad utilizando formas elegantes (Edwards, Lambda, etc.) y, para ciertas curvas, endomorfismos. Ver, por ejemplo, https://eprint.iacr.org/2011/608….

Editar: David Wong sugirió que mencionara las curvas de Montgomery. Esta es una forma de curva muy simple y rápida que es principalmente adecuada para la curva elíptica Diffie Hellman. Son equivalentes (isomorfas e isógenas) a las curvas de Edwards, por lo que puede usar la forma Montgomery de una curva dada para ECDH y la forma Edwards para otros protocolos que no funcionan bien en la forma Montgomery. En comparación con la forma de Edwards, la forma de Montgomery es casi tan rápida y mucho más simple para ECDH, más lenta para keygen y más lenta y más complicada para otras situaciones. La curva más popular de Montgomery es Curve25519.

Otra edición al mismo tiempo: el cofactor de 4 puede eliminarse por diversos medios para crear un grupo de primer orden, por lo que esto es solo una pequeña desventaja. Pero todavía no hay una forma rentable de escribir las curvas NIST en forma de Edwards.

Una tercera edición: el algoritmo keygen más rápido que conozco es el algoritmo “firmados todos los peines de conjunto de bits”. Se describe en mi artículo en Cryptology ePrint Archive: Report 2012/309.

Propiedad intelectual:
Las curvas elípticas todavía están algo cargadas de IP. Por ejemplo, la patente de compresión de puntos probablemente expira este julio. Tengo la impresión de que las curvas elípticas binarias están más gravadas que las de campo primario. Esto se debe a que Certicom trabajó mucho en ellos en los años 90 y patentó todo. (También patentaron cosas de primer campo, pero ya se sabía más de eso). Sin embargo, podría estar equivocado sobre esto, ya que no lo he investigado recientemente.