Overview

ECB - Elliptic Curve Builder - is a generator of ordinary elliptic curves. The curves over GF(P), GF(2N) and GF(3N) are built using the so-called complex multiplication method. Even if, for some reasons, one does not trust the curves produced with ECB, they remain useful in order to test and/or to tune ECC applications.

Executable for Linux 64-bit (Ubuntu 18.04/x86-64 architecture)
Compiled with Free Pascal 3.0.4 and Lazarus 1.8.2
ECB screenshot

Properties of a curve created with ECB

  • over GF(P)
    • equation y2 = x3 + Ax + B;
    • the order is U = R*K with R prime and K < R;
    • the binary size of the prime modulus P may be any in 30..1536.

  • over GF(2N)
    • equation y2 + xy = x3 + Ax2 + B;
    • the order is U = R*K with R prime and K < R;
    • the field degree N may be any in 30..1024;
    • the basis of the field GF(2N) may be polynomial or normal.

  • over GF(3N)
    • equation y2 = x3 + Ax2 + B;
    • the order is U = R*K with R prime and K < R;
    • the field degree N may be any in 20..768;
    • the basis of the field GF(3N) may be polynomial or normal.


Examples of use
Over GF(P)
Parameters ---------- P = 81598516213282754316057565591253440513595901172568168425578611827 Discriminant = -261762 Class number = 288 Order U = R*K with R BPSW-prime ------------------------------- U = 81598516213282754316057565591253746600275322583683770317215734358 R = 40799258106641377158028782795626873300137661291841885158607867179 K = 2 U binary size = 216 R binary size = 215 K binary size = 2 MOV condition ------------- (P**e mod R) <> 1 for all e in 1..200 Field GF(P) ----------- P = 81598516213282754316057565591253440513595901172568168425578611827 J-invariant ----------- J = 39478255298952272494102096060286924102007387693101885025049078757 Curve (y**2 = x**3 + Ax + B) of order R*K ----------------------------------------- R = 40799258106641377158028782795626873300137661291841885158607867179 K = 2 A = -3 B = 39203769498218508684097448848632530914621544507728641390082973841 Base point G (of order R) ------------------------- X = 43476061527435728668477113342291061267119890801047274484944180244 Y = 43201194101978834386880648267297883678441846149320875637805690899


Over GF(2N)
Parameters ---------- Field degree = 223 Discriminant = -679351 Class number = 446 Order U = R*K with R BPSW-prime ------------------------------- U = 13479973333575319897333507543509814922446042298823059087804060576348 R = 3369993333393829974333376885877453730611510574705764771951015144087 K = 4 U binary size = 223 R binary size = 221 K binary size = 3 K factorization = 2**2 MOV condition ------------- (2**e mod R) <> 1 for all e in 1..2230 Field GF(2**223) ---------------- Field polynomial = [223,33,0] Basis type = Polynomial J-invariant ----------- J = 16#2F7C2925C50877B0BF396F8A767F2E855CB87DAA112FFEE8B654CA46# Curve (y**2 + xy = x**3 + Ax**2 + B) of order R*K ------------------------------------------------- R = 3369993333393829974333376885877453730611510574705764771951015144087 K = 4 A = 16#0# B = 16#6DFD3C1C5CB789DA8ABB326FA25309D5D06DE2A08C77D524AE690461# Base point G (of order R) ------------------------- X = 16#2700F05CE7FCA11E0CE5D4188314A6100447744E68FC7E7D523BDF42# Y = 16#164C2CF26E46F18C0D5ABACC53DB4216690DEE801AEDAC2C80ABEB8F#


Over GF(3N)
Parameters ---------- Field degree = 127 Discriminant = -427067 Class number = 127 Order U = R*K with R BPSW-prime ------------------------------- U = 3930061525912861057173624287137094778397646624162832523320429 R = 1310020508637620352391208095712364926132548874720944174440143 K = 3 U binary size = 202 R binary size = 200 K binary size = 2 MOV condition ------------- (3**e mod R) <> 1 for all e in 1..1143 Field GF(3**127) ---------------- Field polynomial = [1,127,2,126,2,74,2,0] Basis type = Normal Field multiplicative identity ----------------------------- I = 9#1444444444444444444444444444444444444444444444444444444444444444# J-invariant ----------- J = 9#2546211278166744651571743412152324532012305117470187544380405724# Curve (y**2 = x**3 + Ax**2 + B) of order R*K -------------------------------------------- R = 1310020508637620352391208095712364926132548874720944174440143 K = 3 A = 9#1444444444444444444444444444444444444444444444444444444444444444# B = 9#2503707542263565644442537604567155105413720456058768265246780510# Base point G (of order R) ------------------------- X = 9#1802145614788372537170244845128202454170083174688378761362676814# Y = 9#0027466558584743801174531346588086778106014481028255255865764138#



Changes
v2.0.5 (April 28, 2019)
  • Cosmetic changes.
 Previous changes



Download

The ECB software may be used free of charge but it might be a good idea to read the End-User License Agreement before downloading and using it.

  ecb-205-lx64.7z    761.0 kB   Executable  (binary file)