導航:首頁 > 文檔加密 > 其加密或解密變換

其加密或解密變換

發布時間:2023-08-08 02:10:37

❶ 公鑰密碼體制的加密變換和解密變換應該滿足哪些條件

對於有公鑰和私鑰的系統來說,公鑰是可以公開分發出去的,但是私鑰是需要保密,它不能離開產生公鑰和私鑰的保密設備。同時普通私鑰還需要考慮利用系統公鑰來加密進一步保存。

對於外部利用公鑰加密的信息,需要將相關的信息送到內部保密設備利用私鑰來解密,然後保密設備再將解密結果送出來。

非對稱密碼:該體制有成為公鑰密碼體制,加密和解密的密碼不相同,一般,公鑰用於加密,私鑰用於解密。非對稱密碼加密速度較慢,一般用於對稱密碼的保護和數字簽名。達到的密碼學目標:機密性、認證、不可抵賴性。

(1)其加密或解密變換擴展閱讀:

一個密碼系統的組成包括以下五個部分:

(1) 明文空間M,它是全體明文的集合。

(2) 密文空間C,它是全體密文的集合。

(3) 密鑰空間K,它是全體密鑰的集合。其中每一個密鑰K均由加密密鑰和解密密鑰組成,即。

(4)加密演算法E,它是一族由M到C的加密變換,對於每一個具體的,則E就確定出一個具體的加密函數,把M加密成密文C。

(5) 解密演算法D,它是一族由C到M的解密變換,對於每一個確定的,則D就確定出一個具體的解密函數。

❷ des和aes 加解密演算法具體步驟有例子最好

隨著計算機網路和計算機通訊技術的發展,計算機密碼學得到前所未有的重視並迅速普及和發展起來。由於密碼系統的各種性能主要由密碼演算法所決定,不同的演算法決定了不同的密碼體制,而不同的密碼體制又有著不同的優缺點:有的密碼演算法高速簡便,但加解密密鑰相同,密鑰管理困難;有的密碼演算法密鑰管理方便安全,但計算開銷大、處理速度慢。基於此,本文針對兩種典型的密碼演算法DES和RSA的特點進行討論分析,並提出一種以這兩種密碼體制為基礎的混合密碼系統,來實現優勢互補。
1 密碼系統簡介
1.1 密碼系統分類
密碼系統從原理上可分為兩大類,即單密鑰系統和雙密鑰系統。單密鑰系統又稱為對稱密碼系統,其加密密鑰和解密密鑰或者相同,或者實質上相同,即易於從一個密鑰得出另一個,如圖1所示。雙密鑰系統又稱為公開密鑰密碼系統,它有兩個密鑰,一個是公開的,用K1表示,誰都可以使用;另一個是私人密鑰,用K2表示,只由採用此系統的人掌握。從公開的密鑰推不出私人密鑰,如圖2所示。

