一、对称加密
1、什么是对称加密
对称加密算法是一种应用比较早,技术比较成熟的加密算法。在加密和解密的过程中采用相同的一对密钥。因此也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,先约定好一对密钥,然后由双方各自管理,对称加密算法的安全性全依赖于这对密钥,如果发生密钥泄漏这就意味着所有通过该密钥加密的数据通信安全性得不到保障,任何得到该密钥的人都可以对发送或接收的数据进行解密,所以这密钥的保密性对通信的安全性十分重要。
2、对称加密算法特点
特点:算法公开、算法简单计算量少、加密速度快、加密效率高、由于需要双方共同维护一对相同的密钥,因此密钥管理成本高,安全性低。加密和解密是互逆,加密和解密使用同一密钥
3、常用的对称加密算法有:DES、3DES、AES.
DES加密中秘钥长度必须为8字节,3DES秘钥长度必须为24,AES加密算法中秘钥长度必须为16或24或32字节
二、非对称加密
1、什么是非对称加密
非对称加密算法由一个公钥和一个私钥组成,公钥与私钥都是配对产生的,当使用公钥进行对数据加密时,只有使用对应的私钥才能将数据进行解密;同理当使用私钥对数据进行加密时,也只能使用对应的公钥才能解密,因此在加密和解密时使用的都是不同的密钥,这样它的保密性就会相对比较高,也解决了对称加密算法中需要双方共享密钥的不便问题,消除了最终用户交换密钥的需要。
2、非对称加密算法特点
算法强度复杂,由于算法复杂所以加密解密效率比对称加密解密慢。
安全性高,由于对称加密算法只有一个密钥,并且是非公开性的,如果密钥泄露即影响数据安全性,而非对称加密算法具有两个密钥,其中一个是公开的,另外一个是私密的,这样就安全性提高很多。
规则:
【加密】用公钥加密,私钥解密
【签名】用私钥签名,公钥验证
3、非对称加密 RSA算法和ECC椭圆曲线算法比较
- 存储空间占用小。
- ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多。
- 安全性高。如最小密钥长度的要求160位ECC与1024位RSA、DSA有相同的安全强度。
- 计算量小,速度快。在私钥的处理速度上(解密和签名),ECC远 比RSA、DSA快得多。
- 带宽成本小。
4、RSA算法
5、ECC椭圆曲线算法
(1)什么是椭圆曲线算法
椭圆曲线密码学,简称ECC(Elliptic curve cryptography)它是一种建立公开密钥加密的算法,基于椭圆曲线数学理论而实现的一种非对称加密算法。在1985年由Neal Koblitz和Victor Miller分别独立提出并应用于密码学中。ECC被广泛认为是在给定密钥长度的情况下,最强大的非对称算法,对带宽要求十分紧的连接中会十分有帮助。
(2)特点
使用较短的密钥,占用空间少,并能达到与RSA同等或更高的安全级别。
(3)在以太坊中应用
由源码分析以太坊地址生成可见在区块链上椭圆曲线是使用secp256k1算法生成公私密钥对