1、对称加密算法的效率是非对称加密的上百倍,对称加密适合加密大的数据(比特(k,btye)才算小数据,兆都算大数据了)。
2、对称加密算法:DES(块加密,分组加密)不安全,基本算已经淘汰了,太容易破译,当初这个算法出来的时候,预期可以顶住十年就算完成使命了。3DES消耗资源,相当于DES三次运算,相当于把密钥变长,很耗CPU。公开的对称密码算法最好的是AES(块加密),密钥长度有128,192,256,破译需要上百年,计算时消耗的资源也不是很多。
RC4流加密
3、量子通信可以提高计算速度,类似AES原本需要几百年计算破译,量子通信可使它破译速度大幅提高,就相当于很快就能破译了。量子通信能通用的话,相当于现在所有的加密算法都可被破译掉了。
4、混合加密:A和B通信,A想给B发送数据,数据采用对称加密算法AES进行加密,但B不知道A采用的密钥是多少,所以A向B请求B的公钥,B将自己的非对称密钥中的公钥发给A,A用公钥加密AES的密钥,发给B。
A向B请求公钥的过程,是明文的,所以存在中间人攻击,黑客将自己的公钥冒充B发给A,以实现通信。
解决方案是,互联网上下载别人的公钥,是需要认证的。
5、哈希函数(做验证,验证消息完整性;数字签名):MD5、SHA,具有单向性(不可逆)、唯一性(被破解了,“碰撞”)、定长(MD5哈希后128比特,SHA-1哈希后160比特,SHA-2哈希后可有224位、256位、384位、512位)、雪崩效应(极小的变化引起极大的变化)
6、消息鉴别:使用hash实现完整性校验,例如MD5(不加盐):A和B通信,A将原文数据和原文数据得出的MD5值一起发给B,黑客从中间篡改原文数据再发给B,B将收到的原文数据做一遍MD5计算,和收到的MD5值作比较,若一致则数据完整未被篡改。不加盐的情况,黑客在篡改的时候可以将篡改后的数据做一次MD5,将原本的MD5扔掉。
7、MD5加盐:A和B知道一个共同的密钥,例如abc,只有A和B知道,在进行MD5时,将原文数据和abc加在一起进行MD5计算。黑客仍然可以篡改数据,但会被接收者发现。
8、保证机密性和完整性:先做hash再加密比较好
9、数字签名(hash完整性,非对称加密抗抵赖)