TW200403584A - Apparatus and method for calculating a result of a modular multiplication - Google Patents
Apparatus and method for calculating a result of a modular multiplication Download PDFInfo
- Publication number
- TW200403584A TW200403584A TW92109931A TW92109931A TW200403584A TW 200403584 A TW200403584 A TW 200403584A TW 92109931 A TW92109931 A TW 92109931A TW 92109931 A TW92109931 A TW 92109931A TW 200403584 A TW200403584 A TW 200403584A
- Authority
- TW
- Taiwan
- Prior art keywords
- mmd
- modulus
- operand
- sub
- integer quotient
- Prior art date
Links
Classifications
-
- 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/722—Modular multiplication
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)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
200403584 五、發明說明(l) _ 發明領域 本發明係有關於計算演算法。特別 於加密應用所需要之計算演算法。 ’本發明係有關 習知技術 ~ ^別疋在公鑰加密、及其他領域的加宓 係持繽增加。這乃是由☆:這類加密演曾:中,金鑰長度 1 求Λ會持續增加。隨著使用金錄長度於ΐ全性的 方/做為一種非對稱加密概念的代表,γσ使用延種 用一種公鑰方法,亦可 也就疋說,使 rhril + p f 丌了以增加相對於所謂暴力攻擊 (brute -f0rce attack)的安全性。暴力文= force attack ^乃是對於一種加密演算法的= 了 使用金输乃是藉由所有可能性的嘗試加以推論。有二於 此,當金鑰長度增加時,理論上,暴力攻冑(br::_、 f= )嘗試所有可能性所需要的時間長度亦會大 幅增加。 應該明白指出的是,在這種架構中,使用5丨2位元金 鑰長度的RSA應用在過去曾經被視為足夠。但是,隨著另 一邊(駭客)的技術及算術進步,隨後的典型RSA應用便 將金鑰長度增加至1 024位元。時至現在,各種人士亦主 張·即使是具有1 0 2 4位元的金鑰長度亦不足以抵抗這種攻 擊。因此,RSA應用的金鑰長度將會再度增加至2〇48位 元0 另一方面,當考量現有加密共處理器(諸如:智慧 卡)的時候,可以理解的是,大部分人當然會希望:具
200403584
有,舉例來說,2 048位元金鑰長度的RSA應用亦可以執行 於僅能夠處理,舉例來說,1 〇 2 4位元金鑰長度的加密電路 上。因此’現有智慧卡應用的算術共處理器便會出現下列 問題,亦即:這些現有智慧卡應用通常是針對某特定位元 長度進行發展,且無法適用於大部分的目前安全性要求 (也就是說,位元長度過短)。這種現象可能會導致下列 ,題,亦即:舉例來說,具有2〇48位元金鑰長度的rsa演 算法將無法在1 024位元的共處理器上進行有效處理。對於 RSA應用而言,中國剩餘定理(CRT )乃是習知概念,其、 中,具有大金鑰長度的模數指數可以細分為兩個^別具有 一半金鑰長度的模數指數,據此,這兩個分別具有一 ^ 鑰長度的模數指數結果便可以進行組合。 ’ 取近,部分人士已經證實··中國剩餘定理(CRT 別容易受到差動故障分析攻擊(DFA aUack)的影響。、 此,關連許多方法的一問題便是所謂模數乘法
:加σ doubling ) ”,其乃是加密計算的核心操作。j 此,一個模數指數便可以細分A 八糸一裎於甘+ Λ、、田刀為迕多杈數乘法(亦即:乡 =為一麵=,其中,苐一運算元Α及第二運算元β之乘 是在相對模數Ν的剩餘類別中進行
=分長別4有一:元/度2η,則計算“通ί以 位το長度2η。由於其長度,這此 ^ 整數计异早兀,相對於個人電腦(PC )或工作站 (workstation)處理器辦你田从 咖 位元、32位元、^位=吏構用。的,舉例來說,8位元、i
200403584 五、發明說明
有鑑於此,本發明的主要目的便是在呈有一仞-κ 〜%八另 位疋長 η的計算單元上,實施具有一位元長度2η的整數a、β、 ^ 的模數乘法A * B mod Ν。這個模數乘法是非常耗時的及N 為這些整數A、B、及N可能僅會片段地載入,這也是傳#因 方法為什麼會需要大量組織且容易出錯的主要原因,若、+ 些載入片段無法完全捨棄的話。已知,目前有幾種方法^ 以解決這個問題。這些方法可以利用下列關鍵字找到,包 括:Montgomery乘法、正常乘法(例如:Karatsuba -Ofman )、以及後續歸約(例如:Barret歸約)。 在中國剩餘疋理(CRT)視窗ff中使用Montgomery計 异的另一概念已經發表於:p. paiUer,ffL〇w~cost double size modular exponentiation or how to stretch your cryptocoprocessor11 ° 這類概念的計算時間及資料組織全部都很昂貴,也因 此’這種概念的效率並不見得會為各種應用所接受。 有鑑於此,本發明的主要目的便是提供一種觀念,用 以計异模數乘法的結果,其有關實施方式及計算時間的效 率可以為各種應用所接受。 發明概述 本發明的上述及其他目的乃是利用申請專利範圍第1 項所述的裝置及申請專利範圍第1 〇項所述的方法加以達 成。 本發明乃是基於下列發現,亦即:雨運算元相對一模 數的模數乘法可以轉換為子運算元At、Ab、Bt、Bb及/或
200403584
子模數Nt、Nb的MMD極你4 营$ a — mu 彳呆作之預定步驟順序,其中,這些運 歧子運瞀元万u此工f 舉例來况,一位兀長度2η,且這 一 一廷 楱數係具有,舉例來說,一位元長声 子楳齡以、隹: 廷些一半位元長度的子運算元及 冰、ρ左η•仃/在廷個MMD操作中,除了Mu It Mod操作以 ㈣。:々Γ才呆作的結果亦會加入,藉以提供模數乘法的 、 ’除了MMD操作的餘數以外,這個Div操作的,士
二這個模數的整數商)#必須計算。利用相關; ^ 疋V驟順序的輸入參數及模數執行這類MMD操作數、 二人,這個預定步驟順序的步驟便可以得到具有,舉例來 說,一位元長度η,的整數商值及剩餘值,並且,亦可以 =用η位元加法器將這些整數商值及剩餘值相加及寫入結 果記憶體的個別位置。 本發明的基礎乃是利用(At*2n+Ab),(βΐ* 2n +Bb”文為導出較佳預定步驟順序的條件等式。將這個 數學式乘開可以付到不同的乘積,其可以利用_操作逐 步取代。接著,欲計算的模數歸約,亦即:A*B mod 1^便 可以利用等式Nt *2h-Nb以考量。指標,,t”係表示運算 tlA、B及/或模數N的高位元,而指標” b,,則是表示這些個 別整數的低位元。因此,舉例來說,第一運算元A便可以 表示為At *2n +Ab。另外,第二運算元β及模數N的情況亦 是相同。如先前所述,由於這些部分乘積乃是利用M〇操 作逐步取代,因此,在數個取代步驟後,僅有小於一位元 長度η的整數及因子2n的乘積、或是具有一位元長度11的整
200403584 五、發明說明(5) 數會被,留:來,另外,這個組合裝置亦可以實施為^位 兀加法盗,藉以一方面組合與這個因子2n相乘的中間結 果、另一方面亦組合未與這個因子2n相乘的中間結果。 如此,利用具有一位元長度2n的運算元及/或模數的 模數乘法結果亦當然會具有一位元長度2n,其乃是將未與 這個因子2n相乘的中間結果寫入結果記憶體的低位元、並 將與^個因子2n相乘的中間結果寫入結果記憶體的高位 元藉^在這個結果記憶體中組合得到。另外,這個結果 。己體的低位元進元亦可以在這個結果記憶體的高位元加 以考量。 本,明的優點是,這種概念可以利用具有較小位元長 度的計算單元’執行相對較大位元長度的整數計算。 本發明的另一優點是,這種概念可以更具效率。將這 種概念的實施,其可以實施在^衍“⑽Techn〇i〇gies —unich )_供應的先進加密引擎上,與丨概念的實 靶,/、已經揭露於本說明書的習知技術中,進行比較, =念1實施’舉例來說,在RSA演算法中,可以縮短機 的執订時間。 本發明的另一優點是,這個D丨v資訊(亦即··整 的:以利用軟體方式、利用硬體方式、或利用容易實施 浐式,經由MMD操作得到,其中,這個M〇 ,在個巧加密f理器上。到目前為止,,在目前; 吊用的极數運具中,這個D丨v操作的結果(亦即對、、含 個模數的整數商)均會省略,因 相對k J曰洎% 囚為亚不需要。不過,根據
200403584 五、發明說明(6) 本發明,這個資訊則不能省略、且必須計算出來,藉以在 具有小位元長度的計算單元上執行具有大位元長度的運算 元計算。 本發明的另一優點是,這個D i v操作的計算可以僅僅 改變加密處理器的控制器,而不需要改變計算單元的實際 繞線。由此觀點,這個MMD操作僅僅需要與Mul tMod操作相 同的時間長度,並且還能在這個Μ o d結果外提供額外資訊 (亦即:這個D i v結果),其係應用在本發明中。 較佳實施例之詳細說明
第1圖係表示本發明裝置的方塊圖,用以計算第一運 异元A及第一運异元B之模數乘法、相對模數n的結果,其 中,這個第一運算元、這個第二運算元、及這個模數係^ ^ 一第一位元長度(舉例來說,一位元長度2n )。這些$ 算元係饋入裝置10,藉以提供子運算元。這個裝 7 卜算元A提供子運算元另外,這個裝置置;:: 曰由第二運算元B提供子運算元肘及肋。並且,這個裝置 會由模數N提供子模數Nt&Nb。相較於原始整數A、 元長广ί子運算元及這些子模數會分別具有-較小的七 模數U本發明達成最大成功的較佳實施例中(其中, 以利用最短的計算單元執行),這些子運算天 運瞀元,的些子主模數係具有一位元長度η,亦即:個別”原被 逆W兀的一半位元長度。 大子:本發明更包麵D裝置12,其位元長度等於最 ^疋及/或子模式的位元長度。若所有子運算元及
200403584 五、發明說明(7) 子杈數均具有相同位元長度n,則這個MMD裝置12亦會且有 一位元長度η。這個MMD操作係定義以利用經由輸入12a/及 12b饋入這個MMD裝置12的兩個輸入運算元、及經由第三輸 入12c提供的MMD模數進行計算,並在連接控制裝置14及組 合裝置16的輸出12d將整數商值Q ("及剩餘值R 進 、 出。這個控制裝置14,其係將輸入操作及關連M〇模數的 預定組合饋入這個MMD裝置,乃是根據預定步驟順序,逐 步執行饋入步驟,其中,這些運算元及這些Μ〇模數係基 於第一運算元A的第一子運算元At及第二子運算元…、基 於第—運异元B的第二子運算元“及第二子運算元仙、基 於模數N的第一子模數Nt及第二子模數肋、基於變數2χ、土及 基於預定步驟順序的先前步驟的整數商值及剩餘值,1 :二?別是,小於2η,且在較佳實施例中,等於這個 控制裝置14可以利用整數的最大長度。 二這個組合裝置1 6係實施以組合這個預定步驟順序的先 刚γ驟的整數商值及剩餘值,藉以得到這個結果e = A木Β ㈣d N,其可以再度具有一位元長度2n。 =個提供裝置1〇的操作模式將配合第2圖詳細說明如下。 圖^係表示具有一位元長度2n之第一暫存器2〇,用以儲 ΐ個個第一運算元A。這個提供裝置10係將 、個第一運异兀A的前χ個位元(在較佳實施 製到子運算元暫存器22,藉以產生這個第_子= b 2這㈣-運算元A的剩餘位元A t則會複 i 异-暫存器24。如,匕,這些第一及第二子運算元便可以運僅
第12頁 200403584
$利用這個長整數運算元的分割得到。因此,這兩個 算兀暫存器22及24的整數便可以根據第2圖所示的等 亦即:將第一子運算元“寫入結果暫存器、並將向左力’ η位π (表示為因子2n )的第二子運算元M寫入結果 器,藉以再度得到原始的運算元。 ’仔 第3圖係詳細表示這個MMD裝置12的操作模式。 這個MMD裝置12係具有一MMD操作子3〇以執行一㈣ 是 作 由 以二=係t示"㈤制…"。這個__ 個輸入值A ( )、Β α )、及做為模數的N (i ), 商值Q("及這個剩餘值R(1),其中, $ =利用這-〇d操作定義,而這個整數商值Q則是 A*:轉的Λ數結果。因&,這個_操作乃是將乘積 所來ϊϊίΓ數商、這個模數、及這個㈣值的乘積 所^ Ϊ °另彳’上# ( i )係表示這個控制裝置14 方十2預定步驟順序的第1個特定步驟,藉以利用適當 方式控制這個MMD裝置12。 不僅ΐ本ΐ明的較佳實施例+,這個預定步驟順序的步驟 =僅=以執行MMD操作,並且至少亦可以執行啟動〇D操 4圖操作以外。這個啟動勵操作乃是利用第 拖或千 。這個操作乃是將數學式A*B+c*y轉 :=模數,整數商及餘數。C乃是任何想要的整數。 中;一 η這個扣標η係對應於先前的較佳實施例,其 :.;4些原始運算元Α、Β及這個原始模數Ν係具有一位元 度&,而這些子運算元及/或這些子模數則具有-位元
第13頁 200403584 五、發明說明(9) 長度η。若使用分割不同於將這些運算元加以對半, 可以利用第4圖的X取代,其中,乂等於這些第一子運算元 Ab,Bb ^ /或廷個子模數肫的位元長度。這個整數餘數a 係利用第4圖的等式42定義。$外,這個整數商㈣是利用 第4圖的等式44定義。如此,啟動M〇操作子3〇b便可以利 用這些輸^運算元A("、Bu)、cu)、及^表示的數 學式,進订所謂的啟動MMD操作,藉以產生這個整數商值Q (1)及這個剩餘值R(1)以做為輸出數值。 應該指出的是,這個啟動MMD操作係一特別定義操 作,其亦:以利用第1圖的MME)裝置12實施,若除了 ΜΜ])操 作以外’這個預定步驟順序可以包括啟動MME)操作。在這 個例子中,第1圖的MMD裝置12亦可以提供參數^及參數/以 做為輸入變動。 / 請參考第5圖,其將詳細說明包括七個MMD操作的預定 步驟順序,藉以利用較小位元長度(最好是一半位元長 度)的第1圖MMD單元12及第1圖組合裝置16,計算模數乘 法A *B mod N的結果。在第一步驟51中,第一整數商值q (1 )及第一剩餘值R 〇〕係利用輸入運算元Bt及2,及龍〇模數 Nt加以計算。在第二步驟52中,第二整數商值Q⑴及第一
=Ϊ1(2:係利用第一剩餘數值R ("及第-子模數Nb做為 輸入運异兀、並利用y做為M〇模數,藉以計算出來。如 5圖所示,這個程序係繼續進行步驟53、54、55、56、及 57,藉以最後得到第七整數商值Q (n及第一剩餘值r α), 其係利用第一運算元A的第一子運算元讪及第二運算元β的
200403584 五、發明說明(ίο) 第二子運算元B t做為輸入運算元、及利用這個整數2n做 MMD模數,藉以計算出來。 第5圖的等式58,其具有’’輸出”標題,係表示第j圖組 合裝置1 6的組合操作。特別是,這個組合裝置會計算 值的總和R (7) —R (6) _R⑺以做為第一總和。另外,第工圖 的組合裝置16亦會計算一總和R (4) +R (3) _Q (5) 一Q (6) (7〉以做為第二總和。如第5圖所示,這個第二總和會 這個因子_2n,並接著與這個第一總和相加。如第u圖所 不,這個操作亦可以利用,位元計算單元實施,也就是 況,具有小位元長度的計算單元。 由第5圖可知,第5圖所示的預定步驟順序僅需I MMD操作,其分別具有铨入·$瞀一 Β m序僅而要七個 可以事先知道(二般产) r丨兀^旲的對應組合。若β 先計算,藉以僅需要i;: :兩個mmd操作亦可以事 個預定步驟順序:爻個線上_操作。另外,這 步驟中,數學式RU第Γ/2應該特別加以注意。在這個 第二輸入運算元。5袖奴+Bb#用以做為這個MMD操作的 (5)(第5圖的第五步。驟學式可能是負數,藉以使Q(3)及Q 這些發生負數值的例〃亦會變成負數。在這個例子中, 術領域之人士所習知,=好能夠採取適當防範,如模數算 數結果導入正確的剩餘類如·舉例來說,加入模數以將負 模數間的剩餘類別)。、、別(也就是說,在〇及目前計算 第6圖係表示另一 的MMD操作子30a^ 頂疋步驟順序,其中,除了第3圖 名4圖的啟動MMD操作子 200403584 五、發明說明(11) --- 雖然在第6圖所示的預定步驟順序的第一步驟6丨中,第一 整數商值Q (1 >及第一剩餘值R (ι }係利用輸入運算元Μ及“ 做為,入運算元、及利用…做為MMD模數,利用M〇操作加 以計算。但是,第二步驟62係利用啟動MM]D操作 (Mul tModDivInt ),也就是說,利用Nb做為第一輸入運 算元(對應於第4圖的A )、利用一Q(1)做為第二輸入運算 元(對應於第4圖的B )、利用R(1)做為第三輸入運算元"" (對應於第4圖的C )、以及利用第二子模數Nt做為MMD模 數(對應於第4圖的N)。 ' 由弟6圖可知,不同於第5圖,第6圖的預定步驟順序 僅需要五個MMD操作,其中,一個步驟(也就是說,第二 步驟6 2之操作)係啟動MMD操作。應該進一步指出的是,q (2)可能是負數,因此,這些發生負數值的例子亦最好能夠 採取適當防範。 在第6圖的行6 7中,其係再度表示欲利用第1圖組合裝 置1 6執行的工作,這個工作包括:形成第一總和r (5)及一R (6)、形成總和 R (2) + R (3) + R (4) + Q (5) ~ Q (6)以做為第二 總和、及組合這個第一總和及這個第二總和,其亦可以考 量進位,如參考第11圖所述。 第7圖係表示包括步驟71、72、73、74、75、76的預 定步驟順序,用以計算這個運算元A的平方結果。在這個 例子中,第一運算元係對應於第二運算元,亦即:第一運 算元及第二運算元係相等。由第7圖可知,第7圖所示的平 方演算法並不需要採用異有啟動的操作,且總共只需
200403584 五、發明說明(12) 要六個MMD步驟便可以穿士、 ,.. 管- 成’相對於第一運算元及第二運 相等的七個MMD操作。另外,應該指出的是,由於 丌处:驟73的差異,第二商數值Q (3)及第四商數值Q (4)均 可能會變成負數。 順庠第圖*係表不根據本發明另一較佳實施例的預定步驟 動MMD’二/,甘這 '預定步驟順序的第二步驟82亦是採用啟 呆-,/、乃^是分別利用肋及一Q ("做為第一及第二輸 廡於、利用第一剩餘值1^ ("做為第三輸入運算元(對 Ζ ,1 圖的C )、及利用第一子模數Nt做為MMD模數。在 =I ^子中,右採用啟動MMD操作,則這個預定步驟順序 沾:有五個MMD操作,相對於第7圖未具有啟動MMD操作 商#' C)lMMD #作°另外’應該進一步指出的是,第二整數 商值Q )亦可能是負數。 > Λ各種預定步驟順序的其他實施例,將配合第9a及9b圖 砰細說明如下。 特別菩,# π 序, 々 弟9 a圖係表示不具有啟動的乘法預定步驟順 示且$第5圖所示,的推導過程。相對地,第9b圖則是表 二二啟動的乘法預定步驟順序,如第6圖所示,的推導 Μ M D操作的乘^兄。’在預定步驟順序的某個步驟中發出啟動 弟10圖你主_ 7圖所示,的W不具有啟動的平方/定步驟順序,如第 個步驟中僅Μ裎,也就是說,在預定步驟順序的某 方。 執仃顧D操作、而不執行任何啟動MMD操作的平
第i7頁 200403584 五、發明說明(13) 第9a、9b及10圖的各個推導過程均開始於建立欲計算 的相關乘積,並且,考量第2圖所示的連結,亦即:第一 及第二運算元A及B已經分別利用個別的第一及第二子運算 元取代,如第9a圖的90a、第9b圖的90b、及第10圖的100 所示。特別是’第一項目At*Z+Ab及第二項目Bt*Z+Bb 的乘積係加以建立、並進行展開。 接著,請參考第9a圖的實施例。在第9a圖的行91中, 將結果展開。舉例來說,第9 a圖的行9 1中,第一項目的乘 積Bt * Z係執行MMD操作,其中,Z係對應於2n,如第9a、 9b、10圖的右手邊所示。這個模數的第一子模數Nt係用以 做為第一MMD操作的mmd模數。因此,第二行92便可以得 到,藉以產生第一整數商值q u )及第一餘數值R (i)。在行 93中,利用行93右手邊所發現的關係(亦即:第一子模數 Nt乘以Z等於第二子模數⑽mod N的負數)。如此,我們 便可以得到下列條件等式: N二Nt 氺 Z +Nb 由整個等式中減去Nb,則我們便苛以得到下列等式: N —Nb = Nt 氺 2 歸約這個等式,我們便可以消去這個等式的右手邊N,進 而得到下列等式:
Nt ~Nb mod N 利用上述條件等式展開行9 2的第一括號,其中,這個 因子為Q(= *Nt*At*Z,則這個因子將會變成一At*Q(1) *Nb ’如第9a圖的行93所示,當考量第9a圖的行93的第二
第18頁 200403584 五、發明說明(14) 項目。在第9 a圖的行9 4中,、i / μ ,L贫c: m 這個第二項目係執行MMD摔作 (如第5圖的步驟52所示) 仃腳擁作 也s M rr 耨以付到订94。隨德,再声 考置Nt氺Z及一Nb間的上述關造一加和广A 4曼冉度 S冰 —CM山 關連。延個私序會重覆數次。 ?τ出現的部分乘積係利用MMD操作逐步處理,藉 以僅僅保留具有位元長度η沾 : 一 名1兀农度η的整數及因子2η的乘積、戒且右 位元長度η的整數,如第9a圖的^纟^ """ 第5圖的行58。 图的取後1所迷,其對應於 圖所示的推導範例係對應於軸圖所示的預定步 =:2即:具有啟動的乘法。其中,啟動_操作係 :的第一項目,在行95中執行。這個第一運算元 (對應於产4圖的A ) #Nb、這個第二運算元(對應於第4 圖的B)係數值—qu)、這個第三運算元(對應於第4圖的 係R 、而整數Z則是對應於2",如先前所述。這個啟 動MMD操作的結果係表示在第9b圖的行的第一項目中。 第10圖所示的推導範例係對於於不具有啟動的平方預定步 驟順序(如第7圖所示),其執行方式係類似於第9a及⑽ 圖0 由上述可知,由於數學轉換的各種可能性,任可預定 步驟順序均可以利用總和乘法方式(suni multipncati〇n approach ) ( 90a、90b、1 〇〇 )形成,藉以解決·’ 總和一 乘積方式(sum - product approach ) ”的操作,進而僅僅 保留位元長度η的整數商值及剩餘值,及/或乘以2n的適當 整數商值及剩餘值。除了加法以外,這種方法僅僅需要 MMD操作’或選擇性地利用啟動MMD操作,然而,其僅僅需
200403584 五、發明說明(15) 要一位元長度X即可。 就實務理由,舉例來說,為了處理負數 嶋、啟動_操作、或組合裝置的二:單= 好能夠比位元長度n再大 \的4开早兀最 元}。不禍,i去曰上成個位(舉例來說,1或2位 ° 考I尺寸大小後,這幾個位元並不合德士、 任何問題,因為具有位喜辩 、不曰構成 潔地執行於η位元的計v φα , 有文且間 f:要掸+继細/的计异早兀中。雖然适個計算單元可能 而要增加成個位元以利實施,但 或在現有纟置上執m入^二對於1 024位凡及/ 可以忽略的。卩更-女王性的可此,這幾個位元均是 第1圖組合裝置16的較佳實施 :明如下。這個組合裝置係用以轉 ;圖:細 第5圖預定步驟順序的行58、第 電路工私觀點, ry _ 4丁 5 8 第b圖預定步驟順岸的并β 第7圖預定步驟順序的行77、或碰的仃67、 。以下,我桐收 及第8圖預疋步驟順序的行 、▲:狀ΐ 合第5圖的行58進行詳細說明。 迫個衣置16係具有複數個η位元暫存哭丨〗0田 剩餘值R(3)及R⑷、R(5))暫存。。110,用以錯存 Q (5 ) π Γ6 Λ 及R ),及儲存整I命 則(7),其係用☆這個組合操作中/商值 」餘值及/或整數商值則僅僅需要果〃他的 §兄’由這個預定步驟順序的某個 :::if牛也就是 的了-個步驟的中間結果。然而驟顺序 器郃會用於最終的組合操作58中。· 丁、坆些暫存 這個組合裝置费白杯_ 乂 — 所述,再增加1至2 加:,)加法器=或,如先前 J加忒态)、一流程控制π 4、進
200403584
藉以將得到結果寫 位確说裝置11 β、及η位元多工器1 ^ 8 入2 η位元的記憶體1 2 〇中。 一首^,廷個流程控制11 4會控制暫存器檔案11 0及η位 το加法器11 2,藉以計算第一總和r (7) — r (6) _ R (5)。為了 k個计异,個別加法器的最低有效位元(LSB )的進位輸 入122會啟始為數值”〇”。隨後,計算這個第一總和的最高 有效位元(MSB )的進位。 右η位兀加法器丨12的最高有效位元(msb )包括一個
進位則最低有效位元(LSB)加法器的進入輸入將不 需要改變,並持續啟始為數值” 〇 ”。 ”然而,若第一總和具有進位,則將進位啟始為數 值’’ 1”,並計算第二總 (3) +R (4) _Q (5) _Q (6) +Q (7)。 k後’利用這個流程控制1 1 4控制這個n位元多工器, 藉以將第一總和寫入2n位元記憶體的低階位元120&、並在 計算得到第二總和後,將這個第二總和寫入這個2n位元記 憶體t高階位元^讣,及據以啟始最低有效位元(LSB) 加法器的進位輸入。如此,在第i i圖的較佳實施例中,與 因子2n相乘的步驟便可以利用η位元多工器丨i 8完成。當”
然,這個操作亦可以利用暫存器平移或其他方式達成W,如 本技術領域者所習知。 由本發明概念的說明可知,第9a、9b、1〇圖亦可以推 導出各種不同實施例、或各種不同預定步驟順序,藉以利 用較小位元長度的輸入變數A、b、N的計算單元,#MMD操 作、或MMD操作及數個啟動MMD操作,執行較大位元長度的
第21頁 200403584 五、發明說明(17) 模數乘法。 在第9a、9b、及1〇圖所示的例子、及在各種預定步驟 =ΐ ϋ,佳實施例中’我們最好能夠僅僅利用第—子模數 另外,孰羽士从苐一子杈數Nb以做為MMD模數。 另外热習本技術領域者亦可以廡用豆仙工η ^9n从效 數,只要這個模數至這些子模數=ς不同;的正 數Ζ即可。 I的切割能夠根據選擇的整
200403584 圖式簡單說明 第1圖係表示根據本菸日日> ^ _ m ^ X月較佳實施例之裝置方塊圖。 第2圖係表不運鼻元a、β θ丄 , η ΛΚ 及具有一半位元長度的子運算元At 及A b 〇 第3圖係表示MMD操作之示咅圖。 第4圖係表示啟動MMD操作之:意圖。 第5圖係表示根據本發明較佳實施例之乘法預定 其僅僅利用MMD操作。 第6圖係表示根據本發日月如/土# *今义听季父佳實施例之乘法預定步驟順 序’其係利用啟動MMD操作。 第7圖係表不根據本發明較佳實施例之平方預定步 其僅僅利用MMD操作。 第8圖係表示根據本發明較佳實施例之平方預定步驟順 其係利用啟動MMD操作。 ' 第9圖係表示經由運算元a、b及模數N之因子推導第5圖預 定步驟順序之過程。 第1 0圖係表示經由運算元A、b及模數N之因子推導第7圖預 定步驟順序之過程。 % 第1 1圖係表示根據本發明較佳實施例之組合裝置方塊圖。 元件符號說明
10 提供裝置 12 MMD裝置(位元長度χ<2η) 12a 第一輸入運算元之第一輸入 第23頁 200403584 圖式簡單說明 12b 第二輸入運算元之第二輸入 12c MMD模數之輸入 12d MMD裝置之輸出 14 根據預定步驟順序饋入之控制裝置 16 組合裝置(位元長度x<2n) 20 具有一位元長度2n之整數 22 具有一位元長度η之次運算元Ab 24 具有一位元長度η之次運算元At 30a MMD操作子 30b 啟動MMD操作子 40 啟動MMD操作之條件等式 44a 剩餘定義等式 44b 整數商定義等式 5 1 - - 5 7 乘法及啟動預定步驟順序之步驟 58 計算組合裝置之規格 6 1 - - 6 6 具有啟動之乘法預定步驟順序 67 計算組合裝置之規格 71--76不具有啟動之平方預定步驟順序 77 組合規格 8卜-85 具有啟動之平方預定步驟順序 86 組合規格 9 0 a、9 0 b、9 0 c 總和/乘積方法 91 乘積 92 MMD操作項目
第24頁 200403584 圖式簡單說明 93 '94 、95 、96 導出項目 100 平方總和/乘積方法 110 η位元暫存器 112 η位元加法器 114 流程控制 116 進行確認裝置 118 η位元多工器 120 2η位元記憶體位置 120a 低階位元 120b 高階位元
第25頁
Claims (1)
- 2004035841 · 一種裝置,用以計算一筮一―一 元⑴之-模數乘法相對第一一/數鼻:⑷及-第二運算 運算元、it第二運算元、及該模該 (2η),該裝置係包括: 数係具有一第一位το長度 衣置(10) ’用以經由^ 運曾士 η 田这苐一運异元(Α)提供一第一子 運开疋(At)及一弟二子運瞀 元(B)提供-第一子運曾運元經由該第二運算 r 運νπ(Β〇及一第二子運算元 上第模數(Ν)提供—第-子模數(Ν"及 " 、 )’其分別具有小於該第一位元長度之 一第二位元長度(η); MMD裝置(12 ),用以執行一Μ〇操作,一刪操作係定義 以,經由一項目,提供相對一M〇模數之一整數商值 及一剩餘值(R ); 控制裝置(1 4 ),用以根據一預定步驟順序,將輸入運算 =及關連MMD模數之預定組合饋入該MMD裝置,該等輸入^ 算元及該等MMD模數係基於該第一運算元(A)之該等第一 及第二子運算元(At,Ab)、基於該第二運算元(B)i 該等第一及第二子運算元(Bt,Bb)、基於該模數(N) 之該等第一及第二子模數(Nt,Nb)、基於該預定步驟順 序之步驟得到之整數商值(Q (i ))及剩餘值(r u ))、及' 基於一因子2X,其中,X等於該第二位元長度;以及 組合裝置(1 6 ),用以組合該預定步驟之步驟順序得到之 該整數商值及該剩餘數,進而得到該結果。 2 ·如申請專利範圍第1項所述之裝置,其中,第26頁 200403584 六、申請專利範圍 該第—運算元(A)、該第二運算元(B)、及該模數 1 係具有一位元長度η ; 該MMD裝置係一算術單元,有小於2[1之_ 以及 世疋長度, 該組合裝置(丨6 )係一算術單元,其具有小 長度。 1 < 位兀 3 ·如申清專利範圍第2項所述之裝置,其中, 該等子運算元及該等子模數係分別具有一 該MMD裝置传呈右一你-且由 疋長度η, 衣直係具有位兀長度η + ε ,1中,, 好能夠小於或等於2 ;以及 ε小於1 0、且最 該組合裝置(1 6 )係一算術單元,苴且 4·如申請專利範圍第}項所述之裝置γ盆 立兀長度η。 該控制裝置係架構以根據下列 驟、, 裝置(12): 〗預疋步驟順序,饋入該MMD 饋入(51 ) Bt及2n做為輸入運瞀; 藉以取得一第一整數商值二月做為一MMD模數, (1 )); )及一第一剩餘數(R 饋入(52 ) Q ("及Nb做為輸入 數,藉以取得一第二整數商值H2n做為一_模 (2) ) ; ^ )及一第二剩餘數(R 饋入(53 ) At及一總和R ( i 〜 元、及Nt做為一MMD模數, +Bb做為輸入運算 (3) )及-第三剩餘數(^稭;乂取得-第三整數商值(Q 饋入(54 ) Ab及“做為輸 ’— 八運异疋、及Nt做為一 〇])模200403584 六、申請專利範圍 數,藉以取得一第四整數商值(Q (4))及一第四剩餘數(R (4)); 饋入(55 ) —總和Q (3) +Q (4)及Nb做為輸入運算元、及2n 做為一MMD模數,藉以取得一第五整數商值(Q(5))及一第 五剩餘數(R (5)); 饋入(56 ) At及R (2)做為輸入運算元、及2n做為一MMD模 數,藉以取得一第六整數商值(Q(6))及一第六剩餘數(R (6) );以及 饋入(57 ) Ab,Bb做為輸入運算元、及2n做為一MMD模數, 藉以取得一第七整數商值(Q(7))及一第七剩餘數(R (7) );以及 其中,該組合裝置係架構以形成一第一總和R (3) + R (4) — Q (5) — Q (6) +Q (7),及形成一第二總和R (7) — R (6) +R (5)、 並組合該等第一及第二總和。 5. 如申請專利範圍第4項所述之裝置,其中, 該MMD裝置(12 )係架構以平行執行該饋入步驟之一第 一、一第四、及一第七步驟。 6. 如申請專利範圍第1項所述之裝置,其中, 該控制裝置係架構以根據下列預定步驟順序,饋入該MMD 裝置,藉以利用相等之第一及第二運算元,執行該模數乘 法之一計算: 饋入(71 ) At及2n做為輸入運算元、及Nt做為一MMD模數, 藉以取得一第一整數商值(Q(1))及一第一剩餘數(R第28頁 200403584 乂(72)Q("&Nb做為輪入運 及2 ,精以取楫一筮-敕奴 又马—MMD模 );'第-整數商值⑶⑴)及一第二剩餘數(r 六、申請專利範圍 饋入(72 數 (2 ) 二?及一總和卜-Q(2) +2 *Ab做為輪入'軍〜 兀、及Nt做為一Μ〇模數,運鼻 入y 4 ) Q⑴及Nb做為輸入運算元、 數,藉以取得一第四整數商值(Q (4〕) ⑷); 饋入(75 ) Αΐ及R(2)做為輸入運算元、 數,藉以取得一第五整數商值(Q(5)) (5));以及 ⑴)及-第三剩餘數(R(3)、."第-正數商值(Q 及2n做為一 Μ M D模 及一第四剩餘數(R 及2η做為一龍])模 及一第五剩餘數(R 饋入(76) Ab做為輸入運算元 取得一第六整數商值(Q(6)) 以及 、及做為一 Μ M D模數,藉以 及一第六剩餘數(R (6)); 第三總和R (3) — Q (4) — Q ~ R (4),藉以經由該等 其中’該組合裝置係架構以形成一 (5 ) + Q (6 )及一第二總和 R (6 ) 一 R (5 ) 第一及第二總和得到一結果。 7 ·如申請專利範圍第1項所述之裝置,其中, 該MMD裝置(12)更包括一啟動MMD操、 構以經由二加數之—總和而計算相對一=一整數係商架值 及-剩餘值,其中,該第-加數等於u人運算元及 -第二輸入運算元之一乘積’且該第二加數等於一第三輸 入運算元及一整數2n之一乘積;以及第29頁 200403584六、申請專利範圍 驟中,控制 順序,饋入 該控制裝置係架構以在該預定步驟順序之〜步 該啟動MMD操作(3〇b )。 8 ·如申請專利範圍第7項所述之裝置,其中, 該控制裝置(1 4 )係架構以根據下列預定步顿 該MMD裝置(1 2 ): 饋入(61 ) At及Bt做為輸入運算元、及Nt做為 數,藉以取得一第一整數商值(QU))及一第' 一 Μ M D 模 一剩餘數饋入(62 ) Nb、一 Q(i)、&R("做為輸入運算元、及心做 為一MMD模數至該啟動MMI)操作(30b ),藉以取彳曰一 整數商值(Q(2))及一第二剩餘數;于 一 饋入(63 ) At及Bt做為輸入運算元、及“做 J),藉以取得一第三整數商值(Q(3))及一第三剩= ), (R 饋入(64 ) Ab及Bt做為輸入運算元、及Nt做為一mmd模 數’藉以取得一第四整數商值(Q(4))及_ ^ (4) ) · 双冏值I y j及第四剩餘數(R 入運算元、及2n做為一MMD模數 (Q (5 ))及一第五剩餘數(R 饋入(65 ) Ab及Bb做為輪 藉以取得一第五整數商值 (5));以及 饋入(66 ) —總和Q (2) +q (3) +Q (4)及㈣做為輸入運算 疋、及2n做為一MMD模數,藉以取得一第六整數商值 (6 ))及一第六剩餘數(R (6 ));以及 其中,該組合裝置係架構以形成一第一總和R ^〕+ R u ) + r第30頁 200403584 六、申請專利範圍 (5) — R⑴及一第二總和R (5) —R (6),藉以得到該結果。 9 ·如申請專利範圍第7項所述之裝置,其中, 該第一運算元等於該第二運算元,藉以計算—模數面積八2 mod η ; 該控制裝置(1 4 )係架構以根據下列預定步驟順序,饋入 該MMD裝置(12 ): 饋入(61 ) At及Bt做為輸入運算元、及Nt做為一M〇模 數’藉以.取得一第一整數商值(qu))及—第一剩餘數 (1 )); 、 饋入(62 ) Nb、 、 ^ 為一MMD模數至該啟動MMD操作(3〇b ),藉以 整數商值(Q (")及一第二剩餘數(R (2));于 一 2 , ?3 ) A!及Bb做為輸入運算元、及Nt做為-MMD模 (3) λ . m ^ )久名三剩餘數(R 及Nt做為一Μ〇模 )及一第四剩餘數 (R 饋入(64 ) Ab及Bt做為輸入運算元、 數,藉以取得一第四整數商值(q(4) (4 ) \ · ?入(65) Ab及Bb做為輸入運算元、 糟以取得一第五整數商值(Q(5)) 為一腿D杈數 (5));以及 ; 第五剩餘數(R 饋入(66 ) —總和Q (2) +q (3) 做為一MMD模數,藉以取得_ 六剩餘數(R (6));以及 及Nb做為輸入運算元、及y 第六整數商值(Q二 及一200403584 六、申請專利範圍 其中,該組合裝置(1 6 )係架構以形成一第一總和R (2) + R (3) +R (4) +Q (5) — Q (6)及一第二總和R (5) — R (6),藉以得 到該模數面積之結果。 1 0.如申請專利範圍第1項所述之裝置,其中, 該控制裝置係架構以選擇該預定步驟順序,藉以在複數步 驟後,僅會留下小於一位元長度2η之整數。 11.如申請專利範圍第1項所述之裝置,其中, 該控制裝置(1 4 )係架構以利用下列步驟導出之一預定步 驟順序:相乘出一第一項目及一第二項目之一乘積(9 0a),其 中,該第一項目包括該第一運算元之一第一子運算元 (At)及一第二子運算元(Ab),且該第二項目包括該第 二運算元之一第一子運算元(Bt)及一第二子運算元 (Bb ),藉以得到部分乘積;以及 利用MMD操作,逐步處理該等部分乘積,藉以僅會得到小 於一^立元長度η之整數及一因子2n之乘積、或小於一位元長 度2n之整數。 1 2.如申請專利範圍第1項所述之裝置,其中,該控制裝置係架構以利用該第一子模數(Nt )或一整數2X 做為MMD模數,而饋入該MMD裝置(12 ),其中,X等於該 第二位元長度。 1 3.如申請專利範圍第1項所述之裝置,其中, 該組合裝置係架構以: 經由該預定步驟順序之預定步驟,計算剩餘值之一第一總第32頁 200403584 六、申請專利範圍 和; 經由該預定步驟順序之預定夕驟’計异剩餘值及整數商值 之一第二總和; 將該第一總和寫入一結果記憶體(1 2 0 )之低階位元 (12 0a);以及 將該第二總和寫入該結果記憶體(1 2 0 )之高階位元 (120b )。 1 4.如申請專利範圍第1 3項所述之裝置’其中’ 該組合裝置係架構以: 確認(11 6 )該第一總和是否提供一進位;以及 在該第一總和確實提供一進位之情形中’利用一加法器 (112 )之一進位輸入(122 )之一進位’’ Γ’,計算該第二 總和。 15. —種方法,用以計算一第一運算元(Α)及一第二運算 元(Β)之一模數乘法相對一模數(Ν)之一結果,該第一 運算元、該第二運算元 '及該模數係具有一第一位元長度 (2 η ),該方法係包括: 經由該第一運算元(Α)提供(1〇) 一第一子運算元 (At)及一第二子運算元(Ab)、經由該第二運算元 (B)提供(10) —第一子運算元(Bt)及一第二子運算 元(6^)一、,經由該模數(N)提供一第一子模數(Nt ) 及一子核數(Nb ),其分別具有小於該第一位元長度 之一苐二位元長度(η); 執行(1 2 ) —MMD操作,复中 μμπ y〆 法 井T,一MMD刼作係定義以,經由第33頁 200403584第34頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002119158 DE10219158B4 (de) | 2002-04-29 | 2002-04-29 | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200403584A true TW200403584A (en) | 2004-03-01 |
Family
ID=29264903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW92109931A TW200403584A (en) | 2002-04-29 | 2003-04-28 | Apparatus and method for calculating a result of a modular multiplication |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1499954B1 (zh) |
CN (1) | CN1650254B (zh) |
AU (1) | AU2003233192A1 (zh) |
DE (2) | DE10219158B4 (zh) |
TW (1) | TW200403584A (zh) |
WO (1) | WO2003093969A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385112A (zh) * | 2020-10-21 | 2022-04-22 | 熵码科技股份有限公司 | 处理模数乘法的装置及方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10219161A1 (de) | 2002-04-29 | 2003-11-20 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Umrechnen eines Terms |
FR2859030B1 (fr) * | 2003-08-21 | 2005-11-04 | Gemplus Card Int | Procede de realisation d'une multiplication modulaire et procede de realisation d'une multiplication euclidienne sur des nombres de 2n bits |
DE102004016412A1 (de) * | 2004-03-30 | 2005-10-27 | Cv Cryptovision Gmbh | Vorrichtung und Verfahren zur effizienten und sicheren modularen Multiplikation zweier Langzahlen |
KR100652376B1 (ko) * | 2004-07-29 | 2006-12-01 | 삼성전자주식회사 | 분리 연산 가능한 구조를 가지는 모듈러 곱셈기와 이를포함하는 암호화 시스템 |
DE102006025673B9 (de) | 2005-10-28 | 2010-12-16 | Infineon Technologies Ag | Rechenwerk zum Reduzieren einer Eingabe-Zahl bezüglich eines Moduls |
DE102006025677B4 (de) | 2005-10-28 | 2020-03-12 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer Summe mit einem Rechenwerk mit begrenzter Wortlänge |
DE102006025713B9 (de) * | 2005-10-28 | 2013-10-17 | Infineon Technologies Ag | Kryptographie-Vorrichtung und Kryptographie-Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation |
DE102006025569A1 (de) | 2005-10-28 | 2007-05-03 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Berechnen einer Multiplikations-Additions-Operation und zum Berechnen eines Ergebnisses einer modularen Multiplikation |
CN104104504B (zh) * | 2014-07-22 | 2017-05-10 | 大唐微电子技术有限公司 | 一种rsa解密的方法及装置 |
IL239880B (en) * | 2015-07-09 | 2018-08-30 | Kaluzhny Uri | Simplified montgomery multiplication |
IL244842A0 (en) * | 2016-03-30 | 2016-07-31 | Winbond Electronics Corp | Efficient non-modular multiplexing is protected against side-channel attacks |
WO2018108705A1 (en) * | 2016-12-12 | 2018-06-21 | Koninklijke Philips N.V. | An electronic calculating device arranged to calculate the product of integers |
TWI784406B (zh) * | 2020-06-04 | 2022-11-21 | 熵碼科技股份有限公司 | 採用迭代計算的模數運算電路 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3631992A1 (de) * | 1986-03-05 | 1987-11-05 | Holger Sedlak | Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens |
CA2008774C (en) * | 1989-01-30 | 1999-10-05 | Hikaru Morita | Modular multiplication method and the system for processing data |
US6366940B1 (en) * | 1998-03-02 | 2002-04-02 | Matsushita Electric Industrial Co., Ltd. | High-speed modular multiplication apparatus achieved in small circuit |
SE517045C2 (sv) * | 2000-10-17 | 2002-04-09 | Novacatus Invest Ab | Metod och anordning vid modulomultiplikation samt användning av metoden vid asymmetrisk kryptering/dekryptering |
-
2002
- 2002-04-29 DE DE2002119158 patent/DE10219158B4/de not_active Expired - Fee Related
-
2003
- 2003-04-28 AU AU2003233192A patent/AU2003233192A1/en not_active Abandoned
- 2003-04-28 TW TW92109931A patent/TW200403584A/zh unknown
- 2003-04-28 CN CN03809672.2A patent/CN1650254B/zh not_active Expired - Fee Related
- 2003-04-28 EP EP03727389A patent/EP1499954B1/de not_active Expired - Lifetime
- 2003-04-28 WO PCT/EP2003/004426 patent/WO2003093969A2/de active IP Right Grant
- 2003-04-28 DE DE50306309T patent/DE50306309D1/de not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385112A (zh) * | 2020-10-21 | 2022-04-22 | 熵码科技股份有限公司 | 处理模数乘法的装置及方法 |
TWI786841B (zh) * | 2020-10-21 | 2022-12-11 | 熵碼科技股份有限公司 | 處理模數乘法的裝置及方法 |
Also Published As
Publication number | Publication date |
---|---|
DE50306309D1 (de) | 2007-03-08 |
AU2003233192A8 (en) | 2003-11-17 |
EP1499954A2 (de) | 2005-01-26 |
DE10219158B4 (de) | 2004-12-09 |
DE10219158A1 (de) | 2003-11-20 |
CN1650254B (zh) | 2011-01-26 |
EP1499954B1 (de) | 2007-01-17 |
WO2003093969A3 (de) | 2004-10-14 |
AU2003233192A1 (en) | 2003-11-17 |
CN1650254A (zh) | 2005-08-03 |
WO2003093969A2 (de) | 2003-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Koziel et al. | SIKE’d up: Fast hardware architectures for supersingular isogeny key encapsulation | |
Doröz et al. | Accelerating fully homomorphic encryption in hardware | |
WO2020253234A1 (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
JP4559505B2 (ja) | ランダム系列の反復周期の拡張 | |
TW200403584A (en) | Apparatus and method for calculating a result of a modular multiplication | |
JP7031682B2 (ja) | 秘密計算装置、システム、方法、プログラム | |
CN118525320A (zh) | 用于全同态加密(fhe)应用的密码处理器 | |
Rahman et al. | MAKE: A matrix action key exchange | |
Perin et al. | Montgomery modular multiplication on reconfigurable hardware: Systolic versus multiplexed implementation | |
Gebali et al. | Efficient Scalable Serial Multiplier Over GF ($\textbf {2}^{\boldsymbol {m}} $) Based on Trinomial | |
Großschädl | A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2m) | |
Jalali et al. | ARMv8 SIKE: Optimized supersingular isogeny key encapsulation on ARMv8 processors | |
CN112491543A (zh) | 基于改进的蒙哥马利模幂电路的ic卡解密方法 | |
WO2022201791A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
Elango et al. | Hardware implementation of residue multipliers based signed RNS processor for cryptosystems | |
TW448376B (en) | Circuit and method cryptographic multiplication for computing the RSA and ECC algorithms | |
CN111740821B (zh) | 建立共享密钥的方法及装置 | |
Foster et al. | Flexible HLS-based implementation of the Karatsuba multiplier targeting homomorphic encryption schemes | |
JP6337133B2 (ja) | 非減少列判定装置、非減少列判定方法及びプログラム | |
JP7261502B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
Arazi et al. | On calculating multiplicative inverses modulo $2^{m} $ | |
JP2023064757A (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2004166274A (ja) | 有限体での基底変換方法及び基底変換装置 | |
JP7597400B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
Hlukhov et al. | Galois fields elements processing units for cryptographic data protection in cyber-physical systems |