TWI529615B - 進行模組式取冪之方法及其處理器和電腦程式產品 - Google Patents

進行模組式取冪之方法及其處理器和電腦程式產品 Download PDF

Info

Publication number
TWI529615B
TWI529615B TW101115022A TW101115022A TWI529615B TW I529615 B TWI529615 B TW I529615B TW 101115022 A TW101115022 A TW 101115022A TW 101115022 A TW101115022 A TW 101115022A TW I529615 B TWI529615 B TW I529615B
Authority
TW
Taiwan
Prior art keywords
modulus
modular
mod
values
processor
Prior art date
Application number
TW101115022A
Other languages
English (en)
Other versions
TW201250581A (en
Inventor
馬可 喬伊
Original Assignee
湯姆生特許公司
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
Priority claimed from EP11176404A external-priority patent/EP2523096A1/en
Application filed by 湯姆生特許公司 filed Critical 湯姆生特許公司
Publication of TW201250581A publication Critical patent/TW201250581A/zh
Application granted granted Critical
Publication of TWI529615B publication Critical patent/TWI529615B/zh

Links

Landscapes

  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

進行模組式取冪之方法及其處理器和電腦程式產品
本發明一般係關於密碼術,尤指抵抗某些副頻道侵襲的模組式取冪演算法。
此節旨在向讀者介紹技術上諸面向,與下述和/或所請求之本發明諸面向有關。於此討論相信有助於提供背景資訊給讀者,以便更加明瞭本發明諸面向。因此,需知此項陳述要以此觀點來閱讀,而非納入先前技術。
以公用關鍵密碼術之基本運算,是模組式取冪。在輸入N、x和d,計算y=xd mod N。自然,先前技術模組式取冪演算之主機,其二例如下。
演算1:由左至右二元法
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:就j=I-1降到0進行
3:R[0]←R[0]2 mod N
4:若(dj≠0)則R[0]←R[0].R[1]mod N
5:結束
6:回到R[0]
演算2:由右至左二元法
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:就j=0到I-1進行
3:若(dj≠0)則R[0]←R[0].R[1]mod N
4:R[1]←R[1]2 mod N
5:結束
6:回到R[0]
雖然二法均有效率,凡精於此道之士均知會受到副頻道,特別是簡單冪分析(SPA)的侵襲。參見Paul Kocher,Joshua Jaffe和Benjamin Jun撰〈微分冪分析〉,載於M.Wiener編《密碼術進展-CRYPTO’99》,電腦科學筆記第1666卷,第388-397頁,Springer出版社,1999年;以及Paul C.Kocher撰〈在Diffie-Hellman,RSA,DSS和其他系統中實作之計時侵襲〉,載於N.Koblitz編《密碼術進展-CRYPTO’96》,電腦科學筆記第1109卷,第104-113頁,Springer出版社,1996年。
主要問題在於有條件分支存在,即"若(if)"的述句。
克服此問題之一途,是在一回合的每一環裡,執行乘法,易言之,每逢dj=0,即進行假乘法。參見Jean-Sébastien Coron撰〈抵抗為橢圓形曲線密碼系統之微分冪分析〉,收在Ç.K.Koç和C.Paar編《密碼術硬體和內嵌式系統-CHES’99》,電腦科學筆記第1717卷,第292-302頁,Springer出版社,1999年。惟所得實作較慢,成本由每位元約1.5乘法提高到每位元2乘法。增加缺點是實作變成易遭受到安全誤差侵襲,參見Sung-Ming Yen和Marc Joye撰〈輸出前核對不足以對抗基於障礙的密碼分析〉,載於《IEEE在電腦上異動》,(49)9:第967-970頁,2000年,以及Sung-Ming Yen,Seung-Joo Kim,Seon-Gan Lim和Sang-Jae Moon撰〈對一實體上密碼分析之抗衡措施會有利於另一侵襲〉,收於K.Kim編《資訊安全性和密碼術-ICISC 2001》,電腦科學筆記第2288卷,第417-427頁,Springer出版社,2002年。
防止SPA型侵襲的更佳方式是,使用所謂副頻道原子性,參見Benoît Chevallier-Mames,Mathieu Ciet和Marc Joye撰〈防止簡單副頻道分析之低成本解決方案:副頻道原子性〉,載於《IEEE在電腦上異動》,(53)6:第760-768頁,2004年。相對應演算如下:
演算3:由左至右二元法(原子式)
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:j=I-1;b←0
3:當(j≧0)進行
4:R[0]←R[0].R[b]mod N
5:b←b⊕dj,j←j-﹁b
6:結束
7:回到R[0]
演算4:由右至左二元法(原子式)
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:j←0;b←1
3:當(j≦I-1)進行
4:b←b⊕dj
5:R[b]←R[b].R[1]mod N;j←j+b
6:結束
7:回到R[0]
在演算3和演算4中,⊕指XOR(互斥OR)運算子,而﹁指負運算子(即,若b=0,則﹁b=1,而若b=1,則﹁b=0)。
須知成本未增加,但保留每位元約1.5乘法。又須知副頻道原子性不限於二元取冪法。進一步演算可參見上述Chevallier-Mames,Ciet和Joye文章。
雖然副頻道原子性導致很好的演算,但應強調方法上假設乘法運算為原子式。更明確言之,假設藉觀察適當副頻道,不可能分辨模組式求平方和模組式乘法。此項假設不能始終滿足。具體侵襲參見Frédéric Amiel,Benoît Feix,Michael Tunstall,Claire Whelan和William P.Marnane撰〈分辨乘法與 求平方運算〉,載於R.Avanzi,L.Keliher和F.Sica編《密碼術中之選擇區域-SAC 2008》,電腦科學筆記第5394卷,第346-360頁,Springer出版社,2009年。
因此須知亟須有解決方案,從副頻道觀點言,使模組式乘法行為有如模組式求平方。本發明即提供此解決方案。
本發明第一面向係針對進行模組式取冪之方法,包括迭代模組式乘法步驟,採取第一模數N、祕密指數d和基數x,做為輸入。在至少一模組式乘法步驟當中(旨在從二數值a,b和第一模數N,計算結果c,即c=a.b mod N),處理器採取二數值a,b和第一模數N為輸入;由二數值a,b和第一模數N,得二運算元a',b'和第二模數N',使二運算元a',b'至少其一,與二數值a,b不同,而當a等於b,二運算元a',b'不同,故模組式乘法c=a.b mod N,從副頻道觀點,行為像模組式求平方,當a'等於b'時除外;其中使用頂多線式複雜性運算,由數值a得運算元a',數值b得運算元b',由第一模數N得第二模數N';計算中間結果c'=a'.b' mod N';從中間結果c'衍生結果c,其中係使用頂多線式複雜性運算,由c'而得c;並使用結果c於模組式取冪。
在第一較佳具體例中,a'=2a,b'=b+N和N'=2N,而c'=c/2。
在第二較佳具體例中,a'=N-a,b'=b和N'=N,而c'=N-c。第一模數n以奇數為宜。
本發明第二面向係針對進行模組式取冪之處理器,包括迭代模組式乘法步驟,並採取第一模數N、祕密指數d和基數x做為輸入。處理器包括機構,在至少一模組式乘法步驟當中(旨在從二數值a,b和第一模數N,計算結果c,故c=a.b mod N),供:採取二數值a,b和第一模數N為輸入;由二數值a,b和第一模數N,得二運算元a',b'和第二模數N',使二運算元a',b'至少其一,與二數值a,b不同,而當a等於b, 二運算元a',b'不同,故模組式乘法c=a.b mod N,從副頻道觀點,行為像模組式求平方,當a'等於b'時除外;其中使用頂多線式複雜性運算,由數值a得運算元a',由數值b得運算元b',由第一模數N得第二模數N';計算中間結果c'=a'.b' mod N';從中間結果c'衍生結果c,其中使用頂多線式複雜性運算,由c'得c;其中處理器又包括機構,供使用結果c於模組式取冪。
在第一較佳具體例中,a'=2a,b'=b+N和N'=2N,而c'=c/2。
在第二較佳具體例中,a'=N-a,b'=b和N'=N,而c'=N-c。第一模數n以奇數為宜。
本發明第三面向係針對電腦程式產品,其中儲存指令,由處理器執行時,可進行第一面向之方法。
茲參照附圖所示非限制性實施例說明本發明較佳特點。
本發明的主要意念已如前述,從副頻道觀點,在使模組式乘法行為像模組式求平方,可用來提供模組式取冪演算,以對抗某些副頻道侵襲。
此舉可藉評a和b模數N的模阻式乘法達成,故當a=b時,出現在模組式乘法中的二運算元數值不同。
第一較佳具體例係基於觀察到,對於任何元素a,b Z/NZ:a.b mod N=[(a+a).(b+N)mod 2N]/2
證明:界定整數T=(a+a).(b+N)和S=T/2。則T mod 2N=T-[T/(2N)]2N=2(S-[S/N]N)=2(S mod N)。因此,(T mod 2N)/2≡S≡ab(mod N)。結果可知(T mod 2N)/2在於{0,...,N-1}。
值得注意的是,當a=b,則(a+a).(b+N)=(2a).(a+N),而2a≠a+N,否則會使a=N,此在Z/NZ內(即,在集合 {0,1,...,N-1})為不可能。易言之,當a=b,出現在模組式乘法(a+a).(b+N)mod 2N中的二運算元數值即不同。
第二較佳具體例有賴下午恒等式:a.b mod N=N-[(N-a).b mod N]
證明:界定整數S=N-[(N-a).b mod N]。Since(-1)2=1,we obviously have S≡a.b(mod N)。又,S{0,...,N-1}。
再者,設N為奇數,值得注意的是,當a=b,在模組式乘法(N-a).b mod N中出現的二運算元數值不同。誠然,當a=b,則(N-a).b=(N-a).a,且當N為奇數,可始終滿足(N-a)≠a。
在修飾模組式乘法中,若a'和b'為運算元,N'為模數,而c'為修飾模組式乘法的結果,需要調節,而得正確輸出c,則可知使用頂多線式複雜性運算,可得運算元a'和b'以及模數N'(精於此道之士均之N'=2N通常是做為加法或位元移動實行),一如從c'得c所用運算(係實行除法做為位元移動)。
任一具體例均可在先前技術中所述演算3和4中使用,而引起下述演算。
演算3':由左到右二元法(原子式)實行第一具體例
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:j=I-1;b←0
3:當(j≧0)進行
4:R[0]←((R[0]+R[0]).(R[b]+N)mod 2N)/2
5:b←b⊕dj,j←j-﹁b
6:結束
7:回到R[0]
演算4':由右到左二元法(原子式)實行第二具體例
輸入:N,x Z/NZ和d=(,...,d0)2 N
輸出:y=xd mod N
1:R[0]←1;R[1]←x
2:j←0;b←1
3:當(j≦I-1)進行
4:b←b⊕dj
5:R[b]←N-[(N-R[b]).R[1]mod N];j←j+b
6:結束
7:回到R[0]
須知有重寫公式算出模組式求平方。其例為70和20之模組式乘法,N=120,使用第一具體例公式:((70+70).(20+120)mod 240)/2=(140.140 mod 240)/2=(19600 mod 240)/2=160/2=80。此例按第二具體例公式為70和51之模組式乘法,N=121:121-((121-70).51 mod 121)=121-(51.51 mod 121)=121-(2601 mod 121)=61。
然而須知此等發生率,遠較原有原子式計劃之求平方更罕見,後者則經常發生。又,與某些隨機化技術組合時,難以產生如此衝突數值。此發生在例如把模組式乘法y=xd mod N,計算成y=[(x+r.N)d mod t.N]mod N,其中對於某些參數k,t為隨機k位元整數,而r為{0,...,t-1}中之隨機整數。
第1圖表示本發明較佳具體例之裝置。裝置100包括適於與其他裝置(圖上未示)通訊之至少一界面單位110、至少一處理器120,和適於儲存資料之至少一記憶器130,諸如累積器和中間計算結果。處理器120適於按照本發明方法任何具體例計算模組式乘法,並且執行上述實行此等乘法之模組式取冪演算。電腦程式產品140,諸如CD-ROM或DVD,包括所儲存指令,以處理器120執行時,進行本發明任何具體例之方法。
本發明乘法提供模組式取冪演算以增進對抗副頻道攻擊之保護。
說明書和(適當時)申請專利範圍及圖揭示之特點,可單或以任何適當組合方式提供。所述在硬體內實行之特點,亦可在軟體內為之,反之亦然。申請專利範圍內出現之參照號碼,只供說明之用,對申請專利範圍無限制效果。
100‧‧‧裝置
110‧‧‧界面單位
120‧‧‧處理器
130‧‧‧記憶器
140‧‧‧電腦程式產品
第1圖表示本發明較佳具體例之裝置,以進行抵抗某些副頻道侵襲之取冪。
100‧‧‧裝置
110‧‧‧界面單位
120‧‧‧處理器
130‧‧‧記憶器
140‧‧‧電腦程式產品

