信息處理設備和信息處理方法
【專利摘要】實現(xiàn)高度安全的公開秘鑰認證方案。本發(fā)明提供了一種信息處理設備:基于在環(huán)(K)上定義的多階多元多項式集合(F=(f1,…,fm))和向量s(s∈Kn)生成消息;將所述消息提供給驗證者,驗證者知道多階多元多項式集合(F)和向量y(y=(y1,…,ym)=(f1(s),…,fm(s)));以及向所述驗證者提供響應信息,響應信息對應于驗證者從k(其中k≥3)個驗證模式中選擇的驗證模式。向量s構成秘密密鑰,多階多元多項式集合(F)和向量y構成公開密鑰,消息包括通過利用秘密密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,并且多元多項式集合(F)是使用針對每個用戶而不同的信息生成的。
【專利說明】信息處理設備和信息處理方法
【技術領域】
[0001 ] 本技術涉及信息處理設備和信息處理方法。
【背景技術】
[0002]隨著信息處理技術和通信技術的快速發(fā)展,文檔被快速數(shù)字化,無論該文檔是公開的還是私人的。隨著這些文檔的數(shù)字化,許多個人和公司對電子文檔的安全性管理具有相當大的關注。響應于該關注的增加,在各個領域中已經積極研究了針對諸如竊取或偽造電子文檔的篡改行為的措施。關于對電子文件的竊取,例如通過加密電子文檔來確保安全性。另外,關于對電子文件的偽造,例如通過使用數(shù)字簽名來確保安全性。然而,當要使用的加密或數(shù)字簽名不具有高防篡改性時,不能確保足夠的安全性。
[0003]數(shù)字簽名用于指定電子文檔的作者。因此,數(shù)字簽名應僅能夠由電子文檔的作者生成。如果惡意第三方能夠生成相同的數(shù)字簽名,則這樣的第三方可以模仿電子文檔的作者。即,電子文檔被惡意第三方偽造。關于防止這樣的偽造的數(shù)字簽名的安全性,已經表達了各種觀點。作為目前廣泛使用的數(shù)字簽名方案,例如已知RSA簽名方案和DSA簽名方案。
[0004]RSA簽名方案采用“大合數(shù)的質因數(shù)分解(下文中為質因數(shù)分解問題)的難度”作為安全性基礎。另外,DSA簽名方案采用“求解離散對數(shù)問題的難度”作為安全性的基礎。這些基礎基于不存在通過使用傳統(tǒng)計算機高效地求解質因數(shù)分解問題和離散對數(shù)問題的算法。即,上述難度提出了傳統(tǒng)計算機的計算難度。然而,據(jù)說當使用量子計算機時,可以高效地計算質因數(shù)分解問題和離散對數(shù)問題的解。
[0005]類似于RSA簽名方案和DSA簽名方案,目前采用的數(shù)字簽名方案和公開密鑰認證方案中的多種方案也采用質因數(shù)分解問題或離散對數(shù)問題的難度作為安全性基礎。因此,如果量子計算機投入實際使用,則這樣的數(shù)字簽名方案和公開密鑰認證方案的安全性將不能確保。從而,期望實現(xiàn)新的數(shù)字簽名方案和公開密鑰認證方案,其采用與可通過量子計算機容易求解的諸如質因數(shù)分解問題和離散對數(shù)問題的問題不同的問題作為安全性的基礎。作為不能通過量子計算機容易求解的問題,例如存在關于多元多項式的問題。
[0006]例如,作為采用多元多項式問題作為安全性基礎的數(shù)字簽名方案,已知基于Matsumoto-1mai (MI)密碼、隱藏域方程(HFE)密碼、油醋(Oil-Vinegar,0V)簽名方案、以及溫順變換方法(Tamed Transformation Method, TTM)密碼的數(shù)字簽名方案。例如,在下面的非專利文獻1和2中公開了基于HFE的數(shù)字簽名方案。
[0007]引用列表
[0008]非專利文獻
[0009]非專利文獻 1:Jacques Patarin, Asymmetric Cryptography with a HiddenMonomial, CRYPT01996, pp.45-60。
[0010]非專利文獻2:Patarin, J.,Courtois, N.,and Goubin, L., QUARTZ, 128-Bit LongDigital Signatures, In Naccache, D.,EcL Topics in Cryptology-CT-RSA2001 (San Francisco, CA, USA, April2001), vol.2020of Lecture Notes in Computer Science, Springer-Verlag.,pp.282-297。
【發(fā)明內容】
[0011]技術問題
[0012]如上所述,多元多項式問題是即使在使用量子計算機時也難以求解的被稱為NP困難問題的問題的示例。通常,使用以HFE等為代表的多元多項式問題的公開密鑰認證方案使用具有特定陷門的多階多元聯(lián)立方程。例如,提供關于Xl,…,xn的多階多元聯(lián)立方程F (χ1;…,xn) =y和線性轉換A和B,并秘密地管理線性轉換A和B。在該情況下,多階多元聯(lián)立方程F和線性轉換A和B為陷門。[0013]知道陷門F、A和B的實體可以求解關于x1;…,xn的方程B (F (A (x1;…,xn))) =y ’。另一方面,不知道陷門F、A和B的實體不能求解關于Χρ…,χη的方程B(F(A(Xi,…,xn)))=y’。通過使用該機制,可以實現(xiàn)采用求解多階多元聯(lián)立方程的難度作為安全性基礎的公開密鑰認證方案和數(shù)字簽名方案。
[0014]如上所述,為了實現(xiàn)公開密鑰認證方案或數(shù)字簽名方案,需要準備滿足B(F(A(Xl,一,^)))=7的特定多階多元聯(lián)立方程。另外,在簽名生成時,需要求解多階多元聯(lián)立方程F。為此,可用的多階多元聯(lián)立方程F已經限于相對容易可解的方程。即,在過去的方案中,僅僅使用了可以相對容易求解的三個函數(shù)(陷門)B、F和A的組合形式的多階多元聯(lián)立方程B(F(A(χ1;…,xn))) =y,因此難以確保足夠的安全性。
[0015]期望提供一種新穎的和改善的信息處理設備和信息處理方法,并且能夠使用高效求解方法(陷門)未知的多階多元聯(lián)立方程實現(xiàn)具有高安全性的公開密鑰認證方案或數(shù)字簽名方案。
[0016]解決問題的技術方案
[0017]根據(jù)本技術的一個方面,提供了一種信息處理設備,包括:消息生成單兀,基于在環(huán)K上定義的多階多元多項式集合F=(f\,-,fffl)和作為集合Kn的元素的向量s生成消息;消息提供單元,將消息提供到驗證者,所述驗證者保存所述多階多元多項式集合F和向量y= (υι, *.., ym) = (fi(s),…,fm(s));以及響應提供單元,向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中k ^ 3)個驗證模式中選擇的驗證模式。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0018]根據(jù)本技術的另一方面,提供了一種信息處理設備,包括:信息保持單元,保持在環(huán)κ上定義的多階多元多項式集合F=(f1,…,fm)和向量y=(y”..., ym) = (f!(s),…,fm(s));消息獲取單元,獲取基于多階多元多項式集合F和作為集合Kn的元素的向量s生成的消息;模式信息提供單元,向已提供了消息的證明者提供關于從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及驗證單元,基于消息、多階多元多項式集合F、向量y和響應信息驗證證明者是否保持向量s。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0019]根據(jù)本技術的另一方面,提供了一種信息處理設備,包括:消息生成單元,基于在環(huán)K上定義的多階多元多項式集合F=(f\,-,fffl)和作為集合Kn的元素的向量S生成消息;消息提供單元,將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量y= (Υι,…,ym) = (f!(s),...,fm(s));以及中間信息生成單元,利用由驗證者隨機選擇的第一/[目息和在生成消息時獲得的第二?目息來生成第二?目息;中間?目息提供單兀,向所述驗證者提供第三信息;以及響應提供單元,向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中2)個驗證模式中選擇的驗證模式。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0020]根據(jù)本技術的另一方面,提供了一種信息處理設備,包括:信息保持單元,保持在環(huán)κ上定義的多階多元多項式集合F=(f1,…,fm)和向量y=(y”..., ym) = (f!(s),…,fm(s));消息獲取單元,獲取基于多階多元多項式集合F和作為集合Kn的元素的向量s生成的消息;信息提供單元,向已提供了消息的證明者提供隨機選擇的第一信息;中間信息獲取單元,獲取由證明者利用第一信息和在生成消息時獲得的第二信息生成的第二信息;模式信息提供單元,向證明者提供關于從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及驗證單元,基于消息、第一信息、第三信息、多階多元多項式集合F和響應信息驗證證明者是否保持向量s。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0021]根據(jù)本技術的另一方面,提供了一種信息處理方法,包括:基于在環(huán)K上定義的多階多元多項式集合F=(f\, -,fffl)和作為集合Kn的元素的向量s生成消息;將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量y=(yp…,ym) = (f1(s),…,fm(s));以及向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中k > 3)個驗證模式中選擇的驗證模式。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0022]根據(jù)本技術的另一方面,提供了一種由信息處理設備執(zhí)行的信息處理方法,所述信息處理設備保持在環(huán)K上定義的多階多元多項式集合FKfu…,fm)和向量y=(yp…,ym) = (f\ (s),…,fm(s)),所述信息處理方法包括:獲取基于多階多元多項式集合F和作為集合1^的元素的向量s生成的消息;向已提供了消息的證明者提供關于從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;從所述證明者獲取對應于選擇的驗證模式的響應信息;以及基于消息、多階多元多項式集合F、向量y和響應信息驗證證明者是否保持向量s。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0023]根據(jù)本技術的另一方面,提供了一種信息處理方法,包括:基于在環(huán)K上定義的多階多元多項式集合F=(f\,-,fffl)和作為集合Kn的元素的向量s生成消息;將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量y=(yp…,ym) = (f1(s),…,fm(s));利用由驗證者隨機選擇的第一信息和在生成消息時獲得的第二信息生成第三信息;向驗證者提供第三信息;以及向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中
2)個驗證模式中選擇的驗證模式。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0024]根據(jù)本技術的另一方面,提供了一種由信息處理設備執(zhí)行的信息處理方法,所述信息處理設備保持在環(huán)K上定義的多階多元多項式集合FKfu…,fm)和向量y=(yp…,ym) = (f\ (s),…,fm(s)),所述信息處理方法包括:獲取基于多階多元多項式集合F和作為集合1^的元素的向量s生成的消息;向已提供了消息的證明者提供隨機選擇的第一信息;獲取由證明者利用第一信息和在生成消息時獲得的第二信息生成的第三信息;向證明者提供從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及基于消息、第一信息、第三信息、多階多元多項式集合F和響應信息驗證證明者是否保持向量s。所述向量s為秘密密鑰。所述多階多元多項式集合F和向量y為公開密鑰。所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息。所述多階多元多項式集合F是利用根據(jù)每個用戶而不同的信息生成的。
[0025]根據(jù)本技術的另一方面,提供了一種用于使得計算機實現(xiàn)包括在所述信息處理設備中的每個單元的功能的程序。根據(jù)本技術的另一方面,提供了一種記錄有程序的計算機可讀記錄介質。
[0026]發(fā)明的有益效果
[0027]根據(jù)上述本技術,可以利用高效求解方法(陷門)未知的多階多元聯(lián)立方程實現(xiàn)高安全性的公開密鑰認證方案和數(shù)字簽名方案。
【專利附圖】
【附圖說明】
[0028]圖1為用于描述公開密鑰認證方案的算法結構的說明圖;
[0029]圖2為用于描述數(shù)字簽名方案的算法結構的說明圖;
[0030]圖3為用于描述η通公開密鑰認證方案的算法結構的說明圖;
[0031]圖4為用于描述根據(jù)本技術第一實施例(3通)的公開密鑰認證方案的算法的說明圖;
[0032]圖5為用于描述根據(jù)相同實施例的公開密鑰認證方案的擴展算法的說明圖;
[0033]圖6為用于描述根據(jù)相同實施例的公開密鑰認證方案的并行算法的說明圖;
[0034]圖7為用于描述 根據(jù)相同實施例的公開密鑰認證方案的特定算法的說明圖;
[0035]圖8為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0036]圖9為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;[0037]圖10為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0038]圖11為用于描述根據(jù)相同實施例的公開密鑰認證方案的并行化的說明圖;
[0039]圖12為用于描述將根據(jù)相同實施例的公開密鑰認證方案的高效算法轉換為數(shù)字簽名方案的算法的方法的說明圖;
[0040]圖13為用于描述將根據(jù)相同實施例的公開密鑰認證方案的高效算法轉換為高效數(shù)字簽名方案的算法的方法的說明圖;
[0041]圖14為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的并行串行結構的說明圖;
[0042]圖15為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的串行并行結構的說明圖;
[0043]圖16為用于描述根據(jù)本技術第二實施例(5通)的公開密鑰認證方案的算法的說明圖;
[0044]圖17為用于描述根據(jù)相同實施例的公開密鑰認證方案的擴展算法的說明圖;
[0045]圖18為用于描述根據(jù)相同實施例的公開密鑰認證方案的并行算法的說明圖;
[0046]圖19為用于描述根據(jù)相同實施例的公開密鑰認證方案的擴展算法的并行化的說明圖;
[0047]圖20為用于描述根據(jù)相同實施例的公開密鑰認證方案的特定算法的說明圖;
[0048]圖21為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0049]圖22為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0050]圖23為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0051]圖24為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0052]圖25為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0053]圖26為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0054]圖27為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的說明圖;
[0055]圖28為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的并行化的說明圖;
[0056]圖29為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的并行化的說明圖;
[0057]圖30為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的進一步高效化的說明圖;
[0058]圖31為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的進一步高效化的說明圖;
[0059]圖32為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的并行串行結構的說明圖;
[0060]圖33為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的并行串行結構的說明圖;
[0061]圖34為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的串行并行結構的說明圖;
[0062]圖35為用于描述根據(jù)相同實施例的公開密鑰認證方案的高效算法的串行并行結構的說明圖;
[0063]圖36為用于描述提高根據(jù)第一和第二實施例的交互協(xié)議的魯棒性的技術的說明圖;
[0064]圖37為用于描述提高根據(jù)第一和第二實施例的交互協(xié)議的魯棒性的技術的說明圖;
[0065]圖38為用于描述能夠執(zhí)行根據(jù)本技術的每個實施例的算法的信息處理設備的硬件配置示例的說明圖;
[0066]圖39為示出根據(jù)本技術的第一和第二實施例的公開密鑰認證方案的效率的比較的圖表;以及
[0067]圖40為用于描述對在根據(jù)本技術的第一和第二實施例的公開密鑰認證方案中使用的參數(shù)進行設置的非常合適的方法和有益效果的說明圖。
【具體實施方式】
[0068]下文中,將參照附圖詳細描述本發(fā)明的優(yōu)選實施例。注意,在該說明書和附圖中,用相同的附圖標記表示具有基本相同的功能和結構的元件,并省略重復的說明。
[0069][說明的流程]
[0070]這里,將簡單描述要在以下說明本技術的實施例的流程。首先,將參考圖1描述公開密鑰認證方案的算法結構。接下來,將參考圖2描述數(shù)字簽名方案的算法結構。接下來,將參考圖3描述η通公開密鑰認證方案。
[0071]然后,將參考圖4描述根據(jù)本技術第一實施例(3通)的公開密鑰認證方案的算法。然后,將參考圖5描述根據(jù)相同實施例的公開密鑰認證方案的擴展算法。然后,將參考圖6描述根據(jù)相同實施例的公開密鑰認證方案的并行算法。然后,將參考圖7描述根據(jù)相同實施例的公開密鑰認證方案的特定算法。然后,將參考圖8至圖15描述根據(jù)相同實施例及其變型示例的公開密鑰認證方案的高效算法。
[0072]然后,將參考圖16描述根據(jù)本技術第二實施例(5通)的公開密鑰認證方案的算法。然后,將參考圖17描述根據(jù)相同實施例的公開密鑰認證方案的擴展算法。然后,將參考圖18和圖19描述根據(jù)相同實施例的公開密鑰認證方案的并行算法。然后,將參考圖20描述根據(jù)相同實施例的公開密鑰認證方案的特定算法。然后,將參考圖21至圖35描述根據(jù)相同實施例及其變型示例的公開密鑰認證方案的高效算法。
[0073]然后,將描述用于將根據(jù)本技術第一和第二實施例的高效算法應用到二階或更高階多元多項式的擴展技術。然后,將描述增加根據(jù)本技術第一和第二實施例的交互協(xié)議的魯棒性的機制。另外,將參考圖36和圖37描述防止由不規(guī)則挑戰(zhàn)導致的秘密密鑰泄露的機制和消除偽造風險的機制。然后,將參考圖38描述能夠實現(xiàn)根據(jù)本技術第一和第二實施例的算法的信息處理設備的硬件配置示例。
[0074]最后,將簡要描述本實施例的技術精神的概要和根據(jù)該技術精神獲得的有益操作效果。
[0075](具體章節(jié))
[0076]1:引言
[0077]1-1:公開密鑰認證方案的算法[0078]1-2:數(shù)字簽名方案的算法
[0079]1-3:N通公開密鑰認證方案
[0080]2:第一實施例
[0081]2-1:公開密鑰認證方案的算法
[0082]2-2:擴展算法
[0083]2-3:并行算法
[0084]2-4:具體示例(當使用二階多項式時)
[0085]2-5:高效算法
[0086]2-6:對數(shù)字簽名方案的修改
[0087]2-6-1:變換方法
[0088]2-6-2:數(shù)字簽名算法的高效化
[0089]2-7:多階多元聯(lián)立方程的形式
[0090]2-7-1:關于公用密鑰塊密碼的形式
[0091]2-7-2:關于哈希函數(shù)的形式
[0092]2-7-3:關于流密碼的形式
[0093]2-8:串行并行混合算法
[0094]3:第二實施例
[0095]3-1:公開密鑰認證方案的算法
[0096]3-2:擴展算法
[0097]3-3:并行算法
[0098]3-4:具體示例(當使用二階多項式時)
[0099]3-5:高效算法
[0100]3-6:串行并行混合算法
[0101]4:高效算法的擴展
[0102]4-1:多元高階多項式
[0103]4-2:擴展方案(增加高階項)
[0104]5:增強魯棒性的機制
[0105]5-1:設置系統(tǒng)參數(shù)的方法
[0106]5-2:響應不規(guī)則挑戰(zhàn)的方法
[0107]5-2-1:證明者的響應方法
[0108]5-2-2:驗證者的響應方法
[0109]6:硬件配置
[0110]7:結論
[0111]〈1:引言〉
[0112]首先,在詳細描述本技術的實施例前,將簡要描述公開密鑰認證方案的算法、數(shù)字簽名方案的算法和η通公開密鑰認證方案的概要。
[0113][1-1:公開密鑰認證方案的算法]
[0114]首先,將參考圖1描述公開密鑰認證方案的算法的概要。圖1為用于描述公開密鑰認證方案的算法結構的說明圖。[0115]當人(證明者)通過使用公開密鑰pk和秘密密鑰sk使另一個人(驗證者)相信她是證明者本人時使用公開密鑰認證。例如,使得驗證者B知道證明者A的公開密鑰pkA。另一方面,由證明者A秘密管理證明者A的秘密密鑰skA。根據(jù)公開密鑰認證方案,知道對應于公開密鑰pkA的秘密密鑰skA的人被認為是證明者本人。
[0116]為了使得證明者A利用公開密鑰認證設置向驗證者B證明她是證明者A本人,證明者A經由交互協(xié)議向驗證者B呈現(xiàn)指示她知道對應于公開密鑰pkA的秘密密鑰skA的證據(jù)。然后向驗證者B呈現(xiàn)指示證明者A知道秘密密鑰skA的證據(jù),并且在驗證者B能夠確認證據(jù)的情況下,證明者A的有效性(證明者A是她本人的事實)被證明。
[0117]然而,公開密鑰認證設置要求以下條件以確保安全性。
[0118]第一條件為,“盡可能降低由沒有秘密密鑰sk的偽造者在執(zhí)行交互協(xié)議時建立偽造的可能性”。將滿足該第一條件稱為“魯棒性”。換句話說,魯棒性表示,“由不具有秘密密鑰sk的偽造者在執(zhí)行交互協(xié)議期間以不可忽略的可能性未建立偽造”。第二條件為,“即使執(zhí)行交互協(xié)議,關于證明者A的秘密密鑰skA的信息完全未泄漏給驗證者B”。將滿足該第二條件稱為“零知識”。
[0119]安全地進行公開密鑰認證包括使用表現(xiàn)穩(wěn)健性和零知識兩者的交互協(xié)議。如果假設利用缺乏穩(wěn)健性和零知識的交互協(xié)議進行認證處理,則將存在錯誤驗證的明確幾率和泄漏秘密密鑰信息的明確幾率,從而即使處理自身成功完成,仍不能證明證明者的有效性。從而,如何確保會話協(xié)議的穩(wěn)健性和零知識的問題很重要。
[0120](模型)
[0121]如圖1所示,在公開密鑰認證方案的模型中,存在兩個實體,即證明者和驗證者。證明者通過使用密鑰生成算法Gen生成對于證明者唯一的一對公開密鑰pk和秘密密鑰sk。然后,證明者通過使用利用密鑰生成算法Gen生成的一對秘密密鑰sk和公開密鑰pk執(zhí)行與驗證者的交互協(xié)議。此時,證明者通過使用證明者算法P執(zhí)行交互協(xié)議。如上所述,在交互協(xié)議中,證明者通過使用證明者算法P向驗證者證明她具有秘密密鑰sk。
[0122]另一方面,驗證者通過使用驗證者算法V執(zhí)行交互協(xié)議,并驗證證明者是否具有與證明者已經公布的公開密鑰對應的秘密密鑰。即,驗證者是驗證證明者是否具有與公開密鑰對應的秘密密鑰的實體。如上所述,公開密鑰認證方案的模型由兩個實體,即證明者和驗證者,以及三個算法,即密鑰生成算法Gen、證明者算法P和驗證者算法V構成。
[0123]另外,在下面的描述中使用“證明者”和“驗證者”的表述,但是這些表述嚴格地表示實體。因此,執(zhí)行密鑰生成算法Gen和證明者算法P的主體是對應于實體“證明者”的信息處理設備。類似地,執(zhí)行驗證者算法V的主體是信息處理設備。例如,這些信息處理設備的硬件配置如圖38所示。S卩,通過CPU902基于記錄在R0M904、RAM906、存儲單元920、可移除記錄介質928等上的程序執(zhí)行密鑰生成算法Gen、證明者算法P和驗證者算法V。
[0124](密鑰生成算法Gen)
[0125]由證明者使用密鑰生成算法Gen。密鑰生成算法Gen是用于生成對于證明者唯一的一對公開密鑰pk和秘密密鑰sk的算法。通過密鑰生成算法Gen生成的公開密鑰pk被公布。另外,由驗證者使用公布的公開密鑰pk。另一方面,由證明者秘密地管理通過密鑰生成算法Gen生成的秘密密鑰sk。由證明者秘密管理的秘密密鑰sk用于向驗證者證明證明者擁有對應于公開密鑰Pk的秘密密鑰sk。形式上,將密鑰生成算法Gen表示為下面的公式(1),以作為采用安全性參數(shù)1λ ( λ為0以上的整數(shù))作為輸入、并且輸出秘密密鑰sk和公開密鑰pk的算法。
[0126][數(shù)學式1]
[0127](Sk, pk) — Gen(lA)
[0128]…(1)
[0129](證明者算法P)
[0130]由證明者使用證明者算法P。證明者算法P是用于向驗證者證明證明者擁有對應于公開密鑰pk的秘密密鑰sk的算法。換句話說,證明者算法P是采用公開密鑰pk和秘密密鑰sk作為輸入并且執(zhí)行交互協(xié)議的算法。
[0131](驗證者算法V)
[0132]由驗證者使用驗證者算法V。驗證者算法V是在會話協(xié)議期間驗證證明者是否擁有對應于公開密鑰pk的秘密密鑰sk的算法。驗證者算法V是接收公開密鑰pk作為輸入并且根據(jù)會話協(xié)議的執(zhí)行結果輸出0或1 (1比特)的算法。此時,驗證者在驗證者算法V輸出0的情況下判定證明者無效,并且在驗證者算法V輸出1的情況下判定證明者有效。形式上,將驗證者算法V表示為下面的公式(2)。
[0133][數(shù)學式2] [0134]0/1—V(pk)
[0135]…(2)
[0136]如上所述,實現(xiàn)有效的公開密鑰認證包括使得交互協(xié)議滿足穩(wěn)健性和零知識兩個條件。然而,證明證明者擁有秘密密鑰sk包括:證明者執(zhí)行依賴于秘密密鑰sk的過程,并且在通知驗證者結果之后,使得驗證者基于通知的內容執(zhí)行驗證。執(zhí)行依賴于秘密密鑰sk的過程以確保穩(wěn)健性。同時,不應向驗證者泄漏任何關于秘密密鑰sk的信息。為此,巧妙地設計上述密鑰生成算法Gen、證明者算法P和驗證者算法V以滿足這些要求。
[0137]因此,前文總結了公開密鑰認證方案中的算法。
[0138][1-2:數(shù)字簽名方案的算法]
[0139]下面,將參考圖2概述數(shù)字簽名方案的算法。圖2為概述數(shù)字簽名方案的算法的說明圖。
[0140]與紙質文檔不同,不可能對數(shù)字化數(shù)據(jù)物理地簽名或粘貼封印。為此,證明數(shù)字化數(shù)據(jù)的創(chuàng)建者包括產生類似于對紙質文檔物理簽名或粘貼封印的效果的電子設置。該設置為數(shù)字簽名。數(shù)字簽名指的是將給定數(shù)據(jù)與僅數(shù)據(jù)創(chuàng)建者知道的簽名數(shù)據(jù)關聯(lián)、將簽名數(shù)據(jù)提供給接收者、并且在接收者端驗證簽名數(shù)據(jù)的設置。
[0141](模型)
[0142]如圖2所示,在數(shù)字簽名方案的模型中存在簽名者和驗證者兩個身份。另外,數(shù)字簽名方案的模型由三個算法構成:密鑰生成算法Gen、簽名生成算法Sig、和簽名驗證算法Ver。
[0143]簽名者使用密鑰生成算法Gen生成對于簽名者唯一的成對的簽名密鑰sk和驗證密鑰pk。簽名者還使用簽名生成算法Sig生成附加到消息Μ的數(shù)字簽名q。換句話說,簽名者是將數(shù)字簽名附加到消息Μ的實體。同時,驗證者使用簽名驗證算法Ver驗證附加到消息Μ的數(shù)字簽名q。換句話說,驗證者是驗證數(shù)字簽名q以確認消息Μ的創(chuàng)建者是否是簽名者的實體。
[0144]注意,盡管在下文中使用術語“簽名者”和“驗證者”,但是這些術語最終表示實體。因此,執(zhí)行密鑰生成算法Gen和簽名生成算法Sig的主體是對應于“簽名者”實體的信息處理設備。類似地,執(zhí)行簽名驗證算法Ver的主體是信息處理設備。例如,這些信息處理設備的硬件配置如圖38所示。換句話說,通過諸如CPU902的裝置基于記錄在諸如R0M904、RAM906、存儲單元920或可移除記錄介質928的裝置上的程序執(zhí)行密鑰生成算法Gen、簽名生成算法Sig和簽名驗證算法Ver。
[0145](密鑰生成算法Gen)
[0146]由簽名者使用密鑰生成算法Gen。密鑰生成算法Gen是用于生成對于簽名者唯一的成對的簽名密鑰sk和驗證密鑰pk的算法。通過密鑰生成算法Gen生成的驗證密鑰pk被公布。同時,簽名者將通過密鑰生成算法Gen生成的簽名密鑰sk保密。然后使用簽名密鑰sk生成附加到消息Μ的數(shù)字簽名q。例如,密鑰生成算法Gen接受安全性參數(shù)lp (其中P為大于或等于0的整數(shù))作為輸入,并且輸出簽名密鑰sk和驗證密鑰pk。在該情況下,密鑰生成算法Gen在形式上可被表示為下面的公式(3)。
[0147][數(shù)學式3]
[0148](sk, pk) — Gen(lA)
[0149]...(3)
[0150](簽名生成算法Sig)
[0151]由簽名者使用簽名生成算法Sig。簽名生成算法Sig是生成要被附加到消息Μ的數(shù)字簽名q的算法。簽名生成算法Sig是接受簽名密鑰sk和消息Μ為輸入并且輸出數(shù)字簽名q的算法。簽名生成算法Sig在形式上可被表示以下面的公式(4)。
[0152][數(shù)學式4]
[0153]σ — Sig(sk, Μ)
[0154]...(4)
[0155](簽名驗證算法Ver)
[0156]由驗證者使用簽名驗證算法Ver。簽名驗證算法Ver是驗證數(shù)字簽名q對于消息Μ是否是有效數(shù)字簽名的算法。簽名驗證算法Ver是接受簽名者的驗證密鑰pk、消息Μ和數(shù)字簽名q作為輸入并且輸出0或1 (1比特)的算法。簽名驗證算法Ver在形式上可被表示為下面的公式(5)。此時,驗證者在簽名驗證算法Ver輸出0的情況下(驗證密鑰pk拒絕消息Μ和數(shù)字簽名q的情況)判定數(shù)字簽名q無效,而在簽名驗證算法Ver輸出1的情況下(驗證密鑰pk接收消息Μ和數(shù)字簽名q的情況)確定數(shù)字簽名q有效。
[0157][數(shù)學式5]
[0158]0/1 — Ver (pk, Μ, σ )
[0159]...(5)
[0160]因此,前文概述了數(shù)字簽名方案中的算法。
[0161][1-3:N通公開密鑰認證方案]
[0162]接下來,將參考圖3描述η通公開密鑰認證方案。圖3為示出η通公開密鑰認證方案的說明圖。
[0163]如上所述,公開密鑰認證方案是在交互協(xié)議期間向驗證者證明證明者擁有對應于公開密鑰pk的秘密密鑰sk的認證方案。另外,交互協(xié)議必須滿足穩(wěn)健性和零知識兩個條件。為此,如圖3所示,在交互協(xié)議期間,證明者和驗證者兩者都η次交換信息,同時執(zhí)行各自的處理。
[0164]在η通公開密鑰認證方案的情況下,證明者執(zhí)行利用證明者算法Ρ的處理(運算
#1),并將信息!\發(fā)送給驗證者。隨后,驗證者執(zhí)行利用驗證者算法V的處理(運算# 2),并將信息1~2發(fā)送給證明者。對于k=3至η (運算# k)連續(xù)進行該執(zhí)行和處理以及信息Tk的發(fā)送,并且最后,執(zhí)行處理(# n+1)。因此,以此方式η次發(fā)送和接收信息被稱為“η通”公開密鑰認證方案。
[0165]因此,前文描述了 η通公開密鑰認證方案。
[0166]〈2:第一實施例>
[0167]下文將描述本技術的第一實施例。本文中的實施例涉及安全性基于求解多階多元聯(lián)立方程的難度的公開密鑰認證方案和數(shù)字簽名方案。然而,本文中的實施例不同于諸如HFE數(shù)字簽名方案的現(xiàn)有技術的技術,并且涉及使用缺乏高效求解方法(陷門)的多階多元聯(lián)立方程的公開密鑰認證方案和數(shù)字簽名方案。
[0168][2-1:公開密鑰認證方案的算法]
[0169]首先,將參考圖4描述根據(jù)本實施例的公開密鑰認證方案(下文中為本技術)的算法。圖4為用于描述根 據(jù)本技術的算法的說明圖。本技術由密鑰生成算法Gen、證明者算法P和驗證者算法V構成。下面將描述各個算法的結構。
[0170](密鑰生成算法Gen)
[0171]密鑰生成算法Gen生成在環(huán)k中定義的m個多元多項式fi (Xl,...,xn),...,^(Xi,...,xn)和作為集合Kn的元素的向量sKsp...,sn)。接下來,生成算法 Gen 計算 y=(y!,...,ym) <- (f! (s),...,fm(s))。另外,生成算法 Gen 將(?\ (χ1;...,χη),...,fm(Xl,...,xn),y)設置為公開密鑰pk,并且將s設置為秘密密鑰。下文中,將向量(Xl,..., χη)表示為X,并且將一對多元多項式(fjx),..., fm (χ))表示為F (X)。
[0172](證明者算法P、驗證者算法V)
[0173]接下來,將參考圖4描述在交互協(xié)議期間通過證明者算法P執(zhí)行的處理和通過驗證者算法V執(zhí)行的處理。
[0174]在前述交互協(xié)議期間,證明者一點也不將關于秘密密鑰sk的信息泄漏給驗證者,并對驗證者表示“她本人知道s滿足y=F(s) ”。另一方面,驗證者驗證證明者是否知道s滿足y=F(s)。假設使得驗證者知道公開密鑰pk。另外,假設由證明者秘密地管理秘密密鑰s。下文中,將參考圖4所示的流程圖進行描述。
[0175]運算#1:
[0176]首先,證明者算法P選擇任意數(shù)w。然后,證明者算法P通過將數(shù)w應用于偽隨機數(shù)生成器G1生成作為集合Kn的元素的向量r和數(shù)wA。即,證明者算法P計算(r,wA) — Gjw)。隨后,證明者算法P通過將數(shù)wA應用于偽隨機數(shù)生成器62生成多元多項式 Fa (x) = (f' (x),..., fAm (χ))。即,證明者算法 P 計算 Fa 一 G2 (wa)。
[0177]運算#1(繼續(xù)):
[0178]隨后,證明者算法P計算z —s-r。該計算等同于利用向量r掩蔽秘密密鑰s。另外,證明者算法P計算FB(X) — F(x+r)+FA(X)。該計算等同于利用多元多項式Fa(x)掩蔽關于X的多元多項式F (x+r)。
[0179]運算#1(繼續(xù)):
[0180]隨后,證明者算法P生成Fa(z)和z的哈希值Cl。即,證明者算法P計算Cl —HjFYzhz)。另外,證明者算法P生成數(shù)wA的哈希值c2。即,證明者算法P計算c2-H2(wa)0另外,證明者算法P生成多元多項式Fb的哈希值c3。即,證明者算法P計算c3 —H3(Fb(x))。注意,上述(...),Η。...)為哈希函數(shù)。哈希值((^(32,(33)作為消息被發(fā)送給驗證者算法V。此時,應注意,關于s的信息、關于r的信息、和關于z的信息完全未被泄漏給驗證者。
[0181]運算# 2:
[0182]在接收到消息(ci,c2,c3)時,驗證者算法V從三個驗證模式中選擇要使用的驗證模式。例如,驗證者算法V可以從表示驗證模式的三個數(shù)值{0,1,2}中選擇數(shù)值,并將選擇的數(shù)值設置在挑戰(zhàn)d中。該挑戰(zhàn)d被發(fā)送給證明者算法P。
[0183]運算# 3:
[0184]在接收到挑戰(zhàn)d時,證明者算法P響應于接收到的挑戰(zhàn)d生成要發(fā)送給驗證者算法V的響應Rsp。在d=0的情況下,證明者算法P生成響應σ =w。在d=l的情況下,證明者算法P生成響應o=(wA,z)。在d=2的情況下,證明者算法P生成響應σ =(FB(Z), z)。在運算# 3中生成的響應σ被發(fā)送給驗證者算法V。此時,應注意,在d=0的情況下,關于z的信息完全未被泄漏給驗證者,并且在d=l或2的情況下,關于r的信息完全未被泄漏給驗證者。
[0185]運算#4:
[0186]已接收到響應σ的驗證者算法V利用接收到的響應σ執(zhí)行下面的驗證處理。
[0187]在d=0的情況下,驗證者算法V計算(rA,wB)—匕(σ )。另外,驗證者算法V計算Fc-G2(wb)0然后,驗證者算法V驗證等Sc2=H2(wb)是否成立。另外,驗證者算法V驗證等Sc3=H3(F(X+rA)+Fe(X))是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在任一驗證失敗的情況下輸出指示認證失敗的值0。
[0188]在d=l的情況下,驗證者算法V設置(wB,zA)—。。另外,驗證者算法V計算Fc-G2(wb)0然后,驗證者算法乂驗證等式(31=!11滬(2\24)是否成立。另外,驗證者算法V驗證等Sc2=H2(wb)是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在驗證失敗的情況下輸出指示認證失敗的值0。
[0189]在d=2的情況下,驗證者算法V設置(FD,zA)—。。然后,驗證者算法V驗證等式
ZA)是否成立。另外,驗證者算法V驗證等Sc3=H3(Fd)是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在驗證失敗的情況下輸出指示認證失敗的值0。
[0190]以上描述了涉及本技術的每個算法結構的示例。
[0191](本技術的穩(wěn)健性)
[0192]這里,將補充描述本技術的穩(wěn)健性?;谌缦碌倪壿嫶_保本技術的穩(wěn)健性:當證明者算法P針對可由驗證者算法V選擇的全部挑戰(zhàn)d=0、l和2返回適當?shù)捻憫視r,可以計算滿足下面的公式(6)和公式(7)的穴^、八上
[0193][數(shù)學式6][0194]Fd (χ) = F (x+rA) +FC (x)
[0195]...(6)
[0196]Fd (za) -y = Fc (zA)
[0197]...(7)
[0198]通過確保上述穩(wěn)健性,只要求解多階多元聯(lián)立方程的問題未被解出,就確保了不可能以高于2/3的概率成功偽造的事實。即,為了適當?shù)貙︱炞C者的全部挑戰(zhàn)d=0、l和2做出響應,偽造者必須計算滿足前述公式(6)和公式(7)的0、戶、1^和zA。換句話說,偽造者必須計算滿足F(s)=y的s。然而,存在偽造者對驗證者的挑戰(zhàn)d=0、l、2中的兩個較高挑戰(zhàn)做出適當響應的可能性。因此,錯誤驗證的成功概率變?yōu)?/3。另外,通過以足夠大的次數(shù)重復執(zhí)行上述交互協(xié)議,成功偽造的概率變得可忽略地小。
[0199]以上描述了本技術的穩(wěn)健性。
[0200](變型示例)
[0201]這里,將介紹上述算法的變型示例。密鑰生成算法Gen計算y —F(s),并將(F,y)設置為公開密鑰。然而,在本變型示例中,密鑰生成算法Gen計算(yi,…,ym) —F(s)和(dO)) — (fiOO-yfAOO-yJ,并將(f:,…,f:)設置為公開密鑰。在該變型的情況下,可以在y=0處執(zhí)行交互協(xié)議。
[0202]另外,證明者算法P基于Fb(z)和z生成消息Cl。然而,由于關系式Fb(z)=Fa(z),即使在進行修改使得基于FA(z)和z生成消息(^時,也實現(xiàn)了類似的交互協(xié)議。另外,可以修改證明者算法P的結構,使得分別計算FB(z)的哈希值和z的哈希值,然后作為消息發(fā)送給驗證者算法V。
[0203]另外,證明者算法P通過將數(shù)w應用于偽隨機數(shù)生成器匕生成矢量r和數(shù)wA。另外,證明者算法P通過將數(shù)WA應用于偽隨機數(shù)生成器g2生成多元多項式Fa(x)。然而,可以修改證明者算法P的結構,使得使用身份映射作為Gi從開始計算w=(r,F(xiàn)a)。在該情況下,不需要將數(shù)w應用于匕。這對于G2是同樣的。
[0204]另外,在交互協(xié)議中,使用(F,y)作為公開密鑰。公開密鑰中包括的多元多項式F是不依賴于秘密密鑰sk的參數(shù)。為此,可以在整個系統(tǒng)中使用公用多元多項式F,而不對每個證明者設置多元多項式F。在該情況下,y足以作為對每個證明者設置的公開密鑰,從而可用減小公開密鑰的大小。然而,考慮到安全性,期望對每個證明者設置多元多項式F。下文將詳細描述在該情況下設置多元多項式F的方法。
[0205]另外,在交互協(xié)議中,使用(f\,- ,fm, y)作為公開密鑰,并且F=(f\,…,fj是可以適當選擇的參數(shù)。為此,例如,證明者和驗證者可以準備隨機數(shù)的種子wpk,并利用偽隨機數(shù)生成器G*計算F — G*(wpk)。在該情況下,即使公開密鑰是(wpk,y)并且將(F,y)作為公開密鑰公布,也可以減小公開密鑰的大小。
[0206]在算法中,利用哈希函數(shù)氏、H2和H3計算Cl、c2和c3,但是可以使用承諾函數(shù)COM代替哈希函數(shù)。承諾函數(shù)COM是以字符串S和隨機數(shù)P為因子的函數(shù)。承諾函數(shù)的示例包括由Shai Halevi和Silvio Micali在國際會議CRYPT01996上公開的方案。
[0207]當使用承諾函數(shù)時,在計算Cp c2和c3前準備隨機數(shù)Ρ ρ P 2和P 3,并通過應用承諾函數(shù)C0M(.,P C0M(.,P2)和C0M(.,P 3)代替應用哈希函數(shù)氏(.)、H2(.)和H3(.)來生成q、c2和c3。這里,將驗證者生成q所需的P i設置為包括在響應σ中并發(fā)送??梢詫⒃撟冃蛻糜趯⒃谙挛拿枋龅恼麄€算法中。
[0208]以上描述了本技術的變型示例。
[0209][2-2:擴展算法]
[0210]接下來,將參考圖5描述從本技術擴展的公開密鑰認證方案的算法(下文中被稱為“擴展技術”)。圖5為用于描述基于擴展技術的交互協(xié)議的流程的說明圖。
[0211]在本文所述的擴展技術中,在第一通中發(fā)送的消息(Cl,c2, c3)被轉換為一個哈希值c并被發(fā)送給驗證者。這里,利用在第三通發(fā)送的響應σ?guī)缀醪荒芑謴偷南⑴c響應σ一起被發(fā)送給驗證者。通過應用擴展技術,可以減少在交互協(xié)議期間發(fā)送給驗證者的信息量。下面將詳細描述與擴展技術相關的每個算法的結構。
[0212](密鑰生成算法Gen)[0213]密鑰生成算法Gen生成在環(huán)k上定義的m個多元多項式fi (Xl,...,xn),...,^(Xi,...,xn)和作為集合Kn的元素的向量sKsp...,sn)。接下來,生成算法 Gen 計算 y=(y1;...,ym) — (?\ (s),...,fm(s))。另外,生成算法 Gen 將(x1;...,xn),...,fm(Xl,...,xn),y)設置為公開密鑰pk,并將s設置為秘密密鑰。下文中,將向量(Xl,..., χη)表示為X,并將一對多元多項式(fjx),...,fm(X))表示為F (X)。
[0214](證明者算法P,驗證者算法V)
[0215]接下來,將參考圖5描述在交互協(xié)議期間通過證明者算法P執(zhí)行的處理和通過驗證者算法V執(zhí)行的處理。
[0216]在前述交互協(xié)議期間,證明者一點也不將關于秘密密鑰sk的信息泄漏給驗證者,并對驗證者表示“她本人知道s滿足y=F(s) ”。另一方面,驗證者驗證證明者是否知道s滿足y=F(s)。假設使得驗證者知道公開密鑰pk。另外,假設由證明者秘密地管理秘密密鑰s。下文中,將參考圖5所示的流程圖進行描述。
[0217]運算#1:
[0218]首先,證明者算法P選擇任意數(shù)w。然后,證明者算法P通過將數(shù)w應用于偽隨機數(shù)生成器&生成作為集合Kn的元素的向量r和數(shù)wA。即,證明者算法P計算(r,wA) — Gjw)。隨后,證明者算法P通過將數(shù)wA應用于偽隨機數(shù)生成器62生成多元多項式 Fa (x) = (f' (x),..., fAm (χ))。即,證明者算法 P 計算 Fa 一 G2 (wa)。
[0219]運算#1(繼續(xù)):
[0220]隨后,證明者算法P計算z —s-r。該計算等同于利用向量r掩蔽秘密密鑰s。另外,證明者算法P計算FB(X) — F (x+r)+FA (X)。該計算等同于利用多項式集合Fa(x)掩蔽關于χ的多項式集合F (x+r)。
[0221]運算#1(繼續(xù)):
[0222]接下來,證明者算法P生成Fb(z)和z的哈希值Cl。換句話說,證明者算法P計算Cl—氏(戶(2),2)。另外,證明者算法P生成數(shù)wA的哈希值c2。換句話說,證明者算法P計算(:2—H2(wa)。另外,證明者算法P生成多項式集合Fb的哈希值c3。換句話說,證明者算法P計算c3 —H3(wb)。氏(…)、H2(...)和比(...)是哈希函數(shù)。在擴展方案的情況下,證明者算法P將哈希值集合(Cl、c2、c3)應用于哈希函數(shù)Η以生成哈希值c,并將哈希值c發(fā)送給驗證者算法V。
[0223]運算# 2:[0224]在接收到哈希值c時,驗證者算法V從三個驗證模式中選擇要使用的驗證模式。例如,驗證者算法V可以從表示驗證模式的三個數(shù)值{0,1,2}中選擇數(shù)值,并將選擇的數(shù)值設置在挑戰(zhàn)d中。該挑戰(zhàn)d被發(fā)送給證明者算法P。
[0225]運算# 3:
[0226]在接收到挑戰(zhàn)d時,證明者算法P響應于接收到的挑戰(zhàn)d生成要發(fā)送給驗證者算法V的響應σ。在d=0的情況下,證明者算法P生成響應(σ,c*) = (w, 。在d=l的情況下,證明者算法P生成響應(σ,c*) = ((wA,z),c3)。在d=2的情況下,證明者算法P生成響應(o,c*) = ((Fb, z),c2)0在運算# 3中生成的響應被發(fā)送給驗證者算法V。
[0227]運算#4:
[0228]在接收到響應σ時,驗證者算法V利用接收到的響應(0,c*)執(zhí)行下面的驗證處理。
[0229]當d=0時,驗證者算法V計算(rA, wB) ^ Gi ( σ ) 0接下來,驗證者算法V計算Fe — G2 (wb)。接下來,驗證者算法V計算c2a=H2 (wb)。接下來,驗證者算法V計算c3A=H3(F(x+rA)+Fc(x))0之后,驗證者算法V驗證等式c=H(c'c2A,c3A)是否成立。然后,驗證者算法V在驗證成功時輸出表示認證成功的值1,而在驗證失敗時輸出表示認證失敗的值0。
[0230]當d=l時,驗證者算法V設置(wB,zA) — σ。接下來,驗證者算法V計算Fe — G2 (wB)。接下來’驗證者算法丫計算“鳴①^個一^接下來’驗證者算法丫計算c2A=H2(wB)。之后,驗證者算法V驗證等式c=H(Cia,C2a,C*)是否成立。然后,驗證者算法V在驗證成功時輸出表示認證成功的值1,而在驗 證失敗時輸出表示認證失敗的值0。
[0231]當d=2時,驗證者算法V設置(FD,zA)—。。接下來,驗證者算法V計算心鳴(Fd (za) -y, zA)。接下來,驗證者算法V計算c3a=H3 (Fd)。之后,驗證者算法V驗證等式C=H(Cia, c*, c3a)是否成立。然后,驗證者算法V在驗證成功時輸出表示認證成功的值1,而在驗證失敗時輸出表示認證失敗的值0。
[0232]以上描述了涉及擴展技術的每個算法的結構。通過應用擴展技術,可以減少在交互協(xié)議期間發(fā)送和接收的信息量。
[0233][2-3:并行算法]
[0234]如上所述,應用根據(jù)本技術和擴展技術的會話協(xié)議使得可以將成功偽造的概率保持在2/3以下。因此,兩次執(zhí)行會話協(xié)議使得可以將成功偽造的概率保持在(2/3)2以下。另外,如果N次執(zhí)行會話協(xié)議,則成功偽造的概率變?yōu)?2/3)N,并且,如果將N設置為足夠大的數(shù)(例如,N=140),則成功偽造的概率變得可忽略地小。
[0235]例如,多次執(zhí)行交互協(xié)議的可想到的方法包括:串行方法,其中多次順序重復消息、挑戰(zhàn)和響應的交換;以及并行方法,其中在單個交換中交換多個消息、挑戰(zhàn)和響應。這里,將描述把根據(jù)本技術的交互協(xié)議擴展到關于并行方法的交互協(xié)議(下文中被稱為“并行算法”)的方法。例如,圖6示出并行算法。接下來,將參考圖6描述并行算法的細節(jié)。
[0236](密鑰生成算法Gen)
[0237]密鑰生成算法Gen生成在環(huán)k上定義的m個多元多項式fi (Xl,...,xn),...,^(Xi,..., xn)和作為集合Kn的元素的向量sKsp...,sn)。接下來,生成算法 Gen 計算 y=(y1;...,ym) — (?\ (s),...,fm(s))。另外,生成算法 Gen 將(x1;...,xn),...,fm(Xl,...,xn),y)設置為公開密鑰pk,并將s設置為秘密密鑰。下文中,將向量(Xl,..., χη)表示為χ,并將一對多元多項式(fjx),...,fm(x))表示為F (X)。
[0238](證明者算法P,驗證者算法V)
[0239]接下來,將參考圖6描述在交互協(xié)議期間通過證明者算法P執(zhí)行的處理和通過驗證者算法V執(zhí)行的處理。
[0240]在前述交互協(xié)議期間,證明者一點也不將關于秘密密鑰s的信息泄漏給驗證者,并對驗證者表示“她本人知道s滿足y=F(s) ”。另一方面,驗證者驗證證明者是否知道s滿足y=F(s)。假設使得驗證者知道公開密鑰pk。另外,假設由證明者秘密地管理秘密密鑰s。下文中,將參考圖6所示的流程圖進行描述。
[0241]運算#1:
[0242]首先,證明者算法P針對i=l至N執(zhí)行下面的處理(1)至(8)。
[0243]處理(1):證明者算法P任意選擇數(shù)Wi。
[0244]處理(2):證明者算法P將數(shù)Wi應用于偽隨機數(shù)生成器G1;并生成作為集合Kn的元素的向量Α和 數(shù)WiA。換句話說,證明者算法P計算(ri,WiA) — GJr)。
[0245]處理(3):證明者算法P將數(shù)WiA應用于偽隨機數(shù)生成器62并生成多元多項式集合F, (χ)。換句話說,證明者算法Ρ計算F, — G2 (w,a)。
[0246]處理(4):證明者算法P計算Zi — S1-ri0該計算對應于利用向量巧掩蔽秘密密鑰
Si的操作。
[0247]處理(5):證明者算法P計算&Β(Χ) — FU+ig+FiAOO。該計算對應于利用多項式集合FiA(x)掩蔽關于χ的多項式集合FU+rJ的操作。
[0248]處理(6):證明者算法P生成~和^(。)的哈希值Cl,it)換句話說,證明者算法P計算 c1;i — Hi (F^Zi), Zi)。
[0249]處理(7):證明者算法P生成數(shù)WiA的哈希值^"。換句話說,證明者算法P計算C2, i — H2 (W^)。
[0250]處理(8):證明者算法P生成多項式集合的哈希值C3,it)換句話說,證明者算法P 計算 c3;i — Η3(&Β)。
[0251]氏(…)、H2(...)和比(...)是哈希函數(shù)。另外,哈希值(Cy,c2,i, c3,i)是消息。
[0252]針對i=l至N,在執(zhí)行處理(1)至(8)之后,將在運算# 1中生成的消息(c1;i, c2;i, c3;i) (i=l至N)發(fā)送給驗證者算法V。
[0253]運算# 2:
[0254]在接收到消息(Cy, c2,i, c3,i) (i=l至N)時,驗證者算法V針對i=l至N中的每個從三個驗證模式中選擇要使用的驗證模式。例如,針對i=l至N中的每個,驗證者算法V可以從表示驗證模式的三個數(shù)值{0,1,2}中選擇數(shù)值,并將選擇的數(shù)值設置在挑戰(zhàn)屯中。挑戰(zhàn)屯被發(fā)送給證明者算法P。
[0255]運算# 3:
[0256]已經接收到挑戰(zhàn)屯(i=l至N)的證明者算法P響應于挑戰(zhàn)屯生成要被發(fā)送給驗證者算法V的響應oi0此時, 證明者算法P針對i=l至N執(zhí)行下面的處理(1)至(3)。
[0257]處理(1):當屯為0時,證明者算法P生成響應(Μ”
[0258]處理(2):當φ為1時,證明者算法P生成響應σ i=(WiA, Zi)。[0259]處理(3):當屯為2時,證明者算法P生成響應Ofh'Zi)。
[0260]在執(zhí)行處理(1)至(3)后,將響應0i(i=l至N)發(fā)送給驗證者算法V。
[0261]運算#4:
[0262]已經接收到響應0力=1至N)的驗證者算法V利用接收到的響應0力=1至N)執(zhí)行下面的驗證處理。針對i=l至N執(zhí)行下面的處理。
[0263]在φ=0的情況下,驗證者算法V計算(rA WiB)—匕(σ J。另外,驗證者算法V計算# — 62(κβ)。然后,驗證者算法V驗證等式是否成立。另外,驗證者算法V驗證等式(:3」=113$(計1^)+?^00)是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在驗證失敗的情況下輸出指示認證失敗的值0。
[0264]在屯=1的情況下,驗證者算法V設置(WiB,ZiA) — oiD另外,驗證者算法V計算Fie — G2(WiB)。然后,驗證者算法¥驗證等式(^=氏(#(0,0是否成立。另外,驗證者算法V驗證等Sc2=H2(WiB)是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在驗證失敗的情況中輸出指示認證失敗的值0。
[0265]在φ=2的情況下,驗證者算法V設置(F,,ZiA) 一?!比缓?,驗證者算法V驗證等式cfHjF ^(ζ^-y,ζ^)是否成立。另外,驗證者算法V驗證等式是否成立。驗證者算法V在這些驗證都成功的情況下輸出指示認證成功的值1,而在驗證失敗的情況下輸出指示認證失敗的值0。
[0266]以上描述了并行執(zhí)行本技術的交互協(xié)議的方法。如上所述,由于重復執(zhí)行本技術的交互協(xié)議,成功偽造的概率變得可忽略地小。
[0267]另外,可以進行修改,使得可以在運算# 1之后向驗證者發(fā)送哈希值
C_H (c1; J, c1; 2,。1,3,…,CN, 1) CN, 2) CN, 3)而不疋發(fā)送(C 1,1,Cl,2i Cl, 3? *** ? CN,1,CN,2,CN, 3)。這里,考慮
到存在幾乎不能從響應恢復的消息,需要修改交互協(xié)議,使得將消息與響應一起從證明者發(fā)送給驗證者。當應用該修改時,在第一通發(fā)送的消息是單個哈希值C,從而顯著減少了通信量。例如,在N次并行重復結構的情況下,要發(fā)送的信息條數(shù)可以減少2N-1。
[0268](合適的參數(shù)設置方法)
[0269]根據(jù)本實施例的交互協(xié)議確保針對被動攻擊的安全性。然而,當應用上述并行重復執(zhí)行交互協(xié)議的方法時,需要下述條件以保證可靠地保障針對主動攻擊的安全性。
[0270]上述交互協(xié)議是用于通過使用一對密鑰(公開密鑰y和秘密密鑰s)向驗證者驗證“證明者針對1知道滿足y=F(s)的s”的算法。為此,當執(zhí)行在驗證中接受的交互時,指示驗證者知道“證明者在交互時使用s”的信息的概率是不可否認的。另外,對于多元多項式F不能確??箾_突性。為此,當并行重復執(zhí)行上述交互協(xié)議時,難以無條件地保證可靠地確保針對主動攻擊的安全性。
[0271]因此,本技術的發(fā)明人檢查了即使當執(zhí)行在驗證中接受的交互時也使得指示“證明者在交互時使用s”的信息對于驗證者未知的方法。另外,本技術的發(fā)明人提出了一種即使在并行重復執(zhí)行上述交互協(xié)議時也使得能夠確保針對主動攻擊的安全性的方法。該方法是將用作公開密鑰的多元多項式f\,...,fm的個數(shù)m設置為足夠小于變量的個數(shù)η的值的方法。例如,將m和η設置為使得2m_n〈〈l (例如,當n=160且m=80時,2_8°〈〈1)。
[0272]在安全性基于求解多階多元聯(lián)立方程的難度的方案中,即使在給定秘密密鑰Sl和對應于秘密密鑰Si的公開密鑰pk時,也難以生成對應于公開密鑰pk的另一個秘密密鑰s2。為此,當確保對于公開密鑰pk存在兩個或更多個秘密密鑰s時,即使在執(zhí)行在驗證中接受的交互時,也可以使得指示“證明者在交互時使用s”的信息對于驗證者未知。即,當建立該確保時,即使在并行重復執(zhí)行交互協(xié)議時,也可以確保針對主動攻擊的安全性。
[0273]當參考圖40考慮包括m個具有η個變量的多階多項式(其中n>m)的函數(shù)F:Kn—Km時,不具有第二預圖像的定義域的元素的個數(shù)最多為|κ|π-ι。為此,當將|κ|π_η設置為足夠小時,可以使得不具有第二預圖像的定義域的元素的選擇概率可忽略地小。即,當將具有η個變量的多階多項式f\,...,fm的個數(shù)m設置為足夠小于變量的個數(shù)η的值時,可以確保對于公開密鑰pk存在兩個或更多個秘密密鑰s。因此,即使在執(zhí)行在驗證中接受的交互時,也可以使得指示“證明者在交互時使用s”的信息對于驗證者未知。因此,即使在并行重復執(zhí)行交互協(xié)議時,也確保了針對主動攻擊的安全性。
[0274]如上所述,通過施加將具有η個變量的多階多項式f\,...,fm的個數(shù)m設置為足夠小于變量的個數(shù)η的值的設置條件(其中n>m,優(yōu)選2m_n〈〈l),可以在并行重復執(zhí)行交互協(xié)議時確保安全性。
[0275][2-4:具體示例(當使用二階多項式時)]
[0276]接下來,將參考圖7描述將具有η個變量的二階多項式用作多元多項式F的示例。圖7為用于描述本技術的具體示例的說明圖。
[0277](密鑰生成算法Gen)
[0278]密鑰生成算法Gen生成在環(huán)k上定義的m個多元多項式fi (Xl,...,xn),...,^(Xi,..., xn)和作為集合Kn的元素的向量sKsp...,sn)。接下來,生成算法 Gen 計算 y=(y1; ..., ym) — (^(s),..., fm (s))。另外,生成算法 Gen 將(f” …,fm, y)設置為公開密鑰pk,并將s設置為秘密密鑰。下文中,將向量(Xl,...,Xn)表示為X,并將多元多項式集合(400,...,乙00)表示為F (χ)。這里,二階多項式fi(x)被表示為下面的公式(8)。
[0279][數(shù)學式7]
【權利要求】
1.一種信息處理設備,包括:消息生成單元,基于在環(huán)κ上定義的多階多元多項式集合F=(f\,…,fm)和作為集合Kn的元素的向量s生成消息;消息提供單元,將消息提供到驗證者,所述驗證者保存所述多階多元多項式集合F和向量 y=(y1;..., ym) = (fi(s), --'fjs));以及響應提供單元,向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中3)個驗證模式中選擇的驗證模式,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
2.根據(jù)權利要求1所述的信息處理設備,其中,所述多階多元多項式集合F以被定義為Fb (X,y) =F(x+y)-F(X)-F(y)的Fb(x,y)關于x和y是雙線性的方式被設置。
3.根據(jù)權利要求1所述的信息處理設備,其中,所述消息生成單元生成N次消息(其中N > 2),其中,所述消息提供單元通過單次交互向驗證者提供N次消息,以及其中,所述響應提供單元通過單次交互向驗證者提供N次響應信息,所述N次響應信息對應于由驗證者關于各個N次消息而選擇的驗證模式。
4.根據(jù)權利要求1所述的信息處理設備,其中,所述消息生成單元生成N次消息(其中N > 2),并基于所述N次消息生成單個哈希值,其中,所述消息提供單元將所述哈希值提供給驗證者,以及其中,所述響應提供單元通過單次交互向驗證者提供N次響應信息和一部分消息,其中,N次響應信息對應于由驗證者關于各個N次消息而選擇的驗證模式,一部分消息即使在利用所述公開密鑰和響應信息執(zhí)行預先針對與所述響應信息對應的驗證模式準備的運算時也未被獲得。
5.—種信息處理設備,包括:信息保持單元,保持在環(huán)K上定義的多階多元多項式集合F=(f\,…,fm)和向量y= (υι,…,ym) = (fi (s),…,fm (s));消息獲取單元,獲取基于多階多元多項式集合F和作為集合Κη的元素的向量S生成的消息;模式信息提供單元,向已提供了消息的證明者提供關于從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及驗證單元,基于消息、多階多元多項式集合F、向量y和響應信息驗證證明者是否保持向量s,其中,所述向量S為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
6.根據(jù)權利要求5所述的信息處理設備,其中,所述多階多元多項式集合F以被定義為Fb(x, y) =F(x+y)-F(X)-F(y)的Fb(x, y)關于x和y是雙線性的方式被設置。
7.根據(jù)權利要求5所述的信息處理設備,其中,所述消息獲取單元通過單次交互獲取所述N次消息(其中N > 2),其中,所述模式信息提供單元選擇關于各個N次消息的驗證模式,并通過單次交互向證明者提供關于選擇的N次驗證模式的信息,其中,所述響應獲取單元通過單次交互從證明者獲取對應于選擇的N次驗證模式的N次響應信息,以及其中,當對全部N次消息 的驗證成功時,所述驗證單元確定所述證明者保持所述向量So
8.根據(jù)權利要求5所述的信息處理設備,其中,所述消息獲取單元獲取基于所述N次消息(其中N > 2)生成的單個哈希值,其中,所述響應獲取單元從所述證明者獲取對應于選擇的驗證模式的響應信息和一部分消息,其中,一部分消息即使在利用所述公開密鑰和響應信息執(zhí)行預先針對與所述響應信息對應的驗證模式準備的運算時也未被獲得,以及其中,所述驗證單元基于所述哈希值、一部分消息、所述公開密鑰以及所述響應信息驗證所述證明者是否保持所述向量s。
9.一種信息處理設備,包括:消息生成單元,基于在環(huán)K上定義的多階多元多項式集合F=(f\,…,fm)和作為集合Kn的元素的向量s生成消息;消息提供單元,將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量 y=(y1;..., ym) = (fi(s), --'fjs));以及中間信息生成單元,利用由驗證者隨機選擇的第一信息和在生成消息時獲得的第二信息來生成第三信息;中間信息提供單元,向所述驗證者提供第三信息;以及響應提供單元,向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中k ^ 2)個驗證模式中選擇的驗證模式,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
10.根據(jù)權利要求9所述的信息處理設備,其中,所述多階多元多項式集合F以被定義為Fb(x, y) =F(x+y)-F(X)-F(y)的Fb(x, y)關于x和y是雙線性的方式被設置。
11.根據(jù)權利要求9所述的信息處理設備,其中,所述消息生成單元生成N次消息(其中N > 2),其中,所述消息提供單元通過單次交互向驗證者提供N次消息,其中,所述中間信息生成單元利用由驗證者關于各個N次消息選擇的第一信息和當生成消息時獲得的N次第二信息來生成N次第二信息,其中,所述中間信息提供單元通過單次交互向驗證者提供N次第三信息,以及其中,所述響應提供單元通過單次交互向驗證者提供N次響應信息,所述N次響應信息對應于由驗證者關于各個N次消息選擇的驗證模式。
12.根據(jù)權利要求9所述的信息處理設備,其中,所述消息生成單元生成N次消息(其中N > 2),并基于所述N次消息生成單個哈希值,其中,所述消息提供單元將所述哈希值提供給驗證者,其中,所述中間信息生成單元·利用由驗證者關于各個N次消息選擇的第一信息和當生成消息時獲得的N次第二信息來生成N次第二信息,其中,所述中間信息提供單元通過單次交互向驗證者提供N次第三信息,以及其中,所述響應提供單元通過單次交互向驗證者提供N次響應信息和一部分消息,其中,N次響應信息對應于由驗證者關于各個N次消息選擇的驗證模式,一部分消息即使在利用所述公開密鑰和響應信息執(zhí)行預先針對與所述響應信息對應的驗證模式準備的運算時也未被獲得。
13.—種信息處理設備,包括:信息保持單元,保持在環(huán)K上定義的多階多元多項式集合F=(f\,…,fm)和向量y= (υι,…,ym) = (fi (s),…,fm (s));消息獲取單元,獲取基于多階多元多項式集合F和作為集合Κη的元素的向量S生成的消息;信息提供單元,向已提供了消息的證明者提供隨機選擇的第一信息;中間信息獲取單元,獲取由證明者利用第一信息和在生成消息時獲得的第二信息生成的第二息;模式信息提供單元,向證明者提供關于從k個(k > 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及驗證單元,基于消息、第一信息、第三信息、多階多元多項式集合F和響應信息驗證證明者是否保持向量s,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
14.根據(jù)權利要求13所述的信息處理設備,其中,所述多階多元多項式集合F以被定義為Fb (X,y) =F(x+y)-F(X)-F(y)的Fb(x,y)關于x和y是雙線性的方式被設置。
15.根據(jù)權利要求13所述的信息處理設備,其中,所述消息獲取單元通過單次交互獲取所述N次消息(其中N > 2),其中,所述信息提供單元隨機選擇關于各個N次消息的第一信息,并通過單次交互向證明者提供選擇的N次第一信息,其中,所述中間信息獲取單元獲取由證明者利用N次第一信息和當生成N次消息時獲得的N次第二信息生成的N次第二信息, 其中,所述模式信息提供單元選擇關于各個N次消息的驗證模式,并通過單次交互向證明者提供關于選擇的N次驗證模式的信息,其中,所述響應獲取單元通過單次交互從證明者獲取對應于選擇的N次驗證模式的N次響應信息,以及其中,當對全部N次消息的驗證成功時,所述驗證單元確定所述證明者保持所述向量So
16.根據(jù)權利要求13所述的信息處理設備,其中,所述消息獲取單元獲取基于所述N次消息(其中N > 2)生成的單個哈希值,其中,所述信息提供單元隨機選擇關于各個N次消息的第一信息,并通過單次交互向證明者提供選擇的N次第一信息,其中,所述中間信息獲取單元獲取由證明者利用N次第一信息和當生成N次消息時獲得的N次第二信息生成的N次第二信息,其中,所述模式信息提供單元選擇關于各個N次消息的驗證模式,并通過單次交互向證明者提供關于選擇的N次驗證模式的信息,其中,所述響應獲取單元從所述證明者獲取對應于選擇的驗證模式的響應信息和一部分消息,其中,一部分消息即使在利用所述公開密鑰、第一信息、第三信息和所述響應信息執(zhí)行預先針對與所述響應信息對應的驗證模式準備的運算時也未被獲得,以及其中,所述驗證單元基于所述哈希值、一部分消息、所述公開密鑰以及所述響應信息驗證所述證明者是否保持向量s,并在對全部N次消息的驗證成功時確定所述證明者保持所述向量s。
17.—種信息處理方法,包括:基于在環(huán)K上定義的多階多元多項式集合F= (f1;…,fm)和作為集合Kn的元素的向量s生成消息;將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量y=(yi,…,ym) = (fi(s),…,fm (s));以及向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中k > 3)個驗證模式中選擇的驗證模式,其中,所述向量S為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
18.一種由信息處理設備執(zhí)行的信息處理方法,所述信息處理設備保持在環(huán)K上定義的多階多元多項式集合FKA,…,fm)和向量y=(yi,*.., ym) = (f!(s),…,fm(s)),所述信息處理方法包括:獲取基于多階多元多項式集合F和作為集合Kn的元素的向量s生成的消息;向已提供了消息的證明者提供關于從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;從所述證明者獲取對應于選擇的驗證模式的響應信息;以及基于消息、多階多元多項式集合F、向量y和響應信息驗證證明者是否保持向量s,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中,所述消息為通過利用公開密鑰和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
19.一種信息處理方法,包括:基于在環(huán)K上定義的多階多元多項式集合F=(f\,…,fm)和作為集合Kn的元素的向量s生成消息;將消息提供到驗證者,所述驗證者保持所述多階多元多項式集合F和向量y=(yi,…,ym) = (fi(s),…,fm(s));利用由驗證者隨機選擇的第一信息和在生成消息時獲得的第二信息生成第三信息;向驗證者提供第三信息;以及向驗證者提供響應信息,所述響應信息對應于由驗證者從k (其中k > 2)個驗證模式中選擇的驗證模式,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的。
20.一種由信息處理設備執(zhí)行的信息處理方法,所述信息處理設備保持在環(huán)K上定義的多階多元多項式集合FKA,…,fm)和向量y=(yi,*.., ym) = (f!(s),…,fm(s)),所述信息處理方法包括:獲取基于多階多元多項式集合F和作為集合Kn的元素的向量s生成的消息;向已提供了消息的證明者提供隨機選擇的第一信息;獲取由證明者利用第一信息和在生成消息時獲得的第二信息生成的第三信息;向證明者提供從k個(k ^ 3)驗證模式中隨機選擇的單個驗證模式的信息;響應獲取單元,從所述證明者獲取對應于選擇的驗證模式的響應信息;以及基于消息、第一信息、第三信息、多階多元多項式集合F和響應信息驗證證明者是否保持向量s,其中,所述向量s為秘密密鑰,其中,所述多階多元多項式集合F和向量y為公開密鑰,其中所述消息為通過利用公開密鑰、第一信息、第三信息和響應信息執(zhí)行預先針對與響應信息對應的驗證模式準備的運算而獲得的信息,以及其中,所述多階多元多項式集合F是利用根據(jù)生成公開密鑰的每個用戶而不同的信息生成的?!?br>
【文檔編號】G09C1/00GK103718228SQ201280037657
【公開日】2014年4月9日 申請日期:2012年6月26日 優(yōu)先權日:2011年8月12日
【發(fā)明者】作本紘一 申請人:索尼公司