導航:首頁 > 源碼編譯 > 公開密匙演算法有哪些應用領域

公開密匙演算法有哪些應用領域

發布時間:2023-02-09 06:33:21

『壹』 公鑰演算法的用途

公鑰體系的原理為:用戶A有一對密鑰對,分為公鑰和私鑰,這對密鑰對是唯一的,是通過對一個巨大的素數進行因數分解所得。當用公鑰加密過的信息,只能使用與它配對的私鑰來解密,反之亦然,私鑰加密碼的信息也只能用公鑰來解密。這樣,A從認證體系生成密鑰對後,把它的私鑰保存好,把公鑰公開出去,當一個用戶B要與A通信,又想確保數據安全時,就可以使用A的公鑰來加密信息,再把密文傳給A,因此這個世界是只有A手中的私鑰才能對這個密文進行解密,這樣就確保了信息的安全。
事實上,信息加密碼只是公鑰體系的用途之一,它還有一個用途就是對信息進行簽名,防此信息發布者抵賴,和被第三方修改。為什麼這種機制可以實現這此功能呢?很簡單,還是使用了「公鑰加密,只有私鑰能解;私鑰加密,只有公鑰能解」的道理。舉例:用戶A用自已的私鑰對他發出去的信息進行簽名(加密),然後發出去,後來他發現他公開的信息對他不利,他就不承認這些信息是他發的,但是他不可能抵賴了,因為這些信息有他的私鑰簽名,那麼,使用他的公鑰對信息驗證就知道,這些信息肯定是A發的了,因為只有A使用的私鑰簽名得到的信息,才能用這個公鑰來解。如果A還認是他發的信息,那隻有一個可能,那就是他的私鑰被人盜取了。
現在我們知道公鑰機制的原理了,那它有什麼用呢?上述舉的例子就比較常用,而在我們日常工作中也有些用到公鑰機制的地方,我們可能有人用過鑰匙盤,它是一個類似U盤的東西,一般提供USB介面,它就使用了公鑰機制,當我們在一台計算機上初始化這個鑰匙盤的時候,它會生成一對密鑰對,把公鑰存在計算機上,私鑰存在鑰匙盤上,當用戶要進行一個系統雖要身份驗證時,只雖插入鑰匙盤,就會通過公私鑰加解密的原理,完成這個用戶的身份驗證過程,而無需輸入帳號和密碼進行驗證。

『貳』 什麼是對稱密碼和非對密碼,分析這兩種密碼體系的特點和應用領域

一、對稱密碼

1、定義:採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。

2、特點:演算法公開、計算量小、加密速度快、加密效率高。

3、應用領域:由於其速度快,對稱性加密通常在消息發送方需要加密大量數據時使用。

二、非對密碼

1、定義:非對稱密碼指的是非對稱密碼體制中使用的密碼。

2、特點:

(1)是加密密鑰和解密密鑰不同 ,並且難以互推 。

(2)是有一個密鑰是公開的 ,即公鑰 ,而另一個密鑰是保密的 ,即私鑰。

3、應用領域:很好的解決了密鑰的分發和管理的問題 ,並且它還能夠實現數字簽名。

(2)公開密匙演算法有哪些應用領域擴展閱讀

對稱加密演算法特徵

1、加密方和解密方使用同一個密鑰;

2、加密解密的速度比較快,適合數據比較長時的使用;

3、密鑰傳輸的過程不安全,且容易被破解,密鑰管理也比較麻煩

『叄』 公鑰加密演算法可用於下面哪些方面

