專利名稱:認(rèn)證裝置、認(rèn)證方法、程序和簽名生成裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及認(rèn)證裝置、認(rèn)證方法、程序和簽名生成裝置。
背景技術(shù):
隨著信息處理技術(shù)和通信技術(shù)的迅速發(fā)展,官方和私人文檔的數(shù)字化正在迅速進(jìn)步。因此,許多個(gè)人和公司對(duì)于電子文檔的安全管理很感興趣。隨著該興趣的增長(zhǎng),對(duì)抗諸如電子文檔的竊聽(tīng)和偽造之類(lèi)的破壞行為的安全性已在許多領(lǐng)域中被熱烈地討論。對(duì)抗對(duì)電子文檔的竊聽(tīng)的安全性例如是通過(guò)對(duì)電子文檔加密來(lái)確保的。另外,對(duì)抗對(duì)電子文檔的偽造的安全性例如是通過(guò)使用數(shù)字簽名來(lái)確保的。然而,加密和數(shù)字簽名必須是充分抗破壞的。數(shù)字簽名用于指定電子文檔的作者。因此,數(shù)字簽名應(yīng)當(dāng)只能夠由電子文檔的作者生成。如果惡意的第三方能夠生成相同的數(shù)字簽名,則這種第三方就能夠假扮電子文檔的作者。即,電子文檔被該惡意第三方偽造。關(guān)于防止這種偽造的數(shù)字簽名的安全性,已經(jīng)表達(dá)了各種意見(jiàn)。作為當(dāng)前廣泛使用的數(shù)字簽名方案,例如已知使用RSA簽名方案和DSA 簽名方案的方案。RSA簽名方案以“大合數(shù)的素因數(shù)分解(prime factorisation)的困難性(以下稱為素因數(shù)分解問(wèn)題)”作為安全性的基礎(chǔ)。另外,DSA簽名方案以“解答離散對(duì)數(shù)問(wèn)題的困難性”作為安全性的基礎(chǔ)。這些基礎(chǔ)基于的是利用經(jīng)典計(jì)算機(jī)高效地解答素因數(shù)分解問(wèn)題和離散對(duì)數(shù)問(wèn)題的算法不存在。即,上述困難性意味著經(jīng)典計(jì)算機(jī)的計(jì)算上的困難性。然而,據(jù)說(shuō)當(dāng)使用量子計(jì)算機(jī)時(shí),可以高效地計(jì)算素因數(shù)分解問(wèn)題和離散對(duì)數(shù)問(wèn)題的解答。與RSA簽名方案和DSA簽名方案類(lèi)似,許多當(dāng)前使用的數(shù)字簽名方案和公開(kāi)密鑰認(rèn)證方案也以素因數(shù)分解問(wèn)題或離散對(duì)數(shù)問(wèn)題的困難性作為安全性的基礎(chǔ)。從而,如果量子計(jì)算機(jī)被投入實(shí)際使用,則這種數(shù)字簽名方案和公開(kāi)密鑰認(rèn)證方案的安全性將得不到確保。因此,需要新的數(shù)字簽名方案和公開(kāi)密鑰認(rèn)證方案,這些新的方案以與諸如素因數(shù)分解問(wèn)題和離散對(duì)數(shù)問(wèn)題之類(lèi)的能夠容易地用量子計(jì)算機(jī)解答的問(wèn)題不同的問(wèn)題作為安全性的基礎(chǔ)。作為不容易用量子計(jì)算機(jī)解答的問(wèn)題,例如有代數(shù)曲面上的片段找出 (section-finding)問(wèn)題。以代數(shù)曲面上的片段找出問(wèn)題為安全性基礎(chǔ)的數(shù)字簽名(以下禾爾之為 ASS-CC 方案)在 Yuichi Komano, Koichiro Akiyama, Yochikazu Hanatani, and Hideyuki Miyake, ASS-CC Provably Secure Algebraic Surface Signature Scheme, The 2010 Symposium on Cryptography and Information Security Miyazaki, Japan, Jan. 19-22,2010 中公開(kāi)。
發(fā)明內(nèi)容
然而,作為本申請(qǐng)的發(fā)明人的考查結(jié)果,已經(jīng)發(fā)現(xiàn)ASS-CC方案的安全性存在缺陷。因此,基于ASS-CC方案的數(shù)字簽名方案和采用此方案的公開(kāi)密鑰認(rèn)證方案由于安全性問(wèn)題而沒(méi)有被實(shí)際使用。考慮到上述情況,希望提供一種新穎且改進(jìn)的認(rèn)證裝置、認(rèn)證方法、程序和簽名生成裝置,它們能夠?qū)崿F(xiàn)以代數(shù)曲面上的片段找出問(wèn)題為安全性基礎(chǔ)并且安全性得到確認(rèn)的公開(kāi)密鑰認(rèn)證方案。另外,作為一個(gè)應(yīng)用版本,也可以實(shí)現(xiàn)數(shù)字簽名方案。根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種認(rèn)證裝置,其包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri (t),t)= 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;消息發(fā)送單元,用于將消息c發(fā)送給驗(yàn)證者;驗(yàn)證模式接收單元,用于接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息c從k(k >幻個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及響應(yīng)發(fā)送單元,用于向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式接收單元接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息C的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。認(rèn)證裝置可被配置成使得,如果當(dāng)執(zhí)行由消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第二步驟和由響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第三步驟時(shí),驗(yàn)證者對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。認(rèn)證裝置可被配置成使得,執(zhí)行由消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第二步驟和由響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第三步驟的處理被重復(fù),并且如果當(dāng)執(zhí)行第一步驟至第三步驟預(yù)定次數(shù)時(shí),驗(yàn)證者每次對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。在消息c = (C1, ...,cm)的情況下,消息發(fā)送單元可利用單向函數(shù)H來(lái)計(jì)算新的消息c’ = H(C),并將消息C’發(fā)送給驗(yàn)證者,并且響應(yīng)發(fā)送單元可將消息c的一元素與響應(yīng)信息一起發(fā)送,其中驗(yàn)證者即使使用該響應(yīng)信息也不能恢復(fù)該元素。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證裝置,其包括消息接收單元,用于從證明者接收消息C ;驗(yàn)證模式選擇單元,用于針對(duì)一個(gè)消息C,從k(k ^ 3)個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式;驗(yàn)證模式發(fā)送單元,用于把關(guān)于由驗(yàn)證模式選擇單元選擇的驗(yàn)證模式的信息發(fā)送給證明者;響應(yīng)接收單元,用于從證明者接收k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式發(fā)送單元發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及驗(yàn)證單元,用于利用由消息接收單元接收的消息c和由響應(yīng)接收單元接收的響應(yīng)信息來(lái)驗(yàn)證證明者的合法性。多次多項(xiàng)式Ui (t) (i = 1至n-1)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,Ulri (t),t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的所有 k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證裝置,其包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri (t),t)= 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;消息發(fā)送單元,用于將消息c發(fā)送給驗(yàn)證者;答復(fù)接收單元,用于從驗(yàn)證者接收答復(fù)α ;多項(xiàng)式生成單元,用于利用由答復(fù)接收單元接收的答復(fù) α來(lái)生成要用于對(duì)消息c的驗(yàn)證的多項(xiàng)式f” ;多項(xiàng)式發(fā)送單元,用于把由多項(xiàng)式生成單元生成的多項(xiàng)式f”發(fā)送給驗(yàn)證者;驗(yàn)證模式接收單元,用于接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息 c從k(k ^ 2)個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及響應(yīng)發(fā)送單元,用于向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式接收單元接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用兩類(lèi)答復(fù)α、多項(xiàng)式f”以及k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c 的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。認(rèn)證裝置可被配置成使得,如果當(dāng)執(zhí)行由消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由答復(fù)接收單元對(duì)于每個(gè)消息c接收答復(fù)α的第二步驟、由多項(xiàng)式生成單元利用在該第二步驟中接收的每個(gè)答復(fù)α來(lái)生成多項(xiàng)式f”并且由多項(xiàng)式發(fā)送單元發(fā)送該多項(xiàng)式f”的第三步驟、由驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第四步驟以及由響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第五步驟時(shí),驗(yàn)證者對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。認(rèn)證裝置可被配置成使得,執(zhí)行由消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由答復(fù)接收單元對(duì)于每個(gè)消息c接收答復(fù)α的第二步驟、由多項(xiàng)式生成單元利用在該第二步驟中接收的每個(gè)答復(fù)α來(lái)生成多項(xiàng)式f”并且由多項(xiàng)式發(fā)送單元發(fā)送該多項(xiàng)式f” 的第三步驟、由驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第四步驟以及由響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第五步驟的處理被重復(fù),并且如果當(dāng)執(zhí)行第一步驟至第五步驟預(yù)定次數(shù)時(shí),驗(yàn)證者每次對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證裝置,其包括消息接收單元,用于從證明者接收消息C;答復(fù)發(fā)送單元,用于將答復(fù)α發(fā)送給證明者;多項(xiàng)式接收單元,用于接收多項(xiàng)式f”,該多項(xiàng)式f”是由證明者利用由答復(fù)發(fā)送單元發(fā)送的答復(fù)α生成的并且用于對(duì)消息c的驗(yàn)證;驗(yàn)證模式選擇單元,用于針對(duì)一個(gè)消息C,從k(k ^ 2)個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式;驗(yàn)證模式發(fā)送單元,用于向證明者發(fā)送關(guān)于由驗(yàn)證模式選擇單元選擇的驗(yàn)證模式的信息;響應(yīng)接收單元,用于從證明者接收k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式發(fā)送單元發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及驗(yàn)證單元,用于利用由消息接收單元接收的消息C、由多項(xiàng)式接收單元接收的多項(xiàng)式f”以及由響應(yīng)接收單元接收的響應(yīng)信息來(lái)驗(yàn)證證明者的合法性。多次多項(xiàng)式Ui (t) (i = 1至n-1)被設(shè)定成私密密鑰,并且滿足 ΓΚω,.,.,π^ω, ) =0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰。響應(yīng)信息是在利用兩類(lèi)答復(fù)α、多項(xiàng)式f”以及k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證方法,其包括以下步驟將多次多項(xiàng)式Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;將消息c發(fā)送給驗(yàn)證者;接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息c從 k(k ^ 3)個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與在接收步驟中接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的 fn息ο根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證方法,其包括以下步驟從證明者接收消息c ;針對(duì)一個(gè)消息c,從k(k ^ 3)個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式;把關(guān)于在選擇步驟中選擇的驗(yàn)證模式的信息發(fā)送給證明者;從證明者接收k類(lèi)響應(yīng)信息之中的與在發(fā)送步驟中發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及利用在接收消息c的步驟中接收的消息c和在接收響應(yīng)信息的步驟中接收的響應(yīng)信息來(lái)驗(yàn)證證明者的合法性。多次多項(xiàng)式Ui (t) (i = 1至n-1)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,Ulri⑴,t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證方法,其包括以下步驟將多次多項(xiàng)式 Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri⑴,t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;將消息c發(fā)送給驗(yàn)證者;從驗(yàn)證者接收答復(fù)α ;利用在接收答復(fù) α的步驟中接收的答復(fù)α來(lái)生成要用于對(duì)消息c的驗(yàn)證的多項(xiàng)式f”;把在生成步驟中生成的多項(xiàng)式f”發(fā)送給驗(yàn)證者;接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息c從k(k彡2)個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與在接收關(guān)于驗(yàn)證模式的信息的步驟中接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用兩類(lèi)答復(fù)α、多項(xiàng)式f”以及k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種認(rèn)證方法,其包括以下步驟從證明者接收消息c;將答復(fù)α發(fā)送給證明者;接收多項(xiàng)式f”,該多項(xiàng)式f”是由證明者利用在發(fā)送答復(fù) α的步驟中發(fā)送的答復(fù)α生成的并且用于對(duì)消息c的驗(yàn)證;針對(duì)一個(gè)消息c,從k(k彡2) 個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式;向證明者發(fā)送關(guān)于在選擇步驟中選擇的驗(yàn)證模式的信息;從證明者接收k類(lèi)響應(yīng)信息之中的與在發(fā)送關(guān)于驗(yàn)證模式的信息的步驟中發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及利用在接收消息c的步驟中接收的消息C、在接收多項(xiàng)式f”的步驟中接收的多項(xiàng)式f”以及在接收響應(yīng)信息的步驟中接收的響應(yīng)信息來(lái)驗(yàn)證證明者的合法性。多次多項(xiàng)式Ui(t)(i = 1至n-1)被設(shè)定成私密密鑰,并且滿足 ΓΚω,.,.,π^ω, ) =0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰。響應(yīng)信息是在利用兩類(lèi)答復(fù)α、多項(xiàng)式f”以及k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種程序,用于使得計(jì)算機(jī)實(shí)現(xiàn)密鑰設(shè)定功能,將多次多項(xiàng)式Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Iv1 (t), t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;消息發(fā)送功能,將消息c發(fā)送給驗(yàn)證者;驗(yàn)證模式接收功能,接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息c從個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及響應(yīng)發(fā)送功能,向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式接收功能接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種記錄該程序的計(jì)算機(jī)可讀記錄介質(zhì)。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種簽名生成裝置,其包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui (t) (i = 1至n-1)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Iv1 (t), t) =0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;消息生成單元,用于基于多次多項(xiàng)式Ui(t)生成N 個(gè)消息c ;驗(yàn)證模式選擇單元,用于基于通過(guò)將文檔M和消息c應(yīng)用到單向函數(shù)而獲得的信息來(lái)從kN(k ^ 3)個(gè)驗(yàn)證模式中選擇驗(yàn)證模式;以及簽名生成單元,用于根據(jù)由驗(yàn)證模式選擇單元選擇的驗(yàn)證模式,生成將通過(guò)使用消息c和文檔M的驗(yàn)證的數(shù)字簽名ο。數(shù)字簽名 σ是在利用與(k_l)N+l個(gè)驗(yàn)證模式相對(duì)應(yīng)的數(shù)字簽名σ執(zhí)行的所有驗(yàn)證都成功的情況下使能計(jì)算私密密鑰Ui的信息。
根據(jù)以上所述的本發(fā)明的實(shí)施例,可以實(shí)現(xiàn)以代數(shù)曲面上的片段找出問(wèn)題作為安全性基礎(chǔ)并且安全性得到確認(rèn)的公開(kāi)密鑰認(rèn)證方案。另外,作為一種應(yīng)用版本,也可以實(shí)現(xiàn)以代數(shù)曲面上的片段找出問(wèn)題作為安全性基礎(chǔ)并且安全性得到確認(rèn)的數(shù)字簽名方案。
圖1是用于描述公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)的說(shuō)明圖;圖2是用于描述數(shù)字簽名方案的算法結(jié)構(gòu)的說(shuō)明圖;圖3是用于描述η遍公開(kāi)密鑰認(rèn)證方案的說(shuō)明圖;圖4是用于描述用于ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的算法的說(shuō)明圖;圖5是用于描述對(duì)抗用于ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的算法的偽造算法的說(shuō)明圖;圖6是用于描述根據(jù)本發(fā)明第一實(shí)施例(3遍)的用于公開(kāi)密鑰認(rèn)證方案的算法的說(shuō)明圖;圖7是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的擴(kuò)展算法的說(shuō)明圖;圖8是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的并行算法的說(shuō)明圖;圖9是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的非交互型算法的說(shuō)明圖;圖10是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的具體算法的說(shuō)明圖;圖11是用于描述根據(jù)本發(fā)明第二實(shí)施例(5遍)的用于公開(kāi)密鑰認(rèn)證方案的算法的說(shuō)明圖;圖12是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的擴(kuò)展算法的說(shuō)明圖;圖13是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的并行算法的說(shuō)明圖;圖14是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的擴(kuò)展算法的并行化的說(shuō)明圖;圖15是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的非交互型算法的說(shuō)明圖;圖16是用于描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的具體算法的說(shuō)明圖;圖17是用于描述能夠執(zhí)行根據(jù)本發(fā)明每個(gè)實(shí)施例的算法的信息處理裝置的示例性硬件配置的說(shuō)明圖;并且圖18是比較根據(jù)本發(fā)明第一和第二實(shí)施例的公開(kāi)密鑰認(rèn)證方案的效率的圖表。
具體實(shí)施例方式下面,將參考附圖詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。注意,在本說(shuō)明書(shū)和附圖中,用相同的標(biāo)號(hào)來(lái)標(biāo)示具有基本相同的功能和結(jié)構(gòu)的結(jié)構(gòu)元件,并且省略對(duì)這些結(jié)構(gòu)元件的重復(fù)說(shuō)明。[描述的流程]這里將簡(jiǎn)要介紹與下文中描述的本發(fā)明的實(shí)施例有關(guān)的描述的流程。首先,將參考圖1描述公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)。接下來(lái),將參考圖2描述數(shù)字簽名方案的算法結(jié)構(gòu)。然后,將參考圖3描述η遍(n-pass)公開(kāi)密鑰認(rèn)證方案。然后,將參考圖4描述ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的算法。另外,將參考圖5描述對(duì)抗用于ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的算法的偽造算法。接下來(lái),將參考圖6描述根據(jù)本發(fā)明第一實(shí)施例(3遍)的用于公開(kāi)密鑰認(rèn)證方案的算法。然后,將參考圖7描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的擴(kuò)展算法。然后, 將參考圖8描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的并行算法。然后,將參考圖9描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的非交互型算法。然后,將參考圖10描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的具體算法。接下來(lái),將參考圖11描述根據(jù)本發(fā)明第二實(shí)施例(5遍)的用于公開(kāi)密鑰認(rèn)證方案的算法。然后,將參考圖12描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的擴(kuò)展算法。然后,將參考圖13和14描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的并行算法。然后,將參考圖15描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的非交互型算法。然后,將參考圖16 描述根據(jù)該實(shí)施例的用于公開(kāi)密鑰認(rèn)證方案的具體算法。接下來(lái),將參考圖17描述能夠執(zhí)行本發(fā)明的第一和第二實(shí)施例的每個(gè)算法的信息處理裝置的示例性硬件配置。最后,將總結(jié)本發(fā)明的技術(shù)思想并且簡(jiǎn)要描述這些技術(shù)思
想所獲得的效果。
(描述項(xiàng)目)
1 介紹
1-1 公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)
1-2 數(shù)字簽名方案的算法結(jié)構(gòu)
1-3 :n遍公開(kāi)密鑰認(rèn)證方案
1-4 =ASS-CC-IP公開(kāi)密鑰認(rèn)證方案
1-4-1 =ASS-CC數(shù)字簽名方案
1-4-2 =ASS-CC-IP公開(kāi)密鑰認(rèn)證方案
2 第一實(shí)施例
2-1 用于公開(kāi)密鑰認(rèn)證方案的算法
2-2 擴(kuò)展算法
2-3 并行算法
2-4 非交互型算法
2-5 修改成數(shù)字簽名方案
2-6 具體示例
3 第二實(shí)施例
3-1 用于公開(kāi)密鑰認(rèn)證方案的算法
3-2 擴(kuò)展算法
3-3 并行算法
3-4 非交互型算法
3-5 修改成數(shù)字簽名方案
3-6 具體示例
4 示例性硬件配置
5 總結(jié)
<1:介紹〉首先,在詳細(xì)描述本發(fā)明的實(shí)施例之前,將簡(jiǎn)要描述一般的公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)、一般的數(shù)字簽名方案的算法結(jié)構(gòu)、η遍公開(kāi)密鑰認(rèn)證方案以及ASS-CC-IP公開(kāi)密鑰認(rèn)證方案。[1-1 公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)]首先,將參考圖1來(lái)描述一般的公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)。圖1是用于描述一般的公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)的說(shuō)明圖。(概述)公開(kāi)密鑰認(rèn)證方案是這樣一種認(rèn)證方案,其中一個(gè)人(證明者)通過(guò)使用公開(kāi)密鑰Pk和私密密鑰sk來(lái)使另一個(gè)人(驗(yàn)證者)相信其是證明者本人。例如,使證明者A的公開(kāi)密鑰驗(yàn)證者所知。另一方面,證明者A的私密密鑰證明者秘密地管理。根據(jù)公開(kāi)密鑰認(rèn)證方案,知道與公開(kāi)密鑰pkA相對(duì)應(yīng)的私密密鑰skA的人被認(rèn)為是證明者A本人。在證明者A嘗試向驗(yàn)證者B證明其是證明者本人的情況下,證明者A可以與驗(yàn)證者B執(zhí)行交互協(xié)議,并且證明其知道與公開(kāi)密鑰pkA相對(duì)應(yīng)的私密密鑰skA。然后,在驗(yàn)證者 B通過(guò)交互協(xié)議證明證明者A知道私密密鑰skA的情況下,證明者A的合法性(即其是證明者本人)得到了證明。此外,為了確保公開(kāi)密鑰認(rèn)證方案的安全性,要滿足以下所述的兩個(gè)條件。第一個(gè)條件是盡可能地降低在交互協(xié)議被執(zhí)行時(shí)不具有私密密鑰Sk的偽造者使偽造成立的概率。滿足此第一條件被稱為“健全性”(soundness)。換言之,對(duì)于健全的交互協(xié)議,不具有私密密鑰sk的偽造者使偽造成立的概率是可忽略的。第二條件是,即使交互協(xié)議被執(zhí)行,關(guān)于證明者A的私密密鑰skA的信息也完全不會(huì)泄漏給驗(yàn)證者B。滿足此第二條件被稱為“零知識(shí)性”(zero knowledge)。通過(guò)使用具有上述健全性和零知識(shí)性的交互協(xié)議來(lái)確保公開(kāi)密鑰認(rèn)證方案的安全性。(模型)在公開(kāi)密鑰認(rèn)證方案的模型中,存在兩個(gè)實(shí)體,即證明者和驗(yàn)證者,如圖1所示。 證明者通過(guò)使用密鑰生成算法Gen來(lái)生成證明者所特有的一對(duì)公開(kāi)密鑰pk和私密密鑰sk。 然后,證明者通過(guò)使用利用密鑰生成算法Gen生成的該對(duì)私密密鑰sk和公開(kāi)密鑰pk來(lái)與驗(yàn)證者執(zhí)行交互協(xié)議。此時(shí),證明者通過(guò)使用證明者算法P來(lái)執(zhí)行交互協(xié)議。如上所述,在交互協(xié)議中,證明者通過(guò)使用證明者算法P來(lái)向驗(yàn)證者證明其擁有私密密鑰sk。另一方面,驗(yàn)證者通過(guò)使用驗(yàn)證者算法V來(lái)執(zhí)行交互協(xié)議,并且驗(yàn)證證明者是否擁有與證明者所公開(kāi)的公開(kāi)密鑰相對(duì)應(yīng)的私密密鑰。即,驗(yàn)證者是驗(yàn)證證明者是否擁有與公開(kāi)密鑰相對(duì)應(yīng)的私密密鑰的實(shí)體。如上所述,公開(kāi)密鑰認(rèn)證方案的模型是由兩個(gè)實(shí)體和三個(gè)算法構(gòu)成的,這兩個(gè)實(shí)體是證明者和驗(yàn)證者,這三個(gè)算法是密鑰生成算法Gen、證明者算法P和驗(yàn)證者算法V。此外,在以下描述中使用了表述“證明者”和“驗(yàn)證者”,但這些表述嚴(yán)格來(lái)說(shuō)指的是實(shí)體。因此,執(zhí)行密鑰生成算法Gen和證明者算法P的主體是與實(shí)體“證明者”相對(duì)應(yīng)的信息處理裝置。類(lèi)似地,執(zhí)行驗(yàn)證者算法V的主體是信息處理裝置。例如,這些信息處理裝置的硬件配置如圖17所示。即,密鑰生成算法Gen、證明者算法P和驗(yàn)證者算法V由CPU902 基于記錄在ROM 904、RAM 906、存儲(chǔ)單元920、可移除記錄介質(zhì)擬8等等上的程序來(lái)執(zhí)行。(密鑰生成算法Gen)密鑰生成算法Gen被證明者使用。密鑰生成算法Gen是用于生成證明者所特有的一對(duì)公開(kāi)密鑰Pk和私密密鑰Sk的算法。用密鑰生成算法Gen生成的公開(kāi)密鑰Pk被公開(kāi)。 另外,公開(kāi)的公開(kāi)密鑰Pk被驗(yàn)證者使用。另一方面,用密鑰生成算法Gen生成的私密密鑰 sk被證明者秘密地管理。被秘密管理的私密密鑰sk被用于向驗(yàn)證者證明對(duì)與公開(kāi)密鑰pk 相對(duì)應(yīng)的私密密鑰sk的擁有。在形式上,作為以安全性參數(shù)1λ (λ是0或0以上的整數(shù))
為輸入并且輸出私密密鑰sk和公開(kāi)密鑰pk的算法,密鑰生成算法Gen被表示為以下的式 ⑴[表達(dá)式1](sk, pk) — Gen(Ix)...(1)(證明者算法P)證明者算法P被證明者使用。證明者算法P是用于證明對(duì)與公開(kāi)密鑰Pk相對(duì)應(yīng)的私密密鑰sk的擁有的算法。證明者算法P被定義為以證明者的公開(kāi)密鑰pk和私密密鑰 sk為輸入并且與驗(yàn)證者執(zhí)行交互協(xié)議的算法。(驗(yàn)證者算法V)驗(yàn)證者算法V被驗(yàn)證者使用。驗(yàn)證者算法V是用于在交互協(xié)議中驗(yàn)證證明者是否擁有與公開(kāi)密鑰Pk相對(duì)應(yīng)的私密密鑰sk的算法。驗(yàn)證者算法V被定義為以證明者的公開(kāi)密鑰Pk為輸入并且在與證明者執(zhí)行交互協(xié)議后輸出0或1(1比特)的算法。而且,在輸出 0的情況下,認(rèn)為證明者是非法的,而在輸出1的情況下,認(rèn)為證明者是合法的。在形式上, 驗(yàn)證者算法V被表示為以下的式O)。[表達(dá)式2]0/1 — V(pk,m,σ )...⑵(補(bǔ)充)如上所述,公開(kāi)密鑰認(rèn)證方案為了確保安全性必須滿足兩個(gè)條件,即健全性和零知識(shí)性。然而,為了使證明者證明其擁有私密密鑰sk,證明者必須執(zhí)行依賴于私密密鑰Sk 的過(guò)程,將結(jié)果通知給驗(yàn)證者,并且讓驗(yàn)證者基于通知的內(nèi)容來(lái)執(zhí)行驗(yàn)證。為了保證健全性,必須執(zhí)行依賴于私密密鑰Sk的過(guò)程。另一方面,即使當(dāng)該過(guò)程的結(jié)果被通知給驗(yàn)證者時(shí),關(guān)于私密密鑰Sk的信息也必須完全不泄漏給驗(yàn)證者。因此,密鑰生成算法Gen、證明者算法P和驗(yàn)證者算法V必須被設(shè)計(jì)成滿足這些要件。以上,已經(jīng)描述了一般的公開(kāi)密鑰認(rèn)證方案的算法結(jié)構(gòu)。[1-2 數(shù)字簽名方案的算法結(jié)構(gòu)]接下來(lái),將參考圖2描述的一般的數(shù)字簽名方案的算法結(jié)構(gòu)。圖2是用于描述一般的數(shù)字簽名方案的算法結(jié)構(gòu)的說(shuō)明圖。(概述)與紙質(zhì)文檔不同,不可能對(duì)數(shù)字化的數(shù)據(jù)蓋印或簽名。從而,為了證明數(shù)字化數(shù)據(jù)的作者的合法性,必須有一種產(chǎn)生相當(dāng)于對(duì)紙質(zhì)文檔蓋印或簽名的效果的電子機(jī)制。此機(jī)制是數(shù)字簽名。例如,將只有數(shù)據(jù)的作者知道的簽名數(shù)據(jù)與該數(shù)據(jù)相關(guān)聯(lián)地提供給接收者并且在接收者方驗(yàn)證該簽名數(shù)據(jù)的機(jī)制被稱為數(shù)字簽名方案。(模型)在數(shù)字簽名方案的模型中,存在兩個(gè)實(shí)體,即簽名者和驗(yàn)證者,如圖2所示。另外, 數(shù)字簽名方案的模型是由三個(gè)算法構(gòu)成的,即密鑰生成算法Gen、簽名生成算法Sig和簽名驗(yàn)證算法Ver。簽名者通過(guò)使用密鑰生成算法Gen生成簽名者所特有的一對(duì)驗(yàn)證密鑰pk和簽名密鑰sk。另外,簽名者通過(guò)使用簽名生成算法Sig生成要被添加到文檔M的數(shù)字簽名ο。 即,簽名者是向文檔M添加數(shù)字簽名的實(shí)體。另一方面,驗(yàn)證者通過(guò)使用簽名驗(yàn)證算法Ver 來(lái)驗(yàn)證添加到文檔M的數(shù)字簽名ο。即,驗(yàn)證者是驗(yàn)證數(shù)字簽名σ以確認(rèn)文檔M的作者是否是簽名者的實(shí)體。此外,在以下描述中使用了表述“簽名者,,和“驗(yàn)證者”,但這些表述嚴(yán)格來(lái)說(shuō)指的是實(shí)體。因此,執(zhí)行密鑰生成算法Gen和簽名生成算法Sig的主體是與實(shí)體“簽名者”相對(duì)應(yīng)的信息處理裝置。類(lèi)似地,執(zhí)行簽名驗(yàn)證算法Ver的主體是信息處理裝置。例如,這些信息處理裝置的硬件配置如圖17所示。即,密鑰生成算法Gen、簽名生成算法Sig和簽名驗(yàn)證算法Ver由CPU 902基于記錄在ROM 904、RAM 906、存儲(chǔ)單元920、可移除記錄介質(zhì)擬8等等上的程序來(lái)執(zhí)行。(密鑰生成算法Gen)密鑰生成算法Gen被簽名者使用。密鑰生成算法Gen是用于生成簽名者所特有的一對(duì)驗(yàn)證密鑰pk和簽名密鑰Sk的算法。用密鑰生成算法Gen生成的驗(yàn)證密鑰Pk被公開(kāi)。 另一方面,用密鑰生成算法Gen生成的簽名密鑰sk被簽名者秘密地管理。被簽名者秘密管理的簽名密鑰sk被用于生成要添加到文檔M的數(shù)字簽名ο。在形式上,作為以安全性參數(shù)1λ(λ是0或0以上的整數(shù))為輸入并且輸出簽名密鑰sk和驗(yàn)證密鑰pk的算法,密鑰生成算法Gen被表示為以下的式(3)。[表達(dá)式3](sk,pk) — Gen(Ix)...(3)(簽名生成算法Sig)簽名生成算法Sig被簽名者使用。簽名生成算法Sig是用于生成要添加到文檔M 的數(shù)字簽名σ的算法。在形式上,作為以文檔M和簽名者的簽名密鑰sk為輸入并且輸出數(shù)字簽名σ的算法,簽名生成算法Sig被表示為以下的式0)。[表達(dá)式4]σ — Sig (sk,Μ)... (4)(簽名驗(yàn)證算法Ver)簽名驗(yàn)證算法Ver被驗(yàn)證者使用。簽名驗(yàn)證算法Ver是用于驗(yàn)證數(shù)字簽名σ是否是文檔M的有效數(shù)字簽名的算法。在形式上,作為以簽名者的驗(yàn)證密鑰pk、文檔M和數(shù)字簽名σ為輸入并且輸出0或1(1比特)的算法,簽名驗(yàn)證算法Ver被表示為以下的式(5)。 而且,在輸出為0的情況下(在公開(kāi)密鑰pk拒絕文檔M和數(shù)字簽名σ的情況下),文檔M 的數(shù)字簽名σ是無(wú)效的。在輸出為1的情況下(在公開(kāi)密鑰pk接受文檔M和數(shù)字簽名σ 的情況下),文檔M的數(shù)字簽名σ是有效的。[表達(dá)式5]
0/1 — Ver(pk,Μ, σ )...(5)以上,已經(jīng)描述了一般的數(shù)字簽名方案的算法結(jié)構(gòu)。[1-3 :η遍公開(kāi)密鑰認(rèn)證方案]接下來(lái),將參考圖3描述η遍公開(kāi)密鑰認(rèn)證方案。圖3是用于描述η遍公開(kāi)密鑰認(rèn)證方案的說(shuō)明圖。如上所述,公開(kāi)密鑰認(rèn)證方案是用于在交互協(xié)議中向驗(yàn)證者證明證明者擁有與公開(kāi)密鑰Pk相對(duì)應(yīng)的私密密鑰sk的認(rèn)證方案。而且,為了保證公開(kāi)密鑰認(rèn)證方案的安全性, 必須滿足兩個(gè)條件,即健全性和零知識(shí)性。因此,如圖3所示,在交互協(xié)議中,在證明者和驗(yàn)證者雙方執(zhí)行處理的同時(shí),在證明者與驗(yàn)證者之間執(zhí)行η次信息交換。在η遍公開(kāi)密鑰認(rèn)證方案的情況下,證明者利用證明者算法P執(zhí)行處理(步驟1), 并且信息T1被發(fā)送給驗(yàn)證者。接下來(lái),驗(yàn)證者利用驗(yàn)證者算法V執(zhí)行處理(步驟幻,并且信息T2被發(fā)送到證明者。以類(lèi)似的方式執(zhí)行處理(步驟3,...,η)并發(fā)送多條信息T3,..., Tn,然后執(zhí)行處理(步驟η+1)。這種信息被發(fā)送/接收η次的基于交互協(xié)議的公開(kāi)密鑰認(rèn)證方案被稱為“η遍”公開(kāi)密鑰認(rèn)證方案。以上,已經(jīng)描述了 η遍公開(kāi)密鑰認(rèn)證方案。[1-4 =ASS-CC-IP公開(kāi)密鑰認(rèn)證方案]接下來(lái),將描述以代數(shù)曲面上的片段找出問(wèn)題為安全性基礎(chǔ)的公開(kāi)密鑰認(rèn)證方案的示例。片段找出問(wèn)題是這樣一個(gè)問(wèn)題,即,當(dāng)給出在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f(Xl,... , xn)時(shí),找出環(huán)K上的一個(gè)變量的多次多項(xiàng)式Sl(t),... , SlriU),滿足
f (S1 (t) , . . . , Sn_! (t) , t) =0。(1-4-1 =ASS-CC 數(shù)字簽名方案)作為以代數(shù)曲面上的片段找出問(wèn)題為安全性基礎(chǔ)的數(shù)字簽名方案,ASS-CC數(shù)字簽名方案是已知的(參見(jiàn)Komano等人的文章)。ASS-CC數(shù)字簽名方案不是公開(kāi)密鑰認(rèn)證方案,但是考慮到數(shù)字簽名方案和公開(kāi)密鑰認(rèn)證方案的相關(guān)性,可如下文中所述從ASS-CC數(shù)字簽名方案來(lái)構(gòu)造以代數(shù)曲面上的片段找出問(wèn)題為安全性基礎(chǔ)的公開(kāi)密鑰認(rèn)證方案。因此,首先,將描述ASS-CC數(shù)字簽名方案。ASS-CC數(shù)字簽名方案是由以下所述的密鑰生成算法Gen、簽名生成算法Sig和簽名驗(yàn)證算法Ver構(gòu)成的。(密鑰生成算法Gen)密鑰生成算法Gen執(zhí)行以下的步驟1和步驟2,并且生成簽名密鑰(ux (t),Uy (t), t)和驗(yàn)證密鑰X(x,y,t)。步驟1:密鑰生成算法Gen生成函數(shù)Ux (t),Uy (t)和CiJt)(其中(i,j) e Λ\{0,0})。這里Λ是正整數(shù)的索引集合。步驟2:密鑰生成算法Gen計(jì)算cQ,。一 Σ (i』e Mft^Cy (t) Ux (t) iUy (t)j。然后,密鑰生成算法 Gen 生成簽名密鑰(ux(t),uy(t),t)和驗(yàn)證密鑰 X (x,y,t) =Σ (i, j0 e j (t) χ (t) V (t) jO 這里,滿足 X(Ux(t),Uy(t),t) =Σ (^uwMCi.jWuxaYuJtV· =。。(簽名生成算法Sig)
簽名生成算法Sig首先以簽名密鑰(ux (t),Uy (t),t)和文檔M為輸入并且對(duì)于i =1至η執(zhí)行以下的步驟1至步驟4。步驟1:簽名生成算法Sig選擇Si e κ{0,1}λ,并且計(jì)算(X,y,t) — H(Si)。這里的 H(...)是散列函數(shù)。散列函數(shù)H是用于根據(jù)比特串s e {0,1}*生成特定范圍內(nèi)的數(shù)值的函數(shù)。通過(guò)將任意比特串輸入到散列函數(shù)H中獲得的值被稱為散列值(以下同樣)。步驟2:簽名生成算法Sig選擇片段0^(0,1^(0),并且計(jì)算)(廣(x,y,t) -X^xTi, x(t), y-rijy(t), t)+X/ (X,y, t)。步驟3:簽名生成算法Sig 計(jì)算(Zi,x(t),Zi,y(t)) —(Ui,x(t)+ri,x(t),Ui,y(t)+ri,y(t))。步驟4:簽名生成算法Sig 計(jì)算 Vi (t) —Η(Χ/ (Zi,x(t),Zi,y(t),t),Zi,x(t),Zi,y(t))。步驟5:在針對(duì)i = 1至η執(zhí)行了以上的步驟1至4之后,簽名生成算法Sig計(jì)算d = ((I1, ···,《)—H(M, X1" (X,y,t),v“t),· · ·,Xn" (x, y, t),vn(t))。接下來(lái),簽名生成算法Sig對(duì)i = 1至η執(zhí)行以下的步驟6。步驟6:如果Cli = 0,則簽名生成算法Sig計(jì)算飯,!^⑴,!^⑴)。另一方面,如果 Cli = 1,則簽名生成算法 Sig 計(jì)算 Oi —(0,Zi,x(t),Zi,y(t))。步驟7:然后,簽名生成算法Sig輸出數(shù)字簽名σ = (X/,(x,y,t),Vl(t),···,Xn”(x,y,
t) , Vn (t) , O1,..., σ n)。(簽名驗(yàn)證算法Ver)0153]簽名驗(yàn)證算法Ver以數(shù)字簽名σ和文檔M為輸入,并且執(zhí)行以下的步驟1至步驟 3。步驟1:簽名驗(yàn)證算法Ver 計(jì)算 d =(屯,· · ·,dn) — H(M,X1,,(x,y,t),· · ·,Xn,,(x, y, t), vn(t))。接下來(lái),簽名驗(yàn)證算法Ver對(duì)i = 1至η執(zhí)行以下的步驟2。步驟2:如果Cli = 0,則簽名驗(yàn)證算法Ver將ο i分割成(Si, I^x⑴,ri,y(t))。接下來(lái),簽名驗(yàn)證算法Ver計(jì)算)(/ (x,y,t) 一 H(Si)n然后,簽名驗(yàn)證算法Ver驗(yàn)證等式)(廣(x,y,t) =Xi (χ-Γ^ω,γ-Γ^,ω,Ο+Χ/ (x,y,t)是否成立。另一方面,如果屯=1,則簽名驗(yàn)證算法Ver將Qi分割成(0,Zi,x(t),Zi,y(t))。然后,簽名驗(yàn)證算法驗(yàn)證等式Vi = H(X/,(Zi, x(t), zijy(t), t), zijX(t), zijy(t))是否成立。步驟3:在針對(duì)i = 1至η執(zhí)行以上的步驟2之后,簽名驗(yàn)證算法Ver確認(rèn)步驟2的驗(yàn)證是否對(duì)于所有i = 1至η都已通過(guò)。然后,簽名驗(yàn)證算法Ver在步驟2的驗(yàn)證對(duì)于所有的i = 1至η都已通過(guò)的情況下接受數(shù)字簽名σ (輸出1),而在驗(yàn)證即使對(duì)于其中一個(gè)沒(méi)有通過(guò)的情況下拒絕數(shù)字簽名ο (輸出0)。(偽造數(shù)字簽名的可能性)ASS-CC數(shù)字簽名方案由上述的密鑰生成算法Gen、簽名生成算法Sig和簽名驗(yàn)證算法Ver構(gòu)成。ASS-CC數(shù)字簽名方案是對(duì)于使用量子計(jì)算機(jī)的破壞行為有很高抵抗性的數(shù)字簽名方案,因?yàn)槠湟源鷶?shù)曲面上的片段找出問(wèn)題為安全性的基礎(chǔ)。然而,本申請(qǐng)的發(fā)明人發(fā)現(xiàn)了對(duì)于ASS-CC數(shù)字簽名方案的數(shù)字簽名的偽造算法(以下稱為簽名偽造算法)。(ASS-CC數(shù)字簽名方案的數(shù)字簽名的偽造算法)簽名偽造算法是僅以文檔M作為輸入并且偽造數(shù)字簽名σ的算法。首先,簽名偽造算法對(duì)于i = 1至η執(zhí)行以下的步驟1至步驟3。步驟1:簽名偽造算法選擇Si e R{0,1} λ,并且計(jì)算Χ/ (x, y, t) — H(Si)。步驟2:簽名偽造算法選擇片段(1^(0,1^(0),并且計(jì)算)(廣0^,7,0 -Xi (XTi, x(t), y-rijy(t), t)+X/ (x,y,t)。步驟3:簽名偽造算法選擇片段(Zi,x(t),Zi,y(t)),并且計(jì)算Vi — H (Xi" (Zi,x(t),Zi,y(t), t), zijX(t), zi>y(t))。步驟4:在針對(duì)i = 1至η執(zhí)行以上的步驟1至3之后,簽名偽造算法計(jì)算d = ((I1, dn) — H(Μ, X1" (χ, y,t),Vl(t),· · ·,Xn” (χ, y, t),vn(t))。接下來(lái),簽名偽造算法對(duì)i = 1至η執(zhí)行以下的步驟5。步驟5:如果Cli = 0,則簽名偽造算法計(jì)算Qi —飯,!^⑴,!^⑴)。另一方面,如果Cli =1,則簽名偽造算法計(jì)算Oi —(0,Zi,x(t),Zi,y(t))。步驟6:然后,簽名偽造算法輸出數(shù)字簽名ο = (X1^x, y, t),Vl(t),...,Xn"(x, y, t),
Vn (t) , O1,..., σ n)。以上是簽名偽造算法的內(nèi)容。簽名偽造算法與ASS-CC數(shù)字簽名方案的簽名生成算法Sig之間的一個(gè)不同之處在于(Zi,x(t),Zi,y(t))的生成方法。簽名生成算法Sig根據(jù)簽名密鑰(ux(t),uy(t),t)生成(Zi,x(t),Zi, y(t)),而簽名偽造算法則不使用簽名密鑰 (ux(t),uy(t),t)。另外,簽名偽造算法與ASS-CC數(shù)字簽名方案的簽名生成算法Sig之間的另一個(gè)不同之處在于Vi的計(jì)算方法。簽名生成算法Sig使用)(/ (Zi,x(t),Zi,y(t),t),而簽名偽造算法使用(Zi,x(t),Zi,y(t),t)。即,如果像上述簽名偽造算法中那樣設(shè)定Vi,則有可能在不使用簽名密鑰(ux(t),uy(t),t)的情況下生成通過(guò)驗(yàn)證的數(shù)字簽名ο。以上,已經(jīng)描述了針對(duì)ASS-CC數(shù)字簽名方案的簽名偽造算法。由于存在這種簽名偽造算法,所以可以說(shuō)ASS-CC數(shù)字簽名方案的操作并不安全。這種關(guān)于安全性的問(wèn)題在將 ASS-CC數(shù)字簽名方案修改成公開(kāi)密鑰認(rèn)證方案的情況下將繼續(xù)存在。
(1-4-2 =ASS-CC-IP公開(kāi)密鑰認(rèn)證方案)ASS-CC數(shù)字簽名方案的算法可被修改成如圖4所示的公開(kāi)密鑰認(rèn)證方案的交互協(xié)議(以下稱為ASS-CC-IP公開(kāi)密鑰認(rèn)證方案)。此外,在Komano等人的文章中沒(méi)有公開(kāi)圖4所示的ASS-CC-IP公開(kāi)密鑰認(rèn)證方案。這里將描述圖4所示的ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的交互協(xié)議。圖4是用于描述ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的交互協(xié)議的說(shuō)明圖。如圖4所示,在證明者與驗(yàn)證者之間共享公開(kāi)密鑰pk = X (x, y,ζ)。另外,證明者保有私密密鑰Sk = (ux (y),uy (y),t)。此外,私密密鑰sk和公開(kāi)密鑰pk的生成方法與 ASS-CC數(shù)字簽名方案的簽名密鑰sk和驗(yàn)證密鑰pk的生成方法相同。步驟1:首先,證明者算法P計(jì)算(rx(t),ry(t)) e KST。這里的&是表達(dá)代數(shù)曲面上的片段的多項(xiàng)式的全體集合的群組。接下來(lái),證明者算法P計(jì)算-ux(t)+rx(t)和 Zy (t) 一 uy (t) +ry (t)。然后,證明者算法P選擇S e κ{0,1}λ,并且計(jì)算V (x, y, t) 一 H1⑶。步驟1(繼續(xù))接下來(lái),證明者算法P 計(jì)算 X” (x, y, t) -X(x-rx(t), y-ry(t), t)+X,(χ, y, t)。 然后,證明者算法p計(jì)算ν -H2(χ' (^^υ,ζ^υ,υ,^^υ,ζγα))。此外,^和吐是散列函數(shù)。然后,證明者算法P將(X”(X,y,t),ν)發(fā)送給驗(yàn)證者。步驟2:驗(yàn)證者算法V選擇d e R{0,1}。然后,驗(yàn)證者算法V將d發(fā)送給證明者。步驟3:如果d = 0,則證明者算法P計(jì)算數(shù)字簽名σ = (S,rx(t),ry(t))。另一方面,如果d= 1,則證明者算法P計(jì)算數(shù)字簽名σ = (ε jx(t),Zy(t))。然后,證明者算法P將數(shù)字簽名σ發(fā)送給驗(yàn)證者。此外,σ將被表示為(a,b(t),c(t))。目卩,如果(1 = 0,則3 = 5, b(t) =rx(t)并且 c(t) =ry(t);而如果 d= 1,則 a = ε , b (t) = zx(t), c(t) = zy(t)。步驟4:如果d = 0,則驗(yàn)證者算法V計(jì)算a’(x,y,t) — H1 (a)。然后,驗(yàn)證者算法V驗(yàn)證等式 X”(X,y, t) = X(x_b(t),y-c(t),t)+a,(χ, y, t)是否成立。另一方面,如果 d = 1, 則驗(yàn)證者算法V驗(yàn)證等式V = H2 (X” (b (t),c⑴,t),b⑴,c (t))是否成立。步驟5:驗(yàn)證者算法V在步驟4的驗(yàn)證成功的情況下輸出表明認(rèn)證成功的1,而在驗(yàn)證失敗的情況下輸出表明認(rèn)證失敗的0。如上所述,ASS-CC數(shù)字簽名方案可被修改成公開(kāi)密鑰認(rèn)證方案。然而,ASS-CC-IP 公開(kāi)密鑰認(rèn)證方案包含與ASS-CC數(shù)字簽名方案相同的安全性問(wèn)題。S卩,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中,不保有私密密鑰sk的偽造者有可能偽造。因此,將參考圖5來(lái)描述 ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的偽造方法。(ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的偽造方法)ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的偽造方法具有圖5的步驟1的下劃線部分Π,*2) 中的特征。在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中,Zx(t)和、(0是利用私密密鑰sk生成的。 然而,在圖5所示的偽造方法中,Zx(t)和、(0是任意選擇的Γ1)。另外,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中^是利用乂’(^(0,、(0,7)生成的。然而,在圖5所示的偽造方法中,ν 是利用 X” (zx(t),zy (t),y) (*2)生成的。即,如果使用圖5所示的偽造方法,則不知道ux(t) ^P uy (t)的偽造者可以容易地執(zhí)行偽造。更具體而言,ASS-CC-IP公開(kāi)密鑰認(rèn)證方案不滿足健全性。如上所述,只要沒(méi)有同時(shí)滿足健全性和零知識(shí)性這兩個(gè)條件,就不能保證公開(kāi)密鑰認(rèn)證方案的安全性。ASS-CC-IP 公開(kāi)密鑰認(rèn)證方案滿足零知識(shí)性,但不滿足健全性。因此,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中不保證安全性。從而,將考慮用于確保ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中的健全性的修改方法。作為用于確保ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中的健全性的方法,可以考慮一種使驗(yàn)證者額外驗(yàn)證v = H(X’ (zx(t), zy(t), t), zx(t), zy(t))的方法。然而,為了實(shí)現(xiàn)此方法,必須把關(guān)于X’的信息和關(guān)于(zx(t),zy(t))的信息交付給驗(yàn)證者。如果在d = 0的情況下將關(guān)于(zx(t),zy(t))的信息交付給驗(yàn)證者,則已經(jīng)有關(guān)于 (rx(t),ry(t))的信息的驗(yàn)證者將能夠計(jì)算私密密鑰sk。另一方面,如果在d = 1的情況下將關(guān)于X’的信息交付給驗(yàn)證者,則已經(jīng)有關(guān)于X”的信息的驗(yàn)證者將能夠計(jì)算關(guān)于(rx(t), ry(t))的信息。結(jié)果,驗(yàn)證者將能夠根據(jù)計(jì)算出的關(guān)于(rx(t),ry(t))的信息和關(guān)于bx(t), zy (t))信息來(lái)計(jì)算私密密鑰sk。因此,如果采用使驗(yàn)證者額外驗(yàn)證ν = H(X’ (zx(t),zy(t),t),zx(t),zy(t))的方法,則確保了健全性,但卻喪失了零知識(shí)性。這樣,難以通過(guò)修改ASS-CC-IP公開(kāi)密鑰認(rèn)證方案來(lái)構(gòu)造同時(shí)滿足健全性和零知識(shí)性這兩個(gè)條件的公開(kāi)密鑰認(rèn)證方案。因此,本申請(qǐng)的發(fā)明人設(shè)計(jì)了一種新的公開(kāi)密鑰認(rèn)證方案,其以代數(shù)曲面上的片段找出問(wèn)題作為安全性的基礎(chǔ)并且滿足健全性和零知識(shí)性這兩個(gè)條件。以下將給出詳細(xì)說(shuō)明。<2 第一實(shí)施例>將描述根據(jù)本發(fā)明的第一實(shí)施例。本實(shí)施例涉及以代數(shù)曲面上的片段找出問(wèn)題作為安全性基礎(chǔ)的3遍公開(kāi)密鑰認(rèn)證方案(以下稱為本方案)。此外,這里將以3遍公開(kāi)密鑰認(rèn)證方案作為示例,但也可針對(duì)η遍(n ^ 4)公開(kāi)密鑰認(rèn)證方案來(lái)擴(kuò)展和一般化本實(shí)施例的交互協(xié)議。[2-1 用于公開(kāi)密鑰認(rèn)證方案的算法]首先,將參考圖6來(lái)描述根據(jù)本方案的用于公開(kāi)密鑰認(rèn)證方案的算法。圖6是用于描述根據(jù)本方案的用于公開(kāi)密鑰認(rèn)證方案的算法的說(shuō)明圖。此外,本方案由密鑰生成算法Gen、證明者算法P和驗(yàn)證者算法V構(gòu)成。以下,將描述每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰sk。注意這里滿足f0(Ul (t),· · ·,ujt),t) = 0。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖6來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1:首先,證明者算法P任意選擇數(shù)字W。然后,證明者算法P通過(guò)將數(shù)字w應(yīng)用到偽隨機(jī)數(shù)生成器G1來(lái)生成一個(gè)變量的多項(xiàng)式ri(t),^(t)和數(shù)字w’。即,證明者算法 P計(jì)算(r1;... ,Iv1, w’)-G1(W)0接下來(lái),證明者算法P通過(guò)將數(shù)字W’應(yīng)用到偽隨機(jī)數(shù)生成器&來(lái)生成η個(gè)變量的多項(xiàng)式f’(Xl,...,Xn)。即,證明者算法P計(jì)算f’ 一)。步驟1(繼續(xù))接下來(lái),證明者算法P 計(jì)算(Zl(t),... , Zn^1 (t)) — (U1U)T1 (t),..., Ulri (t)-IV1 (t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式(r1; ...,Iv1)來(lái)掩蔽私密密鑰 (U1, ...,IV1)的操作。另夕卜,證明者算法 P 計(jì)算 f” (X1, ...,xn) — f (X^r1(Xn),..., Xn-I+^1(Xn), xn)+f’ (X1, ·..,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ (X1, ·..,xn)來(lái)掩蔽關(guān)于 X]^ ? · · · ? Xn 的多項(xiàng)式 f (xi+rj (χη), · · · , xn-i+rn_! (xn), xn)的操作。步驟1(繼續(xù))接下來(lái),證明者算法P生成f” (Z1 (t),. . .,Zn^1 (t),t)和Zl,. . .,Zn^1的散列值Cl。 即,證明者算法 P 計(jì)算 C1 — H1 (f ” (Z1 (t),. . .,Zn^1 (t),t),Zl,. . .,Zn^1)。另外,證明者算法 P生成數(shù)字W’的散列值c2。即,證明者算法P計(jì)算c2 —H2(W’)。另外,證明者算法P生成多項(xiàng)式f ”的散列值C30 S卩,證明者算法P計(jì)算C3 — H3 (f ”)。此外,所述的H1 (...)、H2 (...) 和H3(...)是散列函數(shù)。另外,散列值(ci,c2,c3)是消息。在步驟1中生成的消息(Cl,C2, C3)被發(fā)送給驗(yàn)證者。步驟2:驗(yàn)證者算法V從三種驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求d e {0,1,2}。步驟3 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求d生成要發(fā)送回驗(yàn)證者的信息ο。如果 d = 0,則證明者算法P生成信息O =w。另外,如果d= 1,則證明者算法P生成信息O =(w,,Zl,...,Zlri)。另外,如果d = 2,則證明者算法P生成信息σ = (f", Z1,... ,ZnJ0 這樣生成的信息σ被證明者算法P發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息ο來(lái)執(zhí)行以下驗(yàn)證處理。如果d = 0,則驗(yàn)證者算法V計(jì)算(r,. . .,r’ ,w”)一 G1 (經(jīng)澂σ)。另外,驗(yàn)證者算法V計(jì)算f' “ — &(w”)。然后,驗(yàn)證者算法V驗(yàn)證等Sc2 = H2 (w”)是否成立。另外,驗(yàn)證者算法 V 驗(yàn)證等式 c3 = H3 (f (Xl+r' i (xn), ... , xn+r,(xn),xn) +f' ‘‘ (X1,..., xn))是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果d= 1,則驗(yàn)證者算法V計(jì)算(w”^^,...,^^ — σ。另外,驗(yàn)證者算法V 計(jì)算f' 〃 一&( ”)。然后,驗(yàn)證者算法ν驗(yàn)證等式Cl = Hjf' “
t),ζ’ ...,ζ’ n_i))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等Sc2 = H2 (w”)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 2,則驗(yàn)證者算法V計(jì)算(f〃 〃,ζ’ ,z’ J — σ。然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1 = HJf' “ (Z,i(t),…,Z,n-Jt),t),Ζ,…,Z,H))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等Sc3 = H3 (f"“)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值 O0(補(bǔ)充)而且,注意,在把上述步驟1中生成的消息(Cl,C2, C3)發(fā)送給驗(yàn)證者時(shí),與私密密鑰Sk有關(guān)的信息、與Ov IV1)有關(guān)的信息和與(Zl,. . .,Zn^1)有關(guān)的信息完全不被泄漏給驗(yàn)證者。還要注意,在把上述步驟3中生成的信息ο發(fā)送給驗(yàn)證者時(shí),在d = 0的情況下與Zl,...,Zn^1有關(guān)的信息完全不被泄漏給驗(yàn)證者,并且在d = 1,2的情況下與..., IV1有關(guān)的信息完全不被泄漏給驗(yàn)證者。(本方案與ASS-CC-IP公開(kāi)密鑰認(rèn)證方案之間的主要差異)如上所述,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中,驗(yàn)證者只要求兩類(lèi)驗(yàn)證模式。另一方面,在本方案的情況下,驗(yàn)證者可能要求三類(lèi)驗(yàn)證模式。一個(gè)具體的差異在于,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的情況下,不執(zhí)行本方案的與d = 1相對(duì)應(yīng)的使用 f,(Z1 (t), . . . , Zn-Jt), t)的驗(yàn)證。在本方案的情況下,在d = 1的驗(yàn)證模式和d = 2的驗(yàn)證模式中,執(zhí)行C1 = H1 (f,(Z1 (t),· · ·,Zlri (t),t),Z1, · · ·,Zlri)的驗(yàn)證和 C1 = H1 (f,,(Z1 (t),· · ·,Zlri (t),t), Z1,... , Zn^1)的驗(yàn)證,并且在兩個(gè)驗(yàn)證都通過(guò)的情況下保證了 f ’ (Z1 (t),. . .,Zn^1 (t),t)= f" (Z1 (t),. . .,Zn^1 (t),t)。這是本方案與ASS-CC-IP公開(kāi)密鑰認(rèn)證方案之間的主要差異。此外,單純將本方案的d = 1所對(duì)應(yīng)的驗(yàn)證模式添加到ASS-CC-IP公開(kāi)密鑰認(rèn)證方案不會(huì)解決ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的安全性的問(wèn)題。例如,即使在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中添加了 V = H2 (X’ (zx(t),zy(t),t),zx(t),zy(t))的驗(yàn)證,也不會(huì)解決安全性的問(wèn)題。如圖4所示,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案的情況下,由于已經(jīng)在第一遍中發(fā)送了關(guān)于X”的信息,所以如果將關(guān)于X’的信息給予驗(yàn)證者以執(zhí)行額外驗(yàn)證,則關(guān)于rx(t) 和ry(t)的信息將被泄漏,從而導(dǎo)致零知識(shí)性喪失。另一方面,在本方案的情況下,在第一遍中關(guān)于f ’,f ”,r1; . . .,Iv1,和Zl,. . .,Zn^1 的信息不被發(fā)送給驗(yàn)證者,而只有其散列值被發(fā)送給驗(yàn)證者。證明者算法P被設(shè)計(jì)為在第三遍中將驗(yàn)證所必需的最低限度信息發(fā)送給驗(yàn)證者,從而在本方案的交互協(xié)議保證了零知識(shí)性。另外,本方案提供了一種機(jī)制,其通過(guò)在第一遍中發(fā)送散列值,防止了在第一遍中證明者算法P使用的隨機(jī)數(shù)在第三遍被當(dāng)成另一隨機(jī)數(shù)。另一方面,在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中,在第一遍中不發(fā)送與X’有關(guān)的信息或散列值,從而有可能執(zhí)行偽造,以使得看起來(lái)好像在第三遍中使用了另一 X’ 一樣。在本方案與ASS-CC-IP公開(kāi)密鑰認(rèn)證方案之間也存在這種差異。(本方案中的健全性)本方案的健全性是通過(guò)如下方式來(lái)保證的如果證明者利用針對(duì)消息(Cl,C2, C3) 的正確信息σ對(duì)來(lái)自驗(yàn)證者的所有要求d = 0,l,2作出了響應(yīng),則可以根據(jù)這些響應(yīng)來(lái)計(jì)算滿足以下的式(6)和(7)的f〃 〃,f' “ ,r'r' ^和ζ’ ” ...,τ,0此外,這在ASS-CC-IP公開(kāi)密鑰認(rèn)證方案中得不到保證。[表達(dá)式6] " “ (X1,…,xn) = f (Xl+r'工(Xn),· · ·,xn_!+r' (xn),xn)+f' “ (Xl,...,Xn)... (6) " “ (z' “t),···,^ ^(t), t) = f' “ (z' !(t),... ,ζ' (t) , t). .. (7)如果保證了這種邏輯,就保證了只要沒(méi)有解答代數(shù)曲面上的片段找出問(wèn)題,則不可能以高于2/3的概率執(zhí)行偽造。即,為了對(duì)驗(yàn)證者的所有要求d = 0,1,2正確地作出響應(yīng),偽造者必須能夠計(jì)算出滿足以上的式(6)和(7)的f〃 〃,f' “...,r'^ 和ζ’ ...,ζ’ η-10換言之,偽造者必須能夠計(jì)算出滿足f (U1 (t),...,Un^a), t) = 0的 (U1, ... , IV1)。而且,偽造者可能能夠?qū)︱?yàn)證者的要求d = 0,1,2中的最多兩個(gè)正確地作出響應(yīng)。因此,偽造成功的概率將是2/3。上述交互協(xié)議被執(zhí)行足夠多次。因此,偽造成功的概率可被降低到可忽略的水平。(修改)另外,上述證明者算法P使用f ” (Z1 (t),. . .,Zn^1⑴,t)和Zl,. . .,Zn^1的散列值作為消息(V 然而,由于 f”(Z1 (t),...,Z1^aht) =f,(Zl(t),...,Z1^aht),所以證明者算法P可以使用f ’ (Z1⑴,...,Zn^1 (t),t)和Z1, ...,Zn^1的散列值作為消息c3。另外, 證明者算法P可以分開(kāi)計(jì)算f ” (Z1 (t),. . .,Zn^1⑴,t)的散列值和Z1, ...,Zn^1的散列值, 并且將其每一個(gè)作為消息發(fā)送給驗(yàn)證者。另外,上述證明者算法P通過(guò)向數(shù)字w應(yīng)用偽隨機(jī)數(shù)生成器G1來(lái)生成一個(gè)變量的多項(xiàng)式巧(t),. . .,Iv1⑴和數(shù)字W’。另外,上述證明者算法P通過(guò)將數(shù)字W’應(yīng)用到偽隨機(jī)數(shù)生成器&來(lái)生成η個(gè)變量的多項(xiàng)式f’(Xl,...,Xn)。然而,證明者算法P可以從開(kāi)始計(jì)算w=(巧⑴,…,!^⑴,^),并且可以使G1是恒等映射。另外,在此情況下,數(shù)字w 不一定要被應(yīng)用到Α。此外,對(duì)于( 也同樣如此。在上述方案中,C1、C2和C3是利用散列函數(shù)H1、吐和H3來(lái)計(jì)算的,但是取代散列函數(shù)也可使用承諾方案(commitment scheme)C0M。承諾函數(shù)COM是以字符串S和隨機(jī)數(shù)P作為參量的函數(shù)。承諾函數(shù)的示例包括由Shai Halevi和S ilvio Micali在International Conference CRYPTO 1996 展示的方案,等等。在使用此承諾函數(shù)的情況下,在計(jì)算Cl、C2* C3之前準(zhǔn)備隨機(jī)數(shù)Pl、P 2和P3,并且通過(guò)應(yīng)用承諾函數(shù)C0M( ·,P D、C0M( ·,P 2)禾口 C0M( ·,P3)而不是散列函數(shù)H1 ( ·)、 Η2(·)和Η3(·)來(lái)生成ci、c2*c3。另外,在此修改中,生成驗(yàn)證單元要計(jì)算的Ci所必需的P工被包括在響應(yīng)信息中。此外,此修改的方案可應(yīng)用到所有以下所述的方案。以上,已經(jīng)描述了根據(jù)本方案的基本算法結(jié)構(gòu)。[2-2 擴(kuò)展算法]接下來(lái),將參考圖7來(lái)描述作為本方案的擴(kuò)展(以下稱為擴(kuò)展方案)的公開(kāi)密鑰認(rèn)證方案的算法。圖7是用于描述基于擴(kuò)展方案的交互協(xié)議的流程的說(shuō)明圖。此擴(kuò)展方案是把在第一遍中要發(fā)送的消息(Cl、C2* c3)變換成一個(gè)散列值c并且將其發(fā)送給驗(yàn)證者的方案。另外,根據(jù)此擴(kuò)展方案,交互協(xié)議被配置為在第一遍中發(fā)送散列值c,從而不從在第三遍中發(fā)送的信息σ恢復(fù)的消息與信息ο —起被發(fā)送給驗(yàn)證者。利用這種擴(kuò)展,在交互協(xié)議中要發(fā)送給驗(yàn)證者的散列值的數(shù)目可得以減少,并且要傳輸?shù)臄?shù)據(jù)的大小可得以減小。以下,將詳細(xì)描述擴(kuò)展方案的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰Sk0注意這里滿足f0(Ul (t),· · ·,ujt),t) = 0。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖7來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P任意選擇數(shù)字W。然后,證明者算法P通過(guò)將數(shù)字w應(yīng)用到偽隨機(jī)數(shù)生成器G1來(lái)生成一個(gè)變量的多項(xiàng)式ri(t),^(t)和數(shù)字w’。即,證明者算法 P計(jì)算(r1;... ,Iv1, w’)-G1(W)0接下來(lái),證明者算法P通過(guò)將數(shù)字W’應(yīng)用到偽隨機(jī)數(shù)生成器&來(lái)生成η個(gè)變量的多項(xiàng)式f’(Xl,...,Xn)。即,證明者算法P計(jì)算f’ 一)。步驟1 (繼續(xù))接下來(lái),證明者算法P 計(jì)算(Zl(t),... , Zn^1 (t)) — (U1U)T1 (t),..., Ulri (t)-IV1 (t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式(r1; ...,Iv1)來(lái)掩蔽私密密鑰 (U1, ...,IV1)的操作。另夕卜,證明者算法 P 計(jì)算 f” (X1, ...,xn) — f (X^r1(Xn),..., Xn-I+^1(Xn), xn)+f’ (X1, ·..,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ (X1, ·..,xn)來(lái)掩蔽關(guān)于 X]^ ? · · · ? Xn 的多項(xiàng)式 f (xi+rj (χη), · · · , xn-i+rn_! (xn), xn)的操作。步驟1 (繼續(xù))接下來(lái),證明者算法P生成f ” (Z1 (t),. . .,Zn^1 (t),t)和Zl,. . .,Zn^1的散列值Cl。 即,證明者算法 P 計(jì)算 C1 — H1 (f ” (Z1 (t),. . .,Zn^1 (t),t),Zl,. . .,Zn^1)。另外,證明者算法 P生成數(shù)字W’的散列值c2。即,證明者算法P計(jì)算c2 —H2(W’)。另外,證明者算法P生成多項(xiàng)式f ”的散列值C30 S卩,證明者算法P計(jì)算C3 — H3 (f ”)。此外,所述的H1 (...)、H2 (...) 和H3(...)是散列函數(shù)。另外,散列值(ci,c2,c3)是消息。步驟1(繼續(xù))在擴(kuò)展方案的情況下,證明者算法P通過(guò)將消息(Cl,C2, C3)應(yīng)用到散列函數(shù)H來(lái)生成散列值C。然后,證明者算法P將所生成的散列值c發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V從三種驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求d e {0,1,2}。步驟3
證明者算法P響應(yīng)于從驗(yàn)證者接收的要求d生成要發(fā)送回驗(yàn)證者的信息ο。如果 d = 0,則證明者算法P生成信息(0,c*) = (w, C1) 0另外,如果d= 1,則證明者算法P生成信息(。,c) = (w’,Zl,...,Zn^c3K另外,如果d = 2,則證明者算法P生成信息(ο, c*) = (f ”,Z1,..., Zlri,C2)。這樣生成的信息(ο,c)被證明者算法P發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息(σ,C*)來(lái)執(zhí)行以下驗(yàn)證處理。如果d = 0,則驗(yàn)證者算法V計(jì)算(r’ . . .,r’ ,w”)一 G1 ( ο )。接下來(lái),驗(yàn)證者算法V計(jì)算f' “ —&(w”)。然后,驗(yàn)證者算法V計(jì)算c’ 2 = H2 (w”)。然后,驗(yàn)證者算法 V 計(jì)算 c,3 = H3 (f (Xl+r' ! (xn),…,Xn—i+r,(xn),xn) +f' “ (Xl,· · ·,xn))。然后,驗(yàn)證者算法V驗(yàn)證等式c = H(C*,C’2,C’3)是否成立。驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 1,則驗(yàn)證者算法V計(jì)算(^W1,... ,z'm) — σ。接下來(lái),驗(yàn)證者算法 ν計(jì)算Γ 〃 一&( ”)。然后,驗(yàn)證者算法ν計(jì)算C’i = Hjf' “
t),ζ’ ...,Z’n_i))。然后,驗(yàn)證者算法V計(jì)算c’ 2 = H2 (w”)。然后,驗(yàn)證者算法V驗(yàn)證等式c = HWpy2, O是否成立。驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 2,則驗(yàn)證者算法V計(jì)算(f' 〃,z’ ,z’ J — σ。然后,驗(yàn)證者算法 V 計(jì)算 C,工=H1 (f' “ (z,i ⑴,...,z,⑴,t),z,. . .,z,n_i))。然后,驗(yàn)證者算法V計(jì)算c’ 3 = H3(f〃丨‘)。然后,驗(yàn)證者算法V驗(yàn)證等式c = H(c’ ^(^c’ 3)是否成立。 驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證失敗的情況下輸出表明認(rèn)證失敗的值0。以上,已經(jīng)描述了擴(kuò)展方案的交互協(xié)議的每個(gè)算法的處理。利用這種擴(kuò)展,在交互協(xié)議中要發(fā)送給驗(yàn)證者的散列值的數(shù)目可得以減少,并且要傳輸?shù)臄?shù)據(jù)的大小可得以減小。[2-3:并行算法]現(xiàn)在,如上所述,當(dāng)采用根據(jù)本方案或擴(kuò)展方案的交互協(xié)議時(shí),偽造成功的概率可被降低到2/3以下。因此,如果此交互協(xié)議被執(zhí)行兩次,則偽造成功的概率可被降低到 0/3)2以下。以相同的方式,如果此交互協(xié)議被執(zhí)行N次,則偽造成功的概率變成(2/3廣, 而如果N是足夠大的數(shù)字(例如,N= 140),則偽造成功的概率被降低到可忽略的水平。例如,將根據(jù)本方案的交互協(xié)議并行執(zhí)行N次的算法在圖8中示出。以下,將參考圖8描述并行執(zhí)行交互協(xié)議N次的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰Sk0注意這里滿足f0(Ul (t),· · ·,ujt),t) = 0。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖8來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., Ulri) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(8)。(處理1)證明者算法P任意選擇數(shù)字Wi。(處理幻證明者算法P通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器 G1來(lái)生成一個(gè)變量的多項(xiàng)式LiU),...,IVlii (t)和數(shù)字w’ i。即,證明者算法P計(jì)算(巧, i,...,IV^,i) —GJr)。(處理;3)證明者算法P通過(guò)將數(shù)字w’ i應(yīng)用到偽隨機(jī)數(shù)生成器&來(lái)生成η個(gè)變量的多項(xiàng)式f’ i(Xl,...,Xn)。即,證明者算法P計(jì)算f’ i —&(w,》。步驟1(繼續(xù))(處理4)證明者算法 P 計(jì)算(Z1Jt),... ,Zn^a)) — (u^W-r^a),... ,Un^1, JO-iVua))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式O^i,...,IVu)來(lái)掩蔽私密密鑰(U1, i,..., Un^lji)的操作。(處理 5)證明者算法?計(jì)算產(chǎn)々1,···,。-f (X^rlji (Xn),..., Xn-Jrn-U(Xn), xn)+f’ Jx1, ...,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ i(Xl,...,xn)來(lái)掩蔽關(guān)于 X]^ ? · · · ? Xn 的多項(xiàng)式 f (xi+rj, i (Xn), · · · , Xn-i+r^!, i (Xn), Xn)的操作。步驟1 (繼續(xù))(處理6)證明者算法 P 生成 f” i (Zlji (t),. . .,Zn^lji (t),t)和 Zl,i,. . .,Zn^lji 的散列值 C1^ 即,證明者算法 P 計(jì)算 C1,i ^H1 (f” Jzlii ⑴,…,、^⑴,t),Z1,ρ... ,Z1^i)。 (處理7)證明者算法P生成數(shù)字w’ i的散列值c2,it)即,證明者算法P計(jì)算c2,i — H2 (w%)。 (處理8)證明者算法P生成多項(xiàng)式f”i的散列值c3,”即,證明者算法P計(jì)算C3ii^H3 (f”》。 此外,所述的H1 (...)、H2(...)和H3C..)是散列函數(shù)。另外,散列值(Cl, i,c2, ^c3J是消肩、ο在針對(duì)i = 1至N執(zhí)行了上述的(處理1)至(處理8)之后,在步驟1中生成的消息(Cu,c2, i,c3, i) (i = 1至N)被發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V對(duì)于i = 1至N中的每一個(gè),從三種驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求Cli e {0,1,2} (i = 1 至 N)。步驟3 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求Cli生成要發(fā)送回驗(yàn)證者的信息σ i。這里,證明者算法P針對(duì)i = 1至N執(zhí)行以下的(處理1)至(處理3)。(處理1)如果di = 0,則證明者算法P生成信息0i=Wi。(處理2)如果Cli = 1,則證明者算法P生成信息Oi =(w' ρΖ^,.,.,Ζη )。(處理3)如果Cli = 2,則證明者算法P生成信息Oi= (f”i,Zl, i,. . .,Zn^1, i)。在執(zhí)行了以上的(處理1)至(處理3)的判決和處理之后,信息σ i (i = 1 至N)被證明者算法P發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息σ Ji = 1至N)來(lái)執(zhí)行以下驗(yàn)證處理。此外,以下處理是針對(duì)i = 1至N執(zhí)行的。
如果Cli = 0,則驗(yàn)證者算法V計(jì)算(r,i, i,. . .,r' ^1, W”》一G1 ( ο》。另夕卜, 驗(yàn)證者算法V計(jì)算f' “ i-G2(W^i)0然后,驗(yàn)證者算法V驗(yàn)證等式c2,, = H2 (w” D是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c3, i = H3(f(Xl+r' uOO,...,x^+r' ^i(Xn), xn)+f' “ i(Xl,...,Xn))是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果Cli = 1,則驗(yàn)證者算法V計(jì)算(w”i; ζ’ U,...,z' ^lji) - oi0另外,驗(yàn)證者算法V計(jì)算f' “ ^G2然后,驗(yàn)證者算法V驗(yàn)證等式C1,i = HJf' “ ,(ζ' i(t),...,ζ,η_ΙΛ{Χ),Χ),ζ' U1,...,ζ' n_ul))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c2, i = H2(W^i)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值 1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果Cli = 2,則驗(yàn)證者算法 V 計(jì)算(f〃 ‘‘ ,, ζ' U1, ... , ζ' n_ul) - oi0 然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1, i = H1 (f ‘ ‘‘ i (ζ,i, i ⑴,...,ζ,η i ⑴,t),ζ,i, i,. . .,ζ,η》) 是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式£^ = ^" “ D是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。以上,已經(jīng)描述了并行執(zhí)行本方案的交互協(xié)議的方法。如上所述,通過(guò)反復(fù)執(zhí)行本方案的交互協(xié)議,可以將偽造成功的概率降低到可忽略的水平。[2-4 非交互型算法]以上,已經(jīng)描述了 3遍公開(kāi)密鑰認(rèn)證方案。然而,由于根據(jù)本方案,在第二遍中從驗(yàn)證者發(fā)送到證明者的信息只是表明驗(yàn)證模式的要求d(實(shí)際上只是一隨機(jī)數(shù)),所以有可能修改到1遍公開(kāi)密鑰認(rèn)證方案(以下稱為非交互型方案)。此外,根據(jù)非交互型方案的每個(gè)算法的內(nèi)容在圖9中示出。以下,將參考圖9來(lái)描述根據(jù)非交互型方案的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰Sk0注意這里滿足f0(Ul (t),· · ·,ujt),t) = O。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖9來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(8)。(處理1)證明者算法P任意選擇數(shù)字Wi。(處理幻證明者算法P通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器 G1來(lái)生成一個(gè)變量的多項(xiàng)式LiU),...,IVlii (t)和數(shù)字w’ i。即,證明者算法P計(jì)算(巧,i,...,IVlii,D —GJr)。(處理幻證明者算法P通過(guò)將數(shù)字W’ i應(yīng)用到偽隨機(jī)數(shù)生成器&來(lái)生成η個(gè)變量的多項(xiàng)式f’ i(Xl,...,Xn)。即,證明者算法P計(jì)算f’ i —&(w,》。步驟1 (繼續(xù))(處理4)證明者算法 P 計(jì)算(Z1Jt),... ,Zn^a)) — (u^W-r^a),... ,Un^1, JO-iVua))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式O^i,...,IVu)來(lái)掩蔽私密密鑰(U1, i,..., Un^lji)的操作。(處理 5)證明者算法?計(jì)算產(chǎn)々1,···,。-f (X^rlji (Xn),..., Xn-Jrn-U(Xn), xn)+f’ Jx1, ...,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ i(Xl,...,xn)來(lái)掩蔽關(guān)于 X]^ ? · · · ? Xn 的多項(xiàng)式 f (xi+rj, i (Xn), · · · , Xn-i+r^!, i (Xn), Xn)的操作。步驟1 (繼續(xù))(處理6)證明者算法 P 生成 f” i (Zlji (t),. . .,Zn^lji (t),t)和 Zl,i,. . .,Zn^lji 的散列值 C1^ 即,證明者算法 P 計(jì)算 C1,i ^H1 (f” Jzlii ⑴,…,、^⑴,t),Z1,ρ... ,Z1^i)。 (處理7)證明者算法P生成數(shù)字w’ i的散列值c2,it)即,證明者算法P計(jì)算c2,i — H2 (w%)。 (處理8)證明者算法P生成多項(xiàng)式f”i的散列值c3,”即,證明者算法P計(jì)算C3ii^H3 (f”》。 此外,所述的H1 (...)、H2(...)和H3C..)是散列函數(shù)。另外,散列值(Cl, i,c2, ^c3J是消肩、ο步驟2 接下來(lái),證明者算法P選擇隨機(jī)數(shù)R。然后,證明者算法P對(duì)于i = 1至N,通過(guò)將隨機(jī)數(shù)R和在步驟1中生成的消息(C1,PC2^C3a)應(yīng)用到散列函數(shù)H來(lái)生成d = ((I1,..., dN)。步驟3:接下來(lái),證明者算法P根據(jù)所生成的Cli來(lái)生成要發(fā)送給驗(yàn)證者的信息0i。這里, 證明者算法P針對(duì)i = 1至N執(zhí)行以下的(處理1)至(處理3)。(處理1)如果Cli = 0, 則證明者算法P生成信息oi = Wi。(處理2)如果Cli = 1,則證明者算法P生成信息Oi =(w' ρΖ^,.,.,Ζη )。(處理3)如果Cli = 2,則證明者算法P生成信息Oi= (f”i,Zl, i,. . .,Zn^1, i)。在執(zhí)行了以上的(處理1)至(處理3)的判決和處理之后,隨機(jī)數(shù)R、消息 (Cl, PC2^C3J和信息0i(i = 1至N)被證明者算法P發(fā)送給驗(yàn)證者。步驟4:驗(yàn)證者算法V首先通過(guò)把從證明者接收的隨機(jī)數(shù)R、消息(C1, C2, i,C3,》和信息 OiG = I至N)應(yīng)用到散列函數(shù)H來(lái)生成d= (^,...,(In)0然后,驗(yàn)證者算法V通過(guò)使用信息σ i (i = 1至N)來(lái)執(zhí)行以下驗(yàn)證處理。此外,以下處理是針對(duì)i = 1至N執(zhí)行的。如果Cli = 0,則驗(yàn)證者算法V計(jì)算(r,i, i,. . .,r' ^1, W”》一G1 ( ο》。另夕卜, 驗(yàn)證者算法V計(jì)算f' “ i-G2(W^i)0然后,驗(yàn)證者算法V驗(yàn)證等式c2,, = H2 (w” D是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c3, i = H3(f(Xl+r' uOO,...,x^+r' ^i(Xn), xn)+f' “ i(Xl,...,Xn))是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。如果Cli = 1,則驗(yàn)證者算法V計(jì)算(w”i,ζ’ U,...,z' ^lji) — oi0另外,驗(yàn)證者算法V計(jì)算f' “ ^G2然后,驗(yàn)證者算法V驗(yàn)證等式C1,i = HJf' “ ,(ζ' i(t),...,ζ,η_ΙΛ{Χ),Χ),ζ' U1,...,ζ' n_ul))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c2, i = H2(W^i)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果Cli = 2,則驗(yàn)證者算法 V 計(jì)算(f〃 ‘‘ z’ u,...,z’ ^lji) — oi0 然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1, i = H1 (f ‘ ‘‘ i (ζ,i, i ⑴,...,ζ,η i ⑴,t),ζ,i, i,. . .,ζ,η》) 是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式£^ = ^" “ D是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。以上,已經(jīng)描述了根據(jù)非交互型方案的每個(gè)算法的內(nèi)容。如上所述,根據(jù)非交互型方案,不是驗(yàn)證者向證明者發(fā)送隨機(jī)數(shù)d來(lái)選擇驗(yàn)證模式,而是證明者算法P通過(guò)使用消息 (Cl, i,C2, C3,》來(lái)生成d。如果假定理想的散列函數(shù)H,則散列值d將表現(xiàn)為隨機(jī)的,從而不會(huì)出現(xiàn)對(duì)證明者來(lái)說(shuō)方便的散列值d。因此,即使在執(zhí)行上述修改時(shí),也確保了充分的安全性。此外,這種修改可類(lèi)似地應(yīng)用到擴(kuò)展方案等等。[2-5 修改成數(shù)字簽名方案]這里,將描述將本方案修改成數(shù)字簽名方案的方法。此外,為了簡(jiǎn)單起見(jiàn),這里將描述將上述非交互型方案修改成數(shù)字簽名方案的方法??梢岳斫?,當(dāng)上述非交互型方案的證明者和驗(yàn)證者對(duì)應(yīng)于數(shù)字簽名方案的簽名者和驗(yàn)證者時(shí),與數(shù)字簽名方案的模型有類(lèi)似之處,即單是證明者就能夠使驗(yàn)證者確信??紤]到這個(gè)概念,將詳細(xì)描述基于非交互型方案的數(shù)字簽名方案的算法結(jié)構(gòu)。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn) "C (xn),并將f設(shè)定為驗(yàn)證密鑰pk。另外,密鑰生成算法Gen將(U1, ...,Un^1)設(shè)定為簽名密鑰Sk0注意這里滿足f0(Ul (t),…,Ulri⑴,t) = 0。(簽名生成算法Sig)簽名生成算法Sig對(duì)于i = 1至N執(zhí)行以下的(處理1)至(處理15)。此外,假定在簽名生成算法Sig中輸入簽名密鑰sk = (U1, ... , Ulri)和文檔M。(處理1)簽名生成算法Sig任意選擇數(shù)字Wi。(處理幻簽名生成算法Sig通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器G1來(lái)生成一個(gè)變量的多項(xiàng)式LiU),... ,Iv1Jt)和數(shù)字 w’ i0即,簽名生成算法318計(jì)算(1^,...,4_1,1,《\)—61 )。(處理3)簽名生成算法 Sig通過(guò)將數(shù)字w’ i應(yīng)用到偽隨機(jī)數(shù)生成器( 來(lái)生成η個(gè)變量的多項(xiàng)式f ’ i (X1, . . .,xn)。 即,簽名生成算法Sig計(jì)算f’ i —&(w,》。(處理4)簽名生成算法 Sig 計(jì)算(Z1Jt),... ,Zn-^a)) — (u^W-r^a),..., Ulri, JO-IV1, i(t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式(ri, i,. . .,IV1, i)來(lái)掩蔽簽名密鑰(u^,...,UlriJ的操作。(處理5)簽名生成算法Sig計(jì)算f^Oq,...,xn) -f(Xl+ri, i (xn),. . .,Xn-I+^lji(Xn),xn) +f,i (X1,. . .,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式 f,i (X1,. . .,xn)來(lái)掩蔽關(guān)于 X1, . . .,\ 的多項(xiàng)式 MxJrlii(Xn),. . .,Xn-Jrn-Li(Xn),xn)的操作。(處理6)簽名生成算法 Sig 生成 f” i (Z1, i (t),. . .,Zlri, i ⑴,t)和 Z1, . . .,Zlri, i 的散列值、^ SP,簽名生成算法 Sig 計(jì)算 C1, i —HJf ” Jzlii ⑴,...,Zlri, i(t),t),Zlj i,...,^^)。(處理7)簽名生成算法Sig生成數(shù)字w’ i的散列值c2,it) S卩,簽名生成算法
29Sig計(jì)算C2ii^H2 (W,》。(處理8)簽名生成算法Sig生成多項(xiàng)式f”i的散列值c3,it)艮口, 簽名生成算法Sig計(jì)算C3, i — H3 (f ” D。此外,所述的H1 (...)、H2 (...)和H3 (...)是散列函數(shù)。(處理9)簽名生成算法Sig選擇隨機(jī)數(shù)R。(處理10)簽名生成算法Sig對(duì)于i =1至N,通過(guò)將文檔M、隨機(jī)數(shù)R和散列值(Cl, PC2^C3ii)應(yīng)用到散列函數(shù)H來(lái)生成d = (di; . . . , dN) ο SP,簽名生成算法 Sig 計(jì)算 d = ((I1,... ,dN) —HO^Mku,···,c3,N)。(處理11)簽名生成算法Sig根據(jù)所生成的Cli來(lái)生成信息ο lt)然后,簽名生成算法Sig對(duì)于i = 1至N執(zhí)行以下的(處理12)至(處理14)。 (處理12)如果Cli = 0,則簽名生成算法Sig生成信息σ i = Wi。(處理13)如果Cli = 1, 則簽名生成算法Sig生成信息Oi = (w’ Zlji,..., ZlriJ。(處理14)如果Cli = 2,則簽名生成算法Sig生成信息Oi = (fpZu,...,ZlriJ。(處理15)在針對(duì)i= 1至N執(zhí)行了以上的(處理12)至(處理14)的判決和處理之后,簽名生成算法Sig輸出包括隨機(jī)數(shù)R、消息(Cl,PC2JC3J和信息0i(i = 1至N) 的數(shù)字簽名 σ = (R, Clji, c2ji, c3ji, Q1,..., σΝ)。(簽名驗(yàn)證算法Ver)如果對(duì)于i = 1至N,以下的所有驗(yàn)證都通過(guò),則簽名驗(yàn)證算法Ver接受數(shù)字簽名 σ,但即使一個(gè)驗(yàn)證沒(méi)有通過(guò),簽名驗(yàn)證算法Ver也會(huì)拒絕數(shù)字簽名ο。此外,假定在簽名驗(yàn)證算法Ver中輸入數(shù)字簽名ο和文檔Μ。首先,簽名驗(yàn)證算法Ver計(jì)算d = ((I1,..., dN) —H(R,M,Clil,...,c3,N)。接下來(lái),簽名驗(yàn)證算法Ver對(duì)于i = 1至N執(zhí)行以下的(驗(yàn)證1)至(驗(yàn)證3)。(驗(yàn)證1)如果Cli= O,則簽名驗(yàn)證算法Ver計(jì)算(r,^,· · ·,rVu,w”》-G1(Oi)0 接下來(lái),簽名驗(yàn)證算法Ver計(jì)算f' “ i —&( )。然后,簽名驗(yàn)證算法Ver驗(yàn)證等式C2, i = H2 (w” D是否成立。另外,簽名驗(yàn)證算法Ver驗(yàn)證等式c3, i =H3 (f(Xl+r’ ^i(Xn),..., Xn-!, #,μ, i (Xn), xn)+f' ‘‘ ^x1,..., xn))是否成立。簽名驗(yàn)證算法Ver在所有驗(yàn)證都成功的情況下輸出表明接受數(shù)字簽名ο的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明拒絕數(shù)字簽名σ的值O。(驗(yàn)證2)如果Cli= 1,則簽名驗(yàn)證算法Ver計(jì)算W Ui,...,z' ^i) 一 σ 接下來(lái),簽名驗(yàn)證算法Ver計(jì)算f' “ i—(;2( 。。然后,簽名驗(yàn)證算法Ver驗(yàn)證等式C1, i =H^f' “ Jz,“⑴,…-,?^“⑴,^,? υ,...,z'HJ)是否成立。另外,簽名驗(yàn)證算法Ver驗(yàn)證等式C2ii = H2(^i)是否成立。簽名驗(yàn)證算法Ver在所有驗(yàn)證都成功的情況下輸出表明接受數(shù)字簽名ο的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明拒絕數(shù)字簽名σ的值O。(驗(yàn)證3)如果 Cli = 2,則簽名驗(yàn)證算法 Ver 計(jì)算(f〃 “ ,,ζ'1Λ,. . . ,ζ'η_1Λ) - σ 然后,簽名驗(yàn)證算法 Ver 驗(yàn)證等式 C1,i = HJf' “ , (z'(t),. . . , z'^,, (t), t), z'..., VlriJ)是否成立。另外,簽名驗(yàn)證算法Ver驗(yàn)證等式C3a = H3^"“》是否成立。簽名驗(yàn)證算法Ver在所有驗(yàn)證都成功的情況下輸出表明接受數(shù)字簽名ο的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明拒絕數(shù)字簽名ο的值O。以上,已經(jīng)描述了基于本方案的數(shù)字簽名方案的每個(gè)算法結(jié)構(gòu)。該數(shù)字簽名方案以代數(shù)曲面上的片段找出問(wèn)題作為安全性的基礎(chǔ),但是不包含像ASS-CC數(shù)字簽名方案那樣的安全性問(wèn)題。此外,可以類(lèi)似地構(gòu)造基于上述的擴(kuò)展方案的數(shù)字簽名方案。[2-6 具體示例]接下來(lái),將參考圖10來(lái)描述在執(zhí)行本方案時(shí)可以設(shè)想的具體算法結(jié)構(gòu)。圖10是用于描述本方案的具體示例的說(shuō)明圖。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的三個(gè)變量的D次多項(xiàng)式f^ (x, y, t)和一個(gè)變量的多次多項(xiàng)式ux(t)和 (0。D次多項(xiàng)式 ^χ,γ, )由以下的式(8)表示。另外,一個(gè)變量的多次多項(xiàng)式ux(t)由以下的式(9)表示。另外,一個(gè)變量的多次多項(xiàng)式 (0由以下的式(10)表示。[表達(dá)式7] Λ O, ^O= ΣΧ Υ... (8)
/+j+k<D(O = Σ^/(9)Uy(t)= ^Yjuy/(10)接下來(lái),密鑰生成算法Gen計(jì)算c (t) — & (ux (t),Uy (t),t)。然后,密鑰生成算法 Gen計(jì)算f(x,y,t) = f0(x, y,t) _c (t),并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法 Gen將(ux,uy)設(shè)定為私密密鑰sk。此外,密鑰生成算法Gen要生成的f對(duì)于除x°y°tk以外的項(xiàng)將是最大D次的,而對(duì)于x°y°tk項(xiàng)將是最大D+Ds次的。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖10來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足(ux,uy)的f(ux(t),Uy (t),t) ”,而完全不向驗(yàn)證者泄漏關(guān)于(ux,uy)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P任意選擇數(shù)字W。然后,證明者算法P通過(guò)將數(shù)字w應(yīng)用到偽隨機(jī)數(shù)生成器G1來(lái)生成一個(gè)變量的多項(xiàng)式rx(t),ry(t)和數(shù)字w’。即,證明者算法P計(jì)算 (rx,ry,w’)-G1 (w)0接下來(lái),證明者算法P通過(guò)將數(shù)字w’應(yīng)用到偽隨機(jī)數(shù)生成器( 來(lái)生成三個(gè)變量的多項(xiàng)式f,(x,y,t)。即,證明者算法P計(jì)算f,一 &(w,)。此外,使得多項(xiàng)式 f’的次數(shù)與多項(xiàng)式f的次數(shù)是相同的。即,其對(duì)于除x°y°tk以外的項(xiàng)將是最大D次的,而對(duì)于x°y°tk項(xiàng)將是最大D+Ds次的。步驟1 (繼續(xù))接下來(lái),證明者算法P 計(jì)算 bx(t),zy(t)) — (ux(t)-rx(t),uy(t)-ry(t))0 此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式(rx,ry)來(lái)掩蔽私密密鑰(ux,uy)的操作。另外,證明者算法P 計(jì)算 f”(x,y,t) -f(x+rx(t),y+ry(t),t)+f' (x,y,t)。此計(jì)算相當(dāng)于用多項(xiàng)式 f,(χ, y, t)來(lái)掩蔽關(guān)于x,y和ζ的多項(xiàng)式f(x+rx(t),y+ry(t),t)的操作。應(yīng)當(dāng)注意,在f (x+rx(t),y+ry(t),t)中出現(xiàn)的與rx(t)和!^⑴有關(guān)的項(xiàng)全都被f’ (χ, y, t)掩蔽。步驟1(繼續(xù))接下來(lái),證明者算法P生成f” (zx(t),zy(t),t)和zx,zy&散列值Cl。即,證明者算法P計(jì)算C1 — H1 (f ” (zx⑴,zy⑴,t),zx, zy)。另外,證明者算法P生成數(shù)字W’的散列值c2。即,證明者算法P計(jì)算c2 —H2(w’)。另外,證明者算法P生成多項(xiàng)式f”的散列值 c3。即,證明者算法P計(jì)算c3 —H3 (f”)。此外,所述的氏(...)、!12(...)和H3C..)是散列函數(shù)。另外,散列值(Cl,c2, c3)是消息。在步驟1中生成的消息(Cl,C2, C3)被發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V從三種驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求d e {0,1,2}。步驟3 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求d生成要發(fā)送回驗(yàn)證者的信息σ。如果d = 0,則證明者算法P生成信息O =w。另外,如果d= 1,則證明者算法P生成信息 σ = (w',zx, zy)0另外,如果d = 2,則證明者算法P生成信息σ = (f”,zx,zy)。這樣生成的信息ο被證明者算法P發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息ο來(lái)執(zhí)行以下驗(yàn)證處理。如果d = 0,則驗(yàn)證者算法V計(jì)算(r’x,r’y,w”)-G1(O)0另外,驗(yàn)證者算法V 計(jì)算f' “ —&(w”)。然后,驗(yàn)證者算法V驗(yàn)證等式C2 = H2(w”)是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c3 = H3(f(x+r,x(t),y+r,y(t),t)+f' “ (x,y,t))是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 1,則驗(yàn)證者算法V計(jì)算(w”,z’ x,z’ y) — σ。另外,驗(yàn)證者算法V計(jì)算 f' 〃一&(w”)。然后,驗(yàn)證者算法 V 驗(yàn)證等Sc1 = H1^' “ (z' x(t), ζ' y(t), t), ζ' x, z’y))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式C2 = H2 (w”)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 2,則驗(yàn)證者算法V計(jì)算(f〃丨‘,z’x,z’y) — ο。然后,驗(yàn)證者算法V驗(yàn)證等式C1 = HJf' “ (z,x(t),z,y(t),t),z,x,z,y))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式c3 = H3(f"“)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。以上,已經(jīng)描述了在執(zhí)行本方案時(shí)可以設(shè)想的具體算法結(jié)構(gòu)。<3 第二實(shí)施例>接下來(lái),將描述本發(fā)明的第二實(shí)施例。以上,已經(jīng)描述了 3遍公開(kāi)密鑰認(rèn)證方案。 在本實(shí)施例中,將描述5遍公開(kāi)密鑰認(rèn)證方案(以下稱為本方案)。本方案是通過(guò)使驗(yàn)證者的驗(yàn)證模式的數(shù)目為2q來(lái)確保公開(kāi)密鑰認(rèn)證方案的健全性的方案。此外,在根據(jù)上述第一實(shí)施例的3遍公開(kāi)密鑰認(rèn)證方案中,每次交互協(xié)議的偽造概率為2/3。然而,在本方案中,每次交互協(xié)議的偽造概率將為l/2+l/q,如下所述。而且,q是要使用的環(huán)的階數(shù)。因此,如圖18所示,如果環(huán)的階數(shù)足夠大,則本方案更能夠降低每次交互協(xié)議的偽造概率,并且通過(guò)執(zhí)行少量次數(shù)的交互協(xié)議就可充分地降低偽造的概率。根據(jù)5遍公開(kāi)密鑰認(rèn)證方案的交互協(xié)議可能看起來(lái)沒(méi)有根據(jù)3遍公開(kāi)密鑰認(rèn)證方案的交互協(xié)議那么高效。然而,根據(jù)5遍公開(kāi)密鑰認(rèn)證方案,如果使環(huán)的階數(shù)足夠大,那么每次交互協(xié)議的偽造概率將接近1/2,從而實(shí)現(xiàn)相同的安全性水平所需的交互協(xié)議執(zhí)行次數(shù)將更少。例如,在3遍公開(kāi)密鑰認(rèn)證方案中,為了使偽造概率為1/2"以下,交互協(xié)議必須被執(zhí)行n/(log3-l) = 1.701η次以上。另一方面,在5遍公開(kāi)密鑰認(rèn)證方案中,交互協(xié)議必須被執(zhí)行n/(l-l0g(l+l/q))次以上。如圖18所示,例如,當(dāng)q = 24時(shí),就實(shí)現(xiàn)相同的安全性水平所需的通信量而言,5遍公開(kāi)密鑰認(rèn)證方案將少于3遍公開(kāi)密鑰認(rèn)證方案。[3-1 用于公開(kāi)密鑰認(rèn)證方案的算法]以下,將參考圖11來(lái)描述根據(jù)5遍公開(kāi)密鑰認(rèn)證方案(本方案)的算法結(jié)構(gòu)。圖 11是用于描述根據(jù)本方案的算法的內(nèi)容的說(shuō)明圖。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰sk。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖11來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P任意選擇數(shù)字W。然后,證明者算法P通過(guò)將數(shù)字w應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式η (t),. . .,Iv1 (t)和η個(gè)變量的多項(xiàng)式 f’(Xl,...,Xn)。SP,證明者算法P計(jì)算(r1;...,Iv1, f’)一 G(W)。接下來(lái),證明者算法P 計(jì)算(Z1 (t),· · ·,Zn^1 (t)) — (U1 (t) T1 (t),· · ·,Ulri (t) -IV1 (t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式Ov ...,Iv1)來(lái)掩蔽私密密鑰(U1, ...,Ulri)的操作。步驟1 (繼續(xù))接下來(lái),證明者算法P生成f ” (Z1 (t),. . .,Zn^1 (t),t)和Zl,. . .,Zn^1的散列值Cl。 即,證明者算法ρ計(jì)算Cl —iUf^ha),...,z^a),t),Zl,...,ζ」。另外,證明者算法P生成數(shù)字W的散列值c2。即,證明者算法P計(jì)算C2 —H2 (W)。此外,所述的H1C..)和 H2C..)是散列函數(shù)。另外,散列值(Cl,C2)是消息。在步驟1中生成的消息(Cl,C2)被發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V從環(huán)K的q類(lèi)元素中選擇一個(gè)隨機(jī)數(shù)a。然后,驗(yàn)證者算法V將所選擇的隨機(jī)數(shù)α發(fā)送給證明者。步驟3 證明者算法P 計(jì)算 f”(Xl,· · ·,χη) — α f(Xl+ri (xn) , ... , XnJiV1 (xn), Xn)+f’ (X1, ...,Xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ (X1, ...,Xn)來(lái)掩蔽關(guān)于X1, ...,I的多項(xiàng)式 f (X^r1 (Xn),…,Xn-i+r^! (Xn),Xn)的操作。在步驟3中生成的多項(xiàng)式f”被發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V從兩個(gè)驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求d e {0,1}。步驟5 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求d生成要發(fā)送回驗(yàn)證者的信息ο。如果 d = 0,則證明者算法P生成信息O =w。另外,如果d= 1,則證明者算法P生成信息O =(Z1,..., ZnJ0這樣生成的信息σ被證明者算法P發(fā)送給驗(yàn)證者。步驟6 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息ο來(lái)執(zhí)行以下驗(yàn)證處理。如果d = 0,則驗(yàn)證者算法V計(jì)算(r’ ρ...,!·’^,f' “ )—G(o)。然后,驗(yàn)證者算法V驗(yàn)證等式C2 = H2(O)是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式f”(Xl,...,xn)= α f (Xl+r,i (Xn),· · ·,Xlri+r,(χη),χη) +f ‘ “ (Xl,· · ·,xn)是否成立。驗(yàn)證者算法 V 在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果d = 1,則驗(yàn)證者算法V計(jì)算(z,,z’ n_i) — σ。然后,驗(yàn)證者算法V驗(yàn)證等式 C1 = HJf' “是否成立。驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。(補(bǔ)充)而且,注意,在把上述步驟1和步驟3中生成的消息(Cl,C2)和f”發(fā)送給驗(yàn)證者時(shí),與私密密鑰sk有關(guān)的信息、與(Γι,Iv1)有關(guān)的信息和與(Zl,. . .,Zn^1)有關(guān)的信息完全不被泄漏給驗(yàn)證者。還要注意,在把上述步驟5中生成的信息ο發(fā)送給驗(yàn)證者時(shí), 在d = 0的情況下與Zl,...,Zn^1有關(guān)的信息完全不被泄漏給驗(yàn)證者,并且在d = 1的情況下與. . .,Iv1有關(guān)的信息完全不被泄漏給驗(yàn)證者。(本方案中的健全性)本方案的健全性是通過(guò)如下方式來(lái)保證的如果證明者算法P對(duì)于一組(C1, C2) 和由驗(yàn)證者算法V選擇的兩類(lèi)(Ci1, α2),正確地對(duì)要求d = 0,l作出了響應(yīng),則可以根據(jù)這些響應(yīng)來(lái)計(jì)算滿足以下的式(11)至(13)的f “ ‘‘ 1; f “ ‘‘ 2,f ‘ “ ,r'r' ^,和
Z ι j · · · j Z η_ι ο[表達(dá)式8]〃“ (X1, ...,xn) = Qjf (Xl+r ‘ ! (Xn),· · ·,Xn^1+r ‘ (Xn),xn)+f' “ (χι,···,χη)…(11)
2" “ (X1, ...,xn) = a2f (Xl+r ‘ ! (Xn),· · ·,Xn^1+r ‘ (Xn),xn)+f' “ (χι,···,χη)... (12)“ “ (Z1 (t),· · ·,Zlri (t),t) = f2 “ “ (Z1 (t),· · ·,Zn^1 (t),t)…(13)如果保證了這種邏輯,就保證了只要沒(méi)有解答代數(shù)曲面上的片段找出問(wèn)題,則不可能以高于l/2+l/q的概率執(zhí)行偽造。即,為了對(duì)驗(yàn)證者的所有要求d = 0,1正確地作出響應(yīng),偽造者必須能夠計(jì)算出滿足以上的式(11)至(13)的f〃 ‘‘ ,, " “ 2,f' “ ,r'
r’ 和ζ’ . . .,ζ’ n_lt)換言之,偽造者必須能夠計(jì)算出滿足f (U1 (t), ... , Un^1 (t),t)= 0的(u”...,^^)。因此,只要沒(méi)有解答代數(shù)曲面上的片段找出問(wèn)題,偽造者就不能夠以高于l/2+l/q的概率成功執(zhí)行偽造。此外,通過(guò)執(zhí)行上述交互協(xié)議足夠多次,偽造成功的概率可被降低到可忽略的水平。(修改)證明者算法P使用T f,,(Z1⑴,· · ·,Zn^1 (t),t)和Z1, · · ·,Zn^1的散列值作為消息 C10但證明者算法P可以分開(kāi)計(jì)算f ” (Z1 (t),. . .,Zn^1 (t),t)的散列值和Z1, ...,Zn^1的散列值,并且可以將其每一個(gè)作為消息分開(kāi)發(fā)送給驗(yàn)證者。另外,上述證明者算法P通過(guò)向數(shù)字W應(yīng)用偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式A (t),. . .,IV1 (t)和η個(gè)變量的多項(xiàng)式f ’(Xl,. . .,χη)。然而,證明者算法P可以從開(kāi)始計(jì)算w =(巧(t),. . .,Iv1 (t),f ’), 并且可以使G是恒等映射。另外,在此情況下,數(shù)字w不一定要被應(yīng)用到G。以上,已經(jīng)描述了根據(jù)本方案的基本算法結(jié)構(gòu)。[3-2 擴(kuò)展算法]接下來(lái),將參考圖12來(lái)描述作為本方案的擴(kuò)展(以下稱為擴(kuò)展方案)的公開(kāi)密鑰認(rèn)證方案的算法。圖12是用于描述基于擴(kuò)展方案的交互協(xié)議的流程的說(shuō)明圖。此擴(kuò)展方案是把在第三遍中要發(fā)送的多項(xiàng)式f”變換成一個(gè)散列值C3并且將其發(fā)送給驗(yàn)證者的方案。 利用這種擴(kuò)展,在交互協(xié)議中向驗(yàn)證者發(fā)送表示大小(!^presentation size)較大的多項(xiàng)式f”的概率被降低到一半,并且要傳輸?shù)臄?shù)據(jù)的平均大小可得以減小。以下,將詳細(xì)描述擴(kuò)展方案的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰sk。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖12來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。
步驟1:首先,證明者算法P任意選擇數(shù)字W。然后,證明者算法P通過(guò)將數(shù)字w應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式η (t),. . .,Iv1 (t)和η個(gè)變量的多項(xiàng)式 f’(Xl,...,Xn)。SP,證明者算法P計(jì)算(r1;...,Iv1, f’)一 G(W)。接下來(lái),證明者算法P 計(jì)算(Z1 (t),· · ·,Zn^1 (t)) — (U1 (t) T1 (t),· · ·,Ulri (t) -IV1 (t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式Ov ...,Iv1)來(lái)掩蔽私密密鑰(U1, ...,Ulri)的操作。步驟1(繼續(xù))接下來(lái),證明者算法P生成f ” (Z1⑴,...,Zn^1⑴,t)和Zl,. . .,Zn^1的散列值Cl。 即,證明者算法ρ計(jì)算Cl —iUf^ha),...,ζ^α),t),Zl,...,ζ」。另外,證明者算法P生成數(shù)字W的散列值c2。即,證明者算法P計(jì)算C2 —H2 (W)。此外,所述的H1C..)和 H2C..)是散列函數(shù)。另外,散列值(Cl,C2)是消息。在步驟1中生成的消息(Cl,C2)被發(fā)送給驗(yàn)證者。步驟2:驗(yàn)證者算法V從環(huán)K的q類(lèi)元素中選擇一個(gè)隨機(jī)數(shù)a。然后,驗(yàn)證者算法V將所選擇的隨機(jī)數(shù)α發(fā)送給證明者。步驟3 證明者算法P 計(jì)算 f”(Xl,· · ·,xn) — a f(Xl+ri (xn) , ... , XnJiV1 (xn), xn)+f’(Xl,...,Xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’(Xl,...,Xn)來(lái)掩蔽關(guān)于X1,...,I的多項(xiàng)式f(Xl+ri(Xn),...,XM+iViOO,。的操作。另外,證明者算法P生成多項(xiàng)式f”的散列值 C30即,證明者算法P計(jì)算c3 —H3(f”)。此外,所述的H3(...)是散列函數(shù)。另外,散列值 C3是消息。在步驟3中生成的消息C3被發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V從兩個(gè)驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求d e {0,1}。步驟5 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求d生成要發(fā)送回驗(yàn)證者的信息ο。如果 d = 0,則證明者算法P生成信息O =w。另外,如果d= 1,則證明者算法P生成信息O =(、,...,、+^)。這樣生成的信息σ被證明者算法P發(fā)送給驗(yàn)證者。步驟6 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息ο來(lái)執(zhí)行以下驗(yàn)證處理。如果d = 0,則驗(yàn)證者算法V計(jì)算(r,…,r,η,f' “ )—G(o)。然后, 驗(yàn)證者算法V驗(yàn)證等式C2 = H2(O)是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式C3 = H3 ( a f (Xl+r,i (Xn), ... , xn+r,(Xn),xn) +f' “ (Xl,· · ·,xn))是否成立。驗(yàn)證者算法 V 在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。如果(1=1,則驗(yàn)證者算法¥計(jì)算(2’1,...,2’11_1,廣丨‘)—σ。然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1 = HJf' “ (Z,i(t),…,Z,n-Jt),t),Z,…,Z,H))是否成立。另外,驗(yàn)證者算法V驗(yàn)證等Sc2 = H2 (f'“)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值 O0以上,已經(jīng)描述了擴(kuò)展方案的交互協(xié)議的每個(gè)算法的處理。利用這種擴(kuò)展,在交互協(xié)議中向驗(yàn)證者發(fā)送表示大小較大的多項(xiàng)式f”的概率可被降低到一半,并且要傳輸?shù)臄?shù)據(jù)的平均大小可得以減小。[3-3:并行算法]現(xiàn)在,如上所述,當(dāng)采用根據(jù)本方案或擴(kuò)展方案的交互協(xié)議時(shí),偽造成功的概率可被降低到l/2+l/q以下。因此,如果此交互協(xié)議被執(zhí)行兩次,則偽造成功的概率可被降低到(l/2+l/q)2以下。以相同的方式,如果此交互協(xié)議被執(zhí)行N次,則偽造成功的概率變成 (l/2+l/q)N,而如果N是足夠大的數(shù)字(例如,N = 80),則偽造成功的概率被降低到可忽略的水平。例如,將根據(jù)本方案的交互協(xié)議并行執(zhí)行N次的算法在圖13中示出。以下,將參考圖13描述并行執(zhí)行交互協(xié)議N次的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰sk。注意,這里滿足4(+(0,...,1^(0,0 =0。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖13來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., Ulri) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1:首先,證明者算法P對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(5)。(處理1) 證明者算法P任意選擇數(shù)字Wi。(處理幻證明者算法P通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式ru (t),. . .,IVia (t)和多項(xiàng)式f ’ i (X1,. . .,Xn)。S卩,證明者算法P計(jì)算(Li,...,IV1^f' D — G(Wi)。(處理3)證明者算法P計(jì)算(Z1Jt),..., Zn^a)) —(!^⑴-!^⑴,...,Ulri,JO-Iv1,i(t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式 (rlji; . . .,IV1J 來(lái)掩蔽私密密鑰(Ulii,. . .,Un^lji)的操作。步驟1 (繼續(xù))(處理4)證明者算法 P 生成 f” i (Zlji (t),· · ·,Z1^i ⑴,t)和 · · ·,Z1^i 的散列值 C1^ 即,證明者算法 P 計(jì)算 C1,i ^H1 (f” Jzlii ⑴,…,、^⑴,t),Z1,ρ... ,Z1^i)。 (處理5)證明者算法P生成數(shù)字w’ i的散列值c2,it)即,證明者算法P計(jì)算c2,i — H2 (w%)。在針對(duì)i = 1至N執(zhí)行了上述的(處理1)至(處理幻之后,在步驟1中生成的消息(Cu,C2,,) (i = 1至N)被發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V從環(huán)K的q類(lèi)元素中選擇N個(gè)隨機(jī)數(shù)α π . . .,a N。然后,驗(yàn)證者算法V將所選擇的隨機(jī)數(shù)α . . .,α N發(fā)送給證明者。步驟3 證明者算法P 對(duì)于 i = 1 至 N計(jì)算 f”i(Xl,... , xn) — α ,f (X^rlji(Xn),..., Xn-Jrn-U(Xn), xn)+f’ Jx1, ...,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ i(Xl,...,xn)來(lái)掩蔽關(guān)于 X1, ...,I的多項(xiàng)式Mxfr1, i (xn), ... , Xn-Arlri, i (xn),xn)的操作。然后,證明者算法P將多項(xiàng)式f ” . . .,f ”N發(fā)送給驗(yàn)證者。步驟4 驗(yàn)證者算法V對(duì)于i = 1至N中的每一個(gè),從兩個(gè)驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求Cli e {0,1} (i = 1 至N)。步驟5 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求Cli生成要發(fā)送回驗(yàn)證者的信息σ i。這里證明者算法P對(duì)于i = 1至N執(zhí)行以下的(處理1)或(處理2)。(處理1)如果di = 0,則證明者算法P生成信息0i=Wi。(處理2)如果Cli = 1,則證明者算法P生成信息Oi =(w' pZu,...,、^)。在執(zhí)行了以上的(處理1)或(處理2)的判決和處理之后,信息 σ i (i = 1至N)被證明者算法P發(fā)送給驗(yàn)證者。步驟6 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息σ Ji = 1至N)來(lái)執(zhí)行以下驗(yàn)證處理。此外,以下處理是針對(duì)i = 1至N執(zhí)行的。如果Cli = O,則驗(yàn)證者算法V計(jì)算(r'^.-.j'^pf·'“》一G1 ( σ》。然后, 驗(yàn)證者算法V驗(yàn)證等式c2,i = H2 ( ο》是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式f \ (Xl,..., xn) = f(Xl+r' Li(Xn),· · ·,Xlri, i+r,^lji(Xn),xn)+f' “ ^x1, · · ·,xn)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。如果Cli = 1,則驗(yàn)證者算法V計(jì)算(z’ u,...,ζ’ — oi0然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1,i = H^f' “ i(Z,“⑴,...,Ζ,η^ω,Ο,Ζ,u,...,z,^lji))是否成立。 驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。以上,已經(jīng)描述了并行執(zhí)行本方案的交互協(xié)議的方法。如上所述,通過(guò)反復(fù)執(zhí)行本方案的交互協(xié)議,可以將偽造成功的概率降低到可忽略的水平。此外,對(duì)于擴(kuò)展方案,也可以類(lèi)似地進(jìn)行并行化。用于擴(kuò)展方案的并行交互協(xié)議的算法結(jié)構(gòu)在圖14中示出。(根據(jù)擴(kuò)展方案的并行算法)接下來(lái),將參考圖14來(lái)描述根據(jù)擴(kuò)展方案的并行算法的內(nèi)容。此外,密鑰生成算法Gen的結(jié)構(gòu)與根據(jù)本方案的并行算法的基本相同,對(duì)其的詳細(xì)說(shuō)明將被省略。步驟1:首先,證明者算法P對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(5)。(處理1) 證明者算法P任意選擇數(shù)字Wi。(處理幻證明者算法P通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式ru (t),. . .,IVia (t)和多項(xiàng)式f ’ i (X1,. . .,Xn)。S卩,證明者算法P計(jì)算(Li,...,IV1^f' D — G(Wi)。(處理3)證明者算法P計(jì)算(Z1Jt),...,Zn^a)) —(!^⑴-!^⑴,...,Ulri,JO-Iv1,i(t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式 (rlji; . . .,IV1J 來(lái)掩蔽私密密鑰(Ulii,. . .,Un^lji)的操作。步驟1 (繼續(xù))(處理4)證明者算法 P 生成 f” i (Zlji (t),· · ·,Z1^i ⑴,t)和 · · ·,Z1^i 的散列值 C1^ 即,證明者算法 P 計(jì)算 C1,i ^H1 (f” Jzlii ⑴,…,、^⑴,t),Z1,ρ... ,Z1^i)。 (處理5)證明者算法P生成數(shù)字w’ i的散列值c2,it)即,證明者算法P計(jì)算c2,i — H2 (w%)。在針對(duì)i = 1至N執(zhí)行了上述的(處理1)至(處理幻之后,在步驟1中生成的消息(Cu,C2,,) (i = 1至N)被發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V從環(huán)K的q類(lèi)元素中選擇N個(gè)隨機(jī)數(shù)α π . . .,a N。然后,驗(yàn)證者算法V將所選擇的隨機(jī)數(shù)a . . .,a N發(fā)送給證明者。步驟3 證明者算法P對(duì)于i= 1至N計(jì)算 f^Oq,. . . , xn) 一 a ,f (Xl+riji (xn),. . .,Xn-Jrlri, i(Xn),xn)+f’ i(Xl,...,xn)。此計(jì)算相當(dāng)于用多項(xiàng)式 f’ i(Xl,...,xn)來(lái)掩蔽關(guān)于 X1,..., Xn的多項(xiàng)式f (Xjrlii (Xn),. . .,UiVu (Xn),Xn)的操作。然后,證明者算法P生成多項(xiàng)式 f”1;...,廣\的散列值c3。即,證明者算法P計(jì)算C3-H3^1, ...,f”N)。此外,所述的 H3C..)是散列函數(shù)。另外,散列值C3是消息。在步驟3中生成的消息C3被發(fā)送給驗(yàn)證者。步驟4:驗(yàn)證者算法V對(duì)于i = 1至N中的每一個(gè),從兩個(gè)驗(yàn)證模式中選擇要使用的驗(yàn)證模式。然后,驗(yàn)證者算法V向證明者發(fā)送表明所選擇的驗(yàn)證模式的要求Cli e {0,1} (i = 1 至N)。步驟5 證明者算法P響應(yīng)于從驗(yàn)證者接收的要求Cli生成要發(fā)送回驗(yàn)證者的信息σ i。這里,證明者算法P對(duì)于i = 1至N執(zhí)行以下的(處理1)或(處理2)。(處理1)如果di = 0,則證明者算法P生成信息0i=Wi。(處理2)如果Cli = 1,則證明者算法P生成信息Oi =(w' ^、^...,、^,廣》。在執(zhí)行了以上的(處理1)或(處理2)的判決和處理之后, 信息σ i (i = 1至N)被證明者算法P發(fā)送給驗(yàn)證者。步驟6 驗(yàn)證者算法V通過(guò)使用從證明者接收的信息σ Ji = 1至N)來(lái)執(zhí)行以下驗(yàn)證處理。此外,以下處理是針對(duì)i = 1至N執(zhí)行的。如果Cli = O,則驗(yàn)證者算法V計(jì)算(!·,",···,!·,“,W “》一G1 ( ο》。另外, 驗(yàn)證者算法 V 計(jì)算 f〃 ‘‘ ,-a^ (χ1+Γ ‘ u, (xn),. . . , χ,,^+r ‘ ^1,, (xn), xn) +f ‘ ‘‘ ^x1,..., xn)。然后,驗(yàn)證者算法V驗(yàn)證等式C2a = H2(Oi)是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式 c3 = H3(f〃 “ ,,..., " “ Ν)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。如果Cli = 1,則驗(yàn)證者算法V計(jì)算(z,Li,...,ζ,η」, " “ i) ^ oi0然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1, i = H1 (f ‘ ‘‘ i (ζ,i, i ⑴,...,ζ,η i ⑴,t),ζ,i, i,. . .,ζ,η》) 是否成立。另外,驗(yàn)證者算法V驗(yàn)證等Sc3 = H3 (f〃 “ " “ Ν)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值0。以上,已經(jīng)描述了根據(jù)擴(kuò)展方案的并行算法的內(nèi)容。[3-4 非交互型算法]以上,已經(jīng)描述了 5遍公開(kāi)密鑰認(rèn)證方案。然而,在本方案中,從驗(yàn)證者發(fā)送到證明者的信息實(shí)際上只是一隨機(jī)數(shù),從而有可能修改到1遍公開(kāi)密鑰認(rèn)證方案(以下稱為非交互型方案)。此外,根據(jù)非交互型方案的每個(gè)算法的內(nèi)容在圖15中示出。以下,將參考圖 15來(lái)描述根據(jù)非交互型方案的每個(gè)算法的內(nèi)容。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn)-C OO,并將f設(shè)定為公開(kāi)密鑰pk。另外,密鑰生成算法Gen將(U1, . . .,Ulri)設(shè)定為私密密鑰sk。注意,這里滿足4(+(0,...,1^(0,0 =0。(證明者算法P、驗(yàn)證者算法V)接下來(lái),將參考圖15來(lái)描述交互協(xié)議中的證明者算法P和驗(yàn)證者算法V進(jìn)行的處理。此交互協(xié)議用于使驗(yàn)證者證明“證明者知道滿足f(Ul(t),...,ivJtht)的(Ul,..., IV1) ”,而完全不向驗(yàn)證者泄漏關(guān)于(U1, Ulri)的信息。此外,假定在證明者與驗(yàn)證者之間共享由密鑰生成算法Gen生成的公開(kāi)密鑰pk。另外,假定由密鑰生成算法Gen生成的私密密鑰sk被證明者秘密地管理。步驟1 首先,證明者算法P對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(5)。(處理1) 證明者算法P任意選擇數(shù)字Wi。(處理幻證明者算法P通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式ru (t),. . .,IVia (t)和多項(xiàng)式f ’ i (X1,. . .,Xn)。S卩,證明者算法P計(jì)算(Li,...,IV1^f' D — G(Wi)。(處理3)證明者算法P計(jì)算(Z1Jt),..., Zn^a)) —(!^⑴-!^⑴,...,Ulri,JO-Iv1,i(t))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式 (rlji; . . .,IV1J 來(lái)掩蔽私密密鑰(Ulii,. . .,Un^lji)的操作。步驟1 (繼續(xù))(處理4)證明者算法 P 生成 f” i (Zlji (t),· · ·,Z1^i ⑴,t)和 · · ·,Z1^i 的散列值 C1^ 即,證明者算法 P 計(jì)算 C1,i ^H1 (f” Jzlii ⑴,…,、^⑴,t),Z1,ρ... ,Z1^i)。 (處理5)證明者算法P生成數(shù)字w’ i的散列值c2,it)即,證明者算法P計(jì)算c2,i — H2 (w%)。步驟1 (繼續(xù))接下來(lái),證明者算法P選擇隨機(jī)數(shù)&和&。然后,證明者算法P通過(guò)將隨機(jī)數(shù)& 和由以上的(處理4)和(處理5)計(jì)算出的散列值C1,i和c2,i應(yīng)用到散列函數(shù)Ha來(lái)生成散列值 a”···,a N。即,證明者算法 P 計(jì)算(a”···,a N) 一 Ha (RA,cia,· · ·,c2,N)。步驟1 (繼續(xù))接下來(lái),證明者算法P對(duì)于i = 1至N執(zhí)行以下的(處理1)和(處理2)。(處理1) 證明者算法 P 計(jì)算 f^Jx”· · ·,xn) — a if (X^rlji(Xn),. · ·,Xn-Jrn-Li (xn),xn)+f,^x1,. · ·, xn)。此計(jì)算相當(dāng)于用多項(xiàng)式f’ i(Xl,...,xn)來(lái)掩蔽關(guān)于X1, ...,1的多項(xiàng)式f(Xl+ri,
40i (Xn),...,Xn-i+r^!, i (Xn),Xn)的操作。(處理2)證明者算法P對(duì)于i = 1至N,通過(guò)將隨機(jī)數(shù)Ra和&、散列值(C1,i和c2,i)、α i和f ” i應(yīng)用到散列函數(shù)Hb來(lái)生成d =(屯,...,dN)。 艮口,證明者算法 P 計(jì)算(di;. . .,dN) ^ HB(RA,RB,cia,. . .,c2,N,α”···,α Ν,f” ” · · ·,f” Ν)。步驟1 (繼續(xù))接下來(lái),證明者算法P根據(jù)所生成的Cli來(lái)生成要發(fā)送給驗(yàn)證者的信息0i。這里, 證明者算法P對(duì)于i = 1至N執(zhí)行以下的(處理1)或(處理2)。(處理1)如果Cli = 0, 則證明者算法P生成信息0i = Wi。(處理2)如果Cli = 1,則證明者算法P生成信息Oi = (zu,...,^,》。在執(zhí)行了以上的(處理1)或(處理2)的判決和處理之后,Ra、Rb、Qi, c^cm 0i(i = 1至N)被證明者算法P發(fā)送給驗(yàn)證者。步驟2 驗(yàn)證者算法V首先通過(guò)把從證明者接收IV C1, i和C2, i應(yīng)用到散列函數(shù)Ha來(lái)生成 ai0即,驗(yàn)證者算法V計(jì)算(Ci1,...,aN) —^(!^,(^,…,(^』)。接下來(lái),驗(yàn)證者算法V 計(jì)算 d = ((I1, . . . , dN) 一 Hb (Ra, Rb, Cia, . . . , C2,ν, a ” · · ·,a N,f” ” · · ·,f”N)。然后,驗(yàn)證者算法V通過(guò)使用信息ο i (i = 1至N)來(lái)執(zhí)行以下驗(yàn)證處理。此外,以下處理是針對(duì)i = 1至N執(zhí)行的。如果Cli = O,則驗(yàn)證者算法V計(jì)算O^1,‘‘ D —G^h)。然后, 驗(yàn)證者算法V驗(yàn)證等式c2,i = H2 ( ο》是否成立。另外,驗(yàn)證者算法V驗(yàn)證等式f \ (Xl,..., xn) = a jf (x^r' Li(Xn),... ,Xn-l,i+r n-1, i (Xn) ,Xn)+f' “ i (X1, . . .,Xn)是否成立。驗(yàn)證者算法V在所有驗(yàn)證都成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。如果Cli = 1,則驗(yàn)證者算法V計(jì)算(z,u,...,ζ,Μ」,f'‘‘》一Qi。然后,驗(yàn)證者算法 V 驗(yàn)證等式 C1, i = H1 (f ‘ ‘‘ i (ζ,i, i ⑴,...,ζ,η i ⑴,t),ζ,i, i,. . .,ζ,η》) 是否成立。驗(yàn)證者算法V在驗(yàn)證成功的情況下輸出表明認(rèn)證成功的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明認(rèn)證失敗的值O。以上,已經(jīng)描述了根據(jù)非交互型方案的每個(gè)算法的內(nèi)容。此外,如果假定理想的散列函數(shù)Ha和Hb,則散列值a i和Cli將表現(xiàn)為隨機(jī)的,從而不會(huì)出現(xiàn)對(duì)證明者來(lái)說(shuō)方便的散列值、和屯。因此,即使在執(zhí)行上述修改時(shí),也確保了充分的安全性。此外,這種修改可類(lèi)似地應(yīng)用到擴(kuò)展方案等等。[3-5 修改成數(shù)字簽名方案]這里,將描述將本方案修改成數(shù)字簽名方案的方法。此外,為了簡(jiǎn)單起見(jiàn),這里將描述將上述非交互型方案修改成數(shù)字簽名方案的方法。可以理解,當(dāng)上述非交互型方案的證明者和驗(yàn)證者對(duì)應(yīng)于數(shù)字簽名方案的簽名者和驗(yàn)證者時(shí),與數(shù)字簽名方案的模型有類(lèi)似之處,即單是證明者就能夠使驗(yàn)證者確信??紤]到這個(gè)概念,將詳細(xì)描述基于非交互型方案的數(shù)字簽名方案的算法結(jié)構(gòu)。(密鑰生成算法Gen)密鑰生成算法Gen生成在環(huán)K上定義的η個(gè)變量的多次多項(xiàng)式f^Oq,..., Xn)和一個(gè)變量的多次多項(xiàng)式U1U), ...,ivJt)。接下來(lái),密鑰生成算法Gen計(jì)算 c(t) -f0(Ul(t),... ,Un^1 (t),t)o 然后,密鑰生成算法 Gen 計(jì)算 f(Xl,...,xn) =f。(Xl,···, xn) "C (xn),并將f設(shè)定為驗(yàn)證密鑰pk。另外,密鑰生成算法Gen將(U1, ...,Un^1)設(shè)定為簽名密鑰sk。注意,這里滿足^(…⑴,…-,!^⑴,^ =0。(簽名生成算法Sig)簽名生成算法Sig對(duì)于i = 1至N執(zhí)行以下的處理(1)至處理(11)。此外,假定在簽名生成算法Sig中輸入簽名密鑰sk = (U1, ... , IV1)和文檔M。(處理1)簽名生成算法Sig任意選擇數(shù)字Wi。(處理幻簽名生成算法Sig通過(guò)將數(shù)字Wi應(yīng)用到偽隨機(jī)數(shù)生成器G來(lái)生成一個(gè)變量的多項(xiàng)式Li (t),. . .,Iv1Jt)和η個(gè)變量的多項(xiàng)式f,Jx1, ...,xn)。即,簽名生成算法Sig計(jì)算O^i,...,ivu,f,0 — G(Wi)。 (處理 2)簽名生成算法 Sig 計(jì)算(Zl, ^t), ... , Zn^1, i (t)) 一 (U1,, (t) T1, ^t), ... , Ulri, JO-iVua))。此計(jì)算相當(dāng)于用一個(gè)變量的多項(xiàng)式(ru,...,!ν」來(lái)掩蔽簽名密鑰(U1,
· · · , Ulria)的操作。(處理3)簽名生成算法 Sig 生成 f” i (Zl, i (t),. . .,Zlri, i ⑴,t)和 Z1, . . .,Zlri, i 的散列值、^ SP,簽名生成算法 Sig 計(jì)算 C1, i —HJf ” Jzlii ⑴,...,Zlri, i(t),t),Zlj i,...,^^)。(處理4)簽名生成算法Sig生成數(shù)字w’ i的散列值c2,it) S卩,簽名生成算法 Sig計(jì)算(W’》。此外,所述的H1C..)和吐(...)是散列函數(shù)。(處理4)簽名生成算法Sig任意選擇隨機(jī)數(shù)I A。(處理幻簽名生成算法Sig計(jì)算 a = (Q1,... , αΝ) —ΗαΟ^,Μ,α,ρ···,c2,N)。(處理 6)簽名生成算法 Sig 對(duì)于 i = 1 至 N 計(jì)算 f” 丄(X1, · · · , xn) = a jf (xj+r' u i (xn), ... , Xlri, ^r' ^lj i (xn), xn) +f' i (x1 ..., Xn)。(處理7)簽名生成算法Sig任意選擇隨機(jī)數(shù)&。(處理8)簽名生成算法Sig計(jì)算d =(di; . . . , dN) —Hb(Rb,M,C1,C2, N,Ct,f ι,· · ·,f Ν) ο接下來(lái),簽名生成算法Sig對(duì)于i = 1至N,根據(jù)屯來(lái)執(zhí)行以下的接下來(lái)的(處理 9)或(處理10)。(處理9)如果Cli = O,則簽名生成算法Sig計(jì)算0i—Wi。(處理10)如果Cli = 1,則簽名生成算法Sig計(jì)算Oi — (zu,...,、。)。(處理11)在對(duì)于i= 1至N執(zhí)行了以上的(處理9)或(處理10)的判決和處理之后,簽名生成算法 Sig 輸出數(shù)字簽名 σ = (RA,RB,cia,... ,c2jN, Q1,... , Qnj^1,...,
f,,)
丄 N乂0(簽名驗(yàn)證算法Ver)如果對(duì)于i = 1至N,以下的所有驗(yàn)證都通過(guò),則簽名驗(yàn)證算法Ver接受數(shù)字簽名 σ,但即使一個(gè)驗(yàn)證沒(méi)有通過(guò),簽名驗(yàn)證算法Ver也會(huì)拒絕數(shù)字簽名ο。此外,假定在簽名驗(yàn)證算法Ver中輸入數(shù)字簽名ο和文檔Μ。首先,簽名驗(yàn)證算法Ver計(jì)算a = (Ci1,..., aN) — HaO^Mku,...,c3,N)。接下來(lái),簽名驗(yàn)證算法 Ver 計(jì)算 d =(屯,...,dN) — H(R, Μ, Cljl,... ,c3,Ν, a,f”i,...,f”N)。然后,簽名驗(yàn)證算法Ver對(duì)于i = 1至N執(zhí)行以下的 (驗(yàn)證1)和(驗(yàn)證2)。(驗(yàn)證1)如果Cli= O,則簽名驗(yàn)證算法Ver計(jì)算(r’ ,. . .,rV^,f”》-G(Oi)0 然后,簽名驗(yàn)證算法Ver驗(yàn)證等式c2, i = H2(Oi)是否成立。另外,簽名驗(yàn)證算法Ver驗(yàn)證等式 f” i (X1, · · · , xn) = a jf (xj+r' ι i (xn), ... , Xlri, j+r' , j (xn), xn) +f ‘ 士 (X1, ... , xn)是
否成立。簽名驗(yàn)證算法Ver在所有驗(yàn)證都成功的情況下輸出表明接受數(shù)字簽名ο的值1, 而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明拒絕數(shù)字簽名σ的值O。(驗(yàn)證2)如果乜=1,則簽名驗(yàn)證算法¥吐計(jì)算(2,1」,...,2,11_1」,廣“i)- oi0 然后,簽名驗(yàn)證算法 Ver 驗(yàn)證等式 C1,i = HJf' “ , (z'(t),. . . , z'^,, (t), t), z'...,VlriJ)是否成立。簽名驗(yàn)證算法Ver在驗(yàn)證成功的情況下輸出表明接受數(shù)字簽名σ的值1,而在驗(yàn)證中發(fā)生了失敗的情況下輸出表明拒絕數(shù)字簽名σ的值0。以上,已經(jīng)描述了基于本方案的數(shù)字簽名方案的每個(gè)算法結(jié)構(gòu)。上述數(shù)字簽名方案以代數(shù)曲面上的片段找出問(wèn)題作為安全性的基礎(chǔ),但是不包含像ASS-CC數(shù)字簽名方案那樣的安全性問(wèn)題。此外,可以類(lèi)似地構(gòu)造基于上述的擴(kuò)展方案的數(shù)字簽名方案。[3-6:具體示例]接下來(lái),將參考圖16來(lái)描述在執(zhí)行本方案時(shí)可以設(shè)想的具體算法結(jié)構(gòu)。圖16是用于描述本方案的具體示例的說(shuō)明圖。(密鑰生成算法Gen)鑰生成算法Gen生成在環(huán)K上定義的三個(gè)變量的D次多項(xiàng)式f^ (x, y, t)和一個(gè)變量的多次多項(xiàng)式ux (t)和 (0。此外,D次多項(xiàng)式fjx,y,t)被表示為由以下的式(14)。 另外,一個(gè)變量的多次多項(xiàng)式ux (t)被表示為以下的式(1 。另外,一個(gè)變量的多次多項(xiàng)式 uy(t)被表示為以下的式(16)。[表達(dá)式9]
權(quán)利要求
1.一種認(rèn)證裝置,包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui(t)設(shè)定成私密密鑰,并且將滿足f (U1 (t),..., Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ;消息發(fā)送單元,用于將消息c發(fā)送給驗(yàn)證者;驗(yàn)證模式接收單元,用于接收關(guān)于由所述驗(yàn)證者針對(duì)一個(gè)消息c從k個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息,其中k彡3 ;以及響應(yīng)發(fā)送單元,用于向所述驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由所述驗(yàn)證模式接收單元接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息,其中,所述響應(yīng)信息是在利用所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。
2.根據(jù)權(quán)利要求1所述的認(rèn)證裝置,其中,如果當(dāng)執(zhí)行由所述消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由所述驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從所述驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第二步驟和由所述響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第三步驟時(shí),所述驗(yàn)證者對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。
3.根據(jù)權(quán)利要求2所述的認(rèn)證裝置,其中,執(zhí)行由所述消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由所述驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從所述驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第二步驟和由所述響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第三步驟的處理被重復(fù),并且其中,如果當(dāng)執(zhí)行所述第一步驟至第三步驟預(yù)定次數(shù)時(shí),所述驗(yàn)證者每次對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。
4.根據(jù)權(quán)利要求2所述的認(rèn)證裝置,其中,在所述消息c = (Cl,. . .,cm)的情況下,所述消息發(fā)送單元利用單向函數(shù)H來(lái)計(jì)算新的消息c’ = H(C),并將所述消息C’發(fā)送給所述驗(yàn)證者,并且所述響應(yīng)發(fā)送單元將所述消息c的一元素與所述響應(yīng)信息一起發(fā)送,其中所述元素是即使所述驗(yàn)證者使用該響應(yīng)信息也不能恢復(fù)的元素。
5.根據(jù)權(quán)利要求3所述的認(rèn)證裝置,其中,在所述消息c = (Cl,. . .,cm)的情況下,所述消息發(fā)送單元利用單向函數(shù)H來(lái)計(jì)算新的消息c’ = H(C),并將所述消息C’發(fā)送給所述驗(yàn)證者,并且所述響應(yīng)發(fā)送單元將所述消息c的一元素與所述響應(yīng)信息一起發(fā)送,其中所述元素是即使所述驗(yàn)證者使用該響應(yīng)信息也不能恢復(fù)的元素。
6.一種認(rèn)證裝置,包括消息接收單元,用于從證明者接收消息c ;驗(yàn)證模式選擇單元,用于針對(duì)一個(gè)消息c,從k個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式,其中 k彡3 ;驗(yàn)證模式發(fā)送單元,用于把關(guān)于由所述驗(yàn)證模式選擇單元選擇的驗(yàn)證模式的信息發(fā)送給所述證明者;響應(yīng)接收單元,用于從所述證明者接收k類(lèi)響應(yīng)信息之中的與由所述驗(yàn)證模式發(fā)送單元發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及驗(yàn)證單元,用于利用由所述消息接收單元接收的消息c和由所述響應(yīng)接收單元接收的響應(yīng)信息來(lái)驗(yàn)證所述證明者的合法性,其中,多次多項(xiàng)式Ui (t)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,Iv1 (t),t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰,其中i = 1至n-1,并且其中,所述響應(yīng)信息是在利用所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。
7.一種認(rèn)證裝置,包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui(t)設(shè)定成私密密鑰,并且將滿足f (U1 (t),..., Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ; 消息發(fā)送單元,用于將消息c發(fā)送給驗(yàn)證者; 答復(fù)接收單元,用于從所述驗(yàn)證者接收答復(fù)α ;多項(xiàng)式生成單元,用于利用由所述答復(fù)接收單元接收的答復(fù)α來(lái)生成要用于對(duì)所述消息c的驗(yàn)證的多項(xiàng)式f” ;多項(xiàng)式發(fā)送單元,用于把由所述多項(xiàng)式生成單元生成的多項(xiàng)式f”發(fā)送給所述驗(yàn)證者; 驗(yàn)證模式接收單元,用于接收關(guān)于由所述驗(yàn)證者針對(duì)一個(gè)消息c從k個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息,其中k彡2 ;以及響應(yīng)發(fā)送單元,用于向所述驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由所述驗(yàn)證模式接收單元接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息,其中,所述響應(yīng)信息是在利用兩類(lèi)答復(fù)α、所述多項(xiàng)式f”以及所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。
8.根據(jù)權(quán)利要求7所述的認(rèn)證裝置,其中,如果當(dāng)執(zhí)行由所述消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由所述答復(fù)接收單元對(duì)于每個(gè)消息c接收答復(fù)α的第二步驟、由所述多項(xiàng)式生成單元利用在該第二步驟中接收的每個(gè)答復(fù)α來(lái)生成多項(xiàng)式f”并且由所述多項(xiàng)式發(fā)送單元發(fā)送該多項(xiàng)式f” 的第三步驟、由所述驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從所述驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第四步驟以及由所述響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第五步驟時(shí),所述驗(yàn)證者對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。
9.根據(jù)權(quán)利要求8所述的認(rèn)證裝置,其中,執(zhí)行由所述消息發(fā)送單元發(fā)送一個(gè)或多個(gè)消息c的第一步驟、由所述答復(fù)接收單元對(duì)于每個(gè)消息c接收答復(fù)α的第二步驟、由所述多項(xiàng)式生成單元利用在該第二步驟中接收的每個(gè)答復(fù)α來(lái)生成多項(xiàng)式f”并且由所述多項(xiàng)式發(fā)送單元發(fā)送該多項(xiàng)式f”的第三步驟、由所述驗(yàn)證模式接收單元對(duì)于每個(gè)消息c從所述驗(yàn)證者接收關(guān)于驗(yàn)證模式的信息的第四步驟以及由所述響應(yīng)發(fā)送單元對(duì)于每條關(guān)于驗(yàn)證模式的信息發(fā)送響應(yīng)信息的第五步驟的處理被重復(fù),并且其中,如果當(dāng)執(zhí)行所述第一步驟至第五步驟預(yù)定次數(shù)時(shí),所述驗(yàn)證者每次對(duì)于所有的響應(yīng)信息都成功執(zhí)行了驗(yàn)證,則認(rèn)證成功。
10.一種認(rèn)證裝置,包括消息接收單元,用于從證明者接收消息c ; 答復(fù)發(fā)送單元,用于將答復(fù)α發(fā)送給所述證明者;多項(xiàng)式接收單元,用于接收多項(xiàng)式f ”,該多項(xiàng)式f”是由所述證明者利用由所述答復(fù)發(fā)送單元發(fā)送的答復(fù)α生成的并且用于對(duì)所述消息c的驗(yàn)證;驗(yàn)證模式選擇單元,用于針對(duì)一個(gè)消息C,從k個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式,其中 k彡2 ;驗(yàn)證模式發(fā)送單元,用于向所述證明者發(fā)送關(guān)于由所述驗(yàn)證模式選擇單元選擇的驗(yàn)證模式的信息;響應(yīng)接收單元,用于從所述證明者接收k類(lèi)響應(yīng)信息之中的與由所述驗(yàn)證模式發(fā)送單元發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及驗(yàn)證單元,用于利用由所述消息接收單元接收的消息C、由所述多項(xiàng)式接收單元接收的多項(xiàng)式f”以及由所述響應(yīng)接收單元接收的響應(yīng)信息來(lái)驗(yàn)證所述證明者的合法性,其中,多次多項(xiàng)式Ui (t)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,IV1 (t),t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰,其中i = 1至n-1,并且其中,所述響應(yīng)信息是在利用兩類(lèi)答復(fù)α、所述多項(xiàng)式f”以及所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。
11.一種認(rèn)證方法,包括以下步驟將多次多項(xiàng)式Ui (t)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ; 將消息c發(fā)送給驗(yàn)證者;接收關(guān)于由所述驗(yàn)證者針對(duì)一個(gè)消息c從k個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息,其中3;以及向所述驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與在接收步驟中接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息,其中,所述響應(yīng)信息是在利用所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。
12.—種認(rèn)證方法,包括以下步驟 從證明者接收消息c ;針對(duì)一個(gè)消息c,從k個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式,其中k > 3 ; 把關(guān)于在選擇步驟中選擇的驗(yàn)證模式的信息發(fā)送給所述證明者; 從所述證明者接收k類(lèi)響應(yīng)信息之中的與在發(fā)送步驟中發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及利用在接收消息c的步驟中接收的消息c和在接收響應(yīng)信息的步驟中接收的響應(yīng)信息來(lái)驗(yàn)證所述證明者的合法性,其中,多次多項(xiàng)式Ui (t)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,Iv1 (t),t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰,其中i = 1至n-1,并且其中,所述響應(yīng)信息是在利用所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。
13.一種認(rèn)證方法,包括以下步驟將多次多項(xiàng)式Ui (t)設(shè)定成私密密鑰,并且將滿足f (U1 (t),. . .,Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ; 將消息c發(fā)送給驗(yàn)證者; 從所述驗(yàn)證者接收答復(fù)α ;利用在接收答復(fù)α的步驟中接收的答復(fù)α來(lái)生成要用于對(duì)所述消息c的驗(yàn)證的多項(xiàng)式f”;把在生成步驟中生成的多項(xiàng)式f”發(fā)送給所述驗(yàn)證者;接收關(guān)于由所述驗(yàn)證者針對(duì)一個(gè)消息c從k個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息,其中2;以及向所述驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與在接收關(guān)于驗(yàn)證模式的信息的步驟中接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息,其中,所述響應(yīng)信息是在利用兩類(lèi)答復(fù)α、所述多項(xiàng)式f”以及所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。
14.一種認(rèn)證方法,包括以下步驟 從證明者接收消息c ;將答復(fù)α發(fā)送給所述證明者;接收多項(xiàng)式f”,該多項(xiàng)式f”是由所述證明者利用在發(fā)送答復(fù)α的步驟中發(fā)送的答復(fù) α生成的并且用于對(duì)所述消息c的驗(yàn)證;針對(duì)一個(gè)消息c,從k個(gè)驗(yàn)證模式中選擇一個(gè)驗(yàn)證模式,其中k > 2 ; 向所述證明者發(fā)送關(guān)于在選擇步驟中選擇的驗(yàn)證模式的信息; 從所述證明者接收k類(lèi)響應(yīng)信息之中的與在發(fā)送關(guān)于驗(yàn)證模式的信息的步驟中發(fā)送的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息;以及利用在接收消息c的步驟中接收的消息C、在接收多項(xiàng)式f”的步驟中接收的多項(xiàng)式f ” 以及在接收響應(yīng)信息的步驟中接收的響應(yīng)信息來(lái)驗(yàn)證所述證明者的合法性,其中,多次多項(xiàng)式Ui (t)被設(shè)定成私密密鑰,并且滿足f (U1 (t),. . .,IV1 (t),t) = 0的多次多項(xiàng)式f被設(shè)定成公開(kāi)密鑰,其中i = 1至n-1,并且其中,所述響應(yīng)信息是在利用兩類(lèi)答復(fù)α、所述多項(xiàng)式f”以及所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的答復(fù)和驗(yàn)證模式的總共業(yè)個(gè)組合全都成功的情況下使能計(jì)算私密密鑰Ui的信息。
15.—種程序,用于使得計(jì)算機(jī)實(shí)現(xiàn)密鑰設(shè)定功能,將多次多項(xiàng)式Ui⑴設(shè)定成私密密鑰,并且將滿足f (U1 (t),..., Ulri⑴,t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ; 消息發(fā)送功能,將消息c發(fā)送給驗(yàn)證者;驗(yàn)證模式接收功能,接收關(guān)于由所述驗(yàn)證者針對(duì)一個(gè)消息c從k個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息,其中k彡3 ;以及響應(yīng)發(fā)送功能,向所述驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由所述驗(yàn)證模式接收功能接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息,其中,所述響應(yīng)信息是在利用所述k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)所述消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰Ui的信息。
16. 一種簽名生成裝置,包括密鑰設(shè)定單元,用于將多次多項(xiàng)式Ui(t)設(shè)定成私密密鑰,并且將滿足f (U1 (t),..., Ulri (t),t) = 0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰,其中i = 1至n-1 ; 消息生成單元,用于基于所述多次多項(xiàng)式Ui (t)生成N個(gè)消息c ; 驗(yàn)證模式選擇單元,用于基于通過(guò)將文檔M和所述消息c應(yīng)用到單向函數(shù)而獲得的信息來(lái)從kN個(gè)驗(yàn)證模式中選擇驗(yàn)證模式,其中k > 3 ;以及簽名生成單元,用于根據(jù)由所述驗(yàn)證模式選擇單元選擇的驗(yàn)證模式,生成將通過(guò)使用所述消息c和所述文檔M的驗(yàn)證的數(shù)字簽名σ,其中,所述數(shù)字簽名ο是在利用與(k-l)N+l個(gè)驗(yàn)證模式相對(duì)應(yīng)的數(shù)字簽名σ執(zhí)行的所有驗(yàn)證都成功的情況下使能計(jì)算私密密鑰Ui的信息。
全文摘要
本發(fā)明提供了認(rèn)證裝置、認(rèn)證方法、程序和簽名生成裝置。認(rèn)證裝置包括密鑰設(shè)定單元,用于將多次多項(xiàng)式ui(t)(i=1至n-1)設(shè)定成私密密鑰,并且將滿足f(u1(t),...,un-1(t),t)=0的多次多項(xiàng)式f設(shè)定成公開(kāi)密鑰;消息發(fā)送單元,用于將消息c發(fā)送給驗(yàn)證者;驗(yàn)證模式接收單元,用于接收關(guān)于由驗(yàn)證者針對(duì)一個(gè)消息c從k(k≥3)個(gè)驗(yàn)證模式中選擇的一個(gè)驗(yàn)證模式的信息;以及響應(yīng)發(fā)送單元,用于向驗(yàn)證者發(fā)送k類(lèi)響應(yīng)信息之中的與由驗(yàn)證模式接收單元接收的關(guān)于驗(yàn)證模式的信息相對(duì)應(yīng)的響應(yīng)信息。響應(yīng)信息是在利用k類(lèi)響應(yīng)信息執(zhí)行的針對(duì)消息c的所有k個(gè)驗(yàn)證模式都成功的情況下使能計(jì)算私密密鑰ui的信息。
文檔編號(hào)H04L9/32GK102263639SQ20111014504
公開(kāi)日2011年11月30日 申請(qǐng)日期2011年5月24日 優(yōu)先權(quán)日2010年5月31日
發(fā)明者作本纮一, 樋渡玄良, 白井太三 申請(qǐng)人:索尼公司