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

時間 2021-08-30 09:11:24

1樓:

1、3des演算法

3des(即triple des)是des向aes過渡的加密演算法(2023年,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樓:e拍

主要有des演算法,3des演算法,tdea演算法,blowfish演算法,rc5演算法,idea演算法。

對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。優點在於加解密的高速度和使用長金鑰時的難破解性,缺點是交易雙方都使用同樣鑰匙,安全性得不到保證。

對稱演算法的安全性依賴於金鑰,洩漏金鑰就意味著任何人都可以對他們傳送或接收的訊息解密,所以金鑰的保密性對通訊的安全性至關重要。

擴充套件資料

常見的加密演算法

des演算法是密碼體制中的對稱密碼體制,把64位的明文輸入塊變為64位的密文輸出塊,它所使用的金鑰也是64位。

3des是基於des的對稱演算法,對一塊資料用三個不同的金鑰進行三次加密,強度更高。

rc2和rc4是對稱演算法,用變長金鑰對大量資料進行加密,比des快。

idea演算法是在des演算法的基礎上發展出來的,是作為迭代的分組密碼實現的,使用128位的金鑰和8個迴圈。

rsa是由rsa公司發明,是乙個支援變長金鑰的公共金鑰演算法,需要加密的檔案塊的長度也是可變的,非對稱演算法。

dsa,即數字簽名演算法,是一種標準的 dss(數字簽名標準),嚴格來說不算加密演算法。

aes是高階加密標準對稱演算法,是下一代的加密演算法標準,速度快,安全級別高,在21世紀aes 標準的乙個實現是 rijndael演算法。

blowfish演算法是乙個64位分組及可變金鑰長度的對稱金鑰分組密碼演算法,可用來加密64位元長度的字串。

3樓:匿名使用者

基於「對稱金鑰」的加密演算法主要有des、tripledes、rc2、rc4、rc5和blowfish等。

對稱金鑰:des、tripledes演算法

des演算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的金鑰也是64位。首先,des把輸入的64位資料塊按位重新組合,並把輸出分為l0、r0兩部分,每部分各長32位,並進行前後置換,最終由l0輸出左32位,r0輸出右32位,根據這個法則經過16次迭代運算後,得到l16、r16,將此作為輸入,進行與初始置換相反的逆置換,即得到密文輸出。

des演算法具有極高的安全性,到目前為止,除了用窮舉搜尋法對des演算法進行攻擊外,還沒有發現更有效的辦法,而56位長金鑰的窮舉空間為256,這意味著如果一台計算機的速度是每秒種檢測100萬個金鑰,那麼它搜尋完全部金鑰就需要將近2023年的時間,因此des演算法是一種很可靠的加密方法。

對稱金鑰:rc演算法

rc4演算法的原理是「攪亂」,它包括初始化演算法和偽隨機子密碼生成演算法兩大部分,在初始化的過程中,金鑰的主要功能是將乙個256位元組的初始數簇進行隨機攪亂,不同的數簇在經過偽隨機子密碼生成演算法的處理後可以得到不同的子金鑰序列,將得到的子金鑰序列和明文進行異或運算(xor)後,得到密文。

由於rc4演算法加密採用的是異或方式,所以,一旦子金鑰序列出現了重複,密文就有可能被破解,但是目前還沒有發現金鑰長度達到128位的rc4有重複的可能性,所以,rc4也是目前最安全的加密演算法之一。

常用的對稱加密演算法有哪些?

4樓:

對稱加密演算法用來對敏感資料等資訊進行加密,常用的演算法包括:

des(data encryption standard):資料加密標準,速度較快,適用於加密大量資料的場合。

3des(triple des):是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高。

對稱加密演算法:

對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文(原始資料)和加密金鑰(mi yue)一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。

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

5樓:仍有一次

對稱加密演算法用來對敏感資料等資訊進行加密,常用的演算法包括:

des(data encryption standard):資料加密標準,速度較快,適用於加密大量資料的場合。

3des(triple des):是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高。

aes(advanced encryption standard):高階加密標準,是下一代的加密演算法標準,速度快,安全級別高。

6樓:

一。摘要演算法

1》md5演算法(message digest algorithm 5) 可以保證資料傳輸完整性和一致性 摘要後長度為16位元組 摘要資訊中不包含原文資訊

所有加密結果不可逆(無法解密) 一般在傳送檔案時 對原始檔進行md5 hash 傳送到對方後 檢測hash值是否相等 如果相等檔案傳輸正確

如果不相等 說明檔案被篡改(加入木馬)或者未傳送完成

其他md演算法 md2(16位元組)

public static void main(string args) throws nosuchalgorithmexception {

messagedigest md=messagedigest.getinstance("md5") ;

string code="hello";

byte bt=md.digest(code.getbytes());

system.out.println(bt.length);

7樓:

1、常用金鑰演算法

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

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等。

2、單向雜湊演算法

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

md5(message digest algorithm5):是rsa資料安全公司開發的一種單向雜湊演算法,md5被廣泛使用,可以用來把不同長度的資料塊進行暗碼運算成乙個128位的數值;

sha(secure hash algorithm):這是一種較新的雜湊演算法,可以對任意長度的資料運算生成乙個160位的數值;

mac(message authentication code):訊息認證**,是一種使用金鑰的單向函式,可以用它們在系統上或使用者之間認證檔案或訊息。hmac(用於訊息認證的金鑰雜湊法)就是這種函式的乙個例子;

crc(cyclic redundancy check):迴圈冗餘校驗碼,crc校驗由於實現簡單,檢錯能力強,被廣泛使用在各種資料校驗應用中。占用系統資源少,用軟硬體均能實現,是進行資料傳輸差錯檢測地一種很好的手段(crc並不是嚴格意義上的雜湊演算法,但它的作用與雜湊演算法大致相同,所以歸於此類)。

常用的加密演算法有哪些,常用的對稱加密演算法有哪些?

仍有一次 對稱加密演算法用來對敏感資料等資訊進行加密,常用的演算法包括 des data encryption standard 資料加密標準,速度較快,適用於加密大量資料的場合。3des triple des 是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高。aes advanced...

常用的加密演算法有哪些,常用的對稱加密演算法有哪些?

失戀海洋 對稱加密演算法 祕金鑰匙加密 和非對稱加密演算法 公開金鑰加密 對稱加密演算法用來對敏感資料等資訊進行加密,常用的演算法包括 des data encryption standard 資料加密標準,速度較快,適用於加密大量資料的場合。3des triple des 是基於des,對一塊資料...

大家都知道的加密演算法有什麼意義,常用的加密演算法有哪些

摩斯密碼其實不是密碼,是把字母和符號轉化為二進位制符號,點,劃,通過電訊號的通斷傳播出去。只有這樣才能通過發報機把複雜的資訊傳播出去。我們目前使用的電腦,電視,手機等電子裝置的底層設計採用的仍是它的變形。加密演算法有一定的規則性,加密原則很多人都知道,但關鍵在於你要知道密匙才能直接解開。最簡單的編碼...