TW201308969A - 資訊處理裝置、資訊處理方法、程式及記錄媒體 - Google Patents

資訊處理裝置、資訊處理方法、程式及記錄媒體 Download PDF

Info

Publication number
TW201308969A
TW201308969A TW101125907A TW101125907A TW201308969A TW 201308969 A TW201308969 A TW 201308969A TW 101125907 A TW101125907 A TW 101125907A TW 101125907 A TW101125907 A TW 101125907A TW 201308969 A TW201308969 A TW 201308969A
Authority
TW
Taiwan
Prior art keywords
information
algorithm
verifier
message
vector
Prior art date
Application number
TW101125907A
Other languages
English (en)
Other versions
TWI511517B (zh
Inventor
Koichi Sakumoto
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of TW201308969A publication Critical patent/TW201308969A/zh
Application granted granted Critical
Publication of TWI511517B publication Critical patent/TWI511517B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本發明之課題在於實現具有高安全性之有效之公開鍵認證方式。本發明提供一種資訊處理裝置,其基於多次多變量多項式之組F=(f1,...,fm)及向量s而產生訊息,且對保持上述多次多變量多項式之組F及向量y=(f1(s),...,fm(s))之驗證者提供上述訊息,並將與上述驗證者從k種驗證模式中所選擇之驗證模式對應之回答資訊提供至上述驗證者。其中,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成。此外,針對向量x1=(x11,...,x1n),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成。

Description

資訊處理裝置、資訊處理方法、程式及記錄媒體
本技術係關於資訊處理裝置、資訊處理方法、程式及記錄媒體。
隨著資訊處理技術及通訊技術之急速發展,無論公文、私函,文書之電子化急速發展。隨之,多數之個人或企業對電子文書之安全管理寄予較大之關注。受如此之關注高漲之影響,盛行研究在各方面針對電子文書之竊聽或偽造等篡改行為之對策。對於電子文書之竊聽,例如可藉由將電子文書進行加密而確保安全性。又,對於電子文書之偽造,例如可藉由利用電子署名而確保安全性。然而,若所利用之密碼或電子署名不具備高防篡性,則無法保證充分之安全性。
電子署名係為使電子文書之製作者特定而利用。因此,電子署名應只有電子文書之製作者可產生。若假設具有惡意之第三者可產生相同之電子署名,則該第三者可冒充電子文書之製作者。即,可由具有惡意之第三者偽造電子文書。為防止此種偽造,關於電子署名之安全性,已進行各種討論。作為現今被廣泛利用之電子署名方式,已知例如RSA署名方式與DSA署名方式等。
RSA署名方式將「對較大之合成數之素因數分解之困難性(以下為素因數分解問題)」作為安全性之根據。又,DSA署名方法將「導出對於離散對數問題之解之困難性」 作為安全性之根據。該等根據源於不存在利用古典之電腦而有效解答素因數分解問題或離散對數問題之運算法。即,上述之困難性意味著古典之電腦之計算量上之困難性。然而,可以說,若使用量子電腦,則可有效算出對於素因數分解問題或離散對數問題之解答。
現今所利用之電子署名方式或公開鍵認證方式,多數與RSA署名方式或DSA署名方式相同,將素因數分解問題或離散對數問題之困難性作為安全性之根據。因此,量子電腦已實用化之情形時,此種電子署名方式或公開鍵認證方式將無法確保其安全性。因此,追求實現以與素因數分解問題或離散對數問題等、利用量子電腦容易解答之問題不同之問題為安全性之根據之新的電子署名方式或公開鍵認證方式。作為難以利用量子電腦容易解答之問題,例如有多變量多項式問題。
作為以多變量多項式問題為安全性之根據之電子署名方式,例如已知基於MI(Matsumoto-Imai cryptography:松本-今井密碼學)、HFE(Hidden Field Equation cryptography:隱藏場方程密碼學)、OV(Oil-Vinegar signature scheme:油醋簽名方案)、TTM(Tamed Transformation Method cryptography:抑制轉變方法密碼學)之方式。例如,下述非專利文獻1、2中揭示有基於HFE之電子署名方式。
[先行技術文獻] [非專利文獻]
[非專利文獻1]Jacques Patarin Asymmetric Cryptography with a Hidden Monomial. CRYPTO 1996, PP. 45-60.
[非專利文獻2]Patarin, J., Courtois, N., and Goubin, L. QUARTZ, 128-Bit Long Digital Signatures. In Naccache, D., Ed. Topics in Cryptology-CT-RSA 2001 (San Francisco, CA, USA, April 2001), vol. 2020 of Lecture Notes in Computer Science, Springer-Verlag., pp. 282-297.
如上所述,多變量多項式問題係所謂使用量子電腦亦難以解答之NP困難問題之問題之一例。通常,利用以HFE等為代表之多變量多項式問題之公開鍵認證方式係利用裝入特殊活板門之多次多變量連立方程式。例如準備關於x1,...,xn之多次多變量連立方程式F(x1,...,xn)=y與線性轉換A及B,且秘密管理線性轉換A及B。該情形,多次多變量連立方程式F、線性轉換A及B成為活板門。
已知活板門F、A、B之整體可解開關於x1,...,xn之方程式B(F(A(x1,...,xn)))=y'。另一方面,不知活板門F、A、B之整體,無法解開關於x1,...,xn之方程式B(F(A(x1,...,xn)))=y'。藉由利用該機制,可實現將多次多變量連立方程式之解答困難性作為安全性之根據之公開鍵認證方式或電子署名方式。
如上所述,為實現此種公開鍵認證方式或電子署名方式,必須準備滿足B(F(A(x1,...,xn)))=y之特殊之多次多變量連立方程式。此外,有必要於署名產生時解開多次多 變量連立方程式F。因此,可利用之多次多變量連立方程式F限於可比較容易解開者。即,在目前為止之方式中,只可使用將可比較容易解開之三個函數(活板門)B、F、A合成之形式之多次多變量連立方程式B(F(A(x1,...,xn)))=y,難以確保充分之安全性。
本技術係鑒於上述情況,意欲提供一種使用有效解答機構(活板門)不可知之多次多變量連立方程式而可實現具有高安全性之有效之公開鍵認證方式及電子署名方式之新穎且經改良之資訊處理裝置、資訊處理方法、程式、及記錄媒體而發明者。
根據本技術之一觀點,可提供一種資訊處理裝置,其具備:訊息產生部,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;訊息提供部,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生部,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供部,其係將上述第3資訊提供至上述驗證者;及回答提供部,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之 驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種資訊處理裝置,其具備:資訊保持部,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得部,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供部,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得部,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;模式資訊提供部,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得部,其係自上述證明者取得於上述所選擇之驗證模式對應之回答資訊;及驗證部,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項 式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種資訊處理方法,其包含:基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;將上述第3資訊提供至上述驗證者;及將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行於該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種資訊處理方法,其包含:保持多次多變量多項式之組F=(f1,...,fm) 及向量y=(y1,...,ym)=(f1(s),...,fm(s))之資訊處理裝置取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;對提供上述訊息之證明者,提供隨機選擇之第1資訊;取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種程式,其係用以使電腦實現如下功能者:訊息產生功能,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;訊息提供功能,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供 上述訊息;中間資訊產生功能,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供功能,其係將上述第3資訊提供至上述驗證者;及回答提供功能,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種程式,其係用以使電腦實現如下功能者:資訊保持功能,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得功能,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供功能,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得功能,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊產生之第3資訊;模式資訊提供功能,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取 得功能,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證功能,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵,上述多次多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息之訊息產生功能;對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息之訊息提供功能;使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊產生第3資訊之中間資訊產生功能;將上述第3資訊提供至上述驗證者之中間資訊提供功能、及將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者之回答提供功能;且上述向量s係秘密鍵,上述多次 多變量多項式之組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
又,根據本技術之另一觀點,可提供一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s))之資訊保持功能;取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息之訊息取得功能;對提供上述訊息之證明者提供隨機選擇之第1資訊之資訊提供功能;取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊產生之第3資訊之中間資訊取得功能;將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者之模式資訊提供功能;自上述證明者取得與上述所選擇之驗證模式對應之回答資訊之回答取得功能;及基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊而驗證上述證明者是否保持有上述向量s之驗證功能;且上述向量s係秘密鍵,上述多次多變量多項式之 組F及上述向量y係公開鍵,上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊,上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且關於向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
如以上說明,根據本技術,使用有效解答機構(活板門)不可知之多次多變量連立方程式,可實現具有高安全性之有效之公開鍵認證方式或電子署名方式。
以下,參照附加圖式詳細說明本技術之適宜之實施形態。另,在本說明書及圖式中,針對實質上具有相同之功能構成之構成要件,藉由標註同一符號而省略重複說明。
[關於說明之流程]
此處,簡單敘述關於以下揭示之本技術之實施形態之說明流程。首先,參照圖1說明公開鍵認證方式之運算法構成。其次,參照圖2說明電子署名方式之運算法構成。接著,參照圖3說明n通道之公開鍵認證方式。
接著,參照圖4~圖8說明3通道之公開鍵認證方式之運算法之構成例。接著,參照圖5~圖17說明5通道之公開鍵認證方式之運算法之構成例。接著,參照圖18~圖21說明將3 通道及5通道之公開鍵認證方式之有效之運算法變化成電子署名方式之運算法之方法。
接著,參照圖22~圖27說明3通道及5通道之公開鍵認證方式之有效之運算法之並串行構成及串並行構成。接著,參照圖28說明可實現本技術之第1及第2實施形態之各運算法之資訊處理裝置之硬體構成例。最後,總結本實施形態之技術性思想,簡單說明自該技術性思想獲得之作用效果。
(說明項目)
1:前言
1-1:公開鍵認證方式之運算法
1-2:電子署名方式之運算法
1-3:n通道之公開鍵認證方式
2:3通道之公開鍵認證方式之運算法之構成
2-1:具體運算法之構成例
2-2:基於2次多變量多項式之有效之運算法
2-2-1:基本構成
2-2-2:並行化運算法
2-3:基於高次多變量多項式之有效之運算法(方式#1)
2-3-1:基本構成
2-3-2:並行化運算法
3:5通道之公開鍵認證方式之運算法之構成
3-1:具體運算法之構成例
3-2:基於2次多變量多項式之有效之運算法
3-2-1:基本構成
3-2-2:並行化運算法
3-3:基於高次多變量多項式之有效之運算法(實施例1)
3-3-1:基本構成
3-3-2:並行化運算法
3-4:基於高次多變量多項式之有效之運算法(實施例2)
3-4-1:基本構成
3-4-2:並行化運算法(構成例1)
3-4-3:並行化運算法(構成例2:高效率)
3-4-4:並行化運算法(構成例2:更高效率)
4:向電子署名方式變化
4-1:自3通道之公開鍵認證方式向電子署名方式變化
4-1-1:電子署名運算法(構成例1)
4-1-2:電子署名運算法(構成例2:高效率)
4-2:自5通道之公開鍵認證方式向電子署名方式變化
4-2-1:電子署名運算法(構成例1)
4-2-2:電子署名運算法(構成例2:高效率)
5:混合型運算法
5-1:3通道之公開鍵認證方式之混合型運算法
5-1-1:並串行運算法
5-1-2:串並行運算法
5-2:5通道之公開鍵認證方式之混合型運算法
5-2-1:並串行運算法(構成例#1)
5-2-2:並串行運算法(構成例#2)
5-2-3:串並行運算法(構成例#1)
5-2-4:串並行運算法(構成例#2)
6:補遺
6-1:系統參數之設定方法
6-2:針對非正規請求之應答方法
6-2-1:關於證明者之應答方法
6-2-2:關於驗證者之應答方法
7:硬體構成例
8:總結
<1:前言>
本實施形態係關於將對多次多變量連立方程式之求解問題之困難性作為安全性之根據之公開鍵認證方式及電子署名方式。且,本實施形態係關於與HFE電子署名方式等之先前技術不同,利用不具備有效解答機構(活板門)之多次多變量連立方程式之公開鍵認證方式及電子署名方式。首先,關於公開鍵認證方式之運算法、電子署名方式之運算法、及n通道之公開鍵認證方式,簡單說明其概要。
[1-1:公開鍵認證方式之運算法]
首先,參照圖1,針對公開鍵認證方式之運算法說明概要。圖1係用以針對公開鍵認證方式之運算法說明概要之說明圖。
公開鍵認證係某人(證明者)利用公開鍵pk及秘密鍵sk使他人(驗證者)認可為本人而利用。例如,證明者A之公開鍵pkA係對驗證者B公開。另一方面,證明者A之秘密鍵skA 係被證明者A秘密管理。在公開鍵認證之機制中,知曉與公開鍵pkA對應之秘密鍵skA者被視為證明者A本人。
利用公開鍵認證之機制對驗證者B證明證明者A為證明者A本人時,可經由對話協定對驗證者B提示證明者A知曉與公開鍵pkA對應之秘密鍵skA此證據。接著,對驗證者B提示證明者A知曉秘密鍵skA此證據,且驗證者B對該證據確認完畢之情形,證明證明者A之正當性(為本人)。
然而,在公開鍵認證之機制中,為擔保安全性而要求以下之條件。
第一個條件係「實行對話協定時,使基於不具有秘密鍵sk之偽證者而導致偽證成立之概率無限小」。該第一個條件成立被稱為「健全性」。所謂健全性,換言之,即「不會有基於不具有秘密鍵sk之偽證者,於對話協定之實行中以無法忽視之概率而偽證成立」。第2個條件係「即使實行對話協定,證明者A具有之秘密鍵skA之資訊亦完全不會洩漏給驗證者B」。該第2個條件成立被稱為「零知識性」。
為安全地進行公開鍵認證,有必要利用具有健全性及零知識性之對話協定。假設使用不具備健全性及零知識性之對話協定進行認證處理之情形時,由於無法否定偽證之可能性及秘密鍵之資訊洩漏之可能性,故,即使處理本身順利完成,仍無法證明證明者之正當性。因此,如何保證對話協定之健全性及零知識性較重要。
(模式)
如圖1所示,公開鍵認證方式之模式中存在證明者與驗 證者2個整體。證明者使用鍵產生運算法Gen,產生證明者特有之秘密鍵sk與公開鍵pk之組合。接著,證明者利用使用鍵產生運算法Gen而產生之秘密鍵sk與公開鍵pk之組合,與驗證者實行對話協定。此時,證明者利用證明者運算法P實行對話協定。如上所述,證明者利用證明者運算法P,在對話協定中將保有秘密鍵sk之證據提示給驗證者。
另一方面,驗證者利用驗證者運算法V實行對話協定,驗證該證明者是否保有與證明者公開之公開鍵對應之秘密鍵。即,驗證者係驗證證明者是否保有與公開鍵對應之秘密鍵之整體。如此般,公開鍵認證方式之模式係由證明者與驗證者2個整體、及鍵產生運算法Gen、證明者運算法P、驗證者運算法V 3個運算法構成。
另,在以下之說明中,雖使用「證明者」、「驗證者」之表示,但該等表示充其量係意為整體者。因此,實行鍵產生運算法Gen、證明者運算法P之主體係與「證明者」之整體對應之資訊處理裝置。同樣,實行驗證者運算法V之主體係資訊處理裝置。該等資訊處理裝置之硬體構成係例如圖28所示。即,鍵產生運算法Gen、證明者運算法P、驗證者運算法V係基於ROM904、RAM906、記憶部920、可卸除式記錄媒體928等所記錄之程式,藉由CPU902等而實行。
(鍵產生運算法Gen)
鍵產生運算法Gen係由證明者利用。鍵產生運算法Gen 係產生證明者所特有之秘密鍵sk與公開鍵pk之組合之運算法。藉由鍵產生運算法Gen產生之公開鍵pk被公開。且,所公開之公開鍵pk係被驗證者利用。另一方面,藉由鍵產生運算法Gen產生之秘密鍵sk,證明者秘密地進行管理。且,由證明者秘密管理之秘密鍵sk係利用於向驗證者證明證明者保有與公開鍵pk對應之秘密鍵sk。形式上,鍵產生運算法Gen作為輸入安全參數1λ(λ係0以上之整數)且輸出秘密鍵sk與公開鍵pk之運算法,如下述之式(1)般表示。
[數1](sk,pk) ← Gen(1 λ )………(1)
(證明者運算法P)
證明者運算法P係由證明者利用。證明者運算法P係用以向驗證者證明證明者保有與公開鍵pk對應之秘密鍵sk之運算法。即,證明者運算法P係輸入秘密鍵sk與公開鍵pk而實行對話協定之運算法。
(驗證者運算法V)
驗證者運算法V係由驗證者利用。驗證者運算法V係在對話協定中驗證證明者是否保有與公開鍵pk對應之秘密鍵sk之運算法。驗證者運算法V係輸入公開鍵pk且因應對話協定之實行結果而輸出0或1(1 bit)之運算法。另,驗證者運算法V輸出0之情形時,驗證者判斷證明者為不正當者,輸出1之情形時,判斷證明者為正當者。形式上,驗證者運算法V係如下述之式(2)般表示。
[數2]0/1 ← V(pk)………(2)
如上所述,為實現有意義之公開鍵認證,對話協定有必要滿足健全性及零知識性2個條件。但,為證明證明者保有秘密鍵sk,需要證明者實行依存於秘密鍵sk之程序,並將其結果通知至驗證者,在此基礎上,使驗證者實行基於該通知內容之驗證。實行依存於秘密鍵sk之程序係為擔保健全性所需。另一方面,秘密鍵sk之資訊必須完全不會洩漏給驗證者。因此,為滿足該等必要條件,必須巧妙地設計上述鍵產生運算法Gen、證明者運算法P、及驗證者運算法V。
以上,關於公開鍵認證方式之運算法,已說明其概要。
[1-2:電子署名方式之運算法]
接著,參照圖2針對電子署名方式之運算法說明概要。圖2係用以針對電子署名方式之運算法說明概要之說明圖。
與紙文書不同,對某電子化之資料,無法蓋章或寫上署名。因此,為證明電子化資料之製作者,需要可獲得與於紙文書上蓋章或寫上署名同等效果之電子機制。該機制係電子署名。所謂電子署名係指將只有資料之製作者知曉之署名資料與資料相關連而提供給領受者,並在領受者側驗證該署名資料之機制。
(模式)
如圖2所示,電子署名方式之模式中存在署名者及驗證者2個整體。且,電子署名方式之模式係由鍵產生運算法Gen、署名產生運算法Sig、及署名驗證運算法Ver 3個運算法構成。
署名者利用鍵產生運算法Gen產生署名者特有之署名鍵sk與驗證鍵pk之組合。又,署名者利用署名產生運算法Sig產生賦與文書M之電子署名σ。即,署名者係將電子署名賦與文書M之整體。另一方面,驗證者利用署名驗證運算法Ver驗證賦與文書M之電子署名σ。即,驗證者係為確認文書M之製作者是否為署名者而驗證電子署名σ之整體。
另,在以下之說明中,雖使用「署名者」、「驗證者」之表示,但該等表示充其量係意為整體者。因此,實行鍵產生運算法Gen、署名產生運算法Sig之主體係與「署名者」之整體對應之資訊處理裝置。同樣,實行署名驗證運算法Ver之主體係資訊處理裝置。該等資訊處理裝置之硬體構成係例如圖28所示。即,鍵產生運算法Gen、署名產生運算法Sig、署名驗證運算法Ver係基於ROM904、RAM906、記憶部920、可卸除式記錄媒體928等所記錄之程式,藉由CPU902等而實行。
(鍵產生運算法Gen)
鍵產生運算法Gen係由署名者利用。鍵產生運算法Gen係產生署名者特有之署名鍵sk與驗證鍵pk之組合之運算法。藉由鍵產生運算法Gen產生之驗證鍵pk被公開。另一 方面,藉由鍵產生運算法Gen產生之署名鍵sk係由署名者秘密管理。且,署名鍵sk被利用於產生賦與文書M之電子署名σ。例如,鍵產生運算法Gen輸入安全參數1λ(λ係0以上之整數),輸出署名鍵sk與公開鍵pk。該情形,鍵產生運算法Gen形式上可如下述之式(3)般表示。
[數3](sk,pk) ← Gen(1 λ )………(3)
(署名產生運算法Sig)
署名產生運算法Sig係由署名者利用。署名產生運算法Sig係產生賦與文書M之電子署名σ之運算法。署名產生運算法Sig係輸入署名鍵sk與文書M且輸出電子署名σ之運算法。該署名產生運算法Sig形式上可如下述之式(4)般表示。
[數4]σSig(sk,M)………(4)
(署名驗證運算法Ver)
署名驗證運算法Ver係由驗證者利用。署名驗證運算法Ver係驗證電子署名σ是否為對文書M之正當之電子署名之運算法。署名驗證運算法Ver係輸入署名者之驗證鍵pk、文書M、電子署名σ且輸出0或1(1 bit)之運算法。該署名驗證運算法Ver形式上可如下述之式(5)般表示。另,署名驗證運算法Ver輸出0之情形(公開鍵pk否決文書M與電子署名 σ之情形)時,驗證者判斷電子署名σ為不正當,輸出1之情形(公開鍵pk受理文書M與電子署名σ之情形)時,判斷電子署名σ為正當。
[數5]0/1 ← Ver(pk,M,σ)………(5)
以上,關於電子署名方式之運算法,已說明其概要。
[1-3:n通道之公開鍵認證方式]
接著,參照圖3說明n通道之公開鍵認證方式。圖3係用以說明n通道之公開鍵認證方式之說明圖。
如上所述,公開鍵認證方式係在對話協定中向驗證者證明證明者保有與公開鍵pk對應之秘密鍵sk之認證方式。此外,對話協定必須滿足健全性及零知識性2個條件。因此,在對話協定中,如圖3所示,證明者及驗證者雙方一方面分別實行處理,並進行n次之資訊交換。
n通道之公開鍵認證方式之情形,由證明者使用證明者運算法P實行處理(步驟#1),且將資訊T1發送至驗證者。接著,由驗證者使用驗證者運算法V實行處理(步驟#2),並將資訊T2發送至證明者。再者,針對k=3~n依序進行處理(步驟#k)及資訊Tk之發送,最後實行處理(步驟#n+1)。如此般,將n次傳送接收資訊之方式稱為「n通道」之公開鍵認證方式。
以上,已說明n通道之公開鍵認證方式。
<2:3通道之公開鍵認證方式之運算法之構成>
以下,對3通道之公開鍵認證方式之運算法加以說明。另,在以下說明中,有將3通道之公開鍵認證方式稱為「3通道方式」之情形。
[2-1:具體運算法之構成例]
首先,參照圖4介紹3通道方式之具體運算法之構成例。圖4係用以說明3通道方式之具體運算法之構成之說明圖。另,3通道方式之運算法係由鍵產生運算法Gen、證明者運算法P、及驗證者運算法V構成。以下,對各運算法之構成加以說明。
(鍵產生運算法Gen)
鍵產生運算法Gen產生在環K上定義之m個多變量多項式f1(x1,...,xn),...,fm(x1,...,xn)、及向量s=(s1,...,sn)Kn。接著,鍵產生運算法Gen計算y=(y1,...,ym)←(f1(s),...,fm(s))。且,鍵產生運算法Gen將(f1(x1,...,xn),...,fm(x1,...,xn),y)設定成公開鍵pk,s設定成秘密鍵。另,以下,將向量(x1,...,xn)記為x,多變量多項式之組(f1(x),...,fm(x))記為F(x)。
(證明者運算法P、驗證者運算法V)
接著,參照圖4說明對話協定中證明者運算法P實行之處理及驗證者運算法V實行之處理。
在上述對話協定中,證明者完全不會將秘密鍵s之資訊洩漏給驗證者,且向驗證者展示「自身知曉滿足y=F(s)之s」。另一方面,驗證者驗證證明者是否知曉滿足y=F(s)之s。另,公開鍵pk係對驗證者公開者。又,秘密鍵s係由證 明者秘密管理者。以下,沿圖4所示之流程圖進行說明。
步驟#1:
首先,證明者運算法P選擇任意數seed0。接著,證明者運算法P對偽隨機數產生器PRNG應用數seed0而產生向量r0 Kn及數seed1。即,證明者運算法P計算(r0,seed1)←PRNG(seed0)。接著,證明者運算法P對偽隨機數產生器PRNG應用數seed1而產生多變量多項式F1(x)=(f11(x),...,f1m(x))。即,證明者運算法P計算F1←PRNG(seed1)。
步驟#1(續):
接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。再者,證明者運算法P計算F2(x)←F(x+r0)+F1(x)。該計算相當於關於x藉由多變量多項式F1(x)掩蔽多變量多項式F(x+r0)之操作。
步驟#1(續):
接著,證明者運算法P產生F1(r1)及r1之雜湊值c0。即,證明者運算法P計算c0←H(F1(r1),r1)。又,證明者運算法P產生數seed1之雜湊值c1。即,證明者運算法P計算c1←H(seed1)。再者,證明者運算法P產生多變量多項式F2之雜湊值c2。即,證明者運算法P計算c2←H(F2)。該雜湊值(c0,c1,c2)作為訊息被發送至驗證者運算法V。此時,應注意關於s之資訊、關於r0之資訊、及關於r1之資訊完全不會洩漏給驗證者之點。
步驟#2:
接收訊息(c0,c1,c2)之驗證者運算法V在三個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式之種類之3個數值{0,1,2}中選擇1個數值,且將所選擇之數值設定成請求Ch。該請求Ch被發送至證明者運算法P。
步驟#3:
接收請求Ch之證明者運算法P因應所接收之請求Ch,產生發送至驗證者運算法V之應答Rsp。Ch=0之情形,證明者運算法P產生應答Rsp=seed0。Ch=1之情形,證明者運算法P產生應答Rsp=(seed1,r1)。Ch=2之情形,證明者運算法P產生應答Rsp=(F2,r1)。步驟#3中產生之應答Rsp被發送至驗證者運算法V。此時,應注意Ch=0之情形時關於r1之資訊完全不會洩漏給驗證者,Ch=1或2之情形時關於r0之資訊完全不會洩漏給驗證者之點。
步驟#4:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
Ch=0之情形,驗證者運算法V計算(r0,seed1)←PRNG(Rsp)。再者,驗證者運算法V計算F1←PRNG(seed1)。且,驗證者運算法V驗證c1=H(seed1)之等號是否成立。又,驗證者運算法V驗證c2=H(F(x+r0)+F1(x))之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=1之情形,驗證者運算法V計算(seed1,r1)←Rsp。再者,驗證者運算法V計算F1←PRNG(seed1)。且,驗證者運算法V驗證c0=H(F1(r1),r1)之等號是否成立。又,驗證者運算法V驗證c1=H(seed1)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=2之情形,驗證者運算法設為(F2,r1)←Rsp。且,驗證者運算法V驗證c0=H(F2(r1)-y,r1)之等號是否成立。再者,驗證者運算法V驗證c2=H(F2)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
(關於健全性)
此處,針對3通道方式之運算法之健全性補充說明。3通道方式之運算法之健全性係基於「關於驗證者運算法V可選擇之所有請求Ch=0,1,2,若證明者運算法P返回正確之應答Rsp,則可計算滿足下述之式(6))及式(7)之F2、F1、r0、r1係變得」之邏輯而得以保證。
[數6]F 2(x)=F(x+r 0)+F 1(x)………(6) F 2(r 1)-y=F 1(r 1)………(7)
藉由保證上述健全性,可保證在不解開多次多變量連立 方程式之求解問題之限度內,偽證不可能以高於2/3之概率成功。即,為正確回答驗證者之請求Ch=0,1,2之全體,偽證者必須能計算滿足上述之式(6)及式(7))之F2、F1、r0、r1。換言之,偽證者必須能計算滿足F(s)=y之s。然而,留有偽證者可正確回答驗證者之請求Ch=0,1,2中最多2個之可能性。因此,偽證之成功概率成為2/3。另,藉由將上述對話協定重複實行足夠之次數,可將偽證之成功概率縮小至可忽視之程度。
(關於雜湊函數H)
此處,對雜湊函數H補充說明。在上述運算法中,雖使用雜湊函數H計算c0,c1,c2等,但亦可取代雜湊函數H而使用關聯函數COM。關聯函數COM係採用文字列S及隨機數ρ為自變量之函數。作為關聯函數之例,有由Shai Halevi與Silvio Micali在國際會議CRYPTO1996中所發表之方式等。
例如,考慮使用關聯函數COM計算c0,c1,c2之情形。該情形,在計算c0,c1,c2之前準備隨機數ρ0,ρ1,ρ2,且取代應用雜湊函數H(‧),而應用關聯函數COM(‧,ρ0),COM(‧,ρ1),COM(‧,ρ2)產生c0,c1,c2。又,驗證者產生c1所需之ρi包含於應答Rsp中而傳送。
以上,已介紹3通道方式之具體運算法之構成例。
[2-2:基於2次多變量多項式之有效之運算法]
接著,對使3通道方式之運算法效率化之方法加以敘述。此處,對利用2次多項式之組(f1(x),...,fm(x))作為多 變量多項式F之情形加以說明。其中,2次多項式fi(x)設為如下述之式(8)般表示者。
另,2次多項式之組(f1(x),...,fm(x))可如下述之式(9)般表示。其中,x=(x1,...,xn)。此外,A1,...,Am係n×n列行。再者,b1,...,bm分別為n×1之向量。
若使用該表示,則多變量多項式F可如下述之式(10)及式(11)般表示。該表示成立可容易自下述之式(12)進行確認。
如此般,將F(x+y)分成依存於x之第1部分、依存於y之第2部分、及依存於x與y兩者之第3部分時,與第3部分對應之項G(x,y)關於x及y成為雙線性。若利用該性質,則可構築有效之運算法。
例如,使用向量t0 Kn、e0 Km,將利用於掩蔽多變量多項式F(x+r)之多變量多項式F1(x)表示為F1(x)=G(x,t0)+e0。該情形,多變量多項式F(x+r0)與G(x)之和係如下述之式(13)般表示。
此處,若設為t1=r0+t0、e1=F(r0)+e0,則多變量多項式F2(x)=F(x+r0))+F1(x)可由向量t1 Kn、e1 Km表示。因此,若設定成F1(x)=G(x,t0)+e0,則可使用Kn上之向量及Km上之向量表示F1及F2,從而可大幅減少通訊所需之資料大小。具體而言,通訊效率會提高數千~數萬倍左右。
[數10]F(x+r 0)+F 1(x)=F(x)+F(r 0)+G(x,r 0)+G(x,t 0)+e 0=F(x)+G(x,r 0+t 0)+F(r 0)+e 0………(13)
另,藉由上述變化,關於r0之資訊完全不會從F2(或F1)洩漏。例如,即使賦與e1及t1(或e0及t0),只有不知曉e0及t0(或e1及t1),即完全無法知曉r0之資訊。因此,可擔保零知識性。以下,參照圖5及圖6說明3通道方式之有效之運算法。
(2-2-1:基本構成(圖5))
首先,參照圖5說明3通道方式之有效之運算法之基本構成。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖5所示,證明者運算法P隨機產生向量r0,t0 Kn及e0 Km。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。再者,證明者運算法P計算t1←r0-t0。接著,證明者運算法P計算e1←F(r0)-e0
步驟#1(續):
接著,證明者運算法P計算c0←H(r1,G(t0,r1)+e0)。接著,證明者運算法P計算c1←H(t0,e0)。其次,證明者運算法P計算c2←H(t1,e1)。步驟#1中產生之訊息(c0,c1,c2)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1,c2)之驗證者運算法V在三個驗證模式 中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式之種類之3個數值{0,1,2}中選擇1個數值,且將所選擇之數值設定成請求Ch。該請求Ch被發送至證明者運算法P。
步驟#3:
接收請求Ch之證明者運算法P因應所接收之請求Ch,產生發送至驗證者運算法V之應答Rsp。Ch=0之情形,證明者運算法P產生應答Rsp=(r0,t1,e1)。Ch=1之情形,證明者運算法P產生應答Rsp=(r1,t0,e0)。Ch=2之情形,證明者運算法P產生應答Rsp=(r1,t1,e1)。步驟#3中產生之應答Rsp被發送至驗證者運算法V。
步驟#4:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
Ch=0之情形,驗證者運算法V驗證c1=H(r0-t1,F(r0)-e1)之等號是否成立。再者,驗證者運算法V驗證c2=H(t1,e1)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=1之情形,驗證者運算法V驗證c0=H(r1,G(t0,r1)+e0)之等號是否成立。再者,驗證者運算法V驗證c1=H(t0,e0)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=2之情形,驗證者運算法V驗證c0=H(r1,y-F(r1)-G(t1,r1)-e1)之等號是否成立。再者,驗證者運算法V驗證c2=H(t1,e1)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明3通道方式之有效之運算法之構成例。藉由利用該運算法,可大幅削減通訊所需之資料大小。
(2-2-2:並行化運算法(圖6))
接著,參照圖6說明使圖5所示之有效之運算法並行化之方法。另,關於鍵產生運算法Gen之構成省略說明。
如上所述,若應用上述對話協定,則可將偽證成功之概率抑制在2/3以下。因此,若實行2次該對話協定,則可將偽證成功之概率抑制在(2/3)2以下。進而,若實行N次該對話協定,則偽證成功之概率成為(2/3)N,若使N為足夠大之數(例如,N=140),則可使偽證成功之概率縮小到可忽視之程度。
作為複數次實行對話協定之方法,例如可考慮將訊息、請求、應答之交換逐次重複複數次之串行方法、及以1次交換進行複數次之訊息、請求、應答之交換之並行方法。此處,針對並行實行3通道方式之上述對話協定之運算法(以下為並行化運算法)加以說明。
步驟#1:
證明者運算法P針對i=1~N實行以下之處理(1)~處理(6)。
處理(1):證明者運算法P隨機產生向量r0i,t0i Kn及 e0i Km
處理(2):證明者運算法P計算r1i←s-r0i。該計算相當於藉由向量r0i掩蔽秘密鍵s之操作。再者,證明者運算法P計算t1i←r0i+t0i
處理(3):證明者運算法P計算e1i←F(r0i)-e0i
處理(4):證明者運算法P計算c0i←H(r1i,G(r1i,t0i)+e0i)。
處理(5):證明者運算法P計算c1i←H(t0i,e0i)。
處理(6):證明者運算法P計算c2i←H(t1i,e1i)。
步驟#1(續)
針對i=1~N實行上述之處理(1)~處理(6)後,證明者運算法P計算Cmt←H(c01,c11,c21,...,c0N,c1N,c2N)。步驟#1中所產生之雜湊值Cmt被發送至驗證者運算法V。如此般,藉由將訊息(c01,c11,c21,...,c0N,c1N,c2N)轉換成雜湊值後發送至驗證者運算法V,可削減通訊量。
步驟#2:
接收到雜湊值Cmt之驗證者運算法V針對i=1~N之各者,在3個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V針對i=1~N之各者,自表示驗證模式種類之3個數值{0,1,2}中選擇一個數值,且將所選擇之數值設定成請求Chi。請求Ch1,...,ChN被發送至證明者運算法P。
步驟#3:
接收到請求Ch1,...,ChN之證明者運算法P因應各個所接收到之請求Ch1,...,ChN,產生發送至驗證者運算法V 之應答Rsp1,...,RspN。Chi=0之情形,證明者運算法P產生Rspi=(r0i,t1i,e1i,c0i)。Chi=1之情形,證明者運算法P產生Rspi=(r1i,t0i,e0i,c2i)。Chi=2之情形,證明者運算法P產生Rspi=(r1i,t1i,e1i,c1i)。
步驟#3中所產生之應答Rsp1,...,RspN被發送至驗證者運算法V。
步驟#4:
接收到應答Rsp1,...,RspN之驗證者運算法V利用所接收到之應答Rsp1,...,RspN,針對i=1~N實行以下之處理(1)~處理(3)。其中,Chi=0之情形時,驗證者運算法V實行處理(1),Chi=1之情形時實行處理(2),chi=2之情形時實行處理(3)。
處理(1):Chi=0之情形,驗證者運算法V從Rspi中取出(r0i,t1i,e1i,c0i)。接著,驗證者運算法V計算c1i=H(r0i-t1i,F(r0i)-e1i)。再者,驗證者運算法V計算c2i=H(t1i,e1i)。且,驗證者運算法V保持(c0i,c1i,c2i)。
處理(2):Chi=1之情形,驗證者運算法V從Rspi中取出(r1i,t0i,e0i,c2i)。接著,驗證者運算法V計算c0i=H(r1i,G(r1i,t0i)+e0i)。再者,驗證者運算法V計算c1i=H(t0i,e0i)。且,驗證者運算法V保持(c0i,c1i,c2i)。
處理(3):Chi=2之情形,驗證者運算法V從Rspi中取出(r1i,t1i,e1i,c1i)。接著,驗證者運算法V計算c0i=H(r1i,y-F(r1i)-G(t1i,r1i)-e1i)。再者,驗證者運算法係計算C2i=H(t1i,e1i)。且,驗證者運算法V保持(c0i,c1i,c2i)。
針對i=1~N實行處理(1)~處理(3)後,驗證者運算法V驗證Cmt=H(c01,c11,c21,...,c0N,c1N,c2N)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證失敗之情形時,輸出表示認證失敗之值0。
以上,已說明3通道方式之有效之並行化運算法之構成例。另,對圖6所示之並行化運算法,設法將訊息轉換成雜湊值後進行發送。藉由該辦法,通訊效率會提高。同樣,可以將請求Ch1,...,ChN或應答Rsp1,...,RspN轉換成雜湊值後進行發送之方式構成變化。如此般,藉由變化構成,可期待進一步提高通訊效率。
[2-3:基於高次多變量多項式之有效之運算法(方式#1)]
上述有效之運算法藉由以由上述之式(8)定義之2次多項式fi之組表示多變量多項式F,而利用以上述之式(10)定義之多項式G成為雙線性之性質。然而,若多項式G為加法同態,則即使多項式G並非雙線性,仍可同樣構築有效之運算法。
(關於利用2次多項式fi之有效之運算法之構築)
多項式G為加法同態之情形,使用變量r0,r1,t0,e0,下述之式(14)~式(16)之關係成立。另,下述之式(14)將秘密鍵s分割成s=r0+r1,係展開公開鍵F(s)者。下述之式(14)~式(16)可分成可以(r0,t1,e1)再現之第1部分、可以(r1,t0,e0)再現之第2部分、及可以(r1,t1,e1)再現之第3部分。
例如,包含於下述之式(15)之「r0,t1」、包含於下述之式(16)之「F(r0),e1」係第1部分。又,包含於下述之式(14)之「e0,G(t0,r1)」、包含於下述之式(15)之「t0」、及包含於下述之式(16)之「e0」係第2部分。再者,包含於下述之式(14)之「e1,F(r1),G(t1,r1)」係第3部分。換言之,下述之式(14)係以第2及第3部分構成,下述之式(15)係以第1及第2部分構成,下述之式(16)係以第1及第2部分構成。
如上所述,下述之式(14)~式(16)分別以2種類之部分構成。此外,根據秘密鍵s之定義及下述之式(14)~式(16)之關係,可保證即使使用(r0,t1,e1)、(r1,t0,e0)、(r1,t1,e1)之任一者皆無法獲得秘密鍵s。若利用該等性質,則可構築例如圖5所示之3通道方式之有效之運算法。
[數11]F( r0+r 1)=e 0+e 1+F(r 1)+G(t 0, r1)+G(t 1,r 1)………(14) r 0=t 0+t 1………(15) F(r 0)=e 0+e 1………(16)
(關於利用3次多項式f1之有效之運算法之構築)
拓展關於利用2次多項式fi之情形之上述考察,針對利用以下述之式(17)表示之環R上之3次多項式f1之有效之運算法之構築方法進行檢討。以3次多項式f1之組表示之多變量多項式F=(f1,...,fm)滿足下述之式(18)之關係。其中, Gx(x,y)係表示關於x成為1次之項。又,Gy(x,y)係表示關於y成為1次之項。若表示為Gx=(gx1,...,gxm)、Gy=(gy1,...,gym),則gx1及gy1可分別如下述之式(19)及式(20)般展開。其中,gx1之右邊第2項關於x及y之任一者皆為1次,故可包含於gy1
如從上述之式(19)及式(20)獲知般,Gx(x,y)及Gy(x,y)關於x及y成為加法同態。因此,利用該等性質,與利用2次多項式fi之有效之運算法之構築方法相同,導入新變量r0,r1,t0,u0,e0而分割公開鍵F(s)。
由於多項式Gx,Gy為加法同態,故使用變量r0,r1,t0,u0,e0,下述之式(21)~式(24)之關係成立。下述之式(21)~式(24)可分成可以(r0,t0,u0,e0)再現之第1部分、可以 (r0,u1,e1)再現之第2部分、可以(r1,t0,e0)再現之第3部分、及可以(r1,t1,u1,e1)再現之第4部分。
例如,包含於下述之式(22)之「r0,t0」、包含於下述之式(23)之「u0」、及包含於下述之式(24)之「F(r0),Gy(r0,u0),e0」係第1部分。又,包含於下述之式(24)之「Gy(r0,u1),e1」係第2部分。再者,包含於下述之式(21)之「e0,Gx(r0,r1)」係第3部分。且,包含於下述之式(21)之「e1,F(r1),Gx(t1,r1)」、包含於下述之式(22)之「t1」、及包含於下述之式(23)之「u1」係第4部分。
換言之,下述之式(21)係以第3及第4部分構成,下述之式(22)及下述之式(23)係以第1及第4部分構成,下述之式(24)係以第1及第2部分構成。如此般,下述之式(21)~式(24)係分別以2種類之部分構成。
此外,根據秘密鍵s之定義及下述之式(21)~式(24)之關係,可保證即使使用(r0,t0,u0,e0)、(r0,u1,e1)、(r1,t0,e0)、及(r1,t1,u1,e1)之任一者皆無法獲得秘密鍵s。若利用該等性質,則可構築例如利用環R上之3次多項式f1之3通道方式之有效之運算法(以下為擴展運算法)。
[數13]F(r 0+r 1)=e 0+e 1+F(r 1)+G x (t 0,r 1)+G x (t 1,r 1)………(21) r 0=t 0+t 1………(22) r 1=u 0+u 1………(23) F(r 0)+G y (r 0,u 1)+G y (r 0,u 0)=e 0+e 1………(24)
以下,對具體之擴展運算法之構成例加以說明。關於擴展運算法之設計之基本點係將以下述之式(25)~式(27)表示之訊息發送至驗證者,及進行關於第1~第4部分之任一者之驗證之2點。但,只以該驗證無法驗證包含於第3部分之「r1」與包含於第4部分之「r1」是否相等。同樣,亦無法驗證包含於第1部分之「r0」與包含於第2部分之「r0」是否相等、及包含於第1部分之「t0,e0」與包含於第3部分之「t0,e0」是否相等。再者,亦無法驗證包含於第2部分之「u1,e1」與包含於第4部分之「u1,e1」是否相等。因此,以下對可進行該等驗證之構成例進行介紹。
[數14]c 0=H(G x (t 0,r 1)+e 0)………(25) c 1=H(t 0,u 0)………(26) c 2=H(e 1-G y (r 0,u 1))………(27)
(2-3-1:基本構成(圖7))
首先,參照圖7說明3通道方式之擴展運算法之基本構成。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖7所示,證明者運算法P隨機產生向量r0,t0,u0 Kn及e0 Km。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。接著,證明者運算法P計算t1←r0-t0。接著,證明者運算法P計算u1←r1-u0。接著,證明者運算法P計算e1←F(r0)-e0
步驟#1(續):
接著,證明者運算法P計算c0←H(r1,Gx(t0,r1)+e0)。接著,證明者運算法P計算c1←H(r0-t0,u0)。接著,證明者運算法P計算c2←H(r0,e1-Gy(r0,u1))。接著,證明者運算法P計算c3←H(t0,e0)。其後,證明者運算法P計算c4←H(u1,e1)。步驟#1中產生之訊息(c0,c1,c2,c3,c4)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1,c2,c3,c4)之驗證者運算法V在4個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式之種類之4個數值{0,1,2,3}中選擇1個數值,且將所選擇之數值設定成請求Ch。該請求Ch被發送至證明者運算法P。
步驟#3:
接收請求Ch之證明者運算法P因應所接收之請求Ch,產生發送至驗證者運算法V之應答Rsp。Ch=0之情形,證明者運算法P產生應答Rsp=(r0,t0,u0,e0)。Ch=1之情形,證明者運算法P產生應答Rsp=(r0,u1,e1)。Ch=2之情形, 證明者運算法P產生應答Rsp=(r1,t0,e0)。Ch=3之情形,證明者運算法P產生應答Rsp=(r1,t1,u1,e1)。步驟#3中產生之應答Rsp被發送至驗證者運算法V。
步驟#4:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
Ch=0之情形,驗證者運算法V驗證c1=H(r0-t0,u0)之等號是否成立。接著,驗證者運算法V驗證c2=H(r0,F(r0)+Gy(r0,u0)-e0)之等號是否成立。接著,驗證者運算法V驗證c3=H(t0,e0)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=1之情形,驗證者運算法V驗證c2=H(r0,e1-Gy(r0,u1))之等號是否成立。接著,驗證者運算法V驗證c4=H(u1,e1)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=2之情形,驗證者運算法V驗證c0=H(r1,e0+Gx(t0,r1))之等號是否成立。接著,驗證者運算法V驗證c3=H(t0,e0)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
Ch=3之情形,驗證者運算法V驗證c0=H(r1,y-F(r1)-e1-Gx(t1,r1))之等號是否成立。接著,驗證者運算法V驗證 c1=H(t1,r1-u1)之等號是否成立。接著,驗證者運算法V驗證c4=H(u1,e1)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明3通道方式之擴展運算法之構成例。藉由利用該運算法,可大幅削減通訊所需之資料大小。此外,藉由利用3次多項式,可實現更高之安全性。
(2-3-2:並行化運算法(圖8))
接著,參照圖8說明3通道方式之擴展運算法之並行化。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖8所示,證明者運算法P針對i=1~N實行以下之處理。首先,證明者運算法P隨機產生向量r0i,t0i,u0i Kn及e0i Km。接著,證明者運算法P計算r1i←s-r0i。該計算相當於藉由向量r0i掩蔽秘密鍵s之操作。接著,證明者運算法P計算t1i←r0i-t0i。接著,證明者運算法P計算u1i←r1i-u0i。接著,證明者運算法P計算e1i←F(r0i)-e0i
步驟#1(續):
接著,證明者運算法P計算c0i←H(r1i,Gx(t0i,r1i)+e0i)。接著,證明者運算法P計算c1i←H(r0i-t0i,u0i)。接著,證明者運算法P計算c2i←H(r0i,e1i-Gy(r0i,u1i))。接著,證明者運算法P計算c3i←H(t0i,e0i)。其後,證明者運算法P計算c4i←H(u1i,e1i)。產生(c01,c11,c21,c31,c41,...,c0N,c1N,c2N,c3N,c4N)後,證明者運算法P計算雜湊值 Cmt←H(c01,c11,c21,c31,c41,...,c0N,c1N,c2N,c3N,c4N)。
步驟#1中產生之雜湊值Cmt被發送至驗證者運算法V。
步驟#2:
接收雜湊值Cmt之驗證者運算法V針對i=1~N之各者,在4個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V針對i=1~N之各者,自表示驗證模式種類之4個數值{0,1,2,3}中選擇一個數值,且將所選擇之數值設定成請求Chi。請求Chi(i=1~N)被發送至證明者運算法P。
步驟#3:
接收請求Chi(i=1~N)之證明者運算法P針對i=1~N,因應所接收之請求Chi,產生發送至驗證者運算法V之應答Rspi。Chi=0之情形,證明者運算法P產生應答Rspi=(r0i,t0i,u0i,e0i,c0i,c4i)。Chi=1之情形,證明者運算法P產生應答Rspi=(r0i,u1i,e1i,c0i,c1i,c3i)。Chi=2之情形,證明者運算法P產生應答Rspi=(r1i,t0i,e0i,c1i,c2i,c4i)。Chi=3之情形,證明者運算法P產生應答Rspi=(r1i,t1i,u1i,e1i,c2i,c3i)。步驟#3中所產生之應答Rspi(i=1~N)被發送至驗證者運算法V。
步驟#4:
接收應答Rspi(i=1~N)之驗證者運算法V利用所接收之應答Rspi,針對i=1~N實行以下之處理。
Chi=0之情形,驗證者運算法V計算c1i=H(r0i-t0i,u0i)。接著,驗證者運算法V計算c2i=H(r0i,F(r0i)+Gy(r0i,u0i)- e0i)。接著,驗證者運算法V計算c3i=H(t0i,e0i)。且,驗證者運算法V保持(c0i,c1i,c2i,c3i,c4i)。
Chi=1之情形,驗證者運算法V計算c2i=H(r0i,e1i-Gy(r0i,u1i))。接著,驗證者運算法V計算c4i=H(u1i,e1i)。且,驗證者運算法V保持(c0i,c1i,c2i,c3i,c4i)。
Chi=2之情形,驗證者運算法V計算c0i=H(r1i,Gx(t0i,r1i)+e0i)。接著,驗證者運算法V計算c3i=H(t0i,e0i)。且,驗證者運算法V保持(c0i,c1i,c2i,c3i,c4i)。
Chi=3之情形,驗證者運算法V計算c0i=H(r1i,y-F(r1i)-e1i-Gx(t1i,r1i))。接著,驗證者運算法V計算c1i=H(t1i,r1i-u1i)。接著,驗證者運算法V計算c4i=H(u1i,e1i)。且,驗證者運算法V保持(c0i,c1i,c2i,c3i,c4i)。
針對i=1~N實行上述處理後,驗證者運算法V驗證Cmt=H(c01,c11,c21,c31,c41...,c0N,c1N,c2N,c3N,c4N)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明3通道方式之擴展運算法之並行化。藉由利用該運算法,可大幅削減通訊所需之資料大小。此外,藉由利用3次多項式,可實現更高之安全性。
<3:5通道之公開鍵認證方式之運算法之構成>
以下,對5通道之公開鍵認證方式之運算法加以說明。另,在以下說明中,有將5通道之公開鍵認證方式稱為「5通道方式」之情形。
3通道方式之情形時,每1次對話協定之偽證概率為2/3,5通道方式之情形時,每1次對話協定之偽證概率成為1/2+1/q。其中,q係利用之環之位數。因此,環之位數足夠大之情形,5通道方式一方可降低每1次之偽證概率,以較少之對話協定之實行次數,可使偽證概率充分縮小。
例如,要使偽證概率為1/2n以下之情形,在3通道方式中,必須實行n/(log3-1)=1.701n次以上之對話協定。另一方面,要使偽證概率為1/2n以下之情形,在5通道方式中,必須實行n/(1-log(1+1/q))次以上之對話協定。因此,若q=24,則實現相同安全級別所需之通訊量,與3通道方式相比,5通道方式一方較少。
[3-1:具體運算法之構成例(圖9)]
首先,參照圖9介紹5通道方式之具體運算法之構成例。圖9係用以說明5通道方式之具體運算法之構成之說明圖。另,5通道方式之運算法係由鍵產生運算法Gen、證明者運算法P、及驗證者運算法V構成。以下,對各運算法之構成加以說明。
(鍵產生運算法Gen)
鍵產生運算法Gen產生在環K上定義之多變量多項式f1(x1,...,xn),...,fm(x1,...,xn)、及向量s=(s1,...,sn)Kn。接著,鍵產生運算法Gen計算y=(y1,...,ym)←(f1(s),...,fm(s))。且,鍵產生運算法Gen將(f1,...,fm,y)設定成公開鍵pk,s設定成秘密鍵。另,以下,將向量(x1,...,xn)記為x,多變量多項式之組 (f1(x),...,fm(x))記為F(x)。
(證明者運算法P、驗證者運算法V)
接著,參照圖9說明在對話協定中由證明者運算法P及驗證者運算法V實行之處理。
步驟#1:
如圖9所示,證明者運算法P隨機選擇數seed0。接著,證明者運算法P對偽隨機數產生器PRNG應用數seed0而產生向量r0 Kn及多變量多項式之組F1(x)=(f11(x),...,f1m(x))。即,證明者運算法P計算(r0,F1)←G(seed0)。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。
步驟#1(續):
接著,證明者運算法P產生F1(r1)及r1之雜湊值c0。即,證明者運算法P計算c0←H(F1(r1),r1)。又,證明者運算法P產生數seed0之雜湊值c1。即,證明者運算法P計算c1←H(seed0)。步驟#1中所產生之訊息(c0,c1)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1)之驗證者運算法V從存在q種之環K之源隨機選擇一個數ChA,且將所選擇之數ChA發送至證明者運算法P。
步驟#3:
接收數ChA之證明者運算法P計算F2(x)←ChA‧F(x+r0)+F1(x)。該計算相當於關於x藉由多變量多項式 F1(x)掩蔽多變量多項式F(x+r0)之操作。步驟#3中所產生之多變量多項式F2被發送至驗證者運算法V。
步驟#4:
接收多變量多項式F2之驗證者運算法V在2個驗證模式中選擇利用哪個驗證模式。例如,驗證者運算法V從表示驗證模式之種類之2個數值{0,1}中選擇1個數值,且將所選擇之數值設定成請求ChB。該請求ChB被發送至證明者運算法P。
步驟#5:
接收請求ChB之證明者運算法P因應所接收之請求ChB,產生送回至驗證者運算法V之應答Rsp。ChB=0之情形,證明者運算法P產生應答Rsp=seed0。ChB=1之情形,證明者運算法P產生應答Rsp=r1。步驟#5中產生之應答Rsp被發送至驗證者運算法V。
步驟#6:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
ChB=0之情形,驗證者運算法V計算(r0,F1)←PRNG(Rsp)。接著,驗證者運算法V驗證c1=H(Rsp)之等號是否成立。又,驗證者運算法V驗證F2(x)=ChA‧F(x+r0)+F1(x)之等號是否成立。該等驗證皆成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
ChB=1之情形,驗證者運算法V設為r1←Rsp。接著,驗 證者運算法V驗證c0=H(F2(r1)-ChA‧y,r1)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
(關於健全性)
5通道方式之健全性係由以下之點得以保證:證明者運算法P針對(c0,c1)、及驗證者運算法V選擇之2種之(ChA,ChA'),正確回答請求ChB=0及1之情形時,可從該回答內容計算滿足下述之式(28)~式(30)之F1、F2、F2'、r0、r1
[數15]F 2(x)=Ch A F(x+r 0)+F 1(x)………(28) F 2'(x)=Ch A '.F(x+ r0)+F 1(x)………(29) F 2(r 1)-Ch A1y=F 2'(r 1)-Ch A'.y………(30)
藉由保證5通道方式之健全性,可保證在不解開多次多變量連立方程式之求解問題之限度內,不可能以高於1/2+1/q之概率進行偽證。即,為正確回答驗證者之請求ChA=0及1之全體,偽證者必須能計算滿足上述之式(28)~(30)之F1、F2、F2'、r0、r1。換言之,偽證者必須能計算滿足F(s)=y之s。因此,在不解開多次多變量連立方程式之求解問題之限度內,偽證者無法以高於1/2+1/q之概率 使偽證成功。另,藉由將上述對話協定實行足夠多之次數,可將偽證之成功概率縮小至能夠忽視之程度。
(關於雜湊函數H)
此處,對雜湊函數H補充說明。在上述運算法中,雖使用雜湊函數H計算c0,c1等,但亦可取代雜湊函數H而使用關聯函數COM。關聯函數COM係採用文字列S及隨機數ρ為自變量之函數。作為關聯函數之例,有由Shai Halevi與Silvio Micali在國際會議CRYPTO1996中所發表之方式等。
例如,考慮使用關聯函數COM計算c0,c1之情形。該情形,在計算c0,c1之前準備隨機數ρ0,ρ1,且取代應用雜湊函數H(‧),而應用關聯函數COM(‧,ρ0),COM(‧,ρ1)產生c0,c1。又,驗證者為產生c1所需之ρi包含於應答Rsp而傳送。
以上,已說明5通道方式之具體運算法之構成例。
[3-2:基於2次多變量多項式之有效之運算法]
接著,論述使5通道方式之運算法效率化之方法。此處,對利用2次多項式之組(f1(x),...,fm(x))作為多變量多項式F之情形加以說明。
與3通道方式之有效之運算法相同,使用2個向量t0 Kn、e0 Km,以F1(x)=G(x、t0)+e0之方式表示用以掩蔽多變量多項式F(x+r0)之多變量多項式F1(x)。若使用該表示,則關於多變量多項式F(x+r0),可獲得以下述之式(31)表示之關係。
[數16] Ch A F(x+r 0)+F 1(x)=Ch A F(x)+Ch A F(r 0)+Ch A G(x,r 0)+G(x,t 0)+e 0=Ch A F(x)+G(x,Ch A r 0+t 0)+Ch A F(r 0)+e 0………(31)
因此,若設為t1=ChA‧r0+t0、e1=ChA‧F(r0)+e0,則掩蔽後之多變量多項式F2(x)=ChA‧F(x+r0)+F1(x)亦可藉由2個向量t1 Kn、e1 Km表示。若因該等理由設定為F1(x)=G(x,t0)+e0,則可使用Kn上之向量及Km上之向量表示F1及F2,從而可大幅降低通訊所需之資料大小。具體而言,可削減通訊成本數千~數萬倍左右。
又,藉由上述變化,關於r0之資訊完全不會自F2(或F1)洩漏。例如,即使賦與e1及t1(或e0及t0),只要不知e0及t0(或e1及t1),完全無法知曉r0之資訊。因此,可擔保零知識性。以下,參照圖10及圖11說明5通道方式之有效之運算法。
(3-2-1:基本構成(圖10))
首先,參照圖10說明5通道方式之有效之運算法之基本構成。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖10所示,證明者運算法P隨機產生向量r0 Kn、t0 Kn、e0 Km。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。接著,證明者運算法P產生向量r0,t0,e0之雜湊值c0。即,證明者運算法P計算c0←H(r0,t0,e0)。接著,證明者運算法P產生G(t0, r1)+e0及r1之雜湊值c1。即,證明者運算法P計算c0←H(r1,G(t0,r1)+e0)。步驟#1中所產生之訊息(c0,c1)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1)之驗證者運算法V從存在q種之環K之源隨機選擇一個數ChA,且將所選擇之數ChA發送至證明者運算法P。
步驟#3:
接收數ChA之證明者運算法P計算t1←ChA‧r0-t0。再者,證明者運算法P計算e1←ChA‧F(r0)-e0。且,證明者運算法P將t1及e1發送至驗證者運算法V。
步驟#4:
接收t1及e1之驗證者運算法V在2個驗證模式中選擇利用哪個驗證模式。例如,驗證者運算法V從表示驗證模式之種類之2個數值{0,1}中選擇1個數值,且將所選擇之數值設定成請求ChB。該請求ChB被發送至證明者運算法P。
步驟#5:
接收請求ChB之證明者運算法P因應所接收之請求ChB,產生送回至驗證者運算法V之應答Rsp。ChB=0之情形,證明者運算法P產生應答Rsp=r0。ChB=1之情形,證明者運算法P產生應答Rsp=r1。步驟#5中產生之應答Rsp被發送至驗證者運算法V。
步驟#6:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實 行以下之驗證處理。
ChB=0之情形,驗證者運算法V實行r0←Rsp。且,驗證者運算法V驗證c0=H(r0,ChA‧r0-t1,ChA‧F(r0)-e1)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
ChB=1之情形,驗證者運算法V實行r1←Rsp。且,驗證者運算法V驗證c1=H1(r1,ChA‧(y-F(r1))-G(t1,r1)-e1)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之有效之運算法之構成例。藉由利用該運算法,可大幅削減通訊所需之資料大小。
(3-2-2:並行化運算法(圖11))
接著,參照圖11說明使圖10所示之有效之運算法並行化之方法。另,關於鍵產生運算法Gen之構成省略說明。
如先前所述,若應用5通道方式之對話協定,則可將偽證成功之概率抑制在(1/2+1/q)以下。因此,若實行2次該對話協定,則可將偽證成功之概率抑制在(1/2+1/q)2以下。進而,若實行N次該對話協定,則偽證成功之概率成為(1/2+1/q)N,若使N為足夠大之數(例如,N=80),則可使偽證成功之概率縮小到可忽視之程度。
作為複數次實行對話協定之方法,例如可考慮將訊息、請求、應答之交換逐次重複複數次之串行方法、及以1次 交換進行複數次之訊息、請求、應答之交換之並行方法。此處,對並行實行5通道方式之上述對話協定之運算法(以下為並行化運算法)加以說明。
步驟#1:
證明者運算法P針對i=1~N實行處理(1)~處理(4)。
處理(1):證明者運算法P隨機產生向量r0i,t0i Kn及e0i Km
處理(2):證明者運算法P計算r1i←s-r0i。該計算相當於藉由向量r0i掩蔽秘密鍵s之操作。
處理(3):證明者運算法P計算c0i←H(r0i,t0i,e0i)。
處理(4):證明者運算法P計算c1i←H(r1i,G(t0i,r1i)+e0i)。
針對i=1~N實行處理(1)~處理(4)後,證明者運算法P實行雜湊值Cmt←H(c01,c11,...,c0N,c1N))。且,步驟#1中產生之雜湊值Cmt被發送至驗證者運算法V。
步驟#2:
接收雜湊值Cmt之驗證者運算法V針對i=1~N之各者,從存在q種之環K之源隨機選擇一個數ChAi,且將所選擇之數ChAi(i=1~N)發送至證明者運算法P。
步驟#3:
接收數ChAi(i=1~N)之證明者運算法P針對i=1~N之各者,計算t1i←ChAi‧r0i-t0i。再者,證明者運算法P針對i=1~N之各者,計算e1i←ChAi‧F(r0i)-e0i。且,證明者運算法P將t11,...,t1N及e11,...,e1N發送至驗證者運算法V。
步驟#4:
接收t11,...,t1N及e11,...,e1N之驗證者運算法V針對i=1~N之各者,在2個驗證模式中選擇利用哪個驗證模式。例如,驗證者運算法V從表示驗證模式之種類之2個數值{0,1}中選擇1個數值,且將所選擇之數值設定成請求ChBi。該請求ChBi(i=1~N)被發送至證明者運算法P。
步驟#5:
接收請求ChBi(i=1~N)之證明者運算法針對i=1~N,因應所接收之請求ChBi,產生送回至驗證者運算法V之應答Rspi。ChBi=0之情形,證明者運算法P產生應答Rspi=(r0i,c1i)。ChBi=1之情形,證明者運算法P產生應答Rspi=(r1i,c0i)。步驟#5中所產生之應答Rspi(i=1~N)被發送至驗證者運算法V。
步驟#6:
接收應答Rspi(i=1~N)之驗證者運算法V利用所接收之應答Rspi(i=1~N),實行以下之處理(1)及處理(2)。
處理(1):ChBi=0之情形,驗證者運算法V實行(r0i,c1i)←Rspi。且,驗證者運算法V計算c0i=H(r0i,ChAi‧r0i-t1i,ChAi‧F(r0i)-e1i)。接著,驗證者運算法V保持(c0i,c1i)。
處理(2):ChBi=1之情形,驗證者運算法V實行(r1i,c0i)←Rspi。且,驗證者運算法V計算c1i=H(r1i,ChAi‧(y-F(r1i))-G(t1i,r1i)-e1i)。接著,驗證者運算法V保持(c0i,c1i)。
針對i-1~N實行處理(1)及處理(2)後,驗證者運算法V驗證Cmt=H(c01,c11,...,c0N,c1N)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之有效之並行化運算法之構成例。另,對圖11所示之並行化運算法,設法將訊息轉換成雜湊值後進行發送。藉由該辦法,通訊效率會提高。同樣,可以將請求ChA1,...,ChAN、ChB1,...,ChBN或應答Rsp1,...,RspN等轉換成雜湊值後發送之方式構成變化。如此般,藉由變化構成,可期待進一步提高通訊效率。
[3-3:基於高次多變量多項式之有效之運算法(方式#1)]
上述有效之運算法藉由以由上述之式(8)定義之2次多項式fi之組表示多變量多項式F,利用以上述之式(10)定義之多項式G成為雙線性之性質。其中,圖10所示之有效之運算運算法係利用公開鍵F(s)之ChA倍之項可分割成依存於ChA之部分、及其以外之部分此點。但,若5通道方式之情形多項式G亦關於x或y之至少一方為線性,則即使多項式G並非雙線性,仍可同樣構築有效之運算法。
(關於利用3次多項式fi之有效之運算法之構築)
與3通道方式之情形同樣針對利用環R上之3次多項式f1之有效之運算法之構築方法進行檢討。如上述之式(17)般表示3次多項式f1之情形時,從式(19)與式(20)獲知Gx(x,y)及Gy(x,y)關於x及y成為線性。
因此,利用上述性質,導入新變量r0、r1、t0、u0、e0, 分割公開鍵F(s)之ChA倍之項。由於多項式Gx,Gy分別關於x與y為線性,故使用變量r0,r1,t0,u0,e0,下述之式(32)~式(35)之關係成立。又,下述之式(32)~式(35)可分成依存於ChA之第1部分、及不依存於ChA之第2部分。其中,第1部分可以(r1,t1,u1,e1)再現。此外,第2部分可以(r0,t1,u1,e1)再現。
例如,包含於下述之式(32)之「e0,Gx(t0,r1)」、包含於下述之式(33)之「t0」、包含於下述之式(34)之「u0」、及包含於下述之式(35)之「e0,Gy(r0,u0)」係第1部分。另一方面,包含於下述之式(32)之「ChA‧F(r0+r1),e1,ChA‧F(r1),Gx(t1,r1)」、包含於下述之式(33)之「ChA‧r0,t1」、包含於下述之式(34)之「ChA‧r1,u1」、及包含於下述之式(35)之「ChA‧F(r0),Gy(r0,u1),e1」係第2部分。
又,根據秘密鍵s之定義及下述之式(32)~式(35)之關係,可保證即使使用(r1,t1,u1,e1)、(r0,t1,u1,e1)之任一者皆無法獲得秘密鍵s。若利用該等性質,則可構築例如利用環R上之3次多項式f1之5通道方式之有效之運算法(以下為擴展運算法)。
[數17]Ch A F(r 0+r 1)=e 0+e 1+Ch A F(r 1)+G x (t 0,r 1)+G x (t 1,r 1)………(32) Ch A r 0=t 0+t 1………(33) Ch A r 1=u 0+u 1………(34) Ch A F(r 0)+G y (r 0,u 1)+G y (r 0,u 0)=e 0+e 1………(35)
以下,對具體之擴展運算法之構成例加以說明。關於擴展運算法之設計之基本點係將以下述之式(36)~公式(37)表示之訊息發送至驗證者、及針對驗證者選擇之ChA進行關於依存於ChA之部分(第1部分)之驗證之2點。但,為「防止產生訊息時所利用之r0及r1在驗證時被其他r0及r1頂替」,以下對追加關於r0及r1之驗證之構成例進行介紹。
[數18]c 0=H(t 0,e 0-G y (r 0,u 0))………(36) c 1=H(u 0,G x (t 0,r 1)+e 0)………(37)(3-3-1:基本構成(圖12))
首先,參照圖12說明5通道方式之擴展運算法之基本構成。另,省略說明鍵產生運算法Gen之構成。
步驟#1:
如圖12所示,證明者運算法P隨機產生向量r0,t0,u0 Kn、及e0 Km。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。接著,證明者運算法P計算c0←H(r0,t0,e0-Gy(r0,u0))。接著,證明者運算法P計算c1←H(r1,u0,Gx(t0,r1)+e0)。步驟#1中產生之訊息(c0,c1)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1)之驗證者運算法V隨機選擇數ChA。該數ChA被發送至證明者運算法P。
步驟#3:
接收數ChA之證明者運算法P計算t1←ChA‧r0-t0。接著,證明者運算法P計算u1←ChA‧r1-u0。接著,證明者運算法P計算e1←ChA‧F(r0)+ChA‧Gy(r0,r1)-e0。步驟#3中產生之(t1,u1,e1)被發送至驗證者運算法V。
步驟#4:
接收(t1,u1,e1)之驗證者運算法V在2個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式之種類之2個數值{0,1}中選擇1個數值,且將所選擇之數值設定成請求ChB。該請求ChB被發送至證明者運算法P。
步驟#5:
接收請求ChB之證明者運算法P因應所接收之請求ChB,產生發送至驗證者運算法V之應答Rsp。ChB=0之情形,證明者運算法P產生應答Rsp=r0。ChB=1之情形,證明者運算法P產生應答Rsp=r1。步驟#5中產生之應答Rsp被發送至驗證者運算法V。
步驟#6:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
ChB=0之情形,驗證者運算法V驗證c0=H(r0,ChA‧r0-t1,ChA‧F(r0)+Gy(r0,u1)-e1)之等號是否成立。該驗證成功之 情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
ChB=1之情形,驗證者運算法V驗證c1=H(r1,ChA‧r1-u1,ChA‧(y-F(r1))-Gx(t1,r1)-e1)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之擴展運算法之構成例。藉由利用該運算法,可大幅削減通訊所需之資料大小。此外,藉由利用3次多項式,可實現更高之安全性。
(3-3-2:並行化運算法(圖13))
接著,參照圖13說明5通道方式之擴展運算法之並行化。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖13所示,證明者運算法P針對i=1~N實行以下之處理。首先,證明者運算法P隨機產生向量r0i,t0i,u0i Kn及e0i Km。接著,證明者運算法P計算r1i←s-r0i。該計算相當於藉由向量r0i掩蔽秘密鍵s之操作。接著,證明者運算法P計算c0i←H(r0i,t0i,e0i-Gy(r0i,u0i))。接著,證明者運算法P計算c1i←H(r1i,u0i,Gx(t0i,r1i)+e0i)。
步驟#1(續):
計算(c01,c11,...,c0N,c1N)後,證明者運算法P計算雜湊值Cmt←H(c01,c11,...,c0N,c1N)。步驟#1中產生之雜湊值Cmt被發送至驗證者運算法V。
步驟#2:
接收雜湊值Cmt之驗證者運算法V隨機選擇數ChA1,...,ChAN。數ChA1,...,ChAN被發送至證明者運算法P。
步驟#3:
接收數ChA1,...,ChAN之證明者運算法P針對i=1~N實行以下之處理。首先,證明者運算法P計算t1i←ChAi‧r0i-t0i。接著,證明者運算法P計算u1i←ChAi‧r1i-u0i。接著,證明者運算法P計算e1i←ChAi‧F(r0i)+ChAi‧Gy(r0i,r1i)-e0i
步驟#3中產生之(t11,u11,e11,...,t1N,u1N,e1N)被發送至驗證者運算法V。
步驟#4:
接收(t11,u11,e11,...,t1N,u1N,e1N)之驗證者運算法V針對i=1~N之各者,在2個驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V針對i=1~N之各者,從表示驗證模式種類之2個數值{0,1}中選擇一個數值,且將所選擇之數值設定成請求ChBi。請求ChB1,...,ChBN被發送至證明者運算法P。
步驟#5:
接收請求ChB1,...,ChBN之證明者運算法P針對i=1~N之各者,因應所接收之請求ChBi,產生發送至驗證者運算法V之應答Rspi。ChBi=0之情形,證明者運算法P產生應答Rspi=(r0i,c1i)。ChBi=1之情形,證明者運算法P產生應答Rspi=(r1i,c0i)。步驟#5中所產生之應答Rspi被發送至驗證 者運算法V。
步驟#6:
接收應答Rspi(i=1~N)之驗證者運算法V利用所接收之應答Rspi,針對i=1~N實行以下之處理。
ChBi=0之情形,驗證者運算法V計算c0i=H(r0i,ChAi‧r0i-t1i,ChAi‧F(r0i)+Gy(r0i,u1i)-e1i)。且,驗證者運算法V保持(c0i,c1i)。
ChBi=1之情形,驗證者運算法V計算c1i=H(r1i,ChAi‧r1i-u1i,ChAi‧(y-F(r1i))-Gx(t1i,r1i)-e1i)。且,驗證者運算法V保持(c0i,c1i)。
針對i=1~N實行上述處理後,驗證者運算法V驗證Cmt=H(c01,c11,...,c0N,c1N)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之擴展運算法之並行化。另,藉由利用該運算法,可大幅削減通訊所需之資料大小。此外,藉由利用3次多項式,可實現更高之安全性。
[3-4:基於高次多變量多項式之有效之運算法(方式#2)]
至此,已說明利用環R上之3次多項式f1之有效之運算法之構築方法。此處,考量利用在標數q及位數qk之環R上定義之高次多項式f1之擴展運算法之構築方法。該高次多項式f1係例如下述之式(38)般表示。使用該高次多項式f1之情形,以G(x,y)=F(x+y)-F(x)-F(y)=(g1,...,gm)定義之多項式G之成分g1係如下述之式(39)般表示。
因此,關於ChA R,下述之式(40)所示之關係成立。再者,下述之式(41)所示之關係亦成立。因此,利用該等性質(以下稱為準線性。),導入新變量r0,r1,t0z,e0,將公開鍵F(s)之ChA倍之項進行分割。由於多項式G具有準線性,故使用變量r0,r1,t0z,e0,下述之式(42)~式(44)之關係成立。此外,下述之式(42)~式(44)可分成依存於ChA之第1部分、及不依存ChA之第2部分。其中,第1部分可以(r1,t1z,e1)再現。又,第2部分可以(r0,t1z,e1)再現。
例如,包含於下述之式(42)之「e0,ΣGz(t0z,r1)」、包含於下述之式(43)之「t0z」、及包含於下述之式(44)之「e0」係第1部分。另一方面,包含於下述之式(42)之「ChA‧F(r0+r1),e1,ChA‧F(r1),ΣGz(t1z,r1)」、包含於下述之式(43)之「ChA q(-z)‧r0,t1z」(其中,q(z)=qz;以下相同)、及包含於下述之式(44)之「ChA‧F(r0),e1」係第2部分。
又,根據秘密鍵s之定義及下述之式(42)~式(44)之關係,可保證即使使用(r1,t1z,e1)、(r0,t1z,e1)之任一者皆無法獲得秘密鍵s。若利用該等性質,則可構築例如利 用環R上之高次多項式f1之5通道方式之有效之運算法(以下為高次擴展運算法)。
以下,對具體之高次擴展運算法之構成例加以說明。關於高次擴展運算法之設計之基本點係將以下述之式(45)及式(46)表示之訊息發送至驗證者、及針對驗證者選擇之ChA進行關於依存於ChA之部分(第1部分)之驗證之2點。但,為「防止產生訊息時所利用之r0及r1在驗證時被其他r0及r1頂替」,以下對追加關於r0及r1之驗證之構成例進行介紹。
[數21]c 0=H(t 01,…,t 0k ,e 0)………(45)
(3-4-1:基本構成(圖14))
首先,參照圖14說明5通道方式之高次擴展運算法之基本構成。另,省略說明鍵產生運算法Gen之構成。
步驟#1:
如圖14所示,證明者運算法P隨機產生向量r0,t01,...,t0k Kn及e0 Km。接著,證明者運算法P計算r1←s-r0。該計算相當於藉由向量r0掩蔽秘密鍵s之操作。接著,證明者運算法P計算c0←H(r0,t01,...,t0k,e0)。接著,證明者運算法P計算c1←H(r1,ΣzGz(t0z,r1)+e0)(其中Σz係表示關於z=1~k之和)。步驟#1中產生之訊息(c0,c1)被發送至驗證者運算法V。
步驟#2:
接收訊息(c0,c1)之驗證者運算法V隨機選擇數ChA。該數ChA被發送至證明者運算法P。
步驟#3:
接收數ChA之證明者運算法P針對z=1~k計算t1z←(ChA)q(z-1)‧r0-t0z。接著,證明者運算法P計算e1←ChA‧F(r0)-e0。步驟#3中產生之(t11,...,t1k,e1)被發送至驗證者運算法V。
步驟#4:
接收(t11,...,t1k,e1)之驗證者運算法V在2個驗證模式 中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式之種類之2個數值{0,1}中選擇1個數值,且將所選擇之數值設定成請求ChB。該請求ChB被發送至證明者運算法P。
步驟#5:
接收請求ChB之證明者運算法P因應所接收之請求ChB,產生發送至驗證者運算法V之應答Rsp。ChB=0之情形,證明者運算法P產生應答Rsp=r0。ChB=1之情形,證明者運算法P產生應答Rsp=r1。步驟#5中產生之應答Rsp被發送至驗證者運算法V。
步驟#6:
接收應答Rsp之驗證者運算法V利用所接收之應答Rsp實行以下之驗證處理。
ChB=0之情形,驗證者運算法V驗證c0=H(r0,(ChA)q(0)‧r0-t11,...,(ChA)q(k-1)‧r0-t1k,ChA‧F(r0)-e1)之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
ChB=1之情形,驗證者運算法V驗證c1=H(r1,ChA‧(y-F(r1))-ΣzGz(t1z,r1))之等號是否成立。該驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之高次擴展運算法之構成例。藉由利用該運算法,可大幅削減通訊所需之資料大小。此 外,藉由利用高次多項式,可實現更高之安全性。
(3-4-2:並行化運算法(構成例1)(圖15))
接著,參照圖15說明5通道方式之高次擴展運算法之並行化。另,關於鍵產生運算法Gen之構成省略說明。
步驟#1:
如圖15所示,證明者運算法P針對i=1~N實行以下之處理。首先,證明者運算法P隨機產生向量r0i,t01i,...,t0ki Kn及e0i Km。接著,證明者運算法P計算r1i←s-r0i。該計算相當於藉由向量r0i掩蔽秘密鍵s之操作。接著,證明者運算法P計算c0i←H(r0i,t01i,...,t0ki,e0i)。接著,證明者運算法P計算c1i←H(r1i,ΣzGz(t0zi,r1i)+e0i)(其中,Σz係表示關於z=1~k之和。)。步驟#1中產生之訊息(c0i,c1i)(i-1~N)被發送至檢證驗證者運算法V。
步驟#2:
接收訊息(c0i,c1i)(i-1~N)之驗證者運算法V隨機選擇數ChA1,...,ChAN。該數ChA1,...,ChAN被發送至證明者運算法P。
步驟#3:
接收數ChA1,...,ChAN之證明者運算法P針對i=1~N及z=1~k計算t1zi←(ChAi)q(z-1)‧r0i-t0zi。接著,證明者運算法P計算e1i←ChAi‧F(r0i)-e0i。步驟#3中產生之(t11i,...,t1ki,e1i)(i=1~N)被發送至驗證者運算法V。
步驟#4:
接收(t11i,...,t1ki,e1i)(i=1~N)之驗證者運算法V在2個 驗證模式中選擇利用哪一驗證模式。例如,驗證者運算法V從表示驗證模式種類之2個數值{0,1}中選擇一個數值,且將所選擇之數值設定成請求ChBi。請求ChBi(i=1~N)被發送至證明者運算法P。
步驟#5:
接收請求ChBi(i=1~N)之證明者運算法P針對i=1~N之各者,因應所接收之請求ChBi,產生發送至驗證者運算法V之應答Rspi。ChBi=0之情形,證明者運算法P產生應答Rspi=r0i。ChBi=1之情形,證明者運算法P產生應答Rspi=r1i。步驟#5中所產生之應答Rspi(i=1~N)被發送至驗證者運算法V。
步驟#6:
接收應答Rspi(i=1~N)之驗證者運算法V利用所接收之應答Rspi,針對i=1~N實行以下之認證處理。
ChBi=0之情形,驗證者運算法V驗證c0i=H(r0i,(ChAi)q(0)‧r0i-t11i,...,(ChAi)q(k-1)‧r0i-t1ki,ChAi‧F(r0i)-e1i之等號是否成立。ChBi=1之情形,驗證者運算法V驗證c1i=H(r1i,ChAi‧(y-F(r1i))-ΣzGz(t1zi,r1i))之等號是否成立。
全部驗證成功之情形時,驗證者運算法V輸出表示認證成功之值1,驗證中有失敗之情形時,輸出表示認證失敗之值0。
以上,已說明5通道方式之高次擴展運算法之並行化。藉由利用該運算法,可大幅削減通訊所需之資料大小。此外,藉由利用高次多項式,可實現更高之安全性。
(3-4-3:並行化運算法(構成例2:高效率)(圖16))
接著,在在圖15所示之高次擴展運算法之並行化構成中,直接將訊息(c0i,c1i)(i=1~N)發送至第1通道。但,若考慮通訊效率,則將訊息(c0i,c1i)(i=1~N)做成一個雜湊值而發送之方法較好。為在第1通道將訊息(c0i,c1i)(i=1~N)做成1個雜湊值發送,可如圖16所示般變化運算法之構成。
在圖16之構成例中,證明者運算法P在步驟#1中計算雜湊值Cmt←H(c01,c11,...,c0N,c1N)。又,證明者運算法P,在步驟#5中產生應答Rspi時,ChBi=0之情形時,產生應答Rspi=(r0i,c1i),ChBi=1之情形時,產生應答Rspi=(r1i,c0i)。另一方面,驗證者運算法V在步驟#6中自(ChAi,ChBi,Rspi)(i=1~N)產生(c01,c11,...,c0N,c1N),驗證Cmt=(c01,c11,...,c0N,c1N)之等號是否成立。藉由進行該等變化,可提高通訊效率。
以上,已說明基於高次擴展運算法之有效之並行化運算法。
(3-4-4:並行化運算法(構成例2:更高效率)(圖17))
接著,在圖15所示之高次擴展運算法之並行化構成中,直接將訊息(c0i,c1i)(i=1~N)發送至第1通道。再者,直接將(t11i,...,t1ki,e1i)(i=1~N)發送至第3通道。但,若考慮通訊效率,則將訊息(c0i,c1i)(i=1~N)做成一個雜湊值而發送之方法較好。再者,將(t11i,...,t1ki,e1i)(i=1~N)做成一個雜湊值而發送之方法較好。為在第1通道將訊息(c0i, c1i)(i=1~N)做成1個雜湊值而發送,且在第3通道將(t11i,...,t1ki,e1i)(i=1~N)作為1個雜湊值而發送,可如圖17所示般變化運算法之構成。
在圖17之構成例中,證明者運算法P在步驟#1中計算雜湊值CmtA←H(c01,c11,...,c0N,c1N)。證明者運算法P在步驟#3中計算雜湊值CmtB←H(t111,...,t1kN,e11,...,e1N)。又,證明者運算法P,在步驟#5中產生應答Rspi時,ChBi=0之情形時產生應答Rspi=(r0i,t01i,...,t0ki,e0i,c1i),ChBi=1之情形時產生應答Rspi=(r1i,t11i,...,t1ki,e1i,c0i)。
另一方面,驗證者運算法V在步驟#6中,由(ChAi,ChBi,Rspi)(i=1~N)產生(c01,c11,...,c0N,c1N)及(t111,...,t1kN,e11,...,e1N),驗證CmtA=(c01,c11,...,c0N,c1N)及CmtB=(t111,...,t1kN,e11,...,e1N)之等號是否成立。藉由進行該等變化,可進一步提高通訊效率。
以上,已說明基於高次擴展運算法之更有效之並行化運算法。
藉由應用以上說明之高次擴展運算法,可實現更高安全性之有效之公開鍵認證方式。例如,在5通道方式之擴展運算法中,設為(q,n,m,N)=(24,45,30,88)之情形,公開鍵之大小為120位元,秘密鍵之大小為180位元,通訊資料之大小成為27512位元。
若想擔保同程度之安全性,5通道方式之高次擴展運算法之情形,例如滿足(q,n,m,N)=(22,42,40,118)之 條件即可。在該條件中,公開鍵之大小為80位元,秘密鍵之大小為84位元,通訊資料之大小成為27814位元。即,藉由應用高次擴展運算法,可同程度地維持通訊資料之大小,並大幅減小公開鍵之大小及秘密鍵之大小。
另,亦可將條件變更成(q,n,m,N)=(23,28,27,97)。該情形,公開鍵之大小為81位元,秘密鍵之大小為84位元,通訊資料之大小成為27145位元。再者,亦可將條件變更成(q,n,m,N)=(24,21,20,88)。該情形,公開鍵之大小為80位元,秘密鍵之大小為84位元,通訊資料之大小成為28392位元。在任一條件中,皆可達成大幅之效率化。
<4:向電子署名方式變化>
此處,介紹將上述公開鍵認證方式向電子署名方式變化之方法。
若使公開鍵認證方式之模式中之證明者對應電子署名方式中之署名者,則可容易理解在僅證明者可使驗證者認可之點上與電子署名方式之模式近似。基於如此考慮,針對將上述公開鍵認證方式向電子署名方式變化之方法加以說明。
[4-1:自3通道之公開鍵認證方式向電子署名方式變化]
首先,針對自3通道之公開鍵認證方式向電子署名方式之變化加以說明。
(4-1-1:電子署名運算法(構成例1)(圖18))
如圖18所示,3通道方式之有效之運算法(例如,參照圖 6及圖8)係以3次對話及4個步驟#1~步驟#4表示。
步驟#1係以針對i=1~N產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i,c2i)之處理(1)、及計算Cmt←H(c01,c11,c21,...,c0N,c1N,c2N)之處理(2)構成。步驟#1中藉由證明者運算法P產生之Cmt被發送至驗證者運算法V。
步驟#2係以選擇Ch1,...,ChN之處理構成。步驟#2中藉由驗證者運算法V選擇之Ch1,...,ChN被發送至證明者運算法P。
步驟#3係以使用Ch1,...,ChN及a1,...,aN產生Rsp1,...,RspN之處理構成。該處理表示為Rspi←Select(Chi,ai)。步驟#3中藉由證明者運算法P產生之Rsp1,...,RspN被發送至驗證者運算法V。
步驟#4係以使用Ch1,...,ChN及Rsp1,...,RspN而使c01,c11,c21,...,c0N,c1N,c2N再生之處理(1)、及使用再生之c01,c11,c21,...,c0N,c1N,c2N驗證Cmt=H(c01,c11,c21,...,c0N,c1N,c2N)之處理(2)構成。
以上述步驟#1~步驟#4表示之公開鍵認證方式之運算法可變化成如圖18所示之署名產生運算法Sig及署名驗證運算法Ver。
(署名產生運算法Sig)
首先,對署名產生運算法Sig之構成加以敘述。署名產生運算法Sig係由以下之處理(1)~處理(5)構成。
處理(1):署名產生運算法Sig產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i,c2i)。
處理(2):署名產生運算法Sig計算Cmt←H(c01,c11,c21,...,c0N,c1N,c2N)。
處理(3):署名產生運算法Sig計算(Ch1,...,ChN)←H(M,Cmt)。該M係賦與署名之文書。
處理(4):署名產生運算法Sig計算Rspi←Select(Chi,ai)。
處理(5):署名產生運算法Sig將(Cmt,Rsp1,...,RspN)設定成署名。
(署名驗證運算法Ver)
接著,對署名驗證運算法Ver之構成加以敘述。署名驗證運算法Ver係由以下之處理(1)~處理(3)構成。
處理(1):署名驗證運算法Ver計算(Ch1,...,ChN)←H(M,Cmt)。
處理(2):署名驗證運算法Ver使用Ch1,...,ChN及Rsp1,...,RspN產生c01,c11,c21,...,c0N,c1N,c2N
處理(3):署名驗證運算法Ver使用再生之c01,c11,c21,...,c0N,c1N,c2N驗證Cmt=H(c01,c11,c21,...,c0N,c1N,c2N)。
如以上說明,藉由使公開鍵認證方式之模式中之證明者對應電子署名方式中之署名者,可將公開鍵認證方式之運算法變化成電子署名方式之運算法。
(4-1-2:電子署名運算法(構成例2:高效率)(圖19))
然而,若著眼於圖18所示之署名產生運算法Sig之構成,則會注意到以處理(2)及處理(3)進行雜湊值之計算。 此外,若著眼於署名驗證運算法Ver之構成,則會注意到在處理(1)中,進行與署名產生運算法Sig之處理(3)相同之雜湊值之計算。若著眼於該等處理,如圖19所示改良署名產生運算法Sig及署名驗證運算法Ver之構成,則可使計算效率進一步提高。
(署名產生運算法Sig)
首先,參照圖19說明改良後之署名產生運算法Sig之構成。署名產生運算法Sig係由以下之處理(1)~處理(4)構成。
處理(1):署名產生運算法Sig產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i,c2i)。
處理(2):署名產生運算法Sig計算(Ch1,...,ChN)←H(M,c01,c11,c21,...,c0N,c1N,c2N)。該M係賦與署名之文書。
處理(3):署名產生運算法Sig計算Rspi←Select(Chi,ai)。
處理(4):署名產生運算法Sig將(Ch1,...,ChN,Rsp1,...,RspN)設定成署名。
(署名驗證運算法Ver)
接著,對改良後之署名驗證運算法Ver之構成加以說明。署名驗證運算法Ver係由以下之處理(1)及處理(2)構成。
處理(1):署名驗證運算法Ver使用Ch1,...,ChN及Rsp1,...,RspN產生c01,c11,c21,...,c0N,c1N,c2N
處理(2):署名驗證運算法Ver使用再生之c01,c11,c21,...,c0N,c1N,c2N驗證(Ch1,...,ChN)=H(c01,c11,c21,...,c0N,c1N,c2N)。
如上所述,藉由改良署名產生運算法Sig及署名驗證運算法Ver之構成,在各運算法中,雜湊值之計算各削減1次,而提高計算效率。
[4-2:自5通道之公開鍵認證方式向電子署名方式變化]
接著,對自5通道之公開鍵認證方式向電子署名方式之變化加以說明。
(4-2-1:電子署名運算法(構成例1)(圖20))
如圖20所示,5通道方式之有效之運算法(例如,參照圖11、圖13及圖16)係以5次對話及6個步驟#1~步驟#6表示。
步驟#1係以針對i=1~N產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i)之處理(1)、及計算Cmt←H(c01,c11,...,c0N,c1N)之處理(2)構成。步驟#1中藉由證明者運算法P產生之Cmt被發送至驗證者運算法V。
步驟#2係以選擇ChA1,...,ChAN之處理構成。步驟#2中藉由驗證者運算法V選擇之ChA1,...,ChAN被發送至證明者運算法P。
步驟#3係以針對i=1~N產生bi=(t1i,e1i)之處理構成。步驟#3中藉由證明者運算法P產生之b1,...,bN被發送至驗證者運算法V。
步驟#4係以選擇ChB1,...,ChBN之處理構成。步驟#4中藉由驗證者運算法V選擇之ChB1,...,ChBN被發送至證明 者運算法P。
步驟#5係以使用ChB1,...,ChBN、a1,...,aN、及b1,...,bN產生Rsp1,...,RspN之處理構成。將該處理表示為Rspi←Select(ChBi,ai,bi)。步驟#5中藉由證明者運算法P產生之Rsp1,...,RspN被發送至驗證者運算法V。
步驟#6係以使用ChA1,...,ChAN、ChB1,...,ChBN及Rsp1,...,RspN而使c01,c11,...,c0N,c1N再生之處理(1)、及使用再生之c01,c11,...,c0N,c1N驗證Cmt=H(c01,c11,...,c0N,c1N)之處理(2)構成。
以上述之步驟#1~步驟#6表示之公開鍵認證方式之運算法可變化成如圖20所示之署名產生運算法Sig及署名驗證運算法Ver。
(署名產生運算法Sig)
首先,對署名產生運算法Sig之構成加以敘述。署名產生運算法Sig係由以下之處理(1)~處理(7)構成。
處理(1):署名產生運算法Sig產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i)。
處理(2):署名產生運算法Sig計算Cmt←H(c01,c11,...,c0N,c1N)。
處理(3):署名產生運算法Sig計算(ChA1,...,ChAN)←H(M,Cmt)。該M係賦與署名之文書。
處理(4):署名產生運算法Sig針對i=1~N產生bi=(t1i,e1i)。
處理(5):署名產生運算法Sig計算(ChB1,..., ChBN)←H(M,Cmt,ChA1,...,ChAN,b1,...,bN)。另,亦可變化為(ChB1,...,ChBN)←H(ChA1,...,ChAN,b1,...,bN)。
處理(6):署名產生運算法Sig計算Rspi←Select(ChBi,ai,bi)。
處理(7):署名產生運算法Sig將(Cmt,b1,...,bN,Rsp1,...,RspN)設定成電子署名。
(署名驗證運算法Ver)
接著,對署名驗證運算法Ver之構成加以敘述。署名驗證運算法Ver係由以下之處理(1)~處理(4)構成。
處理(1):署名驗證運算法Ver計算(ChA1,...,ChAN)←H(M,Cmt)。
處理(2):署名驗證運算法Ver計算(ChB1,...,ChBN)←H(M,Cmt,ChA1,...,ChAN,b1,...,bN)。另,在署名驗證運算法Ver實行之處理(5)中變化為(ChB1,...,ChBN)←H(ChA1,...,ChAN,b1,...,bN)之情形,署名驗證運算法Ver計算(ChB1,...,ChBN)←H(ChA1,...,ChAN,b1,...,bN)。
處理(3):署名驗證運算法Ver使用ChA1,...,ChAN、ChB1,...,ChBN、及Rsp1,...,RspN產生c01,c11,...,c0N,c1N
處理(4):署名驗證運算法Ver使用再生之c01,c11,...,c0N,c1N驗證Cmt=H(c01,c11,...,c0N,c1N)。
如以上說明,藉由使公開鍵認證方式之模式中之證明者 與電子署名方式中之署名者對應,可使公開鍵認證方式之運算法變化成電子署名方式之運算法。
(4-2-2:電子署名運算法(構成例2:高效率)(圖21))
如圖21所示,5通道方式之更有效之運算法(例如參照圖17)係以5次對話及6個步驟#1~步驟#6表示。
步驟#1係以針對i=1~N產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i)之處理(1)、及計算CmtA←H(c01,c11,...,c0N,c1N)之處理(2)構成。步驟#1中藉由證明者運算法P產生之CmtA被發送至驗證者運算法V。
步驟#2係以選擇ChA1,...,ChAN之處理構成。步驟#2中藉由驗證者運算法V選擇之ChA1,...,ChAN被發送至證明者運算法P。
步驟#3係以針對i=1~N產生bi=(t1i,e1i)之處理(1)、及計算CmtB←H(b1,...,bN)之處理(2)構成。步驟#3中藉由證明者運算法P產生之CmtB被發送至驗證者運算法V。
步驟#4係以選擇ChB1,...,ChBN之處理構成。步驟#4中藉由驗證者運算法V選擇之ChB1,...,ChBN被發送至證明者運算法P。
步驟#5係以使用ChB1,...,ChBN、a1,...,aN、及b1,...,bN產生Rsp1,...,RspN之處理構成。將該處理表示為Rspi←Select(ChBi,ai,bi)。步驟#5中藉由證明者運算法P產生之Rsp1,...,RspN被發送至驗證者運算法V。
步驟#6係以使用ChA1,...,ChAN、ChB1,...,ChBN、及Rsp1,...,RspN而使c01,c11,...,c0N,c1N、b1,...,bN 再生之處理(1)、使用再生之c01,c11,...,c0N,c1N驗證CmtA=H(c01,c11,...,c0N,c1N)之處理(2)、及使用再生之b1,...,bN驗證CmtB=H(b1,...,bN)之處理(3)構成。
以上述之步驟#1~步驟#6表示之公開鍵認證方式之運算法可變化成如圖21所示之署名產生運算法Sig及署名驗證運算法Ver。
(署名產生運算法Sig)
首先,對署名產生運算法Sig之構成加以敘述。署名產生運算法Sig係由以下之處理(1)~處理(8)構成。
處理(1):署名產生運算法Sig產生ai=(r0i,t0i,e0i,r1i,t1i,e1i,c0i,c1i)。
處理(2):署名產生運算法Sig計算CmtA←H(c01,c11,...,c0N,c1N)。
處理(3):署名產生運算法Sig計算(ChA1,...,ChAN)←H(M,CmtA)。該M係賦與署名之文書。
處理(4):署名產生運算法Sig係針對i=1~N產生bi=(t1i,e1i)。
處理(5):署名產生運算法Sig計算CmtB←H(b1,...,bN)。
處理(6):署名產生運算法Sig計算(ChB1,...,ChBN)←H(M,Cmt,ChA1,...,ChAN,CmtB)。另,亦可變化為(ChB1,...,ChBN)←H(ChA1,...,ChAN,CmtB)。
處理(7):署名產生運算法Sig計算Rspi←Select(ChBi,ai,bi)。
處理(8):署名產生運算法Sig將(CmtA,CmtB,Rsp1,...,RspN)設定成電子署名。
(署名驗證運算法Ver)
接著,對署名驗證運算法Ver之構成加以敘述。署名驗證運算法Ver係由以下之處理(1)~處理(5)構成。
處理(1):署名驗證運算法Ver計算(ChA1,...,ChAN)←H(M,CmtA)。
處理(2):署名驗證運算法Ver計算(ChB1,...,ChBN)←H(M,CmtA,ChA1,...,ChAN,CmtB)。另,在署名驗證運算法Ver實行之處理(6)中變化為(ChB1,...,ChBN)←H(ChA1,...,ChAN,CmtB)之情形,署名驗證運算法Ver計算(ChB1,...,ChBN)←H(ChA1,...,ChAN,CmtB)。
處理(3):署名驗證運算法Ver使用ChA1,...,ChAN、ChB1,...,ChBN、及Rsp1,...,RspN產生c01,c11,...,c0N,c1N、b1,...,bN
處理(4):署名驗證運算法Ver使用再生之c01,c11,...,c0N,c1N驗證CmtA=H(c01,c11,...,c0N,c1N)。
處理(5):署名驗證運算法Ver使用再生之b1,...,bN驗證CmtB=H(b1,...,bN)。
如以上說明,藉由使公開鍵認證方式之模式中之證明者與電子署名方式中之署名者對應,可使公開鍵認證方式之運算法變化成電子署名方式之運算法。
<5:混合型運算法>
關於為使偽證成功之概率縮小到可忽視之程度而實行複數次對話協定之必要性係如以上說明。又,作為使對話協定實行複數次之方法,已介紹串行方法與並行方法。尤其關於並行方法,已顯示具體之並行化運算法而說明。此處,對使串行方法與並行方法組合之混合型運算法進行介紹。
[5-1:3通道之公開鍵認證方式之混合型運算法]
首先,對3通道之公開鍵認證方式之混合型運算法加以說明。
(5-1-1:並串行運算法(圖22))
參照圖22說明混合型之一構成例(以下為並串行構成)。圖22係顯示基本構成之運算法及並串行構成之運算法。
基本構成之情形,於第1通道內,將訊息Cmt自證明者發送至驗證者。在第2通道中,將請求Ch自驗證者發送至證明者。在第3通道中,將應答Rsp自證明者發送至驗證者。
另一方面,並串行構成之情形,在第1通道內將N次之訊息(Cmt1,...,CmtN)自證明者發送至驗證者。在第2通道中,將1次之請求Ch1自驗證者發送至證明者。在第3通道中,將1次應答Rspi自證明者發送至驗證者。其後,在證明者與驗證者之間逐次進行請求Ch2,...,ChN及應答Rsp2,...,RspN之交換。
基於至此所說明之公開鍵認證方式之運算法之並串行構成之情形,可保證相對被動攻擊之安全性。又,對話次數為2N+1次即可。再者,若將在第1通道發送之N次之訊息 做成1個雜湊值,可使通訊效率提高。
(5-1-2:串並行運算法(圖23))
參照圖23說明混合型之另一構成例(以下為串並行構成)。圖23中顯示基本構成之運算法及串並行構成之運算法。
基本構成之情形,於第1通道內,將訊息Cmt自證明者發送至驗證者。在第2通道中,將請求Ch自驗證者發送至證明者。在第3通道中,將應答Rsp自證明者發送至驗證者。
串並行構成之情形,在第1通道內將1次訊息Cmt1自證明者發送至驗證者。在第2通道中,將1次請求Ch1自驗證者發送至證明者。其後,在證明者與驗證者之間逐次進行訊息Cmt2,...,CmtN及請求Ch2,...,ChN之交換。在請求ChN自驗證者被發送至證明者後,從證明者向驗證者發送N次之應答Rsp2,...,RspN
基於至此所說明之公開鍵認證方式之運算法之串並行構成之情形,可保證相對主動攻擊之安全性。又,對話次數為2N+1次即可。
[5-2:5通道之公開鍵認證方式之混合型運算法]
接著,對5通道之公開鍵認證方式之混合型運算法加以說明。
(5-2-1:並串行運算法(構成例#1)(圖24))
首先,參照圖24說明混合型之一構成例(以下為並串行構成#1)。圖24係顯示基本構成之運算法及並串行構成#1之運算法。
基本構成之情形,於第1通道內,將訊息CmtA自證明者發送至驗證者。在第2通道中,將數ChA自驗證者發送至證明者。在第3通道中,將向量CmtB自證明者發送至驗證者。在第4通道中,將請求ChB自驗證者發送至證明者。在第5通道中,將應答Rsp自證明者發送至驗證者。
並串行構成#1之情形,在第1通道內將N次訊息(CmtA1,...,CmtAN)自證明者發送至驗證者。在第2通道中,將1次之數ChA1自驗證者發送至證明者。在第3通道中,將1次之向量CmtB1自證明者發送至驗證者。在第4通道中,將1次之請求ChB1自驗證者發送至證明者。在第5通道中,將1次之應答Rsp1自證明者發送至驗證者。其後,在證明者與驗證者之間,逐次進行ChA2,...,ChAN、CmtB2,...,CmtBN、ChB2,...,ChBN、及Rsp2,...,RspN之交換。
並串行構成#1之情形,可保證相對被動攻擊之安全性。又,對話次數為4N+1次即可。再者,藉由將在第1通道發送之N次之訊息做成1個雜湊值,可使通訊效率提高。
(5-2-2:並串行運算法(構成例#2)(圖25))
接著,參照圖25說明混合型之另一構成例(以下為並串行構成#2)。圖25中係顯示基本構成之運算法及並串行構成#2之運算法。
並串行構成#2之情形,在第1通道內將N次之訊息(CmtA1,...,CmtAN)自證明者發送至驗證者。在第2通道中,將N次之數(ChA1,...,ChAN)自驗證者發送至證明 者。在第3通道中,將N次之向量(CmtB1,...,CmtBN)自證明者發送至驗證者。在第4通道中,將1次之請求ChB1自驗證者發送至證明者。在第5通道中,將1次之應答Rsp1自證明者發送至驗證者。其後,在證明者與驗證者之間,逐次進行ChB2,...,ChBN、及Rsp2,...,RspN之交換。
並串行構成#2之情形,可保證相對被動攻擊之安全性。又,對話次數為2N+3次即可。再者,藉由將在第1通道發送之N次之訊息或在第3通道發送之N次之向量等做成1個雜湊值,可使通訊效率提高。
(5-2-3:串並行運算法(構成例#1)(圖26))
接著,參照圖26說明混合型之另一構成例(以下為串並行構成#1)。圖26中係顯示基本構成之運算法及串並行構成#1之運算法。
串並行構成#1之情形,在第1通道內將1次之訊息CmtA1自證明者發送至驗證者。在第2通道中,將1次之數ChA1自驗證者發送至證明者。在第3通道中,將1次之向量CmtB1自證明者發送至驗證者。在第4通道中,將1次之請求ChB1自驗證者發送至證明者。其後,在證明者與驗證者之間,逐次進行CmtA2,...,CmtAN、ChA2,...,ChAN、CmtB2,...,CmtBN、及ChB2,...,ChBN之交換。最後,自證明者向驗證者發送N次之應答(Rsp1,...,RspN)。
串並行構成#1之情形,可保證相對主動攻擊之安全性。此外,對話之次數為4N+1次即可。
(5-2-4:串並行運算法(構成例#2)(圖27))
接著,參照圖27說明混合型之另一構成例(以下為串並行構成#2)。圖27中係顯示基本構成之運算法及串並行構成#2之運算法。
串並行構成#2之情形,在第1通道內將1次之訊息CmtA1自證明者發送至驗證者。在第2通道中,將1次之數ChA1自驗證者發送至證明者。其後,在證明者與驗證者之間,逐次進行CmtA2,...,CmtAN、ChA2,...,ChAN之交換。結束ChAN之交換後,將N次之向量(CmtB1,...,CmtBN)自證明者發送至驗證者。接著,將N次之請求(ChB1,...,ChBN)自驗證者發送至證明者。最後,從證明者向驗證者發送N次之應答(Rsp1,...,RspN)。
串並行構成#2之情形,可保證相對主動攻擊之安全性。此外,對話之次數為2N+3次即可。
以上,已說明5通道之公開鍵認證方式之混合型運算法。
<6:補遺>
此處,進行關於上述公開鍵認證方式之說明之補足。
[6-1:參數之設定方法]
此處,針對參數之設定方法補充說明。
(關於多變量多項式之係數)
至此,關於如何設定多變量多項式之係數或利用於該係數之產生之隨機數源(以下為多變量多項式之係數等),未詳細提及。多變量多項式之係數等可設為系統公共之參數,亦可設為以每個使用者不同之參數。
然而,若將多變量多項式之係數等設為系統公共之參數,則該多變量多項式中發現漏洞之情形,必須對該系統整體更新設定。又,關於具有隨機選擇之係數之多變量多項式,雖可解析平均之頑強性(解開之難度),但難以保證對具有某特定係數之多變量多項式具有足夠之頑強性。
因此,本件發明者設計將各使用者選擇之文字列等利用於偽隨機數產生器之源而產生多變量多項式之係數之機制。例如,可考慮將使用者之e-mail位址利用於源,或將結合e-mail位址與更新時日之文字列利用於源之方法等。若使用此種方法,則即使萬一具有自某文字列所產生之係數之多變量多項式中發現漏洞之情形,影響僅限定於利用具有該係數之多變量多項式之使用者。此外,由於只要改變文字列即可變更多變量多項式,故可容易消除漏洞。
以上,已說明系統參數之設定方法。另,上述說明中雖舉文字列為例,但亦可使用以每個使用者不同之數字之行或記號之行。
(關於多項式之數m及變量之數n)
然而,至此所說明之對話協定可保證相對被動攻擊之安全性。但,在並行重複實行該對話協定之情形,為可證明可確實保證相對主動攻擊之安全性,需要以下敘述之條件。
上述對話協定係使用1組之鍵對(公開鍵y、秘密鍵s),而用以使驗證者驗證「證明者知曉關於y成為y=F(s)之s」之運算法。因此,進行在驗證中受理之對話之情形,不可否 定驗證者知曉「證明者於對話時使用s」之資訊之可能性。又,關於多變量多項式F無法保證衝突困難性。因此,並行重複實行上述對話協定之情形,難以無條件證明可確實保證相對主動攻擊之安全性。
因此,本件發明者研究即使在進行驗證中受理之對話之情形下,仍可使「證明者於對話時使用s」之資訊不被驗證者知曉之方法。且,本件發明者設計即使在並行重複實行上述對話協定之情形下,仍可保證相對主動攻擊之安全性之方法。該方法係將作為公開鍵使用之多變量多項式f1,...,fm之數m設定成充分小於該變量之數n之值者。例如,可以成為2m-n«1之方式設定m及n(例如,n=160,m=80之情形,2-80«1。)。
在將對多次多變量方程式之求解問題之解答之困難性作為安全性之根據之方式中,即使給與秘密鍵s1、及與其對應之公開鍵pk,仍難以產生對應於該公開鍵pk之其他秘密鍵s2。因此,只要保證存在2個以上相對公開鍵pk之秘密鍵s,則即使在進行驗證中受理之對話之情形下,仍可使「證明者於對話時使用s」之資訊不被驗證者知曉。即,若該保證成立,則即使在並行重複實行對話協定之情形下,仍可保證對於主動攻擊之安全性。
若參照圖29考量以m個n變量多次多項式構成之函數F:Kn→Km(其中,n>m),則不具有第2個原像之定義域之要素數係最多只存在| K |m-1個。因此,若使| K |m-n足夠小,則可使選擇不具有第2個原像之定義域之要素之概率縮小至 可忽視之程度。即,若可將n變量多次多項式f1,...,fm之數m設定成充分小於該變量之數n之值,則可保證相對公開鍵pk存在2個以上之秘密鍵s。其結果,即使在已進行驗證中受理之對話之情形下,仍可使「證明者於對話時使用s」之資訊不被驗證者知曉,即使在並行重複實行對話協定之情形下,仍可保證相對主動攻擊之安全性。
如以上說明,藉由設置將n變量多次多項式f1,...,fm之數m設定成充分小於其變量之數n之值(n>m;較好係2m-n«1)之設定條件,可保證並行重複實行對話協定之情形之安全性。
[6-2:對非正規請求之應答方法]
此處,考察對非正規請求之應答方法。
(6-2-1:關於證明者之應答方法)
考量在對話協定中驗證者投出偽請求之可能性。例如,3通道方式之情形,證明者向驗證者發送訊息(c0,c1,c2),且驗證者將請求ch=0發送至證明者後,自證明者向驗證者發送與請求ch=0對應之應答Rsp。至此為正常對話。
其後,驗證者進而對證明者要求與請求Ch=1對應之應答Rsp。若假設證明者因應該要求而向驗證者發送與請求Ch=1對應之應答Rsp,則秘密鍵會洩漏至驗證者。此種秘密鍵之洩漏有可能在現實中發生。例如,驗證者若誤以為應已由第2通道發送出請求Ch=0而非發送出請求Ch=1,則有可能再次要求發送對應於請求Ch=1之應答Rsp。另一方面,證明者有可能誤認為已由第2通道發送之請求Ch之位 元因通訊錯誤而成為其他位元。
對此,作為避免發生秘密鍵洩漏之方法,本案發明者研究針對1次之訊息,若證明者要求對應於2次以上之請求Ch之應答之情形時結束對話、或使用新的隨機數自第1通道重新對話之方法。若應用該方法,則即使驗證者錯誤地要求2次以上之對應於請求Ch之應答,仍不會洩漏秘密鍵。
(6-2-2:驗證者之應答方法)
接著,考量證明者錯誤地要求再次發送請求Ch之可能性。例如,在3通道方式中,證明者向驗證者發送訊息(c0,c1,c2),且驗證者將請求Ch=0發送至證明者後,證明者要求再次發送請求Ch。若驗證者因應該要求而再次隨機選擇請求Ch,則有可能選擇與先前發送之請求Ch=0不同之請求Ch=1。該情形,自驗證者向證明者發送請求Ch=1。假設證明者可將對應於請求Ch=1之應答Rsp發送給驗證者。
該情形,證明者雖可回答請求Ch=1,但可能無法回答請求Ch=0。即,無法否定證明者偽證之可能性。例如,證明者可能因丟失請求Ch而欲要求驗證者再次發送請求Ch。另一方面,驗證者可能考慮因通訊錯誤而丟失先前發送之請求,而因應證明者之要求再次發送請求Ch。接著,再次發送之請求Ch與先前發送之請求Ch為不同者之情形,致使偽證成功。
如從該例獲知般,由於隨機選擇請求Ch,給與證明者偽證之機會。因此,本件發明者為不給與偽證之機會,設計 證明者對1次之訊息再度要求發送請求Ch之情形時,以使驗證者結束對話或不產生新的隨機數而再次發送與前次相同之請求Ch之方式改良對話協定之方法。若應用該方法,則可消除利用要求再次發送請求Ch之偽證機會。
以上,已說明對非正規請求之安全應答方法。另,上述說明中雖舉3通道之基本構成為例,但藉由對串行之重複構成、並行之重複構成、或混合型之重複構成亦加以相同之辦法,可使安全性提高。當然,關於5通道之運算法亦相同。
<7:硬體構成例>
上述各運算法例如可使用圖28所示之資訊處理裝置之硬體構成實行。即,該各運算法之處理係藉由使用電腦程式控制圖28所示之硬體實現。另,該硬體之形態係任意,例如,個人電腦、行動電話、PHS、PDA等之便攜式資訊終端、遊戲機、接觸式或非接觸式之IC晶片、接觸式或非接觸式之IC卡、或各種資訊家電係包含其中。其中,上述之PHS係Personal Handy-phone System(個人手持式電話系統)之略稱。此外,上述之PDA係Personal Digital Assistant(個人數位助理)之略稱。
如圖28所示,該硬體主要具有CPU902、ROM904、RAM906、主匯流排908、及橋接部910。進而,該硬體具有外部匯流排912、介面914、輸入部916、輸出部918、記憶部920、驅動器922、連接埠924、及通訊部926。其中,上述之CPU係Central Processing Unit(中央處理單元)之略 稱。此外,上述之ROM係Read Only Memory(唯讀記憶體)之略稱。且,上述之RAM係Random Access Memory(隨機存取記憶體)之略稱。
CPU902係例如作為運算處理裝置或控制裝置而發揮功能,基於記錄於ROM904、RAM906、記憶部920、或可卸除式記錄媒體928中之各種程式,控制各構成要件之動作全體或其一部分。ROM904係儲存讀入至CUP902之程式或使用於運算之資料等之機構。RAM906中暫時或永久儲存例如讀入至CPU902之程式、或執行該程式時適當變化之各種參數等。
該等構成要件例如經由可高速傳送資料之主匯流排908而相互連接。另一方面,主匯流排908例如經由橋接部910而連接於資料傳送速度比較低速之外部匯流排912。又,作為輸入部916,例如使用滑鼠、鍵盤、觸控面板、按鈕、開關、及桿等。再者,作為輸入部916,亦可使用可利用紅外線或其他電波發送控制訊號之遙控裝置(以下為遙控)。
作為輸出部918,例如為CRT、LCD、PDP、或ELD等顯示裝置,揚聲器、頭戴式耳機等音頻輸出裝置,及印表機、行動電話、或傳真等可將所取得之資訊視覺上或聽覺上通知至利用者之裝置。其中,上述之CRT係Cathode Ray Tube(陰極射線管)之略稱。此外,上述之LCD係Liquid Crystal Display(液晶顯示器)之略稱。且,上述之PDP係Plasma Display Panel(電漿顯示器)之略稱。再者,上述之 ELD係Electro-Luminescence Display(電致發光顯示器)之略稱。
記憶部920係用以儲存各種資料之裝置。作為記憶部920,例如使用硬碟驅動器(HDD)等磁性記憶裝置、半導體記憶裝置、光記憶裝置、或光磁性記憶裝置等。其中,上述之HDD係Hard Disk Drive之略稱。
驅動器922係例如讀取記錄於磁碟、光碟、磁光碟、或半導體記憶體等之可卸除式記錄媒體928內之資訊,或將資訊寫入可卸除式記錄媒體928內之裝置。可卸除式記錄媒體928例如為DVD媒體、Blue-ray媒體、HD DVD媒體、及各種半導體記憶媒體等。當然,可卸除式記錄媒體928亦可為例如搭載有非接觸型IC晶片之IC卡、或電子機器等。其中,上述之IC係Integrated Circuit(積體電路)之略稱。
連接埠924係例如USB埠、IEEE1394埠、SCSI、RS-232C埠、或用以連接如光音頻端子等之外部連接機器930之埠。外部連接機器930係例如印表機、便攜式音樂播放器、數位相機、數位攝像機、或IC錄音機等。其中,上述之USB係Universal Serial Bus(通用串列匯流排)之略稱。此外,上述之SCSI係Small Computer System Interface(小型電腦系統介面)之略稱。
通訊部926係用以連接於網路932之通訊裝置,例如為有線或無線LAN、Bluetooth(註冊商標)、或WUSB用之通訊卡、光通訊用之路由器、ADSL用之路由器、或接觸或非 接觸通訊用之裝置等。此外,連接於通訊部926之網路932係由利用有線或無線連接之網路而構成,例如,網際網路、家庭內LAN、紅外線通訊、可視光通訊、廣播或衛星通訊等。其中,上述之LAN係Local Area Network(區域網路)之略稱。此外,上述之WUSB係Wireless USB(無線通用串列匯流排)之略稱。且,上述之ADSL係Asymmetric Digital Subscriber Line(非對稱數位用戶線)之略稱。
<8:總結>
最後,簡單總結本技術之實施形態之技術內容。此處論述之技術內容例如可應用於PC、行動電話、遊戲機、資訊終端、資訊家電、及導航系統等多種資訊處理裝置。另,以下論述之資訊處理裝置之功能可利用1台資訊處理裝置實現,亦可利用複數台資訊處理裝置實現。此外,以下論述之資訊處理裝置實行處理時使用之資料記憶機構及運算處理機構係可設置於該資訊處理裝置中者,亦可為設置於經由網路連接之機器中者。
上述資訊處理裝置之功能構成係如以下般表示。例如,下述技術方案(1)所揭示之資訊處理裝置具有實行將多次多變量連立方程式之求解困難性作為安全性之根據之有效之公開鍵認證方法之運算法之功能。
(1)一種資訊處理裝置,其包含:訊息產生部,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息; 訊息提供部,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生部,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供部,其係將上述第3資訊提供至上述驗證者;及回答提供部,其係將與上述驗證者從k種(k≧2)驗證模式中所選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(2)如上述技術方案(1)之資訊處理裝置,其中上述訊息產生部產生N次(N≧2)之訊息;上述訊息提供部將N次之上述訊息在1次對話中提供給上述驗證者; 上述中間資訊產生部針對N次之上述訊息之各者,使用上述驗證者選擇之上述第1資訊及產生上述訊息時獲得之N次之上述第2資訊,產生N次之上述第3資訊; 上述中間資訊提供部將N次之上述第3資訊在1次對話中提供給驗證者;上述回答提供部針對N次之上述訊息之各者,將與上述驗證者選擇之驗證模式對應之N次之上述回答資訊在1次對話中提供給上述驗證者。
(3)如上述技術方案(2)之資訊處理裝置,其中上述訊息產生部產生N次(N≧2)之訊息,且由N次之上述訊息產生一個雜湊值;上述訊息提供部將上述雜湊值提供給上述驗證者;上述中間資訊產生部針對N次之上述訊息之各者,使用上述驗證者選擇之上述第1資訊及產生上述訊息時獲得之N次之上述第2資訊,產生N次之上述第3資訊;上述中間資訊提供部將N次之上述第3資訊在1次對話中提供給驗證者;上述回答提供部針對N次之上述訊息之各者,將與上述驗證者選擇之驗證模式對應之N次之上述回答資訊、及即使利用上述公開鍵與上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算仍無法獲得之一部分之訊息,在1次對話中提供給上述驗證者。
(4) 一種資訊處理裝置,其包含: 資訊保持部,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得部,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供部,其係對提供上述訊息之證明者,提供隨機選擇之第1資訊;中間資訊取得部,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;模式資訊提供部,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得部,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證部,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2) 定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(5)如上述技術方案(4)之資訊處理裝置,其中上述訊息取得部在1次對話中取得N次(N≧2)之上述訊息;上述資訊提供部針對N次之上述訊息之各者,隨機選擇上述第1資訊,且將選擇之N次之上述第1資訊在1次對話中提供給上述證明者;上述中間資訊取得部取得上述證明者使用N次之上述第1資訊及產生N次之上述訊息時獲得之N次之上述第2資訊所產生之N次之上述第3資訊;上述模式資訊提供部針對N次之上述訊息之各者選擇驗證模式,且將所選擇之N次之驗證模式之資訊在1次對話中提供給上述證明者;上述回答取得部在1次對話中自上述證明者取得與上述所選擇之N次之驗證模式對應之N次之上述回答資訊;在針對N次之上述訊息之全體驗證成功之情形時,上述驗證部判定上述證明者保持有上述向量s。
(6)如上述技術方案(5)之資訊處理裝置,其中上述訊息取得部取得由N次(N≧2)之上述訊息產生之1個雜湊值;上述資訊提供部針對N次之上述訊息之各者,隨機選擇上述第1資訊,且將所選擇之N次之上述第1資訊在1次對話中提供給上述證明者; 上述中間資訊取得部取得上述證明者使用N次之上述第1資訊及產生N次上述訊息時獲得之N次之上述第2資訊產生之N次之上述第3資訊;上述模式資訊提供部針對N次之上述訊息之各者選擇驗證模式,且將所選擇之N次之驗證模式之資訊在1次對話中提供給上述證明者;上述回答取得部自上述證明者取得與上述所選擇之驗證模式對應之回答資訊、及即使利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算仍無法獲得之一部分之訊息;上述驗證部基於上述雜湊值、上述一部分之訊息、上述公開鍵、及上述回答資訊,驗證上述證明者是否保持有上述向量s,且在針對N次之上述訊息之全體驗證成功之情形時,判定上述證明者保持有上述向量s。
(7)一種資訊處理方法,其包含:基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;將上述第3資訊提供至上述驗證者;及 將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(8)一種資訊處理方法,其包含:保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s))之資訊處理裝置;取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;對提供上述訊息之證明者,提供隨機選擇之第1資訊;取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;自上述證明者取得與上述所選擇之驗證模式對應之回答 資訊;及基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(9)一種程式,其係用以使電腦實現如下功能者:訊息產生功能,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;訊息提供功能,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生功能,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供功能,其係將上述第3資訊提供至上述驗 證者;及回答提供功能,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(10)一種程式,其係用以使電腦實現如下功能者:資訊保持功能,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得功能,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供功能,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得功能,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;模式資訊提供功能,其係將從k種(k≧3)驗證模式中隨機 選擇之1個驗證模式之資訊提供至上述證明者;回答取得功能,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證功能,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(11)一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:訊息產生功能,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn產生訊息;訊息提供功能,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息; 中間資訊產生功能,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊產生第3資訊;中間資訊提供功能,其係將上述第3資訊提供至上述驗證者;及回答提供功能,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(12)一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:資訊保持功能,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得功能,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供功能,其係對提供上述訊息之證明者提供隨機 選擇之第1資訊;中間資訊取得功能,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊產生之第3資訊;模式資訊提供功能,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得功能,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證功能,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
(13)如上述技術方案(1)~(6)中任一項之裝置,其中上述m及n具有m<n之關係。
(14) 如上述技術方案(13)之裝置,其中上述m及n具有2m-n«1之關係。
(備考)
上述之證明者運算法P係訊息產生部、訊息提供部、回答提供部、中間資訊產生部、及中間資訊提供部之一例。又,上述之驗證者運算法V係資訊保持部、訊息取得部、模式資訊提供部、回答取得部、驗證部、及中間資訊取得部之一例。
以上,雖然已一面參照附加圖式一面對本技術之較好之實施形態加以說明,但,不言而喻,本技術並非限定於上述之例。若為本領域技術人員,則應了解,顯然,在專利申請範圍所揭示之範疇內,可設想各種變更例或修正例,且關於該等,當然亦屬於本技術之技術範圍內。
Ch‧‧‧請求Gen鍵產生運算法
H‧‧‧散列雜湊函數
P‧‧‧證明者運算法
pk‧‧‧公開鍵
Rsp‧‧‧應答
Sig‧‧‧署名產生運算法
sk‧‧‧秘密鍵
V‧‧‧驗證者運算法
Ver‧‧‧署名驗證運算法
圖1係用以說明公開鍵認證方式之運算法之構成之說明圖。
圖2係用以說明電子署名方式之運算法之構成之說明圖。
圖3係用以說明n通道之公開鍵認證方式之運算法之構成之說明圖。
圖4係用以說明3通道之公開鍵認證方式之具體運算法之構成例之說明圖。
圖5係用以說明3通道之公開鍵認證方式之有效之運算法之說明圖。
圖6係用以說明3通道之公開鍵認證方式之有效之運算法之並行化之說明圖。
圖7係用以說明利用3通道之高次多變量多項式之公開鍵認證方式(方式#1)之運算法之一例之說明圖。
圖8係用以說明利用3通道之高次多變量多項式之公開鍵認證方式(方式#1)之並行化運算法之一例之說明圖。
圖9係用以說明5通道之公開鍵認證方式之具體運算法之構成例之說明圖。
圖10係用以說明5通道之公開鍵認證方式之有效之運算法之構成例之說明圖。
圖11係用以說明5通道之公開鍵認證方式之有效之運算法之並行化之說明圖。
圖12係用以說明利用5通道之高次多變量多項式之公開鍵認證方式(方式#1)之運算法之一例之說明圖。
圖13係用以說明利用5通道之高次多變量多項式之公開鍵認證方式(方式#1)之並行化運算法之一例之說明圖。
圖14係用以說明利用5通道之高次多變量多項式之公開鍵認證方式(方式#2)之運算法之一例之說明圖。
圖15係用以說明利用5通道之高次多變量多項式之公開鍵認證方式(方式#2)之並行化運算法之一例之說明圖。
圖16係用以說明利用5通道之高次多變量多項式之公開鍵認證方式(方式#2)之有效之並行化運算法之一例之說明圖。
圖17係用以說明利用5通道之高次多變量多項式之公開 鍵認證方式(方式#2)之更有效之並行化運算法之一例之說明圖。
圖18係用以說明將3通道之公開鍵認證方式之有效之運算法變化成電子署名方式之運算法之方法之說明圖。
圖19係用以說明將3通道之公開鍵認證方式之有效之運算法變化成更有效之電子署名方式之運算法之方法之說明圖。
圖20係用以說明將5通道之公開鍵認證方式之有效之運算法變化成電子署名方式之運算法之方法之說明圖。
圖21係用以說明將5通道之公開鍵認證方式之更有效之運算法變化成電子署名方式之運算法之方法之說明圖。
圖22係用以說明3通道之公開鍵認證方式之有效之運算法之並串行構成之說明圖。
圖23係用以說明3通道之公開鍵認證方式之有效之運算法之串並行構成之說明圖。
圖24係用以說明5通道之公開鍵認證方式之有效之運算法之並串行構成(並串行構成#1)之說明圖。
圖25係用以說明5通道之公開鍵認證方式之有效之運算法之並串行構成(並串行構成#2)之說明圖。
圖26係用以說明5通道之公開鍵認證方式之有效之運算法之串並行構成(串並行構成#1)之說明圖。
圖27係用以說明5通道之公開鍵認證方式之有效之運算法之串並行構成(串並行構成#2)之說明圖。
圖28係用以說明可實行本技術之各實施形態之運算法之 資訊處理裝置之硬體構成例之說明圖。
圖29係用以說明本技術之第1及第2實施形態之公開鍵認證方式中使用之參數之適當之設定方法及其效果之說明圖。
Ch‧‧‧請求
H‧‧‧雜湊函數
pk‧‧‧公開鍵
Rsp‧‧‧應答
sk‧‧‧秘密鍵

Claims (12)

  1. 一種資訊處理裝置,其包含:訊息產生部,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;訊息提供部,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生部,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供部,其係將上述第3資訊提供至上述驗證者;及回答提供部,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中, 1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  2. 如請求項1之資訊處理裝置,其中上述訊息產生部產生N次(N≧2)之訊息;上述訊息提供部將N次之上述訊息在1次對話中提供給上述驗證者;上述中間資訊產生部針對N次之上述訊息之各者,使用上述驗證者所選擇之上述第1資訊及產生上述訊息時獲得之N次之上述第2資訊,產生N次之上述第3資訊;上述中間資訊提供部將N次之上述第3資訊在1次對話中提供給驗證者;上述回答提供部針對N次之上述訊息之各者,將與上述驗證者選擇之驗證模式對應之N次之上述回答資訊在1次對話中提供給上述驗證者。
  3. 如請求項2之資訊處理裝置,其中上述訊息產生部產生N次(N≧2)之訊息,且由N次之上述訊息產生一個雜湊值;上述訊息提供部將上述雜湊值提供給上述驗證者;上述中間資訊產生部針對N次之上述訊息之各者,使用上述驗證者選擇之上述第1資訊及產生上述訊息時獲得之N次之上述第2資訊,產生N次之上述第3資訊;上述中間資訊提供部將N次之上述第3資訊在1次對話中提供給驗證者;上述回答提供部針對N次之上述訊息之各者,將與上 述驗證者選擇之驗證模式對應之N次之上述回答資訊、及即使利用上述公開鍵與上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算仍無法獲得之一部分之訊息,在1次對話中提供給上述驗證者。
  4. 一種資訊處理裝置,其包含:資訊保持部,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得部,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供部,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得部,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;模式資訊提供部,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得部,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證部,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上 述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  5. 如請求項4之資訊處理裝置,其中上述訊息取得部在1次對話中取得N次(N≧2)之上述訊息;上述資訊提供部針對N次之上述訊息之各者,隨機選擇上述第1資訊,且將所選擇之N次之上述第1資訊在1次對話中提供給上述證明者;上述中間資訊取得部取得上述證明者使用N次之上述第1資訊及產生N次上述訊息時獲得之N次之上述第2資訊所產生之N次之上述第3資訊;上述模式資訊提供部針對N次之上述訊息之各者選擇驗證模式,且將所選擇之N次之驗證模式之資訊在1次對話中提供給上述證明者;上述回答取得部在1次對話中自上述證明者取得與上述所選擇之N次之驗證模式對應之N次之上述回答資訊;在針對N次之上述訊息之全體驗證成功之情形時,上述驗證部判定上述證明者保持有上述向量s。
  6. 如請求項5之資訊處理裝置,其中上述訊息取得部取得由N次(N≧2)之上述訊息產生之1個雜湊值;上述資訊提供部針對N次之上述訊息之各者隨機選擇上述第1資訊,且將所選擇之N次之上述第1資訊在1次對話中提供給上述證明者;上述中間資訊取得部取得上述證明者使用N次之上述第1資訊及產生N次上述訊息時獲得之N次之上述第2資訊產生之N次之上述第3資訊;上述模式資訊提供部針對N次之上述訊息之各者選擇驗證模式,且將所選擇之N次之驗證模式之資訊在1次對話中提供給上述證明者;上述回答取得部自上述證明者取得與上述所選擇之驗證模式對應之回答資訊、及即使利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算仍無法獲得之一部分之訊息;上述驗證部基於上述雜湊值、上述一部分之訊息、上述公開鍵、及上述回答資訊,驗證上述證明者是否保持有上述向量s,且在針對N次之上述訊息之全體驗證成功之情形時,判定上述證明者保持有上述向量s。
  7. 一種資訊處理方法,其包含:基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息; 對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;將上述第3資訊提供至上述驗證者;及將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  8. 一種資訊處理方法,其包含:保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s))之資訊處理裝置;取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息; 對提供上述訊息之證明者提供隨機選擇之第1資訊;取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊而產生之第3資訊;將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊,實行該回答資訊所對應之驗證模式用之預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  9. 一種程式,其係用以使電腦實現如下功能者:訊息產生功能,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息; 訊息提供功能,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生功能,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供功能,其係將上述第3資訊提供至上述驗證者;及回答提供功能,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  10. 一種程式,其係用以使電腦實現如下功能者:資訊保持功能,其係保持多次多變量多項式之組 F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得功能,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供功能,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得功能,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊產生之第3資訊;模式資訊提供功能,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得功能,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證功能,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊,驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2) 定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  11. 一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:訊息產生功能,其係基於多次多變量多項式之組F=(f1,...,fm)及向量sKn而產生訊息;訊息提供功能,其係對保持上述多次多變量多項式之組F及向量y=(y1,...,ym)=(f1(s),...,fm(s))之驗證者提供上述訊息;中間資訊產生功能,其係使用上述驗證者隨機選擇之第1資訊及產生上述訊息時獲得之第2資訊而產生第3資訊;中間資訊提供功能,其係將上述第3資訊提供至上述驗證者;及回答提供功能,其係將與上述驗證者從k種(k≧2)驗證模式中選擇之驗證模式對應之回答資訊提供至上述驗證者;且上述向量s係秘密鍵;上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之 環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
  12. 一種記錄媒體,其係記錄有用以使電腦實現如下功能之程式且可由電腦讀取者:資訊保持功能,其係保持多次多變量多項式之組F=(f1,...,fm)及向量y=(y1,...,ym)=(f1(s),...,fm(s));訊息取得功能,其係取得基於上述多次多變量多項式之組F及向量sKn而產生之訊息;資訊提供功能,其係對提供上述訊息之證明者提供隨機選擇之第1資訊;中間資訊取得功能,其係取得上述證明者使用上述第1資訊及產生上述訊息時獲得之第2資訊產生之第3資訊;模式資訊提供功能,其係將從k種(k≧3)驗證模式中隨機選擇之1個驗證模式之資訊提供至上述證明者;回答取得功能,其係自上述證明者取得與上述所選擇之驗證模式對應之回答資訊;及驗證功能,其係基於上述訊息、上述第1資訊、上述第3資訊、上述多次多變量多項式之組F、及上述回答資訊驗證上述證明者是否保持有上述向量s;且上述向量s係秘密鍵; 上述多次多變量多項式之組F及上述向量y係公開鍵;上述訊息係藉由利用上述公開鍵、上述第1資訊、上述第3資訊、上述回答資訊實行與該回答資訊對應之驗證模式用所預先準備之運算而獲得之資訊;上述多次多變量多項式之組F係以在標數q及位數qk之環R上定義之多項式f1,...,fm構成,且針對向量x1=(x11,...,x1n)(l=1,2),以G(x1,x2)=F(x1+x2)-F(x1)-F(x2)定義之多項式G(x1,x2)係以由與(x1i)q(z)(其中,1≦i≦n,q(z)=qz,1≦z≦k)成比例之項構成之方式設定。
TW101125907A 2011-08-12 2012-07-18 Information processing apparatus, information processing method, program and recording medium TWI511517B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011177071A JP5790287B2 (ja) 2011-08-12 2011-08-12 情報処理装置、情報処理方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
TW201308969A true TW201308969A (zh) 2013-02-16
TWI511517B TWI511517B (zh) 2015-12-01

Family

ID=47714958

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101125907A TWI511517B (zh) 2011-08-12 2012-07-18 Information processing apparatus, information processing method, program and recording medium

Country Status (12)

Country Link
US (1) US9178700B2 (zh)
EP (1) EP2744146A4 (zh)
JP (1) JP5790287B2 (zh)
KR (1) KR101986392B1 (zh)
CN (1) CN103718502B (zh)
AU (1) AU2012296044B2 (zh)
BR (1) BR112014002854A2 (zh)
CA (1) CA2839690A1 (zh)
MX (1) MX338025B (zh)
RU (1) RU2603551C2 (zh)
TW (1) TWI511517B (zh)
WO (1) WO2013024629A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090842A (zh) * 2019-12-23 2020-05-01 上海源庐加佳信息科技有限公司 一种基于零知识证明的供应链金融客户贷款信息保护方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014090372A (ja) * 2012-10-31 2014-05-15 Sony Corp 情報処理装置、情報処理システム、情報処理方法及びコンピュータプログラム
CN103490897B (zh) * 2013-09-17 2017-04-05 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法
JP2017169147A (ja) * 2016-03-17 2017-09-21 株式会社東芝 検証装置、電子機器、プログラムおよび検証システム
US10484186B2 (en) * 2016-09-30 2019-11-19 Intel Corporation Cascading multivariate quadratic identification schemes for chain of trust
CN110995438B (zh) * 2019-10-24 2022-07-12 南京可信区块链与算法经济研究院有限公司 一种非交互零知识证明方法、系统及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513898B4 (de) * 1995-04-12 2006-11-30 Deutsche Telekom Ag Public-Key-Verfahren zur Verschlüsselung von Daten
US6081597A (en) * 1996-08-19 2000-06-27 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials
EP1049289B1 (en) * 1999-04-29 2004-10-06 Bull Cp8 Public-key signature methods and systems
US7080254B1 (en) * 1999-10-01 2006-07-18 France Telecom Method, system, device for proving authenticity of an entity or integrity of a message
US7814320B2 (en) * 2005-07-19 2010-10-12 Ntt Docomo, Inc. Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
JP4575283B2 (ja) * 2005-11-15 2010-11-04 株式会社東芝 暗号装置、復号装置、プログラム及び方法
KR101367101B1 (ko) * 2006-08-30 2014-02-25 삼성전자주식회사 다항식환을 이용한 키 합의 방법 및 이를 위한 장치
US9059838B2 (en) * 2007-03-30 2015-06-16 Verizon Patent And Licensing Inc. Encryption algorithm with randomized buffer
CN101321058B (zh) * 2007-06-07 2010-12-15 管海明 一种用于编码和译码数字消息的方法和系统
US8019079B2 (en) * 2007-07-08 2011-09-13 Georgia Tech Research Corporation Asymmetric cryptosystem employing paraunitary matrices
JP4612027B2 (ja) * 2007-09-03 2011-01-12 村田機械株式会社 署名システム
KR101591508B1 (ko) * 2008-04-14 2016-02-18 코닌클리케 필립스 엔.브이. 암호 수단을 분배하는 방법
JP5593850B2 (ja) 2010-05-31 2014-09-24 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
JP5594034B2 (ja) 2010-07-30 2014-09-24 ソニー株式会社 認証装置、認証方法、及びプログラム
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US9083526B2 (en) * 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090842A (zh) * 2019-12-23 2020-05-01 上海源庐加佳信息科技有限公司 一种基于零知识证明的供应链金融客户贷款信息保护方法
CN111090842B (zh) * 2019-12-23 2022-04-26 上海源庐加佳信息科技有限公司 一种基于零知识证明的供应链金融客户贷款信息保护方法

Also Published As

Publication number Publication date
EP2744146A4 (en) 2015-06-17
EP2744146A1 (en) 2014-06-18
CN103718502A (zh) 2014-04-09
JP2013042295A (ja) 2013-02-28
MX2014001451A (es) 2014-02-27
AU2012296044B2 (en) 2016-02-25
KR101986392B1 (ko) 2019-06-05
US20140153717A1 (en) 2014-06-05
RU2014104084A (ru) 2015-08-10
MX338025B (es) 2016-03-31
BR112014002854A2 (pt) 2017-03-01
RU2603551C2 (ru) 2016-11-27
CA2839690A1 (en) 2013-02-21
CN103718502B (zh) 2017-02-22
KR20140046455A (ko) 2014-04-18
WO2013024629A1 (ja) 2013-02-21
JP5790287B2 (ja) 2015-10-07
US9178700B2 (en) 2015-11-03
AU2012296044A1 (en) 2014-01-30
TWI511517B (zh) 2015-12-01

Similar Documents

Publication Publication Date Title
JP5736816B2 (ja) 認証装置、認証方法、プログラム、及び署名生成装置
WO2013031533A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US9276735B2 (en) Information processing apparatus, signature generation apparatus, information processing method, signature generation method, and program
TWI511517B (zh) Information processing apparatus, information processing method, program and recording medium
US10122531B2 (en) Information processing apparatus, information processing method, and recording medium
US10075299B2 (en) Information processing apparatus, signature providing method, signature verifying method, program, and recording medium
JPWO2013129084A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5790286B2 (ja) 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム
US9184914B2 (en) Information processing apparatus and information processing method
EP2752836A1 (en) Information processing device, signature generation device, signature verification device, information processing method, signature generation method, and signature verification method
US9490978B2 (en) Information processing apparatus and information processing method
KR20140054059A (ko) 정보 처리 장치, 정보 처리 방법, 프로그램 및 기록 매체
JP2013042317A (ja) 情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees