TWI462010B - 使用橢圓曲線上一點之表現法改變之編譯方法及系統 - Google Patents

使用橢圓曲線上一點之表現法改變之編譯方法及系統 Download PDF

Info

Publication number
TWI462010B
TWI462010B TW098101308A TW98101308A TWI462010B TW I462010 B TWI462010 B TW I462010B TW 098101308 A TW098101308 A TW 098101308A TW 98101308 A TW98101308 A TW 98101308A TW I462010 B TWI462010 B TW I462010B
Authority
TW
Taiwan
Prior art keywords
point
coordinate
representation
points
coordinate system
Prior art date
Application number
TW098101308A
Other languages
English (en)
Other versions
TW200939115A (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 TW200939115A publication Critical patent/TW200939115A/zh
Application granted granted Critical
Publication of TWI462010B publication Critical patent/TWI462010B/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/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/7228Random curve mapping, e.g. mapping to an isomorphous or projective curve
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

使用橢圓曲線上一點之表現法改變之編譯方法及系統
本申請案之標的一般係關於橢圓曲線密碼編譯學(ECC)。
ECC系統在器件執行密碼編譯演算法時經受"側通道"攻擊(例如電力分析攻擊、差動電力分析),其使用洩漏至器件之操作環境內的資訊。例如,駭客可監視藉由器件(例如智慧卡)消耗之電力或藉由其發射之電磁輻射,同時其實行私有密鑰運算,例如解密及簽名產生。駭客亦可測量其實行密碼編譯操作所花之時間,或者分析密碼編譯器件在遇到特定錯誤時如何反應。對側通道攻擊之某些傳統對策插入"虛設'密碼編譯操作(例如加倍、加法),使得當例如在電力跡線上檢視時無法將運算彼此區分。然而,插入額外"虛設"運算減緩總體密碼編譯程序,其對特定應用可能不可接受。
在橢圓曲線密碼編譯系統中,將點座標從第一座標系統變換為第二座標系統。藉由已修改以在變換點座標上運算的體運算處理變換座標。在某些實施方案中,針對射影座標利用非隨機值將點座標從仿射座標系統變換為射影座標系統。在某些實施方案中,非隨機值可係基於計算之最佳化的預定值,其用於將點座標從第一座標系統變換為第二座標系統。
在某些實施方案中,點之變換射影表現法可從射影座標內之點的第一表現法改變為射影座標內之點之第二表現法,其中用於表現法改變之射影座標係隨機值。
揭示橢圓曲線上之點的表現法改變之其他實施方案,包括針對系統、方法、程序、裝置及電腦可讀取媒體的實施方案。
範例密碼編譯系統及程序
圖1係公用密鑰密碼編譯系統100之實施方案的方塊圖。系統100包括器件102("器件A")及器件104("器件B")。在所示範例中,器件102可在不安全通道110及介面113上與器件104通信。例如,器件102可在不安全通道110上發送訊息或數位簽名至器件104。器件102及104可係能夠實行密碼編譯程序之任何器件,包括但不限於:個人電腦、行動電話、電子郵件器件、遊戲主控台、個人數位助理(PDA)、媒體播放器、儲存器件等。不安全通道110可係任何通信媒體,包括但不限於:射頻(RF)載波、光學路徑、電路路徑、網路(例如網際網路)等。
在某些實施方案中,器件102包括加密引擎106及亂數產生器112。亂數產生器112可產生真實亂數(例如從實體程序產生)或偽亂數(例如從演算法產生)。在其他實施方案中,透過介面113接收亂數或將其儲存於器件102上(例如記憶體中)。
在某些實施方案中,器件104包括用於解密透過介面115從器件102接收之密文或數位簽名的解密引擎108。器件102及104可包括用於雙向通信之加密及解密引擎106、108。在所示範例中,器件102、104可實行各種密碼編譯程序,包括但不限於:橢圓曲線加密/解密、橢圓曲線數位簽名產生及鑑認等。儘管本文所說明之密碼編譯程序係關於橢圓曲線,所揭示實施方案可用於實行體運算的任何密碼編譯程序,其中需要遮蔽可從分析體運算之操作環境導出的機密材料。
在某些實施方案中,藉由器件102、104兩者共用相同域參數(例如選定曲線、群組項次等)。
在某些實施方案中,器件102可係處於對器件104鑑認其持有者之程序中的智慧卡,例如,器件104可係位於銀行之主機電腦。智慧卡亦可稱為晶片卡或積體電路卡(ICC),一般係口袋型卡(例如信用卡型卡),其可包括保持及/或處理資訊之嵌入式積體電路。智慧卡亦可包括特定安全邏輯。儲存及/或處理之資訊可係對其持有者特定之安全資訊(例如銀行帳號),其可用於處理使用者所請求之交易(例如從其銀行帳號提款)。安全邏輯可用於保護使用者特定資訊在器件102與器件104之間的傳輸。
在某些情形中,駭客可藉由在不安全通道110上偷聽監視器件102與器件104之間的通信。駭客可具有讀取在通道上傳送之所有資料的能力,以修改傳送之資料及為了其自身利益將其他資料注入至傳輸中。例如,駭客可嘗試讀取從發送器件102至接收器件104之訊息,以獲得關於訊息之發送方的個人資訊(例如銀行帳號、信用卡號碼等)。駭客亦可嘗試模仿通信通道內之器件102或器件104以實行特定活動,其將由任一器件請求或實行(例如從銀行帳號提款,利用信用卡訂購商品等)。
在其他情形中,駭客可試圖分析器件102及104之操作環境以決定機密鍵控材料。該等攻擊通常稱為"側通道"攻擊。側通道攻擊之某些範例包括電力分析攻擊(例如簡單或差動)及電磁分析攻擊。
電力分析攻擊測量密碼編譯器件之電力消耗,例如從外部未信任來源汲取電力的智慧卡。機密鍵控材料可直接藉由從單一機密密鑰運算檢驗電力跡線決定。因為用於相加及加倍點之公式可具有可與其他運算區分之電力跡線,橢圓曲線點乘法演算法特別易受該等類型之攻擊。
電磁分析攻擊測量藉由穿過CMOS器件之電流引起的電磁(EM)信號,其可藉由在器件正在實行密碼編譯操作時靠近器件放置感測器加以控制。可分析EM信號以決定正在執行哪些指令以及決定資料暫存器之內容。
因此,可需要器件102與器件104之間的安全通信,以及保護器件102及104之操作環境。可利用已知加密技術對抗前者。可獨立使用或與指數遮蔽及加法指數分解技術組合地利用橢圓曲線點變換對抗後者,如參考圖2至4所說明。
橢圓曲線密鑰產生
在某些實施方案中,形成加法交換群之橢圓曲線群的循環子群可用於實施基於離散對數問題之公用密鑰密碼編譯系統100。在此實施方案中,可在有限整數體F p 上定義橢圓曲線EE (F p )內之點P可具有質數項次n 。藉由點P 產生之E (F p )的循環子群可藉由以下方程式定義:
(P )={O ,P ,2P ,3P ,.....(n -1)P },
其中O 係位於無窮遠之點及識別元素。
在此實施方案中,質數p 、橢圓曲線E 之方程式(例如方程式y 2 =x 3 +ax +b 內的ab 之值)、點P 及項次n可係公用域參數。私有密鑰d可係選自間隔[1,n -1]之隨機整數,並且可將對應公用密鑰Q 計算為:Q =d .P ,其中利用橢圓曲線點乘法(可藉由運算子" ." 表示)將點P 乘以私有密鑰d ,其係一整數。例如,令A係橢圓曲線上之點。可將整數j 與點A 相乘,以獲得相同橢圓曲線上之另一點B 。點乘法可藉由方程式表示:B =j .A 。在某些實施方案中,可利用點加法及點加倍重複地實行點乘法以找到結果。例如,若j =23,則j .A =23.A =2(2(2(2*A )+A )+A )+A ,其中" *" 表示整數乘法。
若給定域參數(pEPn )及公用密鑰Q,決定私有密鑰d 之問題稱為橢圓曲線離散對數問題(ECDLP)。
橢圓曲線密碼編譯程序之範例
現在說明用於在眾所周知的橢圓曲線密碼編譯程序內實行橢圓曲線點變換之技術。但該等技術可用於其中需要遮蔽機密鍵控材料之任何密碼編譯程序或應用中。
ElGamal密碼編譯程序
在某些實施方案中,公用密鑰密碼編譯系統100可利用ElGamal加密及解密程序之橢圓曲線類比。例如,公用密鑰Q 可係器件104(接收器件)之公用密鑰。器件102(發送器件)可在鑑認通道116上從器件104獲取公用密鑰Q 。純文字訊息m 在有限整數體E (F p )內可表示為點M 。加密引擎106可利用以下方程式計算密文C 1 ,其中係E (F p )上一點:
C 1 =k.P,
其中k 係藉由器件102從間隔[1,(n -1)]選擇之亂數,而PE (F p )內一點並且係域參數。
加密引擎106亦可利用以下方程式計算密文C 2 ,其中C 2 E (F p )內一點:
C 2 =M +k.Q,
其中M 係純文字訊息m 之點表現法,k 係藉由器件102從間隔[1,(n -1)]選擇之亂數,並且Q 係用於器件104之公用密鑰的點表現法,其中QE (F p )內。
可在不安全通道110上藉由器件102將點密文對(C 1 C 2 )傳送至器件104。利用解密引擎108及其私有密鑰d 之器件104可利用以下方程式從點密文對(C 1 C 2 )恢復純文字訊息m
M =C 2 -d.C 1 ,
其中M 係純文字訊息m 之點表現法,d 係器件104之私有密鑰,並且可從M 擷取純文字訊息m
因為d.C 1 =k.Q ,分析器件102、104之操作環境的駭客將需要計算k.Q 。從域參數(例如pEPn )、公用密鑰QC 1 =k.P 計算k.Q 之任務可稱為Diffie-Hellman問題之橢圓曲線類比。由於Q 係公用域參數,駭客僅需要從操作環境決定指數k 以恢復純文字訊息m 。因此,需要保護指數k 免受側通道攻擊。
橢圓曲線點運算
橢圓曲線密碼編譯學內之主要運算之一係點乘法。如先前所說明,可利用點加法及點加倍運算重複地實行點乘法運算以找到結果。每一點加法及點加倍運算可包括乘法逆運算。在某些實施方案中,逆運算可具有慢於加法或乘法運算之執行速度量值等級。在某些實施方案中,射影座標系統內之表現點可消除點加法及點加倍運算中之乘法逆運算的利用。此可導致點乘法運算之效率的增加。
橢圓曲線體
可將橢圓曲線群定義於質場(F p )、二元場(F 2 m )或擴張場(F p m )上。在橢圓曲線群中,整數p可係質數,且F p 可表示整數模p 之場,其中F p ={0,1,2,.......,p -1}。
在某些實施方案中,橢圓曲線可在質場(場F p 上之E )上,並且可藉由以下橢圓曲線方程式定義:y 2 =x 3 +ax +b
其中ab 0F p 滿足以下方程式:4a 3 +27b 2 Θ0(modp ).
若(x,y )可用於解決橢圓曲線方程式,一對(x,y )可係橢圓曲線E 上一點P 之座標,其中xy 兩者均係F p 之元素。位於無窮遠之點O 亦可位於橢圓曲線E 上。橢圓曲線E上之所有點的集合可表示為E (F p )。
在某些實施方案中,橢圓曲線之方程式可在二元場F 2 m 上。該方程式可藉由橢圓曲線方程式定義:y 2+xy =x 3 +ax 2 +b ,其中b□0.
在此實施方案中,有限場(finite field)之元素可係具有至多m 個位元之長度的整數。可將元素視為階次m -1之二進制多項式。多項式算術可用於加法、乘法、除法及減法運算。
在某些實施方案中,橢圓曲線之方程式可位於擴張體F p m 上,其中m >=2且p 係質數。
橢圓曲線密碼編譯學內之座標系統
橢圓曲線可相對於一個以上座標系統表示。在某些實施方案中,橢圓曲線上之點可在仿射座標系統內表示。在某些實施方案中,橢圓曲線上之點可在射影座標系統內表示,下文將予以詳細說明。在某些實施方案中,橢圓曲線上之點可在冗餘座標系統內表示,其中額外座標可與仿射或射影座標系統內之點座標包括在一起。
橢圓曲線上之點P 可在仿射座標內表示(例如P =(x,y ))。在某些實施方案中,點P亦可在射影座標內表示,其中仿射點P =(x,y )可採用次方cd 表示,其可定義等價類別。例如,類別(xyz )={(ac )*x ,(ad )*y,a*z }。在某些實施方案中,點P亦可在冗餘座標內表示,例如Chudnovsky射影座標,其中點P可藉由座標(x,y,z,z 2 ,z 3 )表示。
例如,可將藉由仿射座標(例如x1,y1 )表示的橢圓曲線P上一點轉換為射影座標系統內之射影座標(例如x1,y1, z1 )。如上所說明,可對點P實行點乘法運算,包括多個點加法運算,而當完成時,可將點P轉換回至仿射座標。
射影座標內之二元場內一點的表現法
在某些實施方案中,二元場(F 2 m )上的橢圓曲線上之點可藉由標準射影座標表示。在此實施方案中,可將定義等價類別之次方cd 設定成c =1且d =1。例如,射影座標內之點(x,y,z )可對應於仿射座標內之點(x/z,y/z )。用於在標準射影座標內表示的二元場上之橢圓曲線的方程式可為:y 2 z +xyz =x 3 +ax 2 z +bz 3 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為射影座標內之點(x,y,z )。在點乘法運算後,可將結果(x,y,z )作為(x/z,y/z )轉換回至仿射座標,其中z不等於零。若z =0,則可將點視為位於無窮遠之點O
在某些實施方案中,二元場(F 2 m )上的橢圓曲線上之點可藉由Jacobian射影座標表示。在此實施方案中,可將定義等價類別之次方cd 設定成c =2且d =3。例如,射影座標內之點(x,y,z )可對應於仿射座標內之點(x/z 2 ,y/z 3 )。用於在Jacobian射影座標內表示的二元場上之橢圓曲線的方程式可為:y 2 z +xyz =x 3 +ax 2 z 2 +bz 6 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為射影座標內之點(x,y,z )。在點乘法運算後,可將結果(x,y,z )作為(x/z 2 ,y/z 3 )轉換回至仿射座標,其中z 不等於零。若z =0,則可將點視為位於無窮遠之點O
在某些實施方案中,二元場(F 2 m )上的橢圓曲線上之點可藉由López-Dahab(LD)射影座標表示。在此實施方案中,可將定義等價類別之次方cd 設定成c =1且d =2。例如,射影座標內之點(x,y,z )可對應於仿射座標內之點(x/z,y/z 2 )。用於在LD射影座標內表示的二元場上之橢圓曲線的方程式可為:y 2 +xyz =x 3 z +ax 2 z 2 +bz 4 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為射影座標內之點(x,y,z )。在點乘法運算後,可將結果(x,y,z )作為(x/z,y/z 2 )轉換回至仿射座標,其中z 不等於零。若z =0,則可將點視為位於無窮遠之點O
藉由射影座標之質場內一點的表現法
在某些實施方案中,質場(Fp)內的橢圓曲線上之點可藉由標準射影座標表示。在此實施方案中,可將定義等價類別之次方cd 設定成c =1且d =1。例如,射影座標內之點(x,y,z )可對應於仿射座標內之點(x/z,y/z )。用於在標準射影座標內表示的質場上之橢圓曲線的方程式可為:y 2 z =x 3 -3 .x 2 z +bz 3 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為標準射影座標內之點(x,y,z )。在點乘法後,可將結果(x,y,z )作為(x/z,y/z )轉換回至仿射座標,其中z 不等於零。若z =0,則可將點視為位於無窮遠之點O
在某些實施方案中,質場(F p )內的橢圓曲線上之點可藉由Jacobian射影座標表示。在此實施方案中,可將定義等 價類別之次方c及d設定成c =2且d =3。例如,Jacobian射影座標內之點(x,y,z )可對應於仿射座標內之點(x/z 2 ,y/z 3 )。用於在Jacobian射影座標內表示的質場上之橢圓曲線的方程式可為:y 2 =x 3 z -3 .xz 4 +bz 6 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為Jacobian射影座標內之點(x,y,z )。在點乘法後,可將結果(x,y,z )作為(x/z 2 ,y/z 3 )轉換回至仿射座標,其中z 不等於零。若z =0,則可將點視為位於無窮遠之點O
在某些實施方案中,質場(F p )內的橢圓曲線上之點可藉由冗餘座標表示。例如,Chudnovsky射影座標內之點(x,y,z,z 2 ,z 3 )可對應於仿射座標內之點(x/z 2 ,y/z 3 )。Jacobian射影座標點(x,y,z )亦可藉由冗餘表現法內之Chudnovsky座標表示。因此,用於在Chudnovsky射影座標內表示的質場上之橢圓曲線的方程式可為:y 2 =x 3 z -3 .xz 4 +bz 6 .
例如,對於點乘法運算,可將仿射座標內之點(x,y )轉換為Chudnovsky射影座標內之點(x,y,z )。在點乘法運算後,可將結果(x,y,z )作為(x/z 2 ,y/z 3 )轉換回至仿射座標,其中z 不等於零。若z =0,則可將點視為位於無窮遠之點O
橢圓曲線點變換程序
圖2係用於橢圓曲線上一點之變換及表現法改變程序200的實施方案之流程圖。程序200可將橢圓曲線上一點從仿 射變換為射影座標,並且在實行點運算時改變點之射影座標表現法,其可包括但不限於點乘法、點加法及點加倍。可對質場(F p )、二元場(F 2 m )及擴張場(F p m )上之橢圓曲線實行程序200。
當將一點從仿射座標變換為射影座標時,可發生點變換。該等變換之範例在上文針對質場及二元場內之點予以說明。現在在射影座標內之變換點接著可經歷表現法改變,其可將點改變為另一射影座標表現法。表現法改變可在點運算期間改變用於點P 之中間射影座標。根據實施方案,可將表現法改變與從仿射座標至射影座標之點P 之變換或從仿射座標至冗餘座標之點P 之變換組合。
變換及表現法改變程序200可在點運算期間實行(例如點乘法運算,其可包括點加法及點加倍)。程序200可在點運算中的特定步驟變換及改變輸入點P 之座標的表現法。至射影座標之點變換及至另一射影座標表現法的點之表現法改變可修改用於點運算內之計算。因此,若使用,可修改點運算以產生射影或冗餘座標內之正確結果。
在某些實施方案中,可將質場(F p )內的點A 變換至Jacobian射影座標內。可將仿射座標內之點A(x,y) 變換為射影點A'(x',y',z' ),其中:x' =x *z fixed 2 ,y' =y *z fixed 3 ,z' =z fixed , 以及z fixed 可等於不等於零的任何非隨機值。在某些實施方 案中,可為了便於計算選擇z fixed 。例如,z fixed 可等於1。變換點A'(x,y,1) 可係將z fixed 設定為等於1的結果。在另一範例中,z fixed 可等於-1。變換點A'( x,y,-1) 可係將z fixed 設定為等於-1的結果。在某些實施方案中,z fixed 值可係小於或大於一之正或負值。
在某些實施方案中,變換點A'(x',y',z') 可改變其表現法。例如,變換為Jacobian射影座標從而導致點A' 的仿射點A 可將其射影座標表現法改變為另一射影座標表現法,其導致點A" 。可將仿射座標內之點A 表示為(x,y )。可將Jacobian射影座標變換點表示為A'(x',y',z') ,並且可將改變點表示為A"(x",y",z")
如上所說明,在某些實施方案中,可利用用於z fixed 之非隨機值將質場(F p )內之仿射點A變換至Jacobian射影座標內,從而導致點A' 。可將射影座標點A'改變為另一射影座標表現法,從而導致點A"(x",y",z") ,其中:x" =x' *z random 2 =x *z random 2 *z fixed 2 ,y" =y' *z random 3 =y *z random 3 *z fixed 3 z" =z' *z random =z random *z fixed , 以及z random 可等於不等於零的任何隨機值。例如,可藉由圖1之亂數產生器112產生z random
將射影座標點之射影表現法從第一表現法改變為第二表現法可為"側通道"攻擊提供對策,其可使用洩漏至實行橢圓曲線密碼編譯演算法之器件的操作環境內之資訊。例如,當實行多個射影座標變換及表現法改變以及在表現法 改變程序內使用亂數時,監視器件之密碼編譯操作的駭客可具有將運算彼此區分的困難。
在某些實施方案中,可將質場(F p )內的點A變換至Jacobian射影座標內。可將仿射座標內之點A(x,y) 變換為射影點A'(x',y',z') ,其中:x' =x *z fixed 2 ,y' =y *z fixed 3 ,z' =z fixed .
在某些實施方案中,射影座標點A' 可將其表現法改變為另一射影座標表現法,從而導致點A"(x",y",z") ,其中:x" =x' *z INVfixed 2 =x *z fixed 2 *z INVfixed 2 ,y" =y' *z INVfixed 3 =y *z fixed 3 *z INVfixed 3 ,z" =z' *z INVfixed =z fixed *z INVfixed .,以及zINVfixed 可等於不等於零的任何非隨機值。射影座標點A"之表現法可將其表現法再次改變為另一射影座標表現法,從而導致點A"'(x"',y"',z"'),其中:x"' =x" *z random 2 =x' *z INVfixed 2 *z random 2 =x *z fixed 2 *z INVfixed 2 *z random 2 ,y"' =y" *z random 3 =y' *z INVfixed 3 *z random 3 =y *z fixed 3 *z INVfixed 3 *z random 3 ,z"' =z" *z random =z' *z INVfixed *z random =z fixed *z INVfixed *z random ,以及z random 可等於不等於零的任何隨機值。例如,可藉由圖1之亂數產生器112產生z random 。在某些實施方案中,z INVfixed 可等於z fixed 之反轉值(例如z INVfixed =(1/z fixed )=z fixed -1 )。
在某些實施方案中,z INVfixed 可等於z fixed 之反轉值(例如z INVfixed =(1/z fixed )=z fixed -1 )。例如,可選擇用於z fixed 之值以減少決定zINVfixed 之數學複雜性。減少點變換之數學複雜性 可減少實行點運算所佔用之時間,其可影響實行總體密碼編譯程序所佔用之時間。在某些實施方案中,z fixed 可等於1。在其他實施方案中,z fixed 可等於-1。選擇該等值之一可簡化決定z INVfixed 所需要之計算。在其他實施方案中,亦可選擇1或-1之同餘。
在某些實施方案中,可將質場(F p )內的點A變換至Jacobian射影座標內。可將仿射座標內之點A (x,y )變換為射影點A'(x',-y',-z) ,其中:x' =x,y' =y *-1,z' =-1 .
射影座標點A' 可將其表現法改變為另一射影座標表現法,從而導致點A"(x",y",z") ,其中:x" =x' *z random 2 =x *z random 2 ,y" =y' *z random 3 =y *z random 3 *-1,z" =z' *z random =z random *-1, 以及z random 可等於不等於零的任何隨機值。例如,可藉由圖1之亂數產生器112產生z random
上文所說明之實施方案亦可用於可變換至不同類型之射影座標內的點。在某些實施方案中,可將質場(F p )內的點A變換至標準射影座標內,其表現法接著可加以改變。在某些實施方案中,可將質場(F p )內的點A 變換至Jacobian射影座標內,其可利用Chudnovsky座標以冗餘表示。表示於Chudnovsky座標內之變換點接著可經歷表現法改變。
在某些實施方案中,點A可在二元場(F 2 m )內。點A至點A' 之變換及點A' 至點A" 之表現法改變以及點A" 至點A"' 之表現法改變可如用於質場內之點的先前實施方案加以實行。在某些實施方案中,可將二元場(F 2 m )內的點A變換至標準射影座標內,其表現法接著可加以改變。在某些實施方案中,可將二元場(F 2 m )內的點A變換至LD射影座標內,其表現法接著可加以改變。
再次參考圖2,變換及表現法改變程序200可藉由獲得輸入開始,其可指定用於欲實行之點運算的點座標(步驟202)。例如,點加倍運算可利用點加倍運算將點加入自身,其包括作為輸入之單一點及其座標。在另一範例中,可利用包括作為輸入之兩點及其座標的點加法運算將兩個不同點相加在一起。該(等)輸入點可在質場(F p )、二元場(F 2 m )或擴張場(F p m )內之仿射座標內。
可將該(等)輸入點變換至射影座標內(步驟204)。在上文說明之實施方案中,將點A 變換成點A' 。可將輸入點P 變換至射影座標內,從而以類似方式導致點P' 。亦可相似地變換其他輸入點。
可對該(等)變換輸入點之每一者實行表現法改變(步驟206)。此係顯示於以上實施方案中,其中表現法改變至點A' ,從而導致點A" 。可對點P' 實行類似表現法改變。例如,可利用已經歷變換及表現法改變的所得點實行點加法。視需要,點P" 可經歷另一表現法改變,從而導致點P"' (步驟208)。接下來,從變換及表現法改變獲得的點座 標可予以輸出以用於(例如)其他點運算中(步驟210)。例如,可輸出射影點座標值並且併入至其後點運算內。
利用點變換之橢圓曲線加密程序
圖3A係利用已經歷如程序200內所說明的變換及表現法改變之點的橢圓曲線加密程序300之實施方案的流程圖。
程序300以發送方在發送方與接收方間的鑑認通道上從接收方獲得公用密鑰Q 開始(步驟301)。發送方可將其純文字訊息m 表示為橢圓曲線E 上之點M ,例如,其可定義於有限質場F p 上,其中p 係質數。橢圓曲線E 上之所有點的集合可表示為E(F p ) ,其定義項次n 之質數子群(步驟302)。發送方接著可從間隔[1,(n -1)]選擇一亂數k (步驟304)。
如參考圖2所說明,可將仿射座標系統內之輸入點P 變換為射影座標系統內之點P' 。變換點P' 可經歷從第一表現法至第二表現法之表現法改變,從而導致點P" (步驟306)。視需要,點P' 可經歷從第二表現法至第三表現法之表現法改變,從而導致點P"' 。發送方接著可利用以下方程式計算密文點C 1 " (步驟308):C 1 " =k .P" ,其中k 係藉由發送方從間隔[1,(n -1)]選擇之亂數,並且n 係藉由E(F p ) 定義之質數子群的項次。
M 及公用密鑰Q (亦係一點)亦可經歷變換及表現法改變,如參考圖2所說明,從而導致點M"Q" (步驟310)。
發送方可利用以下方程式計算密文點C 2 " (步驟312):C 2 " =M" +k .Q", 其中n 係藉由E(F p ) 定義之質數子群的項次。
可將逆變換及表現法改變程序應用於點C 1 "C 2 " ,以取得點C 1C 2 之密文對(步驟314)。此逆程序可在發送方得知固定及隨機值時實行,其用於對點實行變換及表現法改變以計算C 1 "C 2 " ,以及用於點之變換的射影座標系統。
發送方可在發送方與接收方之間的不安全通道上將點(C 1 ,C 2 )之密文對傳送至接收方(步驟316)。程序300結束。
圖3A之實施方案可與在仿射座標、射影座標及冗餘座標內表示之點同用。圖3A之實施方案亦可與質場(F p )、二元場(F 2 m )或擴張場(F p m )上之橢圓曲線同用。利用本文所說明之實施方案及範例,可利用任何橢圓曲線上之點表現法實行點變換。
橢圓曲線解密程序
圖3B係利用已經歷如程序200內所說明的變換及表現法改變之點的橢圓曲線解密程序330之實施方案的流程圖。程序330可用作與橢圓曲線加密程序300同用之解密程序。
當接收方於接收方與發送方之間的不安全通道上從發送方接收點(C 1 ,C 2 )之密文對時,程序330開始(步驟318)。接收方接著將變換及表現法改變應用於點C 1C 2 之每一者,以取得C 1 "C 2 " (步驟320)。接收方接著利用以下方程式計算純文字訊息之點M" (步驟322):M" =C 2 " -d .C 1 " ,其中M" 係純文字訊息m 之點表現法,其係藉由變換及表現法改變射影座標表示,並且d 係接收方器件之私有密鑰。
接收方知道變換點C 1 "C 2 " 之射影座標空間,以及點對之表現法改變,因此知道可應用於點M (其係純文字訊息m 之點表現法)之變換及表現法改變程序,以導致點M" 。接收方可對點M" 應用逆變換及表現法改變程序,以獲得點M (步驟324)。此程序等效於以上針對點P" 說明之逆變換及表現法程序。知道M 後,接收方接著可從其點表現法M 擷取純文字訊息m (步驟326)。程序330結束。
前述程序在ECC系統內實施點變換。其他程序也可能,包括具有更多或更少步驟之程序(例如數位簽名產生及/或鑑認程序)。程序之步驟不需要以所示順序連續實行。可將程序分成藉由一或多個處理器核心及/或平行處理器運行的多個處理執行緒。
系統架構
圖4係用於實施圖2、3A及3B之程序之系統的實施方案之方塊圖。例如,系統400可係包括於參考圖1所說明之器件102及/或器件104內。系統400包括處理器410、記憶體420、儲存器件430及輸入/輸出器件440。利用系統匯流排450互連組件410、420、430及440之每一者。處理器410能夠處理用於在系統400內執行之指令。在某些實施方案中,處理器410係單一線程處理器。在另一實施方案中,處理器410係一多線程處理器。處理器410能夠處理儲存於記憶體420內或儲存器件430上之指令,以便將一使用者介面之圖形資訊顯示於輸入/輸出器件440上。
記憶體420儲存系統400內之資訊。在某些實施方案中,記憶體420係電腦可讀取媒體。在其他實施方案中,記憶體420係一揮發性記憶體單元。在其他實施方案中,記憶體420係一非揮發性記憶體單元。
儲存器件430能夠為系統400提供大量儲存器。在某些實施方案中,儲存器件430係電腦可讀取媒體。在各種不同實施方案中,儲存器件430可為一軟碟器件、一硬碟器件、一光碟器件,或一磁帶器件。
輸入/輸出器件440為系統400提供輸入/輸出操作。在某些實施方案中,輸入/輸出器件440包含一鍵盤及/或指向器件。在另一實施方案中,該輸入/輸出器件440包含用於顯示圖形使用者介面之一顯示單元。
可將描述之特徵實施於數位電子電路中,或者電腦硬體、韌體、軟體或其組合中。特徵可實施於一電腦程式產品內,其有形地體現於一資訊載體內,例如在一機器可讀取儲存器件內或在一傳播信號內,以供一可程式化處理器執行;且若干方法步驟可藉由一可程式化處理器來實行,該可程式化處理器執行一指令程式以藉由運算輸入資料並產生輸出來實行所說明具體實施方案之若干功能。可將描述之特徵有利地實施於一或多個電腦程式中,其可執行於一可程式化系統上,其中包括至少一可程式化處理器,其經耦合以接收來自一資料儲存系統、至少一輸入器件及至少一輸出器件之資料及指令,以及傳送資料及指令至其。一電腦程式係一組指令,其可直接地或間接地用於一電腦中,以實行某一活動或引起某一結果。一電腦程式可以包含已編譯或已解譯語言之程式化語言之任何形式加以撰寫,而且其可以任何形式(包含如一單獨程式或如一模組、組件、次常式,或者適合用於一計算環境之其他單元)加以部署。
藉由範例,用於執行一指令程式之適合處理器包含一般及特殊用途微處理器兩者,及任何種類之電腦之單一處理器或多個處理器之一。一般而言,一處理器將接收來自一唯讀記憶體或一隨機存取記憶體或兩者之指令及資料。一電腦之基本元件係一用於執行指令之處理器,及一或多個用於儲存指令與資料之記憶體。一般而言,一電腦亦將包含或者操作性耦合以與用於儲存資料檔案之一或多個大量儲存器件進行通信;此類器件包含例如內部硬碟與可移式碟之磁碟;磁光碟;及光碟。可適合用於有形地體現電腦程式指令及資料之儲存器件包含所有形式之非揮發性記憶體,藉由範例,其包含例如EPROM、EEPROM及快閃記憶體器件之半導體記憶體器件;例如內部硬碟及可移式碟之磁碟;磁光碟;及CD-ROM與DVD-ROM碟。該處理器及該記憶體可以ASIC(特定應用積體電路)補充或併入其中。
為了提供與一使用者之互動,可將該等特徵實施於一電腦上,其具有例如一CRT(陰極射線管)或LCD(液晶顯示器)監視器之一顯示器件,用於將資訊顯示給該使用者,及一鍵盤與例如一滑鼠或一軌跡球之一指向器件,該使用者可藉此提供輸入給該電腦。
該等特徵可實施於一電腦系統內,該電腦系統包括一後端組件,諸如一資料伺服器;或包括一中間軟體組件,諸如一應用程式伺服器或一網際網路伺服器;或包括一前端組件,諸如一用戶端電腦,其具有一圖形使用者介面或一網際網路瀏覽器或其任一組合。該系統之組件可藉由數位資料通信的任一形式或媒體來連接,諸如一通信網路。通信網路之範例包含例如一LAN、一WAN,及形成網際網路之電腦與網路。
該電腦系統可包含用戶端及伺服器。用戶端及伺服器一般係彼此遠離而且通常透過一通信網路來相互作用。用戶端與伺服器之關係憑藉運行於各別電腦上並且彼此具有一主從關係之電腦程式而出現。
已說明若干實施方案。雖然如此,但應明白可進行各種修改。例如,可組合、刪除、修改或補充一或多個實施方案之元素以形成進一步實施方案。圖式中描述之邏輯流程不要求所示之特定順序或循序順序,以實現所需結果。此外,可提供其他步驟,或從描述之流程去除步驟,而且可新增其他組件至所描述之系統或從其移除其他組件。因此,其他實施方案係在下列申請專利範圍的範疇內。
100...公用密鑰密碼編譯系統
102...器件
104...器件
106...加密引擎
108...解密引擎
110...不安全通道
112...亂數產生器
113...介面
115...介面
116...鑑認通道
400...系統
410...處理器
420...記憶體
430...儲存器件
440...輸入/輸出器件
450...系統匯流排
圖1係公用密鑰密碼編譯系統之實施方案的方塊圖。
圖2係用於橢圓曲線上之一點之變換及表現法改變程序的實施方案之流程圖。
圖3A係利用已經歷變換及表現法改變之點的橢圓曲線加密程序之實施方案的流程圖。
圖3B係利用已經歷變換及表現法改變之點的橢圓曲線解密程序之實施方案的流程圖。
圖4係用於實施圖2、3A及3B之程序之系統的實施方案之方塊圖。
100...公用密鑰密碼編譯系統
102...器件
104...器件
106...加密引擎
108...解密引擎
110...不安全通道
112...亂數產生器
113...介面
115...介面
116...鑑認通道

