偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于ARM的3DES加密算法實(shí)現(xiàn)(1)

安全 數(shù)據(jù)安全 算法
現(xiàn)代密碼學(xué)根據(jù)密鑰類型的不同將加密算法分為對稱加密算法和公開密鑰加密算法。3DES算法作為對稱加密算法的一種,被實(shí)踐證明是一種安全性非常高的加密算法,受到了廣泛的應(yīng)用。下面本文就來為大家進(jìn)行詳細(xì)的介紹。

加密算法主要通過軟件和硬件兩種方式來實(shí)現(xiàn),軟件的實(shí)現(xiàn)方式具有靈活方便的優(yōu)點(diǎn),同時也具有加密速度受限制的缺點(diǎn)。采用硬件實(shí)現(xiàn)加密算法是實(shí)際應(yīng)用中必須要考慮到的問題。目前經(jīng)常采用硬件FPGA等來實(shí)現(xiàn),該種實(shí)驗(yàn)方式具有處理速度快的特點(diǎn),但是對系統(tǒng)的復(fù)雜度要求較高。

嵌入式微處理器具有實(shí)現(xiàn)簡單,系統(tǒng)集成度高,體積小,易于移植等眾多優(yōu)點(diǎn),因此有必要研發(fā)基于嵌入式微處理器的加密算法硬件設(shè)備,在此提出一種基于ARM處理器的3DES的硬件實(shí)現(xiàn)方法。

3DES算法原理

DES是美國國家標(biāo)準(zhǔn)局頒布的數(shù)據(jù)加密算法,作為世界范圍內(nèi)的公開加密標(biāo)準(zhǔn)已經(jīng)使用了20多年。隨著計算機(jī)處理速度的提高,DES算法面臨著一些安全威脅,DES采用56位密鑰,曾經(jīng)有人用窮舉搜索法對DES進(jìn)行過密鑰搜索攻擊。

近年來也有人提出了差分和線性攻擊方案,該方案的實(shí)施必須有超高速計算機(jī)的支持。為了增強(qiáng)DES算法應(yīng)對差分或線性攻擊的可能性,人們提出了一系列改進(jìn)方案,采用增加密鑰長度是一種可行的途徑。

為了增加密鑰的長度,可將分組密碼進(jìn)行級聯(lián),在不同的密鑰作用下,連續(xù)多次對一組明文進(jìn)行加密。其中,最有效的方法是使用三重DES加密,它可使加密密鑰長度擴(kuò)展到128位,在提高加密強(qiáng)度的同時,足以應(yīng)付目前的各種攻擊。

DES是一個分組加密算法,它以64位為分組對數(shù)據(jù)加密。64位的分組明文序列作為加密算法的輸入,經(jīng)過16輪加密得到64位的密文序列。加密的密鑰為64位,實(shí)際長度為56位,DES算法的保密性取決于密鑰。DES對64位的明文分組進(jìn)行操作。

首先通過一個初始置換IP,將64位的明文分成各32位長的左半部分和右半部分,該初始置換只在16輪加密過程進(jìn)行之前進(jìn)行一次。在經(jīng)過初始置換操作后,對得到的64位序列進(jìn)行16輪加密運(yùn)算,這些運(yùn)算被稱為函數(shù)f,在運(yùn)算過程中,輸入數(shù)據(jù)與密鑰結(jié)合。經(jīng)過16輪運(yùn)算后,左、右兩部分合在一起得到一個64位的輸出序列,該序列再經(jīng)過一個末尾置換IP-1,獲得最終的加密結(jié)果。過程如圖1所示。

[[33999]]

在每一輪加密過程中,函數(shù)廠的運(yùn)算包括以下四個部分:

首先進(jìn)行密鑰序列移位,從移位后的56位密鑰序列中選出48位;

然后通過一個擴(kuò)展置換將輸入序列32位的右半部分?jǐn)U展成48位,再與48位的輪密鑰進(jìn)行異或運(yùn)算;

再者通過8個s盒將異或運(yùn)算后獲得的48位序列替代成一個32位序列;

最后對32位序列應(yīng)用置換P進(jìn)行置換變換,得到-廠的32位輸出序列。將函數(shù)廠的輸出與輸入序列的左半部分進(jìn)行異或運(yùn)算后的結(jié)果作為新一輪加密過程輸入序列的右半部分,當(dāng)前輸入序列的右半部分作為新一輪加密過程輸入序列的左半部分。

上述過程重復(fù)操作16次,便實(shí)現(xiàn)了DES的16輪加密運(yùn)算。

假設(shè)Bi是第i輪計算的結(jié)果,則Bi為一個64位的序列,Li和Ri分別是Bi的左半部分和右半部分,Ki是第i輪的48位密鑰,且f是實(shí)現(xiàn)代換、置換及密鑰異或等運(yùn)算的函數(shù),那么每一輪加密的具體過程為:

[[34000]]

以上操作的詳細(xì)過程如圖2所示。

[[34001]]

在3DES加密算法中,加密過程用兩個不同的密鑰K1和K2對一個分組消息進(jìn)行三次DES加密。首先使用第一個密鑰進(jìn)行DES加密,然后使用第二個密鑰對第一次的結(jié)果進(jìn)行DES解密,最后使用第一個密鑰對第二次的結(jié)果進(jìn)行DES加密。

[[34002]]

解密過程首先使用第一個密鑰進(jìn)行DES解密,然后使用第二個密鑰對第一次的結(jié)果進(jìn)行DES加密,最后再使用第一個密鑰對第二次的結(jié)果進(jìn)行DES解密。

[[34003]]

DES算法的密鑰長度是56位,三重DES算法的密鑰長度是112位,加密強(qiáng)度顯著增強(qiáng),可以很好地應(yīng)付各種攻擊,目前尚沒有可行的攻擊方法,應(yīng)用3DES的加密系統(tǒng)具有很大的實(shí)用價值。更多參考內(nèi)容請讀者閱讀:基于ARM的硬件實(shí)現(xiàn)

【編輯推薦】

  1. 詳細(xì)解析數(shù)據(jù)加密
  2. 生成和交換預(yù)共享密鑰
  3. PKI基礎(chǔ)內(nèi)容介紹(1)
  4. 破解你的密碼需要多長時間?
  5. 信息安全的核心之密碼技術(shù) 上
  6. 揭露維基解密竊取機(jī)密信息新手段
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-22 11:04:25

加密ARM3DES

2019-08-02 10:43:57

2010-09-08 16:01:33

加密算法協(xié)議

2023-07-30 17:44:24

CryptoJS加密字符串

2015-05-11 10:40:08

加密數(shù)字圖像加密加密算法

2020-05-08 11:13:28

Python數(shù)據(jù)技術(shù)

2009-08-13 18:12:11

C#數(shù)據(jù)加密

2023-10-16 19:05:20

2009-08-04 11:08:33

ASP.NET數(shù)據(jù)加密

2012-09-13 09:58:38

2020-12-16 05:46:58

算法加密算法MD5

2021-11-22 23:20:01

加密算法架構(gòu)

2023-08-02 07:27:53

2014-09-23 09:08:41

2010-09-09 10:06:56

Zigbee協(xié)議棧加密算法

2024-12-31 08:00:00

SpringBoot開發(fā)加密

2009-08-21 15:02:31

C#加密算法

2011-08-18 12:12:29

2011-10-24 14:16:13

XML加密算法XML加密

2020-05-09 14:20:11

信息安全加密
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號