1.2 兩種密碼系統分析
1.2.1 對稱密碼系統(單鑰密碼系統)
對稱密碼系統中加密和解密均採用同一把密鑰,而且通信雙方必須都要獲得這把密鑰。這就帶來了一系列問題。首先,密鑰本身的發送就存在著風險,如果在發送中丟失,接受方就不可能重新得到密文的內容;其次,多人通信時密鑰的組合的數量會出現爆炸性的膨脹,N個人兩兩通信,需要N*(N-1)/2把密鑰,增加了分發密鑰的代價和難度;最後,由於通信雙方必須事先統一密鑰,才能發送保密的信息,這樣,陌生人之間就無法發送密文了。
1.2.2 公開密鑰密碼系統(雙鑰密碼系統)
公開密鑰密碼系統中,收信人生成兩把數學上關聯但又不同的公鑰和私鑰,私鑰自己保存,把公鑰公布出去,發信人使用收信人的公鑰對通信文件進行加密,收信人收到密文後用私鑰解密。公開密鑰密碼系統的優勢在於,首先,用戶可以把用於加密的鑰匙公開地發給任何人,並且除了持有私有密鑰的收信人之外,無人能解開密文;其次,用戶可以把公開鑰匙發表或刊登出來,使得陌生人之間可以互發保密的通信;最後,公開密鑰密碼系統提供了數字簽字的公開鑒定系統,而這是對稱密碼系統不具備的。
1.3 典型演算法
對稱密碼系統的演算法有DES,AES,RC系列,DEA等,公開密鑰密碼系統的演算法有RSA,Diffie-Hellman, Merkle-Hellman等。
2 DES演算法
DES (Data Encryption Standard,數據加密標准)是一個分組加密演算法,它以64 bit位(8 byte)為分組對數據加密,其中有8 bit奇偶校驗,有效密鑰長度為56 bit。64 位一組的明文從演算法的一端輸入,64 位的密文從另一端輸出。DES演算法的加密和解密用的是同一演算法,它的安全性依賴於所用的密鑰。DES 對64位的明文分組進行操作,通過一個初始置換,將明文分組成左半部分和右半部分,各32位長。然後進行16輪完全相同的運算,這些運算被稱為函數f,在運算過程中數據與密鑰結合。經過16輪後,左、右半部分合在一起經過一個末置換(初始置換的逆置換),完成演算法。在每一輪中,密鑰位移位,然後再從密鑰的56位中選出48位。通過一個擴展置換將數據的右半部分擴展成48位,並通過一個異或操作與48位密鑰結合,通過8個s盒將這48位替代成新的32位數據,再將其置換一次。這些運算構成了函數f。然後,通過另一個異或運算,函數f輸出與左半部分結合,其結果即成為新的右半部分, 原來的右半部分成為新的左半部分。將該操作重復16次,實現DES的16輪運算。
3 RSA演算法
RSA演算法使用兩個密鑰,一個公共密鑰,一個私有密鑰。如用其中一個加密,則可用另一個解密。密鑰長度從40到2048 bit可變。加密時把明文分成塊,塊的大小可變,但不能超過密鑰的長度,RSA演算法把每一塊明文轉化為與密鑰長度相同的密文塊。密鑰越長,加密效果越好,但加密解密的開銷也大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA演算法利用了陷門單向函數的一種可逆模指數運算,描述如下:(1)選擇兩個大素數p和q;(2)計算乘積n=pq和φ(n)=(p-1)(q-1);(3)選擇大於1小於φ(n)的隨機整數e,使得
gcd(e,φ(n))=1;(4)計算d使得de=1modφ(n);(5)對每一個密鑰k=(n,p,q,d,e),定義加密變換為Ek(x)=xemodn,解密變換為Dk(y)=ydmodn,這里x,y∈Zn;(6)以{e,n}為公開密鑰,{p,q,d}為私有密鑰。
4 基於DES和RSA的混合密碼系統
4.1 概述
混合密碼系統充分利用了公鑰密碼和對稱密碼演算法的優點,克服其缺點,解決了每次傳送更新密鑰的問題。發送者自動生成對稱密鑰,用對稱密鑰按照DES演算法加密發送的信息,將生成的密文連同用接受方的公鑰按照RSA演算法加密後的對稱密鑰一起傳送出去。收信者用其密鑰按照RSA演算法解密被加密的密鑰來得到對稱密鑰,並用它來按照DES演算法解密密文。
4.2 具體實現步驟
(1)發信方選擇對稱密鑰K(一般為64位,目前可以達到192位)
(2)發信方加密消息:對明文按64位分組進行操作,通過一個初始置換,將明文分組成左半部分和右半部分。然後進行16輪完全相同的運算,最後,左、右半部分合在一起經過一個末置換(初始置換的逆置換),完成演算法。在每一輪中,密鑰位移位,然後再從密鑰的56位中選出48位。通過一個擴展置換將數據的右半部分擴展成48位,並通過一個異或操作與48位密鑰結合,通過8個S盒將這48位替代成新的32位數據,再將其置換一次。然後通過另一個異或運算,輸出結果與左半部分結合,其結果即成為新的右半部分,原來的右半部分成為新的左半部分。如圖3所示。

(3)收信方產生兩個足夠大的強質數p、q,計算n=p×q和z=(p-1)×(q-1),然後再選取一個與z互素的奇數e,從這個e值找出另一個值d,使之滿足e×d=1 mod (z)條件。以兩組數(n,e) 和 (n,d)分別作為公鑰和私鑰。收信方將公鑰對外公開,從而收信方可以利用收信方的公鑰對 (1)中產生的對稱密鑰的每一位x進行加密變換Ek(x)=xemodn;
(4)發信方將步驟(2)和(3)中得到的消息的密文和對稱密鑰的密文一起發送給收信方;
(5)收信方用(3)中得到的私鑰來對對稱密鑰的每一位y進行解密變換Dk(y)=ydmodn,從而得到(1)中的K;
(6)收信方用對稱密鑰K和DES演算法的逆步驟來對消息進行解密,具體步驟和(2)中恰好相反,也是有16輪迭代。
(7)既可以由收信方保留對稱密鑰K來進行下一次數據通信,也可以由收信方產生新的對稱密鑰,從而使K作廢。
4.3 兩點說明
4.3.1 用公鑰演算法加密密鑰
在混合密碼系統中,公開密鑰演算法不用來加密消息,而用來加密密鑰,這樣做有兩個理由:第一,公鑰演算法比對稱演算法慢,對稱演算法一般比公鑰演算法快一千倍。計算機在大約15年後運行公開密鑰密碼演算法的速度才能比得上現在計算機運行對稱密碼的速度。並且,隨著帶寬需求的增加,比公開密鑰密碼處理更快的加密數據要求越來越多。第二,公開密鑰密碼系統對選擇明文攻擊是脆弱的。密碼分析者只需要加密所有可能的明文,將得到的所有密文與要破解的密文比較,這樣,雖然它不可能恢復解密密鑰,但它能夠確定當前密文所對應的明文。
4.3.2 安全性分析
如果攻擊者無論得到多少密文,都沒有足夠的信息去恢復明文,那麼該密碼系統就是無條件安全的。在理論上,只有一次一密的系統才能真正實現這一點。而在本文所討論的混合密碼系統中,發信方每次可以自由選擇對稱密鑰來加密消息,然後用公鑰演算法來加密對稱密鑰,即用戶可以採用一次一密的方式來進行數據通信,達到上述的無條件安全。
5 小結
基於DES和RSA的混合密碼系統結合了公鑰密碼體制易於密鑰分配的特點和對稱密碼體制易於計算、速度快的特點,為信息的安全傳輸提供了良好的、快捷的途徑,使數據傳輸的密文被破解的幾率大大降低,從而對數據傳輸的安全性形成更有力的保障,並且發信方和收信方對密鑰的操作自由度得到了很大的發揮。

❸ 替代密碼的替代密碼的分類

