主页 > imtoken钱包2.0版本下载 > 一分钟读懂非对称加密算法
一分钟读懂非对称加密算法
【本文由Zaneds.com独家冠名】
01
在说非对称算法之前,我们先来了解一下什么是对称算法? 通俗的解释是,字符串可以通过一定的密钥进行加密和解密。 比如某个原始字符串是abcd,则key(解释:秘钥,在密码学中,key是明文转密文或密文转明文的算法中的输入参数)就是key。 加密密钥是密文 U2FsdGVkX18Uf4BsqpVyFHbYtcWrUNDt。 反之,可以通过密钥对密文进行解密,得到原始字符串abcd。 即对称算法是通过密钥加密和解密的。 例如,在谍战片中,发送电报一般采用对称加密算法。 该算法的优点是快速高效,缺点是不安全。 如果密钥和加密方式泄露,可以根据密钥解密原文。 ; 那么如果key数量多,管理起来就比较困难等等。
02
一个非对称算法有两个密钥,即公钥和私钥(从字面上可以理解为公钥就是公钥,私钥就是私钥),这两个密钥是成对的。 有两种方式,即公钥加密私钥解密和私钥加密公钥解密。 通常多使用公钥加密和私钥解密。
这种加密方式的实现过程是怎样的? 例如:甲方生成一对密钥并公开公钥; 乙方得到公钥后对数据进行加密发送给甲方,甲方用私钥对数据进行解密。 这种加密算法的优点是保密性好,缺点是加解密时间长,速度慢。 这就是数据加密的实现,即公钥加密,私钥解密。
03
今天大致介绍一下两种常见的加密算法:RSA和ECC(椭圆曲线加密算法)。
RSA 以其三位发明者 Ron Rivest、Adi Shamir 和 Leonard Adleman 的名字命名。 RSA可以说是最常见的非对称加密算法。 它可用于数据加密和数字签名。 它是目前最流行的公钥算法。 RSA 的安全程度是基于分解大质数的难度。 因为RSA公钥和秘钥是一对质数,如果在编码的时候把要传输的信息加上质数AB,编码后再传给接收方,即使数据被截获,如果没有收件人的私钥,将执行实际解密。 它是分解两个素数的过程。
从这点来看,RSA的算法过程比较简单,关键是找到一个足够大的素数(素数越大,解密过程越复杂)。
椭圆曲线加密算法是一种基于椭圆曲线数学的公钥密码算法,其主要安全性是利用椭圆曲线对数问题的难度。
在区块链中,常用的是椭圆曲线数字签名算法,它是对使用椭圆曲线加密算法的数字签名算法的模拟。 椭圆曲线密码算法实现数据加解密、数字签名和身份认证等功能。 该技术具有安全性高、公私钥生成方便、处理速度快、存储空间小等优点。 与RSA算法相比,椭圆曲线加密在实际开发和使用中应用更为广泛。 例如,比特币在椭圆曲线中使用 SECP256k1比特币钱包是非对称加密吗比特币钱包是非对称加密吗,可以提供 128 位的安全保护。
04
那么加密算法在区块链中有哪些应用呢? 今天给大家举几个例子。
账户地址的生成现在大家应该都创建了一个钱包,那么大家有没有注意到钱包的地址是一个不规则的字符串呢? 这些字符串是如何生成的? 没错,就是公钥和私钥。 我们的外部地址一般都是将公钥前的20个字符串作为公钥地址,私钥用于验证。
价值转移保护 其实不管是区块链还是互联网,在做价值转移的时候,都要解决两个问题。 一是证明数据的准确性,即保证发送者和价值是真实的,没有被篡改和伪装。 二是只有接收方才能解密这部分数据。 它是如何实现的? 让我们来看看这个过程:
首先,发送方和接收方分别持有对方的公钥和自己的私钥。
第二步,发送方用自己的私钥加密签名,再用对方的公钥加密;
第三步,接收方收到数据后使用发送方的公钥进行身份验证,用自己的私钥解密。
通过以上过程,可以保证数据不会被截取,即使被截取也没关系,因为没有私钥是无法获取原文的。
05
总而言之,非对称加密算法实际上使用的是一对密钥,公钥公开,私钥自己保管。 如果要传输数据,则用对方的公钥加密,接收方用私钥解密。 如果要签名,用自己的私钥加密,对方用公钥验证。 密码算法在区块链中的应用非常重要,这里只是简单的理论介绍,列举几个常用的应用点。 但在实际应用中不仅仅如此。