自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊對稱加密、非對稱加密、Hash算法

安全 算法
什么是對稱加密(Symmetric Key Encryption)?對稱加密采用了對稱密碼編碼技術(shù),它的特點(diǎn)是加密和解密使用相同的密鑰,用這個(gè)密鑰都能去加密或解密 。

 [[327803]]

對稱加密

什么是對稱加密(Symmetric Key Encryption)?

對稱加密采用了對稱密碼編碼技術(shù),它的特點(diǎn)是加密和解密使用相同的密鑰,用這個(gè)密鑰都能去加密或解密 。

基本過程:

甲方(主導(dǎo)方或者服務(wù)器方)生成加密密鑰,將密鑰私下共享給乙方(客戶方或者受眾方),當(dāng)甲方或者乙方用密文信息交換時(shí),均用此鑰將明文加密生成密文或者密文解密生成明文

常見的對稱加密算法:

DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES

常用的對稱加密算法:

AES、DES

優(yōu)點(diǎn):

生成密鑰的算法公開、計(jì)算量小、加密速度快、加密效率高、密鑰較短

缺點(diǎn):

一方面:雙方共同的密鑰,有一方密鑰被竊取,雙方都影響。另一方面:如果為每個(gè)客戶都生成不同密鑰,則密鑰數(shù)量巨大,密鑰管理有壓力。

應(yīng)用場景:

登錄信息用戶名和密碼加密、傳輸加密、指令加密(如扣款、下單操作)

 

對稱加密、非對稱加密、摘要(Hash算法)、數(shù)字簽名、數(shù)字證書

 

非對稱加密

什么是非對稱加密(Asymmetric Key Encryption)?

非對稱加密算法需要一對密鑰(兩個(gè)密鑰):公開密鑰(publickey)和私有密鑰(privatekey)(簡稱公鑰,私鑰)。公開密鑰與私有密鑰生成時(shí)是一對,用公鑰加密只能是對應(yīng)的私鑰解密,同理用私鑰加密只能用對應(yīng)的公鑰解密。

基本過程:

甲方(主導(dǎo)方或者服務(wù)器方)生成一對密鑰(也就是公鑰和私鑰)并將其中的一把公用密鑰向其它方公開或者私下共享;得到該公用密鑰的乙方使用該公鑰對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方再用自己保存的另一把對應(yīng)的私鑰對加密后的信息進(jìn)行解密。相當(dāng)于甲方和乙方各持一把鑰匙。此時(shí)乙方可以是一“人”或者多“人”。

常見的非對稱加密算法:

RSA、ECC、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)

常用的非對稱加密:

RSA、 ECC

優(yōu)點(diǎn):

安全高(幾乎很難破解)

缺點(diǎn):

加解密相對速度慢、密鑰長、計(jì)算量大、效率低

應(yīng)用場景:

HTTPS(ssl)證書里制作、CRS請求證書、金融通信加密、藍(lán)牙等硬件信息加密配對傳輸、關(guān)鍵的登錄信息驗(yàn)證。

 

對稱加密、非對稱加密、摘要(Hash算法)、數(shù)字簽名、數(shù)字證書

 

RSA與ECC對比

這兩個(gè)生成公私密鑰對的算法都是基于數(shù)學(xué)上的當(dāng)前計(jì)算機(jī)未解決的數(shù)學(xué)問題

RSA對極大整數(shù)做因數(shù)分解的難度決定了RSA算法的可靠性,ECC橢圓曲線密碼編碼學(xué)。

RSA一般加密小量的數(shù)據(jù),ECC多用移動(dòng)設(shè)備,兩者相比同樣的安全性ECC密鑰更短,速度更快。傳輸數(shù)據(jù)量小。

(1) RSA簽名算法適合于:Verify操作頻度高,而Sign操作頻度低的應(yīng)用場景。比如,分布式系統(tǒng)中基于capability的訪問控制就是這樣的一種場景。