Claims (21)

  1. 一種由包括一處理器及記憶體之一系統實行之編譯方法,該方法包含:獲得指定一橢圓曲線上之一或多個點之輸入,該橢圓曲線係定義於一有限質場,每一點於一第一座標系統內具有一或多個座標,至少一點表現一純文字訊息且至少一另一點表現一編譯密鑰;選擇非零之一單一第一非隨機值;將每一點之每一座標從該第一座標系統變換至一第二座標系統,其中該第二座標系統內之每一變換點之每一座標具有將該第一座標系統之每一變換點之每一座標乘以升高到一非零整數次冪之該單一第一非隨機值而獲得之一第一表現法;產生非零之之一單一隨機值;將該第二座標系統內之每一變換點從該第一表現法改變為一第二表現法,其中該第二表現法內之每一變換點之每一座標係由將該第一表現法內之每一變換點之每一座標乘以升高到一非零整數次冪之該單一隨機值而獲得;對每一變換點之該第二表現法實行一或多個場運算以獲得加密點之一第二表現法;以及對每一加密點之該第二表現法實行一逆變換及表現法改變以獲得對應於該純文字訊息之一加密訊息。
  2. 如請求項1之方法,其中利用射影座標實行該變換。
  3. 如請求項2之方法,其中該第二座標系統比該第一座標系統多一額外座標,該額外座標具有一固定值。
  4. 如請求項1之方法,其中該第二座標系統包含Jacobian射影座標。
  5. 如請求項1之方法,其中該單一第一非隨機值等於一。
  6. 如請求項1之方法,其中該單一第一非隨機值等於負一。
  7. 如請求項1之方法,其進一步包含:選擇非零之一單一第二非隨機值;以及將該第二座標系統內的每一變換點從該第一表現法改變至一第三表現法,其中該第三表現法內之每一變換點之每一座標係由將該第一表現法內之每一變換點之每一座標乘以升高到一非零整數次冪之該單一第二隨機值而獲得,且其中該第二表現法內之每一變換點之每一座標係轉換自該第三表現法內之每一變換點之每一座標中該第二非隨機值係該單一第一非隨機值之一反轉。
  8. 如請求項7之方法,其中該單一第二非隨機值係該單一第一非隨機值之一反轉。
  9. 如請求項1之方法,其進一步包含實行一橢圓曲線加密或解密運算。
  10. 如請求項1之方法,其中該方法係用於一橢圓曲線數位簽名產生或驗證運算中。
  11. 一種由包括一處理器及記憶體之一系統實行之編譯方法,該方法包含: 獲得指定一橢圓曲線上的一或多個點之輸入,該橢圓曲線係定義於一有限質場,每一點於一第一座標系統內具有一或多個座標,至少一點表現一純文字訊息且至少一另一點表現一編譯密鑰;選擇非零之一單一第一非隨機值;將該一或多個點之每一座標變換至一第二座標系統內之射影座標,其中該第二座標系統內之每一變換點之每一座標具有將該第一座標系統之每一變換點之每一座標乘以升高到一非零整數次冪之該單一第一非隨機值而獲得之一第一表現法;產生非零之一單一隨機值;將該第二座標系統內之該等射影座標從該第一表現法改變為一第二表現法,其中該第二表現法內之每一變換點之每一座標係由將該第一表現法內之每一變換點之每一座標乘以升高到一非零整數次冪之該單一隨機值而獲得;對每一變換點之該第二表現法實行一或多個場運算以獲得加密點之一第二表現法;以及對每一加密點之該第二表現法實行一逆變換及表現法改變以獲得對應於該純文字訊息之一加密訊息。
  12. 如請求項11之方法,其中該第二座標系統具有多於該第一座標系統之額外座標,該額外座標具有一固定非隨機值。
  13. 如請求項11之方法,其中該單一第一非隨機值等於一。
  14. 如請求項11之方法,其中該單一第一非隨機值等於負一。
  15. 如請求項11之方法,其進一步包含實行一橢圓曲線加密或解密運算。
  16. 如請求項12之方法,其中該方法係用於一橢圓曲線數位簽名產生或驗證運算中。
  17. 一種編譯系統,其包含:一介面,其可操作用於獲得一橢圓曲線上之一或多個點,該橢圓曲線係定義於一有限質場,該一或多個點之每一者於一第一座標系統內具有一或多個座標,至少一點表現一純文字訊息且至少一另一點表現一編譯密鑰;以及一加密引擎,其係耦合至該介面並且可操作用於:選擇非零之一單一第一非隨機值;將每一點從該第一座標系統變換至一第二座標系統內之一射影點,其中該第二座標系統內之每一射影點之每一座標具有將該第一座標系統之每一變換點之每一座標乘以升高到一非零整數次冪之該單一第一非隨機值而獲得之一第一表現法;產生非零之一單一隨機值;將每一射影點從該第一表現法改變為一第二表現法,其中該第二表現法內之每一變換點之每一座標係由將該第一表現法內之每一變換點之每一座標乘以升高到一非零整數次冪之該單一隨機值而獲得; 對每一變換點之該第二表現法實行一或多個場運算以獲得加密點之一第二表現法;以及對每一加密點之該第二表現法實行一逆變換及表現法改變以獲得對應於該純文字訊息之一加密訊息。
  18. 如請求項17之系統,其中該第二座標系統具有比該第一座標系統更多之額外座標,該額外座標具有一固定非隨機值。
  19. 如請求項17之系統,其中該變換係一橢圓曲線加密或解密運算之部分。
  20. 如請求項17之系統,其中該變換係一橢圓曲線數位簽名產生或驗證運算之部分。
  21. 一種儲存於電腦可讀媒體中及包含可由一處理器件執行之指令的軟體,其在此類執行時使該處理器件實行以下操作:獲得指定於一橢圓曲線上一或多個點之輸入,該一或多個點之每一者具有一或多個座標;選擇非零之一單一第一非隨機值;將該橢圓曲線上之每一點從該第一座標系統變換至一第二座標系統內之一射影點,其中該第二座標系統內之每一轉換點之每一座標具有將該第一座標系統之每一變換點之每一座標乘以升高到一非零整數次冪之該單一第一非隨機值而獲得之一第一表現法,該第二座標系統包含具有一固定值之額外座標; 產生非零之一單一隨機值;將該第二座標系統內之每一轉換點從該第一表現法改變為一第二表現法,其中該第二表現法內之每一變換點之每一座標係由將該第一表現法內之每一變換點之每一座標乘以升高到一非零整數次冪之該單一隨機值而獲得;以及對每一變換點之該第二表現法實行一或多個場運算。
TW098101308A 2008-01-15 2009-01-14 使用橢圓曲線上一點之表現法改變之編譯方法及系統 TWI462010B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2115808P 2008-01-15 2008-01-15
US12/028,427 US8619977B2 (en) 2008-01-15 2008-02-08 Representation change of a point on an elliptic curve

Publications (2)

Publication Number Publication Date
TW200939115A TW200939115A (en) 2009-09-16
TWI462010B true TWI462010B (zh) 2014-11-21

Family

ID=40850630

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098101308A TWI462010B (zh) 2008-01-15 2009-01-14 使用橢圓曲線上一點之表現法改變之編譯方法及系統

Country Status (4)

Country Link
US (1) US8619977B2 (zh)
DE (1) DE112009000154T5 (zh)
TW (1) TWI462010B (zh)
WO (1) WO2009091746A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396213B2 (en) 2005-01-21 2013-03-12 Certicom Corp. Elliptic curve random number generation
US8559625B2 (en) * 2007-08-07 2013-10-15 Inside Secure Elliptic curve point transformations
JP5300374B2 (ja) * 2008-08-25 2013-09-25 株式会社東芝 表現変換装置、演算装置、表現変換方法及びプログラム
WO2011033672A1 (ja) * 2009-09-18 2011-03-24 株式会社東芝 演算装置、方法およびプログラム
FR2968104B1 (fr) * 2010-11-30 2013-07-12 Logiways France Procede et systeme de protection d'un dispositif de cryptographie
US20120140921A1 (en) * 2010-12-01 2012-06-07 King Fahd University Of Petroleum And Minerals Rsa-analogous xz-elliptic curve cryptography system and method
EP2718844B1 (en) 2011-06-06 2019-08-07 Certicom Corp. Squaring binary finite field elements
US9596080B2 (en) * 2011-12-15 2017-03-14 Inside Secure Method of generating prime numbers proven suitable for chip cards
US9374996B2 (en) * 2012-04-16 2016-06-28 Basf Se Agroformulation comprising copolymer of acrylic acid, poly(alkylene glycol) (meth)acrylate, and alkyl (meth)acrylate
US10372886B2 (en) * 2015-05-05 2019-08-06 Nxp B.V. Protecting the input/output of modular encoded white-box RSA/ECC
US10181944B2 (en) 2015-06-16 2019-01-15 The Athena Group, Inc. Minimizing information leakage during modular exponentiation and elliptic curve point multiplication
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
WO2020146285A1 (en) 2019-01-07 2020-07-16 Cryptography Research, Inc. Protection of cryptographic operations by intermediate randomization

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW425803B (en) * 1998-03-05 2001-03-11 Matsushita Electric Ind Co Ltd Elliptic curve transformation device, utilization device and utilization system
TW448376B (en) * 1998-12-18 2001-08-01 Motorola Inc Circuit and method cryptographic multiplication for computing the RSA and ECC algorithms
US6873706B1 (en) * 1999-09-29 2005-03-29 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US6876745B1 (en) * 1998-12-22 2005-04-05 Hitachi, Ltd. Method and apparatus for elliptic curve cryptography and recording medium therefore
US20060280296A1 (en) * 2005-05-11 2006-12-14 Ihor Vasyltsov Cryptographic method and system for encrypting input data
TW200718144A (en) * 2005-09-29 2007-05-01 Hitachi Global Storage Tech Nl Method and system for transferring data
TW200731739A (en) * 2006-01-12 2007-08-16 Mediatek Inc Cryptography system and elliptic curve operation method involved thereof

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69837036T2 (de) 1997-09-16 2007-10-18 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zur ausführung einer entschlüsselung mittels einer standardisierten modularen potenzierung zum vereiteln eines zeitangriffs
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
JP3821631B2 (ja) 2000-05-30 2006-09-13 株式会社日立製作所 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体
JP3794266B2 (ja) * 2000-11-08 2006-07-05 株式会社日立製作所 楕円曲線スカラー倍計算方法及び装置並びに記憶媒体
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
EP1653428B1 (en) * 2003-08-06 2012-08-15 Fujitsu Limited Elliptic curve encrypting device, elliptic curve encrypting method, elliptic curve encrypting program and computer-readable recording medium recording that program
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 삼성전자주식회사 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
US7483534B2 (en) * 2004-08-05 2009-01-27 King Fahd University Of Petroleum Elliptic polynomial cryptography with multi y-coordinates embedding
US7742596B2 (en) * 2004-08-24 2010-06-22 General Dynamics C4 Systems, Inc. Reliable elliptic curve cryptography computation
JP4752313B2 (ja) * 2004-09-30 2011-08-17 ソニー株式会社 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
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 富士通株式会社 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
WO2006118092A1 (ja) * 2005-04-27 2006-11-09 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置及び楕円曲線演算装置
WO2006124160A2 (en) 2005-05-12 2006-11-23 Atmel Corporation Randomized modular polynomial reduction method and hardware therefor
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW425803B (en) * 1998-03-05 2001-03-11 Matsushita Electric Ind Co Ltd Elliptic curve transformation device, utilization device and utilization system
TW448376B (en) * 1998-12-18 2001-08-01 Motorola Inc Circuit and method cryptographic multiplication for computing the RSA and ECC algorithms
US6876745B1 (en) * 1998-12-22 2005-04-05 Hitachi, Ltd. Method and apparatus for elliptic curve cryptography and recording medium therefore
US6873706B1 (en) * 1999-09-29 2005-03-29 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US20060280296A1 (en) * 2005-05-11 2006-12-14 Ihor Vasyltsov Cryptographic method and system for encrypting input data
TW200718144A (en) * 2005-09-29 2007-05-01 Hitachi Global Storage Tech Nl Method and system for transferring data
TW200731739A (en) * 2006-01-12 2007-08-16 Mediatek Inc Cryptography system and elliptic curve operation method involved thereof

