亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于自適應(yīng)反饋的分組加密工作模式研究

        2021-07-20 00:05:10孫曉峰安永麗
        現(xiàn)代計(jì)算機(jī) 2021年15期

        孫曉峰,安永麗

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

        0 引言

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

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

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

        1 工作模式對比

        1.1 ECB模式介紹

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

        與基礎(chǔ)算法相比,ECB工作模式能夠?qū)⑤斎氲拈L數(shù)據(jù)分割為多組,每組的長度固定為128位,最后不足的位數(shù)則采用規(guī)則進(jìn)行填充使之滿足128位條件。這些固定長度的明文分組彼此之間互不影響,可以被獨(dú)立地加密,程序中按照數(shù)據(jù)的輸入順序依次加密。由于加密前不對分組進(jìn)行其他處理,ECB模式的加密速度最快,也最容易運(yùn)行。

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

        1.2 CBC模式介紹

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

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

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

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

        1.3 HCBC模式改進(jìn)

        在改進(jìn)的新型工作模式HCBC中,不是將反饋寄存器中的每一位都與明文進(jìn)行異或,而是根據(jù)分組數(shù)量的不同自動(dòng)調(diào)整異或的位數(shù),當(dāng)只有一個(gè)分組時(shí)與CBC模式相同,當(dāng)明文有兩個(gè)分組時(shí),每隔1字節(jié)參與反饋,當(dāng)明文分組大于16組后,每組只有1字節(jié)參與反饋。程序中設(shè)置了異或操作中間隔的步長,步長與分組數(shù)量相關(guān),每組中參與反饋的字節(jié)數(shù)與分組數(shù)量的關(guān)系如下。

        計(jì)算結(jié)果向上取整,這樣當(dāng)分組數(shù)量較少時(shí),HCBC模式與CBC模式相似,每個(gè)明文分組中所有的字節(jié)全部參與反饋。當(dāng)分組數(shù)量增加時(shí),HCBC模式中每個(gè)明文分組的反饋?zhàn)止?jié)數(shù)不斷下降。當(dāng)分組數(shù)量較多時(shí),每個(gè)明文分組中只有一個(gè)字節(jié)參與反饋。

        2 實(shí)驗(yàn)測試

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

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

        2.1 ECB模式加解密

        ECB模式與基本AES算法相比只有一點(diǎn)區(qū)別,那就是需要對不足16字節(jié)的分組進(jìn)行填充,填充的數(shù)據(jù)有多種標(biāo)準(zhǔn),在本程序中使用零填充。若明文長度剛好16字節(jié)的整數(shù)倍,為了避免與填充過的明文在解密時(shí)混淆,需要在這樣的明文最后額外補(bǔ)充16字節(jié)的填充數(shù)據(jù)。執(zhí)行加密程序?qū)γ魑倪M(jìn)行加密,得到的密文是35E714C8C353A1FF30E9EB4AAAA739063C2952D8CD89ADECE57D0F9C5CA10C25,ECB模式加密程序運(yùn)行結(jié)果見圖1。

        圖1 ECB模式加密界面

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

        圖2 ECB模式解密界面

        2.2 CBC模式加解密

        用061B986F6609B97A7A9F1CAA988171D4作為初始化向量IV的密文,執(zhí)行CBC模式的程序進(jìn)行加密,計(jì)算得到的密文為7161F4F1BA8D7F9D3BE24A190 B250000E38A5785088541324952E8D478F86868,CBC模式加密程序運(yùn)行結(jié)果見圖3。

        圖3 CBC模式加密界面

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

        圖4 CBC模式解密界面

        2.3 HCBC模式加解密

        使用061B986F6609B97A7A9F1CAA988171D4作為初始化向量IV的密文,執(zhí)行加密程序?qū)γ魑倪M(jìn)行加密,密文為AEA50E86E7CCE2DBB4993FE305D1F7E1 C4569A2ED302FFCAB778EDC7180B7B8E。HCBC模式加密程序運(yùn)行結(jié)果見圖5。

        圖5 HCBC模式加密界面

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

        圖6 HCBC模式解密界面

        3 安全性分析

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

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

        4 性能評估

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

        在時(shí)間效率方面,三種工作模式都能順利的完成加密解密操作,分別用來加解密不同長度字節(jié)的數(shù)據(jù),在同一平臺(tái)相近時(shí)間內(nèi),使用軟件提供的運(yùn)行并計(jì)時(shí)工具統(tǒng)計(jì)運(yùn)行時(shí)間,結(jié)果取十次運(yùn)行平均值,統(tǒng)計(jì)結(jié)果見表1。

        表1 三種工作模式的運(yùn)行效率對比/ms

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

        5 結(jié)語

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

        日本少妇高潮喷水视频| 国产成人精品亚洲日本在线观看| 国产精品一区二区黑丝| 亚洲熟妇无码久久精品| 欧美放荡的少妇| 日本理伦片午夜理伦片| 色婷婷精品| 岛国视频在线无码| 亚洲av一区二区三区网站| 国产精品丝袜美腿诱惑| 国产一区二区三区视频了| 国产精品午夜福利亚洲综合网 | 亚洲区1区3区4区中文字幕码| 在线一区二区三区视频观看| 青青草免费在线视频导航| av天堂中文亚洲官网| 自拍偷自拍亚洲一区二区| 一本久久伊人热热精品中文字幕| 全免费a级毛片| 亚洲国产成a人v在线观看| 夫妻一起自拍内射小视频| 妇女自拍偷自拍亚洲精品| 免费毛片在线视频| 无码一区二区三区免费视频| 偷偷色噜狠狠狠狠的777米奇| 国产精品亚洲一区二区在线观看| 毛茸茸性xxxx毛茸茸毛茸茸| 无码精品人妻一区二区三区98| 日本超骚少妇熟妇视频| 精品香蕉99久久久久网站| 无码粉嫩虎白一线天在线观看 | 亚洲va成无码人在线观看| 亚洲一区视频中文字幕| 一二三四五区av蜜桃| 国产亚洲av无码专区a∨麻豆| 免费jjzz在线播放国产| 在线亚洲国产一区二区三区| av无码精品一区二区三区| 特级av毛片免费观看| 一个人免费观看在线视频播放| 少妇高潮呻吟求饶视频网站|