首頁(yè) 常見(jiàn)問(wèn)題 正文
聚名企服

加密的強(qiáng)度取決于什么?

轉(zhuǎn)載 2021-12-27 11:00:54 6912
加密的強(qiáng)度主要取決于加密方式和密鑰復(fù)雜程度。密鑰是一種參數(shù),它是在使用密碼算法過(guò)程中輸入的參數(shù),是決定密文是否安全的重要參數(shù),通常密鑰越長(zhǎng),破解的難度越大。

加密的強(qiáng)度取決于什么?加密的強(qiáng)度主要取決于加密方式和密鑰復(fù)雜程度。

密鑰

密鑰是一種參數(shù),它是在使用密碼(cipher)算法過(guò)程中輸入的參數(shù)。同一個(gè)明文在相同的密碼算法和不同的密鑰計(jì)算下會(huì)產(chǎn)生不同的密文。很多知名的密碼算法都是公開(kāi)的,密鑰才是決定密文是否安全的重要參數(shù),通常密鑰越長(zhǎng),破解的難度越大,比如一個(gè)8位的密鑰最多有256種情況,使用窮舉法,能非常輕易的破解,知名的DES算法使用56位的密鑰,目前已經(jīng)不是一種安全的加密算法了,主要還是因?yàn)?6位的密鑰太短,在數(shù)小時(shí)內(nèi)就可以被破解。密鑰分為對(duì)稱(chēng)密鑰與非對(duì)稱(chēng)密鑰。

加密的強(qiáng)度取決于什么?

明文/密文

明文(plaintext)是加密之前的原始數(shù)據(jù),密文是通過(guò)密碼(cipher)運(yùn)算后得到的結(jié)果成為密文(ciphertext)

對(duì)稱(chēng)密鑰

對(duì)稱(chēng)密鑰(Symmetric-key algorithm)又稱(chēng)為共享密鑰加密,對(duì)稱(chēng)密鑰在加密和解密的過(guò)程中使用的密鑰是相同的,常見(jiàn)的對(duì)稱(chēng)加密算法有DES、3DES、AES、RC5、RC6。對(duì)稱(chēng)密鑰的優(yōu)點(diǎn)是計(jì)算速度快,但是他也有缺點(diǎn),密鑰需要在通訊的兩端共享,讓彼此知道密鑰是什么對(duì)方才能正確解密,如果所有客戶(hù)端都共享同一個(gè)密鑰,那么這個(gè)密鑰就像萬(wàn)能鑰匙一樣,可以憑借一個(gè)密鑰破解所有人的密文了,如果每個(gè)客戶(hù)端與服務(wù)端單獨(dú)維護(hù)一個(gè)密鑰,那么服務(wù)端需要管理的密鑰將是成千上萬(wàn),這會(huì)給服務(wù)端帶來(lái)噩夢(mèng)。

下面就是一個(gè)簡(jiǎn)單的對(duì)稱(chēng)加密,將明文加密成ASCII。

# 加密的方式:在ASCII的基礎(chǔ)上 + 密鑰的值def encipher(plain_text, key): # 加密cipher_text = []for c in plain_text:cipher_text.append(str(ord(c) + key))return ' '.join(cipher_text)def decipher(cipher_text, key): # 解密 plain_text = []for c in cipher_text.split(" "):plain_text.append(chr(int(c)+key))return "".join(plain_text)if __name__ == '__main__':print "cipher_text:", encipher("abcdef", 0)print "plain_text:", decipher("97 98 99 100 101 102", 0)

非對(duì)稱(chēng)密鑰

非對(duì)稱(chēng)密鑰(public-key cryptography),又稱(chēng)為公開(kāi)密鑰加密,服務(wù)端會(huì)生成一對(duì)密鑰,一個(gè)私鑰保存在服務(wù)端,僅自己知道,另一個(gè)是公鑰,公鑰可以自由發(fā)布供任何人使用。

客戶(hù)端的明文通過(guò)公鑰加密后的密文需要用私鑰解密。非對(duì)稱(chēng)密鑰在加密和解密的過(guò)程的使用的密鑰是不同的密鑰,加密和解密是不對(duì)稱(chēng)的,所以稱(chēng)之為非對(duì)稱(chēng)加密。

