TWI386818B - 密碼安全模多項式簡化方法及執行該方法之計算硬體 - Google Patents

密碼安全模多項式簡化方法及執行該方法之計算硬體 Download PDF

Info

Publication number
TWI386818B
TWI386818B TW095116180A TW95116180A TWI386818B TW I386818 B TWI386818 B TW I386818B TW 095116180 A TW095116180 A TW 095116180A TW 95116180 A TW95116180 A TW 95116180A TW I386818 B TWI386818 B TW I386818B
Authority
TW
Taiwan
Prior art keywords
polynomial
quotient
hardware
bit
character
Prior art date
Application number
TW095116180A
Other languages
English (en)
Other versions
TW200703037A (en
Inventor
Dupaquis Vincent
Douguet Michel
Original Assignee
Inside Secure
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 Inside Secure filed Critical Inside Secure
Publication of TW200703037A publication Critical patent/TW200703037A/zh
Application granted granted Critical
Publication of TWI386818B publication Critical patent/TWI386818B/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/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/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • 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/724Finite field arithmetic
    • 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/7233Masking, e.g. (A**e)+r mod n

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)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Navigation (AREA)

Description

密碼安全模多項式簡化方法及執行該方法之計算硬體
本發明係有關於算術處理及計算系統及電腦執行方法,其特別是使用在密碼應用程式中。本發明特別是有關於餘數算術,其包含在一有限場GF(2n )中之多項式的模簡化,特別是從Barrett簡化方法所獲得之計算。
許多密碼演算法使用大整數乘法(或指數運算)及將乘積化簡至一餘數值,該餘數值在一有關於密碼鑰之特定模數下係同餘的。一些密碼演算法(包括AES/Rijndael區塊加密以及以離散對數及橢圓曲線為基礎之加密)在一有限場(例如:二進位場GF(2n ))中對多項式實施算術運算,包括對此等多項式之乘法(或指數運算)及模簡化運算。密碼系統所實施之數學計算可能易受電力分析及時序攻擊之影響。因此,保全電腦以便無法獲得有關該鑰之資訊係重要的。
同時,這些計算要快速且精確是重要的。無論是對大整數或對在一有限場中之多項式運算,乘法及簡化係一密碼演算法之最密集計算部分。已針對有效模簡化發展出數個不同計算技術,其包括已知之Quiaquater方法、Barrett方法及Montgomery方法以及涉及預計算及查表之修改。在習知技藝中已描述及比較這些已知技術。例如:見(1)A.Bosselaers等人,「三個模簡化函數之比較」,高級密碼學/密碼機,93,LNCS 773,Springer-Verlag出版社,1994年,第175-186頁。(2)Jean Francois Dhem,「用於RISC智慧卡之有效公開金鑰密碼庫的設計」,魯汶大學(Universitcatholique de Louvain),新魯汶市(Louvain-la-Neuve),比利時,1998年5月。(3)C.H.Lim等人,「具有預計算之快速模簡化」,預印出版品,1999(可從CiteSeer科學文獻數位圖書館citeseer.nj.nec.com/109504.html取得)。(4)Hollmann等人,「用以經由計算標準化模指數運算來執行解密機制以便阻撓時序攻擊之方法及裝置」,美國專利第6,366,673 B1號,2002年4月2日(根據1998年9月15日所提出之申請案)。
本發明之一目的在於提供一種Barrett模簡化方法及對應計算裝置之改善(特別是應用至多項式),其對於密碼分析攻擊更為安全,同時仍然提供快速且精確結果。
本發明之另一目的在於提供前述改善方法及裝置,其加速用於多項式之模簡化的商數估計。
藉由一種用於在一二進位有限場GF(2n )中之多項式的模簡化之電腦執行方法來符合這些目的,其中使用該多項式模數之預計算調整倒數做為乘數來估計一用於該簡化計算之多項式商數(至至少該正確多項式次方)。從該簡化所獲得之多項式餘項相對於該特定不可約多項式模數n總是與對應部分乘積同餘,然而通常(在多項式次方方面)大於最小餘數值及在每一執行之隨機方式中係不同的。因為刻意使該估計誤差隨機化,所以該方法對於密碼分析更為安全。並且,該等中間結果在數學上係相等的(與該等真實結果一致),以及可以藉由處理一最後嚴格簡化而無需隨機化以獲得一最後結果,因而達成密碼運算之可逆性所需的精確度。
用以執行本發明之方法步驟的硬體包括一隨機數產生器以將隨機誤差引入該商數估計中。一具有記憶體存取之計算單元在一運算定序器之控制下操作,藉以執行韌體以實施多字元多項式乘法及模簡化之寬字元乘法-累加步驟。該計算單元可以包括專屬於有限場多項式運算之乘法-累加硬體,或者可以選擇性地實施自然或多項式算術。
參考圖1,計算硬體包括一計算單元10,該計算單元10能對從記憶體(RAM)12及工作暫存器14所擷取之多項式運算元實施寬字元有限場乘法及乘法-累加步驟。暫存器14可以是負責在標準整數運算中之進位引入的相同硬體暫存器。一運算定序器16包括用以依據該組運算用之韌體或軟體指令來控制該計算單元10以使用一不可約多項式基底實施該多字元有限場多項式乘法(或指數運算)及該模簡化之邏輯電路。在暫存器中所儲存之可由該運算定序器16所取得的運算參數18在於使該運算定序器能找到在該RAM12中之運算元以及有關於該等運算元之長度(字元之數目)及該等中間結果之目的位址的資訊之指標。
如至目前為止所述,該裝置實質上相似於適合多字元多項式算術運算之其它可獲得硬體。在該二進位有限場GF(2n )中所實施之多項式算術在進位之忽略方面及在加法與減法之等效方面係不同於自然算術。該計算單元可以包括專屬於有限場多項式運算之乘法-累加硬體,或者可以是雙用途自然/多項式算術硬體,其可選擇實施自然或多項式算術。除下面所將描述之簡化步驟的細節之外,該等韌體或軟體指令亦相似於用以在寬字元區段中執行有效多字元多項式乘法或指數運算之習知程式。
不像此型態之習知硬體,圖1中之硬體亦包括一隨機數產生器20,其例如可以是任何已知虛擬隨機數產生器電路。該隨機數產生器實施一計算及輸出一隨機數,該隨機數之位元被解釋成為在本方法中所使用之一隨機多項式的二進位係數。在此,當依據實施本發明之方法的程式指令被該運算定序器16所指示時,該隨機數產生器20可由該計算單元10使用,以便引入該隨機誤差數量至如以下所述之商數估計中。
參考圖2,本發明之方法係該Barrett模簡化技術之改善,其提供較快速商數估計及對密碼攻擊之抵抗,以及本發明之方法將該模簡化技術應用至在該二進位有限場GF(2n )中之多項式。該方法係藉由圖1中之硬體來執行的。
雖然將此延伸至一二進位有限場GF(2n )中之多項式需要對該基本運算有某些修改,但是多項式之模算術在某些方面係相似於整數之模算術。首先介紹在一場中之多項式。可將x之(m-1)次方的多項式與一場F之構成部分的任何倍數(am 1 ,…a1 ,a0 )相結合:am 1 xm 1 +…a1 x1 +a0 x0 。在任何二進位有限場之情況中,該場之構成部分為{0,1}及因而該多項式係數ai 同樣為0或1。,因為每一位元可以解釋成為一有限場元素,所以此觀念特別適合於在本質上為二進制之電腦硬體。例如:可將每一二進位位元組值[a7 a6 a5 a4 a3 a2 a1 a0 ]與7次方(或更小)之GF(2n )中的一對應多項式結合:a7 x7 +a6 x6 +a5 x5 +a4 x4 +a3 x3 +a2 x2 +a1 x+a0 。因此,例如:將該位元組值[01100011]解釋成為該二進位多項式x6 +x5 +x+1。假設在該二進位有限場GF(2n )中該多項式次方(m-1)小於n以便使該多項式屬於該場,則可以將較長多位元組序列解釋成為較高次方之多項式。(注意:當比較多項式之相對大小時,開始於x之最大次方的多項式係數以一個次方接一個次方地實施該比較。)以分別相加或相減每一次方之係數的常用方式來實施在一場中之多項式的加法及減法,
然而,至於任何二進位場,該等構成部分為{0,1},以便在模2下實施該等場元素之加法及減法(0±0=0,0±1=1±0=1,1±1=0)。注意到,在此情況中,相減等同於相加。在電腦硬體中,以對該等位元之陣列之一邏輯XOR運算來實施模2加法/減法。例如:(x6 +x4 +x2 +x+1)+(x7 +x+1)=(x7 +x6 +x4 +x2 );或者在二進位符號中[01010111]⊕[10000011]=[11010100]。(對於無限場而言)通常以下面式子來定義多項式乘法運算:,其中該係數ck 係由下面迴旋所產生:。(再者,在二進位場中,在模2下實施加總)。然而,在一有限場中,必須修改此定義,以便確保該乘積亦屬於該場。特別地,在一般多項式乘法運算後為使用n次方之模數m(x)的模簡化(其中n為在GF(2n )中之有限場的大小)。最好選擇該模數m(x)為一不可約多項式(一質數之多項式相似物,亦即,無法被分解成為在該相同場中之非顯然多項式的多項式)。例如:在AES/Ri jndael對稱區塊加密中,當實施多項式乘法運算時,使用該特定不可約多項式m(x)=x8 +x4 +x3 +x+1做為模簡化之選擇基底以對在該二進位有限場GF(2n )中之位元組(7或更小次方之多項式)實施運算。使用AES所指定之特定m(x)之在一二進位有限場中的多項式乘法運算的一範例為:(x6 +x4 +x2 +x+1).(x7 +x+1)=(x1 3 +x1 1 +x9 +x8 +x6 +x5 +x4 +x3 +1),其在簡化後產生(x7 +x6 +1)。
設F[x]為多項式之集合,所有多項式係數為一場F之構成部分。如果該模數m(x)為在F[x]中之d次方的多項式,然後對於多項式p(x)及r(x)F[x]而言,若且唯若m(x)整除多項式p(x)-r(x)之情況下,換句話說,p(x)-r(x)為m(x)之多項式倍數,亦即,對於某一多項式q(x)F[x]而言,p(x)-r(x)=q(x).m(x),吾人說在模m(x)下p(x)與r(x)同餘,其可寫成p(x)≡r(x)(mod m(x))。
同等地,p(x)及r(x)在被m(x)除時具有相同餘項。一多項式p(x)之模簡化包括要獲得一多項式商數q(x),以便該餘項或餘數r(x)係一具有小於m(x)之次方的多項式,亦即,deg(r(x))<d,其中該多項式p(x)之模簡化可以是在F[x]中之多項式a(x)及b(x)之一般乘積,亦即,p(x)=a(x).b(x)。該多項式餘數r(x)(與p(x)同餘)係最後所需要之多項式數值。在該二進位有限場GF(2n )中,m(x)係一n次方之不可約多項式及該所要獲得之剩餘多項式r(x)係小於n次方;然而,p(x)可以是及因而q(x)亦可以是任何次方,以及例如當p(x)係一乘積時,至少所要簡化之多項式p(x)經常是大於m之次方。在任何情況中,任何模簡化方法中之基本問題在於有效地獲得一商數,特別是針對大次方之多項式p(x)及m(x)。在密碼應用程式之脈絡中,一額外問題在於以免受電力分析攻擊之方式在計算硬體中實施該簡化運算。
Barrett方法(通常係針對整數簡化運算所設計)包括預計算及儲存該模數之倒數U的調整估計及以乘法及字元或位元移位來取代長除法(被x除)以便估計該商數。使用適當選擇之參數,該商數估計中之誤差最多是2。本發明使Barrett方法適用於在一二進位有限場中之多項式的簡化且亦以較快商數之估計及藉由在計算該餘項前刻意引用一隨機誤差至該商數中來改善Barrett方法。該結果隨機餘項(在多項式次方方面)稍微大於該餘數值,然而與該餘數值同餘。
假設k為該多項式模數m(x)之次方的大小,其中,具有對於k-1i0而言,mk =1,mi {0,1}以及假設p(x)為所要簡化之高達l 次方的多項式,其中,具有對於1j0而言,pj {0,1}
以預計算及儲存(圖2中之步驟30)一表示該模數m(x)之調整倒數的常數多項式u(x)來開始,其中u(x)=x2 k 1 /m(x)
隨後在所有多項式簡化運算中將此儲存值使用於此特定模數m(x)。對於不是x之簡單次方的每一模數m(x)而言,u(x)經常是k次方。
要實施p(x)之模簡化,使用該儲存值u(x)來估計一多項式商數q(x):q(x)=((p(x)/xk 1 ).u(x))/xk 2
對於一具有高次方之模數m(x)(多字元)而言,可使用字元移位而非位元移位來實施該運算。使用一字元大小w,可定義u(x)=x2 k w /m(x)及估計一商數q(x)=((p(x)/xk w ).u(x))/xk 2 w 。在此情況中,該多項式p(x)可具有稍微較大次方:deg(p(x))2.k+w。此簡化在該計算硬體中之多項式數量的處理。此計算只需要二進位有限場多項式乘法運算(沒有簡化)及多項式次方之移位。
在此階段(步驟36)中,將一隨機多項式誤差E(x)引入該已計算多項式商數以獲得一隨機商數q’(x)=q(x)+E(x)。可以藉由任何已知隨機或偽隨機數產生器(硬體或軟體)以產生該隨機多項式誤差E(x)(步驟34),其中以上面所已述之方式將所產生之二進位值解釋為一多項式。唯一限制在於該誤差之多項式次方落在一特定範圍內,例如:
對於一具有高次方之模數m(x)(多字元)而言,該誤差應該限制為少數幾個位元,例如:小於一字元之一半,亦即,deg(E(x))<w/2。除該商數估計所造成的任何誤差之外,此還限制該隨機產生器所提供之可能誤差至一特定數目之位元,例如:一字元之一半。
接下來,計算(步驟38)該餘項r’(x),該r’(x)(在模m(x)下)將與該餘數值r(x)同餘:r’(x)=p(x)+q’(x).m(x)因為將一隨機多項式誤差E引入該多項式商數q(x),所以該已計算餘項r’(x)之次方將稍微大於該模數m(x)。
可在進一步計算中使用該餘項r’(x),如需要的話,可以再次簡化該計算之結果。(該誤差維持有界限的。)
在另一情況中,根據該特定應用程式之需求,可藉由應用一般GF(2n )多項式簡化於該模數m(x)以獲得一小於m(x)之多項式數值來從該餘項r’(x)計算該餘數值r(x)。
該模簡化之隨機化提供反制各種密碼攻擊之安全性,其中該等密碼攻擊依賴電力使用之一致性來決定該模數。在此,在模m(x)下之p(x)的二進位場多項式簡化隨機地從一執行變化至下一執行,同時仍然產生一同餘之中間餘項r’(x)。最後產生一最後餘數值r(x)之二進位場多項式簡化的順序亦隨機地從一執行變化至下一執行,因為其對不同餘項r’(x)操作。可從各種不同算術運算(包括乘法、平方、指數、加法等等)獲得以此方式簡化之多項式p(x)。同樣地,可以各種方式(在密碼方式中通常的是從一金鑰)獲得所使用之模數m(x)。本發明之隨機模簡化方法在許多密碼演算法中係有用的,該等密碼演算法依賴此等二進位場GF(2n )多項式簡化,其包括Rijndael/AES對稱區塊加密以及離散對數公鑰密碼系統。
10...計算單元
12...記憶體
14...工作暫存器
16...運算定序器
18...運算參數
20...隨機數產生器
圖1係依據本發明之計算硬體(包括一隨機數產生器單元)的示意平面圖,該計算硬體用於本發明之模簡化方法。
圖2係描述在該模簡化方法中之一般步驟的流程圖。

