比特币基于的公私钥加密原理:基于椭圆曲线乘法作为其公私钥加密的基础算法。该关键点:该算法不可逆!不可逆!不可逆!
从结论上来说,可以如此近似理解:
公钥 = 比特币地址
私钥 = 授权
重要的关系:
私钥k ->(椭圆曲线相乘(单向)) 公钥K -> (哈希函数(单向))比特币地址A
关键点:这一系列转换均不可逆!从公钥K无法推出私钥k,从比特币地址A无法推出公钥K!
公钥可以由私钥算出:K = k * G,其中K为公钥,k为私钥,是一个256位的二进制随机数,G为椭圆曲线算法中的生成点的常数点,比特币密钥的该生成点都是相同的。其反向运算:“寻找离散对数”,已知公钥K求私钥k,是非常困难的。
这就是比特币可以告诉别人地址A,甚至公钥K,而不会泄露私钥k的原因。
注:比特币基于的椭圆曲线乘法为secp256k1标准定义的一条特殊的椭圆曲线,由以下函数决定:y^2 mod p = ( x^3 + 7 ) mod p,该曲线在素数阶p的有限域内,p为2^256-2^32-2^9-2^8-2^7-2^6-2^4--1,是一个非常大的素数。
以上内容为今天看了《精通比特币》4.1节后的小结。
----------------------------
以下为生活随想。
作为公私钥加密原理的基石, 第一次注意到“不可逆”的重大意义。
生活中还有哪些是不可逆的?也许他们也具备重大意义。
比如:
1.生命的出生不可逆
2.时间的流逝不可逆
3.宇宙大爆炸不可逆
。。。
突然发现吃下肚子的食物也不可逆啊,吃下去了就吐不出来了啊。原来只要和时间挂钩的东西,都不可逆!
而所谓公私钥加密的计算,也并非完全不可逆,只是由K推出k需要暴力尝试而已。
也许,时间的倒流,也有一天会变成可能。