(2) ECDSA簽名算法適合于:Sign和Verify操作頻度相當(dāng)?shù)膽?yīng)用場景。比如,點(diǎn)對點(diǎn)的安全信道建立

 

細(xì)說對稱加密與非對稱加密對比

在管理方面:非對稱加密比對稱加密更有優(yōu)勢,對稱加密的密鑰管理和分發(fā)上比較困難,不是非常安全,密鑰管理負(fù)擔(dān)很重。

在安全方面:非對稱加密算法基于未解決的數(shù)學(xué)難題,在破解上幾乎不可能。到了對稱加密 AES 雖說從理論來說是不可能破解的,但從計(jì)算機(jī)的發(fā)展角度來看。非對稱加密安全性更具有優(yōu)越性;

在速度方面:比如對稱加密方式AES 的軟件實(shí)現(xiàn)速度已經(jīng)達(dá)到了每秒數(shù)兆或數(shù)十兆比特。是非對稱加密公鑰的 100 倍,如果用硬件來實(shí)現(xiàn)的話這個(gè)比值將擴(kuò)大到 1000 倍。

對稱加密優(yōu)缺點(diǎn):對稱加密相比非對稱加密算法來說,加解密的效率要高得多、加密速度快。

非對稱加密優(yōu)缺點(diǎn):安全性更高,公鑰是公開的,密鑰是自己保存的,不需要將私鑰給別人。缺點(diǎn):加密和解密花費(fèi)時(shí)間長、速度慢,只適合對少量數(shù)據(jù)進(jìn)行加密。

摘要(Hash算法)

摘要特別的地方在于它是一種單向算法,單向散列函數(shù)一般用于產(chǎn)生消息摘要,用戶可以通過hash算法對目標(biāo)信息生成一段特定長度的唯一hash值,卻不能通過這個(gè)hash值重新逆向獲得目標(biāo)原文信息。(非可逆到原明文,相同的明文產(chǎn)生相同的摘要)

常見的Hash算法

MD2、MD4、MD5、HAVAL、SHA、SHA-1

常用的Hash算法

MD5、SHA-1

應(yīng)用場景:

1, Hash算法常用在不可還原的密碼存儲(chǔ)、信息完整性校驗(yàn)。

2,文檔、音視頻文件、軟件安裝包等用新老摘要對比是否一樣(接收到的文件是否被修改)

3, 用戶名或者密碼加密后數(shù)據(jù)庫存儲(chǔ)(數(shù)據(jù)庫大多數(shù)不會(huì)存儲(chǔ)關(guān)鍵信息的明文,就像很多登錄功能的忘記密碼不能找回,只能重置)

4,數(shù)字簽名和數(shù)據(jù)檢索。

SHA-1 與 MD5 的比較 :

因?yàn)槎呔?MD4 導(dǎo)出,SHA-1 和 MD5 彼此很相似。相應(yīng)的,他們的強(qiáng)度和其他特性也是相似。

安全性:最顯著和最重要的區(qū)別是 SHA-1 摘要比 MD5 摘要長 32 位。使用強(qiáng)行技術(shù),產(chǎn)生任何一個(gè)報(bào)文使其摘要等于給定報(bào)摘要的難度對 MD5 是 2128 數(shù)量級的操作,而對 SHA-1 則是 2160 數(shù)量級的操作。這樣,SHA-1 對強(qiáng)行攻擊有更大的強(qiáng)度;對密碼分析的安全性:由于 MD5 的設(shè)計(jì),易受密碼分析的攻擊,SHA-1 顯得不易受這樣的攻擊;

速度:在相同的硬件上,SHA-1 的運(yùn)行速度比 MD5 慢

數(shù)字簽名

數(shù)字簽名非常簡單,它是對上文中的摘要進(jìn)行加密后得到數(shù)字簽名。

