程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> Microsoft CryptoAPI加密技術(一)

Microsoft CryptoAPI加密技術(一)

編輯:vc教程

在這個信息爆炸的時代,我們不得不對信息的安全提高警惕。加密作為保障數據信息安全的一種方式,越來越受到人們的關注。

下面,我將把自己對Microsoft CryptoAPI的一些膚淺的理解與大家共享,有什麼不妥之處望不吝賜教。

一、 加密方法:

當初,計算機的研究就是為了破解德國人的密碼,人們並沒有想到計算機給今天帶來的信息革命。隨著計算機的發展,運算能力的增強,密碼學已經取得了巨大的進展。大體來說有以下幾種形式。

1、 公用密鑰加密技術

加密和解密使用不同的密鑰,分別叫做“公鑰”和“私鑰”。顧名思義,“私鑰”就是不能讓別人知道的,而“公鑰”就是可以公開的。這兩個必須配對使用,用公鑰加密的數據必須用與其對應的私鑰才能解開。這種技術安全性高,得到廣泛運用,但是效率太低。

2、 對稱密鑰加密技術

要求加密和解密過程使用相同的密鑰,這樣,密鑰必須只能被加解密雙方知道,否則就不安全。這種技術安全性不高,但是效率高。

3、 結合公用和對稱密鑰加密技術

公鑰加密技術以速度為代價換取了高安全性,而對稱加密以低安全換取高性能,所以另一種常見的加密方法就是結合以上兩種技術。

用對稱加密算法對數據進行加密,然後使用更安全的但效率更低的公鑰加密算法對對稱密鑰進行加密。

4、 數字簽名和鑒別

就是對已經加密的數據“簽名”,這樣接收者可以知道加密的數據的來源,以及是否被更改。

二、 CryptoAPI

微軟的CryptoAPI是PKI推薦使用的加密 API。其功能是為應用程序開發者提供在Win32環境下使用加密、驗證等安全服務時的標准加密接口。CryptoAPI處於應用程序和CSP(cryptographic service provider)之間(見圖一)。

CryptoAPI的模型同Windows系統的圖形設備接口 GDI比較類似,其中加密服務提供者CSP等同於圖形設備驅動程序 ,加密硬件(可選)等同於圖形硬件,其上層的應用程序也類似,都不需要同設備驅動程序和硬件直接打交道。

CryptoAPI共有五部分組成:簡單消息函數(Simplified Message Functions)、低層消息函數(Low-level Message Functions)、基本加密函數(Base Cryptographic Functions)、證書編解碼函數(Certificate Encode/Decode Functions)和證書庫管理函數(Certificate Store Functions)。其中前三者可用於對敏感信息進行加密或簽名處理,可保證網絡傳輸信心的私有性;後兩者通過對證書的使用,可保證網絡信息交流中的認證性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved