TWI512610B - 利用模數的特殊形式之模組約化 - Google Patents

利用模數的特殊形式之模組約化 Download PDF

Info

Publication number
TWI512610B
TWI512610B TW098101307A TW98101307A TWI512610B TW I512610 B TWI512610 B TW I512610B TW 098101307 A TW098101307 A TW 098101307A TW 98101307 A TW98101307 A TW 98101307A TW I512610 B TWI512610 B TW I512610B
Authority
TW
Taiwan
Prior art keywords
modulus
value
quotient
approximate
approximation
Prior art date
Application number
TW098101307A
Other languages
English (en)
Other versions
TW200939114A (en
Inventor
Michel Douguet
Vincent Dupaquis
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 TW200939114A publication Critical patent/TW200939114A/zh
Application granted granted Critical
Publication of TWI512610B publication Critical patent/TWI512610B/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

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)
  • Mobile Radio Communication Systems (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Description

利用模數的特殊形式之模組約化
本申請案之標的一般係關於密碼編譯學。
密碼編譯程序在器件執行密碼編譯演算法時經受"側通道"攻擊(例如電力及電磁分析攻擊),其使用洩漏至器件之操作環境內的資訊。例如,駭客可監視藉由器件(例如智慧卡)消耗之電力或藉由其發射之電磁輻射,同時其實行私有密鑰運算,例如解密及簽名產生。駭客亦可測量其實行密碼編譯操作所花之時間,或者分析密碼編譯器件在遇到特定錯誤時如何反應。對側通道攻擊之某些傳統對策***"虛設"密碼編譯操作(例如加倍、加法),使得當例如在電力跡線上檢視時無法將運算彼此區分。然而,***額外"虛設"運算減緩總體密碼編譯程序,其對特定應用可能不可接受。
巴瑞特約化係一種不利用任何除法約化以另一數字為模之一數字的方法。當用於約化單一數字時,巴瑞特約化方法可比除法演算法更慢。藉由預先計算用於巴瑞特約化方法中之靜態值並且藉由利用模數之一特殊形式,約化以另一數字為模之一數字的計算可被減少。此可導致計算時間之一減小,從而加速總體密碼編譯程序。
揭示針對用於密碼編譯程序中之運算利用模數之特殊形式的模組約化之其他實施方案,包括針對系統、方法、程序、裝置及電腦可讀取媒體之實施方案。
範例密碼編譯系統及程序
圖1係公用密鑰密碼編譯系統100之實施方案的方塊圖。系統100包括器件102("器件A")及器件104("器件B")。在所示範例中,器件102可在不安全通道110上與器件104通信。例如,器件102可在不安全通道110上發送訊息至器件104。器件102及104可係能夠實行密碼編譯程序之任何器件,包括但不限於:個人電腦、行動電話、電子郵件器件、遊戲主控台、個人數位助理(PDA)等。不安全通道110可係任何通信媒體,包括但不限於:射頻(RF)載波、光學路徑、電路路徑、網路(例如網際網路)等。
在某些實施方案中,器件102包括加密引擎106及亂數產生器112。亂數產生器112可產生真實亂數(例如從實體程序產生)或偽亂數(例如從演算法產生)。在其他實施方案中,透過介面接收亂數或將其儲存於器件102上(例如記憶體中)。
在某些實施方案中,器件104包括用於解密從器件102接收之密文或數位簽名的解密引擎108。器件102及104可包括用於雙向通信之加密及解密引擎106、108兩者。在所示範例中,器件102、104可實行各種密碼編譯程序,包括但不限於橢圓曲線加密/解密、橢圓曲線數位簽名產生及鑑認等。
儘管本文所說明之密碼編譯程序係關於橢圓曲線,所揭示實施方案可用於實行體運算(field operation)的任何密碼編譯程序,其中需要遮蔽可從分析體運算之操作環境導出的機密材料。
在某些實施方案中,藉由器件102、104兩者共用相同域參數(例如選定曲線、群組項次等)。
在某些實施方案中,器件102可係處於對器件104鑑認其持有者之程序中的智慧卡,例如,器件104可係位於銀行之主機電腦。智慧卡亦可稱為晶片卡或積體電路卡(ICC),一般係一口袋大小的卡(例如***大小的卡),其可包括攜載及/或處理資訊之嵌入式積體電路。智慧卡亦可包括特定安全邏輯。所儲存及/或處理之資訊可係對其持有者特定之安全資訊(例如銀行帳號),其可用於處理使用者所請求之交易(例如從其銀行帳號提款)。安全邏輯可用於保護使用者特定資訊在器件102與器件104之間的傳輸。
在某些情形中,駭客可藉由在不安全通道110上偷聽而監視器件102與器件104之間的通信。駭客可具有讀取在通道上傳送之所有資料的能力,以修改傳送之資料及為了其自身利益將其他資料注入至傳輸中。例如,駭客可嘗試讀取從發送器件102至接收器件104之訊息,以獲得關於訊息之發送方的個人資訊(例如銀行帳號、***號碼等)。駭客亦可嘗試模仿通信通道內之器件102或器件104以實行特定活動,其將由任一器件請求或實行(例如從銀行帳號提款,利用***訂購商品等)。
在其他情形中,駭客可試圖分析器件102及104之操作環境以決定機密鍵控材料。此等攻擊通常稱為"側通道"攻擊。側通道攻擊之某些範例包括電力分析攻擊(例如簡單或差動)及電磁分析攻擊。
電力分析攻擊測量密碼編譯器件之電力消耗,例如從外部未信任來源汲取電力的智慧卡。機密鍵控材料可直接藉由從單一機密密鑰運算檢驗電力跡線決定。因為用於相加及加倍點之公式可具有可與其他運算區分之電力跡線,橢圓曲線點乘法演算法特別易受該等類型之攻擊。
電磁分析攻擊測量藉由穿過CMOS器件之電流引起的電磁(EM)信號,其可藉由在器件正在實行密碼編譯操作時靠近器件放置感測器加以收集。可分析EM信號以決定正在執行哪些指令以及資料暫存器之內容。
因此,可需要器件102與器件104之間的安全通信、保護器件102及104之操作環境以及適時地實行該等安全通信。可利用已知加密技術對抗前者。該等技術可利用密碼編譯程序內之橢圓曲線實施。
模算術
橢圓曲線系統內的體算術(field arithmetic)之有效實施可係減少實行密碼編譯程序所佔用之時間中的因素。橢圓曲線可包括有限組之元素,其可包括大數字(例如大於512位元),並且可利用模組算術加以組合。模組算術係用於約化以另一數字為模之數字的程序,其可涉及多個多精度浮動點除法運算。模組約化可藉由以下方程式定義:
其中U係欲約化模M之數字,r係疊合用於模數M之U的已發現殘數值,並且符號表示底部函數(最大整數<=a)以便對應於整數除法。數字U及M可係多字大小值(例如字大小可為32位元)。r之計算可在兩步驟內實行。第一步驟可決定商:
其中q係商而U係欲減小模M之數字。第二步驟可決定餘數或殘數值r:
r =U -q *M
巴瑞特約化方法
巴瑞特約化方法涉及藉由模數M計算數字U之模,其中可預先計算模數之倒數的按比例調整整數估計,其可稱為巴瑞特常數,並且可以乘法及偏移取代除法運算,以便估計商。用於巴瑞特約化方法之參數的選擇可將商估計內之錯誤保持在至多二。利用巴瑞特約化方法可幫助減少實行模組算術所需要之時間,尤其係在當採用單一模數實行許多約化時的條件下,如橢圓曲線密碼編譯內之情形。
巴瑞特約化方法可比未利用巴瑞特約化方法之許多方法更快地計算商q之近似值。在某些實施方案中,可將基數b設定為等於二。在某些實施方案中,可將基數b設定為等於二次方,其可對應於執行該方法的半導體器件(例如微控制器、微處理器等)之機器字大小。欲約化之數字x可藉由以下方程式以基數b表達:
x=(x2k-1 ...x1 x0 )b
其中
且m係模數。模數m可藉由以下方程式以基數b表達:
m=(mk-1 ...m1 m0 )b
其中mk-1 不等於零。
可利用以下方程式計算巴瑞特常數R:。可利用以下方程式計算商近似值q^,即近似基數商:
商近似值q^可驗證q-2<=q^<=q。可利用以下方程式計算餘數近似值r^:
r^=x-q^*m。
可藉由從r^減去模數m校正餘數近似值r^,直至餘數近似值r^之值小於模數m之值。
此文件中所揭示之方法可利用巴瑞特約化方法之修改形式,以利用以下方程式計算商近似值q^:
其中2n-t <=N<2n ,U<2n+y ,t等於機器字大小(按位元數)或若機器字係基於位元則等於一,n係模數之特殊形式的長度(按機器字),y係選擇使得U<2n+y 且U具有(n+y)位元之最大大小,以及α及β係兩個參數,其可係機器字之倍數並且經選擇以決定約化方法所需之準確度程度。
例如,參數之典型值可係y=n+t,其中U<22n +t。在此範例中,U之大小係模數m之大小的兩倍加額外機器字(2n+t)。可得知α=n+t且β=-t。可利用以下方程式計算商近似值q^:
此文件中所揭示之方法可利用修改型巴瑞特方法,其中模數之特殊形式可簡化商近似值q^所需要之計算。簡化之計算可減少貢獻於商近似值q^之錯誤量。對商近似值q^之額外錯誤,儘管已約化,可貢獻於餘數近似值r^之計算。在某些實施方案中,連續減法方法可用於計算準確餘數。此可需要利用更多減法運算。在某些實施方案中,若餘數可保留作為同餘,或者若可隨機化餘數,可對近似商q^上之較大初始錯誤利用餘數近似值r^之計算。美國專利公開案第2005/0105723號中揭示一範例隨機化;亦可利用其他隨機化技術。因此,可利用以下方程式r^=U-q^*N計算餘數近似值r^。
在巴瑞特約化方法中利用模數之特殊形式可導致巴瑞特常數之特殊形式。由於利用常數之特殊形式,可修改並簡化巴瑞特約化方法內之運算。利用此修改巴瑞特約化方法可進一步減少總體密碼編譯程序所佔用之時間。
參考圖1之說明,"側通道"攻擊可包括總體密碼編譯程序之分析,以決定(例如)執行之指令及資料暫存器內容。利用修改巴瑞特約化方法可引入模組算術之型樣變化,其可使駭客分析及從而決定任何機密鍵控材料變得困難。其揭示內容以提及方式併入本文中的美國專利公開案第2005/0105723號及PCT申請案PCT/US2006/012795提供範例隨機化及多項式,其可用於採用商隨機化之修改巴瑞特約化方法,商隨機化可導致可使駭客分析變得困難的型樣變化。亦可利用其他技術。
計算以另一數字為模之數字的模數
圖2係用以計算以另一數字N為模之數字U的模數之程序200的流程圖。數字N可係模數之特殊形式。程序200藉由決定欲約化之數字U之值及模數之特殊形式N開始(步驟202)。利用巴瑞特約化方法之修改版本實行數字U、模N之模組約化(步驟204)。輸出估計約化值r^(步驟206)。程序200結束。
程序200可係基於修改型巴瑞特約化方法之利用,其中模數及巴瑞特常數係特殊形式,從而對方法導致可約化及簡化計算之修改。更少及更簡單計算可減小實行數字之模組約化所佔用的時間量。橢圓曲線密碼編譯內之計算(例如參考圖4詳細說明的橢圓曲線數位簽名演算法(ECDSA))可包括涉及模組算術之許多數學計算(例如加法、減法、乘法)。因此,實行模組算術所佔用之時間的減少可導致用於密碼編譯程序之時間的總體減小。可在橢圓曲線密碼編譯程序內實行程序200,其利用質數體(Fp )上、二元體(F2 m )上或擴張體(Fp m )上之橢圓曲線。
當利用質數體上之橢圓曲線時的模數之特殊形式
在利用質數體(Fp )上之橢圓曲線的某些實施方案中,可藉由差分方程式(difference equation)定義模數之特殊形式N:
N=2m -F
其中m係模數內之位元數,值p可係一數字,p<=m-1。可將值F定義為F<2p
在其他實施方案中,可藉由累加方程式(sum equation)定義模數之特殊形式N:
N=2m +F
其中m係模數內之位元數,且值p可係一數字,p<=m-1。可將值F定義為F<2p
模數之某些特殊形式的範例可係藉由聯邦資訊處理標準(FIPS)186-2標準定義的模數。此標準推薦五個質數體上之橢圓曲線。質數具有可被撰寫為少數2次方之總和或差分的共同性質。2次方可係32之倍數,其可產生在具有32個位元之字大小的機器上尤其快之約化演算法。例如,在FIPS 186-2標準中包括的模數可藉由模數差分方程式之特殊形式表達:
N=2m -F
其中m=192且F=264 +1。192及64均係32之倍數。p值可藉由F<2p 且p<=m-1決定。因此264 +1<2p ,且p<=192-1,因此p可係選擇使得大於或等於65或小於或等於191。p值越小,實行模數算術所需要之計算數量越少。然而,出於實務原因,p值可係選擇為微處理器或微控制器之機器字大小的倍數(例如8、16或32位元)。更少計算之利用可減小實行模組算術所需要之時間。
商之估計
數字U之商之估計q、約化之模N(其中N係如上所說明的模數之特殊形式)可寫為:
其中2n-t <=N<2n ,U<2n+y ,t等於機器字大小(按位元數)或若機器與位元合作則等於一,n係模數之特殊形式的長度(按位元),y係選擇使得U<2n+y 且U具有(n+y)位元之最大大小,以及α及β係兩個參數,其可係機器字之倍數並且經選擇以決定約化方法所需之準確度程度。可計算常數R,其可稱為巴瑞特常數,其中:
並且可計算值QU,其中:
現在可將商近似值表達為:
巴瑞特常數之特殊形式
模數之特殊形式N可用於計算巴瑞特常數,其可導致巴瑞特常數之特殊形式R,其中:
R =2n+α-m +E =2h +E
且E<2s ,以及h=n+α-m。另外,
2n+α =N*R+A
其中A<N。可得知:
2n+α =(2m -F )*(2n+α-m +E )+A
以及
2n+α =2n+α -F *2n+α-m +E *(2m -F )+A ;
-F *2n+α-m +E*(2m -F )+A =0
以及
其中,如上文針對模數之特殊形式所說明,F<2p 且p<=m-1。接著可得知F<2m-1 ,-F>-2m-1 ,2m -F>2m -2m-1 ,以及
由於F<2p ,則
F *2 n +α+ m <2 p + n +α- m
以及E <2 p + α+ n -2* m +1
可得知用於s之值(其中E<2s )至多係:
s=p+α+n-2*m+1。
此計算可顯示最大次方(例如s值)與第二次方間的差分對於N及R大致相同,使得N=2m -F,且F<2p ,以及次方差分係m-p。對於
R =2 n +α- m +E
且E<2s ,次方間差分係n+α-m-s=m-p-1。
將商分成高項及低項
利用巴瑞特常數之特殊形式可簡化用於決定商之估計q^的計算。可將值QU分成兩項,如以下方程式中所示:
QU =2 u *QUHigh +QULow
其中
其中u係QULow之位元大小,以及
QULow<2u
QU =2 u *QUHigh +QULow
R =2 n + α - m +E =2 h +E
參考以上利用常數之特殊形式的商之估計q^的方程式可得知:
商之估計q^亦可表達為:
例如,對於三個值a、b及c,若a>0,b>0且c>0,則底部函數之性質可表示為:
可針對u選擇一值,使得QULow,其係商之兩項估計q^中較小項,較少貢獻於商之估計q^之計算中的錯誤。
Epsilonl值可保持較小,使得:
且E<2s 。接著可得知1/2s <1/E且Epsilonl=2e1 ,其亦可表達為e1=log2 (Epsilonl)。u值可選擇使得:
2u<=2α-β-s-el
接著可得知:
其中若吾人選擇下式則驗證方程式條件u<=α-β-s+el。
在某些實施方案中,保留於其約束內之值u可選擇成盡可能大。在其他實施方案中,保留於其約束內之值u可係機器字大小t之倍數。近似商q2^可藉由以下方程式表示:
利用以上說明之底部函數的性質,商之估計q^可表示為:
考慮以下方程式:
可得知:
為簡化q2^之計算,其可在兩部分內計算:
以及
q 2^-1<=q 3^<=q 2^
q3^之計算可導致具有以下性質之近似商:
在修改型巴瑞特約化方法中,當利用質數體(Fp )上之橢圓曲線時,可代替商近似值q^ 利用商近似值q3^。商近似值q3^之值可小於商近似值q^之值,其可導致估計商內之較大錯誤。然而,可藉由將Epsilonl之值選擇使得足夠小減少此錯誤。
可利用以下方程式採用商近似值q3^計算近似餘數r3^:
r 3^=U -q 3^*N
餘數近似值r3^可能未正規化(即大於或等於模數),但疊合所得商。可考慮近似商內之較大初始錯誤實行值U之模約化。美國專利公開案第2005/0105723號中揭示一範例方法;亦可利用其他方法。
用於計算高項及低項之值的方法
在某些實施方案中,可藉由實行偏移及截尾運算計算q3^之第一項,從而簡化商之估計q^之計算。在其他實施方案中,可藉由將-β選擇使得機器字大小t之倍數進一步簡化計算。可藉由實行採用截尾之乘法計算q3^之第二項。此採用截尾之乘法若在整個商上實行可係比該運算更簡單的運算。當QUHigh及E係小值時可額外地約化乘法。巴瑞特約化方法中涉及的許多運算之簡化可導致用於模數算術之減少計算時間。
在某些實施方案中,用於α及β之值的選擇可係基於對商q^上之錯誤的限制,以及用以評估商之計算的複雜性,如先前所說明。
修改型巴瑞特約化程序之實施方案
圖3係包括模數之特殊形式之利用的修改型巴瑞特約化程序300之實施方案的流程圖。在利用質數體(Fp )上之橢圓曲線的程序300之實施方案中,程序300藉由決定欲約化之數字U及模數N開始,以逐步約化數字(步驟302)。接著利用以上所說明之方程式計算模數之特殊形式N(步驟304)。另外利用以上所說明之方程式計算巴瑞特常數之特殊形式R(步驟306);計算值QU(步驟308);將值QU分成表示值QU之較高階位元的高項QUHigh及表示值QU之較低階位元的低項QULow(步驟312);計算估計商q3^之中間值,以簡化用以決定以N為模之U之計算(步驟314);以及q3^之計算給出商之估計q^(步驟316)。程序300結束。
當利用二元體上之橢圓曲線時的模數之特殊形式
在利用二元體(F2 m )上之橢圓曲線的圖2之程序200之某些實施方案中,可藉由差分方程式定義模數之特殊形式N:
N=Xm -F
其中X係多項式,並且m係模數內之位元數。值p可係一數字p<=m-1。可將值F定義為deg(F)<p。
在其他實施方案中,可藉由累加方程式定義模數之特殊形式N:
N=Xm +F
其中m係模數內之位元數。值p可係一數字p<=m-1。
可將值F定義為deg(F)<p。
商之估計
數字U之商之估計q、約化之模N(其中N係如上所說明的模數之特殊形式)可寫為:
其中n-t<=deg(N)<=n-1,deg(U)<n+y,t等於機器字大小(按位元數)或若機器與位元合作則等於值一,n係模數之特殊形式的長度(按位元),y係選擇使得deg(U)<n+y之一值且U可具有(n+y)位元之最大大小,以及α及β係兩個參數,其可係機器字之倍數並且經選擇以決定約化方法所需之準確度程度。用於巴瑞特約化方法之方程式可類似於用於質數體(Fp )內之橢圓曲線的方程式,其如上所說明以值X及多項式商計算替代用於質數體之方程式內的值2。
U =QU *X n + β +RU
deg(RU )<n +β
deg(QU )=y
X n + α =QN *N +RN
deg(RN )<deg(N )<=n -1
deg(QN )=n +α-deg(N )
U =Q *N +R
deg(R )<deg(N )<=n -1
deg(Q )=n +y -deg(N )
QU *QN =q ^*X α +R ^
deg(R ^)<α-β
deg(q ^)=yn -deg(N )
巴瑞特常數之特殊形式
以類似於質數體(Fp )內之橢圓曲線的模數之方式,用於二元體(F2 m )內之橢圓曲線的模數亦具有巴瑞特常數之特殊形式QN。模數之特殊形式N可用於計算巴瑞特常數,其可導致巴瑞特常數之特殊形式QN,其中:
QN =X n +α- m +E =X h +E
且deg(E)<s,以及h=n+α-m。
將商分成高項及低項
利用巴瑞特常數之特殊形式可簡化用於決定商之估計q^的計算。可將值QU分成兩項,如以下方程式中所示:
QU =X u *QUHigh +QULow
其中
deg(QUHigh) =deg(QU )-u =y -β-u
其中u係QULow之位元大小,以及
deg(QULow)<u
QU =X u *QUHigh +QULow
QN =X n + α -m +E =X h +E
QU *QN =(X n *QUHigh *QULow )*(X h +E )
Q U *QN =QU *X h +X u *QUHigh *E +QULow *E
可將值QU*QN除以Xα-β 以決定商之估計q^。若其對商之估計q^具有最小影響,可完全不計算和之第三部分QU*QN。消除計算可有助於實行模組約化所佔用之時間的減少。
可針對u選擇一值,使得QULow,其係兩項商之估計q^中較小項,較少貢獻於商之估計q^之計算中的錯誤。若
deg(E)<s且deg(E)<=s-1,
deg(QULow *E )<α-β+Epsilon 1
deg(QULow )+deg(E )<α-β+Epsilon 1
u值可選擇使得:
u <=α-β+Epsilon 1-s +1
其中驗證條件deg(QULow)<u。
對於二元體(F2 m )上之橢圓曲線,底部函數指示方程式內所實行之除法係多項式除法。
可利用簡單偏移及截尾運算計算商近似值q3^之第一項。若β值係選擇為機器字大小t之倍數,可進一步簡化計算。
可利用採用截尾之乘法計算商近似值q3^之第二項。採用截尾之乘法係較簡單運算,其中計算用於決定商近似值q^。若QUHigh及E之值係選擇為小,可進一步簡化採用截尾之乘法。
在用於二元體(F2 m )上之橢圓曲線的修改型巴瑞特約化方法中,可代替商近似值q^利用商近似值q3^。商近似值q3^之值可小於商近似值q^之值,其可導致估計商內之較大錯誤。然而,可藉由將Epsilonl之值選擇成足夠小來減少此錯誤。
可利用以下方程式採用商近似值q3^計算餘數近似值r3^:
r 3^=U -q 3^*N
餘數近似值r3^可能未正規化(即大於或等於模數),但疊合所得商。可考慮近似商內之較大初始錯誤,例如美國專利公開案第2005/0105723號內所說明,或藉由其他技術,實行值U之模約化。
橢圓曲線數位簽名演算法(ECDSA)
在某些實施方案中,數位簽名演算法(DSA)可用於基於橢圓曲線之公用密鑰密碼編譯系統內。橢圓曲線數位簽名演算法(ECDSA)係DSA之橢圓曲線類比。ECDSA可由信任憑證授權機構用於簽名可將器件及其公用密鑰結合在一起的憑證。
ECDSA可包括四個演算法,其可用於產生用於純文字訊息m之數位簽名。第一演算法可係域參數產生演算法,其可產生一組域參數D。域參數D可包括以下參數:q,體項次;E,橢圓曲線方程式(例如方程式y2 =x3 +ax+b內之a及b);E(Fp )內之一點P;P之項次n;以及餘因子h,其中h=#E(Fp )/n,並且#E(Fp )係橢圓曲線E內之點數。
第二演算法可係密鑰產生演算法,其可採用一組域參數D並且產生一密鑰對(例如Q、d)。
第三演算法可係簽名產生演算法,其可採用一組域參數D、私有密鑰d及訊息m作為輸入,並且產生簽名φ。
第四演算法可採用一組域參數D、公用密鑰Q、訊息m及簽名φ作為輸入,並且可接受或拒絕簽名φ。
在ECDSA之實施方案中,參考圖1,發送方(例如器件102)可產生簽名並且經由不安全通道(例如通道110)將其傳送至接收方(例如器件104)。接收方(例如器件104)接著可驗證接收之簽名。
發送方(例如器件102)可從間隔[1,(n-1)]選擇一亂數k。發送方接著可計算k.P=(x1 ,y1 ),其中(x1 ,y1 )係橢圓曲線E上之一點,而k.P係點乘法運算。可將點座標x1 轉換為整數。發送方可計算r=mod n,其中以n為模計算數字之模數,從而導致殘數r,而mod係模運算子。
若r等於零,發送方再次開始簽名產生程序並且選擇亂數k。若r不等於零,發送方可利用密碼編譯雜湊函數H計算訊息摘要e=H(m),其中訊息摘要e可用作純文字訊息m 之短指紋。發送方接著可針對s計算以下方程式s=k-1 *(e+d*r)mod n。同樣可實行模算術。若s等於零,發送方再次開始簽名產生程序並且選擇亂數k。若s不等於零,發送方可傳送簽名(r,s)至接收方。
接收方(例如器件104)可驗證接收之簽名(r,s),並且接受簽名或拒絕簽名。接收方可驗證r及s係間隔[1,n-1]內之整數。若r或s或者r及s兩者不在間隔[1,n-1]內,驗證將失敗並且可拒絕簽名。若r及s在間隔[1,n-1]內,接收方接著可計算訊息摘要e=H(m)。
接下來,接收方可利用模算術計算值w=s-1 mod n。接收方接著可利用模算術計算值u1 及u2 ,其中同樣u1 =e*w mod n且u2 =r*w mod n。接收方接下來可計算值X,其中X=u1 .P+u2 .Q。若X等於無窮,可拒絕簽名。若X不等於無窮,接收方可將點X之x座標(x1 )轉換為整數。接收方可利用模算術計算值v,其中mod n。若v等於r,可接受簽名。若v不等於r,可拒絕簽名。接收方可結束簽名驗證程序。利用用於模組算術之修改型巴瑞特約化方法之橢圓曲線數位簽名產生
圖4係在用於模組算術之修改型巴瑞特約化方法中利用模數之特殊形式之橢圓曲線數位簽名產生程序400的實施方案之流程圖。當發送方(例如器件102)發送訊息m至接收方(例如器件104)時,其需要來自接收方之數位信號以供接收方驗證,程序400開始。先前已說明將數位簽名用於訊息之優點。
發送方可從間隔[1,(n-1)]選擇一亂數k(步驟402)。接下來,在程序400中,發送方可計算k.P=(x1 ,y1 ),其中(x1 ,y1 )係橢圓曲線E上之一點(步驟404)。可將點座標x1 轉換為整數(步驟406)。
發送方可計算mod N(步驟408)。圖3之程序300可用於利用模數N之特殊形式實行模算術,以及參考圖2所說明之修改型巴瑞特約化方法。若r等於零(步驟410),發送方再次開始簽名產生程序並且選擇亂數k(步驟402)。若r不等於零(步驟410),發送方可利用密碼編譯雜湊函數H計算訊息摘要e=H(m)(步驟412),其中訊息摘要e可用作藉由發送方(例如器件102)發送至接收方(例如器件104)的訊息m之短指紋。發送方接著可針對s計算以下方程式:s=k-1 *(e+d*r)mod N(步驟414)。圖3之程序300可用於利用模數N之特殊形式實行模算術,以及參考圖2所說明之修改型巴瑞特約化方法。若s等於零(步驟416),發送方再次開始簽名產生程序並且選擇亂數k(步驟402)。若s不等於零(步驟416),發送方可將簽名(r,s)連同訊息傳送至接收方(步驟418)。
接收方(例如器件102)可驗證接收之簽名(r,s),並且接受簽名或拒絕簽名。上文已說明此程序。
在某些實施方案中,橢圓曲線之方程式可在二元體F2 m 上。方程式可係以下形式:y2 +xy=x3 +ax2 +b,其中b≠0。
在此實施方案中,有限體(finite field)之元素可係具有至多m個位元之長度的整數。可將元素視為階次m-1之二進制多項式。多項式算術可用於加法、乘法、除法及減法運算。此橢圓曲線可用於圖1至4中所說明的實施方案內。
前述程序在ECC系統內實施修改型巴瑞特約化方法中模數之特殊形式的利用。其他程序也可行,包括具有更多或更少步驟之程序。程序200、300及400之步驟不需要以所示順序連續實行。可將程序200、300及400分成藉由一或多個處理器核心及/或平行處理器運行的多個處理線程。
系統架構
圖5係用於實施圖2、3及4之程序之系統的實施方案之方塊圖。例如,系統500可係包括於參考圖1所說明之器件102及/或器件104內。系統500包括處理器510、記憶體520、儲存器件530及輸入/輸出器件540。利用系統匯流排550互連組件510、520、530及540之每一者。處理器510能夠處理用於在系統500內執行之指令。在某些實施方案中,處理器510係單一線程處理器。在其他實施方案中,處理器510係一多線程處理器。處理器510能夠處理儲存於記憶體520內或儲存器件530上之指令,以便將一使用者介面之圖形資訊顯示於輸入/輸出器件540上。
記憶體520儲存系統500內之資訊。在某些實施方案中,記憶體520係電腦可讀取媒體。在另一實施方案中,該記憶體520係一揮發性記憶體單元。在另一實施方案中,記憶體520係一非揮發性記憶體單元。
儲存器件530能夠提供系統500之大量儲存器。在某些實施方案中,儲存器件530係一電腦可讀取媒體。在各種不同實施方案中,儲存器件530可為一軟碟器件、一硬碟器件、一光碟器件,或一磁帶器件。
輸入/輸出器件540提供用於系統500之輸入/輸出操作。在某些實施方案中,輸入/輸出器件540包含一鍵盤及/或指向器件。在另一實施方案中,輸入/輸出器件540包括用於顯示圖形使用者介面之一顯示單元。
可將描述之特徵實施於數位電子電路中,或者電腦硬體、韌體、軟體或其組合中。特徵可實施於一電腦程式產品內,其有形地體現於一資訊載體內,例如在一機器可讀取儲存器件內或在一傳播信號內,以供一可程式化處理器執行;且若干方法步驟可藉由一可程式化處理器來實行,該可程式化處理器執行一指令程式以藉由運算輸入資料並產生輸出來實行所說明具體實施方案之若干功能。可將描述之特徵有利地實施於一或多個電腦程式中,其可執行於一可程式化系統上,其中包括至少一可程式化處理器,其經耦合以接收來自一資料儲存系統、至少一輸入器件及至少一輸出器件之資料及指令,以及傳送資料及指令至其。一電腦程式係一組指令,其可直接地或間接地用於一電腦中,以實行某一活動或引起某一結果。一電腦程式可以包含已編譯或已解譯語言之程式化語言之任何形式加以撰寫,而且其可以任何形式(包含如一單獨程式或如一模組、組件、次常式,或者適合用於一計算環境之其他單元)加以部署。
藉由範例,用於執行一指令程式之適合處理器包含一般及特殊用途微處理器兩者,及任何種類之電腦之單一處理器或多個處理器之一。一般而言,一處理器將接收來自一唯讀記憶體或一隨機存取記憶體或兩者之指令及資料。一電腦之基本元件係一用於執行指令之處理器,及一或多個用於儲存指令與資料之記憶體。一般而言,一電腦亦將包含或者操作性耦合以與用於儲存資料檔案之一或多個大量儲存器件進行通信;此類器件包含例如內部硬碟與可移式碟之磁碟;磁光碟;及光碟。可適合用於有形地體現電腦程式指令及資料之儲存器件包含所有形式之非揮發性記憶體,藉由範例,其包含例如EPROM、EEPROM及快閃記憶體器件之半導體記憶體器件;例如內部硬碟及可移式碟之磁碟;磁光碟;及CD-ROM與DVD-ROM碟。該處理器及該記憶體可以ASIC(特定應用積體電路)補充或併入其中。為了提供與一使用者之互動,可將該等特徵實施於一電腦上,其具有例如一CRT(陰極射線管)或LCD(液晶顯示器)監視器之一顯示器件,用於將資訊顯示給該使用者,及一鍵盤與例如一滑鼠或一軌跡球之一指向器件,該使用者可藉此提供輸入給該電腦。
該等特徵可實施於一電腦系統內,該電腦系統包括一後端組件,諸如一資料伺服器;或包括一中間軟體組件,諸如一應用程式伺服器或一網際網路伺服器;或包括一前端組件,諸如一用戶端電腦,其具有一圖形使用者介面或一網際網路瀏覽器或其任一組合。該系統之組件可藉由數位資料通信的任一形式或媒體來連接,諸如一通信網路。通信網路之範例包含例如一LAN、一WAN,及形成網際網路之電腦與網路。
該電腦系統可包含用戶端及伺服器。用戶端及伺服器一般係彼此遠離而且通常透過一通信網路來相互作用。用戶端與伺服器之關係憑藉運行於各別電腦上並且彼此具有一主從關係之電腦程式而出現。
在某些實施方案中,圖2、3及4內所說明之程序可執行於微控制器上,其可包括用於密碼編譯系統之專用電路。在微控制器之某些實施方案中,可包括用於對簡單電力分析(SPA)、差動電力分析(DPA)、簡單電磁分析(SEMA)及差動電磁分析(DEMA)之保護。微控制器亦可在訊息加密期間實施修改型巴瑞特約化方法(圖3),以進一步防止攻擊,以及減小密碼編譯程序之總體速度。
例如,微控制器可包括於智慧卡上。此一微控制器之範例可係用於智慧卡之Atmel AT90SC6404RFT安全微控制器。微控制器之電路及智慧卡上之相關電路可包括數千個邏輯閘極,其根據正在執行之運算的複雜性差動地開啟及關閉。智慧卡之電流消耗取決於可由正在執行之運算決定的閘極切換。駭客可監視智慧卡之電力消耗,並且在操控其時可利用統計資訊推斷關於敏感資料之資訊。因此,對可能未包括於先前收集之統計資訊內的敏感資料之操控的任何變化可防止攻擊。
SPA可涉及監視智慧卡之電流消耗曲線。DPA可利用統計資訊以簡化及展現SPA可能無法偵測之電力消耗差異。SEMA及DEMA可涉及監視智慧卡之電磁發射。藉由智慧卡消耗之電流可建立電磁場,其可利用特殊探針測量。該等場可取決於電流消耗,其根據正在智慧卡上執行之運算變化。另外來自智慧卡之電磁發射將藉由卡上位置變化,其取決於哪個(些)晶片正在用於執行運算。藉由不僅監視智慧卡之電磁發射而且監視其位置,利用統計資訊及反向工程之駭客可能決定敏感資料。
利用模數之特殊形式及用於模數算術之修改型巴瑞特約化方法可防止駭客決定因標準程序之修改引起的機密密鑰值(例如利用模數之特殊形式的修改型巴瑞特約化方法可實行不同於標準巴瑞特約化方法之計算)。另外,若駭客無法決定何時實行實際密碼編譯程序,駭客更難決定傳送之敏感資料。利用修改型巴瑞特約化方法可致使利用任何上述方法之駭客決定加密程序及傳輸亦在發生。
已說明若干實施方案。雖然如此,但應明白可進行各種修改。例如,可組合、刪除、修改或補充一或多個實施方案之元素以形成進一步實施方案。圖式中描述之邏輯流程不要求所示之特定順序或循序順序,以實現所需結果。此外,可提供其他步驟,或從描述之流程去除步驟,而且可新增其他組件至所描述之系統或從其移除其他組件。因此,其他實施方案係在下列申請專利範圍的範疇內。
100...公用密鑰密碼編譯系統
102...器件
104...器件
106...加密引擎
108...解密引擎
110...通道
112...亂數產生器
500...系統
510...處理器
520...記憶體
530...儲存器件
540...輸入/輸出器件
550...系統匯流排
圖1係公用密鑰密碼編譯系統之實施方案的方塊圖。
圖2係用以計算以另一數字為模之數字的模數之程序的流程圖。
圖3係包括模數之特殊形式之利用的修改型巴瑞特約化程序之實施方案的流程圖。
圖4係在用於模組算術之修改型巴瑞特約化方法中利用模數之特殊形式之橢圓曲線數位簽名產生程序的實施方案之流程圖。
圖5係用於實施圖2、3及4之程序之系統的實施方案之方塊圖。
(無元件符號說明)

Claims (30)

  1. 一種利用基於一質數體上之橢圓曲線的巴瑞特約化方法之一修改形式的一橢圓曲線密碼編譯系統內之模組約化方法,其包含:獲得指定欲約化之一第一值的輸入;獲得指定一模數之輸入,其中該模數為一特殊形式;實行以該模數之該特殊形式為模的該第一值之一模組約化;其中該模組約化包含:利用該特殊形式之該模數計算一近似基數商;計算一商近似值;以該商近似值替代該近似基數商;計算一近似餘數;以及基於該商近似值及該近似餘數計算該第一值之一估計約化形式。
  2. 如請求項1之方法,其中該模數之該特殊形式係一NIST質數。
  3. 如請求項1之方法,其中利用該模數之該特殊形式計算一巴瑞特常數之一特殊形式。
  4. 如請求項3之方法,其中該近似基數商含有一第二值u以及一第三值QU,其中將該第三值QU分成一高項QUHigh及一低項QULow。
  5. 如請求項4之方法,其中該第三值QU係藉由以下方程式決定: QU =2" *QUHigh +QULow 其中該第二值u表示QULow之位元大小。
  6. 如請求項5之方法,其中QULow表示QU之低序位位元,而QUHigh表示QU之高序位位元。
  7. 如請求項6之方法,其中基於該第二值u計算該低項QULow,其中該第二值u係經選擇使得最小化與該低項QULow及該近似基數商之計算相關聯之一錯誤。
  8. 如請求項7之方法,其中利用該低項QULow及該高項QUHigh計算該近似商。
  9. 如請求項8之方法,其中該近似商包括一值α及一值β,其中α及β之值係選擇使得α=n+t且β=-t,其中:t等於以位元數計量之一機器字大小;以及n等於該模數之該特殊形式的以機器字計量之長度。
  10. 如請求項9之方法,其中該近似商係藉由以下方程式表達: 其中:q3^係該近似商;α及β係一機器字之倍數;h係基於該模數之該特殊形式的長度;E<2s ;以及s係基於該模數之該特殊形式之利用的一最大冪值。
  11. 如請求項2之方法,其中利用以下方程式計算該近似餘數r3^:r 3^=U -q 3^*N ,其中:r3^係該近似餘數;U係該第一值;q3^係該近似商;以及N係該模數。
  12. 一種利用基於二元體上之橢圓曲線的巴瑞特約化方法之一修改形式的一橢圓曲線密碼編譯系統內之模組約化方法,其包含:獲得指定欲約化之一第一值的輸入;獲得指定一模數之輸入,其中該模數為一特殊形式;實行以該模數之該特殊形式為模的該第一值之一模組約化;其中該模組約化包含:利用該特殊形式之該模數計算一近似基數商;計算一商近似值;以該商近似值替代該近似基數商;計算一近似餘數;以及基於該商近似值及該近似餘數計算該第一值之一估計約化形式。
  13. 如請求項12之方法,其中該模數之該特殊形式係一NIST質數。
  14. 如請求項12之方法,其中利用該模數之該特殊形式計算一巴瑞特常數之一特殊形式。
  15. 如請求項14之方法,其中該近似基數商含有一第二值u以及一第三值QU,其中將該第三值QU分成一高項QUHigh及一低項QULow。
  16. 如請求項15之方法,其中該第三項QU係藉由以下方程式表達:QU =X "*QUHigh +QULow 其中:u係QULow之位元大小;以及X係一多項式。
  17. 如請求項16之方法,其中QULow表示QU之低序位位元,而QUHigh表示QU之高序位位元。
  18. 如請求項17之方法,其中基於該第二值u計算該低項QULow,其中該第二值u係選擇使得最小化與低項QULow及該近似基數商之計算相關聯之一錯誤。
  19. 如請求項18之方法,其中利用該低項QULow及該高項QUHigh計算該近似商。
  20. 如請求項19之方法,其中該近似商包括一值α及一值β,其中α及β之值係經選擇使得α=n+t且β=-t,其中:t等於以位元數計量之一機器字大小;以及 n等於該模數之該特殊形式的以位元或機器字計量之長度。
  21. 如請求項20之方法,其中該近似商係藉由以下方程式決定: 其中:q3^係該近似商;α及β係一機器字之倍數;h係基於該模數之該特殊形式的長度;X係一多項式;E<2s ;以及s係基於該模數之該特殊形式之利用的一最大冪值。
  22. 如請求項12之方法,其中該近似餘數係利用以下方程式計算:r 3^=U -q 3^*N ,其中:r3^係該近似餘數;U係該第一值;q3^係該近似商;以及N係該模數。
  23. 一種密碼編譯裝置,其包含: 一介面,其經組態以獲得欲約化之一輸入值及一模數;以及一加密引擎,其係耦合至該介面並且經組態以:利用預定數目個質數體上的橢圓曲線產生該模數之一特殊形式,及實行以該模數之該特殊形式為模的該輸入值之一模組約化;其中模約化包含:利用該特殊形式之該模數計算一近似基數商;計算一商近似值;以該商近似值替代該近似基數商;計算一近似餘數;以及基於該商近似值及該近似餘數計算該輸入值之一估計約化形式。
  24. 如請求項23之裝置,其中利用一巴瑞特約化方法之一修改形式實行該模組約化。
  25. 如請求項24之裝置,其中該輸入值之該估計約化形式由一高項及一低項組成,且其中該高項及該低項用於形成該輸入值之該估計約化形式。
  26. 如請求項25之裝置,其中該加密引擎之一輸出用於數位簽名一訊息。
  27. 一種密碼編譯裝置,其包含:一介面,其經組態以獲得欲約化之一輸入值及一模數;以及 一加密引擎,其係耦合至該介面並且經組態以:利用預定數目個質數體上的橢圓曲線產生該模數之一特殊形式,及實行以該模數之該特殊形式為模的該輸入值之一模組約化;其中該模約化包含:利用該特殊形式之該模數計算一近似基數商;計算一商近似值;以該商近似值替代該近似基數商;計算一近似餘數;以及基於該商近似值及該近似餘數計算該輸入值之一估計約化形式。
  28. 如請求項27之裝置,其中利用一巴瑞特約化方法之一修改形式實行該模組約化。
  29. 如請求項28之裝置,其中該輸入值之該估計約化形式由一高項及一低項組成,以及其中該高項及該低項用於形成該輸入值之該估計約化形式。
  30. 如請求項29之裝置,其中該加密引擎之一輸出用於數位簽名一訊息。
TW098101307A 2008-01-15 2009-01-14 利用模數的特殊形式之模組約化 TWI512610B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2115208P 2008-01-15 2008-01-15
US12/033,512 US8233615B2 (en) 2008-01-15 2008-02-19 Modular reduction using a special form of the modulus

Publications (2)

Publication Number Publication Date
TW200939114A TW200939114A (en) 2009-09-16
TWI512610B true TWI512610B (zh) 2015-12-11

Family

ID=40850629

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098101307A TWI512610B (zh) 2008-01-15 2009-01-14 利用模數的特殊形式之模組約化

Country Status (4)

Country Link
US (1) US8233615B2 (zh)
DE (1) DE112009000152B4 (zh)
TW (1) TWI512610B (zh)
WO (1) WO2009091748A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685354B1 (ko) * 2010-10-14 2016-12-13 삼성전자주식회사 모듈러 연산기와 이를 포함하는 장치들
WO2012167345A1 (en) 2011-06-06 2012-12-13 Certicom Corp. Squaring binary finite field elements
KR101423947B1 (ko) 2011-08-31 2014-08-01 고려대학교 산학협력단 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법
FR2985126B1 (fr) * 2011-12-21 2014-02-07 Oberthur Technologies Procede de determination du cofacteur d'une courbe elliptique, composant electronique, et produit programme d'ordinateur correspondants.
US9565017B2 (en) * 2014-11-10 2017-02-07 Umm Al-Qura University Method for efficiently protecting elliptic curve cryptography against simple power analysis attacks
US9870201B1 (en) * 2016-03-04 2018-01-16 Mbit Wireless, Inc. Method and apparatus for modulo arithmetic
US20220060315A1 (en) * 2019-01-07 2022-02-24 Cryptography Research, Inc. Sign-based partial reduction of modular operations in arithmetic logic units

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200402981A (en) * 2002-04-30 2004-02-16 Microsoft Corp Methods for remotely changing a communications password
US20060075485A1 (en) * 2004-10-01 2006-04-06 Takeshi Funahashi Information storage apparatus and password collation method

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001505325A (ja) * 1997-09-16 2001-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
JP3796993B2 (ja) 1998-12-22 2006-07-12 株式会社日立製作所 楕円曲線暗号実行方法及び装置並びに記録媒体
FR2791497B1 (fr) 1999-03-26 2001-05-18 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique
JP4671571B2 (ja) * 1999-09-29 2011-04-20 株式会社日立製作所 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ
JP3821631B2 (ja) 2000-05-30 2006-09-13 株式会社日立製作所 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体
FR2824210B1 (fr) 2001-04-27 2003-05-30 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
WO2004055756A1 (ja) 2002-12-18 2004-07-01 Fujitsu Limited 秘密鍵を用いた耐タンパ楕円曲線暗号処理
AU2003304629A1 (en) * 2003-07-22 2005-02-04 Fujitsu Limited Tamper-resistant encryption using individual key
WO2005015526A1 (ja) 2003-08-06 2005-02-17 Fujitsu Limited 楕円曲線暗号装置,楕円曲線暗号方法,楕円曲線暗号プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
FR2859585A1 (fr) * 2003-09-04 2005-03-11 Gemplus Card Int Reduction modulaire pour un procede cryptographique, et coprocesseur pour la realisation d'une telle reduction modulaire
FR2862454A1 (fr) * 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
KR100530372B1 (ko) 2003-12-20 2005-11-22 삼성전자주식회사 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법
US7426752B2 (en) * 2004-01-05 2008-09-16 International Business Machines Corporation System and method for order-preserving encryption for numeric data
KR100800468B1 (ko) * 2004-01-29 2008-02-01 삼성전자주식회사 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
KR100594265B1 (ko) * 2004-03-16 2006-06-30 삼성전자주식회사 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
DE102004033869B3 (de) 2004-07-13 2006-03-30 Gesellschaft zur Förderung der Spektrochemie und angewandten Spektroskopie e.V. Verfahren zur Bestimmung von Oberflächenplasmonenresonanzen an zweidimensionalen Messflächen
US7483534B2 (en) * 2004-08-05 2009-01-27 King Fahd University Of Petroleum Elliptic polynomial cryptography with multi y-coordinates embedding
US7764785B2 (en) * 2004-11-08 2010-07-27 King Fahd University Of Petroleum And Minerals Method for communicating securely over an insecure communication channel
JP4668931B2 (ja) * 2005-01-24 2011-04-13 富士通株式会社 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
JP4825199B2 (ja) * 2005-04-27 2011-11-30 パナソニック株式会社 情報セキュリティ装置及び楕円曲線演算装置
KR100891323B1 (ko) 2005-05-11 2009-03-31 삼성전자주식회사 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
KR101252318B1 (ko) 2005-05-12 2013-04-08 인사이드 씨큐어 랜덤화된 모듈러 다항식 약분 방법 및 그 방법을 위한하드웨어
US7602907B2 (en) * 2005-07-01 2009-10-13 Microsoft Corporation Elliptic curve point multiplication
US20070055879A1 (en) * 2005-08-16 2007-03-08 Jianjun Luo System and method for high performance public key encryption
US20070083586A1 (en) * 2005-10-12 2007-04-12 Jianjun Luo System and method for optimized reciprocal operations
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures
US7856101B2 (en) * 2007-02-07 2010-12-21 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication
US20080273695A1 (en) * 2007-05-02 2008-11-06 Al-Gahtani Theeb A Method for elliptic curve scalar multiplication using parameterized projective coordinates

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200402981A (en) * 2002-04-30 2004-02-16 Microsoft Corp Methods for remotely changing a communications password
US20060075485A1 (en) * 2004-10-01 2006-04-06 Takeshi Funahashi Information storage apparatus and password collation method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Dhem, Jean-François. "Design of an efficient public-key cryptographic library for RISC-based smart cards." Universit Catholique de Louvain-Facultdes Sciences Appliqus-Laboratoire de microectronique, Louvain-la-Neuve. 1998 *
Hasenplaugh, William, Gunnar Gaubatz, and Vinodh Gopal. "Fast modular reduction." Computer Arithmetic, 2007. ARITH'07. 18th IEEE Symposium on. IEEE, 2007. p. 225-229 *
全文Phatak, Dhananjay S., and Tom Goff. "Fast modular reduction for large wordlengths via one linear and one cyclic convolution." Computer Arithmetic, 2005. ARITH-17 2005. 17th IEEE Symposium on. IEEE, 2005. p. 179-186 *

Also Published As

Publication number Publication date
US20090180609A1 (en) 2009-07-16
DE112009000152T5 (de) 2011-02-17
US8233615B2 (en) 2012-07-31
WO2009091748A1 (en) 2009-07-23
TW200939114A (en) 2009-09-16
DE112009000152B4 (de) 2022-02-17

Similar Documents

Publication Publication Date Title
Genkin et al. May the fourth be with you: A microarchitectural side channel attack on several real-world applications of curve25519
US8369517B2 (en) Fast scalar multiplication for elliptic curve cryptosystems over prime fields
TWI462010B (zh) 使用橢圓曲線上一點之表現法改變之編譯方法及系統
US8402287B2 (en) Protection against side channel attacks
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
US8639944B2 (en) Zero divisors protecting exponentiation
TWI512610B (zh) 利用模數的特殊形式之模組約化
US8559625B2 (en) Elliptic curve point transformations
EP2082346A2 (en) Protection against side channel attack with an integrity check
US20090016523A1 (en) Masking and Additive Decomposition Techniques for Cryptographic Field Operations
EP2211265B1 (en) Elliptic curve arithmetic processing unit and elliptic curve arithmetic processing program and method
EP3503459B1 (en) Device and method for protecting execution of a cryptographic operation
Tunstall Smart card security
Schmidt et al. Combined implementation attack resistant exponentiation
KR100954844B1 (ko) 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
US10305678B2 (en) Imbalanced montgomery ladder
Eide Elliptic Curve Cryptography-Implementation and Performance Testing of Curve Representations
Moreno Side-channel analysis: countermeasures and application to embedded systems debugging
He Highly secure cryptographic computations against side-channel attacks
Lalonde Private and public-key side-channel threats against hardware accelerated cryptosystems
Ma Cryptographic Security: Countermeasures against Side-Channel Attacks
JP2014145958A (ja) 半導体装置
Medwed Template-based SPA attacks on 32-bit ECDSA implementations
JANČÁR Securing cryptographic implementations against advanced attackers