Claims (11)

  1. 一種二進位有限場(binary finite field)GF(2n )之密碼安全電腦硬體執行模多項式簡化方法(modular polynomial reduction method),包括:預計算及在一記憶體中儲存一多項式常數u(x),該多項式常數u(x)表示一多項式模數m(x)之一位元調整(bit-scaled)倒數;在模m(x)下針對所要簡化之一多項式p(x)估計一近似多項式(approximate polynomial)商數q(x),其中藉由與該常數u(x)在GF(2n )中之多項式相乘及藉由位元移位以在一計算單元中對p(x)執行該估計;在一隨機數產生器中產生一隨機多項式誤差值E(x)及應用該多項式誤差值至該近似多項式商數以獲得一隨機多項式商數q'(x)=q(x)+E(x);以及在該計算單元中計算一多項式餘項r'(x)=p(x)+q'(x).m(x),該餘項r'(x)之次方高於該模m(x),但在模m(x)下與p(x)同餘及其中p(x)之次方小於或等於2k+1,其中k為該多項式模數m(x)之次方的大小。
  2. 如申請專利範圍第1項之方法,其中依據方程式u(x)=x2k+w /m(x)實施該多項式常數u(x)之預計算,w係該計算單元之字元大小的位元。
  3. 如申請專利範圍第2項之方法,其中依據方程式q(x)=((p(x)/xk-1 ).u(x))/xk+2 以該計算單元實施該商數q(x)之估計。
  4. 如申請專利範圍第1項之方法,其中該等位元移位係字元大小移位,該多項式常數被預計算成u(x)=x2k+w /m(x)及該商數被估計成q(x)=((p(x)/xk-w ).u(x))/xk+2w ,其中w係該字元大小之位元,以及其中p(x)之次方小於或等於2k+w,w係該計算單元之字元大小的位元。
  5. 如申請專利範圍第4項之方法,其中該隨機數產生器具有一半字元之特定誤差限制,因而0deg(E(x))<w/2。
  6. 如申請專利範圍第1項之方法,其中p(x)之模簡化係電腦硬體執行密碼程式之部分。
  7. 一種計算硬體,用於二進位有限場GF(2n )中執行密碼安全多項式模簡化方法,該硬體包括:一計算單元,適用以對從一記憶體所擷取之多項式運算元及從一組工作暫存器所擷取之多項式係數中間結果實施寬字元(word-wide)有限場乘法及累加步驟;一隨機數產生器,用以產生一隨機多項式誤差值E(x);一運算定序器,其包括邏輯電路,係依據程式指令控制該計算單元及該隨機數產生器,以便在二進位有限場GF(2n )中相對於一模m(x)實施一數p(x)之多項式模簡化,該多項式模簡化至少包含從表示該模數之位元調整倒數之預儲存多項式常數u(x)估計一多項式商數q(x),以該隨機多項式誤差值E(x)隨機化該近似多項式商數以獲得一隨機多項式商數q'(x)=q(x)+E(x),以及計算一多項式餘數值r'(x)=p(x)+q'(x).m(x)。
  8. 如申請專利範圍第7項之計算硬體,其進一步包括可 由該運算定序器存取之運算參數暫存器,該等暫存器包含以下任何一個或多個:(a)用以在該記憶體或工作暫存器中定位多項式運算元之字元大小係數的指標,(b)有關於多項式運算元之字元長度的資訊,及(c)運算步驟之中間結果的目的位址資訊。
  9. 如申請專利範圍第7項之計算硬體,其中從依據方程式u(x)=x2k+w /m(x)之預計算獲得在該記憶體中之預儲存多項式常數u(x),w係該計算單元之字元大小的位元,其中k為該多項式模數m(x)之次方的大小。
  10. 如申請專利範圍第9項之計算硬體,其中在該實施程式指令之運算定序器的控制下,以該計算單元實施的該近似多項式商數q之估計係依據下列方程式來進行:q'(x)=((p(x).xk-w ).u(x))/xk+2w ,w係該計算單元之字元大小的位元。
  11. 如申請專利範圍第10項之計算硬體,其中該隨機數產生器具有一半字元之特定誤差限制,因而0deg(E(x))<w/2。
