据我所知,这是椭圆曲线上Secp256K1的基点G的坐标,十六进制和十进制格式。
十六进制
Gx=(79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DC28D9 59F2815B 16F81798)
Gy=(483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8)
十进制的
Gx=(550662630222773466957871889516853432650603453777594175500187360389116729240)
Gy=(3267051000207588169780830851305070431844712733806592432759389043357337482424)
我不明白的是,如果我把这些值输入相应的方程(y² = 十³ + 7) 如下所示,G点似乎根本不在曲线上。但它应该,对吗?那我做错什么了?
(32670510020758816978083085130507043184471273380659243275938904335757337482424)²
不等于
(55066263022277343669578718895168534326250603453777594175500187360389116729240)³ + 7
第256K1节
分享
改进这个问题
跟随
6月11日20点19分问
哈拉尔德1970
7922青铜徽章
添加评论
2个答案
9
secp256k1曲线是在x和y坐标上定义的,x和y坐标是有限域GF(2^256-2^32-977)的成员,换句话说,它们的运算只有在考虑模1157920892373161954235709850086879078532699846656640564039457584007908834671663时才成立。
550662630222773466957871889516853432650603453777594175500187360389116729240^3-(32670100207588169780830851305070431844712733806592432759389043357337482424^2+7)正是144204204965966086950630000066683750029333882594701370922768766245108435229027778170070871400814008711130951749952236093989437523978520937次115792089237316195423570985008687907853269984665640564039457584007908834671663.
分享
改进这个答案
跟随
回答是6月11日20点31分
彼得·维尔
67.1k88金徽章144144银徽章19219铜徽章
天哪,你们网站上没有MathJax吗可能是6月11日20点17分28分
@可能是某人:请参阅bitcoin.meta.stackexchange.com/q/563/208–Pieter Wuille Jun 11’20 17:41
@彼得维尔啊哈,这就解释了!非常感谢。我已经很久没有使用模了,所以我又在练习了。这是图g(x)=2x+1(mod 4)的正确表示吗(红色图表)mediafire.com/convkey/c56a/tcux7iwkbkqf7razg.jpg–Harald1970年6月13日12:56
@哈拉尔德:是的彼得维尔2月27日5:51
添加评论
-1
有限域数学和椭圆曲线不使用“正规运算”。例如,添加两个有限域元素a和b并不像a+b那么简单。它实际上是(a+b)%素数,其中素数是有限域的大小,这确保了封闭性的含义。也就是说,如果a在集合中,b在集合中,那么a+b也在集合中。我们这里的乘法也是一样。ab=(ab)%素数
所以对于gx和gy,你可以用这个(gy^2)%(2^256-2^32-977)=((gx^3)+7)%(2^256-2^32-977)。这些事实上是相等的。
分享
改进这个答案
跟随