也就是說,數(shù)字簽名是由明文本身的內(nèi)容經(jīng)過hash算法計(jì)算得到digest摘要,然后用甲方(或者發(fā)起方或者直接代號A)的私鑰加密而來的。簡單理解就是,數(shù)字簽名 = 對摘要加密

它主要解決你給了我摘要,但是誰知道這個(gè)摘要到底是不是你的摘要。如何保證你給的摘要在到我手上之前沒被修改。所以就用了對方的私鑰加密摘要。如果此時(shí)不是個(gè)人,而是信任的機(jī)構(gòu)所做的簽名,其實(shí)就是公證。

數(shù)字證書

上文中非對稱加密、Hash摘要的應(yīng)用場景都是提起到數(shù)字證書。也就是說數(shù)字證書是基于他們生成的。

數(shù)字證書是A(或者說甲方)向數(shù)字證書中心(CA)申請的,是由A的個(gè)人(或甲方的機(jī)構(gòu)企業(yè))信息,公鑰等經(jīng)過CA的私鑰加密而來的。相當(dāng)于進(jìn)行公證。而數(shù)字證書中心(CA)就是根證書的生產(chǎn)單位,很多Windows系統(tǒng)的瀏覽器根證書都是由一個(gè)或多個(gè)可信根的證書頒發(fā)機(jī)構(gòu)。(微軟、蘋果也有根證書頒發(fā)機(jī)構(gòu)機(jī)構(gòu))。

過程如下:

1,產(chǎn)生數(shù)字證書請求(我求你辦事需要你蓋章,我準(zhǔn)備的東西)

由于原文可能數(shù)據(jù)很大,非對稱加解密比較耗時(shí)導(dǎo)致時(shí)間長,網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,所以證書請求生成時(shí),需要對原文或者信息進(jìn)行hash摘要(MD5或者SHA的方式),這樣不管原信息多長,就得到固定的短信息摘要,然后再用A(或者甲方)的私鑰進(jìn)行數(shù)字簽名(對摘要加密) 。然后將簽名+個(gè)人(或機(jī)構(gòu)企業(yè))信息+公鑰三者要素合成一個(gè)CRS(證書請求)讓CA(數(shù)字證書中心)去生成數(shù)字證書(就是CA私鑰加密),或者說你給蓋章。這樣CA就會(huì)給你一個(gè)相當(dāng)于公證認(rèn)可后的數(shù)字證書。

對稱加密、非對稱加密、摘要(Hash算法)、數(shù)字簽名、數(shù)字證書

生成證書請求

2,拿到CA的簽名的證書后解密過程

【PS:證書是可以上下關(guān)聯(lián)的,比如經(jīng)過根證書得到的子證書的機(jī)構(gòu)還可以生成證書,相當(dāng)于多次加密,此時(shí)證書解密需要過程會(huì)層層CA公鑰解密】

應(yīng)用場景:

常見的https的證書、區(qū)塊鏈證書、一些金融開戶或者藍(lán)牙鏈接傳輸?shù)取?/p>

 

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2024-12-31 08:00:00

SpringBoot開發(fā)加密

2010-07-28 10:09:01

2023-11-22 16:08:48

2014-07-07 10:04:32

2019-09-23 12:16:02

通信安全加密哈希

2018-07-10 10:29:27

2019-12-11 16:56:37

HTTPS對稱加密Java

2022-10-21 07:33:12

2019-09-11 08:37:16

2023-09-04 14:00:28

加密密鑰私鑰

2009-08-13 18:12:11

C#數(shù)據(jù)加密

2016-11-10 23:51:41

2023-07-30 17:44:24

CryptoJS加密字符串

2009-08-04 11:08:33

ASP.NET數(shù)據(jù)加密

2011-03-14 15:06:49

SQL Server 安全

2012-09-13 09:58:38

2022-06-05 23:30:25

AES加密算法

2024-01-01 09:08:52

API簽名驗(yàn)簽

2023-08-01 07:24:05

2024-12-31 08:54:38

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號