當前位置:
首頁 > 最新 > 系統安全密碼全面剖析三部曲之二:公鑰加密以及混合加密

系統安全密碼全面剖析三部曲之二:公鑰加密以及混合加密

一. 引言

上周我們提到了對稱加密,對稱加密可以解決一部分的安全問題,而且加解密的速度很快。但是安全性上存在一定的隱患,隱患存在於密鑰的配送上。

例如接收者生成了密鑰,用郵件把密鑰發送給消息的發送者,一旦郵件泄露,那麼極有可能導致安全風險。企業合作就有很多這種情況,那麼如何解決呢?

方式有多種,例如事先共享密鑰,或者通過密鑰分配中心,這裡介紹通過技術手段的常用措施,公鑰加密以及對稱加密。

二. 公鑰加密

1.原理介紹

公鑰加密是什麼?和對稱加密不同,這裡的密鑰不是一個,而是分為了公鑰和私鑰。發送者用公鑰對消息進行加密,而接收者用私鑰對消息進行解密。特點如下:

發送者只需要加密的密鑰

接收者只需要解密的密鑰

解密的密鑰不可以被竊取

加密的密鑰被竊取了也沒關係,竊聽者解密不了,因為加密的密鑰和解密的密鑰不同

2.通信流程

公鑰加密的通信流程如下:

3.RSA原理

RSA是典型的公鑰加密演算法,其工作原理如下:

RSA 加密:密文 = 明文Emod N

RSA 解密:明文 = 密文Dmod N

這裡,E和N的組合,就是RSA的公鑰;D和N的組合就是RSA的私鑰。

那麼問題來了,這些數是如何生成的呢?

RSA生成密鑰對的步驟如下:

1.求N

首先,準備兩個很大的質數,p 和 q,N是p和q的乘積。寫為如下:

N =p * q

2.求L

L可以理解為僅僅是在生成密鑰對的過程中需要用到的數

L就是p-1 和 q-1的最小公倍數,寫為如下:

L =lcm(p-1,q-1)

3.求E

E是一個比1大,比L小的數,並且,E和L的最大公約數必須為1。所以E可以有多個值,滿足如下:

gcd(E,L)= 1

4.求D

D是由數E計算得到的,需要滿足:

E*D mod L = 1

只要要D能滿足上述條件,通過E和N進行加密的密文,就可以通過D和N進行解密。

4.RSA案例

舉例說明:

首先我們準備兩個質數,15,17,作為p和q。

N = 17 * 19

= 323

L = lcm(p-1,q-1)

= lcm(14,18)

= 144

E的滿足條件及有很多,只需要gcd(E,L) = 1。這裡發現如下數都可以:5,7,11,13,17,19,但是我們只需要質數,所以暫用5作為E。

D通過同樣的方式,滿足E * D mod L = 1的,29可以滿足。

所以在這個案例中:

我們的公鑰是: E=5,N=323

我們的私鑰是: D=29,N=323

三. 混合加密

公鑰加密的方式,將安全性進行了提升,但是公鑰加密有一個問題:性能較差。特別是對於加密數據較大的情況,尤為明顯。

混合加密就是解決性能問題的方法。其將對稱密碼和公鑰密碼的優勢進行了結合。

1.組成機制

其組成機制如下:

1.用對稱密碼加密消息

2.通過偽隨機數生成器生成對稱密碼加密中使用的會話密鑰

3.用公鑰密碼加密會話密鑰

4.從混合密碼系統外部富裕公鑰密碼加密時使用的密鑰。

2.加密流程

加密流程如下圖:

直接從上圖,應該就一目了然,混合加密的運作流程。下面我們看一下混合解密的流程,其實就是加密的反向流程。

3.解密流程

至此,防止信息泄露的演算法已經給介紹完,但是安全的防範絕對不是僅此而已。下周我們針對防止信息串改進行分享。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 智能化IT系統 的精彩文章:

TAG:智能化IT系統 |