Curve detail

Definition

Name secp128r1
Category secg
Description A randomly generated curve. [SEC2v1](https://www.secg.org/SEC2-Ver-1.0.pdf) states 'E was chosen verifiably at random as specified in ANSI X9.62 [1] from the seed'.
Field Prime (0xfffffffdffffffffffffffffffffffff)
Field bits 128
Form Weierstrass $y^2 = x^3 + ax + b$
Param $a$ 0xfffffffdfffffffffffffffffffffffc
Param $b$ 0xe87579c11079f43dd824993c2cee5ed3
Generator $x$ 0x161ff7528b899b2d0c28607ca52c5b86
Generator $y$ 0xcf5ac8395bafeb13c02da292dded7a83
Simulation seed 0xe0d4d696e6768756151750cc03a4473d03679

Characteristics

Order 0xfffffffe0000000075a30d1b9038a115
Cofactor 0x1
$j$-invariant 0x6b324db0e738c0b1281f6a261980a579
Trace $t$ -0x75a30d1b9038a115
Embedding degree $k$ 0x7fffffff000000003ad1868dc81c508a
CM discriminant -0x3c9f18e231c66c5082fb421d381749443

Traits

$\text{cofactor}()$
order 0xfffffffe0000000075a30d1b9038a115
cofactor 0x1
$\text{discriminant}()$
cm_disc -0x3c9f18e231c66c5082fb421d381749443
factorization ['0x285f50d7e7196f5', '0x180663d2259e9cecb57']
max_conductor 0x1
$\text{twist_order}(deg=1)$
twist_cardinality 0xfffffffdffffffff8a5cf2e46fc75eeb
factorization None
$\text{twist_order}(deg=2)$
twist_cardinality 0xfffffffc00000003fffffffffffffffc360e71dce3993af7d04bde2c7e8b6bbd
factorization None
$\text{kn_factorization}(k=1)$
(+)factorization ['0x2', '0x3', '0x3', '0xb', '0xcb9', '0x57095', '0x4c852bf53670a99da56adbd']
(+)largest_factor_bitlen 0x5b
(-)factorization ['0x2', '0x2', '0x5', '0x7', '0x25', '0x281', '0x685', '0x9d98283fc7', '0x1424bc9f50efed9']
(-)largest_factor_bitlen 0x39
$\text{kn_factorization}(k=2)$
(+)factorization ['0x14a36f53', '0x25af7bd5ad2d', '0xa885ea0330b18d']
(+)largest_factor_bitlen 0x38
(-)factorization ['0x3', '0x21ada37', '0x464c3d6f30f01', '0x12744b75069735']
(-)largest_factor_bitlen 0x35
$\text{kn_factorization}(k=3)$
(+)factorization ['0x2', '0x2', '0x2', '0x2', '0x2', '0x2', '0x191', '0x22af3c683', '0x114087ade1', '0x34708e186c1f']
(+)largest_factor_bitlen 0x2e
(-)factorization ['0x2', '0x19fbafa53', '0xa39a21354b', '0x17201ef78cb0bef']
(-)largest_factor_bitlen 0x39
$\text{kn_factorization}(k=4)$
(+)factorization ['0x3', '0x5', '0x11', '0x377f', '0x3fece23d', '0x4a2ed86a62288d39f879']
(+)largest_factor_bitlen 0x4f
(-)factorization ['0x97b1', '0x8c26c189', '0xed6660067', '0xd4beeb1e905d']
(-)largest_factor_bitlen 0x30
$\text{kn_factorization}(k=5)$
(+)factorization ['0x2', '0x27ffffffb000000012617a0c4e88d92b5']
(+)largest_factor_bitlen 0x82
(-)factorization ['0x2', '0x2', '0x2', '0x3', '0x1f', '0x1b86e1b8370dc370e8dd3b3743cf091']
(-)largest_factor_bitlen 0x79
$\text{kn_factorization}(k=6)$
(+)factorization ['0x7', '0x6443f', '0x50e3f51e23953', '0x6ed10c9c78b0c4d']
(+)largest_factor_bitlen 0x3b
(-)factorization ['0x5', '0xd', '0x17', '0xdfc8ee1', '0x12ce253042b82c68d1efe42b']
(-)largest_factor_bitlen 0x5d
$\text{kn_factorization}(k=7)$
(+)factorization ['0x2', '0x2', '0x3', '0xd', '0x47', '0x53', '0xbc233', '0x22abdb', '0x4827ad', '0x11c9b4a0f3113']
(+)largest_factor_bitlen 0x31
(-)factorization ['0x2', '0x37ffffff9000000019bbaade078c633c9']
(-)largest_factor_bitlen 0x82
$\text{kn_factorization}(k=8)$
(+)factorization ['0x1b1', '0x223', '0x565', '0x19d106803', '0x411a767fa40ac670bd']
(+)largest_factor_bitlen 0x47
(-)factorization ['0x3', '0x3', '0x7', '0x24df', '0x596696f', '0x44ccab4b', '0x964e64c43b7c9b']
(-)largest_factor_bitlen 0x38
$\text{torsion_extension}(l=2)$
least 0x3
full 0x3
relative 0x1
$\text{torsion_extension}(l=3)$
least 0x4
full 0x4
relative 0x1
$\text{torsion_extension}(l=5)$
least 0x18
full 0x18
relative 0x1
$\text{torsion_extension}(l=7)$
least 0x6
full 0x6
relative 0x1
$\text{torsion_extension}(l=11)$
least 0x78
full 0x78
relative 0x1
$\text{torsion_extension}(l=13)$
least 0xa8
full 0xa8
relative 0x1
$\text{torsion_extension}(l=17)$
least 0x4
full 0x8
relative 0x2
$\text{conductor}(deg=2)$
ratio_sqrt 0x75a30d1b9038a115
factorization ['0x3', '0x43', '0x274d10b', '0x3cff0de7']
$\text{conductor}(deg=3)$
ratio_sqrt 0xc9f18e291c66c5082fb421d381749446
factorization ['0x2', '0x7', '0x7', '0x166d', '0x2cde03', '0x86378322fdfa7160807655']
$\text{conductor}(deg=4)$
ratio_sqrt 0xd26f1237f5913500fc9b2cd20c8515fa15e4d3f22ee78ea9
factorization ['0x3', '0x43', '0x281', '0x274d10b', '0x3cff0de7', '0x19618c35bb0abf', '0x734b1b11ebb42827b']
$\text{embedding}()$
embedding_degree_complement 0x2
complement_bit_length 0x2
$\text{class_number}()$
upper 0x37cc07281859f1cc6b
lower 0x1
$\text{small_prime_order}(l=2)$
order 0x33333332cccccccce453cf6be9a4ed04
complement_bit_length 0x3
$\text{small_prime_order}(l=3)$
order 0x33333332cccccccce453cf6be9a4ed04
complement_bit_length 0x3
$\text{small_prime_order}(l=5)$
order 0xcccccccb33333333914f3dafa693b41
complement_bit_length 0x5
$\text{small_prime_order}(l=7)$
order 0x3fffffff800000001d68c346e40e2845
complement_bit_length 0x3
$\text{small_prime_order}(l=11)$
order 0xfffffffe0000000075a30d1b9038a114
complement_bit_length 0x1
$\text{small_prime_order}(l=13)$
order 0x33333332cccccccce453cf6be9a4ed04
complement_bit_length 0x3
$\text{division_polynomials}(l=2)$
factorization [['0x3', '0x1']]
len 0x1
$\text{division_polynomials}(l=3)$
factorization [['0x2', '0x2']]
len 0x1
$\text{division_polynomials}(l=5)$
factorization [['0xc', '0x1']]
len 0x1
$\text{volcano}(l=2)$
crater_degree 0x0
depth 0x0
$\text{volcano}(l=3)$
crater_degree 0x0
depth 0x0
$\text{volcano}(l=5)$
crater_degree 0x0
depth 0x0
$\text{volcano}(l=7)$
crater_degree 0x2
depth 0x0
$\text{volcano}(l=11)$
crater_degree 0x0
depth 0x0
$\text{volcano}(l=13)$
crater_degree 0x0
depth 0x0
$\text{volcano}(l=17)$
crater_degree 0x2
depth 0x0
$\text{volcano}(l=19)$
crater_degree 0x2
depth 0x0
$\text{isogeny_extension}(l=2)$
least 0x3
full 0x3
relative 0x1
$\text{isogeny_extension}(l=3)$
least 0x2
full 0x2
relative 0x1
$\text{isogeny_extension}(l=5)$
least 0x6
full 0x6
relative 0x1
$\text{isogeny_extension}(l=7)$
least 0x1
full 0x3
relative 0x3
$\text{isogeny_extension}(l=11)$
least 0xc
full 0xc
relative 0x1
$\text{isogeny_extension}(l=13)$
least 0xe
full 0xe
relative 0x1
$\text{isogeny_extension}(l=17)$
least 0x1
full 0x8
relative 0x8
$\text{isogeny_extension}(l=19)$
least 0x1
full 0x12
relative 0x12
$\text{trace_factorization}(deg=1)$
trace -0x75a30d1b9038a115
trace_factorization ['0x3', '0x43', '0x274d10b', '0x3cff0de7']
number_of_factors 0x4
$\text{trace_factorization}(deg=2)$
trace -0x75a30d1b9038a115
trace_factorization ['0x281', '0x19618c35bb0abf', '0x734b1b11ebb42827b']
number_of_factors 0x3
$\text{isogeny_neighbors}(l=2)$
len 0x0
$\text{isogeny_neighbors}(l=3)$
len 0x0
$\text{isogeny_neighbors}(l=5)$
len 0x0
$\text{q_torsion}()$
Q_torsion 0x1
$\text{hamming_x}(weight=1)$
x_coord_count 0x42
expected 0x40
ratio 0.9697
$\text{hamming_x}(weight=2)$
x_coord_count 0x101a
expected 0xfe0
ratio 0.98593
$\text{hamming_x}(weight=3)$
x_coord_count 0x29ad5
expected 0x29ac0
ratio 0.99988
$\text{square_4p1}()$
p 0x1
order 0x1
$\text{pow_distance}()$
distance 0x1ffffffff8a5cf2e46fc75eeb
ratio 2147483647.11488
distance 32 0xb
distance 64 0x15
$\text{multiples_x}(k=1)$
Hx 0x161ff7528b899b2d0c28607ca52c5b86
bits 0x7d
difference 0x3
ratio 0.97656
$\text{multiples_x}(k=2)$
Hx 0x456eb097de2096794f0a3df0bac775be
bits 0x7f
difference 0x1
ratio 0.99219
$\text{multiples_x}(k=3)$
Hx 0x476a199688e691300c43b5454f70a1f2
bits 0x7f
difference 0x1
ratio 0.99219
$\text{multiples_x}(k=4)$
Hx 0x6a3a0f3f590b3c3d75da28f3e1396d70
bits 0x7f
difference 0x1
ratio 0.99219
$\text{multiples_x}(k=5)$
Hx 0x1cd2640b63694e1b7dd8a1791db21c0a
bits 0x7d
difference 0x3
ratio 0.97656
$\text{multiples_x}(k=6)$
Hx 0xfb508e2242841d70023991929554194a
bits 0x80
difference 0x0
ratio 1.0
$\text{multiples_x}(k=7)$
Hx 0x39fc81b6145fa8facde35eccd858032e
bits 0x7e
difference 0x2
ratio 0.98438
$\text{multiples_x}(k=8)$
Hx 0x77eedacca900a0d3239bd433ca1bd10b
bits 0x7f
difference 0x1
ratio 0.99219
$\text{multiples_x}(k=9)$
Hx 0xa64701077540be79f55a5624578e6f8f
bits 0x80
difference 0x0
ratio 1.0
$\text{multiples_x}(k=10)$
Hx 0x38f3d9386d25b076a23ca2f55cfb7c3f
bits 0x7e
difference 0x2
ratio 0.98438
$\text{x962_invariant}()$
r 0x50961cfc10812a0a72ad53811ea2e289
$\text{brainpool_overlap}()$
o None
$\text{weierstrass}()$
a 0xfffffffdfffffffffffffffffffffffc
b 0xe87579c11079f43dd824993c2cee5ed3