與對(duì)稱(chēng)密鑰加密相比,非對(duì)稱(chēng)加密無(wú)需在客戶(hù)端和服務(wù)端之間共享密鑰,只要私鑰不發(fā)給任何用戶(hù),即使公鑰在網(wǎng)上被截獲,也無(wú)法被解密,僅有被竊取的公鑰是沒(méi)有任何用處的。常見(jiàn)的非對(duì)稱(chēng)加密有RSA,非對(duì)稱(chēng)加解密的過(guò)程:

服務(wù)端生成配對(duì)的公鑰和私鑰

私鑰保存在服務(wù)端,公鑰發(fā)送給客戶(hù)端

客戶(hù)端使用公鑰加密明文傳輸給服務(wù)端

服務(wù)端使用私鑰解密密文得到明文

數(shù)字簽名

數(shù)據(jù)在瀏覽器和服務(wù)器之間傳輸時(shí),有可能在傳輸過(guò)程中被冒充的盜賊把內(nèi)容替換了,那么如何保證數(shù)據(jù)是真實(shí)服務(wù)器發(fā)送的而不被調(diào)包呢,同時(shí)如何保證傳輸?shù)臄?shù)據(jù)沒(méi)有被人篡改呢,要解決這兩個(gè)問(wèn)題就必須用到數(shù)字簽名,數(shù)字簽名就如同日常生活的中的簽名一樣,一旦在合同書(shū)上落下了你的大名,從法律意義上就確定是你本人簽的字兒,這是任何人都沒(méi)法仿造的,因?yàn)檫@是你專(zhuān)有的手跡,任何人是造不出來(lái)的。

那么在計(jì)算機(jī)中的數(shù)字簽名怎么回事呢?數(shù)字簽名就是用于驗(yàn)證傳輸?shù)膬?nèi)容是不是真實(shí)服務(wù)器發(fā)送的數(shù)據(jù),發(fā)送的數(shù)據(jù)有沒(méi)有被篡改過(guò),它就干這兩件事,是非對(duì)稱(chēng)加密的一種應(yīng)用場(chǎng)景。不過(guò)他是反過(guò)來(lái)用私鑰來(lái)加密,通過(guò)與之配對(duì)的公鑰來(lái)解密。

第一步:服務(wù)端把報(bào)文經(jīng)過(guò)Hash處理后生成摘要信息Digest,摘要信息使用私鑰private-key加密之后就生成簽名,服務(wù)器把簽名連同報(bào)文一起發(fā)送給客戶(hù)端。

第二步:客戶(hù)端接收到數(shù)據(jù)后,把簽名提取出來(lái)用public-key解密,如果能正常的解密出來(lái)Digest2,那么就能確認(rèn)是對(duì)方發(fā)的。

第三步:客戶(hù)端把報(bào)文Text提取出來(lái)做同樣的Hash處理,得到的摘要信息Digest1,再與之前解密出來(lái)的Digist2對(duì)比,如果兩者相等,就表示內(nèi)容沒(méi)有被篡改,否則內(nèi)容就是被人改過(guò)了。因?yàn)橹灰谋緝?nèi)容哪怕有任何一點(diǎn)點(diǎn)改動(dòng)都會(huì)Hash出一個(gè)完全不一樣的摘要信息出來(lái)。

數(shù)字證書(shū)

數(shù)字證書(shū)簡(jiǎn)稱(chēng)CA,它由權(quán)威機(jī)構(gòu)給某網(wǎng)站頒發(fā)的一種認(rèn)可憑證,這個(gè)憑證是被大家(瀏覽器)所認(rèn)可的,為什么需要用數(shù)字證書(shū)呢,難道有了數(shù)字簽名還不夠安全嗎?

