999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于自適應反饋的分組加密工作模式研究

2021-07-20 00:05:10孫曉峰安永麗
現代計算機 2021年15期

孫曉峰,安永麗

(華北理工大學人工智能學院,唐山063010)

0 引言

隨著社會的發展,信息傳遞的效率與日俱增,三千多年前商周時期的烽火臺就可以看作是敵情“有”和“無”兩種狀態的信息傳遞工具。19世紀以電磁波為載體的電話電報等技術蓬勃發展起來,世界逐步進入了信息時代。人類能夠直接閱讀并理解的信息被稱作明文,這些明文通過計算機進行傳輸的過程中可能遭到竊聽、破壞和偽造。有必要通過技術手段保證信息傳輸的安全性,最有效的方法便是采用加密技術,將明文加密為密文,并保證只有信息的接收方才能將密文正確地解讀,從而避免數據被非法竊取、替換或使用[1]。

分組加密又稱為塊加密,明文在處理前按照固定的二進制位進行分組,通常可以并行處理。分組的長度過短則算法安全性不足,分組長度過長則算法的運行效率和存儲效率下降。分組密碼可應用于諸多領域,但加解密之前必須將待處理數據進行分組和填充,如何處理長度過短或過長的原始數據就需要考慮分組密碼的工作模式[2]。完整的工作模式除基本密碼外,還包括一些反饋和簡單運算,不會損害基本密碼算法的安全性[3]。

雖然工作模式不會損害算法的安全性,但是模式的效率不應該明顯的低于基礎的密碼。ECB模式的特點是中每個明文組獨立地以同一密鑰加密,與之對比CBC模式的每個明文組的每一位輸入還依賴于前一分組。ECB模式雖然實現簡單,但由于不具備反饋機制,相同的明文會被加密為相同的密文,存在安全隱患。CBC模式每一分組的每一位都依賴于前一加密分組的反饋,效率有所下降。需要一種工作模式對兩者進行綜合,揚長避短。

1 工作模式對比

1.1 ECB模式介紹

電子密碼本(ECB)模式是最簡單的分組工作模式,明文消息的分組長度固定,相同的明文分組永遠被加密成相同的密文分組。每個分組獨立加密解密,比較容易實現并行計算。但是ECB模式在加密長數據時由于無法隱蔽明文的信息特征,存在被攻擊者利用的安全隱患,更適合加密長度相對較短的數據。

與基礎算法相比,ECB工作模式能夠將輸入的長數據分割為多組,每組的長度固定為128位,最后不足的位數則采用規則進行填充使之滿足128位條件。這些固定長度的明文分組彼此之間互不影響,可以被獨立地加密,程序中按照數據的輸入順序依次加密。由于加密前不對分組進行其他處理,ECB模式的加密速度最快,也最容易運行。

加密采用遞歸方式進行,若分組長度小于等于16個字節,則填充到16個字節后直接進行加密,否則將前16個字節和剩余字節分別調用加密函數。輸入的第17個字節在遞歸調用的函數中成為了第1個字節,最終分組長度小于等于16字節,將本組加密得到的密文合并到最終結果后退出遞歸調用,解密函數同理。若分組不足16字節,需要按照一定規則填充至16字節,程序中采用的填充規則是零填充,即添加一串二進制0。

1.2 CBC模式介紹

密碼分組鏈接(CBC)模式是一種常用的工作模式,每一個分組的明文與前一個分組密文進行異或操作后再進行加密。對于加密的第一個分組,需要一個無需保密且數據無意義的初始化向量IV,將IV作為第一個分組之前的分組參與加密。這樣即使明文完全相同,應用不同的初始化向量后被加密成的密文信息也會有所不同,具有更高的安全性。

CBC模式最大的變化就是引入了反饋機制,因此需要保存上一組加密后的密文,對于第一組明文來說則需要提供與分組長度相同的128位初始化向量IV。IV的取值沒有要求,一般使用時間標記或一些隨機位串,程序中為便于加解密中使用,采用一串固定密文作為IV的密文。

有了初始化向量后,第一組數據在加密前需要與IV的密文進行按位異或,得到的結果作為明文進行加密,將加密結果保存至反饋寄存器。第二組明文在加密前與反饋寄存器中的第一組密文進行按位異或,得到的結果作為第二組明文進行加密,重復上述步驟直到加密完成整個輸入分組。在解密時,除密鑰外還需要提供初始化向量IV,第一組密文直接解密后與IV按位異或,恢復為原始明文,將第一組密文保存至反饋寄存器。第二組密文直接解密后與保存在反饋寄存器里的第一組密文按位異或,恢復為第二組明文,同時將第二組密文保存至反饋寄存器,反復操作直到解密完成。

