TW200413954A - Information processing method - Google Patents

Information processing method Download PDF

Info

Publication number
TW200413954A
TW200413954A TW092113863A TW92113863A TW200413954A TW 200413954 A TW200413954 A TW 200413954A TW 092113863 A TW092113863 A TW 092113863A TW 92113863 A TW92113863 A TW 92113863A TW 200413954 A TW200413954 A TW 200413954A
Authority
TW
Taiwan
Prior art keywords
mod
bit
calculate
remainder
processing
Prior art date
Application number
TW092113863A
Other languages
English (en)
Inventor
Masahiro Kaminaga
Takashi Endo
Takashi Watanabe
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of TW200413954A publication Critical patent/TW200413954A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/728Methods 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 using Montgomery reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Stored Programmes (AREA)

Description

1 200413954 (1) 玖、發明說明 【發明所屬之技術領域】 本發明係關於資訊處理方法,特別是例如 高的1C卡等之耐篡改裝置。 【先前技術】 在RSA之高速運算手法的CRT (Chinese Theory :中國餘數定理)運算方式中,在計算的 驟中,計算X mod p。第1圖係顯示CRT運算:ΐ 步驟。首先,對於以ρ還原之値,進行餘數幕 1 0 1 〇 ),對於以q還原之値,進行冪次餘數運寞 。最後,合成2個冪次餘數運算結果(1 0 3 0 ), 終的結果。在最初之以P還原之値的餘數冪次這 )及以q還原之値的冪次餘數運算(1 020 )的:* ,分別需要計算對於祕密指數P之餘數、對於i 之餘數。在計算冪次餘數上,藉由重複進行餘· 現。 在1010、1 020之冪次計算上,通常利用力[ 。所謂加法鏈係利用例如在計算Ζ = ΑΛ L時,將 開爲二進制,予以置換, L=L[n-l]*2A(n-l)+L[n-2]*2A(n-2) + 〜+L[l]*2Al+L[0]*2」 ,指數之加法成爲乘法,指數之乘法成爲冪次則 法則,將Ζ = ΑΛ L之計算置換爲: Z: = (-((AAL[n-l] Λ2 *((AAL[n-2] Λ 2 * ··· * (ΑΛ L[0]) 於機密性
Remainder 丨最初的步 ί式之處理 ;次運算( Ε ( 1 020 ) 而獲得最 【算(1010 t初步驟中 B密指數q J乘法而實 ]法鏈手法 指數L展 (式 1) —算之指數 (式2) (2) 200413954 ΑΛ L[i]在 L[i] = l 時,成爲 a,如爲 L[i] =1,在L[i] = 0時,如省略1之乘法,藉由以 L時之成爲1的位元數次的乘法和m -1次之平 以計算Α Λ L。 如以程式表現時,則成爲: Z=1 for ( i = n-1 ; i> = 〇 ; i + +) { w : =w*w; if ( L[i]= =1) then Z : =Z*A; else W := 在餘數乘法方式上’可分爲大大利用: Montgomery)餘數乘法,和不是如此之兩種。 第2圖係利用蒙哥馬利餘數乘法時之藉由 次餘數計算之處理流程。η係顯示儲存p上足 。首先,以2020求X對於Ρ的餘數。在蒙哥 法中,在乘算時,被乘上2Λ (-n) modP,所. 2Λη乘上操作數(operand)。以下,設R = 2 數乘上R時,也是利用蒙哥馬利餘數乘法。預 RΛ 2後,利用蒙哥馬利餘數乘法,乘於X m 0 d xR mod Ρ ( 2040 )。由於利用蒙哥馬利餘數乘 算之初期値,以1乘上R之R代替1。乘法之 數之最上位的位元各1位元予以取出,所以在 定表示最上位位元之位置的n-1 (2050)。由 =0 時,Α Λ 0 2進制表不 方計算,可 W* 1 * 衰哥馬利( 加法鏈的冪 夠之位兀長 馬利餘數乘 “預先將 Λ η。在操作 先計算 Ρ,獲得 法,所以運 處理係由指 計數器i設 指數上位位 •6- (3) (3)200413954 元依序調查是否立起1 ( 2060 ),如爲0,乘上意指1之 R ( 2070 ),如立起 1,於 W 乘上 xRmodP(=AR) (2080 )。乘上意指1之R的處理2070,不對計算結果 產生影響,所以在重視處理速度時,可以省略。1位元份 移動位元之位置計數器(2090 ),檢查是否到達最下位位 元(2100 ),在未達最下位位元時,將結果平方(21 10 ) ,對於指數之下一位元,由3060之處理開始重複處理。 在2100至最下位位元而處理結束時,爲了去除乘上2Λ η 之影響,所以乘上2 Λ ( -η )。在蒙哥馬利餘數乘法中, 計算與1之乘積時,係與乘上2Λ (-η)相等(3120)。 最後,結果在Ρ以上時(2130 ),減去Ρ ( 2140 )。在一 連串之處理中,2 0 2 0之餘數運算結果,如第3圖所示’ 以Ρ之倍數(3 0 1 0 )爲界,基於比Ρ大或者小,其値大爲 變動,有成爲攻擊點之可能性。 「圖4」係利用不是蒙哥馬利之餘數乘法,進行藉由 加法鏈之冪次餘數運算時的處理流程。將Ρ之位元長設爲 η。接著,首先在4020求X對於Ρ之餘數。與利用蒙哥馬 利餘數乘法時的處理相同,求得此對於Ρ之餘數的運算也 有成爲攻擊點之可能性。由於利用通常之餘數乘法’所以 運算之初期値設爲1,由最上位之位元各1位元取出’所 以在計數器i設定顯示最上位位元之位置的η· 1 ( 4040 ) 。由指數上位位元依序調查是否立起1( 4050 ),如立起 1,則對於W乘上X m 〇 d P ( = A ) ( 4 0 7 0 ) ’如位元値爲 〇,乘上意指1 (4060)。另外’由於乘上1之處理4060 -7- (4) 200413954 ,並不對計算結果產生影響,所以在重視處理速 以省略。在4070之處理中,x mod p之値被使 數,所以此也有成爲攻擊對象之可能性。將位元 下移動1位元(3 0 8 0 ),在未到達最下位時,將 (3 090 ),進行指數之下一位元的處理。在至最 處理結束時,該時間點的W成爲計算結果。 如上述般,在利用蒙哥馬利餘數乘法時,進 餘數乘法時,藉由P之餘數乘法結果在處理之最 要,有成爲攻擊點之可能性。 RS A密碼係標準用於認證或祕密金鑰之配送 ,在金融用途等,其之運算的安全性受到非常高 RSA密碼之高速運算手法雖然利用中國人餘數定 手法被廣爲利用,但是在其之最初的運算中,需 密質數P之餘數計算。此計算係將祕密質數P用 算,所以自古以來便是攻擊的對象。在藉由P之 的問題點爲,如第2圖所示般,在X爲p之倍 2010)的値x<kp中,X mod p与p,變成大的値 面,在x>xp時,xmodp^O,成爲小的値。xm 以P爲界,大爲變動,所以輸入X比祕密指數P ,有可以辨識爲電流値等之側通道資訊(sid< information)之危險性。在RSA密碼中,以大 現在,使用512位元程度之質數)p、q之積N 做因數分解爲安全性之根據,N作爲公開金鑰之 而公開給使用者。祕密質數P或者q如洩漏時, 度時,可 用於操作 之位置往 結果平方 下位爲止 行通常之 初都爲必 等的密碼 的重視。 理之計算 要藉由祕 於明的計 餘數計算 數附近( ,另一方 〇 d p之値 大或者小 5 channel 的質數( 無法容易 一部份, N/p可容 -8 - 200413954
易加以計算,所以藉由以公開金鑰e之(p _ 1 ) ( q- 1 )爲 除數之倒算,可以求得祕密金鑰d。倒算係可以藉由延伸 歐幾里德互除法而容易計算。本發明係關於高速且安全進 行適於C RT之餘數計算的計算方法及裝置。 【發明內容】 不直接計算X mod P,預先乘上 2Λ ( m + n ) mod p 或者2Λ (2n) modp,之後’乘上2Λ (-η)或者 2Λ ( -m ),以計算2Λ η mod ρ。ρ爲大的質數,所以經常 成爲奇數,與2的冪次經常互爲質數,所以 2A ( - m ) mod ρ 或者 2Λ (-n) mod ρ — 定存在。另外 ,2Λ n mod ρ之値即使在輸入x在ρ之附近時,也不會發 生依存於X和Ρ之大小關係的値之大的變化, 2Amx mod ρ之位元長成爲接近Ρ之位元長的値。因此, 不可能由洩漏資訊推算X和P之大小關係,可以防止祕密 金鑰的洩漏。在利用蒙哥馬利餘數乘法時,乘上2 Λ η之 形式,其原樣成爲蒙哥馬利格式,在以後之處理,可以利 用習知的處理流程。 在不利用蒙哥馬利餘數乘法時’在指數運算計算的最 後,乘上(2Λ (-η) ) Λ ( 2Λ η-1 ) modp,藉由補正乘 上2 Λ n m o d ρ之影響,可以獲得正確的結果。 再利用蒙哥馬利乘法以外的餘數乘法時,於進行乘法 和自乘後,乘上R/ (-2) modp。預先計算 RΛ (-2m) modp,最後’乘上 -9- (6) (6)200413954 RA (-(2Am) +1) modp 予以補正。 【實施方式】 第5圖係顯示利用蒙哥馬利餘數乘法時的本發明之一 貫施例。設πι爲輸入X之儲存所必要的位元長,η爲p之 儲存所必要之位元長。0$xSP*Q,所以一定是mgn。 首先,計算 U = 2aU — SQR = 2a ( 2 η ) U mod P ( 5 03 0 )。第 7圖顯示計算U — SQR = 2A ( 2i〇 U mod P之部份的詳細處 理流程。在第7圖中,雖顯示了 2AL*U mod P之計算步 驟,以L = 2n,可以利用第7圖之處理。U_SQR之位元長 係成爲m-2n或者n中的長的一方的位元長。5 040之計算 成爲· A_R= ( X*U 一 SQR + M*p ) /2Λ m (式 3) x<2Am,M<2Am 之故, A_R<U—SQR+p (式 4) ° P之位元長在n以下,所以A-R之位元長成爲 MAX ( m-2n、n)。此位元長在n以下時,需要: m-2n<n (式 5 ) m<3n (式 6 ) 。通常之情形下,2n<3n,所以A-R之位元長成 爲η °在進行5 05 0之處理上,需要5 040之處理結果成爲 η以下。在沒有滿足m<3n時,進行藉由第6圖所示之別 的實施例的方法。如以別的方式書寫5 〇 5 〇之處理時,雖 成爲 -10- (7) (7)200413954 (A-R + (-A,R*PA (-l)mod 2Λ η)*ρ)/2Λ n (式 7) ,但是由於Α_:Κ<2Λ 11,而且 (_A R*pA (-1) mod2An) <2 η’ 所以 (A-R + (_A一R*P〜(])m〇d 2Λ η)*ρ)/2Λ η <1+Ρ (式 8) 5 05 0之處理後的A__R —定成爲Ρ以下,可以η位元 長表現。另外,在5050中,A_R之値與Ρ成爲相等只在 X之値成爲P的倍數時。 以數學式表現5030至5050之處理時’ 成爲· A_R 三 χ*2Λ (2η)*2Λ (ιη)*2Λ (-m)*2(-n) mod P (式 9) 三 x * 2Λ ( 2n + m-m-n ) mod Ρ (式 10) 三 χ*2Λ n mod Ρ (式 1 1) 5 05 0以後之處理,與第3圖之3 05 0以後的處理相同 °x之値成爲ρ之倍數時,以第2圖中之2130、2140之 處理,在最終予以補正之。 第6圖係顯示利用蒙哥馬利餘數乘法時的本發明之別 的一貫施例。設m爲輸入x之儲存所必要的位元長,η爲 Ρ之儲存所必要之位元長。〇SxSP*Q,所以一定是m-n 。首先,設 L = n + m,依據第 7圖所示之流程,計算 U’ —SQR = 2a ( n + m ) u mod Ρ (6030)。在進行 6040 以後 之處理上’雖然需要U,_SQR之位元數在m以下,但是 U’-SQR 一定在m位元以下。在6050之處理中,雖爲: -11 - (8) (8)200413954 (A-R + (-A^R*PA (1 ) mod 2Am)*p)/2Am (式 12) ,但是由於 A_R<2An,而且(-A-R*〆(])mod 2Am) <2Λ m,所以 (A-R + (-A一R*P' (-Omod 2λ m)*P)/2〜m <1+p (式 13) 5〇6〇之處理後的A_R —定成爲P以下,可以n位元 長表現。另外,在605 0中,A_R之値與p成爲相等只在 X之値成爲p的倍數時。 以1個數學式表現6030至6050之處理時, 成爲: A_R = X * 2 Λ (n + m) * 2 Λ (m) * 2 Λ (-m) * 2 (-m) mod P (式 14) =x * 2Λ ( n + m + m-m-m ) mod P (式 15) ΞΧ*2Ληηΐ0(ΐΡ (式 16) 605 0以後之處理,與第3圖之3 05 0以後的處理相同 °X之値成爲P之倍數時,以第2圖中之2130、2140之 處理’在最終予以補正之。另外,與第5圖之實施例不同 ’不需要m<3n之條件。 胃7 Μ «示第5、第6圖所示實施例所必要的計算 2 Λ I^U mod p之實施例。第7圖之步驟係藉由下位位元起 之加法鍵’計算W : =2Λ L*R mod P。W之初期値係控制 在m位兀之形式,使之成爲We 2* ( 2Λ m) mod P之値 。以2進制袠現L時,在最上位以外的位元沒有1時,雖 可只以L次之餘數自乘計算而予以計算,但是在L最上 -12- (9) 200413954 位位元以外有成爲1之位元時,在中途需要進行乘算。因 此’準備顯示在L最上位以外的位元位置是否發現1之變 數mill ( 7005 ) 。7010之處理係P之最上位位元成爲與m 的最上位位元之位置相等而減去進行移位之値,以使之控 制在m位元之値用的處理。7020、7030、7040、7050之 處理係設W之最上位2位元爲〇之處理。此處理係進行 爲使最終的運算結果控制在η位元用。進行處理是否到達 最上位位元之檢查(7060),在到達時,檢查變數mu 1之 値(7 0 8 0 ),如爲1,在Y儲存相當於L之中途位元的結 果’對於W乘上 Y ( 7090 ),當成結果。在處理沒有到 達最上位位元時,進行L之最下位位元位置是否有1之檢 查(70 70 ),在有1時,在變數Y保存W之値。檢查 mul之値(7100 ),在最上位以外的位元開始見到1時, 將W之値帶入γ(7120),在mul設定1(7130) 。7120 之處理本來等於在Y帶入1,計算Y: =Y*W。另外,在 7 100之檢查中,已經在最上位以外的位元見到1時,以 蒙哥馬利餘數乘法進行R之餘數自乘計算(7 1 40 ),將L 往右移位1位元(7150),重複7060起之處理。 7 140之Υ*Υ*2Λ ( -m) mod p之計算係等於: (A* A + M*p ) / ( 2Λ m ) (式 17) 。此處, Μ = -Υ*Υ*(ρΛ („!) m〇d2Am<2Am (式 18) 。因此, (式 19) (Υ*Υ + Μ*ρ)/(2Λ m)<(Y*Y + 2A m*p)/(2A m) -13- (10) (10)200413954 另外,如設將γ儲存在m位元長之記憶體時的最上 位之成爲〇的位元數爲s時,則爲: Υ<2λ ( m-s ) (式 20 ) Υ< = 2λ (m-s) -1 (式 21) (Y*Y + 2Am*p)/(2Am)< = ((2A(m-s)-l)A2 + 2Am*p)/2Am (式 22) = 2A(m-2s)-2A(l-s) + 2A(-m) + p (式 23) <2Λ(m-2s)+p+l (式 24) 之故,7140之(Y*Y + M*P) / 2Am之運算結果爲··每進 行1次運算,最上位之〇的位元之數字成爲s[t+l]: = 2s[t] - 1。因此,在2Λ ( m-2s )比p大時,在t次計算後 ,由最上位起連續之0的位元數成爲s[0]* 2Λ (卜1), 如2Λ ( m - 2 s )比ρ小,位元長則由ρ決定。在8 0 2 0、 8030、8040、8050之處理中,最上位之2位元設定爲〇, 所以s[0] = 2,實行t次8140後之位元數成爲m_2A t或者 η。另外,t之次數爲t = l〇g2(L)之故,位元數成爲max (m-L 、 η) 。 第8圖係顯不利用通常之餘數乘法時的本發明之一實 施例。設m爲輸入X之儲存所必要之位元長,η爲Ρ之儲 存所必要之位元長。首先,依據第9圖之流程,計算 2Λ n mod Ρ 9設爲R(8020)。接著,對於輸入x乘上 R ( 8030)。最後計算進行補正用之R — ITOTAL ( 8040) ,此處理如P已\經確定,可以獨立於輸入値X而計算,所 以也可以預先計算後予以保存。在實際的計算中,首先, 依據「第10圖」之步驟計算2A(-n)m〇dP,當成 -14- (11) (11)200413954 R —INV,以R及R — INV爲基礎,依據第1圖之步驟,計 算(R — INV ) Λ ( 2Λ n-1 ) mod Ρ,當成 R_ITOTAL。由於 利用通常之餘數計算,所以運算的初期値W設爲1,在計 數器i設定顯示最上位位元之位置的η - 1 ( 8 0 5 0 )。由指 數上位位元依序調查是否立起1 ( 8 060 ),如立起1,則 對於W乘上xRmodP(=A —R) (4080),如位元値爲〇 ,乘上意指1之R ( 8 0 70 )。將位元之位置往下移動1位 元(8 0 9 0 ),檢查處理是否到達最下位位元而結束(8 1 0 0 ),在處理未到達最下位時,將結果平方(8 1 1 0 ),進行 指數之下一位元的處理。在8070、8080之處理中,與通 常之處理相比,R —定每次被多乘之故,所以處理至最下 位位址結束時,變成被多餘乘上ΙΙΛ ( 2Λ n-1 )。爲了去除 多餘乘上之RA ( 2Λ n-1 )的影響,最後乘上r_it〇TAL ( 8210)。 第9圖係在第8圖之實施例中的8 0 2 0中計算2Λ L mod Ρ處理的一實施例。在以2進制表現L時,於最上位 以外的位元沒有1時,雖可以L次之餘數自乘計算而予以 計算,但是在L最上位位元以外有成爲1之位元時,需要 在中途進行乘算。準備顯示是否在L之最上位以外的位元 位置發現1之變數mul,將其初期化爲0(9005)。接著 ,以2初期化R ( 90 1 0 )。進行處理是否到達最上位位元 時的檢查(9060),在到達時,檢查變數mul之値(9080 )’如爲1 ’在Y儲存相當於L之中途的位兀之結果,所 以對於R乘上γ( 9090 ),當成結果。在處理未達最上位 -15- (12) (12)200413954 位元時,進行L之最下位位元位置是否有1之檢查(9070 ),在發現時,保存在變數Y。檢查mul之値(9100), 在最上位以外之位元開始發現1時,將R之値帶入Y ( 9120),於mul設定1(9130) 。9120之處理本來等於將 1帶入Y,計算Y : =Y*R。另外,在9100之檢查中,於 最上位以外之位元已經在過去發現1時,對於Y之値乘 上現在的R之値(9110)。計算R之餘數自乘(9140) ,將L往右移位1位元份後(9150 ),再度回到由9060 開始之處理。
第10圖係在第8圖之實施例中的8040計算RJNV : =2Λ ( -n ) mod P之處理的一實施例。第10圖之步驟係 藉由由下位位元起之加法鏈以計算R_INV ·· =2Λ ( -L ) mod Ρ °以2進制表現L時,在最上位以外的位元沒有1 時’雖可只以L次之餘數自乘計算而予以計算,但是在L 最_h位位7C以外有成爲1之位元時,在中途需要進行乘算 。因此’準備顯示在L最上位以外的位元位置是否發現1 之變數mul,將其初期化爲〇 ( 1〇〇〇5 )。接著,以17/ 2 初期化R ( 1 〇〇丨〇 )。在初期化爲i / 2時,雖可以將1往 右移位1次’但是將1往右移位時,會成爲0,所以首先 ’加上P後,才進行往右移位。P之値爲大的質數,所以 一定成爲奇數。因此,1+P —定成爲偶數,可以往右移位 。接著’進行處理是否到達最上位位元時的檢查(1 0060 )’在到達時,檢查變數mul之値(10080),如爲1, 在Y儲存相當於L之中途的位元之結果,所以在r_INV -16- (13) (13)200413954 乘上R( 10090),當成結果。在處理未到達最上位位元 時,進行最上位以外之位元位置是否有1之檢查(1 0070 ),在發現時,保存於變數Y。檢查mul之値(9100 ), 在最上位以外之位元開始發現1時,將R之値帶入Y ( 9120),在mul設定1(9130) 。9120之處理本來等於將 1帶入Y,計算Y:=Y*R。另外,在9100之檢查中,於 最上位以外之位元已經在過去發現1時,對於Y之値乘 上現在的R之値(9110)。計算R之餘數自乘(9140) ,將L往右移位1位元份後(9150 ),再度回到由9060 開始之處理。 第 11圖係在第 8圖之實施例中的 8040中計算 R_ITOTAL : = ( R_INV ) Λ (2Λη-1) mod Ρ 之處理的一實 施例。運算方法係如式26所示,藉由在R_INVA ( 2Λ η ) 乘上R而進行。R_INVA ( 2Λ η )係藉由η次重複餘數自 乘運算而計算。 (R_INV)A(2An-l)mod Ρ二 R—ΙΝνΛ(2Λη)* R_INVA(-1) mod Ρ (式 25) -R_INVA (2Λ n)* R mod P (式 26) 首先,以R — INV初期化R —ITOTAL ( 1 1010 ),接著 ,將進行餘數自乘運算之次數η帶入變數i ( 1 1 020 ),將 R_I TOTAL之餘數自乘値帶入r_it〇TAL( 11030),由計 數器用變數i減去i ( 1 1 040 ),計數器變數i之値如比0 大(1 1 05 0 ),則重複由1 1〇3〇起之處理。最後,將R對 R_ ITOTAL進行餘數乘算之値帶入r_it〇TAL ( 11060), 送返結果。 -17- (14) (14)200413954 附記: 1 · 一種處理方法,其特徵爲:在除數N之計算上’ 對非操作數事先乘上冪次方與N互爲質數之値的値,在 計算後,藉由乘上對於與上述N互爲質數之値的冪次方 値之除數N的倒數而予以計算。 2 · —種處理方法,是針對在除數N之餘數計算上, 對非操作數事先乘上冪次方與N互爲質數之値的値,在 計算後,藉由乘上對於與上述N互爲質數之値的冪次方 値之除數N的倒數之處理方法,其特徵爲:除數N係比2 大的質數之積,使用2作爲與上述N互爲質數之値。 3 · —種資訊處理裝置,是針對具有蒙哥馬利餘數乘 法裝置,設P爲質數,對於x>P之X,在計算 X* ( 2Λ n) mod Ρ之資訊處理裝置,其特徵爲:設儲存 輸入値X所必要之位元長爲m,在將輸入値轉換爲 X * ( 2Λ n ) mod Ρ 時,計算 2Λ ( 2m + n ) mod P,或者事 先準備好,藉由蒙哥馬利餘數乘法裝置,計算 χ1=χ*2Λ (2m + n)*(2A(_m))mod Ρ = χ*2Λ(2Λη) mod Ρ,另外, 計算 x2: = x 1 * ( 2Λ ( -m ) ) mod P = x* ( 2Λη) mod P, 不用明的求得xmodP而可計算x* (2Λη) modP。 4 · 一種資訊處理方法,是針對以Ρ爲質數,對於 x>P之X,計算X* ( 2Λ n) mod Ρ之資訊處理方法,其特 徵爲:設除數爲Ρ,輸入値爲X,儲存除數Ρ所必要之充 分的位元數爲η,儲存輸入値X所必要之位元長爲m,在 -18- (15) (15)200413954 將輸入値轉換爲x* ( 2Λ n) mod Ρ時,計算 2 Λ ( 2m + n ) mod P,或者預先準備好,藉由冡哥馬利餘 數乘法,計算 Χ1=Χ*2Λ(2Μ + Ν)*(2Λ(-Μ))ΜΟϋ Ρ = Χ* 2Λ(Μ + Ν) MOD Ρ,另 外,計算 x2:=xl*(2A(-m))mod Ρ = χ*(2Λη) mod P,不用明 的求得xmodP而可計算x* (2Λη) modP。 5 . —種資訊處理裝置,是針對具有蒙哥馬利餘數乘 法裝置,設P爲質數,對於x>P之X,在計算 X* ( 2Λ n ) mod Ρ之資訊處理裝置,其特徵爲:設除數 爲Ρ,輸入値爲X,儲存除數Ρ所必要之充分的位元數爲 η,儲存輸入値X所必要之位元長爲m,在將輸入値轉換 爲 χ*(2Λη) mod P 時,計算 2Λ (m + 2n) mod P,或 者預先準備好,藉由蒙哥馬利餘數乘法裝置,計算 xl=x*2A(m + 2n)*(2A(-m))mod Ρ = χ*2Λ(2η) mod Ρ,另外, 計算 x2: = x 1 * ( 2Λ ( - η ) ) mod Ρ = χ* ( 2Λη) mod Ρ, 不用明的求得xmodP而可計算χ* (2Λη) modP。 6 · —種資訊處理方法,是針對以P爲質數,對於 x>P2 X,計算X* (2Λη) mod Ρ之資訊處理方法,其特 徵爲:設除數爲P,輸入値爲X,儲存除數ρ所必要之充 分的位元數爲η,儲存輸入値x所必要之位元長爲m,在 將輸入値轉換爲X * ( 2 Λ n ) m o d Ρ時,計算 2Λ ( m + 2n) m o d Ρ,或者預先準備好,藉由蒙哥馬利餘 數乘法,計算 xl=x*2A(m + 2n)*(2A(-m))m〇d Ρ = χ*2Λ(2η) mod Ρ,另外, -19- (16) (16)200413954 計算 x2: = xl *(2A(-n))mod Ρ = χ*(2Λη) mod P,不用明的求 得 xmodP 而可計算 x* (2Λη) modP。 7. 一種資訊處理裝置,是針對設除數爲P,儲存除 數P所必要之充分的位元數爲η,儲存輸入値X所必要之 位元長爲m,設指數爲d,各s位元取出冪次之指數,合 成每s位元之冪次運算結果,而進行XΛ d m 〇 d P之冪次餘 數運算的資訊處理裝置,其特徵爲:設各s位元取出之指 數的第i個之指數爲d[i]時,代替運算xA d[i]mod P,而 利用(2Λη) Λ (2As-l) *xAd[i] mod P 進行運算,在計 算(2Λη) Λ ( 2Λ η-1 ) *xAdmodP 後,乘上 2 Λ ( -η ) Λ ( 2Λ η- 1 ) modP,以計算 xAdmodP。 8 . —種資訊處理方法,是針對設除數爲Ρ,儲存除 數Ρ所必要之充分的位元數爲η,儲存輸入値X所必要之 位元長爲m,設指數爲d,各s位元取出冪次之指數,合 成每s位元之冪次運算結果,而進行xA d mod P之冪次餘 數運算的資訊處理方法,其特徵爲:設各s位元取出之指 數的第i個之指數爲d[i]時,代替運算xAd[i]mod P,而 利用(2Λη) Λ (2As-l) *xAd[i] mod P 進行運算,在計 算(2Λ η ) Λ ( 2Λ η-1 ) *χΛ d mod Ρ 後,乘上 2Λ ( - η ) Λ ( 2Λ η -1 ) modP,以計算 xAdmodP。 發明之效果 如依據本發明,在冪次餘數運算的CRT計算中,可 以不直接進行藉由祕密質數之輸入値的餘數計算而予以計 -20- (17) (17)200413954 算,所以難於一面改變輸入而一面觀測消耗電流等,以推 測祕密質數。「第1 2圖」係顯示藉由通例之方法的計算 時之X mod P的位元長及權重(在以2進制表現値時,成 爲1之位元的數字)。「第13圖」係顯示本發明之相當 於X mod P之χ*2Λη mod P之位元長及權重。在第12圖 中,雖然輸入資料之値和X mod P之間沒有顯現依存性, 但是在第13途中’不依存於輸入資料’位元長及權重成 爲—*定値,可以確認沒有顯現依存性。 【圖式簡單說明】 第1圖係通例之RSA用CRT運算方式之處理流程。 第2圖係利用蒙哥馬利餘數乘法時的通例之適於CRT 方式冪次餘數運算之處理流程。 第3圖係X和以祕密質數p進行X之餘數計算的結果 曲線。 第4圖係利用通常之餘數乘法時的通例之適於CRT 方式冪次餘數運算之處理流程。 第5圖係依據本發明之利用蒙哥馬利餘數乘法的安全 的餘數運算處理之一實施例。 第6圖係依據本發明之利用蒙哥馬利餘數乘法的安全 的餘數運算處理之別的一實施例。 第7圖係依據本發明之利用蒙哥馬利餘數乘法的安全 的餘數運算處理之部份處理一實施例° 第8圖係依據本發明之安全的冪次餘數運算處理的一 »21 - (18) (18)200413954 實施例。 第9圖係依據本發明之安全的冪次餘數運算處理的部 份處理一實施例。 第1 〇圖係依據本發明之安全的冪次餘數運算處理的 部份處理一實施例。 第1 1圖係依據本發明之安全的冪次餘數運算處理的 部份處理一實施例。 第1 2圖係通例之X和以祕密質數p進行X之餘數計 算的結果曲線圖。 第1 3圖係依據本發明之X和以祕密質數p進行X之 餘數計算的結果曲線圖。 -22-

Claims (1)

  1. (1) (1)200413954 拾、申請專利範圍 1 · 一種資訊處理方法,是針對將Λ定義爲冪次運算 ,設Ρ爲質數,對於x>P2x,計算χ*(2Λη) mod P 之資訊處理方法,其特徵爲: 設除數爲P,輸入値爲X,儲存除數P所必要之充分 的位元數爲η,儲存輸入値X所必要之位元長爲m,在將 輸入値轉換爲X* ( 2Λ n) mod Ρ時,計算 2Λ ( 2m + n ) m o d Ρ,或者預先準備好,藉由蒙哥馬利餘 數乘法,計算 Χ1=Χ*2Λ(2Μ + Ν)*(2Λ(-Μ))ΜΟϋ Ρ = Χ*2Λ(Μ + Ν) MOD Ρ,另 外,計算 x2: =xl * ( 2a (-m) ) mod P = x* ( 2A n ) mod P’不用明求xmodP而可計算x* (2Λη) modP。 2 · —種資訊處理方法,是針對將Λ定義爲冪次運算 ’設Ρ爲質數,對於χ>Ρ之X,計算χ*(2Λη) mod Ρ 之資訊處理方法,其特徵爲: 設除數爲Ρ,輸入値爲X,儲存除數Ρ所必要之充分 的位元數爲η,儲存輸入値X所必要之位元長爲m,在將 輸入値轉換爲X* (2Λη) modP時,計算 2Λ ( m + 2n ) m o d Ρ,或者預先準備好,藉由蒙哥馬利餘 數乘法,計算 xl=x*2A(m + 2n)*(2A(-m))mod Ρ = χ*2Λ(2η) mod Ρ,另外,計算 x2:=xi*(2A(-n))mod Ρ = χ*(2Λη) mod Ρ ,不用明求xmodP而可計算χ* (2Λη) modP。 3 . —種資訊處理方法,是針對設除數爲Ρ,儲存除 數Ρ所必要之充分的位元數爲η,儲存輸入値X所必要之 -23- (2) 200413954 位元長爲m,設指數爲d,各s位元取出冪次之指數,合 成每s位元之冪次運算結果,而進行χΛ d mod P之冪次餘 數運算的資訊處理方法,其特徵爲: 設各s位元取出之指數的第i個之指數爲d[i]時,代 替運算 χΛ d[i]mod P,而利用(2An)A(2As-l)*xAd[i] mod P 進行運算,在計算(2Λ η) Λ ( 2Λ n-1 ) *χΛ d mod P後, 乘上 2Λ (-η) Λ ( 2Λ η - 1 ) modP,以計算 xAdmodP。 •24-
TW092113863A 2003-01-23 2003-05-22 Information processing method TW200413954A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003014136A JP2004226674A (ja) 2003-01-23 2003-01-23 情報処理方法

Publications (1)

Publication Number Publication Date
TW200413954A true TW200413954A (en) 2004-08-01

Family

ID=32652817

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092113863A TW200413954A (en) 2003-01-23 2003-05-22 Information processing method

Country Status (5)

Country Link
US (1) US20040148325A1 (zh)
EP (1) EP1443699A1 (zh)
JP (1) JP2004226674A (zh)
KR (1) KR20040067779A (zh)
TW (1) TW200413954A (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
FR2884004B1 (fr) * 2005-03-30 2007-06-29 Oberthur Card Syst Sa Procede de traitement de donnees impliquant une exponentiation modulaire et un dispositif associe
WO2006110954A1 (en) * 2005-04-20 2006-10-26 Synaptic Laboratories Limited Process of and apparatus for counting
FR2888690A1 (fr) * 2005-07-13 2007-01-19 Gemplus Sa Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
FR2916113B1 (fr) * 2007-05-07 2009-07-31 Oberthur Card Syst Sa Procede de traitement cryptographique d'un message.
US8774400B2 (en) * 2008-01-03 2014-07-08 Spansion Llc Method for protecting data against differntial fault analysis involved in rivest, shamir, and adleman cryptography using the chinese remainder theorem
EP2264939B1 (en) 2008-03-31 2015-03-04 Fujitsu Limited Encrypting method having countermeasure function against power analyzing attacks
US8392494B2 (en) * 2009-06-26 2013-03-05 Intel Corporation Method and apparatus for performing efficient side-channel attack resistant reduction using montgomery or barrett reduction
CN102468956A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 适用于rsa模幂计算的方法
CN104104504B (zh) * 2014-07-22 2017-05-10 大唐微电子技术有限公司 一种rsa解密的方法及装置
CN104811297B (zh) * 2015-04-23 2018-06-12 成都信息工程学院 针对RSA之M-ary实现模乘余数输入侧信道攻击
CN106452789B (zh) * 2016-11-02 2019-06-18 北京宏思电子技术有限责任公司 一种多方位防侧信道攻击的签名方法
EP3866142B1 (en) * 2018-10-10 2023-12-06 Nippon Telegraph And Telephone Corporation Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program
CN114327370B (zh) * 2022-03-10 2022-06-21 湖北芯擎科技有限公司 计算蒙哥马利模乘算法中mr值的方法及电路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2726668B1 (fr) * 1994-11-08 1997-01-10 Sgs Thomson Microelectronics Procede de mise en oeuvre de reduction modulaire selon la methode de montgomery
JP3542278B2 (ja) * 1998-06-25 2004-07-14 株式会社東芝 モンゴメリ・リダクション装置及び記録媒体
US7607165B2 (en) * 2001-03-09 2009-10-20 The Athena Group, Inc. Method and apparatus for multiplication and/or modular reduction processing
IL143951A0 (en) * 2001-06-21 2003-09-17 Discretix Technologies Ltd A method and apparatus for carrying out efficiently arithmetic computations in hardware

Also Published As

Publication number Publication date
JP2004226674A (ja) 2004-08-12
KR20040067779A (ko) 2004-07-30
EP1443699A1 (en) 2004-08-04
US20040148325A1 (en) 2004-07-29

Similar Documents

Publication Publication Date Title
EP0566498B1 (en) Digital signature device and process
US7904498B2 (en) Modular multiplication processing apparatus
US8209369B2 (en) Signal processing apparatus and method for performing modular multiplication in an electronic device, and smart card using the same
JP4662802B2 (ja) 計算方法、計算装置及びコンピュータプログラム
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
TW550498B (en) Method and apparatus for modular multiplying and calculating unit for modular multiplying
TW200844847A (en) Chinese remainder theorem-based computation method for cryptosystems
TW200413954A (en) Information processing method
EP1421472A2 (en) A method and apparatus for carrying out efficiently arithmetic computations in hardware
JP4977300B2 (ja) 暗号法及び装置
JP3785044B2 (ja) べき乗剰余計算装置、べき乗剰余計算方法及び記録媒体
US20020101984A1 (en) Power-residue calculating unit using Montgomery algorithm
US6480606B1 (en) Elliptic curve encryption method and system
JP4177526B2 (ja) 乗算剰余演算方法および乗算剰余回路
JP4616169B2 (ja) モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム
US10318245B2 (en) Device and method for determining an inverse of a value related to a modulus
JP3796867B2 (ja) 素数判定方法および装置
CN117280316A (zh) 用于确定与给定高斯整数模高斯整数模数的高斯整数同余的计算机实现的方法,用于确定给定高斯整数模高斯整数模数的约简的方法,以及密码方法和纠错方法
JP5179933B2 (ja) データ処理装置
RU2409903C2 (ru) Способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
Sookraj Continued fractions and cryptographic applications
Al-Tuwaijry et al. A high speed RSA processor
JP3518680B2 (ja) 素数生成装置
JP2006091086A (ja) モンゴメリ逆元演算装置を備えた半導体装置およびicカ−ド
US20040093369A1 (en) Multiplication remainder calculator