根據密碼演算法加解密時使用替換表多少的不同,替代密碼又可分為單表替代密碼和多表替代密碼。
單表替代密碼的密碼演算法加解密時使用一個固定的替換表。單表替代密碼又可分為一般單表替代密碼、移位密碼、仿射密碼、密鑰短語密碼。
多表替代密碼的密碼演算法加解密時使用多個替換表。 多表替代密碼有弗吉尼亞密碼、希爾(Hill)密碼、一次一密鑰密碼、Playfair密碼。 單表替代密碼對明文中的所有字母都使用一個固定的映射(明文字母表到密文字母表)。設A={a0, a1,…, an-1}為包含了n個字母的明文字母表;
B={b0, b1,…, bn-1} 為包含n個字母的密文字母表,單表替代密碼使用了A到B的映射關系:f:A→B, f ( ai )= bj
一般情況下,f 是一一映射,以保證加密的可逆性。加密變換過程就是將明文中的每一個字母替換為密文字母表的一個字母。而單表替代密碼的密鑰就是映射f或密文字母表。經常密文字母表與明文字母表的字元集是相同的,這時的密鑰就是映射f。下面給出幾種典型的單表替代密碼。
⒈一般單表替代密碼
一般單表替代密碼的原理是以26個英文字母集合上的一個置換π為密鑰,對明文消息中的每個字母依次進行變換。可描述為:明文空間M和密文空間C都是26個英文字母的集合,密鑰空間K={π:Z26→Z26|π是置換},是所有可能置換的集合。
對任意π∈K,定義:
加密變換:eπ(m)=π(m)=c
解密變換:dπ(c) = π-1(c)=m, π-1是π的逆置換。
例:設置換π的對應關系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
q w e r t y u i o p a s d f g h j k l z x c v b n m
試用單表替代密碼以π為密鑰對明文消息message加密,然後寫出逆置換 ,並對密文解密。
解:以π為密鑰用單表替代密碼對明文消息message加密,所得
密文消息為: π(m) π(e) π(s) π(s) π(a) π(g) π(e)=dtllqut
一般單表替代密碼演算法特點:
▲密鑰空間K很大,|K|=26!=4×10^26 ,破譯者窮舉搜索計算不可行,1微秒試一個密鑰,遍歷全部密鑰需要1013 年。
▲移位密碼體制是替換密碼體制的一個特例,它僅含26個置換做為密鑰空間。
密鑰π不便記憶。
▲針對一般替換密碼密鑰π不便記憶的問題,又衍生出了各種形式單表替代密碼。
⒉移位密碼
明文空間M、密文空間C都是和密鑰空間K滿足,即把26個英文字母與整數0,1,2,…,25一一對應。
加密變換,E={E:Z26→Z26, Ek (m) = m + k (mod26)| m∈M, k∈K }
解密變換,D={D:Z26→Z26, Dk (c) = c-k (mod26)| c∈C, k∈K }
解密後再把Z26中的元素轉換英文字母。
顯然,移位密碼是前面一般單表替代密碼的一個特例。當移位密碼的 密鑰k=3時,就是歷史上著名的凱撒密碼(Caesar)。根據其加密函數特 點,移位密碼也稱為加法密碼。
⒊仿射密碼
仿射密碼也是一般單表替代密碼的一個特例,是一種線性變換。仿射密碼的明文空間和密文空間與移位密碼相同,但密鑰空間為 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1}
對任意m∈M,c∈C,k = (k1,k2)∈K,定義加密變換為 c = Ek (m) = k1 m +k2 (mod 26)
相應解密變換為: m = Dk (c) = k1 (c-k2) (mod 26)
其中,K1 k1=1mod26 。很明顯,k1=1時即為移位密碼,而k2=1則稱為乘法密碼。
⒋密鑰短語密碼
選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中的其它字母依次寫於此字母串後,就可構造出一個字母替代表。當選擇上面的密鑰進行加密時,若明文為「china」,則密文為「yfgmk」。顯然,不同的密鑰可以得到不同的替換表,對於明文為英文單詞或短語的情況時,密鑰短語密碼最多可能有26!=4×1026個不同的替換表。 單表替代密碼表現出明文中單字母出現的頻率分布與密文中相同, 多表替代密碼使用從明文字母到密文字母的多個映射來隱藏單字母出現 的頻率分布,每個映射是簡單替代密碼中的一對一映射多表替代密碼將 明文字母劃分為長度相同的消息單元,稱為明文分組,對明文成組地進 行替代,同一個字母有不同的密文,改變了單表替代密碼中密文的唯一 性,使密碼分析更加困難。
多表替代密碼的特點是使用了兩個或兩個以上的替代表。著名的維吉尼亞密碼和Hill密碼等均是多表替代密碼。
⒈維吉尼亞密碼
維吉尼亞密碼是最古老而且最著名的多表替代密碼體制之一,與位移密碼體制相似,但維吉尼亞密碼的密鑰是動態周期變化的。
該密碼體制有一個參數n。在加解密時,同樣把英文字母映射為0-25的數字再進行運算,並按n個字母一組進行變換。明文空間、密文空間及密鑰空間都是長度為n的英文字母串的集合,因此可表示
加密變換定義如下:
設密鑰 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密變換為:
Ek(m)=(c1,c2,…,cn),
其中ci(mi + ki)(mod26),i =1,2,…,n
對密文 c=(c1,c2,…,cn), 解密變換為:
Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
⒉希爾(Hill)密碼
Hill密碼演算法的基本思想是將n個明文字母通過線性變換,將它們轉換為n個密文字母。解密只需做一次逆變換即可。
⒊一次一密密碼(One Time Pad)
若替代碼的密鑰是一個隨機且不重復的字元序列,這種密碼則稱為一次一密密碼,因為它的密鑰只使用一次。該密碼體制是美國電話電報公司的Joseph Mauborgne在1917年為電報通信設計的一種密碼,所以又稱為Vernam密碼。Vernam密碼在對明文加密,前首先將明文編碼為(0,1)序列,然後再進行加密變換。
設m=(m1 m2 m3 … mi …)為明文,k=(k1 k2 k3 … ki …)為密鑰,其中mi,ki ∈(0,1), i≥1, 則加密變換為: c=(c1 c2 c3 … ci …) ,其中ci = mi Å ki , i≥1,
這里為模2加法(或異或運算)
解密變換為:
m=(m1 m2 m3 … mi …) ,其中mi = ci Å ki , i≥1,
在應用Vernam密碼時,如果對不同的明文使用不同的隨機密鑰,這時Vernam密碼為一次一密密碼。由於每一密鑰序列都是等概率隨機產生的,敵手沒有任何信息用來對密文進行密碼分析。香農(Claude Shannon)從資訊理論的角度證明了這種密碼體制在理論上是不可破譯的。但如果重復使用同一個密鑰加密不同的明文,則這時的Vernam密碼就較為容易破譯。
若敵手獲得了一個密文c=(c1 c2 c3 … ci …) 和對應明文m=(m1 m2 m3 … mi …) 時,就很容易得出密鑰 k=(k1 k2 k3 … ki …) ,其中ki = ciÅ mi,i≥1。 故若重復使用密鑰,該密碼體制就很不安全。
實際上Vernam密碼屬於序列密碼,加密解密方法都使用模2加,這使軟
硬體實現都非常簡單。但是,這種密碼體制雖然理論上是不可破譯的,然而
在實際應用中,真正的一次一密系統卻受到很大的限制,其主要原因在於該
密碼體制要求:
① 密鑰是真正的隨機序列;
② 密鑰長度大於等於明文長度;
③ 每個密鑰只用一次(一次一密)。
這樣,分發和存儲這樣的隨機密鑰序列,並確保密鑰的安全都是很因難
的;另外,如何生成真正的隨機序列也是一個現實問題。因此,人們轉而尋
求實際上不對攻破的密碼系統。
⒋Playfair密碼
Playfair密碼是一種著名的雙字母單表替代密碼,實際上Playfair密碼屬於一種多字母替代密碼,它將明文中的雙字母作為一個單元對待,並將這些單元轉換為密文字母組合。替代時基於一個5×5的字母矩陣。字母矩陣構造方法同密鑰短語密碼類似,即選用一個英文短語或單詞串作為密鑰,去掉其中重復的字母得到一個無重復字母的字元串,然後再將字母表中剩下的字母依次從左到右、從上往下填入矩陣中,字母I,j占同一個位置。

