HomeZ - 横幅首页 itaRSA算法与加密货币有什么关系?

RSA算法与加密货币有什么关系?

RSA加密算法在加密领域是一个重要的算法。 

这是一种非对称加密算法,早在1977年就被发明,用于加密或签署信息。

特别是在加密领域,这一点至关重要,因为它允许对交易请求进行签名,从而使其合法化。

RSA算法

RSA 是这个算法的三位发明者姓氏的首字母缩写,即 Ronald Rivest、Adi Shamir 和 Leonard Adleman。

RSA算法是一种公钥加密系统。它被称为“非对称”是因为它基于一种加密方法,该方法使用一对数学相关但不同的密钥:私钥和公钥。

公钥与他人共享,而私钥显然必须绝对保密。公钥用于加密数据,但要解密数据则需要使用私钥。

在经典对称加密中,使用单一密钥进行加密和解密,因此该密钥必须保密,不能公开。而非对称加密允许安全地与任何人交换公钥。

安全性

这个方法被认为是安全的,因为它基于一个数学原理,即两个非常大的质数相乘相对简单,但将结果分解为其原始质因数则极其困难(且计算成本高)。

实际上,用户与任何人共享他的公钥,这样任何人都可以使用它来加密消息并发送给他。当收到加密消息时,用户必须使用他的私密私钥来解密它。


这样一来,只有拥有私钥的用户才能读取它,而其他任何人看到的都是加密的,实际上无法解密。  

实际上,解密这个信息并非完全不可能,因为如果随机猜中私钥,就可以解密它。但找到私钥是如此困难,以至于要么实际上不可能,要么需要巨大的努力,绝对超出任何人的能力范围。

使用

可能最广泛使用的RSA算法用途是用于在线安全浏览。

如今访问网站时,通常使用的是HTTPS协议,其中最后的S代表“安全”。 

这个安全协议使用SSL/TLS协议加密从服务器到用户以及反向传输的数据。这些协议在连接的初始阶段,即称为握手的阶段,使用RSA算法来建立一个安全的通信通道。

特别是,当通过HTTPS连接到网站时(现在几乎总是如此),服务器会发送其SSL/TLS证书,其中包含其公钥,通常使用RSA算法生成。您的浏览器则生成一个用于对称加密的临时密钥,并使用服务器的RSA公钥对其进行加密。

此时,浏览器将加密密钥发送到服务器,服务器使用其私有 RSA 密钥进行解密。这样可以确保浏览器和服务器都拥有相同的密钥,后续的数据包将使用对称加密进行加密,因为对称加密在传输大量数据时更加快速和高效。

RSA算法也用于数字签名。

然而,过程是相反的,即使用私钥进行签名(即加密),使用公钥进行验证(即解密)。

在加密领域的应用

这正是非对称加密算法在加密货币领域的常见用途。

当您想要进行一笔链上交易时,必须对其进行签名,以便节点将其识别为合法交易,即仅来自资金来源地址的所有者。

一旦生成交易,它就会通过哈希函数进行处理,从而创建该交易的唯一数字指纹。


当发送者将其发送到节点进行确认时,实际上是用自己的私钥进行签名,以便有数学证明表明请求仅来自资金的合法所有者。 

节点可以使用发送者的公钥验证签名的有效性,该公钥对应于交易发起的钱包地址。如果验证成功,交易将被接受并添加到一个区块中。

此外,不仅仅是节点,所有人都可以进行此验证,因为公钥是众所周知的,因为它对应于交易发送方的公共地址,而该地址本身也是公开的。

ECDSA算法

事实上,许多加密协议,包括BitcoinEthereum,使用另一种非对称加密算法来签署交易。

这涉及到椭圆曲线数字签名算法 (ECDSA),其运作原理在概念上与RSA相同。

ECDSA 被优先于 RSA,因为它更高效且安全,使用更小的密钥,但具有与 RSA 相同的安全级别。例如,256 位的 ECDSA 密钥提供的安全性可与 3072 位的 RSA 密钥相媲美。 

通过这种方式,可以减少交易数据的大小,节省区块链上的空间并降低手续费。

此外,使用 ECDSA 的签名和验证操作在计算上比使用 RSA 更快。

RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST