Curve detail

Definition

Name secp128r2
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 y2=x3+ax+b
Param a 0xd6031998d1b3bbfebf59cc9bbff9aee1
Param b 0x5eeefca380d02919dc2c6558bb6d8a5d
Generator x 0x7b6aa5d85e572983e6fb32a7cdebc140
Generator y 0x27b6916a894d3aee7106fe805fc34b44
Simulation seed 0x4d696e67687561517512d8f03431fce63b88f4

Characteristics

Order 0x3fffffff7fffffffbe0024720613b5a3
Cofactor 0x4
j-invariant 0x92a06b59be064918b6fdd808c5363c53
Trace t 0x107ff6e37e7b12974
Embedding degree k 0x2e8ba2e85d1745d1445d31c74a3ce13
CM discriminant -0xbbf04b2917c794a45cddd32f93b868db

Traits

cofactor()
order 0x3fffffff7fffffffbe0024720613b5a3
cofactor 0x4
discriminant()
cm_disc -0xbbf04b2917c794a45cddd32f93b868db
factorization ['0x2', '0x2', '0x17', '0x2f', '0x2c81d87d4c70a03da895275b131db3']
max_conductor 0x2
twist_order(deg=1)
twist_cardinality 0xfffffffe0000000107ff6e37e7b12974
factorization None
twist_order(deg=2)
twist_cardinality 0xfffffffc00000003fffffffffffffffd103ed35ba0e1ad6e8c88b341b11e5c94
factorization None
kn_factorization(k=1)
(+)factorization ['0x3', '0x65', '0x97', '0x26b', '0x425', '0x96b', '0x3e29e92cd491936c88319']
(+)largest_factor_bitlen 0x52
(-)factorization ['0x5', '0x7', '0x7', '0x119', '0x1c91e07', '0x3123826f3', '0x2c702b182c2c4b']
(-)largest_factor_bitlen 0x36
kn_factorization(k=2)
(+)factorization ['0xd', '0x1541f6b', '0x6dda4f1f', '0x4514c98d4eae3f4529']
(+)largest_factor_bitlen 0x47
(-)factorization ['0x3', '0x3', '0x3', '0x3', '0x11', '0x35', '0xce3', '0x1ce65b', '0x13c0a5138a91e7b1b40eb']
(-)largest_factor_bitlen 0x51
kn_factorization(k=3)
(+)factorization ['0x25', '0x59', '0x19c42f', '0x7e72716a5', '0x4b0f554dae63e09b']
(+)largest_factor_bitlen 0x3f
(-)factorization ['0xb', '0x17', '0x1d', '0x3b23', '0x740081dbeeb5777416a0eba919']
(-)largest_factor_bitlen 0x67
kn_factorization(k=4)
(+)factorization ['0x3', '0x5', '0x1f', '0x71f8388d1bafd23', '0x4f24dbc71659fcab']
(+)largest_factor_bitlen 0x3f
(-)factorization ['0x13', '0x977', '0x1b717b', '0x351e0de82d8112311be3d9e9']
(-)largest_factor_bitlen 0x5e
kn_factorization(k=5)
(+)factorization ['0x147e57249003', '0x3e757257aac3a2012e403f']
(+)largest_factor_bitlen 0x56
(-)factorization ['0x3', '0x862b1', '0x507f27b072995', '0xa1d0d8ff0eb6e95']
(-)largest_factor_bitlen 0x3c
kn_factorization(k=6)
(+)factorization ['0x7', '0x151', '0x5cf7908c75b6793', '0x1cb0065f9b83dfe5']
(+)largest_factor_bitlen 0x3d
(-)factorization ['0x5', '0x133333330cccccccb9000aef01d2b67db']
(-)largest_factor_bitlen 0x81
kn_factorization(k=7)
(+)factorization ['0x3', '0x3', '0xfb', '0x107', '0x1618f87cd0b67b', '0x8f208bedc58d523']
(+)largest_factor_bitlen 0x3c
(-)factorization ['0x3b', '0x2b13', '0x9a61', '0x6de13', '0x2b966f4fa725f3860d81']
(-)largest_factor_bitlen 0x4e
kn_factorization(k=8)
(+)factorization ['0xb', '0xd3', '0xe1e38b13f6bc2acab2e77709e67651']
(+)largest_factor_bitlen 0x78
(-)factorization ['0x3', '0x7', '0x2e3', '0xb29', '0x6cc5ae3e3', '0x71fe31d476a450f493']
(-)largest_factor_bitlen 0x47
torsion_extension(l=2)
least 0x1
full 0x2
relative 0x2
torsion_extension(l=3)
least 0x4
full 0x4
relative 0x1
torsion_extension(l=5)
least 0x18
full 0x18
relative 0x1
torsion_extension(l=7)
least 0x6
full 0x6
relative 0x1
torsion_extension(l=11)
least 0x78
full 0x78
relative 0x1
torsion_extension(l=13)
least 0x3
full 0xc
relative 0x4
torsion_extension(l=17)
least 0x30
full 0x30
relative 0x1
conductor(deg=2)
ratio_sqrt 0x107ff6e37e7b12974
factorization ['0x2', '0x2', '0x3', '0x15fff3d9fdf96e1f']
conductor(deg=3)
ratio_sqrt 0x103ed355a0e1ad6e8c88b341b11e5c91
factorization ['0x7', '0x11', '0x8354953', '0x50be5c23', '0xd7fd0473a47da0f']
conductor(deg=4)
ratio_sqrt 0xf73ead85d21d11c1856d248950edd591e960c5fa2278abd8
factorization ['0x2', '0x2', '0x2', '0x3', '0x13', '0x9d31', '0x15fff3d9fdf96e1f', '0xa467a09a4bad6308e0b6b9aa1dd']
embedding()
embedding_degree_complement 0x16
complement_bit_length 0x5
class_number()
upper 0x181d06a4c4cd3e6de9
lower 0x40
small_prime_order(l=2)
order None
complement_bit_length None
small_prime_order(l=3)
order 0x3fffffff7fffffffbe0024720613b5a2
complement_bit_length 0x2
small_prime_order(l=5)
order 0x1fffffffbfffffffdf0012390309dad1
complement_bit_length 0x3
small_prime_order(l=7)
order 0x3fffffff7fffffffbe0024720613b5a2
complement_bit_length 0x2
small_prime_order(l=11)
order 0x3fffffff7fffffffbe0024720613b5a2
complement_bit_length 0x2
small_prime_order(l=13)
order 0x3fffffff7fffffffbe0024720613b5a2
complement_bit_length 0x2
division_polynomials(l=2)
factorization [['0x1', '0x1'], ['0x2', '0x1']]
len 0x2
division_polynomials(l=3)
factorization [['0x2', '0x2']]
len 0x1
division_polynomials(l=5)
factorization [['0xc', '0x1']]
len 0x1
volcano(l=2)
crater_degree 0x0
depth 0x1
volcano(l=3)
crater_degree 0x0
depth 0x0
volcano(l=5)
crater_degree 0x0
depth 0x0
volcano(l=7)
crater_degree 0x2
depth 0x0
volcano(l=11)
crater_degree 0x0
depth 0x0
volcano(l=13)
crater_degree 0x2
depth 0x0
volcano(l=17)
crater_degree 0x0
depth 0x0
volcano(l=19)
crater_degree 0x0
depth 0x0
isogeny_extension(l=2)
least 0x1
full 0x2
relative 0x2
isogeny_extension(l=3)
least 0x2
full 0x2
relative 0x1
isogeny_extension(l=5)
least 0x6
full 0x6
relative 0x1
isogeny_extension(l=7)
least 0x1
full 0x3
relative 0x3
isogeny_extension(l=11)
least 0xc
full 0xc
relative 0x1
isogeny_extension(l=13)
least 0x1
full 0xc
relative 0xc
isogeny_extension(l=17)
least 0x3
full 0x3
relative 0x1
isogeny_extension(l=19)
least 0x4
full 0x4
relative 0x1
trace_factorization(deg=1)
trace 0x107ff6e37e7b12974
trace_factorization ['0x2', '0x2', '0x3', '0x15fff3d9fdf96e1f']
number_of_factors 0x3
trace_factorization(deg=2)
trace 0x107ff6e37e7b12974
trace_factorization ['0x2', '0x13', '0x9d31', '0xa467a09a4bad6308e0b6b9aa1dd']
number_of_factors 0x4
isogeny_neighbors(l=2)
len 0x1
isogeny_neighbors(l=3)
len 0x0
isogeny_neighbors(l=5)
len 0x0
q_torsion()
Q_torsion 0x1
hamming_x(weight=1)
x_coord_count 0x41
expected 0x40
ratio 0.98462
hamming_x(weight=2)
x_coord_count 0xf74
expected 0xfe0
ratio 1.0273
hamming_x(weight=3)
x_coord_count 0x2992c
expected 0x29ac0
ratio 1.00237
square_4p1()
p 0x1
order 0x7
pow_distance()
distance 0x20000000107ff6e37e7b12974
ratio 2147483646.74219
distance 32 0xc
distance 64 0xc
multiples_x(k=1)
Hx 0x7b6aa5d85e572983e6fb32a7cdebc140
bits 0x7f
difference 0x1
ratio 1.00794
multiples_x(k=2)
Hx 0xf69ff511dbd13171f8d75488000fbca2
bits 0x80
difference 0x0
ratio 1.01587
multiples_x(k=3)
Hx 0x54321ece622a59689ae8a38844655ebd
bits 0x7f
difference 0x1
ratio 1.00794
multiples_x(k=4)
Hx 0x161ff7528b899b2d0c28607ca52c5b86
bits 0x7d
difference 0x3
ratio 0.99206
multiples_x(k=5)
Hx 0x7f8a99721379f16d21efa0004302e7a
bits 0x7b
difference 0x5
ratio 0.97619
multiples_x(k=6)
Hx 0x95a708d73ce03fd53ea8161b53e211af
bits 0x80
difference 0x0
ratio 1.01587
multiples_x(k=7)
Hx 0x15a8efa245d73c333474af00f24ececb
bits 0x7d
difference 0x3
ratio 0.99206
multiples_x(k=8)
Hx 0x4a622baa13e39176f9cad031b249a725
bits 0x7f
difference 0x1
ratio 1.00794
multiples_x(k=9)
Hx 0xd69d80396264fd174a92e872cc9e4ba0
bits 0x80
difference 0x0
ratio 1.01587
multiples_x(k=10)
Hx 0xf08568a9d55bdc725287f5da65b138c0
bits 0x80
difference 0x0
ratio 1.01587
x962_invariant()
r 0x1def19fd392155bb3f430f1ad91327d8
brainpool_overlap()
o None
weierstrass()
a 0xd6031998d1b3bbfebf59cc9bbff9aee1
b 0x5eeefca380d02919dc2c6558bb6d8a5d