按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密。
对称加密“对称加密”很好理解,就是指加密和解密时使用的密钥都是同一个,是“对称”的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性。
对称加密所使用的算法包括:DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6,这些算法就可以看成密钥、或者理解为上面的密码本。这些算法也可以称为: “对称加密算法"或者"传统加密算法”,一方使用算法进行加密,然后另一方使用相同的算法进行解密。
保存密钥最安全的方式就是不告诉任何人,不进行传递,但对称加密中,解密方必须要得到对应的密钥,这就又要求密钥必须进行传递,可一旦传递密钥就有丢失的风险。这个"鸡生蛋、蛋生鸡"的问题一直困扰着人们。直至出现了一种算法: 这套算法生成的密钥分为两个部分:公钥、私钥。
这个一分为二的密钥对有如下特点:
1.公钥和私钥是一个算法中两个不同、但内在又相关联的参数集合,同时生成,但可以独立使用。
2.公钥加密的数据只有对应的私钥才可以解密(公钥加密后公钥也不能解密)
3.私钥加密的数据也只有对应的公钥才可以解密。
使用非对称加密进行通信
有了非对称加密的公私钥对,这样通信中仅需传递公钥,甚至公钥可以开放给所有人。需要发消息给我的人使用我的公钥加密后发给我,只有我可以使用私钥解密,其他人不可能获知信息的内容。
这只是单方向的加密,双向加密怎么办呢?对方也创建一个公私钥对就可以了。
因篇幅问题不能全部显示,请点此查看更多更全内容