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