公鑰密碼體制的核心思想是:加密和解密採用不同的密鑰。這是公鑰密碼體制和傳統的對稱密碼體制最大的區別。對於傳統對稱密碼而言,密文的安全性完全依賴於 密鑰的保密性,一旦密鑰泄漏,將毫無保密性可言。但是公鑰密碼體制徹底改變了這一狀況。在公鑰密碼體制中,公鑰是公開的,只有私鑰是需要保密的。知道公鑰 和密碼演算法要推測出私鑰在計算上是不可行的。這樣,只要私鑰是安全的,那麼加密就是可信的。
顯然,對稱密碼和公鑰密碼都需要保證密鑰的安全,不同之處在於密鑰的管理和分發上面。在對稱密碼中,必須要有一種可靠的手段將加密密鑰(同時也是解密密 鑰)告訴給解密方;而在公鑰密碼體制中,這是不需要的。解密方只需要保證自己的私鑰的保密性即可,對於公鑰,無論是對加密方而言還是對密碼分析者而言都是 公開的,故無需考慮採用可靠的通道進行密碼分發。這使得密鑰管理和密鑰分發的難度大大降低了。
加密和解密:發送方利用接收方的公鑰對要發送的明文進行加密,接受方利用自己的
私鑰進行解密,其中公鑰和私鑰匙相對的,任何一個作為公鑰,則另一個
就為私鑰.但是因為非對稱加密技術的速度比較慢,所以,一般採用對稱
加密技術加密明文,然後用非對稱加密技術加密對稱密鑰,即數字信封 技術.
簽名和驗證:發送方用特殊的hash演算法,由明文中產生固定長度的摘要,然後利用
自己的私鑰對形成的摘要進行加密,這個過程就叫簽名。接受方利用
發送方的公鑰解密被加密的摘要得到結果A,然後對明文也進行hash操
作產生摘要B.最後,把A和B作比較。此方式既可以保證發送方的身份不
可抵賴,又可以保證數據在傳輸過程中不會被篡改。
首先要分清它們的概念:
加密和認證
首先我們需要區分加密和認證這兩個基本概念。
加密是將數據資料加密,使得非法用戶即使取得加密過的資料,也無法獲取正確的資料內容, 所以數據加密可以保護數據,防止監聽攻擊。其重點在於數據的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的 許可權。其重點在於用戶的真實性。兩者的側重點是不同的。
公鑰和私鑰
其次我們還要了解公鑰和私鑰的概念和作用。
在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。
事例說明下:
例如:比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:
Bob將他的公開密鑰傳送給Alice。
Alice用Bob的公開密鑰加密她的消息,然後傳送給Bob。
Bob用他的私人密鑰解密Alice的消息。
那麼Bob怎麼可以辨認Alice是不是真人還是冒充的.我們只要和上面的例子方法相反就可以了.
Alice用她的私人密鑰對文件加密,從而對文件簽名。
Alice將簽名的文件傳送給Bob。
Bob用Alice的公鑰解密文件,從而驗證簽名。
通過例子大家應該有所了解吧!

『肆』 以rsa為代表的公鑰密碼演算法的主要用途有哪些

