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 |