個多變量二次方程中各個單項式計算順序均不相同,累加到存儲器中的順序也不相 同,從而防止攻擊者通過對存儲器進行功耗分析而獲取密鑰信息。
[0036] 進一步地,所述在計算每個多變量二次方程時,亂序生成n(n+l)/2個單項式下標 值(i,j),具體包括:
[0037] S11、在計算每個多變量二次方程時,隨機生成單項式下標初始值i = is, j = js;l < is < js < η;
[0038] S12、判斷j是否為n,若是,則執(zhí)行步驟S13,若否,則執(zhí)行步驟S14;
[0039 ] S13、判斷i是否為η,若是,則執(zhí)行步驟S15,若否,則執(zhí)行步驟S16;
[0040] S14、將j賦值為j+Ι,并繼續(xù)執(zhí)行步驟S17;
[0041] S15、將i和j均賦值為1,并繼續(xù)執(zhí)行步驟S17;
[0042] S16、將i賦值為i+Ι,將j賦值為i+Ι,并繼續(xù)執(zhí)行步驟S17;
[0043] S17、判斷i是否為is,且j是否為js_l,若是,則所述多變量二次方程中單項式下標 值生成完畢,若否,則繼續(xù)執(zhí)行步驟S12。
[0044]需要說明的是,將每個多變量二次方程中的各個單項式完全打亂來抗側(cè)信道攻擊 的效果最佳。同時,為了減少計算時間和存儲開銷,避免耗費大量的資源,采用僅打亂每個 多變量二次方程中的初始計算順序,使每個多變量二次方程從不同的初始單項式開始計 算,之后仍按順序計算即可。例如,給第一個多變量二次方程隨機生成單項式初始下標值 (2,3),則第一個多變量二次方程從單項式CI2X32X3開始按順序計算到單項式α ηχηηχη,接著再 從單項式α?ΧΙΙΧΙ計算到單項式CI2X22X2;給第二個多變量二次方程隨機生成單項式初始下標 值(6,9),則第一個多變量二次方程從單項式CX 69X6X9開始按順序計算到單項式anXnnXn,接著 再從單項式αιχιιχι計算到單項式CX68X6X8等。這種計算方式使得密鑰、明文的在不同多變量二 次方程中的相同操作隱藏在不同的時鐘周期內(nèi),無法通過存儲器的功耗曲線特征而觀察得 到,而且簡單高效,有利于軟硬件高效實現(xiàn)。
[0045]進一步地,所述將所述η個單項式auX叫累加后寫入到寄存器中,獲得密文,具體 包括:
[0046]按照單項式C^x兩的計算順序,依次將每個單項式C^x兩累加到寄存器中,所述寄 存器中累加后的值即為密文。
[0047] 在計算每個多變量二次方程時,按照單項式CXijXiXj的計算順序,每計算一個單項 式a ljXlXj,則將該單項式累加到寄存器中。其中,不同的多變量二次方程中的單項式存儲在 不同的寄存器中。
[0048] 優(yōu)選地,所述每個多變量二次方程相應的密文為
[0049] 其中,每個多變量二次方程隨機生成不同的單項式下標初始值(is,js),然后各自 按照上述公式進行計算,獲得密文。
[0050] 參見圖3,是本發(fā)明提供的多變量二次方程的亂序加密方法的第二個實施例的流 程示意圖,包括:亂序下標控制器31隨機生成單項式下標值i和j,其中,隨機生成的初始的 單項式下標值為is和j s;多項式變量寄存器32根據(jù)亂序下標控制器31生成的單項式下標值, 輸出變量Xi和Xj;乘法器33接收變量X i和Xj并將其相乘后輸出,乘法器34將乘法器33輸出的 值與系數(shù)叫相乘后輸出,獲得單項式,再將單項式通過加法器35累加到寄存器36中;判斷器 37在寄存器36中累加了下標為(i,j)的單項式后判斷該單項式的下標是否(i s Js-I),若否, 則判定為〇,將寄存器36中的值與下一個單項式累加后寫入到寄存器36中;若否,則判定為 1,輸出寄存器36中的值,即為密文。
[0051] 本發(fā)明實施例提供的多變量二次方程的亂序加密方法,能夠在計算每個多變量二 次方程時,采用亂序生成單項式下標值的方式來生成n(n+l)/2個單項式下標值(i,j),并按 照單項式下標值(i,j)的生成順序,依次計算n(n+l)/2個單項式a ljXlXj,使不同多變量二次 方程中單項式的計算順序各不相同,最后,將多變量二次方程中每個單項式累加到寄存器 中,實現(xiàn)對密鑰的加密,通過打亂各個單項式的計算順序,使相同的密鑰信息在不同時刻出 現(xiàn),從而抵御側(cè)行道攻擊。有效提高密鑰或明文的安全性。
[0052] 以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為 本發(fā)明的保護范圍。
【主權(quán)項】
1. 一種多變量二次方程的亂序加密方法,其特征在于,包括: 在計算每個多變量二次方程時,亂序生成n(n+l)/2個單項式下標值(i,j); 1 < i < j < η; 按照單項式下標值(i,j)生成的順序,依次計算所述多變量二次方程的n個單項式α ijXiXj;其中,aij為明文,Xi為密鑰,或者,ciij為密鑰,Xi為明文; 將所述η個單項式aljXlX^加后寫入到寄存器中,獲得密文。2. 如權(quán)利要求1所述的多變量二次方程的亂序加密方法,其特征在于,所述在計算每個 多變量二次方程時,亂序生成n(n+l )/2個單項式下標值(i,j),具體包括: 511、 在計算每個多變量二次方程時,隨機生成單項式下標初始值i = is, j = js;l < is < js <n; 512、 判斷j是否為n,若是,則執(zhí)行步驟S13,若否,則執(zhí)行步驟S14; 513、 判斷i是否為n,若是,則執(zhí)行步驟S15,若否,則執(zhí)行步驟S16; 514、 將j賦值為j+Ι,并繼續(xù)執(zhí)行步驟S17; 515、 將i和j均賦值為1,并繼續(xù)執(zhí)行步驟S17; 516、 將i賦值為i+Ι,將j賦值為i+Ι,并繼續(xù)執(zhí)行步驟S17; 517、 判斷i是否為is,且j是否為js-l,若是,則所述多變量二次方程中單項式下標值生 成完畢,若否,則繼續(xù)執(zhí)行步驟S12。3. 如權(quán)利要求1所述的多變量二次方程的亂序加密方法,其特征在于,所述將所述η個 單項式aljXlX^加后寫入到寄存器中,獲得密文,具體包括: 按照單項式aljXlXj的計算順序,依次將每個單項式aljX而累加到寄存器中,所述寄存器 中累加后的值即為密文。4. 如權(quán)利要求2所述的多變量二次方程的亂序加密方法,其特征在于,所述每個多變量二次 方程相應的密文為1
【專利摘要】本發(fā)明公開了一種多變量二次方程的亂序加密方法,包括:在計算每個多變量二次方程時,亂序生成n(n+1)/2個單項式下標值(i,j);1≤i≤j≤n;按照單項式下標值(i,j)生成的順序,依次計算所述多變量二次方程的n個單項式αijxixj;其中,αij為明文,xi為密鑰,或者,αij為密鑰,xi為明文;將所述n個單項式αijxixj累加后寫入到寄存器中,獲得密文。采用本發(fā)明實施例,能夠有效提高密鑰的安全性,抵御側(cè)行道攻擊。
【IPC分類】H04L9/00
【公開號】CN105610571
【申請?zhí)枴緾N201610053791
【發(fā)明人】李偉鍵
【申請人】廣東技術(shù)師范學院
【公開日】2016年5月25日
【申請日】2016年1月26日