ECDSA中的这一段离散对数问题如何排序out/implemented

How can this section of Discrete logarithm problem in ECDSA be sorted out/implemented

secp256k1曲线的离散对数问题中,我其实很好奇生成器点和public键是如何实现的(在理由是参数有两个版本。

我想知道 Public 密钥和生成器点是否应该应用“使用“02”或“03”压缩或使用“[=13] 解压缩=]”.

我在任何地方都找不到任何答案。

前缀“02”、“03”、“04”表示点的压缩类型。

"04"表示该点未压缩,即x和y坐标都以这种形式指定。 “02”和“03”表示该点被压缩。此表示中仅存在 x 坐标。 y坐标可以从x坐标计算出来(通过求解y^2 = x^3 + ax + b (mod n))。因为 y 有 2 个可能的值,“02”表示正值,“03”表示负值。 (负数其实不是负数,因为我们用的是模运算)

例如,对于 secp256k1,我们有 -

Gx = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
Gy = 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

// Which can be written as
G_compressed = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
G_uncompressed = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

在内部,这两种形式代表同一个点,即

x = 55066263022277343669578718895168534326250603453777594175500187360389116729240
y = 32670510020758816978083085130507043184471273380659243275938904335757337482424

附带说明一下,这与离散日志问题无关。