RSA公鑰密碼
RSA公鑰密碼是1977年由Ron Rivest、Adi Shamirh和LenAdleman在MIT(美國麻省理工學院〉開發的,1978年首次公布[RIVE78]。它是目前最有影響的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊。目前它已被ISO推薦為公鑰數據加密標准。RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但是想分解它們的乘積卻極端困難,因此可以將乘積公開作為加密密鑰。

RSA的演算法結構相當簡單,整個演算法可以描述如下:

(1)選取兩個大素數p和q(保密);

(2)計算n=pq(公開),γ=(p一1〉(q-1)(保密);

(3)隨機選取整數e(公開,加密密鑰),使得ed(ear)=1

(4)計算d(保密,私人密鑰),使得ed≡1(mod r),即d=e-1(mod r);

(5)加密:c=me mod n

(6)解密:m=cd mod n。

利用RSA對被加密的信息m (長度小於log2n的整數)進行加密得到相應的密文c=me mod n;解密演算法則是計算m=cd modn RSA的優點是不需要密鑰分配,但缺點是速度慢。RSA公鑰密碼 RSA 公鑰 密碼

『伍』 什麼是公鑰密碼演算法


20世紀70年代,美國學者Diffie和Hellman,以及以色列學者Merkle分別獨立地提出了一種全新的密碼體制的概念。Diffie和Hellman首先將這個概念公布在1976年美國國家計算機會議上,幾個月後,他們這篇開創性的論文《密碼學的新方向》發表在IEEE雜志資訊理論卷上,由於印刷原因,Merkle對這一領域的貢獻直到1978年才出版。他們所創造的新的密碼學理論,突破了傳統的密碼體制對稱密鑰的概念,豎起了近代密碼學的又一里程碑。



不同於以前採用相同的加密和解密密鑰的對稱密碼體制,Diffie和Hellman提出了採用雙鑰體制,即每個用戶都有一對選定的密鑰:一個是可以公開的,另一個則是秘密的。公開的密鑰可以像電話號碼一樣公布,因此稱為公鑰密碼體制或雙鑰體制。
公鑰密碼體制的主要特點是將加密和解密的能力分開,因而可以實現多個用戶的信息只能由一個用戶解讀;或只能由一個用戶加密消息而由多個用戶解讀,前者可以用於公共網路中實現保密通信,而後者可以用於認證系統中對消息進行數字簽名。
公開密鑰密碼的基本思想是將傳統密碼的密鑰一分為二,分為加密密鑰Ke和解密密鑰Kd,用加密密鑰Ke控制加密,用解密密鑰Kd控制解密。而且由計算復雜性確保加密密鑰Ke在計算上不能推導出解密密鑰Kd。這樣,即使將Ke公開也不會暴露Kd,也不會損害密碼的安全。於是便可以將Ke公開,而只對Kd保密。由於Ke是公開的,只有Kd是保密的,因此從根本上克服了傳統密碼在密鑰分配上的困難。


公開密鑰密碼滿足的條件
根據公開密鑰密碼的基本思想,可知一個公開密鑰密碼應當滿足下面三個條件:



  1. 解密演算法D和加密演算法E互逆,即對所有明文M都有,D(E(M,Ke),Kd)=M。
  2. 在計算上不能由Ke推導出Kd。
  3. 演算法E和D都是高效的。

條件1是構成密碼的基本條件,是傳統密碼和公開密鑰密碼都必須具備的起碼條件。
條件2是公開密鑰密碼的安全條件,是公開密鑰密碼的安全基礎,而且這一條件是最難滿足的。目前尚不能從數學上證明一個公開密鑰密碼完全滿足這一條件,而只能證明它不滿足這一條件。
條件3是公開密鑰密碼的工程實用條件。因為只有演算法E和D都是高效的,密碼才能實用。否則,密碼只有理論意義,而不能實際應用。
滿足了以上三個條件,便可構成一個公開密鑰密碼,這個密碼可以確保數據的秘密性。然而還需要確保數據的真實性,則還需滿足第四個條件。
4.對於所有明文M都有E(D(M,Kd),Ke)=M。
條件4是公開密鑰密碼能夠確保數據真實性的基本條件。如果滿足了條件1、2、4,同樣可以構成一個公開密鑰密碼,這個密碼可以確保數據的真實性。
如果同時滿足以上四個條件,則公開密鑰密碼可以同時確保數據的秘密性和真實性。此時,對於所有的明文M都有D(E(M,Ke),Kd)= E(D(M,Kd),Ke)=M。
公開密鑰密碼從根本上克服了傳統密碼在密鑰分配上的困難,利用公開密鑰密碼進行保密通信需要成立一個密鑰管理機構(KMC),每個用戶將自己的姓名、地址和公開的加密密鑰等信息在KMC登記注冊,將公鑰記入共享的公開密鑰資料庫。KMC負責密鑰的管理,並對用戶是可信賴的。這樣,用戶利用公開密鑰密碼進行保密通信就像查電話號碼簿打電話一樣方便,再也不需要通信雙方預約密鑰,因此特別適合計算機網路應用,而且公開密鑰密碼實現數字簽名容易,所以特別受歡迎。
下圖是公鑰密碼體制的框圖,主要分為以下幾步:



  1. 網路中要求接收消息的端系統,產生一對用來加密和解密的密鑰,如圖中的接收者B,產生一對密鑰PKB,SKB,其中PKB是公開鑰,SKB是秘密鑰。
  2. 端系統B將加密密鑰(圖中的PKB)存儲在一個公開的寄存器或文件中,另一密鑰則被保密(圖中個SKB)。
  3. A要想向B發送消息m,則使用B的公開鑰加密m,表示為 c=EPKB[m] 其中,c是密文,E是加密演算法。
  4. B收到密文c後,用自己的秘密鑰SKB解密,表示為 m=DSKB[c] 其中,D是解密演算法。因為只有B知道SKB,所以其他人無法對c解密。

這就是公開密鑰的原理~


(轉載需向本人獲取許可權)

『陸』 公開密鑰的作用是什麼

"公開密鑰" 英文對照

public - key;

"公開密鑰" 在工具書中的解釋

1、公開密鑰密碼體制中的加密密鑰。
查看全文

"公開密鑰" 在學術文獻中的解釋

1、傳統密鑰是指加密和解密用同一個密鑰,而公開密鑰則是指加密用一個密鑰,解密用另一個密鑰,而且用一個密鑰無法得到另一個密鑰.其中,RSA加密演算法就是一種公開密鑰演算法,而且可以用於數字簽證,以實現對方身份的確認
文獻來源

2、RAS是一種質因數分解加密演算法,它將整數質數化為兩組密碼,一組用於加密,予以公開,稱為公開密鑰.一組用於解密,只有信息解密者知道,稱為私人密鑰
文獻來源

3、密鑰是一個很大的整數,一個參與者在一個公共資料庫中公布一個密鑰,稱為公開密鑰,而把另一個密鑰作為秘密密鑰.用一個密鑰編碼的報文可以用另一個密鑰解碼.例如,如果發送者使用秘密密鑰將報文編碼,接收者可以使用發送者的公開密鑰將其解碼
文獻來源

4、非對稱加密技術即用戶採用兩個不同的相互依賴的密鑰一個稱為公開密鑰,另一個稱為私有密鑰,用於對信息的加密和解密
文獻來源

5、(5)(N,E)或E稱為「公開密鑰.」(N,D)或D稱為「私有密鑰」.RSA演算法的私鑰(N,D)用於開發商的加密,公鑰(N,E)(E=65537)在用戶軟體的驗證部分用於解密,如果定期地更換這對密鑰又將會給破解者帶來破解的難度
文獻來源

6、2.2基於公鑰體制的安全機制公鑰密碼演算法[2]的最大特點是採用兩個相關密鑰將加密和解密能力分開,其中一個密鑰是公開的,稱為公開密鑰
文獻來源

7、6)(e,n)被稱為公開密鑰.7)(d,n)被稱為秘密密鑰,相反也可.對於明文M,用公鑰(e,n)加密可得到密文C.C=Memodn對於密文C,用私鑰(d,n)解密可得到明文M
文獻來源

8、將其中的一個密鑰公開,稱為「公開密鑰」.另外一個密鑰由密鑰持有人專用,稱為「私有密鑰」.將消息用公開密鑰加密,只有相應的私有密鑰持有人才能解密,因此,該消息成為私有密鑰持有人的秘密
文獻來源

9、這種方式,每人都有一對密鑰,其中一支稱為公開密鑰,而另一支稱為私密密鑰,當有在互連網上傳送資料的需求時.就可以將公開密鑰通過一定的方式傳播出去
文獻來源

10、其中一個公開發布,稱為公開密鑰,另一個由用戶自己秘密保存,稱為私有密鑰.發送數據方用公開密鑰加密,而接收方用私有密鑰去解密
文獻來源

11、非對稱加密是加密密鑰不同於解密密鑰加密密鑰公開稱為公開密鑰.解密密鑰只有自己知道稱為私有密鑰.其幀長取10ms由2個子幀組成預視5ms以及處理時延設計單向時延35ms
文獻來源

12、(12)提取證書中的「版本」信息.2.1用RSA加密演算法產生密鑰對RSA加密演算法[1]是一種公鑰加密演算法,它是用一對密鑰對數據進行加密和解密.一個密鑰稱為公開密鑰,

『柒』 密鑰密碼體系的公開密鑰演算法RSA

公開密鑰演算法是在1976年由當時在美國斯坦福大學的迪菲(Diffie)和赫爾曼(Hellman)兩人首先發明的(論文New Direction in Cryptography)。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同開發的,分別取自三名數學家的名字的第一個字母來構成的。
1976年提出的公開密鑰密碼體制思想不同於傳統的對稱密鑰密碼體制,它要求密鑰成對出現,一個為加密密鑰(e),另一個為解密密鑰(d),且不可能從其中一個推導出另一個。自1976年以來,已經提出了多種公開密鑰密碼演算法,其中許多是不安全的, 一些認為是安全的演算法又有許多是不實用的,它們要麼是密鑰太大,要麼密文擴展十分嚴重。多數密碼演算法的安全基礎是基於一些數學難題, 這些難題專家們認為在短期內不可能得到解決。因為一些問題(如因子分解問題)至今已有數千年的歷史了。
公鑰加密演算法也稱非對稱密鑰演算法,用兩對密鑰:一個公共密鑰和一個專用密鑰。用戶要保障專用密鑰的安全;公共密鑰則可以發布出去。公共密鑰與專用密鑰是有緊密關系的,用公共密鑰加密的信息只能用專用密鑰解密,反之亦然。由於公鑰演算法不需要聯機密鑰伺服器,密鑰分配協議簡單,所以極大簡化了密鑰管理。除加密功能外,公鑰系統還可以提供數字簽名。
公鑰加密演算法中使用最廣的是RSA。RSA使用兩個密鑰,一個公共密鑰,一個專用密鑰。如用其中一個加密,則可用另一個解密,密鑰長度從40到2048bit可變,加密時也把明文分成塊,塊的大小可變,但不能超過密鑰的長度,RSA演算法把每一塊明文轉化為與密鑰長度相同的密文塊。密鑰越長,加密效果越好,但加密解密的開銷也大,所以要在安全與性能之間折衷考慮,一般64位是較合適的。RSA的一個比較知名的應用是SSL,在美國和加拿大SSL用128位RSA演算法,由於出口限制,在其它地區(包括中國)通用的則是40位版本。
RSA演算法研製的最初理念與目標是努力使互聯網安全可靠,旨在解決DES演算法秘密密鑰的利用公開信道傳輸分發的難題。而實際結果不但很好地解決了這個難題;還可利用RSA來完成對電文的數字簽名以抗對電文的否認與抵賴;同時還可以利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完性。 公用密鑰的優點就在於,也許你並不認識某一實體,但只要你的伺服器認為該實體的CA是可靠的,就可以進行安全通信,而這正是Web商務這樣的業務所要求的。例如信用卡購物。服務方對自己的資源可根據客戶CA的發行機構的可靠程度來授權。目前國內外尚沒有可以被廣泛信賴的CA。美國Natescape公司的產品支持公用密鑰,但把Natescape公司作為CA。由外國公司充當CA在我國是一件不可想像的事情。
公共密鑰方案較保密密鑰方案處理速度慢,因此,通常把公共密鑰與專用密鑰技術結合起來實現最佳性能。即用公共密鑰技術在通信雙方之間傳送專用密鑰,而用專用密鑰來對實際傳輸的數據加密解密。另外,公鑰加密也用來對專用密鑰進行加密。
在這些安全實用的演算法中,有些適用於密鑰分配,有些可作為加密演算法,還有些僅用於數字簽名。多數演算法需要大數運算,所以實現速度很慢,不能用於快的數據加密。以下將介紹典型的公開密鑰密碼演算法-RSA。
RSA演算法很好的完成對電文的數字簽名以抗對數據的否認與抵賴;利用數字簽名較容易地發現攻擊者對電文的非法篡改,以保護數據信息的完整性。目前為止,很多種加密技術採用了RSA演算法,比如PGP(PrettyGoodPrivacy)加密系統,它是一個工具軟體,向認證中心注冊後就可以用它對文件進行加解密或數字簽名,PGP所採用的就是RSA演算法。由此可以看出RSA有很好的應用。

『捌』 密鑰管理的管理技術

1、對稱密鑰管理。對稱加密是基於共同保守秘密來實現的。採用對稱加密技術的貿易雙方必須要保證採用的是相同的密鑰,要保證彼此密鑰的交換是安全可靠的,同時還要設定防止密鑰泄密和更改密鑰的程序。這樣,對稱密鑰的管理和分發工作將變成一件潛在危險的和繁瑣的過程。通過公開密鑰加密技術實現對稱密鑰的管理使相應的管理變得簡單和更加安全,同時還解決了純對稱密鑰模式中存在的可靠性問題和鑒別問題。 貿易方可以為每次交換的信息(如每次的EDI交換)生成唯一一把對稱密鑰並用公開密鑰對該密鑰進行加密,然後再將加密後的密鑰和用該密鑰加密的信息(如EDI交換)一起發送給相應的貿易方。由於對每次信息交換都對應生成了唯一一把密鑰,因此各貿易方就不再需要對密鑰進行維護和擔心密鑰的泄露或過期。這種方式的另一優點是,即使泄露了一把密鑰也只將影響一筆交易,而不會影響到貿易雙方之間所有的交易關系。這種方式還提供了貿易夥伴間發布對稱密鑰的一種安全途徑。
2、公開密鑰管理/數字證書。貿易夥伴間可以使用數字證書(公開密鑰證書)來交換公開密鑰。國際電信聯盟(ITU)制定的標准X.509,對數字證書進行了定義該標准等同於國際標准化組織(ISO)與國際電工委員會(IEC)聯合發布的ISO/IEC 9594-8:195標准。數字證書通常包含有唯一標識證書所有者(即貿易方)的名稱、唯一標識證書發布者的名稱、證書所有者的公開密鑰、證書發布者的數字簽名、證書的有效期及證書的序列號等。證書發布者一般稱為證書管理機構(CA),它是貿易各方都信賴的機構。數字證書能夠起到標識貿易方的作用,是目前電子商務廣泛採用的技術之一。
3、密鑰管理相關的標准規范。目前國際有關的標准化機構都著手制定關於密鑰管理的技術標准規范。ISO與IEC下屬的信息技術委員會(JTC1)已起草了關於密鑰管理的國際標准規范。該規范主要由三部分組成:一是密鑰管理框架;二是採用對稱技術的機制;三是採用非對稱技術的機制。該規范現已進入到國際標准草案表決階段,並將很快成為正式的國際標准。
數字簽名
數字簽名是公開密鑰加密技術的另一類應用。它的主要方式是:報文的發送方從報文文本中生成一個128位的散列值(或報文摘要)。發送方用自己的專用密鑰對這個散列值進行加密來形成發送方的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給報文的接收方。報文的接收方首先從接收到的原始報文中計算出128位的散列值(或報文摘要),接著再用發送方的公開密鑰來對報文附加的數字簽名進行解密。如果兩個散列值相同,那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現對原始報文的鑒別和不可抵賴性。
ISO/IEC JTC1已在起草有關的國際標准規范。該標準的初步題目是「信息技術安全技術帶附件的數字簽名方案」,它由概述和基於身份的機制兩部分構成。 密碼學簡介 據記載,公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啟用「恩尼格瑪」密碼機,密碼學在戰爭中起著非常重要的作用。
隨著信息化和數字化社會的發展,人們對信息安全和保密的重要性認識不斷提高,於是在1997年,美國國家標准局公布實施了「美國數據加密標准(DES)」,民間力量開始全面介入密碼學的研究和應用中,採用的加密演算法有DES、RSA、SHA等。隨著對加密強度需求的不斷提高,近期又出現了AES、ECC等。
使用密碼學可以達到以下目的:
保密性:防止用戶的標識或數據被讀取。
數據完整性:防止數據被更改。
身份驗證:確保數據發自特定的一方。
二. 加密演算法介紹根據密鑰類型不同將現代密碼技術分為兩類:對稱加密演算法(秘密鑰匙加密)和非對稱加密演算法(公開密鑰加密)。
對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,並保持鑰匙的秘密。
非對稱密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。 在對稱加密演算法中,只有一個密鑰用來加密和解密信息,即加密和解密採用相同的密鑰。常用的演算法包括:DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
2000年10月,NIST(美國國家標准和技術協會)宣布通過從15種侯選演算法中選出的一項新的密匙加密標准。Rijndael被選中成為將來的AES。Rijndael是在 1999 年下半年,由研究員Joan Daemen 和 Vincent Rijmen 創建的。AES 正日益成為加密各種形式的電子數據的實際標准。
美國標准與技術研究院 (NIST) 於 2002 年 5 月 26 日制定了新的高級加密標准(AES) 規范。
演算法原理 AES 演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES 使用幾種不同的方法來執行排列和置換運算。
AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。
AES與3DES的比較 演算法名稱 演算法類型 密鑰長度 速度 解密時間(建設機器每秒嘗試255個密鑰) 資源消耗 AES 對稱block密碼 128、192、256位 高 1490000億年 低 3DES 對稱feistel密碼 112位或168位 低 46億年 中 常見的非對稱加密演算法如下:
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
在1976年,由於對稱加密演算法已經不能滿足需要,Diffie 和Hellman發表了一篇叫《密碼學新動向》的文章,介紹了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA演算法。
隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展,為了保障數據的安全,RSA的密鑰需要不斷增加,但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,因此需要一種新的演算法來代替RSA。
1985年N.Koblitz和Miller提出將橢圓曲線用於密碼演算法,根據是有限域上的橢圓曲線上的點群中的離散對數問題ECDLP。ECDLP是比因子分解問題更難的問題,它是指數級的難度。
原理——橢圓曲線上的難題 橢圓曲線上離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數中的模冪運算相對應,我們就可以建立基於橢圓曲線的對應的密碼體制。
例如,對應Diffie-Hellman公鑰系統,我們可以通過如下方式在橢圓曲線上予以實現:在E上選取生成元P,要求由P產生的群元素足夠多,通信雙方A和B分別選取a和b,a和b 予以保密,但將aP和bP公開,A和B間通信用的密鑰為abP,這是第三者無法得知的。
對應ELGamal密碼系統可以採用如下的方式在橢圓曲線上予以實現:
將明文m嵌入到E上Pm點,選一點B∈E,每一用戶都選一整數a,0<a<N,N為階數已知,a保密,aB公開。欲向A送m,可送去下面一對數偶:[kB,Pm+k(aAB)],k是隨機產生的整數。A可以從kB求得k(aAB)。通過:Pm+k(aAB)- k(aAB)=Pm恢復Pm。同樣對應DSA,考慮如下等式:
K=kG [其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數]
不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privte key),K稱為公開密鑰(public key)。
ECC與RSA的比較 ECC和RSA相比,在許多方面都有對絕對的優勢,主要體現在以下方面:
抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍。
計算量小,處理速度快。ECC總的速度比RSA、DSA要快得多。
存儲空間佔用小。ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多,意味著它所佔的存貯空間要小得多。這對於加密演算法在IC卡上的應用具有特別重要的意義。
帶寬要求低。當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。帶寬要求低使ECC在無線網路領域具有廣泛的應用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密演算法。比如SET協議的制定者已把它作為下一代SET協議中預設的公鑰密碼演算法。
下面兩張表示是RSA和ECC的安全性和速度的比較。 攻破時間(MIPS年) RSA/DSA(密鑰長度) ECC密鑰長度 RSA/ECC密鑰長度比 10 512 106 5:1 10 768 132 6:1 10 1024 160 7:1 10 2048 210 10:1 10 21000 600 35:1 RSA和ECC安全模長得比較 功能 Security Builder 1.2 BSAFE 3.0 163位ECC(ms) 1,023位RSA(ms) 密鑰對生成 3.8 4,708.3 簽名 2.1(ECNRA) 228.4 3.0(ECDSA) 認證 9.9(ECNRA) 12.7 10.7(ECDSA) Diffie—Hellman密鑰交換 7.3 1,654.0 RSA和ECC速度比較 散列演算法也叫哈希演算法,英文是Hash ,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列演算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
HASH主要用於信息安全領域中加密演算法,它把一些不同長度的信息轉化成雜亂的128位的編碼,這些編碼值叫做HASH值. 也可以說,hash就是找到一種數據內容和數據存放地址之間的映射關系散列是信息的提煉,通常其長度要比信息小得多,且為一個固定長度。加密性強的散列一定是不可逆的,這就意味著通過散列結果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結果的明顯變化,這稱之為雪崩效應。散列還應該是防沖突的,即找不出具有相同散列結果的兩條信息。具有這些特性的散列結果就可以用於驗證信息是否被修改。
單向散列函數一般用於產生消息摘要,密鑰加密等,常見的有:
MD5(Message Digest Algorithm 5):是RSA數據安全公司開發的一種單向散列演算法。
SHA(Secure Hash Algorithm):可以對任意長度的數據運算生成一個160位的數值;
在1993年,安全散列演算法(SHA)由美國國家標准和技術協會(NIST)提出,並作為聯邦信息處理標准(FIPS PUB 180)公布;1995年又發布了一個修訂版FIPS PUB 180-1,通常稱之為SHA-1。SHA-1是基於MD4演算法的,並且它的設計在很大程度上是模仿MD4的。現在已成為公認的最安全的散列演算法之一,並被廣泛使用。
原理 SHA-1是一種數據加密演算法,該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。
單向散列函數的安全性在於其產生散列值的操作過程具有較強的單向性。如果在輸入序列中嵌入密碼,那麼任何人在不知道密碼的情況下都不能產生正確的散列值,從而保證了其安全性。SHA將輸入流按照每塊512位(64個位元組)進行分塊,並產生20個位元組的被稱為信息認證代碼或信息摘要的輸出。
該演算法輸入報文的最大長度不超過264位,產生的輸出是一個160位的報文摘要。輸入是按512 位的分組進行處理的。SHA-1是不可逆的、防沖突,並具有良好的雪崩效應。
通過散列演算法可實現數字簽名實現,數字簽名的原理是將要傳送的明文通過一種函數運算(Hash)轉換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與發送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改。
MAC (信息認證代碼)就是一個散列結果,其中部分輸入信息是密碼,只有知道這個密碼的參與者才能再次計算和驗證MAC碼的合法性。MAC的產生參見下圖。 輸入信息 密碼 散列函數 信息認證代碼 SHA-1與MD5的比較 因為二者均由MD4導出,SHA-1和MD5彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:
對強行供給的安全性:最顯著和最重要的區別是SHA-1摘要比MD5摘要長32 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對MD5是2數量級的操作,而對SHA-1則是2數量級的操作。這樣,SHA-1對強行攻擊有更大的強度。
對密碼分析的安全性:由於MD5的設計,易受密碼分析的攻擊,SHA-1顯得不易受這樣的攻擊。
速度:在相同的硬體上,SHA-1的運行速度比MD5慢。 對稱與非對稱演算法比較
以上綜述了兩種加密方法的原理,總體來說主要有下面幾個方面的不同:
一、 在管理方面:公鑰密碼演算法只需要較少的資源就可以實現目的,在密鑰的分配上,兩者之間相差一個指數級別(一個是n一個是n)。所以私鑰密碼演算法不適應廣域網的使用,而且更重要的一點是它不支持數字簽名。
二、 在安全方面:由於公鑰密碼演算法基於未解決的數學難題,在破解上幾乎不可能。對於私鑰密碼演算法,到了AES雖說從理論來說是不可能破解的,但從計算機的發展角度來看。公鑰更具有優越性。
三、 從速度上來看:AES的軟體實現速度已經達到了每秒數兆或數十兆比特。是公鑰的100倍,如果用硬體來實現的話這個比值將擴大到1000倍。
加密演算法的選擇 前面的章節已經介紹了對稱解密演算法和非對稱加密演算法,有很多人疑惑:那我們在實際使用的過程中究竟該使用哪一種比較好呢?
我們應該根據自己的使用特點來確定,由於非對稱加密演算法的運行速度比對稱加密演算法的速度慢很多,當我們需要加密大量的數據時,建議採用對稱加密演算法,提高加解密速度。
對稱加密演算法不能實現簽名,因此簽名只能非對稱演算法。
由於對稱加密演算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,這樣我們就集成了兩類加密演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理密鑰的優點。
如果在選定了加密演算法後,那採用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位的數字,ECC建議採用160位,AES採用128為即可。
密碼學在現代的應用, 隨著密碼學商業應用的普及,公鑰密碼學受到前所未有的重視。除傳統的密碼應用系統外,PKI系統以公鑰密碼技術為主,提供加密、簽名、認證、密鑰管理、分配等功能。
保密通信:保密通信是密碼學產生的動因。使用公私鑰密碼體制進行保密通信時,信息接收者只有知道對應的密鑰才可以解密該信息。
數字簽名:數字簽名技術可以代替傳統的手寫簽名,而且從安全的角度考慮,數字簽名具有很好的防偽造功能。在政府機關、軍事領域、商業領域有廣泛的應用環境。
秘密共享:秘密共享技術是指將一個秘密信息利用密碼技術分拆成n個稱為共享因子的信息,分發給n個成員,只有k(k≤n)個合法成員的共享因子才可以恢復該秘密信息,其中任何一個或m(m≤k)個成員合作都不知道該秘密信息。利用秘密共享技術可以控制任何需要多個人共同控制的秘密信息、命令等。
認證功能:在公開的信道上進行敏感信息的傳輸,採用簽名技術實現對消息的真實性、完整性進行驗證,通過驗證公鑰證書實現對通信主體的身份驗證。
密鑰管理:密鑰是保密系統中更為脆弱而重要的環節,公鑰密碼體制是解決密鑰管理工作的有力工具;利用公鑰密碼體制進行密鑰協商和產生,保密通信雙方不需要事先共享秘密信息;利用公鑰密碼體制進行密鑰分發、保護、密鑰託管、密鑰恢復等。
基於公鑰密碼體制可以實現以上通用功能以外,還可以設計實現以下的系統:安全電子商務系統、電子現金系統、電子選舉系統、電子招投標系統、電子彩票系統等。
公鑰密碼體制的產生是密碼學由傳統的政府、軍事等應用領域走向商用、民用的基礎,同時互聯網、電子商務的發展為密碼學的發展開辟了更為廣闊的前景。
加密演算法的未來 隨著計算方法的改進,計算機運行速度的加快,網路的發展,越來越多的演算法被破解。
在2004年國際密碼學會議(Crypto』2004)上,來自中國山東大學的王小雲教授做的破譯MD5、HAVAL-128、MD4和RIPEMD演算法的報告,令在場的國際頂尖密碼學專家都為之震驚,意味著這些演算法將從應用中淘汰。隨後,SHA-1也被宣告被破解。
歷史上有三次對DES有影響的攻擊實驗。1997年,利用當時各國 7萬台計算機,歷時96天破解了DES的密鑰。1998年,電子邊境基金會(EFF)用25萬美元製造的專用計算機,用56小時破解了DES的密鑰。1999年,EFF用22小時15分完成了破解工作。因此。曾經有過卓越貢獻的DES也不能滿足我們日益增長的需求了。
最近,一組研究人員成功的把一個512位的整數分解因子,宣告了RSA的破解。
我們說數據的安全是相對的,可以說在一定時期一定條件下是安全的,隨著硬體和網路的發展,或者是另一個王小雲的出現,目前的常用加密演算法都有可能在短時間內被破解,那時我們不得不使用更長的密鑰或更加先進的演算法,才能保證數據的安全,因此加密演算法依然需要不斷發展和完善,提供更高的加密安全強度和運算速度。
縱觀這兩種演算法一個從DES到3DES再到AES,一個從RSA到ECC。其發展角度無不是從密鑰的簡單性,成本的低廉性,管理的簡易性,演算法的復雜性,保密的安全性以及計算的快速性這幾個方面去考慮。因此,未來演算法的發展也必定是從這幾個角度出發的,而且在實際操作中往往把這兩種演算法結合起來,也需將來一種集兩種演算法優點於一身的新型演算法將會出現,到那個時候,電子商務的實現必將更加的快捷和安全。