CBC模式讓相同的明文分組可以被加密成不同的密文,提高了算法的安全性。但是每一組加密都依賴于上一組加密的密文,若在其中一組的加密過程中發生了錯誤,不僅這一組的密文出錯,該組后續所有分組的加密都將出錯,即存在錯誤擴散現象。分組之間的強關聯也使得CBC模式的加密和解密都必須按順序進行,無法進行并行處理,對加密效率有一定影響。

1.3 HCBC模式改進

在改進的新型工作模式HCBC中,不是將反饋寄存器中的每一位都與明文進行異或,而是根據分組數量的不同自動調整異或的位數,當只有一個分組時與CBC模式相同,當明文有兩個分組時,每隔1字節參與反饋,當明文分組大于16組后,每組只有1字節參與反饋。程序中設置了異或操作中間隔的步長,步長與分組數量相關,每組中參與反饋的字節數與分組數量的關系如下。

計算結果向上取整,這樣當分組數量較少時,HCBC模式與CBC模式相似,每個明文分組中所有的字節全部參與反饋。當分組數量增加時,HCBC模式中每個明文分組的反饋字節數不斷下降。當分組數量較多時,每個明文分組中只有一個字節參與反饋。

2 實驗測試

AES加密算法應用廣泛,其安全性及高效性是其他算法不可比擬的,并且在不同硬件和軟件運行環境下都有較好的性能[4]。為了進一步提高算法的效率,針對AES算法本身的效率優化方案較多[5-8],本文則以AES算法為例,對分組加密的工作模式進行改進。在軟件中編寫代碼實現基本AES加密,并針對ECB模式、CBC模式和改進的HCBC模式編寫對應工作模式的函數。

設待加密的明文字符串為HuabeiLigongDaxue,共計17個字節。使用1234567作為輸入的初始密鑰,在加密算法中自動擴展為128位二進制位。測試編寫的ECB模式、CBC模式和HCBC模式能否正常完成數據的加解密操作。加密程序接收三個參數,分別為初始輸入的明文、初始輸入的密鑰和加密使用的工作模式名,初始輸入的字符在加密函數中被轉換為十進制進行存儲和計算。

2.1 ECB模式加解密

ECB模式與基本AES算法相比只有一點區別,那就是需要對不足16字節的分組進行填充,填充的數據有多種標準,在本程序中使用零填充。若明文長度剛好16字節的整數倍,為了避免與填充過的明文在解密時混淆,需要在這樣的明文最后額外補充16字節的填充數據。執行加密程序對明文進行加密,得到的密文是35E714C8C353A1FF30E9EB4AAAA739063C2952D8CD89ADECE57D0F9C5CA10C25,ECB模式加密程序運行結果見圖1。

圖1 ECB模式加密界面

在加密和解密過程中,加密方使用加密函數和加密密鑰對明文進行加密,解密方需要使用相同的加密函數和加密密鑰才能正確地還原明文[9]。解密中需要判斷最后的16字節是否由明文加密所得,若不是則需要摒棄該分組。利用加密前計算的總分組數目,可以區分最后的16字節是否需要摒棄。解密程序同樣接收三個參數,分別為十六進制表示的密文、初始輸入的密鑰和解密使用的工作模式名,若解密工作模式與加密工作模式不匹配,則解密可能報錯或得到無意義的亂碼。將密文、初始密鑰和對應的工作模式輸入解密程序中,以ECB模式解密后得到的明文為HuabeiLigongDaxue,與輸入的明文一致,算法可正常進行ECB工作模式的加解密操作。ECB模式解密程序運行結果見圖2。

圖2 ECB模式解密界面

2.2 CBC模式加解密

用061B986F6609B97A7A9F1CAA988171D4作為初始化向量IV的密文,執行CBC模式的程序進行加密,計算得到的密文為7161F4F1BA8D7F9D3BE24A190 B250000E38A5785088541324952E8D478F86868,CBC模式加密程序運行結果見圖3。

圖3 CBC模式加密界面

將密文、初始密鑰和IV輸入解密程序中。CBC模式解密程序結果見圖4。

圖4 CBC模式解密界面

2.3 HCBC模式加解密

使用061B986F6609B97A7A9F1CAA988171D4作為初始化向量IV的密文,執行加密程序對明文進行加密,密文為AEA50E86E7CCE2DBB4993FE305D1F7E1 C4569A2ED302FFCAB778EDC7180B7B8E。HCBC模式加密程序運行結果見圖5。

圖5 HCBC模式加密界面

將密文、初始密鑰和相同的初始化向量IV輸入解密程序中,得到的明文為HuabeiLigongDaxue,與輸入的明文一致。HCBC模式解密程序運行結果見圖6。

圖6 HCBC模式解密界面

3 安全性分析

HCBC模式改進了ECB模式中完全不包含反饋操作的缺陷,相鄰分組之間的加密結果會互相影響。分組數量在兩個以上時,不會像CBC模式那樣分組中的每個字節均參與反饋,因此HCBC模式的安全性介于ECB模式與CBC模式之間。

