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 PDF

Info

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
Application number
TW92109931A
Other languages
English (en)
Inventor
Wieland Fischer
Holger Sedlak
Jean-Pierre Seifert
Original Assignee
Infineon Technologies Ag
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 Infineon Technologies Ag filed Critical Infineon Technologies Ag
Publication of TW200403584A publication Critical patent/TW200403584A/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/722Modular 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)

  1. 200403584
    1 · 一種裝置,用以計算一筮一―一 元⑴之-模數乘法相對第一一/數鼻:⑷及-第二運算 運算元、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頁
TW92109931A 2002-04-29 2003-04-28 Apparatus and method for calculating a result of a modular multiplication TW200403584A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI786841B (zh) * 2020-10-21 2022-12-11 熵碼科技股份有限公司 處理模數乘法的裝置及方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 분리 연산 가능한 구조를 가지는 모듈러 곱셈기와 이를포함하는 암호화 시스템
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
DE102006025673B9 (de) 2005-10-28 2010-12-16 Infineon Technologies Ag Rechenwerk zum Reduzieren einer Eingabe-Zahl bezüglich eines Moduls
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
DE102006025713B9 (de) * 2005-10-28 2013-10-17 Infineon Technologies Ag Kryptographie-Vorrichtung und Kryptographie-Verfahren 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
CN110088727A (zh) * 2016-12-12 2019-08-02 皇家飞利浦有限公司 被布置为计算整数的乘积的电子计算设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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
US5073870A (en) * 1989-01-30 1991-12-17 Nippon Telegraph And Telephone Corporation 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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI786841B (zh) * 2020-10-21 2022-12-11 熵碼科技股份有限公司 處理模數乘法的裝置及方法

Also Published As

Publication number Publication date
EP1499954B1 (de) 2007-01-17
DE10219158A1 (de) 2003-11-20
CN1650254B (zh) 2011-01-26
AU2003233192A1 (en) 2003-11-17
WO2003093969A3 (de) 2004-10-14
WO2003093969A2 (de) 2003-11-13
AU2003233192A8 (en) 2003-11-17
DE10219158B4 (de) 2004-12-09
EP1499954A2 (de) 2005-01-26
DE50306309D1 (de) 2007-03-08
CN1650254A (zh) 2005-08-03

Similar Documents

Publication Publication Date Title
Koziel et al. SIKE’d up: Fast hardware architectures for supersingular isogeny key encapsulation
WO2020253234A1 (zh) 实现隐私保护的数据同态加解密方法及装置
Doröz et al. Accelerating fully homomorphic encryption in hardware
US5956265A (en) Boolean digital multiplier
JP4559505B2 (ja) ランダム系列の反復周期の拡張
CN100527072C (zh) 用于执行蒙哥马利型模乘法的装置及方法
TW200403584A (en) Apparatus and method for calculating a result of a modular multiplication
Tian et al. High-speed FPGA implementation of SIKE based on an ultra-low-latency modular multiplier
Fang et al. Secure function evaluation using an fpga overlay architecture
JPWO2019087317A1 (ja) 秘密計算装置、システム、方法、プログラム
Gebali et al. Efficient Scalable Serial Multiplier Over GF ($\textbf {2}^{\boldsymbol {m}} $) Based on Trinomial
Xie et al. Efficient implementation of finite field arithmetic for binary ring-LWE post-quantum cryptography through a novel lookup-table-like method
Rahman et al. MAKE: A matrix action key exchange
Xie et al. Efficient Hardware Implementation of Finite Field Arithmetic $ AB+ C $ A B+ C for Binary Ring-LWE Based Post-Quantum Cryptography
Perin et al. Montgomery modular multiplication on reconfigurable hardware: Systolic versus multiplexed implementation
Großschädl A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2 m)
Jalali et al. ARMv8 SIKE: Optimized supersingular isogeny key encapsulation on ARMv8 processors
CN112491543B (zh) 基于改进的蒙哥马利模幂电路的ic卡解密方法
TW448376B (en) Circuit and method cryptographic multiplication for computing the RSA and ECC algorithms
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP2001051832A (ja) 乗算剰余演算方法および乗算剰余回路
Foster et al. Flexible HLS-based implementation of the Karatsuba multiplier targeting homomorphic encryption schemes
JP2023064757A (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
Hu et al. An application specific instruction set processor (ASIP) for the Niederreiter cryptosystem
Arazi et al. On calculating multiplicative inverses modulo $2^{m} $