專利名稱:用于實施特征2乘法的方法和處理器設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于實施至少兩個輸入位串的特征2乘法(Charakteristik-2-Multi plikation)的方法和處理器設(shè)備。
背景技術(shù):
在大量的加密方法中,在此尤其是在公鑰方法中,例如在基于橢圓曲線的加密方 法的近硬件(hardwarenah)實施中,使用特征2乘法。在這樣的特征2算法中使用的數(shù)可 以在處理器設(shè)備、處理器或計算機上被有效地表示成位串。這樣的位串可以通過寄存器來 暫存。以這種方式表示的兩個數(shù)的加法對應(yīng)于所代表的位串的按位的異或運算。兩個位串 或操作數(shù)以特征2算法進行的乘法在數(shù)學(xué)上對應(yīng)于來自GF (2)[X]的兩個多項式的積。在 此,用于代表數(shù)的位串對應(yīng)于相應(yīng)多項式的系數(shù)的0/1序列。特征2乘法的數(shù)學(xué)基礎(chǔ)在于,將兩個數(shù)的積歸為部分積的預(yù)定集合,所述部分積 然后被相加到一起以獲得結(jié)果。作為示例,下面針對數(shù)1011和1101的乘法來說明部分積 以及和
權(quán)利要求
1.一種用于借助于適于執(zhí)行整數(shù)乘法的處理器設(shè)備來實施至少兩個分別具有數(shù)目N 個位的輸入位串(EB1,EB2)的特征2乘法的方法,具有下列步驟a)借助于在相應(yīng)輸入位串(EB1,EB2)中的至少一個預(yù)定位置處對相應(yīng)輸入 位串(EB1,EB2)進行第一變換來生成至少一個具有數(shù)目K個O位的序列(F),以 針對相應(yīng)的輸入位串(EB1,EB2)生成至少一個第一中間位串(Zll — Z14),其中K € {1,...,N};b)通過該處理器設(shè)備的整數(shù)乘法對至少兩個第一中間位串(Zll- Z14)進行運算,以 生成至少一個第二中間位串(Z21 - Z24);以及c)借助于第二變換對至少一個第二中間位串(Z21- Z24)進行變換,以形成結(jié)果位串(E)。
2.根據(jù)權(quán)利要求1所述的方法, 其特征在于,根據(jù)輸入位串(EB1,EB2)的位的數(shù)目N來確定序列(F)的O位的數(shù)目K。
3.根據(jù)權(quán)利要求2所述的方法, 其特征在于,步驟a)通過如下方式構(gòu)造用至少兩個不同的掩碼(Mil,Ml2)通過使相應(yīng)的輸入位串(EBl,EB2)與相應(yīng)掩碼進行 相應(yīng)的按位與運算來對相應(yīng)的輸入位串(EB1,EB2)進行掩碼運算,以針對相應(yīng)的輸入位串 (EB1,EB2)生成至少兩個第一中間位串(Zll,Z14)。
4.根據(jù)權(quán)利要求3所述的方法, 其特征在于,具有數(shù)目K個O位的相應(yīng)序列(F)分別形成相應(yīng)的具有數(shù)目N個位的預(yù)定掩碼(M11, M12)中的掩碼窗,其中K滿足如下條件
5.根據(jù)權(quán)利要求3或4所述的方法, 其特征在于,預(yù)定的不同掩碼(M11,M12)的數(shù)目M為Κ+1 (Μ = K+1)。
6.根據(jù)權(quán)利要求5所述的方法, 其特征在于,相應(yīng)的第m個掩碼(Mil,M12)由周期模式的至少一部分形成,所述周期模式由相應(yīng)的 1位和后面跟隨的K個O位的相應(yīng)序列(F)構(gòu)成,其中m e {1,…,M}。
7.根據(jù)權(quán)利要求6所述的方法, 其特征在于,相應(yīng)的第(m+1)個掩碼(Mil,M12)通過將相應(yīng)的第m個掩碼(Mil,M12)移位一個位而 形成。
8.根據(jù)權(quán)利要求3至7之一所述的方法,其特征在于,步驟C)通過如下方式構(gòu)造一用所述至少兩個具有相應(yīng)增大的長度的不同掩碼(Z21 - Z24)通過按位與運算分別 對至少四個第二中間位串(Z21 — Z24)進行掩碼運算,以生成至少四個第三中間位串;以及一對所述至少四個第三中間位串進行異或運算,以生成結(jié)果位串(E)。
9.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟a)通過如下方式構(gòu)造一通過在對應(yīng)輸入位串(EB1,EB2)的所有相鄰的N位之間添加具有K個O位的序列 (F)來擴展相應(yīng)的輸入位串(EB1,EB2),以針對每個輸入位串(EB1,EB2)生成相應(yīng)的第一中 間位串(Zll - Z14)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,具有數(shù)目K個0位的相應(yīng)序列(F)形成相應(yīng)的第一中間位串(Zll — Z14)中的窗,其中 K滿足如下條件
11.根據(jù)權(quán)利要求9或10所述的方法,其特征在于,步驟b)通過如下方式構(gòu)造一通過所述處理器設(shè)備的整數(shù)乘法對兩個第一中間位串(Zll,Z12)進行運算,以生成 單個的第二中間位串(Z2)。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟c)通過如下方式構(gòu)造一在第二中間位串(Z2)的具有最低值的位處以位置0 (Pl)開始的預(yù)定位置i*(K+l) 處,提取所生成的第二中間位串(Z2)的位,其中i G {0, . . ”2N- 2}。
13.一種計算機程序產(chǎn)品,其在程序控制的設(shè)備上促使根據(jù)權(quán)利要求1至12的方法的 執(zhí)行。
14.一種用于實施至少兩個分別具有數(shù)目N個位的輸入位串(EB1,EB2)的特征2乘法 的處理器設(shè)備(10),具有一生成設(shè)備(11),其適于借助于在相應(yīng)的輸入位串(EB1,EB2)中的至少一個預(yù)定位置 處對相應(yīng)的輸入位串(EB1,EB2)進行第一變換來生成具有數(shù)目K個0位的序列(F),以生成 至少一個第一中間位串(Zll — Z14),其中K G {1, . . . ,N};一邏輯運算設(shè)備(12),其適于通過整數(shù)乘法對至少兩個第一中間位串(Zll - Z14)進 行運算,以生成至少一個第二中間位串(Z21 - Z22);以及一變換設(shè)備(13),其適于借助于至少一個第二變換對至少一個第二中間位串(Z21 -Z24)進行變換,以形成結(jié)果位串(E)。
全文摘要
一種用于借助于適于執(zhí)行整數(shù)乘法的處理器設(shè)備來實施至少兩個分別具有數(shù)目N個位的輸入位串的特征2乘法的方法具有下列步驟a)借助于在相應(yīng)輸入位串中的至少一個預(yù)定位置處對相應(yīng)輸入位串進行第一變換生成至少一個具有數(shù)目K個0位的序列,以生成至少一個第一中間位串,其中;b)通過該處理器設(shè)備的整數(shù)乘法對至少兩個第一中間位串進行運算,以生成至少一個第二中間位串;以及c)借助于第二變換對所述至少一個第二中間位串進行變換,以形成結(jié)果位串。
文檔編號G06F7/72GK102105860SQ200980128600
公開日2011年6月22日 申請日期2009年5月22日 優(yōu)先權(quán)日2008年7月21日
發(fā)明者B·邁爾, J·喬吉亞德斯 申請人:西門子公司