<strike id="br1bn"></strike>
<strike id="br1bn"><ruby id="br1bn"></ruby></strike>
<span id="br1bn"><ruby id="br1bn"></ruby></span>
<span id="br1bn"></span>
新聞中心

NEWS

首頁 - 新聞中心 -

前沿技術|保留格式加密的雙擾工作模式

發布時間: 2022-10-30 09:13

引言

為防止一些敏感信息被人偷窺,信息加密是一種較好的應對措施。但有些情形并不需要對大量明文進行加密,比如,有一些表格,每張表格上只有手機號、身份證號和電子郵箱地址等較為敏感,其它內容無需加密。如果將這些數字串或字符串用AES或者SM4等分組密碼算法加密,需要按128比特(16字節)數據組作分組處理,產生的密文是16個字節,有些字節是不方便打印的。如果將16字節密文轉換成為十進制數字,一般會變為一個39位數,不僅表格內寫不下,操作起來也不方便。為解決這類問題,一些保留格式加密(Format Preserving Encryption,FPE)算法方案被提出并開始走向應用。2011年美國NIST曾經推薦將源自FFX方案[2]的保留格式加密算法FF1FF3確立為AES標準工作模式。

保留格式加密算法能夠將N個數字加密成N個數字,將一串字母加密成同樣長度的一串字母,即加密后它能使密文保持明文的長度和數據類型。近年來出現了很多種保留格式算法方案,但是多數方案都難以被推廣應用。困擾這些方案的核心問題是實用性和安全性。如果不允許明文組(和密文組)空間較小則不實用。如果允許明文組(和密文組)空間很小,可能會有安全隱患。為此,我們提出一種專門的保留格式算法工作模式,較好地規避因明密文空間較小可能引發的安全問題。期望它也許能夠為一些存在安全隱患的保留格式加密方案裝上一層防護盔甲。

另外,近幾年出現了一些以功率消耗少、內存占用少為特點的輕量級分組密碼算法。有些輕量級分組密碼算法的分組長度只有32比特,在較長的密文數據段中容易存在密文組重復。如果是ECB(電子密本)模式加密,密文組重復意味著出現了明文組重復。這意味著分組較小時報文明文格式特征易于外露。本文給出的雙擾工作模式能夠彌補分組密碼算法因明文組(密文組)空間較小引發的某些安全缺陷。

 

1. 保留格式算法的一種雙擾工作模式

絕大多數保留格式加密算法都屬于分組密碼算法。說起分組密碼的工作模式,默認的模式自然是ECB??墒?,像DES、AES等密碼算法還可以有OFB(輸出反饋)、CFB(密文反饋)、CTR(計數器)等工作模式。當AES(或DES)算法以OFB、CFBCTR模式工作時,通常被稱為分組密碼算法以序列方式工作,本質上這已經是序列密碼,不再擁有分組密碼的代替作業特征。對于一般的保留格式加密算法,默認的工作模式也是ECB,即一組碼符被替換成另一組碼符,解密時把它替換回來。如果要對長段碼符的多個分組進行保留格式加密,除了ECB模式,能否采用類似OFB、CFBCTR等序列模式呢?因為保留格式加密很可能要面對明密文空間較小的情形,以序列密碼方式工作時會因為亂數序列周期較小而被破譯。

正是由于保留格式加密方案允許明密文空間較小,當攻擊者獲得了很多個明密對以后,有可能因為密文組碰撞導致更多報文的明文泄露,甚至成就攻擊者有條件嘗試一些針對密鑰的已知明文攻擊。為此,我們提出一種“雙擾工作模式”。其基本思想是對明文組和密文組加擾。明文組(密文組)由若干個碼構成,每個碼可看作是一個m進制數,加擾是碼與碼對應相加,約定其為按位模m加(碼間沒有進位),用符號“◎”表示。其逆變換為按位模m,用符號“Θ”表示。例如,字符集大小m=10,每組碼數N=4,分組碼05677538的模10加為05677578=7035,05677538的模10減為0567Θ7578=3099。

設明文字符集大小為m,分組長度為N個碼符。用FPEnc(P,K)表示用密鑰K對明文組PECB模式保留格式加密。如果使用IV(初始向量)IV與明文組類型不同,則需要按某規則將IV轉化為Nm進制數,使IV與明文組同類型。若不使用IV,則默認IV=0。雙擾工作模式的加密方法如下:

1)    N個碼為一組,將明文段分為t個組P1,P2,P3,……,Pt。

2)    用密鑰KIV加密(如果不使用IV則將“0” 加密),得S0=FPEnc(IV,K),稱S0為秘密IV。計算S1=FPEnc(0S0,K)=FPEnc(S0,K)。對i=2,3,……t,計算Si=FPEnc((Si-1Si-2),K)。得到擾序列S0、S1、S2、……St。

3)    加密各個明文組。對i=1,2,3,……t,做如下三小步:

A.    將明文組Pi與擾碼Si-1按位模m(明文加擾),得P=PiSi-1。

B.    P加密,即得到C=FPEnc(P,K)。

C.    CSi按位模m(密文加擾),即

Ci=CSi。Ci為第i個密文組。

參見圖1。

1  雙擾工作模式分組加密流程示意圖

雙擾工作模式的解密方法與加解方法相似,需要加解密雙方約定是否使用IV。解密時步驟3)中的加密運算相應地變為解密運算,按位模m加相應地變為按位模m,參見圖2。即步驟3)相應地變為對i=1,2,3,……t,做:

A.    將密文組Ci與擾碼Si按位模m(密文解擾),得C=CiΘSi。

