資料加密演算法

2021-03-31 08:56:59 字數 1788 閱讀 4954

加密將防止資料被檢視或修改,並在原本不安全的通道上提供安全的通訊通道,它達到以下目的:

一、資料加密/編碼演算法列表

常見用於保證安全的加密或編碼演算法如下:

1、常用金鑰演算法

金鑰演算法用來對敏感資料、摘要、簽名等資訊進行加密,常用的金鑰演算法包括:

2、單向雜湊演算法

單向雜湊函式一般用於產生訊息摘要,金鑰加密等,常見的有:

3、其它資料演算法

其它資料演算法包括一些常用編碼演算法及其與明文(ascii、unicode 等)轉換等,如base 64quoted printableebcdic等。

二、演算法的 .*** 實現

常見的加密和編碼演算法都已經在 .*** framework中得到了實現,為編碼人員提供了極大的便利性,實現這些演算法的命名空間是:system.security.cryptography。

system.security.cryptography 命名空間提供加密服務,包括安全的資料編碼和解碼,以及許多其他操作,例如雜湊法、隨機數字生成和訊息身份驗證。

system.security.cryptography 是按如下方式組織的:

1、私鑰加密

私鑰加密又稱為對稱加密,因為同一金鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的資料流執行加密轉換。

.*** framework 提供以下實現私鑰加密演算法的類:

2、公鑰加密和數字簽名

公鑰加密使用乙個必須對未經授權的使用者保密的私鑰和乙個可以對任何人公開的公鑰。用公鑰加密的資料只能用私鑰解密,而用私鑰簽名的資料只能用公鑰驗證。公鑰可以被任何人使用;該金鑰用於加密要傳送到私鑰持有者的資料。兩個金鑰對於通訊會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用乙個金鑰加密資料而需要用另乙個金鑰來解密資料。

.*** framework 提供以下實現公鑰加密演算法的類:

3、雜湊(hash)值

雜湊演算法將任意長度的二進位制值對映為固定長度的較小二進位制值,這個小的二進位制值稱為雜湊值。雜湊值是一段資料唯一且極其緊湊的數值表示形式。如果雜湊一段明文而且哪怕只更改該段落的乙個字母,隨後的雜湊都將產生不同的值。要找到雜湊為同乙個值的兩個不同的輸入,在計算上是不可能的,所以資料的雜湊值可以檢驗資料的完整性。

.*** framework 提供以下實現數字簽名演算法的類:

4、隨機數生成

加密金鑰需要盡可能地隨機,以便使生成的金鑰很難再現,所以隨機數生成是許多加密操作不可分割的組成部分。

在 .*** framework 中,rngcryptoserviceprovider 是隨機數生成器演算法的實現,對於資料演算法,.*** framework 則在其它命名空間中實現,如 convert 類實現 base 64 編碼,system.text 來實現編碼方式的轉換等。

從以上來看,.*** framework 對於資料加密/編碼還是支援比較好,大大地方便了開發人員,但美中不足的是,.*** framework 中的資料加密演算法仍然不夠完全,如 idea、blowfish、其它演算法,如elgamal、deffie-hellman、ecc 等,對於一些其它的資料校驗演算法支援也不夠,如 crc、sfv 等,開發人員只能去從早期**做移植或者尋找第三方廠商的實現。

資料加密演算法

資料加密演算法 加密將防止資料被檢視或修改,並在原本不安全的通道上提供安全的通訊通道,它達到以下目的 保密性 防止使用者的標識或資料被讀取。資料完整性 防止資料被更改。身份驗證 確保資料發自特定的一方。一 資料加密 編碼演算法列表 常見用於保證安全的加密或編碼演算法如下 1 常用金鑰演算法 金鑰演算...

資料加密演算法

1 常用金鑰演算法 金鑰演算法用來對敏感資料 摘要 簽名等資訊進行加密,常用的金鑰演算法包括 2 單向雜湊演算法 單向雜湊函式一般用於產生訊息摘要,金鑰加密等,常見的有 3 其它資料演算法 其它資料演算法包括一些常用編碼演算法及其與明文 ascii unicode 等 轉換等,如base 64 qu...

IDEA資料加密演算法介紹

idea 資料加密演算法及實現 idea 對稱資料加密演算法,是我 2000 年剛畢業,工作需要進行資料加密時,學習 實現的第乙個標準資料加密演算法,並且此後就深深地迷上了資料加密這個方面,以後連續兩年潛心學習和研究這方面的知識與技術。在此過程中,非常感謝同事李哥對我的大力幫助,並從此成了很好的朋友...