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 $y^2 = x^3 + 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
| $\text{cofactor}()$ | |
|---|---|
| order | 0x3fffffff7fffffffbe0024720613b5a3 |
| cofactor | 0x4 |
| $\text{discriminant}()$ | |
| cm_disc | -0xbbf04b2917c794a45cddd32f93b868db |
| factorization | ['0x2', '0x2', '0x17', '0x2f', '0x2c81d87d4c70a03da895275b131db3'] |
| max_conductor | 0x2 |
| $\text{twist_order}(deg=1)$ | |
| twist_cardinality | 0xfffffffe0000000107ff6e37e7b12974 |
| factorization | None |
| $\text{twist_order}(deg=2)$ | |
| twist_cardinality | 0xfffffffc00000003fffffffffffffffd103ed35ba0e1ad6e8c88b341b11e5c94 |
| factorization | None |
| $\text{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 |
| $\text{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 |
| $\text{kn_factorization}(k=3)$ | |
| (+)factorization | ['0x25', '0x59', '0x19c42f', '0x7e72716a5', '0x4b0f554dae63e09b'] |
| (+)largest_factor_bitlen | 0x3f |
| (-)factorization | ['0xb', '0x17', '0x1d', '0x3b23', '0x740081dbeeb5777416a0eba919'] |
| (-)largest_factor_bitlen | 0x67 |
| $\text{kn_factorization}(k=4)$ | |
| (+)factorization | ['0x3', '0x5', '0x1f', '0x71f8388d1bafd23', '0x4f24dbc71659fcab'] |
| (+)largest_factor_bitlen | 0x3f |
| (-)factorization | ['0x13', '0x977', '0x1b717b', '0x351e0de82d8112311be3d9e9'] |
| (-)largest_factor_bitlen | 0x5e |
| $\text{kn_factorization}(k=5)$ | |
| (+)factorization | ['0x147e57249003', '0x3e757257aac3a2012e403f'] |
| (+)largest_factor_bitlen | 0x56 |
| (-)factorization | ['0x3', '0x862b1', '0x507f27b072995', '0xa1d0d8ff0eb6e95'] |
| (-)largest_factor_bitlen | 0x3c |
| $\text{kn_factorization}(k=6)$ | |
| (+)factorization | ['0x7', '0x151', '0x5cf7908c75b6793', '0x1cb0065f9b83dfe5'] |
| (+)largest_factor_bitlen | 0x3d |
| (-)factorization | ['0x5', '0x133333330cccccccb9000aef01d2b67db'] |
| (-)largest_factor_bitlen | 0x81 |
| $\text{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 |
| $\text{kn_factorization}(k=8)$ | |
| (+)factorization | ['0xb', '0xd3', '0xe1e38b13f6bc2acab2e77709e67651'] |
| (+)largest_factor_bitlen | 0x78 |
| (-)factorization | ['0x3', '0x7', '0x2e3', '0xb29', '0x6cc5ae3e3', '0x71fe31d476a450f493'] |
| (-)largest_factor_bitlen | 0x47 |
| $\text{torsion_extension}(l=2)$ | |
| least | 0x1 |
| full | 0x2 |
| relative | 0x2 |
| $\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 | 0x3 |
| full | 0xc |
| relative | 0x4 |
| $\text{torsion_extension}(l=17)$ | |
| least | 0x30 |
| full | 0x30 |
| relative | 0x1 |
| $\text{conductor}(deg=2)$ | |
| ratio_sqrt | 0x107ff6e37e7b12974 |
| factorization | ['0x2', '0x2', '0x3', '0x15fff3d9fdf96e1f'] |
| $\text{conductor}(deg=3)$ | |
| ratio_sqrt | 0x103ed355a0e1ad6e8c88b341b11e5c91 |
| factorization | ['0x7', '0x11', '0x8354953', '0x50be5c23', '0xd7fd0473a47da0f'] |
| $\text{conductor}(deg=4)$ | |
| ratio_sqrt | 0xf73ead85d21d11c1856d248950edd591e960c5fa2278abd8 |
| factorization | ['0x2', '0x2', '0x2', '0x3', '0x13', '0x9d31', '0x15fff3d9fdf96e1f', '0xa467a09a4bad6308e0b6b9aa1dd'] |
| $\text{embedding}()$ | |
| embedding_degree_complement | 0x16 |
| complement_bit_length | 0x5 |
| $\text{class_number}()$ | |
| upper | 0x181d06a4c4cd3e6de9 |
| lower | 0x40 |
| $\text{small_prime_order}(l=2)$ | |
| order | None |
| complement_bit_length | None |
| $\text{small_prime_order}(l=3)$ | |
| order | 0x3fffffff7fffffffbe0024720613b5a2 |
| complement_bit_length | 0x2 |
| $\text{small_prime_order}(l=5)$ | |
| order | 0x1fffffffbfffffffdf0012390309dad1 |
| complement_bit_length | 0x3 |
| $\text{small_prime_order}(l=7)$ | |
| order | 0x3fffffff7fffffffbe0024720613b5a2 |
| complement_bit_length | 0x2 |
| $\text{small_prime_order}(l=11)$ | |
| order | 0x3fffffff7fffffffbe0024720613b5a2 |
| complement_bit_length | 0x2 |
| $\text{small_prime_order}(l=13)$ | |
| order | 0x3fffffff7fffffffbe0024720613b5a2 |
| complement_bit_length | 0x2 |
| $\text{division_polynomials}(l=2)$ | |
| factorization | [['0x1', '0x1'], ['0x2', '0x1']] |
| len | 0x2 |
| $\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 | 0x1 |
| $\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 | 0x2 |
| depth | 0x0 |
| $\text{volcano}(l=17)$ | |
| crater_degree | 0x0 |
| depth | 0x0 |
| $\text{volcano}(l=19)$ | |
| crater_degree | 0x0 |
| depth | 0x0 |
| $\text{isogeny_extension}(l=2)$ | |
| least | 0x1 |
| full | 0x2 |
| relative | 0x2 |
| $\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 | 0x1 |
| full | 0xc |
| relative | 0xc |
| $\text{isogeny_extension}(l=17)$ | |
| least | 0x3 |
| full | 0x3 |
| relative | 0x1 |
| $\text{isogeny_extension}(l=19)$ | |
| least | 0x4 |
| full | 0x4 |
| relative | 0x1 |
| $\text{trace_factorization}(deg=1)$ | |
| trace | 0x107ff6e37e7b12974 |
| trace_factorization | ['0x2', '0x2', '0x3', '0x15fff3d9fdf96e1f'] |
| number_of_factors | 0x3 |
| $\text{trace_factorization}(deg=2)$ | |
| trace | 0x107ff6e37e7b12974 |
| trace_factorization | ['0x2', '0x13', '0x9d31', '0xa467a09a4bad6308e0b6b9aa1dd'] |
| number_of_factors | 0x4 |
| $\text{isogeny_neighbors}(l=2)$ | |
| len | 0x1 |
| $\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 | 0x41 |
| expected | 0x40 |
| ratio | 0.98462 |
| $\text{hamming_x}(weight=2)$ | |
| x_coord_count | 0xf74 |
| expected | 0xfe0 |
| ratio | 1.0273 |
| $\text{hamming_x}(weight=3)$ | |
| x_coord_count | 0x2992c |
| expected | 0x29ac0 |
| ratio | 1.00237 |
| $\text{square_4p1}()$ | |
| p | 0x1 |
| order | 0x7 |
| $\text{pow_distance}()$ | |
| distance | 0x20000000107ff6e37e7b12974 |
| ratio | 2147483646.74219 |
| distance 32 | 0xc |
| distance 64 | 0xc |
| $\text{multiples_x}(k=1)$ | |
| Hx | 0x7b6aa5d85e572983e6fb32a7cdebc140 |
| bits | 0x7f |
| difference | 0x1 |
| ratio | 1.00794 |
| $\text{multiples_x}(k=2)$ | |
| Hx | 0xf69ff511dbd13171f8d75488000fbca2 |
| bits | 0x80 |
| difference | 0x0 |
| ratio | 1.01587 |
| $\text{multiples_x}(k=3)$ | |
| Hx | 0x54321ece622a59689ae8a38844655ebd |
| bits | 0x7f |
| difference | 0x1 |
| ratio | 1.00794 |
| $\text{multiples_x}(k=4)$ | |
| Hx | 0x161ff7528b899b2d0c28607ca52c5b86 |
| bits | 0x7d |
| difference | 0x3 |
| ratio | 0.99206 |
| $\text{multiples_x}(k=5)$ | |
| Hx | 0x7f8a99721379f16d21efa0004302e7a |
| bits | 0x7b |
| difference | 0x5 |
| ratio | 0.97619 |
| $\text{multiples_x}(k=6)$ | |
| Hx | 0x95a708d73ce03fd53ea8161b53e211af |
| bits | 0x80 |
| difference | 0x0 |
| ratio | 1.01587 |
| $\text{multiples_x}(k=7)$ | |
| Hx | 0x15a8efa245d73c333474af00f24ececb |
| bits | 0x7d |
| difference | 0x3 |
| ratio | 0.99206 |
| $\text{multiples_x}(k=8)$ | |
| Hx | 0x4a622baa13e39176f9cad031b249a725 |
| bits | 0x7f |
| difference | 0x1 |
| ratio | 1.00794 |
| $\text{multiples_x}(k=9)$ | |
| Hx | 0xd69d80396264fd174a92e872cc9e4ba0 |
| bits | 0x80 |
| difference | 0x0 |
| ratio | 1.01587 |
| $\text{multiples_x}(k=10)$ | |
| Hx | 0xf08568a9d55bdc725287f5da65b138c0 |
| bits | 0x80 |
| difference | 0x0 |
| ratio | 1.01587 |
| $\text{x962_invariant}()$ | |
| r | 0x1def19fd392155bb3f430f1ad91327d8 |
| $\text{brainpool_overlap}()$ | |
| o | None |
| $\text{weierstrass}()$ | |
| a | 0xd6031998d1b3bbfebf59cc9bbff9aee1 |
| b | 0x5eeefca380d02919dc2c6558bb6d8a5d |