Also Published As

Publication number Publication date
TW200939115A (en) 2009-09-16
WO2009091746A1 (en) 2009-07-23
US8619977B2 (en) 2013-12-31
US20090180611A1 (en) 2009-07-16
DE112009000154T5 (de) 2010-11-25

Similar Documents

Publication Publication Date Title
TWI462010B (zh) 使用橢圓曲線上一點之表現法改變之編譯方法及系統
US8369517B2 (en) Fast scalar multiplication for elliptic curve cryptosystems over prime fields
US8559625B2 (en) Elliptic curve point transformations
JP4671571B2 (ja) 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ
KR101154695B1 (ko) 암호 처리 연산 장치
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
US7835517B2 (en) Encryption processing apparatus, encryption processing method, and computer program
US11424907B2 (en) Countermeasures for side-channel attacks on protected sign and key exchange operations
US20090016523A1 (en) Masking and Additive Decomposition Techniques for Cryptographic Field Operations
TWI512610B (zh) 利用模數的特殊形式之模組約化
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
JP2010164904A (ja) 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
US11824986B2 (en) Device and method for protecting execution of a cryptographic operation
Dubeuf et al. ECDSA passive attacks, leakage sources, and common design mistakes
CN103246494A (zh) 一种抵抗能量分析和错误攻击的安全模幂计算方法
EP3166013B1 (en) Modular exponentiation using randomized addition chains
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
Oder Efficient and side-channel resistant implementation of lattice-based cryptography
KR101112570B1 (ko) 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
Eide Elliptic Curve Cryptography-Implementation and Performance Testing of Curve Representations
Jančár PYECSCA: Reverse-engineering black-box Elliptic Curve Cryptography implementations
Moreno Side-channel analysis: countermeasures and application to embedded systems debugging
Abdulrahman Efficient arithmetic for the implementation of elliptic curve cryptography
Gómez Pardo et al. An Introduction to Elliptic Curve Cryptography