專利名稱:抵抗故障攻擊的有限域密碼算法的制作方法
技術領域:
本文公開的各種示例性實施例總體上涉及抵抗故障攻擊的密碼(cryptographic)算法方法及系統。
背景技術:
密碼系統執行多種算法計算。盡管已知可證明多種非對稱密碼系統在數學設想方面是安全的,但是這些密碼系統可能易受到諸如故障攻擊之類的實現攻擊(implementation attacks)的攻擊。
發明內容
提供了實施例以使能一種抵抗故障攻擊的密碼算法方法及系統。呈現了各種示例性實施例的摘要。可以對以下摘要進行一些簡化和省略,這旨在強調和介紹各種示例性實施例的一些方面,而非限制本發明的范圍。在稍后部分,將緊跟著優選示例性實施例的詳細描述,其足以使本領域技術人員能夠構造和使用創造性概念。各種實施例還可以涉及一種密碼函數的完整性保護計算的方法,包括:執行在交換環R上限定的密碼函數f (X1, X2,, χη)中的運算c = a ο b ;選擇與a和b相對應的a’和b’,使得a’和b’是交換環R’的元素;計算c’ = a’ Q ’ b’ ;計算a” = CRT (a,a’ )和b” = CRT(b,b’),其中CRT是中國余數定理;計算c”= a” o ” b”;將c”映射到R’中;以及確定是否c”至R’中的映射等于C’。各種實施例還可以涉及一種利用指令編碼的非臨時性存儲介質,所述指令用于密碼函數的完整性保護計算,所述指令包括:用于執行在交換環R上限定的密碼函數f (Xl,x2,...,xn)中的運算c = a O b的指令;用于選擇與a和b相對應的a’和b’,使得a’和b’是交換環R’的元素的指令;用于計算c’ =a’ o’b’的指令;用于計算a” = CRT(a,a’)和b” = CRT(b, b,)的指令,其中CRT是中國余數定理;用于計算c” = a” ο ”b”的指令;用于將c”映射到R’中的指令;以及用于確定是否c”至R’中的映射等于c’的指令。
為了更好地理解各種示例性實施例,將參考附圖,其中:圖1示出了函數的關系,用于映射各種域R、R’、和R”之間的元素;圖2是示出了可以如何計算密碼函數f的一個步驟的流程圖;圖3是示出了可以如何有效地計算密碼函數f的一個步驟的流程圖;以及圖4示出了在完整性保護的情況下以及在沒有完整性保護的情況下使用字級(Word-Level)蒙哥馬利乘法(Montgomery Multiplication)的計算成本。
具體實施例方式現在參考附圖,公開各種示例性實施例的概括方面,在附圖中,相同標記表示相同部件或步驟。已知可證明多種非對稱算法在某些數學設想方面是安全的。不幸地,這些密碼系統的多種直接實現通常變得容易受到實現攻擊的攻擊,特別是在功率受限的設備上。可能感興趣的一種攻擊是故障(fault)攻擊。故障攻擊可以將故障注入密碼處理中。給定正確結果和錯誤結果的集合,故障攻擊可以將故障注入到算法使用的存儲器(例如,RAM、寄存器、EEPR0M)中,或者甚至可以將故障注入到整個運算(例如,算法邏輯單元)中,其目的在于提取秘密信息。故障攻擊還可以與諸如輔助(side)信道攻擊之類的其它類型的攻擊相結合。因此,需要有效的對策來抵抗故障攻擊,尤其是在非對稱密碼方面,將有限域(Finite Field Arithmetic)算法(或者,更松散的環算法)用作構造塊。使用這種構造塊的兩類廣泛使用的密碼系統包括:1)基于因式分解問題(Factoring Problem)的密碼系統,即,對環行運算,其中η是兩個或多個素數的乘積,例如RSA密碼系統或Paillier密碼系統;以及2)基于離散對數(DL)問題的密碼系統,其中對η階的組Gn執行運算,例如ElGamal密碼系統、Cramer-Shoup密碼系統、數字簽名算法或Schnorr簽名方案。Gn例如可
*
以是域Zp的乘法組Zp,其中,P是素數,因而n = P-1,或者Gn可以是素數域或二進制擴展域(binary extension field)中的η階捕圓曲線組。更高級的密碼技術包括如下方案,例如知識的基于DL的零知識證明(例如,用于置信系統)、基于DL的可證實秘密共享(例如,用于對銀行保險庫或核導彈發射進行訪問控制)、基于DL的安全多方計算(例如,用于在若干實例上共享的安全估計功能)或閾值密碼系統(例如,用于對實例集合共享解密或簽名產生)。符號通過Gn表示η階的組。通過ord (R)表示環R的乘法組的階。中國余數定理在下文中,以簡要形式討論中國余數定理(CRT),即針對模數(moduli),其中該模數是兩個不同素數(或者,如果考慮將CRT用于多項式環,則是兩個不同的不可約分多項式)的乘積。設n = pq,其中P和q是素數。然后,對于給定X,, e Z,,和xp e Zp,存在唯一解xn E Zn,使得 xn = Xp (MOD p)并且 xn = xq (MOD q)。給定夕和 y,使得
權利要求
1.種密碼處理器上密碼函數的完整性保護計算的方法,包括: 執行在交換環R上限定的密碼函數f (X1, X27 , Xn)中的運算c = a O b ; 選擇與a和b相對應的a’和b’,使得a’和b’是交換環R’的元素; 計算 c’ = a’。’ b’ ; 計算a” = CRT(a,a’ )和b”= CRT(b,b’),其中CRT是中國余數定理; 計算 c”= a” ο ”b”; 將c”映射到R’中;以及 確定c”至R’中的映射是否等于C’。
2.權利要求1所述的方法, 其中,如果c”至R’中的映射等于c’,則對于a和b的其它值,重復權利要求1所述的方法,以進一步計算密碼函數f (Xl,x2,...,xn),否則指示所述密碼函數Mx1, X2, , Xn)的計算無效。
3.權利要求1所述的方法,其中,所述密碼函數基于因式分解問題。
4.權利要求1所述的方法,其中,所述密碼函數基于離散對數問題。
5.權利要求1所述的方法,其中,a’和b’分別是a”和b”的校驗和。
6.權利要求1所述的方法,其中,a’和b’分別是a”和b”的循環冗余校驗。
7.權利要求1所述的方法,其中,選擇a’和b’包括:設置a’=中α ’是R’中的常量,并且所述方法還包括: 計算a”=CRT(0,α’),其中計算c”包括計算c’’= a”。” b”-”6,其中,如果ο ”=+,,,則 =α,,,如果 ο ” =.”,則5 =α”(α’’-1)。
8.權利要求7所述的方法,其中,如果c”至R’中的映射等于α’,則對于a和b的其它值,重復權利要求1所述的方法,以進一步計算密碼函數f (Xl,x2,...,xn),否則指示所述密碼函數f (X1, X2, , Xn)的計算無效。
9.種利用指令編碼的非臨時性存儲介質,所述指令用于執行密碼函數的完整性保護計算,所述指令包括: 用于執行在交換環R上限定的密碼函數f (X1, x2,...,Xn)中的運算c = a ο b的指令; 用于選擇與a和b相對應的a’和b’,使得a’和b’是交換環R’的元素的指令; 用于計算c’ =a’ o’b’的指令; 用于計算a” = CRT(a,a’ )和b”= CRT(b,b’ )的指令,其中CRT是中國余數定理; 用于計算c”= a” o”b”的指令; 用于將c”映射到R’中的指令;以及 用于確定c”至R’中的映射是否等于c’的指令。
10.權利要求9所述的非臨時性存儲介質,其中,如果c”至R’中的映射等于c’,則對于a和b的其它值,重復權利要求1所述的計算,以進一步計算密碼函數f (X1, x2,..., xn),否則指示所述密碼函數f U1, x2, , xn)的計算無效。
11.權利要求9所述的非臨時性存儲介質,其中,所述密碼函數基于因式分解問題。
12.權利要求9所述的非臨時性存儲介質,其中,所述密碼函數基于離散對數問題。
13.權利要求9所述的非臨時性存儲介質,其中,a’和b’分別是a”和b”的校驗和。
14.權利要求9所述的非臨時性存儲介質,其中,a’和b’分別是a”和b”的循環冗余校驗。
15.權利要求9所述的非臨時性存儲介質,其中,選擇a’和b’包括:設置a’= α ’且b’ = α’,其中0’是1 ’中的常量,并且所述指令還包括: 用于計算a”= CRT (O,α’)的指令,其中計算c”包括計算C”= a,,。H其中,如果 O ” = +,,,則 5 =α,,,如果 O,,=.”,則 5 = α,,(α,,-1)。
16.權利要求15所述的非臨時性存儲介質,其中,如果c”至R’中的映射等于α’,則對于a和b的其它值,重復權利要求1所述的方法,以進一步計算密碼函數f(Xl,X2,...,xn),否則指示所述密碼函 數f U1, X2, , xn)的計算無效。
全文摘要
各種實施例涉及一種密碼函數的完整性保護計算的方法,包括執行在交換環R上限定的密碼函數f(x1,x2,...,xn)中的運算c=aοb;選擇與a和b相對應的a’和b’,使得a’和b’是交換環R’的元素;計算c’=a’ο’b’;計算a”=CRT(a,a’)和b”=CRT(b,b’),其中CRT是中國余數定理;計算c”=a”ο”b”;將c”映射到R’中;以及確定c”至R’中的映射是否等于c’。
文檔編號H04L9/30GK103095450SQ20121013988
公開日2013年5月8日 申請日期2012年5月8日 優先權日2011年5月11日
發明者馬丁·沙弗, 布魯斯·默里 申請人:Nxp股份有限公司