Curve detail
Definition
Name | P-224 (nist/P-224, secg/secp224r1, x962/ansip224r1) |
---|---|
Category | nist |
Field | Prime (0xffffffffffffffffffffffffffffffff000000000000000000000001) |
Field bits | 224 |
Form | Weierstrass $y^2 = x^3 + ax + b$ |
Param $a$ | 0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe |
Param $b$ | 0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4 |
Generator $x$ | 0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21 |
Generator $y$ | 0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34 |
Simulation seed | 0xbd71344799d5c7fcdc45b59fa3b9ab8f6a948bc5 |
Characteristics
Order | 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d |
Cofactor | 0x1 |
$j$-invariant | 0xc55630164a29a17b465f4a532fa010aabe1ffc9fdea639fc47307d75 |
Trace $t$ | 0xe95c1f470fc1ec22d6baa3a3d5c5 |
Embedding degree $k$ | 0x5555555555555555555555555555078ba03da56a069f0dc1c9740e14 |
CM discriminant | -0x5a245a6f599a2778760a3eacdf9b0b9c6f78b867c3f4a9a10611d7d3 |
Traits
$\text{cofactor}()$ | |
---|---|
order | 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d |
cofactor | 0x1 |
$\text{discriminant}()$ | |
cm_disc | -0x5a245a6f599a2778760a3eacdf9b0b9c6f78b867c3f4a9a10611d7d3 |
factorization | ['0x3', '0x3', '0x3', '0x1d', '0x4f', '0x1d63', '0x9fdf', '0x2b062b9a5', '0x116ae6b402d187ad6d60180e0c71d806f74e1b'] |
max_conductor | 0x3 |
$\text{twist_order}(deg=1)$ | |
twist_cardinality | 0x10000000000000000000000000000e95b1f470fc1ec22d6baa3a3d5c7 |
factorization | None |
$\text{twist_order}(deg=2)$ | |
twist_cardinality | 0xfffffffffffffffffffffffffffffffe000000000000000000000000d4b8d216d9949cc3d9a3cbec238c977c14c1845a1c660956c95f6999 |
factorization | None |
$\text{kn_factorization}(k=1)$ | |
(+)factorization | ['0x2', '0x7', '0x13', '0x9568bc0929', '0x1a624ff20e2655d749c94cdb716d800e1f8930cc5731b'] |
(+)largest_factor_bitlen | 0xb1 |
(-)factorization | ['0x2', '0x2', '0x3', '0x3', '0x3', '0x3', '0x3', '0x3', '0x5', '0x11', '0x869', '0x80c63bd8a8b2da59fd7b637139afe83defb38e5bc128c6a53'] |
(-)largest_factor_bitlen | 0xc4 |
$\text{kn_factorization}(k=2)$ | |
(+)factorization | ['0x3', '0xd', '0x1336e4d', '0xaee94a305e40da568f6391466ba5e50cd27cae95b7d4fc841'] |
(+)largest_factor_bitlen | 0xc4 |
(-)factorization | ['0x9d3d', '0x626b29d', '0x13b348105a13a389e9', '0x6e101d732abdfbf7fe492856b2169'] |
(-)largest_factor_bitlen | 0x73 |
$\text{kn_factorization}(k=3)$ | |
(+)factorization | ['0x2', '0x2', '0x2', '0xb', '0xd3', '0x101', '0x133', '0x2626d', '0x14d96427df', '0x43ff087a953d', '0xaa8358128e5b75a7be49fb7b'] |
(+)largest_factor_bitlen | 0x60 |
(-)factorization | ['0x2', '0xc4d201', '0x25aceb4d', '0xd41c576e0aa81ab471be9ad9ac8270c5b40422c3347'] |
(-)largest_factor_bitlen | 0xac |
$\text{kn_factorization}(k=4)$ | |
(+)factorization | ['0x5', '0x517', '0x943', '0xa69a98d30f41', '0x2c39d0d4d30ce8f', '0x26a4312f3f5aeb86564d0f9b3'] |
(+)largest_factor_bitlen | 0x62 |
(-)factorization | ['0x3', '0x1d', '0x3b', '0x4a9', '0xbe65d', '0xebc20b8d14b41f190fb1f0803526920bcea3f01464ca93'] |
(-)largest_factor_bitlen | 0xb8 |
$\text{kn_factorization}(k=5)$ | |
(+)factorization | ['0x2', '0x3', '0x53', '0x29a1', '0xfce5ea2e5c2e9a911e7c0e1fc05959494c8af92ca27d0e8cc01'] |
(+)largest_factor_bitlen | 0xcc |
(-)factorization | ['0x2', '0x2', '0x2', '0x2', '0x8b', '0x2f9', '0x12b8a9fb', '0xa506ea179f', '0x41b606eee9fded96546f810bc7614f0d5ed'] |
(-)largest_factor_bitlen | 0x8b |
$\text{kn_factorization}(k=6)$ | |
(+)factorization | NO DATA (timed out) |
(+)largest_factor_bitlen | - |
(-)factorization | ['0x5', '0x7', '0x146c5', '0x2526e3', '0xece88e757a6120ff2ba5b6724d29d064eaf1ccb25a6981'] |
(-)largest_factor_bitlen | 0xb8 |
$\text{kn_factorization}(k=7)$ | |
(+)factorization | ['0x2', '0x2', '0x83f', '0x1c82920f2e540477', '0x1e7d5726088d13be4d88759ff3d55206e3d3593'] |
(+)largest_factor_bitlen | 0x99 |
(-)factorization | ['0x2', '0x3', '0x58ab', '0x35e4d99b177a23265d358b58fada4b29b4ed78e714a2ef0db41d5'] |
(-)largest_factor_bitlen | 0xd2 |
$\text{kn_factorization}(k=8)$ | |
(+)factorization | ['0x3', '0x3', '0x7', '0x18d', '0x14f65911bcf51ea284eb0c45b9652f642a303ebe33cd0a598c97f3'] |
(+)largest_factor_bitlen | 0xd5 |
(-)factorization | ['0xb', '0xc5', '0x2ac9941', '0x5a78df241344d30f6cfbbb30f357b6a2b94c31c432f2b0d1'] |
(-)largest_factor_bitlen | 0xbf |
$\text{torsion_extension}(l=2)$ | |
least | 0x3 |
full | 0x3 |
relative | 0x1 |
$\text{torsion_extension}(l=3)$ | |
least | 0x2 |
full | 0x2 |
relative | 0x1 |
$\text{torsion_extension}(l=5)$ | |
least | 0x6 |
full | 0x6 |
relative | 0x1 |
$\text{torsion_extension}(l=7)$ | |
least | 0x18 |
full | 0x18 |
relative | 0x1 |
$\text{torsion_extension}(l=11)$ | |
least | 0x2 |
full | 0xa |
relative | 0x5 |
$\text{torsion_extension}(l=13)$ | |
least | 0x15 |
full | 0x15 |
relative | 0x1 |
$\text{torsion_extension}(l=17)$ | |
least | 0x6 |
full | 0x6 |
relative | 0x1 |
$\text{conductor}(deg=2)$ | |
ratio_sqrt | 0xe95c1f470fc1ec22d6baa3a3d5c5 |
factorization | ['0x10cf47d', '0xd02408239', '0x111315cc1bc431'] |
$\text{conductor}(deg=3)$ | |
ratio_sqrt | 0x2b472dea266b633c265c3413dc736882eb3e7ba5e399f6a936a09668 |
factorization | ['0x2', '0x2', '0x2', '0x3', '0x5', '0x11', '0x6cd', '0xcc6fc306ee700a82e8977fe595a80bcb4d68169694b496c2ff'] |
$\text{conductor}(deg=4)$ | |
ratio_sqrt | 0x110cf7aef4ed682e9bfeb6a8dfbb49937d016a8f64941a761308fbc8fda1b3765a2debf96b0f946941bcd |
factorization | ['0x7', '0x13', '0xd3', '0x1171d', '0x10cf47d', '0xd02408239', '0x111315cc1bc431', '0x281085c2dac033a46989f97fa9bf763b423306d56284bfe23'] |
$\text{embedding}()$ | |
embedding_degree_complement | 0x3 |
complement_bit_length | 0x2 |
$\text{class_number}()$ | |
upper | 0x1d213bba0af9fafc740843cd5a4b66 |
lower | 0x73b3ccf53 |
$\text{small_prime_order}(l=2)$ | |
order | 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c |
complement_bit_length | 0x1 |
$\text{small_prime_order}(l=3)$ | |
order | 0x444444444444444444444444444406094cfe1dee6bb27167d45cd81 |
complement_bit_length | 0x6 |
$\text{small_prime_order}(l=5)$ | |
order | 0x3fffffffffffffffffffffffffffc5a8b82e3c0f84f74a5157170a8f |
complement_bit_length | 0x3 |
$\text{small_prime_order}(l=7)$ | |
order | 0x5555555555555555555555555555078ba03da56a069f0dc1c9740e14 |
complement_bit_length | 0x2 |
$\text{small_prime_order}(l=11)$ | |
order | 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c |
complement_bit_length | 0x1 |
$\text{small_prime_order}(l=13)$ | |
order | 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c |
complement_bit_length | 0x1 |
$\text{division_polynomials}(l=2)$ | |
factorization | [['0x3', '0x1']] |
len | 0x1 |
$\text{division_polynomials}(l=3)$ | |
factorization | [['0x1', '0x4']] |
len | 0x1 |
$\text{division_polynomials}(l=5)$ | |
factorization | [['0x3', '0x4']] |
len | 0x1 |
$\text{volcano}(l=2)$ | |
crater_degree | 0x0 |
depth | 0x0 |
$\text{volcano}(l=3)$ | |
crater_degree | 0x1 |
depth | 0x1 |
$\text{volcano}(l=5)$ | |
crater_degree | 0x0 |
depth | 0x0 |
$\text{volcano}(l=7)$ | |
crater_degree | 0x0 |
depth | 0x0 |
$\text{volcano}(l=11)$ | |
crater_degree | 0x2 |
depth | 0x0 |
$\text{volcano}(l=13)$ | |
crater_degree | 0x0 |
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 | 0x3 |
full | 0x3 |
relative | 0x1 |
$\text{isogeny_extension}(l=3)$ | |
least | 0x1 |
full | 0x1 |
relative | 0x1 |
$\text{isogeny_extension}(l=5)$ | |
least | 0x3 |
full | 0x3 |
relative | 0x1 |
$\text{isogeny_extension}(l=7)$ | |
least | 0x4 |
full | 0x4 |
relative | 0x1 |
$\text{isogeny_extension}(l=11)$ | |
least | 0x1 |
full | 0xa |
relative | 0xa |
$\text{isogeny_extension}(l=13)$ | |
least | 0x7 |
full | 0x7 |
relative | 0x1 |
$\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 | 0xe95c1f470fc1ec22d6baa3a3d5c5 |
trace_factorization | ['0x10cf47d', '0xd02408239', '0x111315cc1bc431'] |
number_of_factors | 0x3 |
$\text{trace_factorization}(deg=2)$ | |
trace | 0xe95c1f470fc1ec22d6baa3a3d5c5 |
trace_factorization | ['0x7', '0x13', '0xd3', '0x1171d', '0x281085c2dac033a46989f97fa9bf763b423306d56284bfe23'] |
number_of_factors | 0x5 |
$\text{isogeny_neighbors}(l=2)$ | |
len | 0x0 |
$\text{isogeny_neighbors}(l=3)$ | |
len | 0x4 |
$\text{isogeny_neighbors}(l=5)$ | |
len | 0x0 |
$\text{q_torsion}()$ | |
Q_torsion | 0x1 |
$\text{hamming_x}(weight=1)$ | |
x_coord_count | 0x74 |
expected | 0x70 |
ratio | 0.96552 |
$\text{hamming_x}(weight=2)$ | |
x_coord_count | 0x3051 |
expected | 0x30c8 |
ratio | 1.00962 |
$\text{hamming_x}(weight=3)$ | |
x_coord_count | 0xe1979 |
expected | 0xe19d0 |
ratio | 1.00009 |
$\text{square_4p1}()$ | |
p | 0x1 |
order | 0x1 |
$\text{pow_distance}()$ | |
distance | 0xe95d1f470fc1ec22d6baa3a3d5c3 |
ratio | 5.695948695216996e+33 |
distance 32 | 0x3 |
distance 64 | 0x3 |
$\text{multiples_x}(k=1)$ | |
Hx | 0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21 |
bits | 0xe0 |
difference | 0x0 |
ratio | 1.0 |
$\text{multiples_x}(k=2)$ | |
Hx | 0xe7f240285c2d03a7ee519efb8da70f8ff7292c0df5e20b89668cddda |
bits | 0xe0 |
difference | 0x0 |
ratio | 1.0 |
$\text{multiples_x}(k=3)$ | |
Hx | 0x425f807b9381adc919e50b3851f4276553bb9597d489bbeba89de9d7 |
bits | 0xdf |
difference | 0x1 |
ratio | 0.99554 |
$\text{multiples_x}(k=4)$ | |
Hx | 0x86fc8e8a9c3d122a84329d2629916ef4db9d8c29d26d172899914428 |
bits | 0xe0 |
difference | 0x0 |
ratio | 1.0 |
$\text{multiples_x}(k=5)$ | |
Hx | 0x9c499c0e91159fb87dba6cd8f675c825b637887c2c2357a08127fa88 |
bits | 0xe0 |
difference | 0x0 |
ratio | 1.0 |
$\text{multiples_x}(k=6)$ | |
Hx | 0x5964e26c650fcf40b73feb64928347a5ef12259499960efe1dfbb565 |
bits | 0xdf |
difference | 0x1 |
ratio | 0.99554 |
$\text{multiples_x}(k=7)$ | |
Hx | 0x4d98db3d7df2fa1171d958689a1770015a574488ae13a68c51608d0 |
bits | 0xdb |
difference | 0x5 |
ratio | 0.97768 |
$\text{multiples_x}(k=8)$ | |
Hx | 0x381661205d9eb3dbab18a5c394c554bd7f288c597e85bfae45784183 |
bits | 0xde |
difference | 0x2 |
ratio | 0.99107 |
$\text{multiples_x}(k=9)$ | |
Hx | 0xdceb004162ce3af1eaedfe2c4136803910f8a86290c47ca8b0c560bf |
bits | 0xe0 |
difference | 0x0 |
ratio | 1.0 |
$\text{multiples_x}(k=10)$ | |
Hx | 0x25a1f92088a170fb7bf2a515eee8cb8dd77849c34773c33d32232a1a |
bits | 0xde |
difference | 0x2 |
ratio | 0.99107 |
$\text{x962_invariant}()$ | |
r | 0x5b056c7e11dd68f40469ee7f3c7a7d74f7d121116506d031218291fb |
$\text{brainpool_overlap}()$ | |
o | -0x34050a850c04b3ad |
$\text{weierstrass}()$ | |
a | 0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe |
b | 0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4 |