TWI448963B - 用於密碼系統之以中國餘數定理為基礎之計算方法 - Google Patents
用於密碼系統之以中國餘數定理為基礎之計算方法 Download PDFInfo
- Publication number
- TWI448963B TWI448963B TW097108763A TW97108763A TWI448963B TW I448963 B TWI448963 B TW I448963B TW 097108763 A TW097108763 A TW 097108763A TW 97108763 A TW97108763 A TW 97108763A TW I448963 B TWI448963 B TW I448963B
- Authority
- TW
- Taiwan
- Prior art keywords
- mod
- private key
- modulus
- data value
- crt
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7247—Modulo masking, e.g. A**e mod (n*r)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Description
本發明係關於在具有相關軟體之電子處理硬體中實行之密碼學方法。尤其,本發明係關於以此種電子處理硬體執行之密碼計算,其包括有限場、餘數或同餘運算,以及特別地使用以中國餘數定理為基礎之技術的模取冪計算,其著重於防止密碼分析之變化。
許多密碼演算法係以m≡cd
(mod n)類型之模取冪計算為基礎,其中c及m可對應於各種資料(明文及密文訊息、簽章、訊息摘要、鑑別碼等等),且其中d及n可對應於在運算該資料時之公鑰或私鑰的成分。該模數n通常為兩個極大質數p及q之乘積,其中p及q係保密。RSA演算法為使用模取冪之一加密系統(以及相關之數位簽章方案)的一範例。Diffie-Hellman密鑰一致性協定為另一範例。
在該RSA演算法中,提供一公鑰{e,n}及一對應私鑰{d,p,q}來加密及解密,其中d.e≡1(mod Φ(n)),n=p.q,Φ(n)=(p-1)(q-1),以及其中整數e及Φ(n)為互質。或者,一函數λ(n)=LCM(p-1,q-1)常用來代替該原始Φ(n)。(RSA PKCS#1 v.2.1)欲進行加密,可根據該關係式c=me
(mod n)使用該公鑰{e,n}自一明文訊息m獲得一密文c。該公鑰指數e通常為一小值(例如,3、5、35、或216
+1=65537),其根據加密之容易度及速度選擇。欲進行解密,該明文訊息m可根據該關係式m≡cd
(mod(p.q))使用該私
鑰{d,p,q}自該密文c還原。
該中國餘數定理(CRT)通常用來加速包含在該解密的該模取冪計算,因為在其他方法中保密之質因數p及q為該使用者已知。該定理一般來說係陳述當給予一組聯立同餘式x=ai
(mod ni
),其中i=1至r,且其中該模數ni
為成對互質時,該解答為x≡[Σi
ai
.bi
(N/ni
)](mod N),其中N=n1
.n2
.…
nr
,且該bi
自bi
(N/ni
)≡1(mod ni
)求得。對於兩個互質正整數p及q及兩個整數a及b(即,以r=2為例),其存在一整數m可唯一解得模數p.q,使得m≡a(mod p)≡b(mod q)。即,當GCD(p,q)=1時,每對餘數類模數p及q對應於一簡單之餘數類模數p.q。該解答發現m≡[a.(q-1
mod p).q+b.(p-1
mod q).p](mod p.q)。(以z為模數對一整數x-1
定義一模反數,使得x.x-1
≡1(mod z)。對於一質數模數,非該模數之一倍數的每一非零整數具有一反數。)
如下所述該RSA演算法的CRT實施方案計算該模取冪m:=cd
(mod (p.q))。首先將一對私鑰導出指數定義為d1
:=d(mod(p-1))及d2
:=d(mod (q-1))。之後,計算(mod p)及(mod q)。最後,m=CRT(m1
,m2
):=m1
+p.{[(m2
-m1
).R](mod q)},其中R=p-1
(mod q)。
該CRT實施方案的最後公式(即m=CRT(m1
,m2
))具有許多變量。該等變量之三個範例為:CRT2
(m1
,m2
):=(m1
.R1
.q+m2
.R2
.p)(mod p.q),其中R1
≡q-1
(mod p)及R2
≡p-1
(mod q);CRT3
(m1
,m2
):={[(m1
.R1
)(mod p)].q+[(m2
.R2
)(mod q)].p}(mod
p.q),同樣地其中R1
=q-1
(mod p)及R2
≡p-1
(mod q);以及CRT4
(m1
,m2
):=(q.{[(m1
-m2
).R4
](mod p)}+m2
)(mod p.q),其中R4
=p-1
(mod q)。
變量CRT實施方案以設計來防止密碼分析的方式進行該模取冪計算,特別係代幣(例如,智慧卡)之情況,其中一攻擊者可存取該硬體執行該密碼計算。一攻擊者可於計算程序中對一裝置之電磁發射、功率消耗,或其他可存取之參數做非侵入性測量及計時分析,以擷取有關該等私鑰的有用資訊。該變量實施方案一般在該密碼演算法的不同階段中使用虛擬隨機變數,以在不影響該最終結果下遮蔽其下面之數學運算。
例如,在模取冪之CRT實施方案中,一些變量係將該訊息變數m或其CRT成分m1
及m2
於該計算程序之某早期階段中藉由乘上一隨機值轉換,然後在一較後來的階段將該訊息變數除以該同一隨機值或自該隨機值導出之一相關值以獲得該真實結果。其他變量可藉由加上(p-1)或(q-1)之一隨機倍數來轉換該私鑰指數d或其CRT成分d1
及d2
,以獲得關於該私鑰成分之該同餘類的另一(隨機)部件。同樣地可使用分別對應之(p-1)及(q-1)之隨機倍數的模數來約化該私鑰指數d成轉換之CRT成分d1
'及d2
'。在所有該等例子中,該等轉換之設計係經選擇以獲得一真實最終結果,然而其中間計算則利用同餘算術中之等值方式作隨機改變。不幸地,該等變量中有許多可能係相當複雜且計算繁重的。
本發明係一電腦硬體實施之密碼學方法,其使用中國餘數定理(CRT)執行模運算,其中用於該等計算之一模數經轉換以遮蔽中間結果的密碼分析觀察。尤其對於一模取冪運算m=cd
(mod p.q),一轉換因數s係用來將該等互質因數p及q轉換成p'=s.p及q'=s.q。該等CRT步驟之應用係使用該等轉換模數p'及q'。在獲得一中間結果m'後,該最終結果m以一最終約化模數p.q來復原。該轉換因數s可能係一隨機值、一自預先選擇之固定值之一有限集合中的隨機選擇,或者,若在一已給定環境下,安全不是問題時,甚至可以為一固定值。該方法係相對地簡單且與許多其他變量相比計算較不繁重,但其實質上仍然可安全地防止密碼分析。因此,其適合使用在智慧卡或其他密碼代幣之應用。其可配合依賴具CRT實施方案之模取冪的任何密碼演算法使用。
該方法可在資料處理硬體(例如智慧卡或其他代幣)中以一密碼程式實施,其包含一密碼處理器單元、該處理器單元可存取之資料儲存器、以及提供該隨機因數的虛擬亂數產生電路。
參考圖1,本發明之密碼方法可在廣泛變化之數位處理系統、邏輯電路或電子硬體中實施,或藉由在一資料處理器或電腦中執行一同等之韌體或軟體程式來實施。為了對提供之資料執行數值運算(包括模取冪),根據本發明之示
範性計算處理器硬體可包括一算術邏輯單元(ALU)10,或包含一硬體乘法器之類似的計算電路。該ALU 10一般而言具有對一記憶體(RAM)12及各種工作暫存器14之存取能力。一運算定序器16包含用來控制該ALU之邏輯電路,其包括資料轉移至該記憶體12及暫存器14與從該記憶體12及暫存器14轉移資料,此係根據用於一密碼演算法之該運算集合的韌體或軟體指令。運算定序器16可存取以指標形式儲存在暫存器中之運算參數18,其致使該運算定序器16可定位在該RAM 12中之一運算元,以及其他控制資訊及中間結果之該等目的地位址。該硬體也可包括一虛擬亂數產生器(PRNG)電路20,其執行計算並輸出一隨機數值。此亂數產生器20可根據該密碼演算法以及特別係其中之模取冪步驟,由該運算定序器指示用該ALU 10存取。
參考圖2,藉由該前述之硬體並根據本發明,一示範性以CRT為基礎之模取冪計算M:=cd
(mod(p.q))一般開始於將該私鑰值{d,p,q}載入進資料儲存器(步驟10),例如載入進圖1之RAM 12,該處理硬體可存取該資料儲存器。由此,該等值可視需要轉移至工作暫存器14以藉由該ALU 10之使用。例如圖1之該PRNG電路20的一亂數產生器,其產生用於該轉換因數s的一隨機值(步驟11),之後該轉換因數s藉由乘法轉換用於隨機化該私鑰模數值p及q(步驟12):p':=p.s;q':=q.s。
藉由該處理硬體計算一反數值R':=(p')-1
mod q,其方法
類似於已知之以CRT為基礎之模取冪之先前版本的反數之計算R: p-1
(mod q)。
該等轉換值p'與q'以及該反數R'將用在之後的步驟。使用該等私鑰值{d,p,q}之每一解密對話將包含一不同之隨機值s,以及因而衍生之該等模數p'與q'以及該反數R'之不同的隨機值,因此防護包含該模取冪的密碼運算避免遭受密碼分析。(注意:該隨機值s必須與該原始模數p及q互質,因此有關互質之一標準可除性測試應為該隨機產生步驟11的一部分以除去任何不適用之隨機值。)若有需要時,該隨機值s之大小可選擇自一指定範圍內,因此該等值p'、q'、d1
及d2
將實質上具有相等的大小。
或者,該轉換因數s可以係一來自預先選擇固定值之一有限集合的隨機選擇,而非對每一對話從頭開始隨機產生。這可節省大量的處理時間,特別係若p'、q'及R'也對在該集合內s之每一可能的選擇預先計算過。若為了任何理由,密碼安全在一已給環境中不是一議題時,該因數s之選擇以及相關之p'、q'及R'可為一固定值。
CRT指數d1
及d2
係計算自私鑰指數d(步驟14),其方式與已知之以CRT為基礎之模取冪的先前版本相同,即:d1
:=d(mod(p-1));d2
:=d(mod(q-1))。
若有需要,此步驟也可方便地放置於p及q之隨機化之前,即步驟12之前。的確,因為該CRT指數d1
及d2
僅直接相關於該私鑰值d、p及q,其可經預先計算並載入該硬體資料
儲存器中,以代替私鑰指數d(步驟10),步驟16可自該對話計算中消除。
關於該模取冪之該變數C係載入進資料儲存器(步驟18)中,即載入進圖1之該RAM 12,該資料儲存器可由該處理硬體存取。由此處,該變數可視需要轉移至工作暫存器14以由該ALU 10使用,其通常根據一密碼程式,以已知大小之區塊的形式轉移。該變數C一般表現為欲解密之一密文訊息,但可表現成其他密碼資料,例如一數位簽章。如同該CRT指數d1
及d2
之計算,本步驟發生於該程式序列中之該特別位置可改變,只要其在步驟20中需要時可以取得即可。
使用該轉換模數p'與q'以及轉換反數R'來應用該等CRT步驟(步驟20及22),因此可獲得一中間訊息結果M'。尤其是在步驟20中,CRT訊息成分M1
'及M2
'藉由該處理硬體計算,其方式類似於已知之先前以CRT為基礎的模取冪運算,但使用p'與q'作為模數以代替該原始之私鑰模數值p及q。即,;及。
接著藉由該處理硬體,使用中國餘數定理,自該CRT訊息成分M1
'及M2
'(步驟22)計算該中間訊息結果M':M':=M1
'+p'.{[(M2
'-M1
').R'](mod q')}。
注意由於p'及q'在每一解密對話中隨機化,該等值M1
'、M2
'及M'同樣地在每一對話隨機化,其可防止藉由已知之文字
攻擊(例如,一攻擊者重複使用之一已知值C)及其他的密碼分析技術,該等密碼分析技術可能係依賴竊聽硬體發射之參數(EM發射、時間相依之功率消耗等等)。該等計算每一次以一隨機方式而有不同,但仍不像直接應用以CRT為基礎之模取冪般計算繁重。
藉由應用一調適之CRT公式CRT(M1
',M2
')可獲得該中間結果M'。若與該合適之轉換調適,其他變量CRT公式可代替應用之(例如在先前技術章節中提供之該等三個範例)。為轉換一初始CRT公式,該通用規則為永遠設定p':=p.s及q':=q.s。關於該公式的所有部分,例如R1
:=q-1
(mod p)及R2
:=p-1
(mod q),吾人轉換成R1
':=(q')-1
(mod p)及R2
':=(p')-1
(mod q)。若p或q在該公式中顯現為一倍數因數,將其分別改成p'或q'。若p或q顯現為一模數(mod p)或(mod q),吾人將其改成(mod p')或(mod q')。例如,該CRT指數d1
及d2
永遠為d1
:=d(mod(p-1))及d2
:=d(mod q-1)。然而根據本發明,該CRT訊息成分M1
'及M2
'永遠使用p'及s作為模數來轉換,如以上所述。因此,對於該三個示範性變量,吾人得到:M'=CRT2
'(m1
',m2
'):=(m1
'.R1
'.q'+m2
'.R2
'.p')(mod p'.q'),M'=CRT3
'(m1
',m2
'):={[(m1
'.R1
')(mod p')].q'+[(m2
'.R2
')(mod q')].p'}(mod p'.q'),M'=CRT4
'(m1
',m2
'):=q'.{[(m1
'-m2
').R4
'](mod p')}+m2
'。
一旦獲得該中間訊息結果M',可藉由一基本模約化運算輕易將其約化為該最終訊息M(步驟24):
M:=M'(mod(p.q)):=M'(mod n)。
此最終約化模數p.q應用於全部變量。注意該乘積p.q已預先計算作為密鑰產生的部分,且其簡單地為所有集團可取得之該公鑰模數n。因此,若n也已載入可為該硬體處理器使用之資料儲存器中(例如相關於先前之步驟10),其不需要再計算。此外,由於該公鑰模數n之使用並不顯示有關該等私鑰的任何資訊,該最終約化可不經過隨機轉換來計算而仍可安全防止密碼分析。該最終訊息M亦相同,即使p'、q'、M'等為隨機的,因為使用一轉換模數(其為該原始模數的一隨機倍數s)產生中間結果,其雖為隨機,但仍然屬於與使用未轉換模數所求得者相同的同餘類。
10‧‧‧算術邏輯單元(ALU)
12‧‧‧記憶體(RAM)
14‧‧‧工作暫存器
16‧‧‧運算定序器
18‧‧‧運算參數
20‧‧‧虛擬亂數產生器(PRNG)電路
圖1係根據本發明用來執行一密碼學方法之示範性處理器硬體的一示意平面圖,其包括以CRT為基礎的模取冪。
圖2係根據本發明之一示範性具體實施例的一流程圖,其說明關於模取冪之該等一般步驟。
10‧‧‧算術邏輯單元(ALU)
12‧‧‧記憶體(RAM)
14‧‧‧工作暫存器
16‧‧‧運算定序器
18‧‧‧運算參數
20‧‧‧虛擬亂數產生器(PRNG)電路
Claims (20)
- 一種密碼學方法,其在一電子處理系統中實施以執行模取冪計算,其包含:載入私鑰值,包括至少一私鑰指數及兩個私鑰模數,至可為電子處理硬體存取之一資料儲存器;藉由該電子處理硬體選擇一預模取冪轉換因數s以保全利用密碼分析之模取冪的密碼學操作;藉由該電子處理硬體將該私鑰模數乘上該轉換因數以產生轉換模數;在執行模取冪前的任何時間點,將一第一資料值載入進該資料儲存器;藉由該電子處理硬體對該第一資料值執行一模取冪,使用該至少一私鑰指數及該轉換模數來獲得一中間資料值;及藉由該電子處理硬體約化該中間資料值,以該兩個私鑰模數之一乘積為模數以獲得一最終資料值。
- 如請求項1之方法,其中該轉換因數為一不同之隨機值,其在該方法之每一次執行時,於一隨機產生電路中產生,且其中該方法進一步包含有關該轉換因數s與該私鑰模數互質之一可除性測試。
- 如請求項1之方法,其中該轉換因數係隨機選自預先選擇之固定值之一有限集合,該固定值之該有限集合係與該私鑰模數互質。
- 如請求項1之方法,其中該選擇之轉換因數為一固定 值,該固定值係與該私鑰模數互質。
- 如請求項1之方法,其中執行模取冪係使用一中國餘數定理(CRT)來執行該中間資料值的計算。
- 如請求項5之方法,其中一對CRT指數係計算自一單一私鑰指數作為執行該模取冪的部分。
- 如請求項5之方法,其中一對CRT指數係預先計算自一單一私鑰指數,該對CRT指數係載入該資料儲存器中作為私鑰指數。
- 如請求項1之方法,其中該兩個私鑰模數之該乘積經預先計算作為一公鑰模數,該公鑰模數亦係載入至該資料儲存器中,以供在該中間資料值約化時的後續使用。
- 如請求項1之方法,其中該第一資料值表示一密文訊息,在該電子處理硬體中執行該模取冪作為一密碼程式的部分,且該最終資料值表示一解密明文訊息。
- 一種密碼學方法,其在一電子處理系統中實施以執行模取冪計算,其包括:將至少一私鑰指數d及兩個私鑰模數p及q載入一資料儲存器中,電子處理硬體可存取該資料儲存器;藉由該電子處理硬體選擇一預模取冪轉換因數s以保全利用密碼分析之模取冪的密碼學操作;藉由該電子處理硬體將該私鑰模數乘上該轉換因數以產生轉換模數p':=p.s及q':=q.s;藉由該電子處理硬體計算一反數值R':=(p')-1 (mod q); 在執行模取冪前的任何時間點,將一第一資料值C載入該資料儲存器中;對該第一資料值C執行一模取冪,其使用該至少一私鑰指數d及該轉換模數p'及q'以獲得一中間資料值M',其中執行模取冪係由該電子處理硬體使用一中國餘數定理(CRT)來執行該中間資料值的計算,其包含:(a)計算CRT指數d1 :=d(mod p-1)及d2 :=d(mod q-1),(b)計算CRT訊息成分M1 ':=(mod p')與M2 ':=(mod q'),以及(c)自該CRT訊息成分M1 '及M2 '計算一中間資料值M';以及藉由該電子處理硬體約化該中間資料值M',以該等兩個私鑰模數之一乘積n=p.q為模數以獲得一最終資料值M:=M'(mod n)。
- 如請求項10之方法,其中該轉換因數s係一不同之隨機值,其在該方法的每一次執行中產生,且其中該方法進一步包含有關該轉換因數s與該私鑰模數p及q互質之一可除性測試。
- 如請求項10之方法,其中該轉換因數s係隨機選自預先選擇之固定值之一有限集合,該固定值之該有限集合與該私鑰模數p及q互質。
- 如請求項10之方法,其中該選擇之轉換因數s係與該私鑰模數p及q互質之一固定值。
- 如請求項10之方法,其中該CRT指數係預先計算自該私 鑰指數d,並以一對私鑰指數d1 及d2 載入進該資料儲存器。
- 如請求項10之方法,其中M':=M1 '+p'.{[(M2 '-M1 ').R'](mod q')}及R':=(p')-1 (mod q)。
- 如請求項10之方法,其中M':=(m1 '.R1 '.q'+m2 '.R2 '.p')(mod p'.q'),R1 ':=(q')-1 (mod p)及R2 ':=(p')-1 (mod q)。
- 如請求項10之方法,其中M':={[(m1 '.R1 ')(mod p')].q'+[(m2 '.R2 ')(mod q')].p'}(mod p'.q'),R1 ':=(q')-1 (mod p)及R2 ':=(p')-1 (mod q)。
- 如請求項10之方法,其中M':=q'.{[(m1 '-m2 ').R4 '](mod p')}+m2 '及R4 ':=(p')-1 (mod q)。
- 如請求項10之方法,其中該乘積n=p.q係預先計算並載入該資料儲存器中,以供在該中間資料值約化期間之後續使用。
- 如請求項10之方法,其中該第一資料值表示一密文訊息,在該電子處理硬體中執行該模取冪作為一密文程式的部分,且該最終資料值表示一解密明文訊息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/684,842 US8280041B2 (en) | 2007-03-12 | 2007-03-12 | Chinese remainder theorem-based computation method for cryptosystems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200844847A TW200844847A (en) | 2008-11-16 |
TWI448963B true TWI448963B (zh) | 2014-08-11 |
Family
ID=39759855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097108763A TWI448963B (zh) | 2007-03-12 | 2008-03-12 | 用於密碼系統之以中國餘數定理為基礎之計算方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8280041B2 (zh) |
CN (1) | CN101632255B (zh) |
DE (1) | DE112008000668B4 (zh) |
TW (1) | TWI448963B (zh) |
WO (1) | WO2008112273A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280041B2 (en) | 2007-03-12 | 2012-10-02 | Inside Secure | Chinese remainder theorem-based computation method for cryptosystems |
FR2916113B1 (fr) * | 2007-05-07 | 2009-07-31 | Oberthur Card Syst Sa | Procede de traitement cryptographique d'un message. |
US8170216B2 (en) * | 2008-06-18 | 2012-05-01 | Apple Inc. | Techniques for validating and sharing secrets |
KR101383690B1 (ko) * | 2008-12-10 | 2014-04-09 | 한국전자통신연구원 | 안전한 멀티캐스트 통신을 위한 그룹키 관리방법 |
EP2401734B1 (en) * | 2009-02-27 | 2016-04-20 | Certicom Corp. | System and method for performing exponentiation in a cryptographic system |
CN101860434B (zh) * | 2010-05-25 | 2012-05-02 | 北京握奇数据系统有限公司 | 一种数字签名的实现方法及装置 |
EP2437160A1 (en) * | 2010-10-04 | 2012-04-04 | Nagravision S.A. | Blinding of modular exponentiation |
JP5848106B2 (ja) * | 2011-11-28 | 2016-01-27 | ルネサスエレクトロニクス株式会社 | 半導体装置及びicカード |
US9213916B2 (en) * | 2012-03-22 | 2015-12-15 | The Charles Stark Draper Laboratory, Inc. | Compressive sensing with local geometric features |
US9613285B2 (en) | 2012-03-22 | 2017-04-04 | The Charles Stark Draper Laboratory, Inc. | Compressive sensing with local geometric features |
US9026699B2 (en) | 2013-09-23 | 2015-05-05 | Seagate Technology Llc | Command execution using existing address information |
CN103580869B (zh) * | 2013-11-06 | 2016-09-21 | 北京华大信安科技有限公司 | 一种crt-rsa签名方法及装置 |
US9949115B2 (en) * | 2014-06-10 | 2018-04-17 | Qualcomm Incorporated | Common modulus RSA key pairs for signature generation and encryption/decryption |
US9906368B2 (en) | 2014-12-23 | 2018-02-27 | Nxp B.V. | General encoding functions for modular exponentiation encryption schemes |
US9904516B2 (en) | 2014-12-23 | 2018-02-27 | Nxp B.V. | Modular exponentiation using look-up tables |
US9985784B2 (en) | 2014-12-23 | 2018-05-29 | Nxp B.V. | Efficient smooth encodings for modular exponentiation |
US9531540B2 (en) * | 2014-12-23 | 2016-12-27 | Nxp B.V. | Secure token-based signature schemes using look-up tables |
CN104796250B (zh) * | 2015-04-11 | 2018-05-25 | 成都信息工程学院 | 针对RSA密码算法M-ary实现的侧信道攻击方法 |
EP3082033B1 (en) * | 2015-04-17 | 2017-08-30 | Nxp B.V. | Modular exponentiation using look-up tables |
IL239880B (en) * | 2015-07-09 | 2018-08-30 | Kaluzhny Uri | Simplified montgomery multiplication |
DE102017117907B4 (de) * | 2017-08-07 | 2023-04-27 | Infineon Technologies Ag | Durchführen einer kryptografischen Operation |
CN108599951B (zh) * | 2018-08-10 | 2021-10-01 | 北京奇虎科技有限公司 | 加密方法、加密装置、计算设备及计算机存储介质 |
CN109474428A (zh) * | 2018-11-28 | 2019-03-15 | 北京杰睿中恒科技有限公司 | 基于数字信号数据的动态加密方法和装置 |
CN110380867B (zh) * | 2019-08-14 | 2021-07-06 | 电子科技大学 | 一种基于身份的轻量签名方法及系统 |
US20220085999A1 (en) * | 2020-09-11 | 2022-03-17 | Cryptography Research, Inc. | System and method to optimize decryption operations in cryptographic applications |
CN112653706B (zh) * | 2020-12-29 | 2022-11-04 | 杭州趣链科技有限公司 | 基于中国剩余定理的数据传输方法、装置和系统 |
WO2024003916A1 (en) * | 2022-06-29 | 2024-01-04 | B.G. Negev Technologies And Applications Ltd., At Ben Gurion University | Method for performing polynomial communication-less perfect information theoretical smpc, based on crt and coordinated randomness |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
US20030065696A1 (en) * | 2001-09-28 | 2003-04-03 | Ruehle Michael D. | Method and apparatus for performing modular exponentiation |
TWI244611B (en) * | 2001-06-13 | 2005-12-01 | Corrent Corp | Circuit and method for performing multiple modulo mathematic operations |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1964164A (en) * | 1930-04-04 | 1934-06-26 | Harold S Lamb | Manifold |
US4964164A (en) | 1989-08-07 | 1990-10-16 | Algorithmic Research, Ltd. | RSA computation method for efficient batch processing |
US5144740A (en) * | 1989-09-04 | 1992-09-08 | Brother Kogyo Kabushiki Kaisha | Numerically controlled machine tool with automatic tool exchange device and indexing device |
US5289397A (en) | 1991-07-22 | 1994-02-22 | Itt Corporation | High-speed modulo exponentiator device |
US5663896A (en) | 1994-09-22 | 1997-09-02 | Intel Corporation | Broadcast key distribution apparatus and method using Chinese Remainder |
CA2316227C (en) | 1998-01-02 | 2009-08-11 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US6144740A (en) | 1998-05-20 | 2000-11-07 | Network Security Technology Co. | Method for designing public key cryptosystems against fault-based attacks with an implementation |
WO1999067909A2 (en) | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Secure modular exponentiation with leak minimization for smartcards and other cryptosystems |
US6594761B1 (en) | 1999-06-09 | 2003-07-15 | Cloakware Corporation | Tamper resistant software encoding |
KR100340102B1 (ko) | 2000-11-30 | 2002-06-10 | 조휘갑 | 알에스에이 공개키 암호 고속화 장치 및 방법 |
FR2828608B1 (fr) | 2001-08-10 | 2004-03-05 | Gemplus Card Int | Procede securise de realisation d'une operation d'exponentiation modulaire |
FR2829335A1 (fr) | 2001-09-06 | 2003-03-07 | St Microelectronics Sa | Procede de brouillage d'un calcul a quantite secrete |
DE10143728B4 (de) * | 2001-09-06 | 2004-09-02 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation |
FR2844891A1 (fr) | 2002-09-20 | 2004-03-26 | St Microelectronics Sa | Masquage de donnees decomposees dans un systeme de residus |
US20040098435A1 (en) * | 2002-11-20 | 2004-05-20 | Moore Stephen F. | Modular reduction of multi-precision numbers |
FR2848753B1 (fr) | 2002-12-11 | 2005-02-18 | Gemplus Card Int | Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches |
CA2470422C (en) | 2003-06-09 | 2013-01-15 | Certicom Corp. | Method and apparatus for exponentiation in an rsa cryptosystem |
FR2884088B1 (fr) * | 2005-03-31 | 2007-06-22 | Gemplus Sa | Procede et dispositif cryptographique permettant de proteger les logiques de cles publiques contre les attaques par faute |
FR2888690A1 (fr) * | 2005-07-13 | 2007-01-19 | Gemplus Sa | Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe |
US20080104402A1 (en) * | 2006-09-28 | 2008-05-01 | Shay Gueron | Countermeasure against fault-based attack on RSA signature verification |
US8280041B2 (en) | 2007-03-12 | 2012-10-02 | Inside Secure | Chinese remainder theorem-based computation method for cryptosystems |
-
2007
- 2007-03-12 US US11/684,842 patent/US8280041B2/en active Active
-
2008
- 2008-03-12 TW TW097108763A patent/TWI448963B/zh active
- 2008-03-12 DE DE112008000668.7T patent/DE112008000668B4/de active Active
- 2008-03-12 CN CN200880008030.XA patent/CN101632255B/zh active Active
- 2008-03-12 WO PCT/US2008/003324 patent/WO2008112273A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
TWI244611B (en) * | 2001-06-13 | 2005-12-01 | Corrent Corp | Circuit and method for performing multiple modulo mathematic operations |
US6973470B2 (en) * | 2001-06-13 | 2005-12-06 | Corrent Corporation | Circuit and method for performing multiple modulo mathematic operations |
US20030065696A1 (en) * | 2001-09-28 | 2003-04-03 | Ruehle Michael D. | Method and apparatus for performing modular exponentiation |
Also Published As
Publication number | Publication date |
---|---|
WO2008112273A1 (en) | 2008-09-18 |
US8280041B2 (en) | 2012-10-02 |
US20080226064A1 (en) | 2008-09-18 |
TW200844847A (en) | 2008-11-16 |
DE112008000668T5 (de) | 2010-04-15 |
CN101632255B (zh) | 2014-03-05 |
CN101632255A (zh) | 2010-01-20 |
DE112008000668B4 (de) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI448963B (zh) | 用於密碼系統之以中國餘數定理為基礎之計算方法 | |
JP4875700B2 (ja) | ランダム化されたモジュラー多項式のリダクション方法およびそのためのハードウェア | |
US9596080B2 (en) | Method of generating prime numbers proven suitable for chip cards | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
US8619977B2 (en) | Representation change of a point on an elliptic curve | |
JP4137385B2 (ja) | 公開鍵および秘密鍵による暗号化方法 | |
US20030152218A1 (en) | Cryptography method on elliptic curves | |
JP2011530093A (ja) | 累乗法による暗号化を保護する解決策 | |
JP7155173B2 (ja) | 外部監視攻撃からモジュラーインバージョン演算を保護すること | |
EP2334006A1 (en) | Side-channel resistant modular exponentiation | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
WO2019121747A1 (en) | Device and method for protecting execution of a cryptographic operation | |
TWI512610B (zh) | 利用模數的特殊形式之模組約化 | |
KR100737667B1 (ko) | 암호 체계의 개인 키 저장 및 복원 방법과 장치 | |
Paar et al. | The RSA cryptosystem | |
EP1443699A1 (en) | Information processing means and IC card | |
US7903814B2 (en) | Enhancing the security of public key cryptosystem implementations | |
JP4626148B2 (ja) | 復号または署名作成におけるべき乗剰余算の計算方法 | |
CN1985458A (zh) | 增强的自然蒙哥马利指数掩蔽 | |
EP3166013B1 (en) | Modular exponentiation using randomized addition chains | |
KR20090004625A (ko) | 공개 키 암호화 연산의 순서 변경 방법 | |
CN104125061A (zh) | 使用rsa加密算法的电子部件中的防攻击方法 | |
JP4502817B2 (ja) | 楕円曲線スカラー倍計算方法および装置 | |
Kaduskar | A New Architecture for RSA Algoritmm Using Vedic Mathematics | |
KR101805840B1 (ko) | 암호 계산을 위한 방법, 장치 및 비일시적이고 컴퓨터로 독출가능한 매체 |