非對稱加密演算法又稱為公鑰加密演算法按照密碼學的kerckhoff原則"所
有演算法都是公開的只有金鑰是保密的"。即安全系統的設計者不能指望使用某
種秘密的無人知道的演算法來保密而應當使用一種公開的被驗證過的演算法--只
要金鑰是安全的已知演算法的攻擊者實際上無法破解秘文的演算法才是好的演算法。
rsa演算法是目前最流行的公鑰密碼演算法它使用長度可以變化的金鑰。rsa
是第乙個既能用於資料加密也能用於數字簽名的演算法。rsa演算法的原理如下
1.隨機選擇兩個大質數p和qp不等於q計算n=pq;
2.選擇乙個大於1小於n的自然數ee必須與(p-1)×(q-1)互素。
3.用公式計算出dd×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 的校驗,大部分情況...