公钥密码学

公钥密码学是在20世纪70年代发明的,是现代计算机和信息安全的数学基础。

自从公钥密码学的发明以来,已经发现了几种合适的数学函数,比如素数指数和椭圆曲线乘法。这些数学函数在一个方向上易于计算,但在当前计算机和算法下,几乎不可能在反向上进行计算。基于这些数学函数,密码学实现了不可伪造的数字签名。比特币使用椭圆曲线加法和乘法作为其密码学的基础。

在比特币中,我们可以使用公钥密码学来创建一个控制比特币访问权限的密钥对。密钥对由私钥和从私钥派生的公钥组成。公钥用于接收资金,私钥用于对要花费的资金签名的交易。

公钥和私钥之间存在数学关系,使得私钥可以用来对消息生成签名。这些签名可以根据公钥进行验证,而无需揭示私钥。

在一些钱包实现中,私钥和公钥一起存储作为一个密钥对是为了方便起见。然而,公钥可以从私钥计算出来,因此仅存储私钥也是可能的。

一个比特币钱包包含了一组密钥对,每个密钥对由一个私钥和一个公钥组成。私钥(k)是一个数字,通常是从随机选择的数字派生而来。通过私钥,我们使用椭圆曲线乘法,这是一个单向加密函数,来生成一个公钥(K),公钥是椭圆曲线上一个二维坐标点。

为什么比特币中使用非对称加密(公钥/私钥)?

它并不是用于“加密”(保密)交易的。相反,非对称加密的一个有用特性是能够生成数字签名。私钥可以应用到交易中产生一个数字签名。这个签名只能由拥有私钥知识的人产生。然而,任何有公钥和交易访问权限的人都可以使用它们来验证签名。非对称加密的这一有用特性使得任何人都能够验证每一笔交易上的每个签名,同时确保只有私钥的所有者可以生成有效的签名。

Last updated