非对称加密的定义
加密是指把明文转换成密文的过程,密钥是加密过程中的可变参数,加密算法可以分为对称加密算法和非对称加密算法两大类,加密和解密使用同一个密钥的算法为对称加密算法,加密和解密的过程使用不同的密钥称为非对称加密算法。
非对称密钥也叫公开密钥加密,它是用两个数学相关的密钥对信息进行编码。在此系统中,其中一个密钥叫公开密钥,可随意发给期望同密钥持有者进行安全通信的人。公开密钥用于对信息加密。第二个密钥是私有密钥,属于密钥持有者,此人要仔细保存私有密钥。密钥持有者用私有密钥对收到的信息进行解密。
传输信息的一方可以用来对明文进行加密,密文只能由私钥进行解密,非对称加密主要基于运算的不可逆原理。
非对称加密算法的应用
非对称加密算法除了在加密上的用途,还可以用于数字签名,数字签名的过程是信息的发送方用私钥对信息进行加密,信息的接收方对收到的信息进行校验,因为私钥只有信息发送方拥有,所以如果用发送方的公钥校验通过就能够证明信息没有被篡改。
非对称加密算法的优势和劣势
优势:
第一,在多人之间进行保密信息传输所需的密钥组和数量很小;
第二,密钥的发布不成问题;
第三,公开密钥系统可实现数字签名。
缺点:
公开密钥加密比私有密钥加密在加密/解密时的速度慢。
常见的非对称加密算法
常见的非对称加密算法如下:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
其他的加密算法: