非对称加密和对称加密在加密和解密过程、加密解密速度、传输的安全性上都有所不同,具体介绍如下:

  1. 加密和解密过程不同

    • 对称加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。

    • 非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密;也可以私钥加密,公钥进行解密。一般公钥是对所有人公开的,原始数据使用公钥加密后,只有拥有私钥的人才能解密。 也就是说只有公钥的情况下是无法解开加密的数据的。

    非对称加密流程图:

    对称加密流程图:

  2. 加密解密速度不同

    对称加密解密的速度比较快,适合数据比较长时的使用。非对称加密和解密花费的时间长、速度相对较慢,只适合对少量数据的使用。

  3. 传输的安全性不同

    对称加密的过程中无法确保密钥被安全传递,密文在传输过程中是可能被第三方截获的,如果密码本也被第三方截获,则传输的密码信息将被第三方破获,安全性相对较低。

    非对称加密算法中私钥是基于不同的算法生成不同的随机数,私钥通过一定的加密算法推导出公钥,但私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。所以安全性较高。

  4. 加密算法不同

    在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。

    在对称加密中使用的主要算法有:DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)、Blowfish等。