古詩詞大全網 - 藝術簽名 - 數據加密大綱

數據加密大綱

數據加密

考慮用戶可能試圖繞過系統的情況,例如物理地拿走數據庫和竊聽通信線路。對這種威脅最有效的解決方案

是數據加密,即以加密格式存儲和傳輸敏感數據。

數據加密的術語是:明文,即原始的或未加密的數據。用加密算法加密,加密算法的輸入信息是明文和。

關鍵;密文,明文加密的格式,是加密算法的輸出信息。加密算法是公開的,但密鑰不是公開的。密文,不應該是無。

密鑰被用戶理解並用於數據存儲和傳輸。

示例:明文是壹個字符串:

當翠鳥著火時

(為簡單起見,假設處理的數據字符只有大寫字母和空格字符)。假設密鑰是壹個字符串:

姓氏

加密算法是:

1)將明文分成密鑰串長度的塊(空格用“+”表示)。

她的+著火了

2)用00~26範圍內的整數替換明文的每個字符,空格字符=00,A=01,...,Z = 26

0119001109 1407060919 0805181900 0301200308 0006091805

3)如步驟2中所述,替換密鑰的每個字符:

0512091520

4)對於每個明文塊,用對應的整數代碼和密鑰中對應位置的字符的整數代碼之和的模27之後的值替換每個字符:

5)用等價字符替換步驟4結果中的整數代碼:

FDIZB SSOXL MQ+GT HMBRA ERRFY

如果給定了密鑰,這個例子的解密過程就簡單了。問題是,對於惡意攻擊者來說,在不知道密鑰的情況下,使用匹配的

明文和密文的密鑰獲取難度有多大?對於上面這個簡單的例子,答案相當容易,不是壹般的容易,而是復雜的加密模式。

公式也容易設計。理想情況下,采用的加密模式應該讓攻擊者為破解付出的代價大於他獲得的收益。固體

事實上,這個目的適用於所有的安全措施。這種加密模式可以接受的終極目標是,連這種模式的發明者都過不了階段。

用明文和密文來獲取密鑰,所以不可能破解密文。

1.數據加密標準

有兩種傳統的加密方法,替換和置換。上面的例子使用了另壹種方法:使用壹個密鑰將文本中的每個字符轉換成壹個秘密。

文本中的壹個字符。替換只是以不同的順序重新排列明文的字符。單獨使用這兩種方法都不安全,但是

這兩種方法的結合可以提供相當高的安全性。采用數據加密標準(DES)。

這種組合算法由IBM制定,於1977年成為美國官方加密標準。

DES的工作方式如下:明文被分成許多64位的塊,每個塊用壹個64位的密鑰加密。事實上,密鑰由56位數據位和8位

位奇偶校驗位,所以只有256個可能的密碼,而不是264個。每個塊用初始置換法加密,然後進行16次復

替換,最後對其應用初始替換的逆。步驟I中的替換不是直接使用原始密鑰K,而是使用K和I計算出的密鑰Ki..

DES具有這樣的特性,除了以相反的順序應用密鑰Ki之外,其解密算法與加密算法相同。

2.公鑰加密

多年來,許多人認為DES並不真正安全。事實上,隨著快速和高度並行處理器的出現,即使不采用智能方法。

現在,武力破解DES也成為可能。“公鑰”加密方法使DES和類似的傳統加密技術過時了。在公鑰加密方法中,加密

算法和加密密鑰是公開的,任何人都可以將明文轉換成密文。但是相應的解密密鑰是秘密的(公鑰方法包括兩個密鑰,

分別用於加密和解密),並且無法從加密密鑰中推導出來,因此即使是加密器也無法在未經授權的情況下進行相應的解密。

公鑰加密的思想最早由Diffie和Hellman提出,其中最著名的是Rivest、Shamir和Adleman提出的。現在它通常被稱為

RSA(以三位發明者的首字母命名)基於以下兩個事實:

1)判斷壹個數是否為素數有壹個快速算法;

2)確定壹個合數的素因子的快速算法還沒有找到。

RSA方法的工作原理如下:

1)任意選擇兩個不同的大素數p和q並計算乘積r = p * q;

2)任意選擇壹個大整數e,e與(p-1)*(q-1)互質,整數e作為加密密鑰。註意:e的選擇很容易,例如,都是大的

p和q都有質數。

3)確定解密密鑰d:

d * e = 1模(p - 1)*(q - 1)

從e,p和q可以很容易地計算出d。

4)公開整數r和e,但不公開d;

5)將明文p(假設p是小於r的整數)加密成密文c,計算方法如下:

C = Pe模r

6)將密文c解密成明文p,計算方法如下:

P = Cd模r

但是,只從R和E(而不是P和Q)計算D是不可能的。因此,任何人都可以加密明文,但只能是授權用戶(知道D)。

在密文被解密之前。

我們舉壹個簡單的例子來說明上面的過程。顯然,我們只能選擇極少數。

例:若p = 3,q = 5,則r=15,(p-1)*(q-1)=8。選擇e=11(大於p和q的質數),用d * 11 = 1moduo8。

計算d =3。

假設明文是13的整數。那麽密文c就是

C = Pe模r

= 1311模15

= 1,792,160,394,037模15

= 7

恢復的明文p是:

P = Cd模r

= 73模15

= 343模15

= 13

因為E和D是互易的,所以公鑰加密方法也允許加密的信息以這種方式被“簽名”,從而接收方可以確信簽名不是偽造的。

假設A和B想通過公鑰加密傳輸數據,A和B分別公開了加密算法和對應的密鑰,但沒有公開解密算法和對應的密鑰。

A和B的加密算法是ECA和ECB,解密算法是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。

如果A要發送明文P給B,不是簡單的發送ECB(P),而是先將其解密算法DCA應用於P,然後用加密算法ECB將結果加密後發送出去。

密文c是:

C =歐洲中央銀行

B收到C後,依次應用其解密算法DCB和加密算法ECA,得到明文P:

非洲經委會

= ECA(DCB(ECB(DCA(P)))

= ECA(DCA(P)) /*DCB和ECB相互抵消*/

= P /*DCB和ECB相互抵消*/

這樣,B就可以確定消息確實是從A發出的,因為只有在加密過程中使用了DCA算法,P才能被ECA得到,而只有A知道DCA算法。

有些人,即使是B,也無法偽造A的簽名。