TW201810989A - 用以保護密碼指數的方法及系統 - Google Patents
用以保護密碼指數的方法及系統 Download PDFInfo
- Publication number
- TW201810989A TW201810989A TW106116143A TW106116143A TW201810989A TW 201810989 A TW201810989 A TW 201810989A TW 106116143 A TW106116143 A TW 106116143A TW 106116143 A TW106116143 A TW 106116143A TW 201810989 A TW201810989 A TW 201810989A
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- secret
- secret value
- order
- protected
- Prior art date
Links
Classifications
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3013—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 discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Abstract
由於其原理的公開,公鑰密碼已知為重要理論與實踐的發展。值得注意的是,已允許公鑰密碼付諸實踐數位簽章及公鑰金鑰交換的概念;每日在無法計數的許多數位系統中使用這些方法。
因此提出一種用以產生保護秘密值k’的方法,該保護秘密值k’使用為在密碼群運算中之第一運算元,其包含階數n之基本群組元素G,且包含:-產生隨機正整數k1和k2,歸因於密碼安全隨機數產生器其嚴格地小於群組元素G的階數,使得該產生的隨機正整數k1和k2除了1外並不與該階數n共用任何因數,-基於該產生隨機正整數來產生保護秘密值k’,像是k’=k1*k2,該保護秘密值k’被使用為在群運算中的第二運算元。
Description
本發明係關於一種用以保護密碼指數的方法及系統。
由於其原理的公開,公鑰密碼(public-key cryptography)已知為重要理論與實踐的發展。值得注意的是,已允許公鑰密碼付諸實踐數位簽章(digital signature)及公鑰金鑰交換的概念;每日在無法計數的許多數位系統中使用這些方法。
公鑰數位簽章方案為採用輸入一對由公開部分Kpub組成及由秘密或私密部分Kpriv組成的密碼金鑰(Kpub,Kpriv)的密碼演算法。這些部分通常由數值組成或由一組數值組成。第一程序,稱為簽章產生,採取為輸入訊息M,其必需被簽字且已適當地編碼為例如位元組之序列、簽章金鑰之私密部分Kpriv、零、一或複數個剛產生的隨機值R={R1,R2,...,Rn}以及數值之集合D={D1,
D2,...,Dm},其為需要界定將於其中進行計算之數學域的參數。所有這些值被一起處理,其遵循明確定義的程序sign(),用以生成數值S=sign(Kpriv,M,R,D),其被叫作訊息M之數位簽章。
給定訊息M’連同其簽章S,願意驗證簽章的有效性的使用者應如下列般的進行。如第一步驟,簽章金鑰之公開部分Kpub必需以認證的方式來取得。如第二步驟,運行明確定義的驗證程序verif(),其採取為輸入已簽字的訊息M’、簽章值S、簽章金鑰的公開部分Kpub以及域參數D。基本上,驗證程序verif(M’,S,Kpub,D)輸出布林(Boolean)回答,其為「有效簽章」或「無效簽章」其一者。
在不知私鑰(private key)Kpriv下,若在給定的訊息上編造有效的簽章或發現不同於給定訊息的第二訊息且其映射至相同簽章是不可實行的,則公鑰簽章程序說是為密碼安全的。
標準化公鑰簽章方案之範例例如包括RSA-PSS、DSS以及ECDSA演算法。
在類似的方式中,吾人能描述公鑰金鑰交換演算法之概念。兩方能藉由在非機密(亦即,公開的)但認證的通訊通道上交換數值來安裝共用的密鑰(secret key)。典型地,各方在其側上產生新生的且密碼地安全的(亦即,不可預測的)隨機秘密值,且依據預定的數學運算之序列自其導出公開值。接著在認證的但非機密的通訊
通道之上交換公開值,且接著依據預定數學運算之另一運算,各方將其自身的秘密值與其它方之接收的公開值分別混合。最終,此運算之結果係使用為金鑰衍生函數之輸入或是以直接的方式使用為用於使用對稱密碼基元(symmetric cryptographic primitive)來加密且認證通訊通道的目的之對稱金鑰的其一者。
域參數一般為數學物件之集合,各種計算以該數學物件進行,其藉由某數目的數值來界定。這類數學物件常具有形成密碼阿貝利(cryptographic abelian)的性質,在其中可能定義困難的問題,像是將單向函數反轉。
舉例而言,若q為足夠大的質數(prime number),其典型地具有2048位元或以上的大小,且p=2*q+1亦為質數的,則這類型的質數亦已知為索菲.熱爾曼質數(Sophie-German prime),並且若g為數1<g<p-1,其具有2q作為階數(order),亦即2q為使得g上調到2q次方對p模數運算(modulo p)為1的最小正整數的話,則接著該組數{1,2,...,p-2,p-1}配有映射至輸入值1<x<q-1的運算,該值上調至x次方對p模數運算,亦即g^x mod p,稱為模指數(modular exponentiation)的運算形成密碼群組,在其中計算隨機數x之離散對數(logarithm)是不可實行的,亦即計算值u使得g^u mod p等於n實際上是不可實行的。在此情境中,域參數集合D等於(p,p-1,g)。
允許更有效計算的另一個可能且廣泛使用的密碼群組為下列所述:若q為足夠大的質數,典型地具有
200位元或以上的大小,且p=N*q+1亦為質數,其典型地具有2048位元或以上的大小,且若g為具有階數q的數1<g<p-1的話,則接著該組數{g^0 mod p,g^1 mod p,g^2 mod p,...,g^(q-1)mod p}配有映射至輸入值1<x<q-1的運算,值g^x mod p形成密碼群組的另一個變式,在其中計算隨機數字n之離散對數是不可實行的,亦即計算值u使得g^u mod p等於n實際上是不可實行的。在此情境中,域參數集合D等於三數組(p,q,g)。
允許甚至更有效計算且在具有p元素的有限體(finite field)之上稱為橢圓曲線的另一個可能且廣泛使用的密碼群組為下列所述:讓p為具有至少200位元之大小的質數,並且使為方程式y^2=x^3+ax+b之整數解的一對(x,y)之集合,其除了稱為在無線處的點的特別點以外,其中a和b為固定的整數值且其中所有運算係進行對p模數運算。此方程式的該組解被稱作在橢圓曲線E上點的集合。接著可能的是,採用在橢圓曲線E上定義的兩個輸入點A=(x1,y1)和B=(x2,y2)來定義數學運算,其可能為相同或等於在無線處的點,並且回到輸出點C=(x3,y3),其能被解譯為兩個輸入點A和B的幾何相加C=A+B,其中該些計算為明確定義的且全都進行對p模數運算(modulo p)。在此設定中,可能的是,定義採用階數n之點P之點的純量乘法的運算,亦即使得n為最小正整數,使得以其本身n倍相加的P造成在橢圓曲線E上無線處的點,以及純量數u和回到以其本身重復u次之P的相
加,亦即R=P+P+...+P=uP。接著,由回復u、給定兩個點S和P組成的運算使得S=uP實際上是不可實行的。在此設定中,域參數集合等於多元組(p,a,b,n,P)。
存在有周知密碼群組之其它變式。大多數時候,他們包含除了包含此組成員的運算以外的大量成組的數或其它數學物件並且展示精確的數學性質。為了對密碼的目的是有用的,此運算必需易於在一方向上實行,但實際上在其它方向上的計算(亦即,反轉)是不可實行的。吾人常稱這類運算為單向函數(one-way function)。
當能以在中央處理單元CPU上運行的軟體之形式、或以在場可編程閘陣列FPGA上載入的網路連線表(netlist)之形式、或以特定應用積體電路ASIC之形式其一者實行密碼演算法時,相對於安全為關鍵的重要步驟在於實行計算在密碼群組中的運算的部分。如之前所解釋的,其可以為計算在橢圓曲線上定義的點之模指數(modular exponentiation)或純量乘法的部分。這樣的部分之安全是極度重要的,如同該些部分必需常處理為輸入值的密碼秘密,並且這些部分受到所謂的旁道攻擊(side-channel attack)所威脅。
旁道攻擊瞄準從在實行密碼運算上測量的物理性質來抽取關於秘密值的部分或全部資訊。舉例而言,若需要用以進行密碼運算(像是在橢圓曲線上之點的模指數或純量乘法)的時間、或功率消耗或電磁放射之量係與秘密質數學相關聯,則接著利用此資訊揭開密碼秘密之部
分或全部值是可能的。
旁道攻擊的範例為簡單功率分析SPA。其利用了於在橢圓曲線上之點的傳統二進位模指數或純量乘法期間藉由點的模指數或純量乘法處理1的祕密值之消耗的功率或電磁放射是非常不同於處理0的秘密值之運算的部分的事實。單一功率消耗追蹤通常足以抽取部分的或全部的秘密資訊。
旁道攻擊的另一範例為差分功率分析DPA。此攻擊利用於在橢圓曲線上之點的模指數或純量乘法期間存在的功率消耗之微小差異且這些差異能藉由結合功率消耗之數個追蹤所提供的資訊(歸因於簡單平均及差分技術(simple averaging and differential technique))來抽取的事實。
旁道攻擊的另一範例係由相關性功率分析CPA來形成。此攻擊瞄準藉由計算功率消耗或電磁放射之統計模型與在模指數或純量點乘法之實行正運行的同時記錄的功率追蹤之間的數學相關性來抽取出自實體實行的有用資訊。
旁道攻擊的另一範例係由樣版攻擊來形成。他們利用如第一步驟對手具有當實行正處理已知(亦即,非秘密值)時測量功率消耗或電磁放射的可能性的事實。此步驟已知為分析階段(profiling phase)。接著,如第二步驟,匹配階段,當實行正處理秘密值時測量功率消耗或電磁放射。接著使用此測量及在分析階段生成的所有測量建
構統計分數,用以識別且用以抽取有用的資訊。
吾人可以注意的是,其並非總是需要抽取全部秘密值來發起成功的旁道攻擊。有時,歸功於用以回復完全的秘密值之進一步的數學處理,在不同實行的運行下僅回復秘密值的少許位元及結合資訊之該些部分片段是足夠的。
當考慮上述的攻擊時,其顯得極其重要的是,保護密碼運算之實行(像是在橢圓曲線上點的模指數或純量乘法)免於洩露與他們處理的秘密值統計上相關聯的資訊。
在過去提出過許多保護方法,其典型地如下運作:在將秘密值給定為對實行在橢圓曲線上點之模指數或純量乘法器的輸入之前,此秘密值K係與剛產生的密碼安全(亦即,無法預測的)隨機的值R使用某個預定的保護函數F來結合以生成保護的版本K’=f1(K,R),其接著對於密碼實行來進行處理。在該運算的結束處,第二函數為f2,其可以為恒等函數(identity function),係在實行之輸出應用以為了校正在輸入上應用f1之效果。若此過程以新的、剛產生的隨機值R來重覆以用於密碼實行之各個運行,則接著隨著密碼實行正處理與秘密統計上不相關聯的值,對手將不能夠藉由發起旁道攻擊來獲得關於秘密的有用資訊。
然而,容易注意到的是,這類方法的主要弱點為,在藉由將隨機值與保護函數結合來保護之前,秘密
值在實體上或時間上其一者必需出現靠近密碼運算之實行。因此,對手亦能償試攻擊保護運算本身,來取代攻擊密碼運算之實行。
因此,有需要提供克服上述缺點的方法。
為此目的,本發明提供一種方法,用以產生保護秘密值k’,保護秘密值k’使用為在密碼群運算(group operation)中之第一運算元,密碼群運算包含階數n之基本群組元素G,且包含:-產生隨機正整數k1和k2,歸因於密碼安全隨機數產生器其嚴格地小於群組元素G的階數,使得所產生的隨機正整數k1和k2除了1外並不與階數n共用任何因數(divisor),-基於該產生隨機正整數來產生保護秘密值k’,像是k’=k1*k2,該保護秘密值k’被使用為在群運算中的第二運算元。
依據本發明之另一態樣,可藉由在產生的保護秘密值k’對基本元素G之階數n進行模數計算上應用模簡化(modular reduction)來獲得秘密值k。
依據本發明之另一態樣,產生的隨機正整數k1、k2可具有嚴格地小於基本群組元素G之階數n的位元長度的長度。
依據本發明之另一態樣,保護秘密值k’可被
使用為在迪菲-赫爾曼協定(Diffie-Hellman protocol)中的至少一秘密參數。
依據本發明之另一態樣,保護秘密值k’可被使用為在整數對質數p=2*q+1做模數計算之群組之上實行的迪菲-赫爾曼協定中的至少一秘密參數,其中q亦為質數。
依據本發明之另一態樣,保護秘密值k’可被使用為在整數對質數p=m*q+1做模數計算之群組之上實行的迪菲-赫爾曼協定中的至少一秘密參數,其中q亦為質數。
依據本發明之另一態樣,保護秘密值k’可被使用為在有限體(finite field)之上定義的橢圓曲線上之點的群組之上實行的迪菲-赫爾曼協定(Diffie-Hellman protocol)中的至少一秘密參數。
依據本發明之另一態樣,保護秘密值k’可被使用為在ECDSA簽章方案中的秘密隨機整數。
依據本發明之另一態樣,保護秘密值k’可被使用為在數位簽章方案中的秘密隨機值,包含階數n之基本元素與該保護秘密值k’之間的至少一密碼群運算。
依據本發明之另一態樣,保護秘密值k’可被使用為在公鑰簽章方案中的秘密隨機值,包含階數n之基本元素與該保護值k’之間的至少一密碼群運算;
依據本發明之另一態樣,保護秘密值k’可被使用為在公鑰加密方案中的秘密隨機值,包含階數n之基本元素與
該保護值k’之間的至少一密碼群運算。
本發明亦提供一種計算裝置,組態以產生使用為在密碼群運算中之第一運算元的保護秘密值k’,該密碼群運算包含階數n之基本群組元素G,且該計算裝置組態以:-產生隨機正整數(k1和k2),歸因於密碼安全隨機數產生器而嚴格地小於群組元素G的階數,使得該產生的隨機正整數k1和k2除1以外並不與階數n共用任何因數(divisor),-產生保護秘密值k’使得k’=k1*k2,該保護秘密值k’被使用為在群運算中的第二運算元。
歸因於本發明,不需要使用在明確於或靠近於模指數或純量點乘法之實行中出現的秘密值k,因而不會夠透過利用旁道洩露而受攻擊。
本揭露將以附圖而較佳地理解,其中:
-圖1闡述依據本發明的方法。
在下列的說明書中,將說明依賴包含秘密值的純量點乘法的兩個演算法。
第一者為基於橢圓曲線ECDH的迪菲-赫爾曼金鑰交換。在下面說明書中,在使用下的橢圓曲線係在有
限體之上以p元素來定義,亦即,有限體之元素為小於p的正整數並且進行對p模數計算的相加法及乘法運算。將充分了解的是,亦能考慮其它類型的橢圓曲線。在該情形中,橢圓曲線係由等式y^2=x^3+ax+b來定義,其中a和b為公開且明確定義的值,其屬於具有p元素的有限體。此外,G為在橢圓曲線E上的質數階數n之基點(base point)。因此,域參數能被定義為D=(a,b,p,G,n)。在橢圓曲線之上的迪菲-赫爾曼金鑰交換協定運作如下:在第一步驟中,產生秘密正整數i,並且以密碼安全隨機數產生器之幫助而嚴格地小於基點階數n。在第二步驟中,計算公開點(public point)I=i*G。整數i將為密鑰且點I將為用於第一使用者的公鑰。對於第二使用者使用相同過程,產生秘密整數j且計算公開點J=j*G。接著,兩個公開點或值I=i*G和J=j*G在認證的但不必為機密的通訊通道之上交換。共用密鑰係由第一使用者計算為K=i*(j*G)且由第二使用者計算為K=j*(i*G)。接著,兩使用者皆能使用K為共用對稱密鑰,用於其它選擇之進一步密碼運算。
在兩邊上,由於不良的實行可能洩露關於分別密鑰的資訊,純量點乘法運算必需相對於旁道攻擊來保護。
在密碼方案的另一範例中,即橢圓曲線數位簽章演算法ECDSA(Elliptic-Curve Digital Signature Algorithm),在使用下的橢圓曲線亦在具有p元素的有限
體之上定義,有限體之元素為小於p的正整數,並且進行對p模數計算的加法和乘法運算。像在ECDH範例中,域參數能被定義為D=(a,b,p,G,n)。由於ECDSA演算法,想要數位地簽字訊息M的使用者能進行如下。在第一步驟中,使用者產生嚴格小於n的秘密正整數u並且計算且公開U=u*G。分別來說,整數u為密鑰,同時點U為使用者的公鑰。為了對訊息M簽字,使用者計算密碼安全雜湊值(hash value)z=trunc(H(M),bitlength(n)),其中trunc(x,bitlength(n))表示對值x之n的最左位元長度的截斷,並且H()為密碼安全雜湊函數,像是SHA-256。接著,在另一步驟中,歸因於密碼安全隨機數產生器,使用者產生嚴格小於n的正秘密整數k,並且計算點K=k*G。在下列中,K之座標係註記為(Xk,Yk)。在另一步驟中,使用者計算r=Xk mod n且s=k^(-1)*(z+r*u)mod n。簽章被定義為該對數r和s。為了驗證接收的訊息M’之簽章,使用者計算密碼安全雜湊值z’=trunc(H(M’),bitlength(n)),並且w=s^(-1)mod n、v1=z*w mod n、v2=r*w mod n以及點(o1,02)=v1*G+v2*U。最終,若r等於o1則簽章被視為有效,而否則視為無效。
周知的是,k之值必需保持秘密並且對於各個產生的簽章是唯一的,否則當私鑰能被回復時,ECDSA安全變得無用。必需保護包含K=k*G之計算的純量點乘法實行免於旁道攻擊洩露即使是關於k的部分資訊。
能在模指數或純量點乘法之實行上應用的周
知且流行的保護機制為下述。在執行運算之前,秘密值k被轉換為k’=f1(k)=k+a*n,其中n為元素階數且a為在各個運算剛產生的密碼安全隨機數,其為模指數或純量點乘法。不幸的是,此保護機制遭受到數個弱點:第一,值k必需使用剛產生的隨機值a在其保護之前以明確的形式在實行中出現。其意味,對手能在保護過程之前攻擊該值。進一步而言,在簽章的上下文中,周知的是,若隨機值a不夠大,仍可能藉由例如藉單一功率/電磁分析來回復或是在單一運行上樣版攻擊或是藉由在各個簽章運算期間錯誤攻擊(fault attack)些許位元純量來固定而攻擊模指數或純量點乘法之實行。接著,使用部分知識(所收集之對(訊息,簽章)的對應組)且應用格基約減為基礎的(lattice-reduction-based)技術,回復密鑰是可能的。
在圖1中所繪示者為所請求方法的步驟,其能在任何密碼群組上應用,乘法性質(像是依賴整數對質數p模數計算的乘法)或是加法性質(像是在橢圓曲線上點的純量乘法)之其一者。在下列說明中,n為基礎元素G的階數,其必需與秘密值k結合。在第一步驟中,歸因於密碼安全隨機數產生器,產生兩個正秘密整數k1和k2且兩者皆嚴格地小於n,k1和k2並不與基礎元素階數n共用任何公因數(common divisor)。換言之,分別計算n的和k1的和k2的最大公因數必需各次提供結果1。該兩個值k1和k2係完全與秘密值k不相關聯的,因而當產生k1和k2時,值k在時間上或實體上並不需要出現。在第
二步驟中,保護的值k’被計算為k’=k1*k2且具有k的位元長度的兩倍位元長度。如在圖1的第三步驟中所繪示,保護秘密值k’被使用為在群運算中的第二運算元。
若情況呈現需要此步驟,則k的值可以藉由計算k=k’mod n來回復。然而,本揭露之主要益處係如上所解釋的,其並不需要此值k明確在或靠近模指數或純量點乘法之實行出現,因而不能透過利用旁道洩露來攻擊。
ECDH金鑰交換協定係在下列實施例中闡述為非限制範例。給定階數n的基點G,歸因於密碼安全隨機數產生器,第一步驟包含產生兩個正隨機整數i1和i2,其嚴格地小於基點G的階數n。這些數必不與n共用任何非平凡因數(non-trivial divisor)。最終,方法包含計算i’=i1*i2的步驟。此值被視為用於第一使用者的密鑰。同樣地,歸因於密碼安全隨機數產生器,方法包含產生兩個正隨機整數j1和j2的步驟,其具有與G之階數n相同的位元長度。這些數亦必需嚴格地小於n且必需不與n共用任何非平凡因數。最終,方法包含計算j’=j1*j2的步驟。此值被視為用於第二使用者的密鑰。協定的後續運行為在標準中未保護版本,其中所有秘密值由他們對應的保護版本取代。分別來說,i和j的真值能分別被計算為i=i’mod n和j=j’mod n,且不需要時間上或實體上靠近或在純量點乘法之實行中出現。
ECDSA數位簽章方案係在下列實施例中闡述
為非限制範例。給定一組域參數D以及由私密部分u和公開部分U=uG組成的金鑰,簽章過程以與上在述說明中相同的方式進行,直到產生隨機值k的時刻之前。在這點處,方法包含,歸因於密碼安全隨機數產生器,產生兩個隨機正整數k1和k2,係全嚴格地小於基點G的階數,且使得除了1外,k1及k2都不共用具有n的公因數。接著,方法包含計算k的保護版本為k’=k1*k2的步驟。在另一步驟中,方法包含計算點K為K=k’*G。簽章及驗證過程的後續係與對於標準ECDSA方案相同。k的真值能分別被計算為k=k’mod n,其有益地不需要時間上或實體上靠近或在純量點乘法之實行中出現。
在另一實施例中,依賴索菲.熱爾曼質數的迪菲-赫爾曼金鑰交換協定係闡述為非限定的範例。使用形式p=2*q+1之質數p,其中q亦為質數。方法包含,歸因於密碼安全隨機數產生器,分別產生兩個正秘密整數i1及i2以及j1及j2的步驟,其皆嚴格地小於階數p-1,使得這些整數除了1外並不與值p-1共用任何因數。接著方法包含計算保護秘密值i’和j’的步驟,其中對於各個使用者分別i’=i1*i2和j’=j1*j2。協定的後續運行為在標準中未保護版本,其中所有秘密值由他們對應的保護版本取代。分別來說,i和j的真值能分別被計算為i=i’mod(p-1)和j=j’mod(p-1)且不需要時間上或實體上靠近或純量點乘法之實行中出現。
依賴質數之更一般形式的迪菲-赫爾曼金鑰交
換協定係闡述為非限定的範例。使用形式p=n*q+1的質數p,其中q亦為質數。方法包含產生兩隨機整數及秘密整數值i1、i2、j1及j2,其全都分別嚴格地小於q,使得這些整數除了1外分別並不與值q共用因數歸因於密碼安全隨機數產生器。方法包含分別針對各個使用者計算保護秘密值i’,其中i’=i1*i2和j’,其中j’=j1*j2的步驟。協定的後續運行為在標準中未保護版本,其中所有秘密值由他們對應的保護版本取代。分別來說,i和j的真值能分別被計算為i=i’mod q和j=j’mod q,且不需要時間上或實體上靠近或在純量點乘法之實行中出現。
本說明書並非僅限於上面舉出的說明。給定密碼群組,以加法的或以乘法的方式其一者寫入在此群組中階數n的基本元素G和群運算K,其中例如當群運算係乘法地寫入時K=g^k或是當群運算係加法地寫入時(其包含秘密元素k)K=kG,接著可能的是,總是產生k的保護版本k’如下:方法包含步驟為,歸因於密碼安全隨機數產生器產生兩個正秘密整數k1和k2,其兩者皆嚴格地小於基本元素G之階數n,並且歸因於密碼安全隨機數產生器除了1外不與n共用任何其它因數。在另一步驟中,方法包含計算k的保護版本k’,其中k’=k1*k2。保護版本k’接著能安全的被使用為取代秘密值k。
這樣的方法可例如被實行於計算裝置中,像是安全元件、硬體安全模組HSM(Hardware Security Module)、個人電腦。將充分了解的是,該些範例並非限
制性的,並且如從本領域周知的或能夠產生保護秘密值的計算裝置可被使用來產生如上所述的這類保護秘密值k’。
Claims (11)
- 一種用以產生保護秘密值k’的方法,該保護秘密值k’使用為在密碼群運算中之第一運算元,其包含階數n之基本群組元素G,且包含:-產生隨機正整數k1和k2,歸因於密碼安全隨機數產生器其嚴格地小於該群組元素G的階數,使得該產生的隨機正整數k1和k2除了1外並不與該階數n共用任何因數,-基於該產生隨機正整數來產生該保護秘密值k’,像是k’=k1*k2,該保護秘密值k’被使用為在該群運算中的第二運算元,且其中在該密碼群運算中使用的秘密值k係藉由在該產生的保護秘密值k’對該基本元素G之該階數n進行模數計算上應用模簡化來獲得。
- 如申請專利範圍第1項的方法,其中該產生的隨機正整數k1、k2具有嚴格地小該於基本群組元素G之該階數n的位元長度的長度。
- 如申請專利範圍第1或2項的方法,其中該保護秘密值k’被使用為在迪菲-赫爾曼協定中的至少一秘密參數。
- 如申請專利範圍第3項的方法,其中該保護秘密值k’ 被使用為在整數對質數p=2*q+1做模數計算之群組之上實行的迪菲-赫爾曼協定中的至少一秘密參數,其中q亦為質數。
- 如申請專利範圍第3項的方法,其中該保護秘密值k’被使用為在整數對質數p=m*q+1做模數計算之群組之上實行的迪菲-赫爾曼協定中的至少一秘密參數,其中q亦為質數。
- 如申請專利範圍第3項的方法,其中該保護秘密值k’被使用為在有限體之上定義的橢圓曲線上之點的群組之上實行的迪菲-赫爾曼協定中的至少一秘密參數。
- 如申請專利範圍第1或2項的方法,其中該保護秘密值k’被使用為在ECDSA簽章方案中的秘密隨機整數。
- 如申請專利範圍第1或2項的方法,其中該保護秘密值k’被使用為在數位簽章方案中的秘密隨機值,該數位簽章方案包含階數n之基本元素與該保護秘密值k’之間的至少一密碼群運算。
- 如申請專利範圍第1或2項的方法,其中該保護秘密值k’被使用為在公鑰簽章方案中的秘密隨機值,該公鑰簽章方案包含階數n之基本元素與該保護值k’之間的至少一 密碼群運算。
- 如申請專利範圍第1或2項的方法,其中該保護秘密值k’被使用為在公鑰加密方案中的秘密隨機值,該公鑰加密方案包含階數n之基本元素與該保護值k’之間的至少一密碼群運算。
- 一種計算裝置,組態以產生保護秘密值k’,該保護秘密值k’使用為在密碼群運算中的第一運算元,該密碼群運算包含階數n之基本群組元素G,且該計算裝置組態以:-產生隨機正整數k1和k2,歸因於密碼安全隨機數產生器,嚴格地小於該群組元素G的該階數,使得該產生的隨機正整數k1和k2除1以外並不與該階數n共用任何因數,-基於該產生隨機正整數來產生該保護秘密值k’,像是k’=k1*k2,該保護秘密值k’被使用為在該群運算中的第二運算元,-藉由在該產生的保護秘密值k’對該基本元素G之該階數n進行模數計算上應用模簡化來獲得在該密碼群運算中使用的秘密值k。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16170236 | 2016-05-18 | ||
??16170236.0 | 2016-05-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201810989A true TW201810989A (zh) | 2018-03-16 |
Family
ID=56014930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106116143A TW201810989A (zh) | 2016-05-18 | 2017-05-16 | 用以保護密碼指數的方法及系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200287712A1 (zh) |
EP (1) | EP3459203B1 (zh) |
TW (1) | TW201810989A (zh) |
WO (1) | WO2017198745A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245917A (zh) * | 2019-08-14 | 2022-03-25 | 日本电信电话株式会社 | 秘密归一化指数函数计算系统、秘密归一化指数函数计算装置、秘密归一化指数函数计算方法、秘密神经网络计算系统、秘密神经网络学习系统、程序 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390154B1 (en) | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US9529923B1 (en) | 2015-08-28 | 2016-12-27 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US10747753B2 (en) | 2015-08-28 | 2020-08-18 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
PT3539026T (pt) | 2016-11-10 | 2022-03-08 | Swirlds Inc | Métodos e aparelhos para uma base de dados distribuída que inclui entradas anónimas |
KR102454779B1 (ko) | 2016-12-19 | 2022-10-13 | 스월즈, 인크. | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 |
KR102208336B1 (ko) * | 2017-07-11 | 2021-01-27 | 스월즈, 인크. | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
SG10202107812YA (en) | 2017-11-01 | 2021-09-29 | Swirlds Inc | Methods and apparatus for efficiently implementing a fast-copyable database |
GB201806112D0 (en) * | 2018-04-13 | 2018-05-30 | Nchain Holdings Ltd | Computer-implemented system and method |
Family Cites Families (12)
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 |
AU2557399A (en) * | 1998-01-02 | 1999-07-26 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
JP5068176B2 (ja) * | 2005-01-18 | 2012-11-07 | サーティコム コーポレーション | デジタル署名と公開鍵の促進された検証 |
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 |
FR2888690A1 (fr) * | 2005-07-13 | 2007-01-19 | Gemplus Sa | Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe |
US8139763B2 (en) * | 2007-10-10 | 2012-03-20 | Spansion Llc | Randomized RSA-based cryptographic exponentiation resistant to side channel and fault attacks |
EP2326041A1 (en) * | 2009-11-19 | 2011-05-25 | Gemalto SA | Countermeasures against power attacks for the randomization of the exponent |
KR20120070873A (ko) * | 2010-12-22 | 2012-07-02 | 한국전자통신연구원 | 부채널 방지 마스킹 덧셈 연산 장치 |
FR2977952A1 (fr) * | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | Protection d'un calcul d'exponentiation modulaire par multiplication par une quantite aleatoire |
US20160352689A1 (en) * | 2015-05-26 | 2016-12-01 | Infosec Global Inc. | Key agreement protocol |
EP3188001B1 (en) * | 2015-12-29 | 2020-08-12 | Secure-IC SAS | Modular multiplication device and method |
-
2017
- 2017-05-16 TW TW106116143A patent/TW201810989A/zh unknown
- 2017-05-18 EP EP17723417.6A patent/EP3459203B1/en active Active
- 2017-05-18 US US16/095,737 patent/US20200287712A1/en active Pending
- 2017-05-18 WO PCT/EP2017/061905 patent/WO2017198745A1/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245917A (zh) * | 2019-08-14 | 2022-03-25 | 日本电信电话株式会社 | 秘密归一化指数函数计算系统、秘密归一化指数函数计算装置、秘密归一化指数函数计算方法、秘密神经网络计算系统、秘密神经网络学习系统、程序 |
CN114245917B (zh) * | 2019-08-14 | 2023-12-05 | 日本电信电话株式会社 | 秘密归一化指数函数计算系统、装置、方法以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200287712A1 (en) | 2020-09-10 |
EP3459203B1 (en) | 2021-11-24 |
WO2017198745A1 (en) | 2017-11-23 |
EP3459203A1 (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201810989A (zh) | 用以保護密碼指數的方法及系統 | |
Segar et al. | Pell's RSA key generation and its security analysis | |
CA2542556C (en) | An authentication system executing an elliptic curve digital signature cryptographic process | |
US9571274B2 (en) | Key agreement protocol | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
Nagaraj et al. | Data encryption and authetication using public key approach | |
US20200119918A1 (en) | Elliptic curve point multiplication device and method in a white-box context | |
CN109214195A (zh) | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法 | |
JP2021144239A (ja) | 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法 | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
US20160352689A1 (en) | Key agreement protocol | |
Hwang et al. | A Lightweight Certificate-Based Aggregate Signature Scheme Providing Key Insulation. | |
Chatterjee et al. | Mutual Authentication Protocol Using Hyperelliptic Curve Cryptosystem in Constrained Devices. | |
EP2738973A1 (en) | System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques | |
Mehibel et al. | A new algorithm for a public key cryptosystem using elliptic curve | |
WO2016187690A1 (en) | Key agreement protocol | |
Magons | Applications and Benefits of Elliptic Curve Cryptography. | |
Ahirwal et al. | Signcryption scheme that utilizes elliptic curve for both encryption and signature generation | |
CN104125061A (zh) | 使用rsa加密算法的电子部件中的防攻击方法 | |
Abdurahmonov et al. | Improving Smart Card Security Using Elliptic Curve Cryptography over Prime Field (F p) | |
Mohapatra | Signcryption schemes with forward secrecy based on elliptic curve cryptography | |
Rama et al. | RSA public key cryptosystem using modular multiplication | |
Gupta et al. | Performance study of genus 3 hyperelliptic curve cryptosystem | |
Adamski et al. | Algorithms and Circuits for Low Power Secured Sensor Networks with Asymmetric Computational Resources | |
Ikram et al. | A new approach towards secure iff technique |