1.散列函数
散列函数也称为Hash函数,主流的算法有·MD5,SHA-1/-2;用来检测传输数据的完整性;通过·散列函数得到的值也称为散列值,也称为数据的指纹(Fingerprint)
不管多大文件通过计算最后得到的值都是128位;源文件改了一丁点得到的哈希值也是截然不同的;只能通过文件得到哈希值来对比,不可能用哈希值反推出源文件;一般来说散列值唯一,这样避免了不同文件的冲突,但是md5与sh-1被破解了,可以在短时间内得到一个跟源文件有相同哈希值的数据,但是不会跟源文件相同,只是一段乱码,可以用于篡改文件,前二算法还能用,有一定风险,可以选择安全性更高的SHA-2算法。
对称密钥算法:优点是速度快
非对称密钥算法:相对于对称算法更安全,不必担心公钥被劫持
两个算法优缺点可以互补,所以可以用对称算法加密传输的数据,例如des算法利用随机产生的52位随机秘钥加密数据,然后用接收者的公钥采用非对称算法加密随机秘钥,(随机秘钥只有56位,所以加密后密文不会过长,速度也不不会很慢)然后打包发送给接收方,接收方用自己的私钥解密出随机秘钥再解密数据。
明文通过算法得到散列值(不大,大概几百位大小),发出方用自己独有的私钥加密后的散列值叫数字签名,接收方用发出方的公钥解密出散列值再与得到的明文计算出的散列值对比。
CA:certificate authority
加密基本原理就是私钥加密作数字签名,另一用户用公钥解密再与明文计算出来的哈希值比较,通过CA可以实现安全的公钥交换,CA证书不需要保护。
标签:加密,散列值,证书,系统,秘钥,源文件,算法,哈希,PKI From: https://www.cnblogs.com/luca23317/p/17678265.html