TWI602119B - 用於蒙哥馬利域的計算方法、計算裝置和電腦軟體產品 - Google Patents
用於蒙哥馬利域的計算方法、計算裝置和電腦軟體產品 Download PDFInfo
- Publication number
- TWI602119B TWI602119B TW105106050A TW105106050A TWI602119B TW I602119 B TWI602119 B TW I602119B TW 105106050 A TW105106050 A TW 105106050A TW 105106050 A TW105106050 A TW 105106050A TW I602119 B TWI602119 B TW I602119B
- Authority
- TW
- Taiwan
- Prior art keywords
- montgomery
- coordinates
- input
- elliptic curve
- multiplication
- 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
- H04L9/3066—Public 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
本發明是有關於計算電路和方法,且特別是有關於高效模數的計算。
在橢圓曲線密碼學(Elliptic Curve Cryptography,ECC)中,對所選擇的橢圓曲線上的點執行算數運算。這些點可以標準的、正規的形式表示為滿足指定方程式的一對數字(x,y
)。在大多數情況下,此方程式可以簡短的威爾斯特拉斯方程(Weierstrass)形式編寫為y2
=x3
+A*x+B,其中A和B是定義橢圓曲線的常數。數字A、B、x和y從固定有限域(例如具有模數M的整數域)獲得,其中M為大質數,並且在此域上執行對數字的運算。
一般來說,ECC演算法包括在所選擇的橢圓曲線的點上執行的兩個運算: 點相加:(x1
,y1
)+(x2
,y2
)=(x3
,y3
) 點加倍:2(x1
,y1
) =(x3
,y3
) 這些運算的簡單明瞭的定義包括模除(Modular Division),其為繁重的、耗時的運算。
因此,常見的做法是以替代的座標表示橢圓曲線上的點,所述座標允許點相加和點加倍運算執行為一連串模加(modular addition)和模乘(modular multiplication)。亞可比行列式(Jacobian)座標廣泛用於此目的,其中橢圓曲線上的每個點(x,y
)表示為三個數字(X,Y,Z
),其經選擇使得原始橢圓座標x和y可以表達為的替代座標X
、Y
和Z
的冪(powers)的商(quotients):可以類似方式使用以提高在橢圓曲線上的計算效率的其他表示包含投影座標(其中x = X/Z且y = Y/Z);W12座標(x = X/Z,y = Y/Z2
);XYZZ座標(x = X/ZZ,y = Y/ZZZ且ZZ3
= ZZZ2
);以及XZ座標(x = X/Z)。此種表示在本發明描述中以及在申請專利範圍中被稱為“基於商的表示”(quotient-based representations),因為橢圓座標x和y中的每一者表示為替代座標的某些冪的商。在hyperelliptic.org網站上可獲得關於此類表示以及其在橢圓曲線計算中的使用的其他資訊。
然而,即使在亞可比行列式座標中,橢圓曲線計算也是耗時的。計算模數的產品的經典方法涉及首先倍增運算元為非模數的整數並且隨後獲取結果的模數,被稱作“模約簡(modular reduction)”。模約簡本身是計算上昂貴的,相當於長除法(long division)。點加倍和點相加包括許多此類運算。
由於這個原因,加密計算通常使用已知為蒙哥馬利模乘(或簡單地,蒙哥馬利乘法)的更高效的方法。為了執行蒙哥馬利乘法,使用已知為蒙哥馬利約簡的演算法將運算元轉換成專門的蒙哥馬利形式。蒙哥馬利形式中的運算元的倍增避免了對在常規算術中所需的模約簡的需要。蒙哥馬利約簡和乘法演算法例如由梅內塞斯(Menezes)等人描述於“應用密碼學手冊(Handbook of Applied Cryptography)”(1996)的章節14.3.2、第600到603頁中,其以引用的方式併入本文中。
簡要概述,給定兩個大整數A
和B
,蒙哥馬利乘法產生A
⊙B
= A*B*R -1
%M
,而不是計算A
*B
,其中R
是取決於模數M
的長度的常數。(符號“%”在本發明描述和圖式中用以表示“模數”。)為此目的,輸入運算元首先經過預處理(被稱為將運算元轉換成蒙哥馬利域或轉換成蒙哥馬利形式),使得每個輸入X
被轉換成X
'=X
*R
%M
。隨後將蒙哥馬利形式運算元相乘如下:A
'⊙B
'= A*R*B*R
*R -1
%M
=(A
*B
)' %M
。
可以此方式在蒙哥馬利域中執行一連串的計算。隨後使用蒙哥馬利乘法乘以1將最終結果Res
'轉換回為整數形式:Res
'⊙1=Res
*R
*R -1
%M
=Res
。
下文中描述的本發明的實施例提供適用於簡化並提高蒙哥馬利域中的運算效率的方法和設備。
因此,根據本發明的實施例提供一種用於計算的方法,所述方法包含在蒙哥馬利乘法器電路中接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y
)。通過以選定轉換因數執行輸入座標的第一蒙哥馬利乘法,將所述對輸入座標轉換成包含呈蒙哥馬利形式的三個替代座標(X',Y',Z'
)的基於商的表示。通過對呈蒙哥馬利形式的替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
在所公開的實施例中,替代座標包含亞可比行列式座標。
通常,執行第一蒙哥馬利乘法包含在計算替代座標中的至少一個替代座標時乘以1來應用蒙哥馬利乘法。在所公開的實施例中,執行第一蒙哥馬利乘法包含選擇轉換因數ω、α和β,其中α和β是ω的冪,並且將替代座標計算為α和β與輸入座標的蒙哥馬利乘積,使得X'=α⊙x, Y'=(β⊙y)⊙1且Z'=ω,其中符號“⊙”表示蒙哥馬利乘法。在一個實施例中,ω是隨機整數,α=ω2
且β=ω3
。
在所公開的實施例中,實施一個或多個橢圓曲線運算包含:計算在基於商的表示中表達的呈蒙哥馬利形式的結果;並且應用第二蒙哥馬利乘法中的至少一個以將所述結果恢復到正規形式。
根據本發明的實施例還提供一種計算裝置,所述裝置包含輸入,所述輸入經配置以接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y
)。蒙哥馬利乘法器電路經配置以:通過以選定轉換因數執行輸入座標的第一蒙哥馬利乘法,將所述對輸入座標轉換成包含呈蒙哥馬利形式的三個替代座標(X',Y',Z'
)的基於商的表示;並且通過對呈蒙哥馬利形式的替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
根據本發明的實施例另外提供一種電腦軟體產品,其包含其中儲存程式指令的非暫時性電腦可讀媒體,所述指令當通過可程式設計處理器讀取時致使所述處理器接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y
)。所述指令致使所述處理器:通過以選定轉換因數執行輸入座標的第一蒙哥馬利乘法,將所述對輸入座標轉換成包含呈蒙哥馬利形式的三個替代座標(X',Y',Z'
)的基於商的表示;並且通過對呈蒙哥馬利形式的替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
儘管可以通過將座標轉換成蒙哥馬利域中的亞可比行列式表示(或其他基於商的表示)來減少橢圓曲線運算的計算複雜度,但是此轉換本身涉及多個耗時的計算步驟。此外,出於安全性原因,期望例如通過將座標乘以常數因數(constant factor),加上又一計算步驟來使座標隨機化。
本文中描述的本發明的實施例又進一步通過簡化座標轉換的步驟減少了橢圓曲線計算的計算複雜度。在所公開的實施例中,通過以選定轉換因數執行輸入座標的蒙哥馬利乘法,將指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y
)轉換成替代的呈蒙哥馬利形式的基於商的表示(X',Y',Z'
)。輸入座標中的每一個的一個或兩個蒙哥馬利乘法一般足以生成X
'和Y
'中的每一個,而Z
'由簡單的算術計算生成。
執行座標轉換的同一蒙哥馬利乘法電路隨後可以用於通過將其他蒙哥馬利乘法應用於因此匯出的替代座標來實施橢圓曲線運算。這些蒙哥馬利乘法中的最後一個可以用於將這些運算的結果從呈蒙哥馬利形式的基於商(quotient-based)的表示恢復到正規形式(canonical form)。
在所公開的實施例中,用於將輸入座標(x,y
)轉換成替代座標(X',Y',Z'
)的蒙哥馬利乘法包含至少一個乘以1的蒙哥馬利乘法。如前所述,乘以1的值的蒙哥馬利乘法在一般算術的術語中意指以R -1
模數M
的倍增,這因此將因數R -1
引入到基於商的座標中。作為特定實例,蒙哥馬利乘法器可以使用選定整數因數ω、α和β(其中α和β是ω的冪)以通過計算α和β與輸入座標的蒙哥馬利乘積來執行轉換,使得X'=α⊙x, Y'=(β⊙y)⊙1並且Z'=ω。為了轉換成亞可比行列式座標,將因數α和β計算為α=ω2
且β=ω3
。出於座標隨機化的目的,ω可以是隨機值或偽隨機值(pseudo-random value)。
儘管下文中描述的實施例為了簡潔和清晰而具體涉及亞可比行列式座標中的橢圓曲線點的表示,但是這些實施例的原理可以簡單明瞭的方式延伸到其他基於商的表示,例如投影座標、W12座標、XYZZ座標或XZ座標。所有此類替代實施方案被視作在本發明的範圍內。
圖1是根據本發明的實施例示意性地說明加密裝置20中的電路元件的方塊圖。圖中所示的電路元件通常實施為積體電路裝置中的硬體邏輯電路,但是可以替代地實施為在合適的可程式設計處理器上的軟體中的模數。所描繪的電路實施可以廣泛多種不同配置和應用整合到加密裝置中的橢圓曲線計算和蒙哥馬利乘法函數以執行與例如加密、解密和/或認證相關聯的運算。圖中僅示出裝置20的與橢圓曲線計算和蒙哥馬利乘法直接相關的元件,並且所屬領域的技術人員將清楚這些元件與裝置20的其他元件的整合。
裝置20包括橢圓計算單元22,其具有用以接收橢圓運算元的一對運算元輸入24、26以及用以接收將在計算中使用的模數M的值的模數輸入40。單元22包括蒙哥馬利乘法器30,其從內部輸入36和38接收蒙哥馬利運算元A和B並且計算其蒙哥馬利乘積A
⊙B
= A*B*R -1
%M
。乘法器30將計算的結果輸出到輸出28,輸出28的內容可以傳遞到裝置20的其他元件或回饋至輸入36、38中的一個或兩個以用於後續計算,例如在橢圓曲線計算中使用的多個連續乘法(successive multiplications)。
乘法器30包括算術電路,其包含至少一個加法器電路32和至少一個乘法器電路34,具有合適的互連裝置以用於執行與大數字的蒙哥馬利乘法有關的反覆運算計算。加法器和乘法器通常在預定義大小(例如,32位元大小)的塊上操作。輸入24、26、36、38和40以及輸出28通常是整數,具有長度m
=n
× 塊大小(block size),或具體來說,在本實例中m
=32n
位元,例如128位元。輸入和輸出可以適宜地實施為記憶體陣列中的位置。
出於將輸入24和26中的橢圓運算元高效轉換成隨機的、基於商的蒙哥馬利形式的目的,橢圓計算單元22包括亂數產生器42,其輸出適用於每個此類轉換的隨機或偽隨機整數值ω。(如在本發明的說明書中以及在權利要求書中使用的術語“隨機”應理解為還包含“偽隨機”數,除非上下文另外指示。)值ω可以具有任何所需長度,但是適宜的是其長度等於蒙哥馬利乘法器30的塊大小,即,在本實例中為32位元。為了轉換成亞可比行列式表示,乘法器30利用值α=ω2
和β=ω3
,所述值由算術(非模數的)乘法生成,通過乘法器電路34或通過與亂數產生器42相關聯的專用乘法器執行。
圖2是根據本發明的實施例示意性地說明用於執行橢圓曲線計算的方法的流程圖。為了清楚和方便起見,下文中參考圖1中示出的裝置20的元件描述此方法。替代地,所述方法可以加以必要修正在其他硬體設定或軟體中執行,如上文所指出。所有此類替代實施方案被視作在本發明的範圍內。
當在輸入步驟50處橢圓計算單元22在輸入24和/或26中接收一個或多個新運算元時所述方法開始。如上文所解釋,輸入包括指定橢圓曲線上呈正規形式的點的座標(x,y
)。為了將輸入轉換為呈蒙哥馬利形式的亞可比行列式座標(X',Y',Z'
),在參數生成步驟52處,單元22從亂數產生器42請求隨機值ω,並且計算隨機參數α=ω2
和β=ω3
。參數α和β被饋送到蒙哥馬利乘法器30的輸入36,而橢圓輸入座標x和y被饋送到輸入38。在座標轉換步驟54處,乘法器30執行這些值的蒙哥馬利乘法以便計算亞可比行列式座標。
如前所述,蒙哥馬利乘法器30在步驟54處根據以下公式計算亞可比行列式座標: X'=α⊙x, Y'=(β⊙y)⊙1, Z'=ω。
通過以下推導示出這些公式的有效性: ●X
'=ω2
*x
*R-1
%M
= (ω*R -1
)2
*x
*R
%M
, ○X
= (ω*R -1
)2
*x
, ●Y
'=(ω3
*y
*R -1
)*1*R -1
%M
= (ω*R -1
)3
*y
*R
%M
, ○Y
= (ω*R -1
)3
*y
, ●Z
'=(ω*R -1
)*R
%M
, ○Z
= (ω*R -1
), 由以上推導提供的呈正規形式的轉換後的座標(X',Y',Z'
)因此符合亞可比行列式轉換的形式定義:x
=X
*Z -2
%M
;y
=Y
*Z -3
%M
。
轉換後的座標值X
'、Y
'和Z
'從輸出28回饋至輸入36和輸入38以用於在橢圓計算步驟56中通過蒙哥馬利乘法器30進行的後續運算。通常,使用此種多個乘法以及模加以便完成橢圓計算單元22被要求實施的每個點相加或點加倍運算。
在結束呈亞可比行列式蒙哥馬利形式的橢圓計算後,結果從輸出28回饋至輸入36和輸入38中的一個。乘法器30(在蒙哥馬利域中)執行結果的乘以1的蒙哥馬利乘法,並且將其轉換回至正規亞可比行列式座標(X,Y,Z
),緊接著是模除:x
=X
*Z -2
%M
,y
=Y
*Z -3
%M
,以便在結果轉換步驟58處將最終結果轉換回至正規形式以用於從單元22輸出。
如前所述,在本發明的替代實施例中,上文所述的步驟和運算是通過適當的可程式設計處理器在軟體程式指令的控制下實施的。所述軟體可以電子形式下載到處理器,例如,在網路上。額外地或替代地,所述軟體可以儲存在有形的非暫時性電腦可讀媒體上,例如,光學、磁性或電子儲存媒體。
應瞭解,上文所述的實施例以實例方式被引用,且本發明不限於上文已經具體示出並描述的內容。實際上,本發明的範圍包含上文所描述的各種特徵的組合和子組合兩者,以及所屬領域的技術人員在閱讀上述描述之後將想到且並未在現有技術中公開的本發明的變化和修改。
20‧‧‧裝置/加密裝置
22‧‧‧單元/橢圓計算單元
24‧‧‧輸入/運算元輸入
26‧‧‧輸入/運算元輸入
28‧‧‧輸出
30‧‧‧乘法器/蒙哥馬利乘法器
32‧‧‧加法器電路
34‧‧‧乘法器電路
36‧‧‧輸入/內部輸入
38‧‧‧輸入/內部輸入
40‧‧‧輸入/模數輸入
42‧‧‧亂數產生器
50、52、54、56、58‧‧‧步驟
22‧‧‧單元/橢圓計算單元
24‧‧‧輸入/運算元輸入
26‧‧‧輸入/運算元輸入
28‧‧‧輸出
30‧‧‧乘法器/蒙哥馬利乘法器
32‧‧‧加法器電路
34‧‧‧乘法器電路
36‧‧‧輸入/內部輸入
38‧‧‧輸入/內部輸入
40‧‧‧輸入/模數輸入
42‧‧‧亂數產生器
50、52、54、56、58‧‧‧步驟
自結合圖式進行的本發明的實施例的以下實施方式將更全面理解本發明,在圖式中: 圖1是根據本發明的實施例示意性地說明加密裝置中的電路元件的方塊圖。 圖2是根據本發明的實施例示意性地說明用於執行橢圓曲線計算的方法的流程圖。
20‧‧‧裝置/加密裝置
22‧‧‧單元/橢圓計算單元
24‧‧‧運算元輸入
26‧‧‧運算元輸入
28‧‧‧輸出
30‧‧‧蒙哥馬利乘法器
32‧‧‧加法器電路
34‧‧‧乘法器電路
36‧‧‧內部輸入
38‧‧‧內部輸入
40‧‧‧模數輸入
42‧‧‧亂數產生器
Claims (13)
- 一種用於計算的方法,包括: 在蒙哥馬利乘法器電路中接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y ); 通過以選定轉換因數執行所述輸入座標的第一蒙哥馬利乘法,將所述對輸入座標轉換成包括呈蒙哥馬利形式的三個替代座標(X',Y',Z' )的基於商的表示;以及 通過對呈所述蒙哥馬利形式的所述替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
- 如申請專利範圍第1項所述的用於計算的方法,其中所述替代座標包括亞可比行列式座標。
- 如申請專利範圍第1項所述的用於計算的方法,其中執行所述第一蒙哥馬利乘法包括在計算所述替代座標中的至少一個替代座標時乘以1來應用蒙哥馬利乘法。
- 如申請專利範圍第3項所述的用於計算的方法,其中執行所述第一蒙哥馬利乘法包括: 選擇轉換因數ω、α和β,其中α和β是ω的冪;以及 將替代座標計算為α和β與輸入座標的蒙哥馬利乘積,使得X'=α⊙x, Y'=(β⊙y)⊙1且Z'=ω。
- 如申請專利範圍第1項所述的用於計算的方法,其中執行所述一個或多個橢圓曲線運算包括:計算在所述基於商的表示中表達的呈所述蒙哥馬利形式的結果;並且應用所述第二蒙哥馬利乘法中的至少一個以將所述結果恢復到所述正規形式。
- 一種計算裝置,包括: 輸入,所述輸入經配置以接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y );以及 蒙哥馬利乘法器電路,所述蒙哥馬利乘法器電路經配置以:通過以選定轉換因數執行所述輸入座標的第一蒙哥馬利乘法,將所述對所述輸入座標轉換成包括呈蒙哥馬利形式的三個替代座標(X',Y',Z' )的基於商的表示;並且通過對呈所述蒙哥馬利形式的所述替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
- 如申請專利範圍第6項所述的計算裝置,其中所述替代座標包括亞可比行列式座標。
- 如申請專利範圍第6項所述的計算裝置,其中所述第一蒙哥馬利乘法包括乘以1的蒙哥馬利乘法,其中所述蒙哥馬利乘法器電路經配置以:接收轉換因數ω、α和β,其中α和β是ω的冪;並且將所述替代座標計算為α和β與所述輸入座標的蒙哥馬利乘積,使得X'=α⊙x, Y'=(β⊙y)⊙1且Z'=ω。
- 如申請專利範圍第6項所述的計算裝置,其中所述蒙哥馬利乘法器電路經配置以通過以下步驟實施所述一個或多個橢圓曲線運算:計算在所述基於商的表示中表達的呈所述蒙哥馬利形式的結果;並且應用所述第二蒙哥馬利乘法中的至少一個以將所述結果恢復到所述正規形式。
- 一種電腦軟體產品,包括其中儲存程式指令的非暫時性電腦可讀媒體,所述指令當通過可程式設計處理器讀取時致使所述處理器:接收指定橢圓曲線上呈正規形式的點的一對輸入座標(x,y );通過以選定轉換因數執行所述輸入座標的第一蒙哥馬利乘法,將所述對所述輸入座標轉換成包括呈蒙哥馬利形式的三個替代座標(X’,Y’,Z’ )的基於商的表示;並且通過對呈所述蒙哥馬利形式的所述替代座標應用第二蒙哥馬利乘法來實施一個或多個橢圓曲線運算。
- 如申請專利範圍第10項所述的電腦軟體產品,其中所述第一蒙哥馬利乘法包括乘以1的蒙哥馬利乘法,其中所述指令致使所述處理器:接收轉換因數ω、α和β,其中α和β是ω的冪;並且將所述替代座標計算為α和β與所述輸入座標的蒙哥馬利乘積,使得X'=α⊙x, Y'=(β⊙y)⊙1且Z'=ω。
- 如申請專利範圍第11項所述的電腦軟體產品,其中ω是隨機整數,α= ω2 且β= ω3 。
- 如申請專利範圍第10項所述的電腦軟體產品,其中所述指令致使所述處理器通過以下步驟實施所述一個或多個橢圓曲線運算:計算在所述基於商的表示中表達的呈所述蒙哥馬利形式的結果;並且應用所述第二蒙哥馬利乘法中的至少一個以將所述結果恢復到所述正規形式。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IL24010015 | 2015-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201704988A TW201704988A (zh) | 2017-02-01 |
TWI602119B true TWI602119B (zh) | 2017-10-11 |
Family
ID=56203260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105106050A TWI602119B (zh) | 2015-07-22 | 2016-03-01 | 用於蒙哥馬利域的計算方法、計算裝置和電腦軟體產品 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10057064B2 (zh) |
EP (1) | EP3121710B1 (zh) |
KR (1) | KR101835065B1 (zh) |
CN (1) | CN106371803B (zh) |
ES (1) | ES2696530T3 (zh) |
TW (1) | TWI602119B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200046481A (ko) | 2018-10-24 | 2020-05-07 | 삼성전자주식회사 | 난수 생성기, 이를 포함하는 암호화 장치 및 이의 동작 방법 |
KR102187267B1 (ko) | 2020-07-08 | 2020-12-04 | 국방과학연구소 | 타원곡선에 기반한 초 특이성 디피-헬만 암호 교환 방법 및 장치 |
CN112199707B (zh) * | 2020-10-28 | 2022-12-27 | 支付宝(杭州)信息技术有限公司 | 一种同态加密中的数据处理方法、装置以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060080594A1 (en) * | 2004-10-07 | 2006-04-13 | Chavoustie Michael D | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
TW200746059A (en) * | 2006-01-12 | 2007-12-16 | Mediatek Inc | Embedded system insuring security and integrity, and method of increasing security thereof |
US20120226577A1 (en) * | 2000-09-27 | 2012-09-06 | Montgomery Rob R | Bidder-side auction dynamic pricing agent, system, method and computer program product |
CN104104504A (zh) * | 2014-07-22 | 2014-10-15 | 大唐微电子技术有限公司 | 一种rsa解密的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7742596B2 (en) * | 2004-08-24 | 2010-06-22 | General Dynamics C4 Systems, Inc. | Reliable elliptic curve cryptography computation |
CN102279725A (zh) * | 2011-09-01 | 2011-12-14 | 北京华大信安科技有限公司 | Ecc协处理器 |
CN103761068B (zh) * | 2014-01-26 | 2017-02-01 | 上海交通大学 | 优化的蒙哥马利模乘硬件 |
-
2016
- 2016-03-01 TW TW105106050A patent/TWI602119B/zh active
- 2016-03-17 US US15/073,616 patent/US10057064B2/en active Active
- 2016-03-18 CN CN201610156574.7A patent/CN106371803B/zh active Active
- 2016-06-23 ES ES16176068T patent/ES2696530T3/es active Active
- 2016-06-23 EP EP16176068.1A patent/EP3121710B1/en active Active
- 2016-07-22 KR KR1020160093745A patent/KR101835065B1/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226577A1 (en) * | 2000-09-27 | 2012-09-06 | Montgomery Rob R | Bidder-side auction dynamic pricing agent, system, method and computer program product |
US20060080594A1 (en) * | 2004-10-07 | 2006-04-13 | Chavoustie Michael D | Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet |
TW200746059A (en) * | 2006-01-12 | 2007-12-16 | Mediatek Inc | Embedded system insuring security and integrity, and method of increasing security thereof |
CN104104504A (zh) * | 2014-07-22 | 2014-10-15 | 大唐微电子技术有限公司 | 一种rsa解密的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170026178A1 (en) | 2017-01-26 |
US10057064B2 (en) | 2018-08-21 |
CN106371803A (zh) | 2017-02-01 |
EP3121710A1 (en) | 2017-01-25 |
KR101835065B1 (ko) | 2018-04-13 |
ES2696530T3 (es) | 2019-01-16 |
CN106371803B (zh) | 2018-12-25 |
KR20170012147A (ko) | 2017-02-02 |
TW201704988A (zh) | 2017-02-01 |
EP3121710B1 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI386818B (zh) | 密碼安全模多項式簡化方法及執行該方法之計算硬體 | |
US20170091148A1 (en) | Method for calculating elliptic curve scalar multiplication | |
TWI553548B (zh) | 加密計算方法、裝置以及電腦軟體產品 | |
JP2009540394A (ja) | フォールディングを用いるモジュール削減 | |
TWI602119B (zh) | 用於蒙哥馬利域的計算方法、計算裝置和電腦軟體產品 | |
JP2017533458A (ja) | 難読化された算術を実行するための電子計算装置 | |
JP4351987B2 (ja) | モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム | |
JP5403630B2 (ja) | スカラ倍算器及びスカラ倍算プログラム | |
JP3551853B2 (ja) | αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体 | |
TWI630545B (zh) | 非模數乘法器、用於非模數乘法的方法及計算裝置 | |
KR101707334B1 (ko) | 효율적인 타원곡선 암호화 연산 장치 및 그 방법 | |
KR102253211B1 (ko) | 소수체와 이진체 상의 타원곡선을 지원하는 공개키 암호 시스템의 하드웨어 구현을 위한 연산장치 및 방법 | |
KR101805840B1 (ko) | 암호 계산을 위한 방법, 장치 및 비일시적이고 컴퓨터로 독출가능한 매체 | |
US11483151B1 (en) | Method and system for computing large-degree isogenies with an odd degree | |
Элиас et al. | FPGA cores for fast multiplicative inverse calculation in Galois Fields | |
JP3966714B2 (ja) | 暗号処理方法、そのプログラム及びその記録媒体 | |
Abd Ghafar et al. | SPA on Rabin variant with public key N= p^ 2q N= p 2 q | |
JP2002304122A (ja) | 曲線上の有理点群の部分群上元判定装置、そのプログラム及びその記録媒体 | |
KR101609952B1 (ko) | 스칼라 곱셈 장치 및 방법 | |
US9929862B2 (en) | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves | |
KR101213395B1 (ko) | 페어링 암호 연산을 위한 세제곱근 연산 방법 | |
JP2007212768A (ja) | 楕円曲線暗号における事前計算テーブル作成装置 | |
JP2003216029A (ja) | 離散対数検証方法、この方法を実施する装置、プログラムおよびプログラムを記憶した記憶媒体 | |
JP2003271055A (ja) | ウインドウ処理装置、ウインドウ処理プログラムおよびその記録媒体 | |
JP2010164878A (ja) | 楕円スカラー倍演算装置、方法及びプログラム |