TW095116180A 2005-05-12 2006-05-08 密碼安全模多項式簡化方法及執行該方法之計算硬體 TWI386818B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0504779A FR2885711B1 (fr) 2005-05-12 2005-05-12 Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US11/203,939 US7805480B2 (en) 2005-05-12 2005-08-15 Randomized modular polynomial reduction method and hardware therefor

Publications (2)

Publication Number Publication Date
TW200703037A TW200703037A (en) 2007-01-16
TWI386818B true TWI386818B (zh) 2013-02-21

Family

ID=35431948

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095116180A TWI386818B (zh) 2005-05-12 2006-05-08 密碼安全模多項式簡化方法及執行該方法之計算硬體

Country Status (5)

Country Link
US (2) US7805480B2 (zh)
JP (1) JP4875700B2 (zh)
CN (1) CN101194457B (zh)
FR (1) FR2885711B1 (zh)
TW (1) TWI386818B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2862454A1 (fr) * 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US7961877B2 (en) * 2006-12-14 2011-06-14 Intel Corporation Factoring based modular exponentiation
US8144864B2 (en) * 2007-12-28 2012-03-27 Intel Corporation Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems
TWI406548B (zh) * 2010-10-27 2013-08-21 Univ Southern Taiwan 橢圓曲線加密運算電路
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
CN103699357B (zh) * 2013-12-05 2016-11-23 西安交通大学 一种用于模乘和模平方的快速模约简算法电路
US9425961B2 (en) * 2014-03-24 2016-08-23 Stmicroelectronics S.R.L. Method for performing an encryption of an AES type, and corresponding system and computer program product
IL239880B (en) * 2015-07-09 2018-08-30 Kaluzhny Uri Simplified montgomery multiplication
CN106254059B (zh) * 2016-07-26 2020-03-20 华为技术有限公司 一种运算方法和安全芯片
JP6602276B2 (ja) * 2016-08-29 2019-11-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US10833868B2 (en) * 2017-12-06 2020-11-10 Intel Corporation Direct anonymous attestation-based apparatus and method
US10218494B1 (en) * 2018-02-23 2019-02-26 ISARA Corporation Performing block form reductions modulo non-Mersenne primes in cryptographic protocols
DE102018113475A1 (de) * 2018-06-06 2019-12-12 Infineon Technologies Ag Rechenwerk zum rechnen mit maskierten daten
WO2020145503A1 (en) * 2019-01-10 2020-07-16 Crypto Lab Inc. Apparatus for processing approximately encrypted messages and methods thereof
CN112506470B (zh) * 2020-12-21 2024-07-02 深圳比特微电子科技有限公司 芯片和计算系统
US11502819B2 (en) * 2021-01-21 2022-11-15 Nxp B.V. Efficient masked polynomial comparison
CN113253972A (zh) * 2021-05-13 2021-08-13 南京航空航天大学 一种lac中稀疏多项式乘法加速器的fpga实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839896A (en) * 1987-02-10 1989-06-13 Data Systems Technology Corp. Fast remainder decoding for a Reed-Solomon code
TW200504583A (en) * 2003-04-04 2005-02-01 Atmel Corp Combined polynomial and natural multiplier architecture

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990024971A (ko) 1997-09-09 1999-04-06 정선종 모듈러 승산장치
US5144574A (en) 1989-01-30 1992-09-01 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
US5077793A (en) 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
EP0431629A3 (en) 1989-12-08 1993-07-21 Sony Corporation Mutual division circuit
US5210710A (en) 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
WO1993009620A1 (en) 1991-11-05 1993-05-13 Thomson Consumer Electronics S.A. Method, sender apparatus and receiver apparatus for modulo operation
US5373560A (en) 1991-12-06 1994-12-13 Schlafly; Roger Partial modular reduction method
US5513133A (en) 1992-11-30 1996-04-30 Fortress U&T Ltd. Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
FR2726668B1 (fr) 1994-11-08 1997-01-10 Sgs Thomson Microelectronics Procede de mise en oeuvre de reduction modulaire selon la methode de montgomery
US5999627A (en) 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
US5724279A (en) 1995-08-25 1998-03-03 Microsoft Corporation Computer-implemented method and computer for performing modular reduction
JP3504050B2 (ja) 1996-01-26 2004-03-08 株式会社東芝 べき乗剰余演算方法及び装置
JP2000500886A (ja) 1996-08-16 2000-01-25 ベル コミュニケーションズ リサーチ,インコーポレイテッド ランダムに生成されたペアをプリコンピューティングすることによるアクセラレイティング公開鍵暗号技術
US5793659A (en) 1996-10-15 1998-08-11 United Microelectronics Corporation Method of modular reduction and modular reduction circuit
GB9627069D0 (en) 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
US6088453A (en) 1997-01-27 2000-07-11 Kabushiki Kaisha Toshiba Scheme for computing Montgomery division and Montgomery inverse realizing fast implementation
US6175850B1 (en) 1997-02-03 2001-01-16 Nippon Telegraph And Telephone Corporation Scheme for carrying out modular calculations based on redundant binary calculation
JP2001505325A (ja) 1997-09-16 2001-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
EP0933695B1 (en) 1998-01-28 2006-03-15 Hitachi, Ltd. IC card equipped with elliptic curve encryption processing facility
FR2776445A1 (fr) 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
CN1275748A (zh) * 1999-05-26 2000-12-06 朗迅科技公司 计算模数除法的余数的方法和装置
US20020055962A1 (en) 1999-11-12 2002-05-09 Richard Schroeppel Automatically solving equations in finite fields
DE19963407A1 (de) 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
US7072072B1 (en) * 2000-05-02 2006-07-04 Xerox Corporation Color rendering optimized for text and line art
JP4955182B2 (ja) 2000-05-15 2012-06-20 サンディスク アイエル リミテッド 整数の計算フィールド範囲の拡張
US6917957B2 (en) 2000-08-28 2005-07-12 Sun Microsystems, Inc. Method and apparatus for performing modular division using counters
DE10107376A1 (de) 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
US7607165B2 (en) 2001-03-09 2009-10-20 The Athena Group, Inc. Method and apparatus for multiplication and/or modular reduction processing
EP1249963B1 (en) 2001-04-11 2013-01-16 Hitachi, Ltd. Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
FR2829335A1 (fr) 2001-09-06 2003-03-07 St Microelectronics Sa Procede de brouillage d'un calcul a quantite secrete
US7461115B2 (en) 2002-05-01 2008-12-02 Sun Microsystems, Inc. Modular multiplier
US7627114B2 (en) * 2002-10-02 2009-12-01 International Business Machines Corporation Efficient modular reduction and modular multiplication
FR2856537B1 (fr) 2003-06-18 2005-11-04 Gemplus Card Int Procede de contre-mesure par masquage de l'accumulateur dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique
FR2862454A1 (fr) 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
KR101252318B1 (ko) 2005-05-12 2013-04-08 인사이드 씨큐어 랜덤화된 모듈러 다항식 약분 방법 및 그 방법을 위한하드웨어
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US8024391B2 (en) * 2006-11-06 2011-09-20 Atmel Rousset S.A.S. Modular multiplication method with precomputation using one known operand

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839896A (en) * 1987-02-10 1989-06-13 Data Systems Technology Corp. Fast remainder decoding for a Reed-Solomon code
TW200504583A (en) * 2003-04-04 2005-02-01 Atmel Corp Combined polynomial and natural multiplier architecture

Also Published As

Publication number Publication date
JP2008541166A (ja) 2008-11-20
TW200703037A (en) 2007-01-16
JP4875700B2 (ja) 2012-02-15
FR2885711A1 (fr) 2006-11-17
US7805480B2 (en) 2010-09-28
US20110016167A1 (en) 2011-01-20
CN101194457A (zh) 2008-06-04
US20100023572A1 (en) 2010-01-28
CN101194457B (zh) 2011-06-01
FR2885711B1 (fr) 2007-07-06

Similar Documents

Publication Publication Date Title
TWI386818B (zh) 密碼安全模多項式簡化方法及執行該方法之計算硬體
TWI448963B (zh) 用於密碼系統之以中國餘數定理為基礎之計算方法
CN107040362B (zh) 模乘设备和方法
JP4582912B2 (ja) 耐パワーシグニチャーアタック暗号法
US8024391B2 (en) Modular multiplication method with precomputation using one known operand
JP3821631B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体
KR102136911B1 (ko) 스칼라 또는 멱수와의 곱셈 연산을 포함하는 암호화 방법
TWI403144B (zh) 隨機化模數減化方法及其硬體
JP4909403B2 (ja) 安全にデータを求める方法
EP1889398B1 (en) Randomized modular polynomial reduction method and hardware therefore
JP5553773B2 (ja) 楕円曲線上の点のスカラー倍を計算する装置及び方法
US11502836B2 (en) Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product
US20100061547A1 (en) Method of and apparatus for the reduction of a polynomial in a binary finite field, in particular in the context of a cryptographic application
JP7191097B2 (ja) 計算デバイス及び方法
TW201802666A (zh) 非模數乘法器、用於非模數乘法的方法及計算裝置
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
US11973866B2 (en) Cryptographic processing method, related electronic device and computer program
JP2012242539A (ja) セキュリティシステム及びマイクロコンピュータ
JP2005031472A (ja) 演算処理方法、および演算処理装置
JP2007212768A (ja) 楕円曲線暗号における事前計算テーブル作成装置