『玖』 公開密鑰的作用是什麼

公開密鑰也稱為非對稱密鑰,每個人都有一對唯一對應的密鑰:公開密鑰(簡稱公鑰)和私人密鑰(簡稱私鑰),公鑰對外公開,私鑰由個人秘密保存;用其中一把密鑰加密,就只能用另一把密鑰解密。非對稱密鑰加密演算法的典型代表是RSA。
非對稱加密的應用:
因為公鑰是公開對外發布的,所以想給私鑰持有者發送信息的人都可以取得公鑰,用公鑰加密後,發送給私鑰持有者,即使被攔截或竊取,沒有私鑰的攻擊者也無法獲得加密後的信息,可以保證信息的安全傳輸
另外,先用私鑰加密,再用公鑰解密,可以完成對私鑰持有者的身份認證,因為公鑰只能解開有私鑰加密後的信息。
雖然公鑰和私鑰是一對互相關聯的密鑰,但是並不能從兩者中的任何一把,推斷出另一把。
非對稱加密的優點:
由於公鑰是公開的,而私鑰則由用戶自己保存,所以對於非對稱密鑰,其保密管理相對比較簡單
非對稱加密的缺點:
因為復雜的加密演算法,使的非對稱密鑰加密速度慢,成本高

閱讀全文

與公開密匙演算法有哪些應用領域相關的資料

熱點內容
螢石雲智能鎖添加密碼 瀏覽:503
股票自動化交易編程 瀏覽:471
android自定義窗口 瀏覽:921
工程動力學pdf 瀏覽:179
騰訊的雲伺服器是bgp嗎 瀏覽:945
excel弘編程 瀏覽:912
什麼人不適合做程序員 瀏覽:675
喜購app怎麼樣 瀏覽:804
交換機查鄰居命令 瀏覽:343
渲染卡在正在編譯場景幾何體 瀏覽:315
app進入頁面為什麼有編譯 瀏覽:563
真我手機照片加密怎麼找回 瀏覽:637
怎麼查自己的app專屬流量 瀏覽:105
安卓車機一般是什麼主機 瀏覽:740
wps電腦版解壓包 瀏覽:79
怎麼在手機設置中解除應用加密 瀏覽:551
安卓手機怎麼讓微信提示音音量大 瀏覽:331
批處理域用戶訪問共享文件夾 瀏覽:132
怎麼做軟綿綿解壓筆 瀏覽:699
壓縮包網路傳輸會丟色嗎 瀏覽:221