主页 > imtoken钱包苹果版价值 > 比特币与区块链(四):比特币密码学知识之非对称加密

比特币与区块链(四):比特币密码学知识之非对称加密

imtoken钱包苹果版价值 2023-01-29 07:01:58

我们不熟悉加密。

看谍战片的时候,

里面的信息会加密传输。 类似于散列。

我们还可以将加密视为从一个域到另一个域的函数:输入是明文,输出是密文。 与散列不同的是,用于加密的函数必须有一个反函数,这个反函数就是解密函数。 换句话说,等效地,对于域上的每个输入,范围上都有一个唯一的输出,对于范围上的每个输出比特币采用的主要加密算法是,域上都有一个唯一的输入。

例如,如果我们对英文字母进行以下转换:将每个字母替换为字母表中 (position + 2) %26 的字母。 这样就完成了一次加密。 解密过程可以逆向进行。 当然,因为在文字中,英文字母的出现频率是有规律的,这个简单的密码是很容易被破解的。

在计算机发明之前,人们尝试过多种复杂的密码。 其中最著名的当属二战期间德国使用的Enigma密码机。 当然,再复杂的Enigma密码机,最终也难逃被破译的命运。

比特币采用的主要加密算法是_比特币自动交易算法_比特币算法原理详解

对称加密算法

二战后,随着计算机的发明,人类拥有了非常强大的计算能力,普通的加解密算法完全敌不过计算机。 所以,二战后发明的现代密码学,都是基于众所周知的数学问题,都引入了密钥的概念。

简单来说,如果知道密钥,这个数学问题的解决方案很容易。 如果不知道密钥,则无法在合理时间内解决此问题,因此密钥的保存尤为关键。 这种加密和解密使用相同的密钥算法,称为对称加密算法。 著名的有DES、3DES、AES、IDEA等,由于加密者和解密者都必须使用密钥,所以这类加密算法并没有大规模普及。

W.Diffie和M.Hellman于1976年在IEEE Trans.on Information上发表了文章“New Direction in Cryptography”,提出了“非对称密码系统”的概念,开创了密码学研究的新方向。 但是,他们只是提出了这个想法,并没有给出算法。 真正的算法是由 Ron Rivest、Adi Shamir 和 Leonard Adleman 在 1977 年提出的。算法以其首字母命名。 这几位还因为发明了 RSA 算法而获得了 2002 年度人物奖。

那么非对称加密算法是什么样的呢? 与对称算法不同,非对称加密算法有两个密钥:私钥和公钥。 一种用于加密,一种用于解密。 一般来说,私钥自己保管,公钥公开发布。

比特币采用的主要加密算法是_比特币算法原理详解_比特币自动交易算法

非对称加密算法

两种不同的应用

1、私钥用于解密,公钥用于加密。 在这种情况下,只有收件人可以解密,每个人都可以加密消息给收件人。 通常用于信息传输。

2、私钥用于加密,公钥用于解密。 这在非对称加密算法中更常用。 用于数字签名。 因为只有持有私钥的人才能加密,而解密的人是整个地球上任何持有公钥的人。 所以这个方法不是传递秘密信息,而是让大家知道是谁加密的。

在比特币环境中,非对称加密算法主要用于数字签名。 其目的是证明交易记录是由该人发起的。 比特币中的非对称加密算法是基于椭圆曲线的算法,而不是更常用的RSA。 关于椭圆曲线的具体算法不再赘述。 大多数人无法理解。

比特币算法原理详解_比特币采用的主要加密算法是_比特币自动交易算法

比特币中的钱包地址并不是简单的公钥,其生成过程如下:

1.利用secp256k1的椭圆曲线生成私钥和公钥

2.公钥通过SHA256哈希算法处理得到32字节的哈希值

3、得到的哈希值经过RIPEMD-160算法得到一个20字节的哈希值——Hash160

4、对版本号+Hash160组成的21字节数组进行两次SHA256哈希运算,将哈希值的前4个字节作为校验和,放在21字节数组的末尾。

比特币算法原理详解_比特币采用的主要加密算法是_比特币自动交易算法

5、对25位数组进行Base58编码,得到地址。

6.交易发生时,交易需要提供交易方的钱包公钥,比特币系统需要验证公钥确实生成了这个地址。

为什么比特币地址要根据公钥进行多次哈希运算? 很多人都讨论过。 中本聪设计的初衷可能并不明确。 有两种广为流传的理论。 一是这种方法可以防止量子计算机攻击。 毕竟量子计算机可以攻击非对称加密算法,但对SHA256等哈希算法还是无能为力。 另一种说法是为了防止密码学中一些未知的坑。

比特币选择椭圆曲线算法作为非对称加密算法并不新鲜,但选择secp256k1却令人费解。 一般来说,椭圆曲线分为两类:伪随机曲线,如secp256r1,和Koblitz曲线,如secp256k1。 目前美国NSA主导的标准是前者。

最近爆​​出的一些说法是,美国的NSA有能力在不知情的情况下削弱特定的伪随机曲线,标准中的曲线是经过精心挑选的比特币采用的主要加密算法是,可以被NSA以某种方式削弱和破解。 但到目前为止还没有发现Koblitz曲线被破解。

比特币算法原理详解_比特币采用的主要加密算法是_比特币自动交易算法

比特币是少数使用 secp256k1 而不是 secp256r1 的程序之一。 不知道中本聪知不知道NSA有秘密破解方法。 不管怎样,如果谣言属实,比特币是为数不多的未被破解的非对称加密应用之一。

极客社区:区块链极客社区起源于北美顶尖工程师社区,核心成员来自各大科技公司和顶尖大学。 社区以打造世界一流的区块链生态为目标,以推动区块链技术普及为己任。 希望站在区块链时代的前沿,与用户分享最优质的区块链资源! 在这里,您将获得最权威的区块链教程、最新鲜的区块链资讯,以及对接顶级区块链生态的机会。

加入我们,与硅谷巨头、常春藤学府一起,品酒谈链;

加入我们,拥抱区块链去中心化的朝阳,破旧立新,让思维碰撞,让智慧共享;

加入我们,肩负区块链时代赋予我们的独特使命,不忘初心,砥砺前行!

不割韭菜,只谈技术,工程师专属社区!