隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,安全問題也越來越被提到開發(fā)過程中墓怀。想置身事外已是妄想。
加解密與其說是安全領(lǐng)域的產(chǎn)物卫键,倒不如說是數(shù)學(xué)領(lǐng)域的產(chǎn)物傀履,只是在安全領(lǐng)域發(fā)揮了更大的作用。加解密相關(guān)的主要有對(duì)稱加密莉炉,非對(duì)稱加密以及MD5信息摘要钓账。
對(duì)稱加密
常見的有 AES-CBC碴犬、DES、3DES官扣、AES-GCM等翅敌,相同的密鑰可以用于信息的加密和解密,掌握密鑰才能獲取信息惕蹄,能夠防止信息竊聽蚯涮,通信方式是1對(duì)1;對(duì)稱加密的優(yōu)勢(shì)是信息傳輸1對(duì)1,需要共享相同的密碼卖陵,密碼的安全是保證信息安全的基礎(chǔ)遭顶,服務(wù)器和 N 個(gè)客戶端通信,需要維持 N 個(gè)密碼記錄泪蔫,且缺少修改密碼的機(jī)制棒旗。
特點(diǎn)
加解密同一密鑰,速度快撩荣,效率高
缺點(diǎn)
密鑰交換問題
算法
DES,AES
非對(duì)稱加密
即常見的 RSA 算法铣揉,還包括 ECC、DH 等算法餐曹,算法特點(diǎn)是逛拱,密鑰成對(duì)出現(xiàn),一般稱為公鑰(公開)和私鑰(保密)台猴,公鑰加密的信息只能私鑰解開朽合,私鑰加密的信息只能公鑰解開。因此掌握公鑰的不同客戶端之間不能互相解密信息饱狂,只能和掌握私鑰的服務(wù)器進(jìn)行加密通信曹步,服務(wù)器可以實(shí)現(xiàn)1對(duì)多的通信,客戶端也可以用來驗(yàn)證掌握私鑰的服務(wù)器身份休讳。
非對(duì)稱加密的特點(diǎn)是信息傳輸1對(duì)多讲婚,服務(wù)器只需要維持一個(gè)私鑰就能夠和多個(gè)客戶端進(jìn)行加密通信,但服務(wù)器發(fā)出的信息能夠被所有的客戶端解密俊柔,且該算法的計(jì)算復(fù)雜磺樱,加密速度慢。
特點(diǎn)
公/私鑰機(jī)制
大家可能有個(gè)疑問婆咸,是不是公鑰只能用來加密,私鑰只能用來解密芜辕?
其實(shí)公鑰和私鑰都可以用來加密或解密---只要能保證用A加密尚骄,就用B解密就行。至于A是公鑰還是私鑰侵续,其實(shí)可以根據(jù)不同的用途而定倔丈。
所以私鑰加密公鑰可以解密憨闰,這就成了數(shù)字簽名;公鑰加密私鑰可以解密這是真正的加密需五。
缺點(diǎn)
加解密速度慢鹉动,特別是解密
算法
RSA
信息摘要
MD5
計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)宏邮。
特點(diǎn)
1泽示、壓縮性:任意長(zhǎng)度的數(shù)據(jù),算出的MD5值長(zhǎng)度都是固定的蜜氨。
2械筛、容易計(jì)算:從原數(shù)據(jù)計(jì)算出MD5值很容易。
3飒炎、抗修改性:對(duì)原數(shù)據(jù)進(jìn)行任何改動(dòng)埋哟,哪怕只修改1個(gè)字節(jié),所得到的MD5值都有很大區(qū)別郎汪。
4赤赊、強(qiáng)抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個(gè)具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是非常困難的煞赢。