非對稱加密和x509

2021-07-13 10:39:48 字數 2790 閱讀 1760

非對稱加密演算法又稱為公鑰加密演算法按照密碼學的kerckhoff原則"所

有演算法都是公開的只有金鑰是保密的"。即安全系統的設計者不能指望使用某

種秘密的無人知道的演算法來保密而應當使用一種公開的被驗證過的演算法--只

要金鑰是安全的已知演算法的攻擊者實際上無法破解秘文的演算法才是好的演算法。 

rsa演算法是目前最流行的公鑰密碼演算法它使用長度可以變化的金鑰。rsa

是第乙個既能用於資料加密也能用於數字簽名的演算法。rsa演算法的原理如下

1.隨機選擇兩個大質數p和qp不等於q計算n=pq;

2.選擇乙個大於1小於n的自然數ee必須與(p-1)×(q-1)互素。 

3.用公式計算出dd×e=1(mod(p-1)×(q-1))。 

4.銷毀p和q。 

最終得到的n和e就是"公鑰"d就是"私鑰"傳送方使用n去加密資料

接收方只有使用d才能解開資料內容。 

rsa的安全性依賴於大數分解小於1024位的n已經被證明是不安全的

而且由於rsa演算法進行的都是大數計算使得rsa最快的情況也比des慢上好

幾倍這也是rsa最大的缺陷因此它通常只能用於加密少量資料或者加密密

鑰。需要注意的是rsa演算法的安全性只是一種計算安全性絕不是無條件的

安全性這是由它的理論基礎決定的。因此在實現rsa演算法的過程中每一

步都應盡量從安全性方面考慮。 

非對稱加密演算法實現機密資訊交換的基本過程是甲方生成一對金鑰並將

其中的一把作為公用金鑰向其它方公開得到該公用金鑰的乙方使用該金鑰對

機密資訊進行加密後再傳送給甲方甲方再用自己儲存的另一把專用金鑰對加

密後的資訊進行解密。甲方只能用其專用金鑰解密由其公用金鑰加密後的任何

資訊。非對稱加密演算法的保密性比較好它消除了終端使用者交換金鑰的需要。 

公鑰和私鑰 

對稱加密演算法需要兩個金鑰公開金鑰(publickey)和私有金鑰

(privatekey)。公開金鑰與私有金鑰是一對如果用公開金鑰對資料進行加密

只有用對應的私有金鑰才能解密如果用私有金鑰對資料進行加密那麼只有

用對應的公開金鑰才能解密。因為加密和解密使用的是兩個不同的金鑰所以

這種演算法叫作非對稱加密演算法。 

公鑰加密公鑰加密使用乙個必須對未經授權的使用者保密的私鑰和乙個可

以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯用公鑰加密的資料只

能用私鑰解密而用私鑰簽名的資料只能用公鑰驗證.net通過抽象基類

(system.security.crytography.asymmetricalgorithm)提供下列非對稱(公鑰/

私鑰)加密演算法

dsacryptoserviceprovider rsacryptoserviceprovider 

因此公鑰和私鑰在非對稱加密演算法裡是成對出現的公鑰公開出來用來加

密資料誰都可以使用這個公鑰對自己傳遞的資料加密。私鑰所有者通過自己

的私鑰對資料進行解密私鑰一般只有所有者知道因此別人截獲資料也無法

破譯資訊的內容。 

證書和簽名 

證書實際對於非對稱加密演算法(公鑰加密)來說的一般證書包括公鑰、姓

名、數字簽名三個部分。證書好比身份證證書機構(ca)就好比是公安局職

責就是負責管理使用者的證書也就是身份證。 

比如我的公鑰是frankkey,姓名是frank xu lei。公安局可以給我登記

但是怎麼保證我和別的frank xu lei區別開呢於是公安局(證書機構)就使用

我的名字和金鑰做了個組合再使用一種雜湊演算法得出一串值來標識我的

唯一性這個值就是我的身份證號碼也就是證書裡的數字簽名。 

假設乙個朋友給我寫信他就可以到公安局(證書機構)來查詢我的身份證

(證書)。上面包括我的個人資訊可以保證這個公鑰就是我的。然後他把新建

進行加密郵寄給我。別人即使拆開我的信件因為沒有金鑰進行解密所以

無法閱讀我的信件內容。這樣就保證了資訊保安。 

所以說加密不一定要證書取決於你資料安全具體的需求。一般大型的電

子商務**都有自己特定的證書。證書管理的機構比較有名的就是

verisign(可以說是網際網路上的身份證管理局)。企業可以申請註冊它會給申

請者生成特定的簽名。 

我們自己的企業內部應用如果需要的話可以在企業區域網內部建立企業

私有的證書伺服器來產生和管理證書。 

其實x.509是由國際電信聯盟(itu-t)制定的一種定義證書格式和分布的國

際標準(相當於製作身份證的規範)。為了提供公用網路使用者目錄資訊服務並

規定了實體鑑別過程中廣泛適用的證書語法和資料介面x.509稱之為證書

或者說是身份證的一種形式類似與我們現在的二代身份證也是身份證的一

種根據特定的標準製作出來的。另外證書使用的時候還有有效期的限制和

我們的身份證的10年有效期一樣。證書也可以設定有效期。 

x.509證書的獲得和管理 

【4.1】免費數字證書獲得免費數字證書的方法有很多目前國內有很多

ca中心提供試用型數字證書其申請過程在網上即時完成並可以免費使用。

下面提供乙個比較好的站點申請位址為https注意

只有安裝了根證書(證書鏈)的計算機才能完成申請步驟和正常使用。推薦另

外乙個可以免費申請證書的ca 

【4.2】從ca獲得商業應用最好從證書的簽發機構ca獲得證書比如

verisign證書服務機構這樣商業ca服務機構的證書已經廣泛使用有的系

統預設為可信任的證書簽發機構。但是證書需要付費。 

WCF使用X509證書資料加密

一 建立證書 在vs2012 的dos命令提示中,輸入下面的命令建立兩個證書 makecert.exe sr localmachine ss my a sha1 n cn testserver sky exchange pe makecert.exe sr localmachine ss my a ...

X 509標準簡介

伺服器ssl數字證書和客戶端單位數字證書的格式遵循 x.509 標準。x.509 是由國際電信聯盟 itu t 制定的數字證書標準。為了提供公用網路使用者目錄資訊服務,itu 於 1988 年制定了 x.500 系列標準。其中 x.500 和 x.509 是安全認證系統的核心,x.500 定義了一種...

X 509證書校驗

x.509證書校驗 這裡討論openssl 中如何應用 crls 和來自證書體系的其他證書來進行證書校驗。為此需要使用 x.509 包的功能函式。ssl協議實現已經處理了很多這裡將要討論的東西,即使如此,一些工作還是需要我們親歷親為,特別是當我們希望在證書校驗過程中使用 crls 的校驗,大部分情況...