Claims (9)

  1. 一種進行模組式取冪之方法,包括迭代模組式乘法步驟,並採取第一模數N、祕密指數d和基數x,做為輸入,此方法係在處理器(120)內進行,利用觀察適當副頻道,分辨模組式求平方與模組式乘法之差別,此方法包括如下步驟,於旨在從二數值a,b和第一模數N計算結果c,(即c=a.b mod N)之至少一迭代模組式乘法步驟當中:採取二數值a,b和第一模數N為輸入;從二數值a,b和第一模數N,求得二運算元a',b'和第二模數N',二運算元a',b'至少其一與二數值a,b不同,當a等於b時,二運算元a',b'不同,故模組式乘法c=a.b mod N,從副頻道觀點,其行為像模組式求平方,當a'等於b'時除外;其中使用頂多線式複雜性運算,由數值a得運算元a',由數值b得運算元b',由第一模數N得第二模數N';計算中間結果c'=a'.b' mod N';由中間結果c'衍生結果c,其中c係使用頂多線式複雜性運算,從c'而得c;使用結果c於模組式取冪者。
  2. 如申請專利範圍第1項之方法,其中a'=2a,b'=b+N和N'=2N,又其中c'=c/2者。
  3. 如申請專利範圍第1項之方法,其中a'=N-a,b'=b和N'=N,又其中c'=N-c者。
  4. 如申請專利範圍第3項之方法,其中第一模數N係奇數者。
  5. 一種處理器(120),供進行模組式取冪,包括迭代模組式乘法步驟,並採取第一模數N、祕密指數d和基數x,做為輸入,該處理器利用觀察適當副頻道,分辨模組式求平方與模組式乘法之差別,包括機構於旨在從二數值a,b和第一模數N計算結果c,即c=a.b mod N之至少一迭代模組式乘法當中,可供: 採取二數值a,b和第一模數N為輸入;從二數值a,b和第一模數N,求得二運算元a',b'和第二模數N',二運算元a',b'至少其一與二數值a,b不同,當a等於b時,二運算元a',b'不同,故模組式乘法c=a.b mod N,從副頻道觀點,其行為像模組式求平方,當a'等於b'時除外;其中使用頂多線式複雜性運算,由數值a得運算元a',由數值b得運算元b',由第一模數N得第二模數N';計算中間結果c'=a'.b' mod N';由中間結果c'衍生結果c,其中c係使用頂多線式複雜性運算,從c'而得c;其中處理器又包括機構,供使用結果c於模組式取冪者。
  6. 如申請專利範圍第5項之處理器,其中a'=2a,b'=b+N和N'=2N,又其中c'=c/2者。
  7. 如申請專利範圍第5項之處理器,其中a'=N-a,b'=b和N'=N,又其中c'=N-c者。
  8. 如申請專利範圍第7項之處理器,其中第一模數N係奇數者。
  9. 一種電腦程式產品(140),儲存指令,由處理器執行時,可進行如申請專利範圍第1至4項中任一項之方法者。
