導航:首頁 > 文檔加密 > dss加密怎麼算

dss加密怎麼算

發布時間:2022-10-31 04:23:51

① 數據在網路上傳輸為什麼要加密現在常用的數據加密演算法主要有哪些

數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。

端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。

數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。

常見加密演算法

1、DES(Data Encryption Standard):對稱演算法,數據加密標准,速度較快,適用於加密大量數據的場合;

2、3DES(Triple DES):是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;

3、RC2和RC4:對稱演算法,用變長密鑰對大量數據進行加密,比 DES 快;

4、IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性;

5、RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法; 演算法如下:

首先, 找出三個數,p,q,r,其中 p,q 是兩個不相同的質數,r 是與 (p-1)(q-1) 互為質數的數。

p,q,r這三個數便是 private key。接著,找出 m,使得 rm == 1 mod (p-1)(q-1).....這個 m 一定存在,因為 r 與 (p-1)(q-1) 互質,用輾轉相除法就可以得到了。再來,計算 n = pq.......m,n 這兩個數便是 public key。

6、DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法;

7、AES(Advanced Encryption Standard):高級加密標准,對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法。

8、BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;

9、MD5:嚴格來說不算加密演算法,只能說是摘要演算法;

對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

(1)dss加密怎麼算擴展閱讀

數據加密標准

傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。

數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。

DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。

每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。

DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。

參考資料來源:網路-加密演算法

參考資料來源:網路-數據加密

② 對稱加密演算法的加密演算法主要有哪些

1、3DES演算法

3DES(即Triple DES)是DES向AES過渡的加密演算法(1999年,NIST將3-DES指定為過渡的加密標准),加密演算法,其具體實現如下:設Ek()和Dk()代表DES演算法的加密和解密過程,K代表DES演算法使用的密鑰,M代表明文,C代表密文,這樣:

3DES加密過程為:C=Ek3(Dk2(Ek1(M)))

3DES解密過程為:M=Dk1(EK2(Dk3(C)))

2、Blowfish演算法

BlowFish演算法用來加密64Bit長度的字元串。

BlowFish演算法使用兩個「盒」——unsignedlongpbox[18]和unsignedlongsbox[4,256]。

BlowFish演算法中,有一個核心加密函數:BF_En(後文詳細介紹)。該函數輸入64位信息,運算後,以64位密文的形式輸出。用BlowFish演算法加密信息,需要兩個過程:密鑰預處理和信息加密。

分別說明如下:

密鑰預處理:

BlowFish演算法的源密鑰——pbox和sbox是固定的。我們要加密一個信息,需要自己選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所要用的key_pbox和key_sbox。具體的變化演算法如下:

1)用sbox填充key_sbox

2)用自己選擇的key8個一組地去異或pbox,用異或的結果填充key_pbox。key可以循環使用。

比如說:選的key是"abcdefghijklmn"。則異或過程為:

key_pbox[0]=pbox[0]abcdefgh;

key_pbox[1]=pbox[1]ijklmnab;

…………

…………

如此循環,直到key_pbox填充完畢。

3)用BF_En加密一個全0的64位信息,用輸出的結果替換key_pbox[0]和key_pbox[1],i=0;

4)用BF_En加密替換後的key_pbox,key_pbox[i+1],用輸出替代key_pbox[i+2]和key_pbox[i+3];

5)i+2,繼續第4步,直到key_pbox全部被替換;

6)用key_pbox[16]和key_pbox[17]做首次輸入(相當於上面的全0的輸入),用類似的方法,替換key_sbox信息加密。

信息加密就是用函數把待加密信息x分成32位的兩部分:xL,xRBF_En對輸入信息進行變換。

3、RC5演算法

RC5是種比較新的演算法,Rivest設計了RC5的一種特殊的實現方式,因此RC5演算法有一個面向字的結構:RC5-w/r/b,這里w是字長其值可以是16、32或64對於不同的字長明文和密文塊的分組長度為2w位,r是加密輪數,b是密鑰位元組長度。

(2)dss加密怎麼算擴展閱讀:

普遍而言,有3個獨立密鑰的3DES(密鑰選項1)的密鑰長度為168位(三個56位的DES密鑰),但由於中途相遇攻擊,它的有效安全性僅為112位。密鑰選項2將密鑰長度縮短到了112位,但該選項對特定的選擇明文攻擊和已知明文攻擊的強度較弱,因此NIST認定它只有80位的安全性。

對密鑰選項1的已知最佳攻擊需要約2組已知明文,2部,2次DES加密以及2位內存(該論文提到了時間和內存的其它分配方案)。

這在現在是不現實的,因此NIST認為密鑰選項1可以使用到2030年。若攻擊者試圖在一些可能的(而不是全部的)密鑰中找到正確的,有一種在內存效率上較高的攻擊方法可以用每個密鑰對應的少數選擇明文和約2次加密操作找到2個目標密鑰中的一個。

③ 加密演算法的常見加密演算法

DES(Data Encryption Standard):對稱演算法,數據加密標准,速度較快,適用於加密大量數據的場合;
3DES(Triple DES):是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
RC2和RC4:對稱演算法,用變長密鑰對大量數據進行加密,比 DES 快;
IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性;
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法; 演算法如下:
首先, 找出三個數, p, q, r,其中 p, q 是兩個相異的質數, r 是與 (p-1)(q-1) 互質的數......p, q, r 這三個數便是 private key
接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1).....這個 m 一定存在, 因為 r 與 (p-1)(q-1) 互質, 用輾轉相除法就可以得到了.....再來, 計算 n = pq.......m, n 這兩個數便是 public key
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法;
AES(Advanced Encryption Standard):高級加密標准,對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法;
BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;
MD5:嚴格來說不算加密演算法,只能說是摘要演算法;
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
在MD5演算法中,首先需要對信息進行填充,使其位元組長度對512求余的結果等於448。因此,信息的位元組長度(Bits Length)將被擴展至N*512+448,即N*64+56個位元組(Bytes),N為一個正整數。填充的方法如下,在信息的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後,在這個結果後面附加一個以64位二進製表示的填充前信息長度。經過這兩步的處理,如今信息位元組長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對信息長度的要求。(可參見MD5演算法詞條)
PKCS:The Public-Key Cryptography Standards (PKCS)是由美國RSA數據安全公司及其合作夥伴制定的一組公鑰密碼學標准,其中包括證書申請、證書更新、證書作廢表發布、擴展證書內容以及數字簽名、數字信封的格式等方面的一系列相關協議。
SSF33,SSF28,SCB2(SM1):國家密碼局的隱蔽不公開的商用演算法,在國內民用和商用的,除這些都不容許使用外,其他的都可以使用;

④ 加密技術06-加密總結

對稱密碼是一種用相同的密鑰進行加密和解密的技術,用於確保消息的機密性。在對稱密碼的演算法方面,目前主要使用的是 AES。盡管對稱密碼能夠確保消息的機密性,但需要解決將解密密鑰配送給接受者的密鑰配送問題。

主要演算法

DES

數據加密標准(英語:Data Encryption Standard,縮寫為 DES)是一種對稱密鑰加密塊密碼演算法,1976年被美國聯邦政府的國家標准局確定為聯邦資料處理標准(FIPS),隨後在國際上廣泛流傳開來。它基於使用56位密鑰的對稱演算法。

DES現在已經不是一種安全的加密方法,主要因為它使用的56位密鑰過短。

原理請參考: 加密技術01-對稱加密-DES原理

3DES

三重數據加密演算法(英語:Triple Data Encryption Algorithm,縮寫為TDEA,Triple DEA),或稱3DES(Triple DES),是一種對稱密鑰加密塊密碼,相當於是對每個數據塊應用三次DES演算法。由於計算機運算能力的增強,原版DES由於密鑰長度過低容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。

注意:有3個獨立密鑰的3DES的密鑰安全性為168位,但由於中途相遇攻擊(知道明文和密文),它的有效安全性僅為112位。

3DES使用「密鑰包」,其包含3個DES密鑰,K1,K2和K3,均為56位(除去奇偶校驗位)。

密文 = E k3 (D k2 (E k1 (明文)))

而解密則為其反過程:

明文 = D k3 (E k2 (D k1 (密文)))

AES

AES 全稱 Advanced Encryption Standard(高級加密標准)。它的出現主要是為了取代 DES 加密演算法的,因為 DES 演算法的密鑰長度是 56 位,因此演算法的理論安全強度是 56 位。於是 1997 年 1 月 2 號,美國國家標准技術研究所宣布希望徵集高級加密標准,用以取代 DES。AES 也得到了全世界很多密碼工作者的響應,先後有很多人提交了自己設計的演算法。最終有5個候選演算法進入最後一輪:Rijndael,Serpent,Twofish,RC6 和 MARS。最終經過安全性分析、軟硬體性能評估等嚴格的步驟,Rijndael 演算法獲勝。

AES 密碼與分組密碼 Rijndael 基本上完全一致,Rijndael 分組大小和密鑰大小都可以為 128 位、192 位和 256 位。然而 AES 只要求分組大小為 128 位,因此只有分組長度為 128 位的 Rijndael 才稱為 AES 演算法。

本文 AES 默認是分組長度為 128 位的 Rijndael 演算法

原理請參考: 加密技術02-對稱加密-AES原理

演算法對比

公鑰密碼是一種用不同的密鑰進行加密和解密的技術,和對稱密碼一樣用於確保消息的機密性。使用最廣泛的一種公鑰密碼演算法是 RAS。和對稱密碼相比,公鑰密碼的速度非常慢,因此一般都會和對稱密碼一起組成混合密碼系統來使用。公鑰密碼能夠解決對稱密碼中的密鑰交換問題,但存在通過中間人攻擊被偽裝的風險,因此需要對帶有數字簽名的公鑰進行認證。

公鑰密碼學的概念是為了解決對稱密碼學中最困難的兩個問題而提出

應用場景

幾個誤解

主要演算法

Diffie–Hellman 密鑰交換

迪菲-赫爾曼密鑰交換(英語:Diffie–Hellman key exchange,縮寫為D-H) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。公鑰交換的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而這個密鑰交換方法,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和馬丁·赫爾曼(Martin Edward Hellman)在1976年發表,也是在公開文獻中發布的第一個非對稱方案。

Diffie–Hellman 演算法的有效性是建立在計算離散對數很困難的基礎上。簡單地說,我們可如下定義離散對數。首先定義素數 p 的本原跟。素數 p 的本原根是一個整數,且其冪可以產生 1 到 p-1 之間所有整數,也就是說若 a 是素數 p 的本原根,則

a mod p, a 2 mod p,..., a p-1 mod p 各不相同,它是整數 1 到 p-1 的一個置換。

對任意整數 b 和素數 p 的本原跟 a,我們可以找到唯一的指數 i 使得

b ≡ a i (mod p) 其中 0 <= i <= p-1

其中 a, b, p 這些是公開的,i 是私有的,破解難度就是計算 i 的難度。

Elgamal

1985年,T.Elgamal 提出了一種基於離散對數的公開密鑰體制,一種與 Diffie-Hellman 密鑰分配體制密切相關。Elgamal 密碼體系應用於一些技術標准中,如數字簽名標准(DSS) 和 S/MIME 電子郵件標准。

基本原理就是利用 Diffie–Hellman 進行密鑰交換,假設交換的密鑰為 K,然後用 K 對要發送的消息 M,進行加密處理。

所以 Elgamal 的安全系數取決於 Diffie–Hellman 密鑰交換。

另外 Elgamal 加密後消息發送的長度會增加一倍。

RSA

MIT 的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在 1977 年提出並於 1978 年首次發表的演算法。RSA 是最早滿足要求的公鑰演算法之一,自誕生日起就成為被廣泛接受且被實現的通用的公鑰加密方法。

RSA 演算法的有效性主要依據是大數因式分解是很困難的。

原理請參考: 加密技術03-非對稱加密-RSA原理

ECC

大多數使用公鑰密碼學進行加密和數字簽名的產品和標准都使用 RSA 演算法。我們知道,為了保證 RSA 使用的安全性,最近這些年來密鑰的位數一直在增加,這對使用 RSA 的應用是很重的負擔,對進行大量安全交易的電子商務更是如此。近來,出現的一種具有強大競爭力的橢圓曲線密碼學(ECC)對 RSA 提出了挑戰。在標准化過程中,如關於公鑰密碼學的 IEEE P1363 標准中,人們也已考慮了 ECC。

與 RSA 相比,ECC 的主要誘人之處在於,它可以使用比 RSA 短得多的密鑰得到相同安全性,因此可以減少處理負荷。

ECC 比 RSA 或 Diffie-Hellman 原理復雜很多,本文就不多闡述了。

演算法對比

公鑰密碼體制的應用

密碼分析所需計算量( NIST SP-800-57 )

註:L=公鑰的大小,N=私鑰的大小

散列函數是一種將長消息轉換為短散列值的技術,用於確保消息的完整性。在散列演算法方面,SHA-1 曾被廣泛使用,但由於人們已經發現了一些針對該演算法理論上可行的攻擊方式,因此該演算法不應再被用於新的用途。今後我們應該主要使用的演算法包括目前已經在廣泛使用的 SHA-2,以及具有全新結構的 SHA-3 演算法。散列函數可以單獨使用,也可以作為消息認證、數字簽名以及偽隨機數生成器等技術的組成元素來使用。

主要應用

主要演算法

MD5

MD5消息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個 128 位( 16 位元組,被表示為 32 位十六進制數字)的散列值(hash value),用於確保信息傳輸完整一致。MD5 由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於 1992 年公開,用以取代 MD4 演算法。這套演算法的程序在 RFC 1321 中被加以規范。

2009年,中國科學院的謝濤和馮登國僅用了 2 20.96 的碰撞演算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數秒鍾。2011年,RFC 6151 禁止MD5用作密鑰散列消息認證碼。

原理請參考: 加密技術04-哈希演算法-MD5原理

SHA-1