B.    C解密,即計算P=FPDec(C,K)。

C.    PSi-1按位模m(明文解擾),即解得明文組Pi=PΘSi-1。

 

2  雙擾工作模式解密流程示意圖

上述三小步可用式子描述為:

Pi=FPDec((CiΘSi),K)ΘSi-1。

IV的作用在于產生擾碼序列初值S0。對攻擊者來說,IV是可見的,但S0是不可預測的。不同的IV產生不同的S0,導致產生不同的擾碼序列。

 

2. 對雙擾工作模式的性能分析

海泰方圓設計的保留格式加密算法的雙擾工作模式實際是將ECB模式與序列加密模式相互混合,可以直觀地理解為每個數據組的加密過程分為三步:第一步,用一組擾碼對輸入的明文組實施加擾。第二步,對加了擾的明文組作多輪迭代式分組加密。第三步,用另一組擾碼對分組加密后的輸出密文進行加擾。對于實用的現代分組密碼算法,唯密文攻擊幾乎沒有成功希望,所以,較為現實的攻擊方向當屬已知明文攻擊和選擇明文(密文)攻擊。為了能夠形成攻擊所需要的數據條件,攻擊者必須設法搜索和猜設一定數量的明密對。

在通常的ECBCBC(密文分組鏈接)工作模式情形,當攻擊者截獲了某用戶的長段密文后,通過研究密文產生場景、收集與該用戶相關的相近長度明文數據、關注密文解譯方公開流露出的等長明文段落等,將某些明文段與密文段形成明密對應,進而猜設到一些明密對。甚至有可能找到密文組重復,暴露明文結構特征,為猜設明文提供重要佐證。之后,可以開展一些已知明文攻擊或選擇明文攻擊類研究課題。當明文組空間較小時,如果密文數據量較大,這類攻擊有可能產生實質效果。

CBC工作模式情形,假設用戶加密明文段P=p0,p1,p2,,pn)產生了密文C=c0,c1,c2,,cn),而且用戶在不變更密鑰情況下又加密明文段Q=q0,q1, q2,,qm)產生了密文D=(d0,d1,d2,,dm)。如果攻擊者在CD這兩份密文之間找到了相同的密文組,比如有ci=dk,1in,1km。那么,依據分組迭代時相同的密文輸出必定有相同的明文輸入,攻擊者可以推出ci-1pi=dk-1qk,得到ci-1dk-1= piqk,這里“⊕”表示數據組異或,“⊙”表示邏輯同。進而有piqk=ci-1dk-1。由于ci-1dk-1在密文中可見,ci-1dk-1是已知的。因此,通過找到和研究相同密文組,攻擊者可以發現兩明文組間的差值,這將有助于猜設明文。同理,若在一份較長密文內找到了相同密文組,比如有ci=ck,可以獲知明文組pipk間的差值。所以,若能在密文數據中找到相同的密文組,CBC模式是有安全缺陷的,而雙擾工作模式不存在此類安全隱患。

CTROFB模式情況,如果用戶不慎重復使用了IV,會導致信息泄露。而在雙擾工作模式情形,重用IV意味著分組序號相同的兩個數據組,加在明文上的擾碼相同、加在密文上的擾碼也相同,具體擾碼是什么不可預測。其攻擊難度大于ECB模式只有兩個明密對時,求取密鑰或者預測其它明密對。即使同一個IV重復使用 n次,雙擾工作模式的安全強度也會優于已知n個明密對情形的已知明文攻擊。

雙擾工作模式的中心思想是通過多次加密IV產生秘密擾碼序列,擾亂分組迭代的輸入和輸出。如果用戶采用了本文給出的雙擾工作模式,即使攻擊者獲得了某密文段落的明文,仍然得不到明密對,因為攻擊者不能準確地猜設用于明文組和密文組的擾碼。當明文組序號不相同時,即使出現相同的密文組也無助于猜設明文信息。

擁有若干明密對構成的適度數據條件,是密碼分析和破譯的基本素材,也是破譯成功的必備基礎。雙擾工作模式遏制了攻擊者獲取有效數據的能力,使攻擊者不能具備開展密碼分析研究的數據條件。破壞了攻擊者的攻擊能力,某個層面上等同于該工作模式增強了算法的安全強度。

由于雙擾工作模式每加密一個明文組近似等于做兩次ECB加密和兩次按位模m加,在效率方面它只相當于通常CBCCTR模式的近似二分之一。大多數情形,這不會影響實際應用。另外,由于擾碼的產生與明密文無關,致使擾碼序列可以預計算或并行計算,從而可以使雙擾工作模式的運算時間在可并行環境下逼近CBC模式。

 

結 論

算法的工作模式也是算法安全性的一個組成部分。好的工作模式可以彌補算法設計上的某些不足,它可以為算法安全性加分,但也可能為算法工作效率減分。安全與效率通常是相互制約的兩個方面。對于保留格式加密算法,面對的場景可能是明文組空間較小,需要加密的數據量不大。所以,實際應用中用戶對效率的要求不高,安全性更為重要,這將使得雙擾工作模式擁有較好的應用前景。其實,海泰方圓設計出的雙擾工作模式實質上是分組密碼算法的一種通用工作模式,它并不局限于保留格式加密中的應用,僅僅是用于保留格式加密算法時,因為數據分組可能較小,安全性方面的優點較為突出。

售前咨詢
010-59790009轉8055/8192

售后服務
010-56592388

国产一区**精品视频,国产亚洲AV电影在线观看,国产精品视频二区二区二区色欲_高清