TW101115022A 2011-05-11 2012-04-27 進行模組式取冪之方法及其處理器和電腦程式產品 TWI529615B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11305568 2011-05-11
EP11176404A EP2523096A1 (en) 2011-05-11 2011-08-03 Modular exponentiation and device resistant against side-channel attacks

Publications (2)

Publication Number Publication Date
TW201250581A TW201250581A (en) 2012-12-16
TWI529615B true TWI529615B (zh) 2016-04-11

Family

ID=48139296

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101115022A TWI529615B (zh) 2011-05-11 2012-04-27 進行模組式取冪之方法及其處理器和電腦程式產品

Country Status (1)

Country Link
TW (1) TWI529615B (zh)

Also Published As

Publication number Publication date
TW201250581A (en) 2012-12-16

Similar Documents

Publication Publication Date Title
Yen et al. Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption
CN107040362B (zh) 模乘设备和方法
Amiel et al. Power analysis for secret recovering and reverse engineering of public key algorithms
Joye et al. Exponent recoding and regular exponentiation algorithms
JP5977996B2 (ja) サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置
Feix et al. Side-channel analysis on blinded regular scalar multiplications
Trichina et al. Implementation of elliptic curve cryptography with built-in counter measures against side channel attacks
EP3503459B1 (en) Device and method for protecting execution of a cryptographic operation
Danger et al. Improving the big mac attack on elliptic curve cryptography
US20100287384A1 (en) Arrangement for and method of protecting a data processing device against an attack or analysis
Clavier et al. Square always exponentiation
Järvinen et al. Single-trace side-channel attacks on scalar multiplications with precomputations
EP2535805A1 (en) Fault-resistant exponentiation algorithm
Abarzúa et al. Survey on performance and security problems of countermeasures for passive side-channel attacks on ECC
Mishra Pipelined computation of scalar multiplication in elliptic curve cryptosystems (extended version)
Kim et al. Practical second‐order correlation power analysis on the message blinding method and its novel countermeasure for RSA
Yin et al. A randomized binary modular exponentiation based RSA algorithm against the comparative power analysis
Fournaris Fault and power analysis attack protection techniques for standardized public key cryptosystems
TWI529615B (zh) 進行模組式取冪之方法及其處理器和電腦程式產品
Park et al. An improved side channel attack using event information of subtraction
Lee et al. A combined single trace attack on global shuffling long integer multiplication and its novel countermeasure
Zhang et al. Efficient elliptic curve scalar multiplication algorithms resistant to power analysis
Takemura et al. ECC Atomic Block with NAF against Strong Side-Channel Attacks on Binary Curves
Abarzúa et al. Same value analysis on Edwards curves
Mentens et al. FPGA-oriented secure data path design: implementation of a public key coprocessor

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees