隨著互聯(lián)網(wǎng)的興起,越來(lái)越多的信息和資源要通過(guò)網(wǎng)絡(luò)傳輸完成;然而在這些數(shù)據(jù)傳輸中總有一些“無(wú)關(guān)人員”做一些竊聽(tīng)、盜取、篡改等危害數(shù)據(jù)安全的行為,所以我們要對(duì)數(shù)據(jù)進(jìn)行加密處理,以保證數(shù)據(jù)的安全傳輸;
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信平臺(tái)小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了二七免費(fèi)建站歡迎大家使用!
所以有了一下幾種加密方式:
一、對(duì)稱加密:
這種算法簡(jiǎn)單來(lái)說(shuō)就是 數(shù)據(jù)的發(fā)送方和接收方都必須要有同一種密鑰(加密數(shù)據(jù)所用到的密鑰),在數(shù)據(jù)的傳輸中 數(shù)據(jù)與密鑰都通過(guò)加密的方式傳送;
特性:在數(shù)據(jù)加密中,數(shù)據(jù)被分成固定大的塊,逐個(gè)加密;加密和解密速度也快;
缺陷:因?yàn)榧用芎徒饷苁褂猛环N密鑰,所以需要發(fā)送方和傳送方都要保留密鑰,導(dǎo)致對(duì)于保存密鑰的數(shù)量也會(huì)越來(lái)越多;密鑰的分發(fā)的保密性也過(guò)于困難;
二、單向加密:
這種加密方式就是單純的加密過(guò)程,無(wú)法自己進(jìn)行解密;所以不能用作直接進(jìn)行加密數(shù)據(jù)信息。常用的算法有兩種:MD5和SHA算法,用這種方法對(duì)數(shù)據(jù)中的某一段進(jìn)行加密處理,獲得一個(gè)叫“特征碼”的東西。 這種“特征碼”可以用來(lái)確定原數(shù)據(jù)真?zhèn)涡院蛿?shù)據(jù)的完整性;
特性:定長(zhǎng)輸出;雪崩效應(yīng)(更改原數(shù)據(jù)中任意一個(gè)字節(jié),都會(huì)使得特征碼有截然不同的變化)
三、公鑰加密算法:
這種算法中所用到的密鑰有兩種:私鑰和公鑰(由私鑰抽取生成的)
私鑰的大小:512bit、1024bit、2048bit、4096bit、8192bit、16384bit;
這種加密方式對(duì)數(shù)據(jù)的加密安全等級(jí)較高;簡(jiǎn)單來(lái)說(shuō)就是使用私鑰加密數(shù)據(jù),解密則必須用公鑰來(lái)解密;若使用公鑰加密,則必須使用私鑰來(lái)解密;
由于私鑰的大小過(guò)大,對(duì)于數(shù)據(jù)的加密所消耗的系統(tǒng)資源和時(shí)間也會(huì)過(guò)多;所以就產(chǎn)生了缺陷;
通常這種加密方式很少用來(lái)加密大批量的數(shù)據(jù),所以它可以用來(lái)加密以下幾種:
⑴數(shù)字簽名的加密
數(shù)字簽名是用來(lái)讓數(shù)據(jù)的接收方確認(rèn)發(fā)送方的身份的;
⑵密鑰加密
在對(duì)稱加密中的密鑰交換時(shí),可以用公鑰加密法來(lái)加密密鑰;
⑶小段數(shù)據(jù)的加密
當(dāng)所需要傳送的數(shù)據(jù)是少量的情況下,可以使用公鑰加密;
常用的公鑰加密算法:
RSA:加密數(shù)字簽名
DSA:數(shù)字簽名算法;只能實(shí)現(xiàn)數(shù)字簽名的功能;有時(shí)該算法被稱為DSS;
ELgamal
有了以上幾種加密方式,在數(shù)據(jù)傳輸中的聯(lián)合應(yīng)用,就可以達(dá)到安全傳輸數(shù)據(jù)的目的;
從公鑰加密方式可知,傳輸數(shù)據(jù)雙方都要有對(duì)方的公鑰才可以對(duì)數(shù)據(jù)進(jìn)行解密;那么問(wèn)題來(lái)了,這個(gè)公鑰如何獲得?所以這里產(chǎn)生了第三方機(jī)構(gòu),也就是CA(Certification Authority)。
CA是認(rèn)證身份的中心,是用來(lái)確認(rèn)公鑰擁有者的真實(shí)身份的;類似于我們生活中的×××;
CA機(jī)構(gòu)的工作:
1.通信雙方交換證書(shū);
2.雙方協(xié)商加密算法;
3.雙方驗(yàn)證證書(shū)的真?zhèn)危?/p>
4.用CA的公鑰解密證書(shū)中CA的簽名,能解密說(shuō)明證書(shū)來(lái)源可靠
5.用通用的加密算法加密證書(shū),取得特征值;與解密出來(lái)的特征值比較,如果相同,說(shuō)明證書(shū)完整性可靠;
6.檢查證書(shū)的有效期是否在合法時(shí)間范圍,如果過(guò)期則證書(shū)不被認(rèn)可;
7.檢查證書(shū)的主體名稱和此通信的目標(biāo)是否能夠?qū)?yīng)
國(guó)際標(biāo)準(zhǔn)化組織(ISO)定義了證書(shū)的機(jī)構(gòu)和認(rèn)證標(biāo)準(zhǔn),X.509協(xié)議標(biāo)準(zhǔn)
證書(shū)里面主要包括:
擁有者的名稱:
擁有者所提交的公鑰
有效期
證書(shū)的版本號(hào)
證書(shū)的序列號(hào)
簽發(fā)算法ID
簽發(fā)CA的名稱
主體名稱
發(fā)證者的唯一標(biāo)識(shí)
發(fā)證者的數(shù)字簽名;
擴(kuò)展信息;
有了這個(gè)機(jī)構(gòu)我們就能安心的在網(wǎng)絡(luò)中傳輸數(shù)據(jù)了;簡(jiǎn)單的總結(jié)下數(shù)據(jù)是如何傳輸?shù)模?/strong>
1.通信雙方互相交換證書(shū),并到信任的CA進(jìn)行證書(shū)驗(yàn)證;
2.發(fā)送方使用某種對(duì)稱加密算法對(duì)數(shù)據(jù)進(jìn)行加密;對(duì)加密后的數(shù)據(jù)使用單向加密計(jì)算其特征值;發(fā)送方再用自己的私鑰加密此特征值,以證明數(shù)據(jù)來(lái)源的可靠;發(fā)送方使用接收方的證書(shū)加密對(duì)稱密鑰;
3.接收方在收到數(shù)據(jù)之后,先使用自己的私鑰解密對(duì)稱密鑰;然后使用發(fā)送方的公鑰解密特征值,再利用相同的單向加密算法,重新結(jié)算加密數(shù)據(jù)的特征值;比較兩個(gè)特征值;如果特征值一致,則表明數(shù)據(jù)完整;再用解密出來(lái)的對(duì)稱密鑰解密出原始數(shù)據(jù)