有這樣一種情況,就是瀏覽器無(wú)法確定所有的真實(shí)服務(wù)器是不是真的是真實(shí)的,舉一個(gè)簡(jiǎn)單的例子:A廠家給你們家安裝鎖,同時(shí)把鑰匙也交給你,只要鑰匙能打開(kāi)鎖,你就可以確定鑰匙和鎖是配對(duì)的,如果有人把鑰匙換了或者把鎖換了,你是打不開(kāi)門(mén)的,你就知道肯定被竊取了,但是如果有人把鎖和鑰匙替換成另一套表面看起來(lái)差不多的,但質(zhì)量差很多的,雖然鑰匙和鎖配套,但是你卻不能確定這是否真的是A廠家給你的,那么這時(shí)候,你可以找質(zhì)檢部門(mén)來(lái)檢驗(yàn)一下,這套鎖是不是真的來(lái)自于A廠家,質(zhì)檢部門(mén)是權(quán)威機(jī)構(gòu),他說(shuō)的話是可以被公眾認(rèn)可的(呵呵)。

同樣的, 因?yàn)槿绻腥耍◤埲┯米约旱墓€把真實(shí)服務(wù)器發(fā)送給瀏覽器的公鑰替換了,于是張三用自己的私鑰執(zhí)行相同的步驟對(duì)文本Hash、數(shù)字簽名,最后得到的結(jié)果都沒(méi)什么問(wèn)題,但事實(shí)上瀏覽器看到的東西卻不是真實(shí)服務(wù)器給的,而是被張三從里到外(公鑰到私鑰)換了一通。

那么如何保證你現(xiàn)在使用的公鑰就是真實(shí)服務(wù)器發(fā)給你的呢?我們就用數(shù)字證書(shū)來(lái)解決這個(gè)問(wèn)題。數(shù)字證書(shū)一般由數(shù)字證書(shū)認(rèn)證機(jī)構(gòu)(Certificate Authority)頒發(fā),證書(shū)里面包含了真實(shí)服務(wù)器的公鑰和網(wǎng)站的一些其他信息,數(shù)字證書(shū)機(jī)構(gòu)用自己的私鑰加密后發(fā)給瀏覽器,瀏覽器使用數(shù)字證書(shū)機(jī)構(gòu)的公鑰解密后得到真實(shí)服務(wù)器的公鑰。這個(gè)過(guò)程是建立在被大家所認(rèn)可的證書(shū)機(jī)構(gòu)之上得到的公鑰,所以這是一種安全的方式。

聲明:本文轉(zhuǎn)載于:互聯(lián)網(wǎng),如有侵犯,請(qǐng)聯(lián)系service@Juming.com刪除
相關(guān)標(biāo)簽: 加密

編輯推薦

  • 域名注冊(cè)專(zhuān)題合集 域名注冊(cè)專(zhuān)題合集

  • 域名搶注專(zhuān)題合集 域名搶注專(zhuān)題合集

  • 企業(yè)建站專(zhuān)題合集 企業(yè)建站專(zhuān)題合集

主站蜘蛛池模板: 人妻少妇精品无码专区| 亚洲av无码专区在线观看下载| 人妻丰满熟妇av无码区不卡| 无码区国产区在线播放| 无码免费又爽又高潮喷水的视频 | 亚洲?V无码乱码国产精品| 精品无码人妻一区二区三区| 成人免费一区二区无码视频| 亚洲综合无码精品一区二区三区 | 无码精品久久久天天影视| 2019亚洲午夜无码天堂| 国产在线无码精品电影网| 亚洲中文无码永久免| 久久无码精品一区二区三区| 国模GOGO无码人体啪啪| 亚洲色无码国产精品网站可下载| 国产成人无码精品久久久久免费| 久久精品国产亚洲AV无码偷窥| 白嫩少妇激情无码| 亚洲Av无码精品色午夜| 亚洲?v无码国产在丝袜线观看 | 亚洲国产91精品无码专区| 欧洲成人午夜精品无码区久久 | 日韩精品无码中文字幕一区二区 | 色窝窝无码一区二区三区| 无码播放一区二区三区| 亚洲国产成人片在线观看无码| 亚洲精品无码久久毛片| 午夜无码中文字幕在线播放 | 97免费人妻无码视频| 蜜芽亚洲av无码精品色午夜| 亚洲av无码专区国产乱码在线观看 | 欧洲精品无码成人久久久| 无码H肉动漫在线观看| 亚洲va中文字幕无码久久不卡| 中文字幕人妻无码一区二区三区| 极品粉嫩嫩模大尺度无码视频| 一本久道中文无码字幕av| 日本爆乳j罩杯无码视频| 中文精品无码中文字幕无码专区 | 免费无码又爽又刺激一高潮|