雖然理論上分組密碼的工作模式不會降低基礎加密算法的安全性,但理論和實際存在差距,導致這種差異的原因有三,一是對工作模式的錯誤應用破壞了可證明安全性的前提,二是應用超出了安全結論的適用范圍,三是論證的安全模型與實際情況存在差異[10]。

4 性能評估

在空間占用方面,ECB模式下始終將明文填充到分組長度,不存在反饋操作,因此無需寄存器保存上一組的密文,需要的額外存儲空間最少。CBC模式需要保存上一組加密的密文用于本組的反饋操作,至少需要一個128位寄存器。HCBC模式在最壞情況下需要對分組中全部16個字節的密文進行存儲以用于反饋,為了保障算法穩定運行,HCBC模式也至少需要一個128位寄存器。

在時間效率方面,三種工作模式都能順利的完成加密解密操作,分別用來加解密不同長度字節的數據,在同一平臺相近時間內,使用軟件提供的運行并計時工具統計運行時間,結果取十次運行平均值,統計結果見表1。

表1 三種工作模式的運行效率對比/ms

在明文長度較少,分組數量僅有1組時,ECB模式加密速度最快,但三種工作模式的加密速度總體差異并不明顯,解密速度比加密速度略慢。當明文長度中等,分組數量由4組增加到15組時,HCBC模式的加密速度介于ECB模式和CBC模式之間,每種工作模式的解密速度慢于加密速度。當明文長度繼續增加到超過16組之后,HCBC模式的加密速度介于ECB模式和CBC模式之間且與ECB模式接近,三種工作模式的解密速度都明顯慢于加密速度。

5 結語

本文通過介紹分組加密的ECB工作模式和CBC工作模式,綜合ECB模式操作簡便和CBC模式具備反饋的特點,提出一種根據分組數量不同自動調整每組中反饋字節數的新型工作模式HCBC。運行測試結果表明,在數據較少時,不同工作模式的速度差異不明顯。當數據較多時,HCBC模式在保證每組至少有1字節參與反饋的條件下,加密速度與ECB模式接近,能夠綜合ECB模式效率高與CBC模式安全性高的優勢。

主站蜘蛛池模板: 视频二区中文无码| 国产又大又粗又猛又爽的视频| 毛片基地美国正在播放亚洲 | 国产第八页| 99re在线免费视频| 国产乱视频网站| 国产乱人伦AV在线A| 高清不卡一区二区三区香蕉| 中文字幕在线日本| 香蕉国产精品视频| 视频二区欧美| 国产波多野结衣中文在线播放| 成人字幕网视频在线观看| 在线观看欧美国产| 国产91丝袜在线播放动漫 | 国产白浆一区二区三区视频在线| 高潮爽到爆的喷水女主播视频| AV片亚洲国产男人的天堂| 永久天堂网Av| 色综合a怡红院怡红院首页| 福利小视频在线播放| 99性视频| 一区二区欧美日韩高清免费| 精品国产一区91在线| 国产精品手机视频一区二区| 久久精品视频亚洲| 91精品国产无线乱码在线| 午夜无码一区二区三区| 久久黄色小视频| 中文字幕自拍偷拍| 国产白浆视频| 国产精品自在在线午夜区app| 亚洲不卡网| 99热这里只有精品5| 无码高潮喷水在线观看| 99久久性生片| 国产麻豆永久视频| 国产人碰人摸人爱免费视频| 久久96热在精品国产高清| 日本一区二区三区精品国产| yjizz视频最新网站在线| 多人乱p欧美在线观看| 九色在线观看视频| 狠狠做深爱婷婷久久一区| 日韩精品亚洲一区中文字幕| 国产三级成人| 波多野结衣视频网站| 国产在线自揄拍揄视频网站| 免费AV在线播放观看18禁强制| 免费高清a毛片| 日韩精品免费一线在线观看| 中文字幕第4页| 国产一区二区三区在线观看视频| 欧美一区二区三区欧美日韩亚洲 | 就去色综合| 综合天天色| 免费毛片全部不收费的| 国产白浆视频| 久久99热这里只有精品免费看| 91青青草视频| 亚洲国产精品日韩欧美一区| 国产无码网站在线观看| 精品1区2区3区| 97一区二区在线播放| 亚洲欧洲日产无码AV| 2021国产在线视频| 亚洲第一极品精品无码| 国产免费精彩视频| 亚洲国产日韩欧美在线| 人妻丰满熟妇AV无码区| 中文字幕在线观| 国产精品19p| 在线视频亚洲色图| 成人精品视频一区二区在线| 亚洲成人免费在线| 国产精品永久不卡免费视频| 2019国产在线| 女人18毛片水真多国产| 国产美女免费| 玩两个丰满老熟女久久网| 亚洲中文字幕在线精品一区| 中文字幕第4页|