❹ 網路現代加密技術分幾種

1 數據加密原理

1.1數據加密

在計算機上實現的數據加密,其加密或解密變換是由密鑰控制實現的。密鑰(Keyword)是用戶按照一種密碼體制隨機選取,它通常是一隨機字元串,是控制明文和密文變換的唯一參數。
例:明文為字元串:
AS KINGFISHERS CATCH FIRE

(為簡便起見,假定所處理的數據字元僅為大寫字母和空格符)。
假定密鑰為字元串: ELIOT

加密演算法為:
(1)將明文劃分成多個密鑰字元串長度大小的塊(空格符以″+″表示)
AS+KI NGFIS HERS+ CATCH +FIRE
(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.2數字簽名

密碼技術除了提供信息的加密解密外,還提供對信息來源的鑒別、保證信息的完整和不可否認等功能,而這三種功能都是通過數字簽名實現。

數字簽名是涉及簽名信息和簽名人私匙的計算結果。首先,簽名人的軟體對發送信息進行散列函數運算後,生成信息摘要(message digest)--這段信息所特有的長度固定的信息表示,然後,軟體使用簽名人的私匙對摘要進行解密,將結果連同信息和簽名人的數字證書一同傳送給預定的接收者。而接收者的軟體會對收到的信息生成信息摘要(使用同樣的散列函數),並使用簽名人的公匙對簽名人生成的摘要進行解密。接收者的軟體也可以加以配置,驗證簽名人證書的真偽,確保證書是由可信賴的CA頒發,而且沒有被CA吊銷。如兩個摘要一樣,就表明接收者成功核實了數字簽名。

2 加密體制及比較

根據密鑰類型不同將現代密碼技術分為兩類:一類是對稱加密(秘密鑰匙加密)系統,另一類是公開密鑰加密(非對稱加密)系統。

2.1對稱密碼加密系統

對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,保持鑰匙的秘密。

對稱密碼系統的安全性依賴於以下兩個因素。第一,加密演算法必須是足夠強的,僅僅基於密文本身去解密信息在實踐上是不可能的;第二,加密方法的安全性依賴於密鑰的秘密性,而不是演算法的秘密性。因為演算法不需要保密,所以製造商可以開發出低成本的晶元以實現數據加密。這些晶元有著廣泛的應用,適合於大規模生產。

對稱加密系統最大的問題是密鑰的分發和管理非常復雜、代價高昂。比如對於具有n個用戶的網路,需要n(n-1)/2個密鑰,在用戶群不是很大的情況下,對稱加密系統是有效的。但是對於大型網路,當用戶群很大,分布很廣時,密鑰的分配和保存就成了大問題。對稱加密演算法另一個缺點是不能實現數字簽名。

對稱加密系統最著名的是美國數據加密標准DES、AES(高級加密標准)和歐洲數據加密標准IDEA。1977年美國國家標准局正式公布實施了美國的數據加密標准DES,公開它的加密演算法,並批准用於非機密單位和商業上的保密通信。DES成為全世界使用最廣泛的加密標准。

但是,經過20多年的使用,已經發現DES很多不足之處,對DES的破解方法也日趨有效。AES將會替代DES成為新一代加密標准。DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Key的施加順序相反以外。

2.2 公鑰密碼加密系統

公開密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。由於加密鑰匙是公開的,密鑰的分配和管理就很簡單,比如對於具有n個用戶的網路,僅需要2n個密鑰。公開密鑰加密系統還能夠很容易地實現數字簽名。因此,最適合於電子商務應用需要。在實際應用中,公開密鑰加密系統並沒有完全取代對稱密鑰加密系統,這是因為公開密鑰加密系統是基於尖端的數學難題,計算非常復雜,它的安全性更高,但它實現速度卻遠趕不上對稱密鑰加密系統。在實際應用中可利用二者的各自優點,採用對稱加密系統加密文件,採用公開密鑰加密系統加密″加密文件″的密鑰(會話密鑰),這就是混合加密系統,它較好地解決了運算速度問題和密鑰分配管理問題。

根據所基於的數學難題來分類,有以下三類系統目前被認為是安全和有效的:大整數因子分解系統(代表性的有RSA)、橢圓曲線離散對數系統(ECC)和離散對數系統(代表性的有DSA)。

當前最著名、應用最廣泛的公鑰系統RSA是由Rivet、Shamir、Adelman提出的(簡稱為RSA系統),它加密演算法使用了兩個非常大的素數來產生公鑰和私鑰。現實中加密演算法都基於RSA加密演算法。pgp演算法(以及大多數基於RSA演算法的加密方法)使用公鑰來加密一個對稱加密演算法的密鑰,然後再利用一個快速的對稱加密演算法來加密數據。這個對稱演算法的密鑰是隨機產生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。

RSA方法的優點主要在於原理簡單,易於使用。隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展(可以使用成千上萬台機器同時進行大整數分解),作為RSA加解密安全保障的大整數要求越來越大。為了保證RSA使用的安全性,其密鑰的位數一直在增加,比如,目前一般認為RSA需要1024位以上的字長才有安全保障。但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,對進行大量安全交易的電子商務更是如此,從而使得其應用范圍越來越受到制約。

DSA(DataSignatureAlgorithm)是基於離散對數問題的數字簽名標准,它僅提供數字簽名,不提供數據加密功能。它也是一個″非確定性的″數字簽名演算法,對於一個報文M,它的簽名依賴於隨機數r ?熏 這樣,相同的報文就可能會具有不同的簽名。另外,在使用相同的模數時,DSA比RSA更慢(兩者產生簽名的速度相同,但驗證簽名時DSA比RSA慢10到40倍)。
2.3 橢圓曲線加密演算法ECC技術優勢

安全性更高、演算法實現性能更好的公鑰系統橢圓曲線加密演算法ECC(EllipticCurveCryptography)基於離散對數的計算困難性。

❺ 能否推薦一本關於 數字簽名和加密技術的比較好的教材呀

劉尊全. 劉氏高強度公開加密演算法設計原理與裝置. 北京:清華大學出版社 簡單摘要:
通常情況下,在計算機上實現的數據加密演算法,其加密或解密變換是由一個密鑰或一組密鑰來控制的。密鑰是由使用密碼體制的用戶隨機選取的,密鑰稱為唯一能夠控制明文和密文之間變換的關鍵,它通常是一隨機字元竄。
傳統密碼體制通常採用移位法、代替法和代數法來進行加密和解密的變換,可以採用其中的一種或幾種方法相結合的方式作為數據變換的基本模式。移位法也稱置換法。移位法把明文中的字元重新排列,字元本身不變,但其位置改變了。作為移位法最簡單的例子是:把明文的字母或字元倒過來寫,然後以規定的長度的字元組發送或記錄密文,例如下例:
明文:Data security has evolved rapidly since 1975
密文:5791EC NISYLD IPARDE VLOVES AHYTIR UCESAT AD
作為移位法的另一種形式,可以將明文分組後倒過來寫,然後以規定的長度的字元組發送或記錄密文,例如下例:
明文:CRYPTOGRAPHY AND DATA SECURITY BY LIU
密文:RGOTPYRC DDNAYHPA RUCESATA UILYBYTI
請注意,後一種分組移位法的形式,顯著提高了密文的不可懂性。
代替法是利用對照表的方式,用另一個明文表來對應明文中的字元表,這樣一來密文中的字元應保持明文中的原來位置,但其本身改變了。作為代替法的一個最簡單的例子是單密字母表,它由明文部分和密文部分組成:
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:CDEFGHIJKLMNOPQRSTUVWXYZAB
在明文變換成密文時,把明文中的字元用密文字元表中對應的字元來代替,並且密文採用分配記錄的方式:
明文:The Cryprology is a hot research area
密文:VJGETARV QNQIAKUC JQVTGUGC TEJCTGC
代數法加密可以對下列兩種明文表示法進行相關的變換:
1. 將明文中的字元按指定的變換方法用數字來代替,然後對這些數字的值進行一系列可逆的數字運算,運算後產生的數字結果再通過逆初始變換的過程生成密文.應注意,採用代數法加密必須是無誤差的數字運算。
2. 按照二-十進制,把明文字元的二進制等效值當作一組邏輯和算術運算的輸入,產生的二進制結果再變回到二-十進製作為密文。
通常情況下,代數法加密可以採用微型計算機或其他類型的計算機來自動計算。代數法加密可以作為復雜加密體制的一種方法。
作為代數法的例子,這里介紹Hill發明的以求解聯立方程為基礎的加密體制。下面給出任意建立的字元對照表:

A B C D E F G H I J K L M
4 8 25 2 9 20 16 5 17 3 0 22 13
N O P Q R S T U V W X Y Z
24 6 21 15 23 19 12 7 11 18 1 14 10
注意,在字元對照表中,對應26個英文字母其取值范圍為0—25。我們取x代表明文字母,y代表米問字母,採用4個字元分組的明文序列,這種加密方法又稱為四元代替法,並有下列的加密方程:
(1.2)
(1.3)
(1.4)
(1.5)
根據加密方程,可以給出下面的解密方程:
(1.6)
(1.7)
(1.8)
(1.9)
加密或解密過程中對數字結果的處理是按模26進行的。
例:對明文HELP,首先把明文翻譯成下列一組數
(1.10)
(1.11)
(1.12)
(1.13)
用加密方程組求其密文值:
(1.14)
(1.15)
(1.16)
(1.17)
從而得到密文UQZY。在解密過程中,採用解密方程組求其明文值來進行處理。
數據的加密和解密變換可以採用一種或兩種以上的辦法、演算法的結合。這些方法或演算法可以多種多樣,並且千變萬化,尋找簡單而有效的演算法密碼學的始終關注的問題。
通常情況下,一個密碼體制由以下五個部分組成:
1. 明文信息空間M;
2. 密文信息空間C;
3. 密鑰空間K;
4. 加密變換
5. 解密變換
對於密碼體制,加密和解密變換是矛與盾的統一。建立和使用密碼體制,都必須考慮數據加密所處的環境;用戶為保護信息安全所使用的密碼體制;攻擊者為獲取信息而擁有的破譯手段和所用的 計算機工具。

閱讀全文

與其加密或解密變換相關的資料

熱點內容
編譯sdk如何輸出bin文件 瀏覽:671
如何用html5開發app 瀏覽:135
怎麼隱藏蘋果的app 瀏覽:320
上海捷豹空氣壓縮機 瀏覽:451
51單片機換行 瀏覽:733
哪裡可以快速學看建築圖紙app 瀏覽:496
內部排序的演算法比較 瀏覽:177
伺服器如何定期執行指令 瀏覽:931
python下載python腳本 瀏覽:297
台達plc遠程編程 瀏覽:263
雲計算的後台伺服器 瀏覽:589
windows7的我的電腦咋創建文件夾 瀏覽:492
去視頻水印的app哪個好用 瀏覽:384
doc轉為pdf 瀏覽:48
華為加密壁紙怎麼提取 瀏覽:52
曲線命令的描述 瀏覽:454
php模板怎麼修改 瀏覽:999
單片機和微機編程的區別 瀏覽:642
金牛期貨哪個app好 瀏覽:803
程序員越老越貶值嗎 瀏覽:211