SHA-1(英語:Secure Hash Algorithm 1,中文名:安全散列演算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標准技術研究所(NIST)發布為聯邦資料處理標准(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進制數。

2005年,密碼分析人員發現了對SHA-1的有效攻擊方法,這表明該演算法可能不夠安全,不能繼續使用,自2010年以來,許多組織建議用SHA-2或SHA-3來替換SHA-1。Microsoft、Google以及Mozilla都宣布,它們旗下的瀏覽器將在2017年停止接受使用SHA-1演算法簽名的SSL證書。

2017年2月23日,CWI Amsterdam與Google宣布了一個成功的SHA-1碰撞攻擊,發布了兩份內容不同但SHA-1散列值相同的PDF文件作為概念證明。

2020年,針對SHA-1的選擇前綴沖突攻擊已經實際可行。建議盡可能用SHA-2或SHA-3取代SHA-1。

原理請參考: 加密技術05-哈希演算法-SHA系列原理

SHA-2

SHA-2,名稱來自於安全散列演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數演算法標准,由美國國家安全局研發,由美國國家標准與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

SHA-2 系列的演算法主要思路和 SHA-1 基本一致

原理請參考: 加密技術05-哈希演算法-SHA系列原理

SHA-3

SHA-3 第三代安全散列演算法(Secure Hash Algorithm 3),之前名為 Keccak 演算法。

Keccak 是一個加密散列演算法,由 Guido Bertoni,Joan Daemen,Michaël Peeters,以及 Gilles Van Assche 在 RadioGatún 上設計。

2012年10月2日,Keccak 被選為 NIST 散列函數競賽的勝利者。SHA-2 目前沒有出現明顯的弱點。由於對 MD5、SHA-0 和 SHA-1 出現成功的破解,NIST 感覺需要一個與之前演算法不同的,可替換的加密散列演算法,也就是現在的 SHA-3。

SHA-3 在2015年8月5日由 NIST 通過 FIPS 202 正式發表。

原理請參考: 加密技術05-哈希演算法-SHA系列原理

演算法對比

⑤ 常見加密演算法原理及概念

在安全領域,利用密鑰加密演算法來對通信的過程進行加密是一種常見的安全手段。利用該手段能夠保障數據安全通信的三個目標:

而常見的密鑰加密演算法類型大體可以分為三類:對稱加密、非對稱加密、單向加密。下面我們來了解下相關的演算法原理及其常見的演算法。

對稱加密演算法採用單密鑰加密,在通信過程中,數據發送方將原始數據分割成固定大小的塊,經過密鑰和加密演算法逐個加密後,發送給接收方;接收方收到加密後的報文後,結合密鑰和解密演算法解密組合後得出原始數據。由於加解密演算法是公開的,因此在這過程中,密鑰的安全傳遞就成為了至關重要的事了。而密鑰通常來說是通過雙方協商,以物理的方式傳遞給對方,或者利用第三方平台傳遞給對方,一旦這過程出現了密鑰泄露,不懷好意的人就能結合相應的演算法攔截解密出其加密傳輸的內容。

對稱加密演算法擁有著演算法公開、計算量小、加密速度和效率高得特定,但是也有著密鑰單一、密鑰管理困難等缺點。

常見的對稱加密演算法有:
DES:分組式加密演算法,以64位為分組對數據加密,加解密使用同一個演算法。
3DES:三重數據加密演算法,對每個數據塊應用三次DES加密演算法。
AES:高級加密標准演算法,是美國聯邦政府採用的一種區塊加密標准,用於替代原先的DES,目前已被廣泛應用。
Blowfish:Blowfish演算法是一個64位分組及可變密鑰長度的對稱密鑰分組密碼演算法,可用來加密64比特長度的字元串。

非對稱加密演算法採用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對數據進行加密,那麼只有對應的私鑰才能解密,反之亦然。
下圖為簡單非對稱加密演算法的常見流程:

發送方Bob從接收方Alice獲取其對應的公鑰,並結合相應的非對稱演算法將明文加密後發送給Alice;Alice接收到加密的密文後,結合自己的私鑰和非對稱演算法解密得到明文。這種簡單的非對稱加密演算法的應用其安全性比對稱加密演算法來說要高,但是其不足之處在於無法確認公鑰的來源合法性以及數據的完整性。
非對稱加密演算法具有安全性高、演算法強度負復雜的優點,其缺點為加解密耗時長、速度慢,只適合對少量數據進行加密,其常見演算法包括:
RSA :RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰,可用於加密,也能用於簽名。
DSA :數字簽名演算法,僅能用於簽名,不能用於加解密。
DSS :數字簽名標准,技能用於簽名,也可以用於加解密。
ELGamal :利用離散對數的原理對數據進行加解密或數據簽名,其速度是最慢的。

單向加密演算法常用於提取數據指紋,驗證數據的完整性。發送者將明文通過單向加密演算法加密生成定長的密文串,然後傳遞給接收方。接收方在收到加密的報文後進行解密,將解密獲取到的明文使用相同的單向加密演算法進行加密,得出加密後的密文串。隨後將之與發送者發送過來的密文串進行對比,若發送前和發送後的密文串相一致,則說明傳輸過程中數據沒有損壞;若不一致,說明傳輸過程中數據丟失了。單向加密演算法只能用於對數據的加密,無法被解密,其特點為定長輸出、雪崩效應。常見的演算法包括:MD5、sha1、sha224等等,其常見用途包括:數字摘要、數字簽名等等。

密鑰交換IKE(Internet Key Exchange)通常是指雙方通過交換密鑰來實現數據加密和解密,常見的密鑰交換方式有下面兩種:
1、公鑰加密,將公鑰加密後通過網路傳輸到對方進行解密,這種方式缺點在於具有很大的可能性被攔截破解,因此不常用;
2、Diffie-Hellman,DH演算法是一種密鑰交換演算法,其既不用於加密,也不產生數字簽名。DH演算法的巧妙在於需要安全通信的雙方可以用這個方法確定對稱密鑰。然後可以用這個密鑰進行加密和解密。但是注意,這個密鑰交換協議/演算法只能用於密鑰的交換,而不能進行消息的加密和解密。雙方確定要用的密鑰後,要使用其他對稱密鑰操作加密演算法實際加密和解密消息。DH演算法通過雙方共有的參數、私有參數和演算法信息來進行加密,然後雙方將計算後的結果進行交換,交換完成後再和屬於自己私有的參數進行特殊演算法,經過雙方計算後的結果是相同的,此結果即為密鑰。
如:

在整個過程中,第三方人員只能獲取p、g兩個值,AB雙方交換的是計算後的結果,因此這種方式是很安全的。

公鑰基礎設施是一個包括硬體、軟體、人員、策略和規程的集合,用於實現基於公鑰密碼機制的密鑰和證書的生成、管理、存儲、分發和撤銷的功能,其組成包括:簽證機構CA、注冊機構RA、證書吊銷列表CRL和證書存取庫CB。
PKI採用證書管理公鑰,通過第三方可信任CA中心,把用戶的公鑰和其他用戶信息組生成證書,用於驗證用戶的身份。
公鑰證書是以數字簽名的方式聲明,它將公鑰的值綁定到持有對應私鑰的個人、設備或服務身份。公鑰證書的生成遵循X.509協議的規定,其內容包括:證書名稱、證書版本、序列號、演算法標識、頒發者、有效期、有效起始日期、有效終止日期、公鑰 、證書簽名等等的內容。

CA證書認證的流程如下圖,Bob為了向Alice證明自己是Bob和某個公鑰是自己的,她便向一個Bob和Alice都信任的CA機構申請證書,Bob先自己生成了一對密鑰對(私鑰和公鑰),把自己的私鑰保存在自己電腦上,然後把公鑰給CA申請證書,CA接受申請於是給Bob頒發了一個數字證書,證書中包含了Bob的那個公鑰以及其它身份信息,當然,CA會計算這些信息的消息摘要並用自己的私鑰加密消息摘要(數字簽名)一並附在Bob的證書上,以此來證明這個證書就是CA自己頒發的。Alice得到Bob的證書後用CA的證書(自簽署的)中的公鑰來解密消息摘要,隨後將摘要和Bob的公鑰發送到CA伺服器上進行核對。CA在接收到Alice的核對請求後,會根據Alice提供的信息核對Bob的證書是否合法,如果確認合法則回復Alice證書合法。Alice收到CA的確認回復後,再去使用從證書中獲取的Bob的公鑰加密郵件然後發送給Bob,Bob接收後再以自己的私鑰進行解密。

⑥ 數字簽名加密演算法

這個問題 如果不是專業人員估計累死你也找不到這樣的文章。
想自學 就必須要有深刻的技術 另外其中用到很多高數問題的。
那些演算法例子不用去看 越看越亂。
學一些 語言:C JAVA 什麼的 還有 數學一定要過關如果數學不好的話 技術會了語言也沒用 因為其中的演算法你沒法編譯那麼就不是一個好的加密程序。
如果能弄會OK了。

⑦ ssl證書的加密演算法

作用與目的相同都是為了進行加密,更好的保護平台,SSL安全哈希演算法,是數字簽名演算法標准,所以無論您在哪裡注冊無論多少價格的證書,其演算法基本上都是相同的!

申請SSL證書為考慮到瀏覽器兼容性,保持更多的瀏覽器可以訪問,通常採取加密演算法:RSA 2048 bits,簽名演算法:SHA256WithRSA,該演算法被公認使用,就是網路也使用該演算法!

RSA加密演算法:公鑰用於對數據進行加密,私鑰用於對數據進行解密。

RSA簽名演算法:在簽名演算法中,私鑰用於對數據進行簽名,公鑰用於對簽名進行驗證。

加密演算法分為兩大類:1、對稱加密演算法 2、非對稱加密演算法。

由於計算能力的飛速發展,從安全性角度考慮,很多加密原來SHA1WithRSA簽名演算法的基礎上,新增了支持SHA256WithRSA的簽名演算法。該演算法在摘要演算法上比SHA1WithRSA有更強的安全能力。目前SHA1WithRSA的簽名演算法會繼續提供支持,但為了您的應用安全,強烈建議使用SHA256WithRSA的簽名演算法。

⑧ 常用的加密演算法有哪些

對稱密鑰加密

對稱密鑰加密 Symmetric Key Algorithm 又稱為對稱加密、私鑰加密、共享密鑰加密:這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單的相互推算的密鑰,對稱加密的速度一般都很快。

⑨ 網路信息安全古典加密演算法都有哪些

常用密鑰演算法
密鑰演算法用來對敏感數據、摘要、簽名等信息進行加密,常用的密鑰演算法包括:
DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合;
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
RC2和RC4:用變長密鑰對大量數據進行加密,比DES快;
RSA:由RSA公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件快的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的DSS(數字簽名標准);
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高,目前AES標準的一個實現是 Rijndael演算法;
BLOWFISH:它使用變長的密鑰,長度可達448位,運行速度很快;
其它演算法:如ElGamal、Deffie-Hellman、新型橢圓曲線演算法ECC等。

常見加密演算法
des(data
encryption
standard):數據加密標准,速度較快,適用於加密大量數據的場合;
3des(triple
des):是基於des,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
rc2和
rc4:用變長密鑰對大量數據進行加密,比
des
快;
idea(international
data
encryption
algorithm)國際數據加密演算法:使用
128
位密鑰提供非常強的安全性;
rsa:由
rsa
公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
dsa(digital
signature
algorithm):數字簽名演算法,是一種標準的
dss(數字簽名標准);
aes(advanced
encryption
standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高,目前
aes
標準的一個實現是
rijndael
演算法;
blowfish,它使用變長的密鑰,長度可達448位,運行速度很快;
其它演算法,如elgamal、deffie-hellman、新型橢圓曲線演算法ecc等。
比如說,md5,你在一些比較正式而嚴格的網站下的東西一般都會有md5值給出,如安全焦點的軟體工具,每個都有md5。

閱讀全文

與dss加密怎麼算相關的資料

熱點內容
android智能家居藍牙 瀏覽:646
pt螺紋編程 瀏覽:451
手機電音app哪個好 瀏覽:749
checksum命令 瀏覽:637
java創建xml文件 瀏覽:170
算命源碼國際版 瀏覽:283
三菱模塊化編程 瀏覽:718
控制項讀取文件源碼 瀏覽:445
文件夾側面目錄標簽怎麼製作 瀏覽:232
做程序員學什麼 瀏覽:320
pdfeditor教程 瀏覽:880
fortran把文件放入文件夾 瀏覽:709
程序員1年經驗不敢投簡歷 瀏覽:481
如何看電腦的源碼 瀏覽:897
找工作app軟體哪個好 瀏覽:96
信息管理網站源碼 瀏覽:439
小說app哪個好免費 瀏覽:224
域名在線加密 瀏覽:146
軟體編程西安交大 瀏覽:453
是不是串貨的奶粉查不到溯源碼的 瀏覽:825