04[x,y]形式的公钥可以压缩,因为x轴是对称的。因此,我们只需要带有02/03前缀的x坐标,它表示Y是奇数还是偶数。我不明白后者,椭圆曲线上的奇偶和笛卡尔平面上的pos/neg一样吗?这是有意义的,因为负整数不能用键来表示。那么“负”Y坐标是否对应于“奇”(03前缀)。如果是这样的话,如果x轴是对称的,这些坐标在奇数/偶数上有什么不同?
公钥
ecdsa公司
分享
改进这个问题
跟随
11小时前问的
马特·坦什
9933青铜徽章
添加评论
1个答案
1
是和否。
secp256k1曲线上点的X和Y坐标是模p=2256-232-977的整数。正/负不存在,因为模p对-a=p-a的每个a都成立。
所以,我们需要另一个标准来区分方程y2=x3+7的两个解。
有多种可能性:
高/低:我们可以简单地根据它们是否低于/高于p/2来区分它们。如果*a<p/2,那么它的“否定”p-a将>p/2。由于p是奇数,没有一个点等于p/2本身。
偶数/奇数:当被带到范围[0,p]时,标准选取的是a的奇偶性。因为p是奇数,所以对除0以外的任何数字求反都会改变它的奇偶性。并且可以证明y=0不存在解。
第三种可能性是使用二次剩余作为平局破坏者。结果是,在y的两个解中,一个总是平方模p,另一个不是。这可能与实数及其符号中的解最为相似:R中的正数,就像二次剩余mod p,有一个平方根,而它们的否定则没有。
所以是的,它有点像真解的正/负,但是“有点”只是一个性质,对于半个域来说是真的,当对坐标求反时,这个性质是互补的。
分享
改进这个答案
跟随
10小时前回答的
彼得·维尔
68.6k88金徽章147147银徽章224224铜徽章
谢谢你,彼得!为了充分理解这一点,我需要学习更多的EC算法。还有,模函数在这里是如何工作的?那么secp256k1上可能的点数是不是y^2=x^3+7的余数除以p=一个小于2^256的大素数马特·坦什10小时前
1
曲线由y^2=x^3+7(mod p)的所有点(x,y)组成,换句话说:y^2-x^3-7是p的倍数。是的,p=2^256-2^32-977是一个素数10小时前的皮特·维尔
1
满足这样一个方程的点数在很长一段时间内一直是一个未解决的问题,但自1985年以来,一个相当有效的算法已经存在:en.wikipedia.org/wiki/Schoof%27s\u算法(警告:不容易)。没有这一点,椭圆曲线加密就不可能了10小时前的皮特·维尔
太棒了,再次感谢马特·坦什9小时前
添加评论