一種基于擴張密文的白盒密碼加解密方法
【專利摘要】本發(fā)明公開了一種基于擴張密文的白盒密碼加解密方法。本發(fā)明包括隱含了偽隨機比特流的擴張密文,以及用來解密的n比特到m比特(n>m)的查找表,該查表操作是三個函數(shù)的復合:與密鑰K相關的n比特輸入到n比特輸出的一一映射函數(shù)F(K,n→n)、n比特輸入到m比特輸出的函數(shù)Cn→m以及與密鑰K相關的m比特輸入到m比特輸出的一一映射函數(shù)F(K,m→m)。本發(fā)明加密時服務器端將偽隨機比特流作為掩碼與明文結合并置亂,得到擴張密文;解密時通過一次查表操作將n比特密文解密為對應m比特明文。本發(fā)明能夠明顯提高解密效率。
【專利說明】
-種基于擴張密文的白盒密碼加解密方法
技術領域
[0001] 本發(fā)明屬于信息技術領域,設及一種可應用于智能手機、數(shù)字機頂盒等不可信環(huán) 境中,基于擴張密文的白盒密碼加解密方法。
【背景技術】
[0002] 傳統(tǒng)的密碼算法在設計之初總是假設運行于黑盒環(huán)境中,即攻擊者僅能夠觀察到 算法的輸入和輸出。然而隨著信息技術的發(fā)展,運種假設不再成立。當前,各種電子設備隨 處可得,并能夠直接或間接訪問互聯(lián)網,人們獲取數(shù)字內容的途徑越來越多。運些設備包括 但不限于數(shù)字機頂盒、IPTV、PCW及日益增多的手持裝置,例如移動電話、平板電腦等。隨著 運些設備的智能化,其中的軟件所在的運行環(huán)境可能是不可信的,設備的合法用戶也有可 能成為主動攻擊者,因此傳統(tǒng)的密碼算法不再可靠。
[0003] 例如,服務器端對數(shù)字內容進行加密,控制其向合法用戶分發(fā)。用戶終端軟件得到 密文后,利用密鑰進行解密,W得到可W使用的數(shù)字內容。然而,由于終端軟件運行環(huán)境的 不安全性,攻擊者可W任意觀察解密過程,輕易截獲密鑰并傳播給非法用戶。運種不可信的 軟件運行環(huán)境被稱為白盒環(huán)境。在白盒環(huán)境中,攻擊者對運行環(huán)境擁有高權限的控制,除了 能夠任意觀察軟件的運行,還可能移植/修改代碼、修改運行時的中間結果等。運種對軟件 直接的攻擊被稱為白盒攻擊。
[0004]白盒密碼是為了抵抗白盒攻擊而提出的一項技術,其概念最早由Stanley化OW等 人在 "White-box Cryptogra地y and anAES Implementation" (SAC,2002)中提出?;疧W等 人將AES(高級加密標準)的操作用包含密鑰的查找表網絡實現(xiàn),用隨機雙射對查找表進行 編碼保護,并通過把密碼邊界推到包含解密模塊的應用中來進一步保護密鑰。沿用類似 化OW的方法,白盒DES、SM4等相繼被提出。然而,所有已公布的針對已有密碼算法的白盒化 工作都被證明是不夠安全的。證明方法都與Alex Biryukov等人在"Structural CiTptanalysis of SASAS" (Journal ofC;ryptologly,2010)中提出的結構化分析方法類 似。
[0005] 目前,最新的白盒密碼研究集中在構造專用的白盒密碼。Alex Bi巧ukov等人在 "Cryptographic Schemes Based on the ASASA Structure : Black-box, White-box,and Public-key" (ASIACRYPT,2014)中提出 了基于ASASA結構的白盒密碼;An化ey Bogdanov等 人在"White-box Cryptography Revisited: Space-化rd Ciphers" (2化d ACM SIGSAC Conference,2015)中提出了名為SPACE的專用分組白盒密碼。其中,前者已經被證明是不安 全的,因為ASASA結構的查找表已經被成功分解。用SPACE對明文加密時,為了獲得良好的密 文性質,明文需要經過若干輪的加密處理,相應地,在解密時也需要經過若干輪白盒解密模 塊的處理,而且每一輪包含若干查表操作,解密速度較慢。
[0006] 構造專用的白盒密碼時,需要滿足W下Ξ個安全目標:1.密文安全性;2.密鑰不可 提取性;3 .抗代碼移植性。密文安全性是指:密文空間足夠大,而且密文滿足一定的密碼學 特性,能夠抗黑盒攻擊。密鑰不可提取性是指:白盒實現(xiàn)的代碼由密鑰控制生成的,從代碼 逆推密鑰是困難的??勾a移植性是指:白盒實現(xiàn)必須作為一個整體被使用,不能被修改或 者壓縮。專用的白盒密碼會給出整體代碼量可控的策略,代碼量的實際大小由實施者根據(jù) 安全需求和實際應用環(huán)境確定。
【發(fā)明內容】
[0007] 本發(fā)明設及的基于擴張密文的白盒密碼系統(tǒng)是一種新型專用白盒密碼加解密方 法,可被運行于白盒環(huán)境中的軟件采用,用來抵抗白盒攻擊。系統(tǒng)中的白盒實現(xiàn)是位于終端 的η比特輸入m比特輸出(n〉m)的查找表,此查找表是由服務器生成然后分發(fā)到終端,分發(fā)過 程可W是網絡傳輸、出廠預置、載體復制等等分發(fā)方式。本發(fā)明中的解密僅需要一次查表操 作,效率高很多。本發(fā)明中的密文性質由作為掩碼的偽隨機比特流保證。
[0008] 本發(fā)明采用的技術方案如下:
[0009] -種基于擴張密文的白盒密碼加密方法,其步驟為:
[0010] 1)將m比特明文用映射函數(shù)F(K,?)的逆函行映射,得到m比特的中間 結果Ab;其中,F(xiàn)(K,^)為與密鑰村目關的m比特到m比特的映射函數(shù);
[00川 2)利用一 n-m比特隨機數(shù)據(jù)PRN和函數(shù)的隨機逆函數(shù)尋該中間結果 Ab擴張為η比特;其中,為η比特輸入到m比特輸出函數(shù);隨機逆函數(shù)qisw 為:在函數(shù) Cn·^的作用下,一個m比特輸出對應有Κ個η比特原像(即多個η比特原像),利用偽隨機數(shù)據(jù) PRN從該Κ個原像中選定一個的過程稱為的隨機逆函數(shù);
[001^ 3)利用映射函數(shù)F(K,rr^n)的逆函數(shù)巧之。^";對擴展后的中間結果A地行映射,得到 密文Ad;其中,巧為與密鑰K相關的η比特到η比特的映射函數(shù)。
[OOU] 進一步的,步驟1)中,首先將一向量IV與m比特明文進行計算,得到m比特的中間結 果Aa;然后將該中間結果Aa用映射函數(shù)F(K,?)的逆函數(shù)馬1,。,^,,,;進行映射,得到111比特的中 間結果Ab。
[0014] 進一步的,該向量IV的長度為m比特,將m比特的初始化向量IV與m比特明文進行異 或加計算,得到m比特的中間結果Aa。
[0015] 進一步的,采用分組加密方法對明文進行加密,其中,m為明文的分組長度,η為密 文的分組長度;取第i分組密文中的低m比特數(shù)據(jù)更新向量IV,重復步驟1)~3)對第i+1分組 明文進行加密,直至所有明文分組加密完畢。
[0016] 進一步的,步驟2)中,將該中間結果Ab擴張為η比特的方法為:將該n-m比特隨機數(shù) 據(jù)R和Ab進行聯(lián)接R||Ab。
[0017] -種基于擴張密文的白盒密碼解密方法,解密端利用加密端分發(fā)的查找表對η比 特密文進行查表操作,解密端利用加密端分發(fā)的查找表對η比特密文進行查表操作,得到對 應的m比特明文;其中,該查找表為Ξ個函數(shù)的復合:與密鑰Κ相關的η比特輸入到η比特輸出 的一一映射函數(shù)F(K,rr^n)、n比特輸入到m比特輸出的函數(shù)及與密鑰Κ相關的m比特輸入 至Ijm比特輸出的 映射函數(shù)F (K, irti)。
[0018] 進一步的,該η比特密文為加密端將一向量IV與m比特明文進行計算后進行加密的 密文,解密端將得到的該m比特明文與該向量IV進行計算得到最終的明文。
[0019] 進一步的,該向量IV的長度為m比特,解密端將該m比特向量IV與該m比特明文進行 異或加計算,得到最終的明文。
[0020] 進一步的,該密文為采用分組加密方法對明文進行加密得到的密文,其中,m為明 文的分組長度,η為密文的分組長度;解密端用第i分組密文的低m比特數(shù)據(jù)更新該向量IV, 與對第i+1分組密文解密后的m比特明文進行異或加計算,直至所有密文分組解密完畢。
[0021] 本發(fā)明提供的一種白盒密碼系統(tǒng),用于在給定密鑰的情況下執(zhí)行將輸入消息映射 到輸出消息的密碼操作,其特征在于,所述系統(tǒng)包括:隱含了偽隨機比特流的擴張密文,W 及用來解密的η比特到m比特(n〉m)的查找表。
[0022] 進一步地,服務器端將偽隨機比特流作為掩碼與明文結合并置亂,得到擴張密文, 其中的置亂操作與密鑰相關。
[0023] 進一步地,用來完成解密操作的查找表是一個與密鑰相關的映射,其作用是去掉 密文中的掩碼信息。
[0024] 進一步地,m和η被設置為安全參數(shù),根據(jù)該安全參數(shù)控制白盒密碼實現(xiàn)的代碼規(guī) 模和復雜程度。
[0025] -種將偽隨機比特流應用于白盒密碼的方法,用于在給定密鑰的情況下執(zhí)行將輸 入消息映射到輸出消息的密碼操作,其中偽隨機比特流作為掩碼影響密文的密碼特性,負 責解密的是暴露在白盒環(huán)境的查找表。
[00%]與現(xiàn)有技術相比,本發(fā)明的有益效果如下:
[0027] 1.本發(fā)明提供了一種基于擴張密文的白盒密碼方法,特點是如圖5所示的白盒密 碼系統(tǒng),其中明文的分組長度m,密文的分組長度n(n〉m)。在終端的白盒密碼實現(xiàn)中,僅包含 一個η比特到m比特的查找表,結構簡潔,易于實現(xiàn)。
[0028] 2.目前已公布的白盒密碼,為了獲得良好的密文性質,明文需要經過若干輪的加 密處理。相應地,在解密時,密文需要經過若干輪白盒解密模塊的處理,解密速度較慢。例 如:SPACE中,輪數(shù)最少的方案也要128個查找表。而本發(fā)明中的解密操作,僅需要1次查表, 速度較快,因而能夠明顯提高解密效率。
[0029] 3.本發(fā)明提供了一種根據(jù)安全需求控制系統(tǒng)規(guī)模和復雜程度的手段:將m和η作為 安全參數(shù),在實際實施時確定。
【附圖說明】
[0030] 圖1示出了終端查找表的構造;
[0031] (a)為傳統(tǒng)查找表,(b)本發(fā)明的查找表;
[0032] 圖2示出了將偽隨機比特流作為掩碼得到擴張密文的操作;
[0033] 圖3示出了服務器端的完整加密過程;
[0034] 圖4示出了終端的解密過程;
[0035] 圖5示出了基于擴張密文的白盒密碼系統(tǒng)的整體結構;
[0036] 圖6示出了本發(fā)明設及的一個白盒密碼系統(tǒng)的實例。
【具體實施方式】
[0037] 利用隱含密鑰的查找表對數(shù)據(jù)流進行操作,是目前設計白盒密碼的基本方法:如 圖1(a)所示,F(xiàn)(K,r^n)是一個與密鑰K相關的η比特到η比特的一一映射,將其用查找表101表 達出來后,攻擊者很難由查找表逆推出Κ或者與F(K,n^n)等價的函數(shù)關系。101可W是單個查 找表,也可W是一組查找表的組合。
[0038] 在系統(tǒng)實施時,服務器端利用F(K,rr^)的逆函數(shù)對數(shù)據(jù)進行加密,而終端(運行于白 盒環(huán)境)則利用查找表解密。考慮到查找表的構造效率和服務器端的計算資源限制(多用戶 的情況下,不能為每個用戶都W查找表的形式存儲密鑰),查找表由相對簡單的函數(shù)關系疊 加生成。
[0039] AlexBi巧ukov等人利用密鑰相關的ASASA型結構構造查找表(見【背景技術】),即 F(K,r^n)由密鑰相關的A(擴散層)和S(代換層)交替疊加而成,設計了一種專用分組白盒密碼 方案。但是他們的方法很快就被證明是不安全的。ASASA結構的查找表被成功分解的基礎是 能夠利用η比特輸入和η比特輸出之間的關系建立方程組。如果查找表被設計為η比特輸入 對應m比特輸出(n〉m),則攻擊者很難再沿用已有的方法進行攻擊。
[0040] 本發(fā)明設及的基于擴張密文的白盒密碼系統(tǒng),白盒實現(xiàn)部分是位于終端的單個η 比特到m比特(n〉m)的查找表W及利用查找表進行解密的過程。查找表的構造方法如圖1(b) 中的102所示,一次查表操作是Ξ個函數(shù)的復合:與密鑰K相關的η比特輸入到η比特輸出的 --映射函數(shù)F(K,rrti)、n比特輸入至Ijm比特輸出的函數(shù)CrrtnW及與密鑰村目關的m比特輸入到m 比特輸出的一一映射函數(shù)F(K,^)。
[0041] 查找表在服務器端生成,然后被分發(fā)給終端。分發(fā)方式可W是網絡傳輸、終端設備 出廠預置、用U盤等載體傳送等等。當查找表被構建好后,原來的函數(shù)關系被隱藏。在終端僅 能看到查找表,而看不到顯式的函數(shù)關系。
[0042] 在實際實施時,F(xiàn)(K,n-η)和的構造可W采用密鑰相關的A和S交替疊加的方 法,或者其他方法,只要保證其分別是"n-bi t到n-bi t的可逆映射"、"m-bi t到m-bi t的可逆 映射"即可。運2個函數(shù)是秘密的,其顯式邏輯關系(逆函數(shù))只在服務器端進行加密操作時 被使用。F(K,rr^)和F(K,^)的具體實現(xiàn)不是本發(fā)明的重點,因而本發(fā)明中不描述其具體實現(xiàn)。
[0043] 的實現(xiàn)也可W有多種選擇,可W是秘密的也可W是公開的。服務器端加密時利 用的隨機逆函數(shù)。隨機逆函數(shù)的定義為:在的作用下,一個輸出(m比特)的原像(η比 特)有Κ個,利用偽隨機數(shù)據(jù)PRN,從Κ個原像中選定一個,運個過程稱為的隨機逆函數(shù),記 作Civ,,,一比如n = 2m,Crr^是將η比特輸入數(shù)據(jù)中的高m比特與低m比特異或加,得到m比 ,〇 特輸出;相應地,是從偽隨機比特流生成器PRNG( 201)中獲得n-m = m比特數(shù)據(jù) PRN,將其與m比特輸入異或加后,將結果補到PRN的高位,得到擴張后的η比特數(shù)據(jù)。為了表 述方便,W下我們W截斷函數(shù)舉例說明,即是僅保留η比特輸入數(shù)據(jù)的低m比特為輸出數(shù) 據(jù),高位的n-m比特被拋棄。
[0044] 本系統(tǒng)加解密的概要過程如下:首先,如圖2所示,服務器端的加密操作為
(曰表示函數(shù)的復合,即fog(x)=f(g(x))),該操作可被視 作終端查表操作的逆操作,其中是截斷函數(shù)的隨機逆函數(shù),即從偽隨機比特 流生成器PRNG(201)中獲得n-m比特數(shù)據(jù)PRN,補到m比特輸入數(shù)據(jù)的高位,將m比特數(shù)據(jù)擴張 為η比特數(shù)據(jù)。加密操作的結果是將每次獲得的n-m比特偽隨機數(shù)據(jù)作為掩碼,獲得擴張后 的密文。終端的解密過程則是利用查找表去掉運個掩碼的過程。
[0045] 服務器端的完整加密過程如圖3所示。為了讓加密后的數(shù)據(jù)具有更好的密文性質, 我們采用類似分組密碼的CBC模式。m比特的初始化向量IV與首m比特明文異或加,將結果進 行如圖2的加密操作,得到η比特的密文。將密文的低m比特數(shù)據(jù)反饋給對下一組m比特明文 加密的過程,取代IV的位置。在實際實施時,也可W采用其他密文反饋的方法。加密過程描 述如下:
[0046] l.m比特的初始化向量IV與m比特明文異或加,得至Ijm比特的中間結果Aa;
[0047 ] 2 ·將Aa用F(K,nrti)的逆函數(shù)奶^作用,得到m比特的中間結果Ab;
[004引3.從PRN獲得n-m比特隨機數(shù)據(jù)R,將步驟2.的結果擴張為η比特,即巧日Ab的聯(lián)接R| Ab,該過程記為胤r,。一叫. ?
[0049] 4.利用^占^。),由R| |Ab得到密文Ad;
[0050] 5.用Ad中的低m比特數(shù)據(jù)更新IV,重復1.至4.,對下一明文分組進行加密,直至所 有明文分組加密完畢。
[0051 ] 注:對相同明文的加密,由于偽隨機比特流的不同,加密結果也會不同,但解密時, 會得到相同的密文。
[0052] 終端的解密過程如圖4所示。首η比特的密文經過一次查表操作后,得到m比特輸 出,將其與m比特的初始化向量IV異或加(服務器端將m比特的初始化向量IV分發(fā)給終端;如 果服務器和終端約定將第一個分組的明文拋棄,運時候服務器可W不將IV發(fā)送給終端),得 到明文。在對接下來η比特密文解密的過程中,前η比特密文的低m比特取代IV的位置。解密 過程描述如下:
[0053] 1.輸入為η比特的密文,利用查找表,得到輸出為m比特的中間結果Aa;
[0054] 2.將Aa與IV異或加,得到明文Ab;
[0055] 3.用密文的低m比特數(shù)據(jù)更新IV,重復1.和2.,對下一密文分組進行解密,直至所 有密文分組解密完畢。
[0056] 本發(fā)明設及的基于擴張密文的白盒密碼系統(tǒng)的整體結構如圖5所示。501是位于服 務器端的加密過程,502是位于終端的解密過程。在加密過程中,偽隨機比特流的性質能夠 影響最終的密文性質,使得密文能夠抵抗黑盒攻擊。偽隨機比特流的實現(xiàn)可W選用現(xiàn)有的 流密碼算法,ZUC、RC4和SEAL等。
[0057] W下是本發(fā)明的一個簡單實例,用來詳細解釋加解密過程:
[005引 m=2,n = 3,F(xiàn)(日日1,3 - 3)(x)=x+001,x是3比特輸入;C3- 2(x),輸入為3比特數(shù)據(jù)X,輸 出為X的低2比特數(shù)據(jù),例如:輸入x = 010,輸出為10;F(0i,2- 2)(x)=x+01,x是2比特輸入。常 數(shù)項01和001是密鑰。查找表L為運3個函數(shù)的復合巧W叫。一 ]),具體數(shù)據(jù)如下; 「0化91
[0060] 查找表生成后,被分發(fā)給終端。注:本實例中的函數(shù)關系非常簡單,僅用來舉例說 明加解密過程,未考慮加密強度。
[0061] 加密過程:明文為8個比特01 11 01 10(每2比特一組),初始化向量IV=11,PRN是 一個偽隨機比特流的發(fā)生器。
[0062] 1.明文分組01與IV = 11異或加,得到10;
[00創(chuàng) 2.利用F(0i,2-2)的逆函數(shù)巧)Lw),由1.的結果10得到11;
[0064] 3.從PRN獲得3-2 = 1比特隨機數(shù)據(jù),假設為0。將0與02.的結果聯(lián)接,擴張為011,該 過程記為C|ps]v.,2a3) _
[00化]4.利用巧uiu一3),由3.的結果011得到密文010;
[0066] 5.用4.結果010中的低2比特數(shù)據(jù)10更新IV,重復1.至4 .,對下一明文分組進行加 密,直至所有明文分組加密完畢。
[0067] 假設加密時獲得的偽隨機比特流為0110,則最終獲得的密文為010 101 100 010, 共12個比特(每化k特一組)。
[0068] 解密過程:從服務器端得到密文010 101 100 010和初始化向量IV= 11
[0069] 1.輸入為密文010,利用查找表L,得到輸出為10;
[0070] 2.將1.的輸出10與IV異或加,得到明文01;
[0071] 3.用1.中密文010的低2比特數(shù)據(jù)10更新IV,重復1.和2.,對下一密文分組進行解 密,直至所有密文分組解密完畢。
[0072] 最后得到的明文為01 11 01 10。
[0073] 在實際實施時,m和η可根據(jù)需求靈活選擇。可粗略地認為,m固定時,η越大,安全程 度越高。查找表占用的存儲空間為2" . m比特。當需要抵抗代碼移植時,也可W通過調整η和 m的大小,來控制代碼規(guī)模。代碼規(guī)模越大,抵抗代碼移植的能力越強。在我們的示例中,終 端的白盒實現(xiàn)部分是一個查找表,在系統(tǒng)實際實施時,也可W在終端部署多個同樣結構的 查找表。
[0074] 圖6展示了本發(fā)明的實施實例。該實例是一個付費數(shù)字媒體系統(tǒng),包括服務器端 610和一個終端(媒體播放器)620。服務器端將數(shù)字內容(WAV、MP3、WMA、AVI、JPEG、MPEG-1、 MPEG-2、MPEG-4等格式)用圖3所述的方法加密,并分發(fā)給合法的終端。分發(fā)途徑可W通過通 信接口 625或介質626(例如CD、DVD或U盤)。
[0075] 終端獲得密文形式的數(shù)字內容后,用預先內置在存儲器622中的安全播放軟件播 放。該軟件不僅需要對數(shù)字內容進行解碼,還需要先利用白盒密碼模塊對加密的數(shù)字內容 進行解密。白盒密碼模塊包括本發(fā)明設及的查找表和相應的解密操作。處理器621可W接受 來自用戶的輸入,來確定需要播放的內容,并將解密解碼后的內容呈現(xiàn)在顯示器(或音箱) 624上。
[0076] 本發(fā)明可W擴展應用至所有適于實施本發(fā)明的計算機程序。該程序可W具有源代 碼、目標代碼和部分編譯的目標代碼等形式。程序的載體可W是能夠攜帶該程序的任何實 體或裝置,包括:R〇M等存儲介質、Internet等信息通道傳輸?shù)男盘柡颓度肓顺绦虻募呻?路等。
[0077] W上實施例僅用W說明本發(fā)明的技術方案而非對其進行限制,本領域的普通技術 人員可W對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,本 發(fā)明的保護范圍應W權利要求書所述為準。
【主權項】
1. 一種基于擴張密文的白盒密碼加密方法,其步驟為: 1) 將m比特明文用映射函數(shù)F(K,rt)的逆函數(shù)/^1^",:)進行映射,得至IV比特的中間結果 Ab;其中,F(xiàn)(k,m)為與密鑰K相關的m比特到m比特的映射函數(shù); 2) 利用一 n-m比特隨機數(shù)據(jù)PRN和函數(shù)Cn^的隨機逆函數(shù)將該中間結果Ab擴 張為η比特;其中,Crrtn為η比特輸入到m比特輸出函數(shù);隨機逆函數(shù)為:在函數(shù)Cm 的作用下,一個m比特輸出對應有K個η比特原像,利用偽隨機數(shù)據(jù)PRN從該K個原像中選定一 個的過程稱為Crrtn的隨機逆函數(shù); 3) 利用映射函數(shù)的逆函數(shù)巧丨對擴展后的中間結果Ab進行映射,得到密文 Ad;其中,為與密鑰K相關的η比特到η比特的映射函數(shù)。2. 如權利要求1所述的方法,其特征在于,步驟1)中,首先將一向量IV與m比特明文進行 計算,得至l」m比特的中間結果Aa;然后將該中間結果A a用映射函數(shù)F(K,M)的逆函數(shù) 進行映射,得到m比特的中間結果Ab。3. 如權利要求2所述的方法,其特征在于,該向量IV的長度為m比特,將m比特的初始化 向量IV與m比特明文進行異或加計算,得至Ijm比特的中間結果A a。4. 如權利要求1或2或3所述的方法,其特征在于,采用分組加密方法對明文進行加密, 其中,m為明文的分組長度,η為密文的分組長度;取第i分組密文中的低m比特數(shù)據(jù)更新向量 IV,重復步驟1)~3)對第i+Ι分組明文進行加密,直至所有明文分組加密完畢。5. 如權利要求1或2或3所述的方法,其特征在于,步驟2)中,將該中間結果Ab擴張為η比 特的方法為:將該n-m比特隨機數(shù)據(jù)R和Ab進行聯(lián)接R | | Ab。6. -種基于擴張密文的白盒密碼解密方法,其特征在于,解密端利用加密端分發(fā)的查 找表對η比特密文進行查表操作,得到對應的m比特明文;其中,該查找表為三個函數(shù)的復 合:與密鑰K相關的η比特輸入到η比特輸出的--映射函數(shù)F(K,rrt!)、n比特輸入到m比特輸出 的函數(shù)以及與密鑰K相關的m比特輸入到m比特輸出的一一映射函數(shù)7. 如權利要求6所述的方法,其特征在于,該η比特密文為加密端將一向量IV與m比特明 文進行計算后進行加密的密文,解密端將得到的該m比特明文與該向量IV進行計算得到最 終的明文。8. 如權利要求7所述的方法,其特征在于,該向量IV的長度為m比特,解密端將該m比特 向量IV與該m比特明文進行異或加計算,得到最終的明文。9. 如權利要求8所述的方法,其特征在于,該密文為采用分組加密方法對明文進行加密 得到的密文,其中,m為明文的分組長度,η為密文的分組長度;解密端用第i分組密文的低m 比特數(shù)據(jù)更新該向量IV,與對第i + 1分組密文解密后的m比特明文進行異或加計算,直至所 有密文分組解密完畢。
【文檔編號】H04L9/06GK106059752SQ201610531694
【公開日】2016年10月26日
【申請日】2016年7月4日
【發(fā)明人】許濤, 武傳坤, 薛銳
【申請人】中國科學院信息工程研究所