電子簽名系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及包括電子簽名生成設(shè)備和電子簽名驗(yàn)證設(shè)備的簽名系統(tǒng)。
【背景技術(shù)】
[0002] 數(shù)字簽名是用于展示數(shù)字?jǐn)?shù)據(jù)(例如消息或文檔)的真實(shí)性的數(shù)學(xué)方案。有效的數(shù) 字簽名應(yīng)當(dāng)使接收者信任數(shù)據(jù)是由已知的發(fā)送者創(chuàng)建的(認(rèn)證),使得發(fā)送者不能否認(rèn)已經(jīng) 發(fā)送了消息(不可抵賴)以及消息在傳輸中未被改變(完整性)。數(shù)字簽名用于軟件分發(fā)、財(cái) 務(wù)交易和檢測(cè)偽造或篡改是重要的其他情形。
[0003] 數(shù)字簽名是一種非對(duì)稱(chēng)加密。經(jīng)數(shù)字簽名的消息可以表示為比特串:示例包括電 子郵件、合同或經(jīng)由一些其他加密協(xié)議發(fā)送的消息。
[0004] 已知的數(shù)字簽名系統(tǒng)包括在1977年由RonaldRivest、AdiShamir和Len Adleman引入的RSA系統(tǒng)。系統(tǒng)需要模冪運(yùn)算。因此,需要使用大數(shù)(一般1024比特或甚至 更大的數(shù))來(lái)進(jìn)行計(jì)算。
[0005] 此外,已經(jīng)使用多項(xiàng)式來(lái)定義簽名系統(tǒng),例如橢圓曲線數(shù)字簽名算法(ECDSA),其 是使用橢圓曲線加密的數(shù)字簽名算法(DSA)的變體。ECDSA需要人們計(jì)算橢圓曲線上的多 個(gè)有理點(diǎn)。這種計(jì)算是復(fù)雜的。
[0006] 需要更容易實(shí)現(xiàn)的并在存儲(chǔ)或在計(jì)算上需要較少資源的簽名方案。
【發(fā)明內(nèi)容】
[0007] 具有改進(jìn)的電子簽名系統(tǒng)將是有益的。提供了 一種包括電子簽名生成設(shè)備和電子 簽名驗(yàn)證設(shè)備的簽名系統(tǒng)。系統(tǒng)的實(shí)施例包括電子密鑰生成設(shè)備。
[0008] 所述電子密鑰生成設(shè)備被配置為生成用于對(duì)數(shù)字?jǐn)?shù)據(jù)進(jìn)行數(shù)字簽名的數(shù)字簽名 密鑰和用于對(duì)所述數(shù)字簽名數(shù)據(jù)進(jìn)行數(shù)據(jù)驗(yàn)證的對(duì)應(yīng)驗(yàn)證密鑰。密鑰生成設(shè)備包括密鑰材 料獲取器、公鑰生成器和密鑰管理器。
[0009] 所述密鑰材料獲取器獲得需要用于推導(dǎo)公鑰并對(duì)數(shù)據(jù)進(jìn)行簽名的密鑰材料。所述 密鑰材料獲取器被配置為:以電子形式獲得雙變量多項(xiàng)式的第一私有集合和歸約整數(shù)的第 二私有集合,對(duì)于第一集合中的每一個(gè)雙變量多項(xiàng)式,存在與之相關(guān)聯(lián)的第二集合的歸約 整數(shù)。
[0010] 所述公鑰生成器根據(jù)所獲得的密鑰材料來(lái)推導(dǎo)允許一方驗(yàn)證簽名而不是創(chuàng)建簽 名的信息。公鑰生成器被配置為:獲得承諾整數(shù)的第三公有集合,并針對(duì)第三公有集合中的 每一個(gè)特定整數(shù)計(jì)算對(duì)應(yīng)的單變量公有多項(xiàng)式。通過(guò)以下方式根據(jù)特定整數(shù)以及第一私有 集合和第二私有集合來(lái)計(jì)算單變量公有多項(xiàng)式:通過(guò)對(duì)于第一私有集合的每一個(gè)特定多項(xiàng) 式將所述特定整數(shù)代入所述特定多項(xiàng)式并以與所述特定多項(xiàng)式相關(guān)聯(lián)的歸約整數(shù)取模來(lái) 歸約,獲得單變量多項(xiàng)式的另一集合;以及對(duì)所述單變量多項(xiàng)式的另一集合的單變量多項(xiàng) 式求和。
[0011] 最后,密鑰管理器使能簽名和驗(yàn)證多方。它被配置為使雙變量多項(xiàng)式的第一私有 集合和歸約整數(shù)的第二私有集合可用于電子簽名生成設(shè)備,以用作用于對(duì)數(shù)字?jǐn)?shù)據(jù)進(jìn)行數(shù) 字簽名的簽名密鑰,并使由公鑰生成器根據(jù)承諾整數(shù)的第三公有集合計(jì)算的公有多項(xiàng)式中 的至少一個(gè)的至少部分可用于電子簽名驗(yàn)證設(shè)備,以用作用于對(duì)由簽名生成設(shè)備簽名的數(shù) 字?jǐn)?shù)據(jù)進(jìn)行數(shù)字驗(yàn)證的驗(yàn)證密鑰。
[0012] 對(duì)已經(jīng)在不同環(huán)上部分地評(píng)估的多項(xiàng)式進(jìn)行求和是非線性運(yùn)算。在求和進(jìn)行之 后,難以恢復(fù)原始材料。然而,能夠驗(yàn)證在多項(xiàng)式上保持的關(guān)系,如下文所述。具體地,能夠 訪問(wèn)承諾整數(shù)和對(duì)應(yīng)的雙變量多項(xiàng)式的情況下,一方可以驗(yàn)證由簽名者產(chǎn)生的簽名多項(xiàng)式 是否與相同的私鑰材料相關(guān)聯(lián)。
[0013] 簽名系統(tǒng)僅需要基本的多項(xiàng)式評(píng)估,而不是例如由多項(xiàng)式定義的曲線上的點(diǎn)的乘 法。該系統(tǒng)是基于該新的難題的高效簽名系統(tǒng)。
[0014] 在一個(gè)實(shí)施例中,電子密鑰生成設(shè)備被配置為:還獲得比第二私有集合中的歸約 整數(shù)中的每一個(gè)都大的公有全局歸約整數(shù),所述密鑰管理器被配置為:使所述公有全局歸 約整數(shù)可用于所述簽名驗(yàn)證設(shè)備。優(yōu)選地,所述密鑰管理設(shè)備被配置為:使所述公有全局歸 約整數(shù)可用于所述電子簽名生成設(shè)備,并且所述公鑰生成器被配置為:以所述公有全局歸 約整數(shù)取模來(lái)對(duì)單變量多項(xiàng)式的另一集合求和的結(jié)果進(jìn)行歸約。這歸約簽名的大小。
[0015] 在一個(gè)實(shí)施例中,公鑰生成器被配置為:以所述公有全局歸約整數(shù)取模來(lái)對(duì)單變 量多項(xiàng)式的另一集合求和的結(jié)果進(jìn)行歸約。該步驟歸約系數(shù)的大小。該步驟還移除與求和 的絕對(duì)大小有關(guān)的信息。
[0016] 在多項(xiàng)式的求和之后,存在要進(jìn)行的不同選項(xiàng)。例如,可能在將求和的結(jié)果變?yōu)橐?guī) 范形式(例如按照次數(shù)排序的系數(shù)的數(shù)組)之后,人們可以直接繼續(xù)求和的結(jié)果。例如,人們 可以以數(shù)(例如公有全局歸約整數(shù))取模來(lái)對(duì)求和的結(jié)果進(jìn)行歸約。人們還可以忽略(例如 移除)多項(xiàng)式的部分。在后一種情況下,可以首先以公有全局歸約整數(shù)取模來(lái)歸約,之后移 除系數(shù)的部分。這些選項(xiàng)越來(lái)越多地歸約驗(yàn)證密鑰的大小。例如,在一個(gè)實(shí)施例中,忽略多 項(xiàng)式的系數(shù)的最高有效位和最低有效位之間的比特(如果比特串既不包括最高有效位也不 包括最低有效位,則我們將比特串指代為中間比特)。在一個(gè)實(shí)施例中,所述所移除的部分 的大小隨著與系數(shù)相對(duì)應(yīng)的單項(xiàng)式的次數(shù)減小。例如,人們可以保持系數(shù)的b個(gè)最低有效 位和ib個(gè)最高有效位,其中i表示與系數(shù)相對(duì)應(yīng)的單項(xiàng)式的次數(shù)。
[0017] 在一個(gè)實(shí)施例中,單變量多項(xiàng)式求和忽略單變量多項(xiàng)式的另一集合的系數(shù)的預(yù)定 部分。優(yōu)選地,以所述公有全局歸約整數(shù)取模來(lái)對(duì)求和進(jìn)行歸約,并然后移除系數(shù)的預(yù)定部 分。
[0018] 實(shí)際上,在一個(gè)實(shí)施例中,密鑰生成設(shè)備被配置為:在使公有多項(xiàng)式中的至少一個(gè) 的至少部分可用于電子簽名驗(yàn)證設(shè)備之前,通過(guò)移除至少一個(gè)系數(shù)的比特的至少部分,歸 約公有多項(xiàng)式中的至少一個(gè)的比特大小。例如,選擇公有多項(xiàng)式中的特定一個(gè)的特定系數(shù); 針對(duì)該系數(shù),通過(guò)移除(例如忽略)它的部分來(lái)獲得較小比特大小。該部分優(yōu)選地是中間部 分,如以下實(shí)施例中進(jìn)一步解釋。通過(guò)從多于一個(gè)系數(shù)中和/或針對(duì)多于一個(gè)多項(xiàng)式移除 比特,獲得較大的大小歸約。在一個(gè)實(shí)施例中,所述所移除的部分的大小隨著與系數(shù)相對(duì)應(yīng) 的單項(xiàng)式的次數(shù)減小??梢酝ㄟ^(guò)密鑰生成設(shè)備(例如公鑰生成器或密鑰管理器等)的合適部 分,完成對(duì)系數(shù)的部分的移除。在減小之后,系數(shù)保留其最低有效位的至少部分。
[0019] 密鑰管理器可以供應(yīng)其他信息連同密鑰信息(例如,簽名者使用的散列的數(shù)量(見(jiàn) 下文))。驗(yàn)證器可以使用該信息來(lái)驗(yàn)證他接收到正確數(shù)量的散列。
[0020] 在一個(gè)實(shí)施例中,雙變量多項(xiàng)式是雙變量單項(xiàng)式。
[0021] 電子簽名生成設(shè)備被配置為:使用從電子密鑰生成設(shè)備獲得的數(shù)字簽名密鑰,生 成針對(duì)數(shù)字?jǐn)?shù)據(jù)的數(shù)字簽名。簽名生成設(shè)備包括散列化設(shè)備和簽名生成器。
[0022] 散列化設(shè)備被配置為:通過(guò)將多個(gè)不同的散列函數(shù)應(yīng)用于數(shù)字?jǐn)?shù)據(jù),確定散列的 第四集合。散列鏈接到數(shù)字?jǐn)?shù)據(jù)。優(yōu)選地,使用加密散列,例如sha-2、sha_256等。可以以 各種方式獲得不同的散列函數(shù)。在一個(gè)實(shí)施例中,通過(guò)以下方式來(lái)根據(jù)一個(gè)散列函數(shù)(h)推 導(dǎo)不同的散列函數(shù):將數(shù)字?jǐn)?shù)據(jù)與標(biāo)識(shí)該散列函數(shù)的標(biāo)示符進(jìn)行組合,并使用該組合作為 到該散列函數(shù)(h)的輸入。標(biāo)示符可以是數(shù)字(例如序列號(hào))。還可以推導(dǎo)不同的散列函數(shù) 作為散列鏈。在該實(shí)施例中,通過(guò)將散列函數(shù)應(yīng)用到數(shù)字?jǐn)?shù)據(jù)來(lái)獲得第一散列。通過(guò)將之 前散列的結(jié)果散列進(jìn)行散列化,獲得下一散列。
[0023] 簽名生成器被配置為:針對(duì)第四集合中的每一個(gè)特定散列,計(jì)算單變量簽名多項(xiàng) 式。通過(guò)以下方式根據(jù)特定散列以及第一私有集合和第二私有集合來(lái)計(jì)算與特定散列相對(duì) 應(yīng)的單變量簽名多項(xiàng)式:通過(guò)對(duì)于第一私有集合的每一個(gè)特定多項(xiàng)式將所述特定散列代入 所述特定多項(xiàng)式并以與所述特定多項(xiàng)式相關(guān)聯(lián)的歸約整數(shù)取模來(lái)歸約并對(duì)所述單變量多 項(xiàng)式的另一集合進(jìn)行求和來(lái)獲得單變量多項(xiàng)式的另一集合,其中所述所生成的數(shù)字簽名包 括簽名多項(xiàng)式的第五集合,簽名多項(xiàng)式的第五集合包括由簽名密鑰生成器針對(duì)散列的第四 集合生成的每一個(gè)簽名多項(xiàng)式的至少部分。
[0024] 如同從承諾整數(shù)獲得的公有多項(xiàng)式一樣,在對(duì)簽名生成設(shè)備中的多項(xiàng)式求和之后 也存在要繼續(xù)進(jìn)行的不同選項(xiàng)。例如,可能在將求和的結(jié)果變?yōu)橐?guī)范形式(例如按照次數(shù)排 序的系數(shù)的數(shù)組)之后,人們可以直接繼續(xù)求和的結(jié)果。例如,人們可以以數(shù)(例如公有全局 歸約整數(shù))取模來(lái)對(duì)求和的結(jié)果進(jìn)行歸約。人們還可以忽略(例如移除)多項(xiàng)式的部分。在 后一種情況下,可以首先以公有全局歸約整數(shù)取模來(lái)歸約求和結(jié)果,之后移除系數(shù)的部分。 這些選項(xiàng)越來(lái)越多地歸約驗(yàn)證密鑰的大小。例如,在一個(gè)實(shí)施例中,忽略多項(xiàng)式的系數(shù)的中 間的部分。在一個(gè)實(shí)施例中,被忽略的多項(xiàng)式的系數(shù)的部分隨著多項(xiàng)式的次數(shù)減少而增加。
[0025] 在一個(gè)實(shí)施例中,單變量多項(xiàng)式求和忽略單變量多項(xiàng)式的另一集合的系數(shù)的預(yù)定 部分。優(yōu)選地,以所述公有全局歸約整數(shù)取模來(lái)對(duì)求和進(jìn)行歸約,然后移除系數(shù)的預(yù)定部 分。在一個(gè)實(shí)施例中,不使用移除步驟。
[0026] 實(shí)際上,在一個(gè)實(shí)施例中,電子簽名生成設(shè)備可以訪問(wèn)由電子密鑰生成設(shè)備所生 成的公有全局歸約整數(shù)。公鑰生成器被配置為:以所述公有全局歸約整數(shù)取模來(lái)對(duì)單變量 多項(xiàng)式的另一集合求和的結(jié)果進(jìn)行歸約。電子簽名生成設(shè)備被配置為:通過(guò)移除至少一個(gè) 系數(shù)的比特的至少部分,歸約簽名多項(xiàng)式中至少一個(gè)簽名多項(xiàng)式的比特大小。
[0027]例如,選擇簽名多項(xiàng)式中的特定一個(gè)的特定系數(shù);針對(duì)該系數(shù),通過(guò)移除(例如忽 略)它的部分來(lái)獲得更小的比特大小。該部分優(yōu)選地是中間有效部分,如以下實(shí)施例中進(jìn)一 步解釋。通過(guò)從多于一個(gè)系數(shù)中和/或針對(duì)多于一個(gè)多項(xiàng)式移除比特,獲得較大大小歸約。 在一個(gè)實(shí)施例中,所述所移除的部分的大小隨著與系數(shù)相對(duì)應(yīng)的單項(xiàng)式的次數(shù)減小。可以 通過(guò)密鑰生成設(shè)備(例如簽名生成器等)的合適部分,完成移除系數(shù)的部分。
[0028]生成單變量簽名多項(xiàng)式和/或單變量公有多項(xiàng)式可以包括其他步驟,例如在求和 之后的歸約步驟。在歸約步驟之后,可以跟隨又一步驟,例如系數(shù)的部分移除。在一個(gè)實(shí)施 例中,系數(shù)的部分移除包括多項(xiàng)式的系數(shù)中至少一個(gè)系數(shù)的一個(gè)或更多個(gè)中間有效位的部 分移除。例如,人們可以保持系數(shù)的b個(gè)最低有效位和ib個(gè)最高有效位,其中i表示與系 數(shù)相對(duì)應(yīng)的單項(xiàng)式的次數(shù)。
[0029] 電子簽名驗(yàn)證設(shè)備被配置為:驗(yàn)證由電子簽名生成設(shè)備生成的數(shù)字簽名。簽名驗(yàn) 證設(shè)備可以訪問(wèn)至少一個(gè)承諾整數(shù)和由電子密鑰生成設(shè)備生成的至少一個(gè)對(duì)應(yīng)單變量公 有多項(xiàng)式。數(shù)字簽名包括至少一個(gè)單變量簽名多項(xiàng)式。簽名驗(yàn)證設(shè)備包括散列化設(shè)備和簽 名驗(yàn)證器。
[0030] 散列化設(shè)備被配置為:通過(guò)將散列函數(shù)應(yīng)用于數(shù)字?jǐn)?shù)據(jù),確定與簽名多項(xiàng)式相對(duì) 應(yīng)的散列。如果在簽名之后尚未變更數(shù)字?jǐn)?shù)據(jù),則散列化設(shè)備應(yīng)當(dāng)獲得與簽名設(shè)備相同的 散列。
[0031] 簽名驗(yàn)證器被配置為通過(guò)以下方式來(lái)驗(yàn)證至少一個(gè)單變量簽名多項(xiàng)式和至少一 個(gè)單變量公有多項(xiàng)式之間的匹配:針對(duì)至少一個(gè)單變量簽名多項(xiàng)式的特定單變量簽名多項(xiàng) 式和至少一個(gè)單變量公有多項(xiàng)式的特定單變量公有多項(xiàng)式,將與特定簽名多項(xiàng)式相對(duì)應(yīng)的 散列代入特定公有多項(xiàng)式,因此獲得第一代入結(jié)果,將與特定公有多項(xiàng)式相對(duì)應(yīng)的承諾整 數(shù)代入特定簽名多項(xiàng)式,獲得第二代入結(jié)果,驗(yàn)證第一代入結(jié)果與第二代入結(jié)果相匹配,其 中簽名驗(yàn)證設(shè)備需要匹配來(lái)驗(yàn)證數(shù)字簽名。
[0032] 以這種方式,驗(yàn)證了簽名多項(xiàng)式和公有多項(xiàng)式源自與例如由密鑰材料獲取器所獲 得的密鑰材料相同的密鑰材料。
[0033] 如以上所指出,密鑰生成設(shè)備和簽名生成設(shè)備兩者均可以通過(guò)移除對(duì)驗(yàn)證結(jié)果具 有極小影響或沒(méi)有影響的系數(shù)的部分,分別歸約驗(yàn)證密鑰和簽名多項(xiàng)式的大小。驗(yàn)證設(shè)備 這樣的大小歸約僅具有針對(duì)匹配步驟的邊界可能在某種程度上改變的結(jié)果,然而需要執(zhí)行 的計(jì)算并不改變。