JP4181724B2 - 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 - Google Patents
証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 Download PDFInfo
- Publication number
- JP4181724B2 JP4181724B2 JP2000059091A JP2000059091A JP4181724B2 JP 4181724 B2 JP4181724 B2 JP 4181724B2 JP 2000059091 A JP2000059091 A JP 2000059091A JP 2000059091 A JP2000059091 A JP 2000059091A JP 4181724 B2 JP4181724 B2 JP 4181724B2
- Authority
- JP
- Japan
- Prior art keywords
- commitment
- string
- shuffle
- encryption
- response
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
本発明は、匿名通信路の構成などに使われる、入出力暗号文の一対一の対応関係を秘匿しつつ一対一の対応の存在を保証する再暗号シャッフル技術および再暗号シャッフル検証技術に関する。
【0002】
【従来の技術】
[従来の技術(1)]
従来の証明付再暗号シャッフルの技術について、例えば特開平08-263575号公報(「文献1」という)の記載が参照される。図1に、該文献1に記載される構成を示す。なお、本願添付図面中で、合流する矢印は、矢印の元の情報が、全て集まって矢印の先へ送られることを意味し、分岐する矢印は矢印の元の情報全てまたは一部が、それぞれの矢印の先へ送られることを意味する。また破線は使用する入力文列生成法に依存することを示す。
【0003】
図1において、160個ある疑似出力暗号文列は零知識証明のコミットメントである。挑戦値は、入出力暗号文とコミットメントより生成して、応答は挑戦値のビット値に応じて実線または点線の矢印で示される入力暗号文列または出力暗号文列から疑似出力暗号文列への写像の明示である。
【0004】
図1に示すように、複数のElgamal入力暗号100の順序を並び替えて再び暗号化して出力する手法が紹介されている。このような処理を、「暗号シャッフル」という。この処理が正当であることを保証する為に同文献では以下の手法が紹介されている。並べ替えと再暗号の秘密乱数を毎回異なるものにして、再暗号シャッフルと同様の操作を安全変数(約160)の回数繰り返して疑似出力暗号文列を出力し、これを正当性証明のコミットメントとする。そしてこれら入出力暗号文とコミットメントのハッシュ値を挑戦値105として生成する。
【0005】
この挑戦値のビット列を上から順に読み、ビットが“1”の時は入力暗号文列から、“0”の時は出力暗号文列からの並び替え(並び替えを表す写像)と再暗号化(再び暗号化した時に使ったの乱数)の明示を応答106とする。
【0006】
以上のコミットメント、挑戦値、応答を再暗号シャッフルの証明文として出力する。以上においてハッシュ値のビット値に応じて対応関係を明示する方法をCut&Choose(カット・アンド・チューズ)法と言う。
【0007】
[従来の技術(2)]
他の従来技術としては、阿部が、1999年電子情報通信学会情報セキュリティ技術報告書で発表した、「AMix-network on Permutation Networks」(「文献2」という)が参照される。この文献2では、例えば図2に示すように、一対の入力暗号文の置換200を繰り返して、全体として複数の入力暗号文の並び替えを実現する。各入力暗号文の置換の証明を、Cut&Choose法でない方法で構成することにより、ある数より小さい入力暗号文数の証明付再暗号シャッフルとしては効率の向上を達成している。すなわち、個々の入力暗号文を置換することによって入力暗号文列全体の並び替えを実現している。個々の置換の証明は効率の良いものであるが、置換を多くそろえる必要がある。
【0008】
【発明が解決しようとする課題】
しかしながら、上記した従来の技術は下記記載の問題点を有している。
【0009】
従来の技術(1)においては、コミットメントの生成のために安全変数(約160)の回数暗号シャッフルしなければならない。一回の再暗号シャッフルは、入力暗号文の数の2倍の冪乗剰余演算を行わねばならず、計算量が多い。
【0010】
また検証は、コミットメントを生成するのと同数の冪乗剰余演算を行わねばならず、計算量が多い。
【0011】
次に従来の技術(2)においては、一対の入力暗号文の置換とその証明のコミットメントは、合わせて、8回の冪乗剰余演算が必要である。
【0012】
この一置換当りの計算量は、従来の技術(1)の2入力暗号文あたりの計算量(=320)と比較すると小さいものの、入力暗号文全体のどのような並び替えでも実現できる回数にわたる一対の入力暗号文の置換が必要とされており、この数は、入力暗号文の数をnとすると、n logn-n+1である。
【0013】
このため、入力暗号文の数が増大すると、計算量が多くなる。
【0014】
したがって、本発明は、上記問題点に鑑みてなされたものであって、その目的は、入力暗号文数に依存せずに証明の計算量の短縮を図る方法及びシステム並びに記録媒体を提供することにある。
【0015】
本発明の他の目的は、検証処理を、証明同様に計算量の短縮を図る方法及びシステム並びに記録媒体を提供することにある。これ以外の本発明の目的、特徴、利点等は以下の実施の形態の記載から、当業者には直ちに明らかとされるであろう。
【0016】
【課題を解決するための手段】
前記目的を達成する本発明による証明付再暗号シャッフル方法は、複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力し、前記暗号文に対して、順番の並び替えと、前記公開鍵による再暗号化を施した出力暗号文列と、上記処理に関する証明文である再暗号シャッフル証明文とを出力する証明付再暗号シャッフル方法において、前記入力文列から出力暗号文列を生成するとともに、前記入力文列から出力暗号文への変換情報の保有に関するコミットメント(「変換情報保有コミットメント」という)を生成する変換情報保有コミットメント生成ステップと、前記変換の満たす条件に関するコミットメント(「変換条件コミットメント」という)を生成する、変換条件コミットメント生成ステップと、再暗号シャッフル情報と挑戦値とから応答を生成する、応答生成ステップと、を含み、前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを前記再暗号シャッフル証明文として出力し、前記再暗号シャッフル情報は、入力暗号文の並び替え方と、再暗号化に用いた変数と、乱数とからなる、ことを特徴とする。
【0017】
また本発明に係る再暗号シャッフル検証方法は、入力文列と、出力暗号文列と、再暗号シャッフル証明文が入力され、受理または不受理である検証結果を出力する再暗号シャッフル検証方法において、前記入力文列と、前記出力暗号文列と、変換情報保有コミットメントと、応答と、挑戦値とより、前記入力文列から前記出力暗号文列への変換情報を保有していることを検証する、変換情報保有検証ステップと、変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列への変換の満たす条件を検証する、変換条件検証ステップと、を含み、前記変換情報保有検証処理と前記変換条件検証処理の検証がともに受理されたら、再暗号シャッフル検証結果として受理を、それ以外は不受理を出力する、ことを特徴とする。
【0018】
本発明の証明付再暗号シャッフル装置は、複数の入力暗号文と一又は複数の公開鍵とからなる入力文列と、入力暗号文の並び替え方と、再暗号化に用いた変数と、乱数とを含む再暗号シャッフル情報と、を入力し、前記暗号文の順番を並び替え、前記公開鍵による再暗号化を施した出力暗号文列と、再暗号シャッフル証明文とを出力する証明付再暗号シャッフル装置であって、前記入力文列から出力暗号文列を生成するとともに、前記入力文列から出力暗号文への変換情報の保有に関するコミットメント(「変換情報保有コミットメント」という)を生成する変換情報保有コミットメント生成部と、前記変換の満たす条件に関するコミットメント(「変換条件コミットメント」という)を生成する、変換条件コミットメント生成部と、再暗号シャッフル情報と挑戦値とから応答を生成する応答生成部と、を備え、前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを前記再暗号シャッフル証明文として出力する。
【0019】
本発明の再暗号シャッフル検証装置は、複数の入力暗号文と一又は複数の公開鍵とからなる入力文列と、入力暗号文の並び替え方と、再暗号化に用いた変数と、乱数とを含む再暗号シャッフル情報と、を入力し、前記暗号文の順番を並び替え、前記公開鍵による再暗号化を施した出力暗号文列と、再暗号シャッフル証明文とを出力する証明付再暗号シャッフル装置に入力される前記入力文列と、前記再暗号シャッフル装置から出力される前記出力暗号文列と、前記再暗号シャッフル装置から出力される前記再暗号シャッフル証明文とを入力とし、受理または不受理である検証結果を出力する再暗号シャッフル検証装置であって、前記入力文列と、前記出力暗号文列と、変換情報保有コミットメントと、応答と、挑戦値とより、前記入力文列から前記出力暗号文列への変換情報を保有していることを検証する、変換情報保有検証部と、前記変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列への変換の満たす条件を検証する、変換条件検証部と、を備え、前記変換情報保有検証部と前記変換条件検証部における検証がともに受理された場合に、再暗号シャッフル検証結果として受理を出力し、それ以外は不受理を出力する。
【0020】
また本発明に係る入力文列生成方法は、証明付再暗号シャッフル装置に入力する入力文列を、その一部を疑似乱数または、公開鍵と入力暗号文列とに疑似乱数による変換を受けた数値として生成する。本発明においては、入力暗号文列と公開鍵と疑似乱数を合わせて入力文列としてもよい。
【0021】
本発明に係る記録媒体は、複数の入力暗号文と一又は複数の公開鍵とからなる入力文列と、入力暗号文の並び替え方と、再暗号化に用いた変数と、乱数とを含む再暗号シャッフル情報と、を入力し、前記暗号文に対して、順番の並び替えと、前記公開鍵による再暗号化を施した出力暗号文列と、再暗号シャッフル証明文とを出力する証明付再暗号シャッフル装置であって、
(a)前記入力文列から出力暗号文列を生成するとともに、前記入力文列から出力暗号文への変換情報の保有に関するコミットメント(「変換情報保有コミットメント」という)を生成する変換情報保有コミットメント生成処理と、
(b)前記変換の満たす条件に関するコミットメント(「変換条件コミットメント」という)を生成する、変換条件コミットメント生成処理と、
(c)再暗号シャッフル情報と挑戦値とから応答を生成する応答生成処理と、(d)前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを前記再暗号シャッフル証明文として出力する処理、
の前記(a)乃至(d)の処理を再暗号シャッフル装置を構成するコンピュータで実行させるためのプログラムを記録している。
【0022】
本発明に係る記録媒体は、入力文列と、前記証明付再暗号シャッフル装置から出力される前記出力暗号文列と、前記証明付再暗号シャッフル装置から出力される、前記入力文列から前記出力暗号文への変換情報の保有に関する変換情報保有コミットメントと、前記変換の満たす条件に関する変換条件コミットメントと、前記応答とからなる再暗号シャッフル証明文とを入力とし、受理または不受理である検証結果を出力する再暗号シャッフル検証装置であって、
(a)前記入力文列と、前記出力暗号文列と、前記変換情報保有コミットメントと、応答と、挑戦値とより、前記入力文列から前記出力暗号文列への変換情報を保有していることを検証する、変換情報保有検証処理と、
(b)前記変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列への変換の満たす条件を検証する、変換条件検証処理と、
(c)前記変換情報保有検証処理と前記変換条件検証処理がともに受理された場合に、再暗号シャッフル検証結果として受理を出力し、それ以外は不受理を出力する処理、
の前記(a)乃至(c)の処理を再暗号シャッフル検証装置を構成するコンピュータで実行させるためのプログラムを記録している。
【0023】
[発明の概要]
本発明は、再暗号シャッフルを、より一般的な変換の一種として表現し、この変換の情報を保有していることの証明と、この変換の満たす条件の証明との二つを合わせて、再暗号シャッフルの証明を構成している。
【0024】
これら二種の証明それぞれは、従来の再暗号シャッフルの証明よりも単純であり、入力暗号文数に依存せずに、証明の計算量が短縮されたものであり、また、これらを合わせた再暗号シャッフルの証明でも、この優位性が保たれる。
【0025】
変換の情報を保有していることの証明は、出力暗号文列と変換情報保有コミットメントを生成した後、挑戦値から上記変換と、変換情報保有コミットメント生成に使用する乱数とに依存して、応答を生成することにより行う。
【0026】
ここで、応答と挑戦値の関係に変換が反映されるため、変換の満たす条件から挑戦値に依存せずに、応答と挑戦値の満たす関係式が存在する。この関係式をコミットして変換の満たす条件を証明する。
【0027】
証明すべき変換の満たす条件として、再暗号シャッフルを表わす変換の満たす条件を選べば、両証明をもってして、再暗号シャッフルの証明を構成することができる。
【0028】
【発明の実施の形態】
本発明の上記および他の目的、特徴および利点を明確にすべく、以下添付した図面を参照しながら本発明の実施の形態につき詳細に説明する。
【0029】
最初に前提となる事柄について述べる。本発明において用いられる暗号方法は、確率暗号である公開鍵暗号系に属する暗号方法である。例えば、Elgamal暗号、楕円暗号、代数曲線暗号などもこれに含まれる。
【0030】
本発明に係る証明付再暗号シャッフル方法は、入力暗号文の作成者全員が証明付再暗号シャッフルを行う証明者に対して、入力暗号文の制作に用いた秘密変数を漏らさなければ、証明者は再暗号シャッフル証明文を偽造できないものである。ただし、本発明に係る入力文列生成方法を併せて用いることで、入力暗号文の作成者が証明者と共謀した場合においても、証明文の偽造を防止する、ことができる。
【0031】
本発明に係る証明付再暗号シャッフル方法は、変換情報保有コミットメントを生成する変換情報保有コミットメント生成処理と、変換条件コミットメントを生成する変換条件コミットメント生成処理と、応答や準応答を生成する応答生成処理とよりなり、証明文はこの上記3種類の処理より生成されるコミットメントと応答(応答および準応答)とよりなる。
【0032】
本発明に係る再暗号シャッフル検証方法は、入力文列と出力暗号文列と変換情報保有コミットメントと応答とから変換の情報を保有していることを検証する変換情報保有検証処理と、変換条件コミットメントと応答と準応答とから変換の満たす条件を検証する変換条件検証処理とよりなる。
【0033】
[変換情報保有コミットメント生成処理]
証明付再暗号シャッフル方法を構成する変換情報保有コミットメント生成処理について説明する。
【0034】
変換情報保有コミットメント生成処理は、入力文列から再暗号シャッフルに対応する変換を行って出力暗号文列を生成し、入力文列から乱数による一般の変換を行って変換情報保有コミットメントを生成する。
【0035】
また入力文列に入力暗号文列と公開鍵以外が含まれている場合には、それから再暗号シャッフルに対応する変換を行ったものも変換情報保有コミットメントとする。
【0036】
応答を複数個生成する場合には、異る乱数による一般の変換を、複数個行い、変換情報保有コミットメントを、複数組生成する。
【0037】
例えば、この変換を、出力暗号文列および変換情報保有コミットメントを、入力文列を基底として、再暗号化に用いた変数および乱数および並び替えに対応する値とを表現とした表現値として生成できる。
【0038】
また、この表現とは、基底とある表現値を対応付けるものであり、かつ、基底と表現値から表現を計算することが計算量的に困難となる方法である必要があり、この表現方法に、冪乗剰余を用いることができる。
【0039】
例えば、
入力暗号文列を、g[i,Γ];i=1,...,n;Γ=0,...,l、
公開鍵を、g[i,Γ];i=n+1,...,n+m;Γ=0,...,l、
それ以外の入力文列の成分を、g[i,Γ];i=1,...,n+m;Γ=l+1,...,l'、
一般の変換に対応する乱数(以下「情報隠蔽因子」と呼ぶ)を、A[μ,j];μ=1,...,n+m,j=n+1,...,n+m'、
再暗号化の変数を、A[i,j];i=n+1,...,n+m,j=1,...,n、
並び替えに対応する変換を表す変数を、A[i,j];i,j=1,...,n
として、
出力暗号文列 g''[i,Γ];i=1,...,n;Γ=1,...,lを、
g''[i,Γ]=Πj=1 ng[j,Γ]A[j,i]Πj=n+1 n+mg[j,Γ]A[j,i] /F* p i=1,...,n Γ=1,...,l
と生成し、変換情報保有コミットメントを、
g''[i,Γ]=Πj=1 ng[j,Γ]A[j,i]Πj=n+1 n+mg[j,Γ]A[j,i] /F* p i=n+1,...,n+m' Γ=1,...,l
と生成し、入力文列にg[i,Γ];i=1,...,n+m;Γ=l+1,...,l'が含まれた場合の変換情報保有コミットメントを、
g''[i,Γ]=Πj=1 ng[j,Γ]A[j,i]Πj=n+1 n+mg[j,Γ]A[j,i] /F* p i=1,...,n+m' Γ=l+1,...,l'
と生成できる。
【0040】
また、これらをまとめて
g''[i,Γ]=Πj=1 n+mg[j,Γ]A[j,i] /F* p i=1,...,n+m' Γ=1,...,l'
と記述できる。
【0041】
この時、g''[i,Γ];i=1,...,n+m; Γ=1,...,lを「出力文列」と呼ぶ。ここで、g''[μ,Γ]が表現値で、A[μ,ν]が表現で、g[μ,Γ]が基底である。
【0042】
変換情報保有コミットメントを応答の数に応じて、複数組生成する場合には、異るA[μ,j];μ=1,...,n+m,j=n+1,...,n+m'を複数用意して生成する。
【0043】
この変換情報保有コミットメントと、入力文列と出力暗号文列および挑戦値に対応する応答を証明者が検証式を満たすように生成できることが、入力文列から出力暗号文列への変換の知識を有していることの証明となる。
【0044】
[変換条件コミットメント生成処理]
証明付再暗号シャッフル方法を構成する変換条件コミットメント生成処理について説明する。
【0045】
応答と挑戦値の関係に、入力文列から出力文列および変換情報保有コミットメントへの変換の満たす条件が反映される。そのため、挑戦値に依存せずに成り立つ、応答と挑戦値の関係式が存在する。この関係式をこの変換の満たす条件を表現するものとしてコミットしたものを変換条件コミットメントとする。
【0046】
応答を複数個生成する場合は、知識の隠蔽因子の違いを関係式に反映させる。例えばこの関係式を、応答と挑戦値の多項式である恒等式とし、その係数をコミットするか、あるいはこの多項式の一部の項を準応答として、準応答の係数をコミットして変換条件コミットメントとできる。また挑戦値決定後に応答と準応答を生成すればよい。ただし、前記準応答は、3ステップの対話証明の応答の一部であるが、再暗号シャッフル検証における変換情報保有検証処理には使用されないため、分類されて、「準応答」と別名で呼ばれる。
【0047】
応答の各成分は挑戦値の多項式であるが、一部のこの多項式の、一部の項の各2乗の和と、挑戦値の成分の一部の各2乗の和とが、挑戦値によらずに等しくなる関係を内包しているものや、上記にて各3乗の和とが、挑戦値によらずに等しいくなる関係を内包している恒等式を実施例では用いている。
【0048】
これに対応する実施例における恒等式は、挑戦値c[i]、応答r[i]を用いて、
Σi=1 n(Σj=1 nA[i,j]c[j])2=Σi=1 nc[i]2 /Fq
や、
Σi=1 n(Σj=1 nA[i,j]c[j])3=Σi=1 nc[i]3 /Fq
の関係を内包したものを用いている。
【0049】
なお、
Σj=1 nA[i,j]c[j] /Fq i=1,...,n
は、r[i]を構成する挑戦値の多項式
Σj=1 n+m'A[i,j]c[j] /Fq i=1,...,n
の一部である。
【0050】
例えばこれらの関係式は、入力文列から出力暗号文列および変換情報保有コミットメントへの変換を定義している変数A[μ,ν];μ=0,...,n+m;ν=0,...,n+m'におけるA[i,j];i,j=0,...,nが、正規直交行列であることや、準置換行列であることの性質を反映した関係式である。
【0051】
「置換行列」とは、正方行列で、どの行どの列にもただ一つだけ0でない成分が存在し、その値が1である行列のことである。正規直交行列でありかつ準置換行列である行列は置換行列である。
【0052】
「準置換行列」とは、上記置換行列の1である成分を、1の3乗根のいずれかで置き換えたものとする。ただし、それぞれの成分毎に異なる1の3乗根で置き換えを行っても良い。この時、置換行列に対応するの変換は再暗号シャッフルに対応している。すなわち、この変換条件コミットメント生成処理により変換の満たす条件を証明することによって変換が再暗号シャッフルであることを証明できる効果がある。
【0053】
例えば、上記関係式を内包した恒等式の例として、
Σi=1 nr[i]r[i]+Σμ =1 n+mρ'[μ]r[μ] /Fq
=Σi=1 nc[i]c[i]+Σμ =1 n+m'φ[μ]c[μ] /Fq
や、
Σi=1 nr[i]r[i]r[i]+ρ''r'+Σμ =1 n+mρ'[μ]r[μ] /Fq
=Σi=1 nr[i]r[i]r[i]+ρ''(λ[0]+Σi=1 nλ[i]r[i]r[i])+Σμ =1 n+mρ'[μ]r[μ] /Fq
=Σi=1 nc[i]c[i]c[i]+Σi=1 nψ[i]c[i]c[i]+Σμ =1 n+m'φ[μ]c[μ] /Fq
があげられる。
【0054】
ここでは、変換の満たす条件に対応する関係式を内包するように恒等式の係数ρ'',ρ'[i],φ[μ],ψ[i]を求めなければならない。
【0055】
また恒等式の一部
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
を準応答として、準元係数λ[μ];μ=0,...,nをコミットする場合もある。
【0056】
変換条件コミットメントとして、恒等式の係数または、それをコミットしたものと、準元係数をコミットしたものを生成する。実施例では恒等式の一部を、
v,vφ [0] /F* p
のようにコミットし、準元係数を
u,uλ [ μ ] /F* p μ=0,...,n
のようにコミットする。
【0057】
恒等式の係数をコミットすることと、準応答を用いることには、検証者が応答とコミットメントから再暗号シャッフルを特定するための情報を減じる効果がある。
【0058】
[応答生成処理]
証明付再暗号シャッフル方法を構成する応答生成処理について説明する。
【0059】
応答生成処理では、変換情報保有コミットメントと変換条件コミットメントと入力文列と出力暗号文列を挑戦値生成関数に入力して挑戦値をえる。
【0060】
ここで、「挑戦値生成関数」とは、出力から入力を求めることや、異る出力成分間の関係を意図して入力を決定することが計算量的に困難である関数である。これにより挑戦値が入力とコミットメントと出力とが決定後に、証明者の意図を入れずに生成されたことが保証できる。
【0061】
挑戦値生成関数を用いない場合には、検証者が、入力と出力とコミットメントとが示された後に無作為に選ぶことで挑戦値を得る。
【0062】
挑戦値から、再暗号シャッフル方法と情報隠蔽因子とを反映した応答や準応答を生成する。
【0063】
応答や準応答を複数個生成する場合は、各応答は異る情報隠蔽因子を反映させる。
【0064】
例えば、出力暗号文列および変換情報保有コミットメントを基底として挑戦値を表現とする表現値と、入力文列を基底として応答を表現とする表現値が等しくなるような応答を生成すればよい。
【0065】
例えば、応答r[μ];μ=1,n+mは、挑戦値c[μ];μ=1,...,n+m'を用いて、
r[μ]=Σν =1 n+m'A[μ,ν]c[ν] /Fq μ=1,...,n+m
を、準応答として、
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
を生成する。
【0066】
[変換情報保有検証処理]
再暗号シャッフル検証方法を構成する変換情報保有検証処理について説明する。
【0067】
入力文列と出力暗号文列と変換情報保有コミットメント間の関係を、応答と挑戦値の関係が反映していることを検証する。例えば、出力暗号文列および変換情報保有コミットメントを基底として挑戦値を表現とする表現値と、入力文列を基底として応答を表現とする表現値が等しくなるような応答と挑戦値の関係が存在することを確認する。
【0068】
例えば、挑戦値c[i];i=1,...,n+m'と応答r[i];i=1,...,n+mが、
Πi=1 n+m'g''[i,Γ]c[i]=Πi=1 n+mg[i,Γ]r[i] /F* p Γ=1,...,l'
が成り立つことを確認する。
【0069】
挑戦値は、証明文生成に用いた値と同じ値を用いる。これは、挑戦値生成関数を用いる場合は、挑戦値生成関数への入力が証明文と入出力に存在するので可能である。
【0070】
[変換条件検証処理]
再暗号シャッフル検証方法を構成する変換条件検証処理について説明する。
【0071】
変換条件コミットメントより、挑戦値と応答が変換の満たす条件を反映した関係を満たしていることを検証する。
【0072】
例えば、変換の満たす条件を反映した関係を内包する恒等式に、応答と挑戦値または、応答と挑戦値と準応答を代入して、恒等式が成立することを確認している。また準応答がある場合、応答と準応答と準元係数をコミットしたものより、準応答の正当性も確認する。
【0073】
例えば、変換条件コミットメントとして恒等式の係数ρ'',ρ'[μ],φ[μ],ψ[i]に対して、挑戦値c[i];i=1,...,n+m'と、応答r[i];i=1,...,n+mが、
恒等式
Σi=1 nr[i]r[i]+Σμ =1 n+mρ'[μ]r[μ]=Σi=1 nc[i]c[i]+Σμ =1 n+m'φ[μ]c[μ] /Fq
や、恒等式
Σi=1 nr[i]r[i]r[i]+ρ''r'+Σμ =1 n+mρ'[μ]r[μ] /Fq
=Σi=1 nr[i]r[i]r[i]+ρ''(λ[0]+Σi=1 nλ[i]r[i]r[i])+Σμ =1 n+mρ'[μ]r[μ] /Fq
=Σi=1 nc[i]c[i]c[i]+Σi=1 nψ[i]c[i]c[i]+Σμ =1 n+m'φ[μ]c[μ] /Fq
が成り立つことを確認し、また準応答の正当性を、
検証式
ur'=u[0]Πi=1 nu[i]r[i]r[i] /F* p
が成り立つことより確認する。
【0074】
また恒等式の係数の一部がコミットされている場合は、代わりに、
v^{Σi=1 nr[i]r[i]+Σμ =1 n+mρ'[μ]r[μ]} /F* p
=v^{Σi=1 nc[i]c[i]+Σμ =1 n+m'φ[μ]c[μ]} /F* p
や、
v^{Σi=1 nr[i]r[i]r[i]+ρ''r'+Σμ =1 n+mρ'[μ]r[μ]} /F* p
=v^{Σi=1 nr[i]r[i]r[i]+ρ''(λ[0]+Σi=1 nλ[i]r[i]r[i])+Σμ =1 n+mρ'[μ]r[μ]} /F* p
=v^{Σi=1 nc[i]c[i]c[i]+Σi=1 nψ[i]c[i]c[i]+Σμ =1 n+m'φ[μ]c[μ]} /F* pが成り立つことを確認する。上式で、記号「^」は指数演算を示す。
【0075】
[入力文列生成方法]
本発明に係る証明付再暗号シャッフル方法は、応答と挑戦値の関係に、入力文列から出力暗号文列と変換情報保有コミットメントへの変換を反映する必要があった。そのためには、挑戦値が与えられたときに生成できる応答が制限されていなければならない。しかし、入力暗号文の生成情報を証明者が知っている場合この制限を破れる可能性がある。そしてこれを阻止するための方法が入力文列生成方法である。
【0076】
本発明に係る入力文列生成方法は、疑似乱数を生成し、これにより入力文列を変換するか、この疑似乱数を入力文列に加えることにより、入力暗号文の生成者にさえ入力文列を決定できない入力文列を生成する。
【0077】
[入力文列生成方法(1)]
疑似乱数を生成して、入力暗号文列と公開鍵にくわえて入力文列とする。この時疑似乱数を決められた入力より決定して再現性を保証する。
【0078】
例えば、入力暗号文列を、g[i,Γ];i=1,...,n;Γ=0,...,l、
公開鍵をg[i,Γ];i=n+1,...,n+m;Γ=0,...,l
としたとき、決まった入力から疑似乱数を、(n+m)×(l'-l) ;l'-l≧1個生成し、これを、
g[i,Γ];i=1,...,n+m;Γ=l+1,...,l'として、
入力文列を、
g[i,Γ]i=1,...,n+m;Γ=1,...,l'
とする。
【0079】
[入力文列生成方法(2)]
入力暗号文列を構成する各暗号文と公開鍵を、入力暗号文列と公開鍵を入力として生成した公開鍵列を構成する各公開鍵で再暗号化して、これをあわせて入力文列とする。
【0080】
ここで「公開鍵列」とは、入力から疑似乱数を公開鍵列を構成する公開鍵の数と同数一意的に生成し、この各乱数が各公開鍵のいずれかの要素となるようにしたものをいう。
【0081】
例えば、公開鍵列を、g'[i,Γ];i=1,...,n+m;Γ=1,...,lとし、
入力暗号文列を、η[i,Γ];i=1,...,n;Γ=0,...,l、
公開鍵を、η[i,Γ];i=n+1,...,n+m;Γ=0,...,lとしたとき、
入力文列 g[i,Γ];i=1,...,n+m;Γ=l+1,...,lを、検証者にも明らかな任意の正整数s[i];i=1,...,n+mを用いて、
g[i,Γ]=η[i,Γ]g'[i,Γ]s[i] /F* p
と表す。s[i]として、例えばs[n+m]=0,s[j]=1;j=1,...,n+m-1を選ぶ。
【0082】
[入力文列生成方法(3)]
各入力平文を公開鍵列を構成する対応する各公開鍵を用いて暗号化し、この公開鍵を用いて暗号化したことの証明をする。この証明文が受理された暗号文と、公開鍵をあわせて入力文列とする。
【0083】
例えば、公開鍵列を、g'[i,Γ];i=1,...,n+m;Γ=0,1とし、
平文を、m[i];i=1,...,n;Γ=0,1
としたとき、入力暗号文を、
η[i,0]=g'[i,0]s[i] /F* p i=1,...,n
η[i,1]=m[i]g'[i,1]s[i] /F* p i=1,...,n
と生成し、合わせて、
η[i,0]=g'[i,0]s[i] /F* p となるs[i]の知識を証明することで、g'[i,0]を使って暗号化した証明文とする。
【0084】
この証明文が検証された暗号文より、入力文列を
g[i,Γ]=η[i,Γ] i=1,...,n;Γ=0,1
g[i,Γ]=g'[i,Γ] i=n+1,...,n+m;Γ=0,1
とする。
【0085】
[証明付公開鍵列生成方法]
与えられた入力から一意的に疑似乱数列を発生させ、その各乱数から与えられた手続きにより作られた値を成分に持ち、かつ同じ秘密鍵を持つ公開鍵を、各乱数に対応して複数個生成する。これと同時に、全ての公開鍵が同じ秘密鍵を持つことの証明文を生成する。
【0086】
複数人で秘密鍵を分散所持している場合は、各人が各秘密鍵で分散して公開鍵列を生成した後、それらを合わせて統合した公開鍵列を生成する。
【0087】
例えば、疑似乱数生成器Hash(*)が与えられ、入力*から出力を得る。そして出力をまた入力することを繰り返すことにより、再帰的に、疑似乱数列 を生成する。この数列の各値をk乗してできた数列から0,1を除いて得られるn+m個の値よりなる数列g'[i,0];i=1,...,n+mの各値を成分に持ち、同じ秘密鍵を持つ公開鍵g'[i,Γ];i=1,...,n+m;Γ=0,...,lを各乱数に対応して生成する。
【0088】
ここで秘密鍵をx[Γ];Γ=1,...,lとすると、公開鍵列は、
g'[i,0]=g'[i,0]
g'[i,Γ]=g'[i,0]x[ Γ ] /F* p i=1,...,n+m;Γ=1,...,l
と表せる。
【0089】
上記公開鍵列を正しく生成したことの証明文を生成する。
【0090】
秘密鍵を分散所持している場合、各自で分散秘密鍵に対応する公開鍵列を生成し、最後にそれらを合わせて秘密鍵に対する公開鍵列を生成する。
【0091】
【実施例】
本発明の実施例について図面を参照して説明する。以下の実施例では、Elgamal暗号を使った例に即して説明する。図中では、略語が使用されており、例えば保有コミットとは変換情報保有コミットメント、条件コミットとは変換条件コミットメント、恒等式コミットとは恒等式係数のコミットメント、準応答コミットとは準応答の係数のコミットメント、保有処理とは変換情報保有コミットメント生成処理、条件処理とは変換条件コミットメント生成処理、応答処理とは応答生成処理、保有検証処理とは変換情報保有検証処理、条件検証処理とは変換条件検証処理のことをいう。
【0092】
図3は、本発明に係る証明付再暗号シャッフル装置および再暗号シャッフル検証装置の実施例における入出力について示す図である。
【0093】
図3を参照すると、本発明の一実施例においては、複数の入力暗号文322と公開鍵323からなる入力文列300と、並び替え方を決めるシャッフル行列307と、再暗号化の変数である再暗号秘密乱数305と、変換情報保有コミットメントを生成するための乱数である情報隠蔽因子306と、からなる再暗号シャッフル行列304と、恒等式の係数の種となる元係数308と、恒等式の一部である準応答319の係数である準元係数309と、これらをコミットするための係数基底310とよりなる変換条件コミットメントを生成するための諸定数と、を含む再暗号シャッフル情報303と、が、証明付再暗号シャッフル装置312に入力され、出力暗号文列313と再暗号シャッフル証明文314が出力される。
【0094】
再暗号シャッフル証明文314は、恒等式の係数、または、それをコミットしたものと準応答の係数をコミットしたものとを含む変換条件コミットメント316と、変換情報保有コミットメント315と、応答317と、準応答318とを含む。
【0095】
これら入力文列300と、出力暗号文列313と、再暗号シャッフル証明文314とが、再暗号シャッフル検証装置319に入力され、受理または不受理の検証結果320が出力される。
【0096】
上記証明付再暗号シャッフル装置は、証明者が入力暗号文列の生成情報を知らない時のみに、再暗号シャッフル証明文を偽造できない。この偽造をいかなる場合にも阻止するために加える方法が、入力文列生成方法であり、3種類の入力文列生成方法の実施例を挙げる。また、このうち二つの入力文列生成方法で使用される証明付公開鍵列生成方法についても説明する。
【0097】
以下では、証明付再暗号シャッフル方法と、入力文列生成方法と、証明付個別公開鍵列生成方法に共通して、前提となる事項から順に説明していく。
【0098】
[Elgamal領域変数]
まずElgamal領域変数について説明する。
【0099】
この変数は、二つの素数p,qであり、これらは、
p=kq+1
なる関係を満たす。ここで、kは整数である。
【0100】
[挑戦値生成関数と基底生成関数]
挑戦値生成関数と基底生成関数について説明する。これらは順に、
Hash[μ;μ=0,...,n](*),Hash'[μ;μ=0,...,n](*)
とする。
【0101】
両関数の添字についているギリシャ文字μは0からnまでの値をとり、引数「*」を入力すると、それぞれn+1成分のベクトルを出力する。
【0102】
挑戦値生成関数の出力は、n+1個の1,0でないq以下の整数、
基底生成関数の出力は、n+1個の1,0でないp以下の整数で位数qのF* pの元(位数p-1の乗法群の位数q部分群の元)である整数である。
【0103】
また、これらの関数は入出力間や出力の異なる成分間の関係を計算量的に意図して引数を決定できない関数とする。
【0104】
基底生成関数の具体的な構成方法の例としては、|p|ビットを出力するハッシュ 関数Hash(*)を一つ用意して、
Hash(*)
を計算し、次に、この計算結果をハッシュ関数の引数に入力してさらに計算結果を得る。これを、繰り返すことにより、再帰的に、数列h[0],h[1],h[2],...を生成し、その各数値をk乗をした数列h[0]k,h[1]k,h[2]k,...を求める。この中から順に、1,0でないものをn+1個選んでいく。
【0105】
挑戦値生成関数の場合は、|q|ビットを出力するハッシュ関数を用いて数列を求め、その中から順に1,0でないものをn+1個選んでいく(この場合、k乗する操作は必要無い)。
[公開鍵]
公開鍵について説明する。公開鍵は、二つの数値η[0,0],η[0,1]でありη[0,0]は位数qのF* pの元とする。η[0,1]は秘密鍵xを用いて、
η[0,1]=η[0,0]x /F* p
と計算される。
【0106】
[入力暗号文]
入力暗号文について説明する。平文を、p以下で位数qのF* pの元から選び、これをMとする。これから疑似乱数生成器で生成した秘密乱数rを用いて、入力暗号文を、
(η[0,0]r,M η[0,1]r) /F* p
と計算する。
【0107】
[再暗号化]
再暗号化について説明する。Elgamal暗号文(η[0,0]r,M η[0,1]r) /F* pが与えられた時、任意の乱数sを選んで、
(η[0,0]r,Mη[0,1]r)→(η[0,0]rη[0,0]s,Mη[0,1]rη[0,1]s) /F* p
=(η[0,0]r+s,Mη[0,1]r+s) /F* p
なる変換を行うことを「再暗号化」という。上記変換はrを知らなくても実行できる。またこの変換により再暗号化された暗号文の復号結果はかわらない。この時の乱数sを、「再暗号秘密乱数」と呼ぶ。
【0108】
[置換行列]
置換行列について説明する。「置換行列」とはどの行にもまたどの列に対しても0でない成分が唯一存在し、1の値をとる。ただし本実施例ではFq上で考える。下に例をあげる。
【0109】
0 0 0 1 0
1 0 0 0 0
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0 /Fq
【0110】
[準置換行列]
準置換行列ついて説明する。「準置換行列」とは、置換行列の1である成分を、F* p上の3個ある1の3乗根のいずれかで置き換えたものと定義する。これらをw,w2,1として下に準置換行列の例をあげる。
【0111】
0 0 0 w2 0
w 0 0 0 0
0 w2 0 0 0
0 0 0 0 1
0 0 w 0 0 /Fq
【0112】
[再暗号シャッフル]
再暗号シャッフルについて説明する。入力暗号文列η[i,0],η[i,1];i=1,...,nの順序を入れ替えて、暗号文列η'[i,0],η'[i,1];i=1,...,nを生成し、さらにn個の秘密乱数s[i]:i=1,...,nと、公開鍵η[0,0],η[0,1]を用いて、出力暗号文列g''[i,Γ];i=1,...,n,Γ=0,1を、
g''[i,Γ]=η'[i,Γ]η[0,Γ]s[i] /F* p i=1,...,n,Γ=0,1
と計算する。これが、再暗号シャッフルの出力結果である。これを、「出力暗号文列」と呼ぶ。
【0113】
[再暗号シャッフル行列]
再暗号シャッフル行列について説明する。「再暗号シャッフル行列」とは、n+1行n+1列の行列で、その成分A[μ,ν];μ,ν=0,...,nが、
A[μ,ν]=
A[i,j] i,j=1,...,n シャッフル行列307
A[0,j]∈R j=1,...,n 再暗号秘密乱数305
A[i,0]∈R i=1,...,n 情報隠蔽因子306
A[0,0]∈R 情報隠蔽因子306
であるものである。
【0114】
[再暗号シャッフル行列変換]
再暗号シャッフル行列変換について説明する。これは、入力文列g[μ,Γ]に以下のように作用して、出力文列g''[μ,Γ]を出力する。
【0115】
g''[μ,Γ]=Πν =0 ng[ν,Γ]A[ν,μ] /F* p μ=0,...,n,Γ=0,1
ここで、シャッフル行列が置換行列の場合、出力暗号文列を、g''[i,0],g''[i,1];i=1,...,nとし、展開すると、ある置換(i,j|π(i)=j)に対して、
g''[j,0]=g[i,0]η[0,0]A[0,j] /F* p
g''[j,1]=g[i,1]η[0,1]A[0,j] /F* p
となり、これは再暗号シャッフルの出力となる。
【0116】
またシャッフル行列が準置換行列の場合、準再暗号シャッフルの結果
g''[j,0]=g[i,0]w[i]η[0,0]A[0,j] /F* p
g''[j,1]=g[i,1]w[i]η[0,1]A[0,j] /F* p
を出力する(準再暗号シャッフルとは各出力暗号文を1またはwまたはw2乗すると再暗号シャッフルとなるものと定義する)。ここでw[i];i=1,...,nはFq上の1の三乗根のいずれかをとる。
【0117】
[実施例(1)]
本発明の一実施例をなす証明付再暗号シャッフル方法およびその検証方法について、図4、図5を参照して説明する。以下で、Γ=0,1を取るものとする。
【0118】
再暗号シャッフル情報401として、再暗号シャッフル行列402、係数基底404、元係数403を以下のように準備する。
【0119】
再暗号シャッフル行列402に関しては、まず1からnまでの数を順に並べる。疑似乱数発生器(不図示)をn回使って、n個数列を発生させ、そのi番目の数をn-i+1で割り余りの数を求めπ'(i)とする。
【0120】
iは1からn迄順に、上記並べた数の下からπ'(i)番目の数をπ(i)とし、上記数列からこの数を取り除く作業を行いπ(i);i=1,...,nを決定する。シャッフル行列の第i行目はπ(i)列目の成分のみ値を1とし、その他を0とする。以上のようにして置換行列を生成する。
【0121】
再暗号シャッフル行列のシャッフル行列以外の成分を以下のようにして生成する。まず、疑似乱数発生器により2n+1個のFq上の数を作成し、A[i,0],A[0,j],A[0,0];i,j=1,...,nに割り振る。以上を合わせて再暗号シャッフル行列とする。
【0122】
係数基底404 v、元係数403 r'[0]を生成に関しては、疑似乱数生成器で1,0でないFq上の数を生成し、r'[0]とし、疑似乱数生成器により/F* pの元を生成しF* p上でそのk乗をとり1,0でないものを選び位数qのF* pの元を生成し、vとする。
【0123】
r'[0]∈R Fq ,≠0,1
v∈R F* p ,≠1 ,s.t. vq=1 /F* p
入力暗号文列η[i,0],η[i,1];i=1,...,nと、公開鍵η[0,0],η[0,1]より、入力文列400
g[μΓ];μ=0,...,n;Γ=0,1を、
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ] /F* p i=1,...,n,Γ=0,1
とする。
【0124】
以下、証明付再暗号シャッフル方法を使う。
【0125】
変換情報保有コミットメント生成処理419における再暗号シャッフル行列作用405により、上記暗号シャッフル行列402を入力文列400に以下の様に作用させて、出力文列406 g''[μ,Γ];μ=0,...,n;Γ=0,1を、
g''[μ,Γ]=Πν =0 ng[ν,Γ]A[ ν , μ ] /F* p μ=0,...,n,Γ=0,1
と生成する。
【0126】
ここで、g''[i,Γ];i=1,...,n;Γ=0,1を出力暗号文列407、g''[0,Γ];Γ=0,1を変換情報保有コミットメント408とする。
【0127】
変換条件コミットメント生成処理420における恒等式係数計算409により、元係数403 r'[0]と、再暗号シャッフル行列402と、を用いて、恒等式係数410 φ[μ],r'[0]を、
r'[0]=r'[0]
φ[0]=Σj=1 nA[j,0]A[j,0]+r'[0]A[0,0] /Fq
φ[i]=2Σj=1 nA[j,0]A[j,i]+r'[0]A[0,i] /Fq i=1,...,n
と生成する。
【0128】
さらに、係数基底404 vを用いて、隠蔽処理411により、恒等式係数410 r'[0],φ[0]を、
v'=vr ’ [0] /F* p
ω=vφ [0] /F* p
とコミットする。
【0129】
以上より、φ[i],ω,v',vを変換条件コミットメント412とする。
【0130】
ここで、コミットメント40 Aを、変換情報保有コミットメント408と変換条件コミットメント412とする。
【0131】
応答生成処理421により、以上の入力文列400と、出力暗号文列417と、コミットメント409と、を挑戦値生成関数413の引数として、挑戦値414を、
c[0]=1,
c[i]=Hash[i](g[ν,0],g[ν,1],g''[ν,0],g''[ν,1],v,φ[ν],ω,v';ν=0,...,n) i=1,...,n
と生成し、この挑戦値から再暗号シャッフル行列02を用いて、応答416を
r[μ]=Σν =0 nA[μ,ν]c[ν] /Fq μ=0,...,n
と生成415する。
【0132】
以上のコミットメント40 Aと応答416を、再暗号シャッフル証明文418として出力し、再暗号シャッフルの結果として出力暗号文列417を出力する。
【0133】
検証方法について、図5を参照して説明する。
【0134】
再暗号シャッフル検証方法により、
入力文列400 g[μ,Γ];μ=0,...,n;Γ=0,1と、
出力暗号文列417 g''[i,Γ];i=1,...,n;Γ=0,1と、
再暗号シャッフル証明文418中のコミットメント409である変換情報保有コミットメント408 g''[0,Γ];Γ=0,1と、
変換条件コミットメント412 φ[ν],ω,v',v;ν=0,...,n;Γ=0,1と、
を挑戦値生成関数500に代入して、挑戦値501を、
c[0]=1
c[i]=Hash[i](g[ν,Γ],g''[ν,Γ],φ[ν],ω,v',v;ν=0,...,n;Γ=0,1)i=1,...,n
と生成する。
【0135】
変換情報保有検証処理505により、この挑戦値501を用いて入力文列400と、変換情報保有コミットメント408と出力暗号文列417である出力文列406と応答416とを用いて検証式、
Πμ =0 ng[μ,Γ]r[ μ ]=Πμ =0 ng''[μ,Γ]c[ μ ] /F* p Γ=0,1
が成り立つことを確認502する。
【0136】
変換条件検証処理506により、挑戦値501と応答416と変換条件コミットメント412とを用いて検証式
v'r[0]v^{Σi=1 nr[i]r[i]}=ωv^{Σi=1 n(c[i]c[i]+φ[i]c[i])} /F* p
が成り立つことを確認503する。
【0137】
以上全ての検証式が成り立てば、証明文を受理504する。
【0138】
上記証明付再暗号シャッフル方法は、入力文列に対する再暗号シャッフル行列変換が少なくとも正規直交行列に属するシャッフル行列を持つ再暗号シャッフル行列により行われたことを保証する効果がある。
【0139】
入力暗号文と出力暗号文に制限が課せられており、この効果で、再暗号シャッフルの正当性を保証できる場合には、本実施例により、証明付再暗号シャッフルを構成できる。
【0140】
例えば、入力暗号文は限られた候補から選ばれていることが証明されていて、かつそれらの候補は互いに他を基底として表現できないとする。この入力暗号文を再暗号シャッフルしたのち、復号していずれの復号文も正しい候補から選ばれたものであったとき、本実施例による証明文からこの再暗号シャッフルが正当であることが言える。
【0141】
なお図4における変換情報保有コミットメント処理419、変換条件コミットメント生成処理420、応答生成処理421は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。また図5における変換情報保有検証処理505、変換条件検証処理506は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0142】
[実施例(2)]
本発明の実施例(2)の証明付再暗号シャッフル方法およびその検証方法について、図6、図7を参照して説明する。以下では、Γ=0,1を取るものとする。
【0143】
再暗号シャッフル情報601として、再暗号シャッフル行列602、元係数603、係数基底604、605、準元係数606を、以下のように準備する。
【0144】
まず再暗号シャッフル行列602に関しては、前記実施例(1)と同様に生成する。
【0145】
元係数603 ρ',ρ''、係数基底604 v、係数基底605 u、準元係数606 λ[μ];μ=0,...,nに関しても、実施例(1)と同様な手法で、ρ',ρ''λ[μ];μ=0,...,nには1,0でないFq上の数を、係数基底u,vには位数qのFpの元を生成する。
【0146】
ρ'∈RFq ,≠0,1
ρ''∈R Fq ,≠0,1
v∈R F* p ,≠1, s.t. vq=1 /F* p
λ[μ]∈R Fq ,≠0,1, μ=0,...,n
u∈R F* p≠1, s.t .uq=1 /F* p
【0147】
実施例(1)と同様にして、入力暗号文列と公開鍵より、入力文列600 g[μΓ];μ=0,...,n;Γ=0,1を生成する。
【0148】
以下、証明付再暗号シャッフル方法を用いる。
【0149】
実施例(1)と同様に、変換情報保有コミットメント生成処理623を行い、出力文列603 g''[μ,Γ];μ=0,...,n;Γ=0,1を、生成する。ここで、g''[i,Γ];i=1,...,n;Γ=0,1を、出力暗号文列604、g''[0,Γ];Γ=0,1を変換情報保有コミットメント605とする。
【0150】
変換条件コミットメント生成処理625における恒等式係数計算606により、元係数603 ρ',ρ'',と、再暗号シャッフル行列602を用いて恒等式係数607 ψ[i],φ[i],φ[0],ρ',ρ'';i=1,...,nを、
ρ'=ρ'
ρ''=ρ''
ψ[i]=Σj=1 n(3A[j,0]+ρ''λ[j])A[j,i] /Fq i=1,...,n
φ[i]=Σj=1 n(3A[j,0]A[j,0]A[j,i]+2ρ''λ[j]A[j,0]A[j,i])+ρ'A[0,i] /Fq i=1,...,n
φ[0]=Σj=1 n(A[j,0]A[j,0]A[j,0]+ρ''λ[j]A[j,0]A[j,0])+ρ''λ[0]+ρ'A[0,0] /Fq
と生成する。
【0151】
さらに、係数基底604 vを用いて、隠蔽処理608により、恒等式係数607 ρ',ρ'',φ[0]を、
ω=vφ [0] /F* p
v''=vρ '' /F* p
v'=vρ ' /F* p
とコミット609する。さらに、
係数基底605 uを用いて、準元係数606 λ[μ];μ=0,...,nを、
u[0]=uλ [0] /F* p
u[i]=uλ [i] /F* p i=1,...,n
とコミット612する。
【0152】
以上より、ψ[i],φ[i],ω,v'',v',v,u,u[0],u[i];i=1,...,nを変換条件コミットメント613とする。
【0153】
ここで、コミットメント614を、変換情報保有コミットメント605と、変換条件コミットメント613とする。
【0154】
応答生成処理624により、以上の入力文列600と、出力暗号文列604と、コミットメント614と、を挑戦値生成関数615の引数として、挑戦値616を、
c[0]=1
c[i]=Hash[i](g[ν,Γ],g''[ν,Γ],u,u[ν],v,φ[j],ψ[j],ω,v',v'';Γ=0,1,2;ν=0,...,n;j=1,...,n) i=1,...,n
と生成し、この挑戦値616から、再暗号シャッフル行列602を用いて、応答618を、
r[μ]=Σν =0 nA[μ,ν]c[ν] /Fq μ=0,...,n
と生成617する。
【0155】
さらに、準応答620を、準元係数606 λ[μ];μ=0,...,nと、応答618より、
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
と生成619する。
【0156】
以上のコミットメント614と、応答618と、準応答620と、を再暗号シャッフル証明文622として出力し、再暗号シャッフルの結果として、出力暗号文列604を出力する。 検証方法について、図6及び図7を参照して、以下に説明する。
【0157】
再暗号シャッフル検証方法により、
入力文列600 g[μ,Γ];μ=0,...,n;Γ=0,1と、出力暗号文列604 g''[i,Γ];i=1,...,n;Γ=0,1と、再暗号シャッフル証明文622中のコミットメント614である変換情報保有コミットメント605 g''[0,Γ];Γ=0,1と、変換条件コミットメント609、912 ψ[i],φ[i],ω,v'',v',v,u,u[0],u[i];i=1,...,nと、を挑戦値生成関数704に代入して挑戦値705を、
c[0]=1
c[i]=Hash[i](g[ν,Γ],g''[ν,Γ],u,u[ν],v,φ[j],ψ[j],ω,v',v'';Γ=0,1,2;ν=0,...,n;j=1,...,n)i=1,...,n
と生成する。
【0158】
変換情報保有検証処理710により、この挑戦値705を用いて、入力文列600と、変換情報保有コミットメント605と、出力暗号文列604である出力文列603と、応答618と、を用いて検証式、
Πμ =0 ng[μ,Γ]r[ μ ]=Πμ =0 ng''[μ,Γ]c[ μ ] /F* p Γ=0,1
が成り立つことを確認706する。
【0159】
変換条件検証処理711により、挑戦値705と、応答618と、変換条件コミットメント609、612と、を用いて検証式、
v''r ’v'r[0]v^{Σi=1 nr[i]r[i]r[i]}=ωv^{Σi=1 n(c[i]c[i]c[i]+ψ[i]c[i]c[i]+φ[i]c[i])} /F* p
と検証式707
ur ’=Πi=1 nu[i]r[i]r[i] /F* p
が成り立つこと確認708する。
【0160】
以上全ての検証式が成り立てば証明文を受理709する。
【0161】
上記証明付再暗号シャッフル方法は、入力文列に対する再暗号シャッフル行列変換が少なくとも置換行列に属するシャッフル行列を持つ再暗号シャッフル行列により行われたことを保証する効果がある。この時、出力暗号文列g''[iΓ];i=1,...,n;Γ=0,1は、
g''[j,0]=g[i,0]w[i]g[0,0]A[0,j] /F* p
g''[j,1]=g[i,1]w[i]g[0,1]A[0,j] /F* p
を出力した可能性を排除できない。ここで、w[i]が全て1の時が、再暗号シャッフルである。なお、w[i];i=1,...,nは、Fq上の1の三乗根のいずれかをとる。
【0162】
そこで、復号文として、Fq上の1の三乗根乗の自由度を許すか、平文に決められた記号を記して三乗根乗の自由度を消せば、本実施例をもって、証明付再暗号シャッフルを構成できる。
【0163】
なお証明付再暗号シャッフル装置の変換情報保有コミットメント処理623、変換条件コミットメント生成処理625、応答生成処理624は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。また証明付再暗号シャッフル検証装置の変換情報保有検証処理710、変換条件検証処理711は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0164】
[実施例(3)]
本発明の実施例(3)として証明付再暗号シャッフル方法およびその検証方法について、図8、図9を参照して以下に説明する。以下で、Γ=0,1を取るものとする。また公開鍵は、η[-1,Γ],η[0,Γ];Γ=0,1の二組あり、どちらも同じ秘密鍵を持つとする。
【0165】
再暗号シャッフル情報801として、再暗号シャッフル行列802、元係数803,805、係数基底804,806、準元係数807を以下のように準備する。
【0166】
本実施例で用いる再暗号シャッフル行列802は、実施例(1)と実施例(2)のものとは大きさが異り、n+2行n+1列の行列である。
【0167】
この再暗号シャッフル行列802を構成するシャッフル行列は、A[i,j];i,j=1,...,nであり、再暗号秘密乱数は、A[-1j],A[0,j];j=1,...,nの2×n成分であり、知識の隠蔽因子は、A[μ,0];μ=-1,...,nのn+2成分である。これらの成分を、実施例(1)と同様に生成する。
【0168】
元係数803 r'[-1],r'[0]、元係数805 ρ,ρ',ρ''、係数基底804 v、係数基底806 u、準元係数807 λ[μ];μ=0,...,nに関しても、実施例(1)と同様な手法で、r'[-1],r'[0],ρ,ρ',ρ'',λ[μ];μ=0,...,nには、1,0でないFq上の数を、係数基底u,vには、位数qのF* pの元を生成する。
【0169】
r'[-1]∈R Fq,≠0,1
r'[0],∈R Fq,≠0,1
ρ∈R Fq,≠0,1
ρ'∈R Fq,≠0,1
ρ''∈R Fq,≠0,1
v∈R F* p,≠0,1,s.t. vq=1 /F* p
λ[μ]∈R Fq,≠0,1μ=0,...,n
u∈R F* p,≠0,1,s.t. uq=1 /F* p
【0170】
入力暗号文列 η[i,0],η[i,1];i=1,...,nと、公開鍵η[-1,Γ],η[0,Γ];Γ=0,1より、入力文列800 g[μΓ];μ=-1,...,n;Γ=0,1を、
g[-1,Γ]=η[-1,Γ] Γ=0,1
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ] /F* p i=1,...,n,Γ=0,1
とする。
【0171】
以下証明付再暗号シャッフル方法を用いる。
【0172】
変換情報保有コミットメント生成処理832における再暗号シャッフル行列作用808により、上記再暗号シャッフル行列802を入力文列800に以下の様に作用させて、出力文列809g''[μ,Γ];μ=0,...,n;Γ=0,1を、
g''[μ,Γ]=Πν =-1 ng[ν,Γ]A[ ν , μ ] /F* p μ=0,...,n,Γ=0,1
と生成する。ここで、g''[i,Γ];i=1,...,n;Γ=0,1を出力暗号文列810、g''[0,Γ];Γ=0,1を変換情報保有コミットメント811とする。
【0173】
変換条件コミットメント生成処理833、834における恒等式係数計算812、816により、元係数803、805 r'[-1]、r'[0],ρ,ρ',ρ'',と、再暗号シャッフル行列802を用いて、恒等式係数817 ψ[i],φ[i],φ[0],ρ,ρ',ρ'';i=1,...,n と、恒等式係数813 Φ[ν],r'[0],r'[-1];ν=0,...,n を計算818、812する。
【0174】
ρ=ρ
ρ'=ρ'
ρ''=ρ''
ψ[i]=Σj=1 n(3A[j,0]+ρ''λ[j])A[j,i] /Fq i=1,...,n
φ[i]=Σj=1 n(3A[j,0]A[j,0]A[j,i]+2ρ''λ[j]A[j,0]A[j,i])+ρ'A[0,i]+ρA[-1,i] /Fq i=1,...,n
φ[0]=Σj=1 n(A[j,0]A[j,0]A[j,0]+ρ''λ[j]A[j,0]A[j,0])+ρ''λ[0]+ρ'A[0,0]+ρA[-1,0] /Fq
r'[-1]=r'[-1]
r'[0]=r'[0]
Φ[0]=Σj=1 nA[j,0]A[j,0]+r'[0]A[0,0]+r'[-1]A[-1,0] /Fq
Φ[i]=2Σj=1 nA[j,0]A[j,i]+r'[0]A[0,i]+r'[-1]A[-1,i] /Fq i=1,...,n
【0175】
さらに係数基底804 vを用いて、隠蔽処理814、818により、恒等式係数813,817 r'[-1],r'[0],Φ[0],φ[0],ρ,ρ',ρ''を、
ω=vφ [0] /F* p
v''=vρ '' /F* p
v'=vρ ' /F* p
ω'=vρ /F* p
とコミット819し、
V=vr'[-1] /F* p
V'=vr'[0] /F* p
Ω=vΦ [0] /F* p
とコミット815する。
【0176】
さらに、係数基底806 uを用いて、準元係数807 λ[μ];μ=0,...,nを、
u[0]=uλ [0] /F* p
u[i]=uλ [i] /F* p i=1,...,n
とコミット821、820する。
【0177】
以上より、Φ[i],V',V,Ω,ψ[i],φ[i],ω,v'',v',ω',v,u,u[0],u[i];i=1,...,nを変換条件コミットメント822とする。
【0178】
ここで、コミットメント823を,変換情報保有コミットメント811と変換条件コミットメント822とする。
【0179】
応答生成処理835により、以上の入力文列800と、出力暗号文列810と、コミットメント823を、挑戦値生成関数824の引数として、挑戦値825を、
c[0]=1
c[i]=Hash[i](g[μ,Γ],g''[ν,Γ],u[ν],u,φ[j],ψ[j],ω,ω',v',v'',v,Φ[j],Ω,V',V;μ=-1,...,n;ν=0,...,n;j=1,...,n;Γ=0,1,2)i=1,...,n
と生成し、この挑戦値825から、再暗号シャッフル行列802を用いて、応答827を、
r[μ]=Σν =0 nA[μ,ν]c[ν] /Fq μ=-1,...,n
と生成826する。
【0180】
さらに、準応答829を、準元係数807λ[μ];μ=0,...,nと応答827より、
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
と生成828する。
【0181】
以上のコミットメント823と、応答827と、準応答829とを再暗号シャッフル証明文831として出力し、再暗号シャッフルの結果として、出力暗号文列810を出力する。
【0182】
検証方法について図9を参照して説明する。
【0183】
再暗号シャッフル検証方法により、
入力文列800 g[μ,Γ];μ=-1,...,n;Γ=0,1と、出力暗号文列810 g''[i,Γ];i=1,...,n;Γ=0,1と、再暗号シャッフル証明文831中コミットメント823の変換情報保有コミットメント811 g''[0,Γ];Γ=0,1と、変換条件コミットメント815、819、821 Φ[i],V',V,Ω,ψ[i],φ[i],ω,v'',v',ω',v,u,u[0],u[i];i=1,...,nと、を、挑戦値生成関数900に代入して、挑戦値901を、
c[0]=1
c[i]=Hash[i](g[μ,Γ],g''[ν,Γ],u[ν],u,φ[j],ψ[j],ω,ω',v',v'',v,Φ[j],Ω,V',V;μ=-1,...,n;ν=0,...,n;j=1,...,n;Γ=0,1,2)i=1,...,n
と生成する。
【0184】
変換情報保有検証処理907により、この挑戦値901を用いて入力文列800と、変換情報保有コミットメント811と、出力暗号文列810である出力文列809と、応答827とを用いて検証式、
Πμ =-1 ng[μ,Γ]r[ μ ]=Πμ =0 ng''[μ,Γ]c[ μ ] /F* p Γ=0,1
が成り立つことを確認902する。
【0185】
変換条件検証処理908、909により、挑戦値901と応答827と準応答829と変換条件コミットメント815、819、821とを用いて、
検証式
v''r ’v'r[0]ω'r[-1]v^{Σ i=1 nr[i]r[i]r[i]}
=ωv^{Σi=1 n(c[i]c[i]c[i]+ ψ[i]c[i]c[i]+φ[i]c[i])} /F* p
が成り立つことを確認904し、
検証式
ur ’=u[0]Π i=1 nu[i]r[i]r[i] /F* p
が成り立つことを確認905し、
検証式
V'r[0]Vr[-1]v^{Σ i=1 nr[i]r[i]}=Ωv^{Σ i=1 n(c[i]c[i]+Φ[i]c[i])} /F* pが成り立つこと確認903する。
【0186】
以上全ての検証式が成り立てば証明文を受理906する。
【0187】
上記証明付再暗号シャッフル方法は、入力文列に対する再暗号シャッフル行列変換が少なくとも置換行列に属するシャッフル行列を持つ再暗号シャッフル行列により行われたことを保証する効果がある。これは再暗号シャッフルが行われたことを意味し、本実施例は証明付再暗号シャッフルである。
【0188】
なお証明付再暗号シャッフル装置の変換情報保有コミットメント処理832、変換条件コミットメント生成処理833、834、応答生成処理835は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。また証明付再暗号シャッフル検証装置の変換情報保有検証処理907、変換条件検証処理908、909は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0189】
[実施例(4)]
本発明の実施例(4)の証明付再暗号シャッフル方法およびその検証方法について図10、図11を参照して以下に説明する。以下で、Γ=0,1を取るものとする。また公開鍵は、η[0,Γ];Γ=0,1の一組である。
【0190】
再暗号シャッフル情報1006として、再暗号シャッフル行列1001と、第2の情報隠蔽因子1004と、元係数1002、1005と、係数基底1003、1008と、準元係数1007を以下のように準備する。
【0191】
まず再暗号シャッフル行列1001に関しては、前記実施例(1)と同様に生成し、これをA[μ,ν];μ,ν=0,...,nとする。
【0192】
さらに、第2の情報隠蔽因子1004 A[ν,0];ν=0,...,nを同様に生成する。
【0193】
元係数1005 ρ',ρ''、元係数1002 r'[0]、係数基底1003 v、係数基底1008u、準元係数1007 λ[μ];μ=0,...,n に関しても、実施例(1)と同様な手法で、r'[0],ρ',ρ'',λ[μ];μ=0,...,nには1,0でないFq上の数を、係数基底u,vには位数qのFpの元を生成する。
【0194】
ρ'∈R Fq ,≠0,1
ρ''∈R Fq ,≠0,1
r'[0],∈R Fq ,≠0,1
v∈R F* p ,≠1,s.t.vq=1 /F* p
λ[μ]∈R Fq ,≠0,1 μ=0,...,n
u∈R F* p ,≠ 1,s.t. uq=1 /F* p
【0195】
入力暗号文列 η[i,0],η[i,1];i=1,...,nと、公開鍵 η[0,Γ];Γ=0,1より、入力文列1000 g[μΓ];μ=0,...,n;Γ=0,1を、
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ] i=1,...,n,Γ=0,1
とする。
【0196】
以下、証明付再暗号シャッフル方法を用いる。
【0197】
変換情報保有コミットメント生成処理1042における再暗号シャッフル行列作用1009により、上記暗号シャッフル行列1001を入力文列1000に以下の様に作用させて、出力文列1010 g''[μ,Γ];μ=0,...,n;Γ=0,1を、
g''[μ,Γ]=Πν =0 ng[ν,Γ]A[ ν , μ ] /F* p μ=0,...,n,Γ=0,1
と生成する。
【0198】
ここで、g''[i,Γ];i=1,...,n;Γ=0,1、出力暗号文列1011、g''[0,Γ];Γ=0,1を第1の変換情報保有コミットメント1012とする。
【0199】
第2の変換情報保有コミットメント生成処理1044により、さらに入力文列1000から選択1018して、第2の入力文列1019をg[μ,Γ']とする。ここでは、Γ'=0とする。
【0200】
第2の変換情報保有コミットメント1021 G''[0,Γ']を、
G''[0,Γ']=Πν =0 ng[ν,Γ']A[ ν ,0] /F* p Γ=0or1
と生成1020する。
【0201】
変換条件コミットメント生成処理1045における恒等式係数計算1022により、元係数1005 ρ',ρ''と、再暗号シャッフル行列1001と、を用いて、恒等式係数1023 ψ[i],φ[i],φ[0],ρ',ρ'';i=1,...,nを、
ρ'=ρ'
ρ''=ρ''
ψ[i]=Σj=1 n(3A[j,0]+ρ''λ[j])A[j,i] /Fq i=1,...,n
φ[i]=Σj=1 n(3A[j,0]A[j,0]A[j,i]+2ρ''λ[j]A[j,0]A[j,i])+ρ'A[0,i] /Fq i=1,...,n
φ[0]=Σj=1 n(A[j,0]A[j,0]A[j,0]+ρ''λ[j]A[j,0]A[j,0])+ρ''λ[0]+ρ'A[0,0] /Fq
と生成する。
【0202】
さらに、係数基底1003vを用いて、隠蔽処理1024により、恒等式係数1023φ[0],ρ',ρ''を、
ω=vφ [0] /F* p
v''=vρ '' /F* p
v'=vρ ' /F* p
とコミット1025する。
【0203】
さらに、係数基底1008uを用いて、準元係数1007λ[μ];μ=0,...,nを、
u[0]=uλ [0] /F* p
u[i]=uλ [i] /F* p i=1,...,n
とコミット1027する。
【0204】
変換条件コミットメント生成処理1043における恒等式係数計算1013により、元係数1002r'[0]と再暗号シャッフル行列1001と第2の情報隠蔽因子1004とを用いて恒等式係数1014 Φ[ν],r'[0];ν=0,...,nを、
r'[0]=r'[0]
Φ[0]=Σj=1 nB[j,0]B[j,0]+r'[0]B[0,0] /Fq
Φ[i]=2Σj=1 nB[j,0]A[j,i]+r'[0]A[0,i] /Fq i=1,...,n
と生成する。
【0205】
さらに係数基底1003 vを用いて、隠蔽処理1015により、恒等式係数1014 r'[0],Φ[0]を、
V'=vr ’ [0] /F* p
Ω=vΦ [0] /F* p
とコミット1016する。
【0206】
以上により、第1の変換条件コミットメント1028を、ψ[i],φ[i],ω,v'',v',v,u,u[0],u[i];i=1,...,nとする。第2の変換条件コミットメント1016を、Φ[i],V',Ω,v;i=1,...,nとする。
【0207】
ここで、第1のコミットメント1017を、第1の変換情報保有コミットメント1012と第1の変換条件コミットメント1028とし、第2のコミットメント1029を第2の変換情報保有コミットメント1021と第2の変換条件コミットメント1016とする。
【0208】
応答生成処理1046により、以上の入力文列1000と、出力暗号文列1011と、第1コミットメント1017とを、挑戦値生成関数1030の引数として、第1の挑戦値1031を、
c[0]=1
c[i]=Hash[i](g[ν,Γ],g''[ν,Γ],u[ν],u,φ[j],ψ[j],ω,v',v'',v;ν=0,...,n;j=1,...,n;Γ=0,1) i=1,...,n
と生成し、この挑戦値1031から、再暗号シャッフル行列1001を用いて、第1の応答1033を、
r[μ]=Σν =0 nA[μ,ν]c[ν] /Fq μ=0,...,n
と生成1032する。
【0209】
さらに、準応答1039を、準元係数1007λ[μ];μ=0,...,nと、応答1033より、
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
と生成1038する。
【0210】
応答生成処理1047により、第2の入力文列1019と、出力暗号文列1011と、第2コミットメント1029とを、挑戦値生成関数1034の引数として、第2の挑戦値1035を、
C[0]=1
C[i]=Hash[i](g[ν,Γ'],G''[0,Γ'],g''[j,Γ'],Φ[j],Ω,V';ν=0,...,n;j=1,...,n;Γ'=0) i=1,...,n
と生成し、この挑戦値1035から、再暗号シャッフル行列1001と、第2の情報隠蔽因子1004を用いて、第2の応答1037を、
R[μ]=B[μ,0]+Σi=1 nA[μ,i]C[i] /Fq μ=0,...,n
と生成1036する。
【0211】
以上のコミットメント1017、1029と、応答1033、1037と、準応答1039と、を、再暗号シャッフル証明文1040として出力し、再暗号シャッフルの結果として出力暗号文列1011を出力する。
【0212】
検証方法について、図11を参照して説明する。
【0213】
再暗号シャッフル検証方法により、入力文列1000と、出力暗号文列1011と、再暗号シャッフル証明文1040の第1のコミットメント1012、1025、1027を、挑戦値生成関数1100に代入して、第1の挑戦値1101を、
C[0]=1
C[i]=Hash[i](入力文列、出力暗号文列、第1のコミットメント) i=1,...,n
と生成する。
【0214】
さらに、第2の入力文列1019と、再暗号シャッフル証明文1040の第2のコミットメント1016、1021と、出力暗号文列1011とを、挑戦値生成関数1108に代入して第2の挑戦値1109を
c[0]=1
c[i]=Hash[i](第2の入力文列、出力暗号文列、第2のコミットメント) i=1,...,n
と生成する。
【0215】
変換情報保有検証処理1112により、第1の挑戦値1101を用いて、入力文列1000と、第1の変換情報保有コミットメント1012と、出力暗号文列1011と、第1の応答1033と、を用いて検証式、
Πμ =0 ng[μ,Γ]r[ μ ]=Πμ =0 ng''[μ,Γ]c[ μ ] /F* p Γ=0,1
が成り立つことを確認1103する。
【0216】
変換情報保有検証処理1113により、第2の挑戦値1109を用いて第2の入力文列1019と、第2の変換情報保有コミットメント1021と、出力暗号文列1011と、第2の応答1037と、を用いて第2の知識検証式、
Πμ =0 ng[μ,Γ']R[ μ ] =G''[0,Γ']Πi=1 ng''[i,Γ']c[i] /F* p Γ'=0
が成り立つことを確認1105する。
【0217】
変換条件検証処理1111により、第1の挑戦値1101と、第1の応答1033と、第1の変換条件コミットメント1025とを用いて、検証式1102、
v''r ’v'r[0]v^{Σi=1 nr[i]r[i]r[i]}=ωv^{Σi=1 n(c[i]c[i]c[i]+ψ[i]c[i]c[i]+φ[i]c[i])} /F* p
と、準応答1039と、準応答コミットメント1027と、第1の応答1033と、検証式1107、
ur ’=u[0]Πi=1 nu[i]r[i]r[i] /F* p
が成り立つことを確認する。
【0218】
変換条件検証処理1114により、第2の挑戦値1109と、第2の応答1037と、第2の変換条件コミットメント1016とを用いて、検証式1106、
V'r[0]v^{Σi=1 nR[i]R[i]}=Ωv^{Σi=1 n(C[i]C[i]+Φ[i]C[i])} /F* p
が成り立つことを確認する。
【0219】
以上全ての検証式が成り立てば証明文を受理1110する。
【0220】
上記証明付再暗号シャッフル方法は、入力文列に対する再暗号シャッフル行列変換が少なくとも置換行列に属するシャッフル行列を持つ再暗号シャッフル行列により行われたことを保証する効果がある。これは再暗号シャッフルが行われたことを意味し、本実施例は証明付再暗号シャッフルである。
【0221】
なお証明付再暗号シャッフル装置の変換情報保有コミットメント処理1042、変換条件コミットメント生成処理1043、1045、応答生成処理1046、1047は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。また証明付再暗号シャッフル検証装置の変換情報保有検証処理1112、1113、変換条件検証処理1111、1114は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0222】
[実施例(5)]
本発明の実施例(5)をなす入力文列生成方法について、図12を参照して、以下に説明する。Γは、0、1、2の値をとる。
【0223】
公開鍵302 g[0,0]、g[0,1]に対応する秘密鍵xは、t人の証明者により分散所持されている。
【0224】
この時、秘密鍵x[Λ];Λ=1,...,tにより、各証明者の公開鍵を、g[0,0]、g[0,1,Λ]=g[0,0]x[ Λ ];Λ=1,...,tとし、全体の公開鍵は、g[0,0]、g[0,1]=Πk=1 tg[0,1,Λ]とする。
【0225】
入力暗号文列301 η[i,0]、η[i,1];i=1,...,nと、公開鍵302 η[0,0]、η[0,1]が入力され、公開鍵302およびElgamal領域変数p、qより、基底生成関数1200で、入力ベクトル1201を生成し、入力文列300 g[μ,Γ];μ=0,...,n;Γ=0,1,2を、
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ]/F* p i=1,...,n, Γ=0,1
g[μ,2]=Hash'[μ](p,q,η[0,0],g[0,1,Λ];Λ=1,...,t)μ=0,...,n
とする。
【0226】
前記実施例(1)から実施例(4)に、本実施例の入力文列生成方法を適用する場合、これらの実施例におけるΓの値をとる範囲を、全て0、1から、0、1、2に変更する。この新たに導入された、入力暗号文でも公開鍵でもないΓ=2の成分が、入力暗号文生成者にも意図できない入力文列の成分となり、証明者が生成できる応答に制限を課す働きをし、入力暗号文生成者と再暗号シャッフル証明文生成者とが共謀して再暗号シャッフル証明文の偽造を行うことを阻止する。
【0227】
また前記実施例(3)に、本実施例の入力文列生成方法を適用する場合、入力文列を、g[-1,Γ]まで拡張して、公開鍵 g[-1,0]、g[-11]、η[0,0]、η[0,1]より、
g[-1,Γ]=η[-1,Γ] Γ=0,1
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ] /F* p i=1,...,n,Γ=0,1
g[μ,2]=Hash'[μ](p,q,η[0,0],g[0,1,Λ];Λ=1,...,t) μ=-1,...,n
とする。
【0228】
また実施例(4)に、本実施例の入力文列生成方法を適用する場合、Γ'=2とし、第2の情報隠蔽因子より、第2の変換情報保有コミットメントを、
G''[02]=Πν =-1 ng[ν,2]A ’ [ ν ,0] /F* p
G''[i2]=Πν =-1 ng[ν,2]A[ ν ,i] /F* p i=1,...,n
と変更する。
【0229】
さらに、証明付再暗号シャッフル方法または再暗号シャッフル検証方法において、第2の入力文列 g[μ,Γ']; Γ=2と、第2のコミットメントとを挑戦値生成関数の引数として、第2の挑戦値を、
C[0]=1
C[i]=Hash[i](g[ν,2],G''[ν,2],Φ[j],Ω,V';;ν=0,...,n;j=1,...,n;Γ=0,1) i=1,...,n
と変更する。
【0230】
さらに、変換情報保有検証処理における第2の知識検証式は、
Πμ =0 ng[μ,2]r[ μ ]=Πμ =0 nG''[μ,Γ']c[ μ ] /F* p
と変更する。
【0231】
[実施例(6)]
本発明の実施例(6)をなす入力文列生成方法について、図13と図14を参照して説明する。Γは、0、1の値をとる。
【0232】
前記実施例(5)と同様に、秘密鍵xは、t人の証明者により分散所持されている。各証明者Λ;Λ=1,...,tは、証明付公開鍵列方法1304により、入力暗号文列301η[i,0]、η[i,1];i=1,...,nと、公開鍵302 η[0,0]、η[0,1]とを、共通初期値1310として、秘密鍵1301x[Λ]と、疑似秘密鍵1302α[Λ]と、を公開鍵列情報1300として入力し、分散公開鍵列対1305 g'[μ,1,Λ];μ=0,...,nと、公開鍵列証明文1306と、を得る。
【0233】
公開鍵列検証方法1307により、各証明者の出力した分散公開鍵列対1305と、公開鍵列証明文と、共通初期値1310とから、分散公開鍵列1305の正当性が検証されたら、前処理方法により、各証明者の分散公開鍵列対1305 g'[μ,1,Λ];μ=0,...,n;Λ=1,...,tを合わせて、公開鍵列対140 3g'[μ,1,Λ];μ=0,...,nを、g'[μ,1]=ΠΛ =1 tg'[μ,1,Λ] /F* p μ=0,...,n
とする。ここで、g'[0,1]=η[0,1]に入れ替える。
【0234】
共通初期値である入力暗号文列301 η[i,0]、η[i,1];i=1,...,nと、公開鍵302η[0,0]、η[0,1]とから、公開鍵列底1401 g'[μ0];μ=0,...,nを、
g'[0,0]=η[0,0]
g'[i,0]=Hash'[i](η[0,0],η[0,1,Λ],η[j,Γ];Λ=1,...,t;Γ=0,1;j=1,...,n;) i=1,...,n
と生成1400する。ここでも、公開鍵列対1403と同様にg'[0,0]が入れ替えている。
【0235】
公開鍵列底1401と公開鍵列対1403を合わせて、公開鍵列1404 g'[μ,Γ];μ=0,...,n,Γ=0,1とする。
【0236】
公開鍵列1404と、入力暗号文列301と、公開鍵302とから、入力文列300 g[μ,Γ];μ=0,...,n; Γ=0,1を、
g[0,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ]g'[i,Γ] /F* p i=1,...,n,Γ=0,1
とする(前処理1402)。
【0237】
前記実施例(3)に、本実施例の入力文列生成方法を適用する場合、入力暗号文列 η[i,Γ];i=1,...,n;Γ=0,1と、公開鍵 η[0,Γ];Γ=0,1に対して、公開鍵列 g'[μ,Γ];μ=-1,...,n;Γ=0,1を生成する。ただし、g'[0,Γ];Γ=0,1は、公開鍵に等しい。そして、入力文列 g[μ,Γ];μ=-1,...,n;Γ=0,1を、
g[-1,Γ]=η[0,Γ] Γ=0,1
g[i,Γ]=η[i,Γ]g'[i,Γ] /F* p i=0,...,n,Γ=0,1
とする。
【0238】
本実施例では、新たに生成された公開鍵列が、入力暗号文生成者にも意図できないため、入力暗号文にそれを乗じた入力文列の成分も意図できない。そのため、証明者が生成できる応答に制限を課す働きをなし、入力暗号文生成者と再暗号シャッフル証明文生成者とが共謀して再暗号シャッフル証明文の偽造を行うことを阻止する。
【0239】
なお図13に示した、証明付公開鍵列装置1304、前処理装置1309、公開鍵列検証装置1307は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0240】
[実施例(7)]
本発明の実施例(7)の入力文列生成方法について、図15乃至図18を参照て説明する。Γは、0、1の値をとる。前記実施例(5)と同様に、秘密鍵1502 xは、t人の証明者により、分散所持されている。
【0241】
各証明者Λ;Λ=1,...,tは、証明付公開鍵列方法1504により、Elgamal領域変数を共通初期値1500として、秘密鍵1502 x[Λ]と、疑似秘密鍵1503 α[Λ]と、を、公開鍵列情報1501として入力し、分散公開鍵列対1505 g'[μ,1,Λ];μ=0,...,nと、公開鍵列証明文1506と、を得る。
【0242】
公開鍵列検証方法1507により、各証明者の出力した分散公開鍵列対1505と、公開鍵列証明文1506と、共通初期値1500より、分散公開鍵列対1505の正当性が検証1508されたら、各証明者の分散公開鍵列対150 5g'[μ,1,Λ];μ=0,...,n;Λ=1,...,tを合わせて、公開鍵列対1509 g'[μ,1,Λ];μ=0,...,nを、
g'[μ,1]=ΠΛ =1 tg'[μ,1,Λ] /F* p μ=0,...,n
とする。
【0243】
共通初期値1500から公開鍵列底g'[μ,0];μ=0,...,nを、
g'[μ,0]=Hash'[μ](p,q) μ=0,...,n
と生成する。
【0244】
公開鍵列底と公開鍵列対1509を合わせて、公開鍵列1611 g'[μΓ];μ=0,...,n,Γ=0,1とする。
【0245】
各入力暗号文生成者i=1....,nは、証明付暗号化方法1606により、平文1602m[i]と、個別公開鍵1601g'[i,Γ];Γ=0,1と、秘密乱数1604s[i]と、疑似秘密乱数1605s'[i]とより、入力暗号文1607η[i,Γ];Γ=0,1を、
η[i,0]=g'[i,0]s[i] /F* p
η[i,1]=m[i]g'[i,1]s[i] /F* p
と生成する。
【0246】
またコミットメント(疑似暗号文底1704)、挑戦値1707、応答1709を順に以下のように生成し、
η[i2]=g'[i,0]s ’ [i] /F* p
c'[i]=Hash[0](η[i,0],η[i,1],η[i2])
θ'[i]=c'[i]s[i]+s'[i] /Fq
疑似暗号文底1704と応答1709とを暗号化証明文1608とする。
【0247】
暗号化検証装置により、全ての入力暗号文1607と暗号化証明文1608に関して、
c'[i]=Hash[0](η[i,0],η[i,1],η[i2])
と、挑戦値1801を求め、これに応答1709を用いて、検証式1802
η[i,0]θ '[i]=η[i,1]c ’ [i]η[i2] /F* p
が成り立つことを確認1610する。入力暗号文1607全ての正当性が確認されたら、入力暗号文323 η[i,Γ];Γ=0,1と、共有公開鍵1600 g'[0,Γ];Γ=0,1とより入力文列300を、
g[0,Γ]=g'[0,Γ]
g[i,Γ]=η[i,Γ] i=1,...,n
とする。
【0248】
前記実施例(3)に、本実施例の入力文列生成方法を適用する場合は、
g[-1Γ]=g'[-1,Γ]
g[0,Γ]=g'[0,Γ]
g[i,Γ]=η[i,Γ] i=1,...,n
とする。
【0249】
本実施例では、始めに生成された公開鍵列が、入力暗号文生成者にも意図できないため、これを基に暗号化したことが主命されている入力暗号文の成分も、意図できない。そのため、証明者が生成できる応答に制限を課す働きをし、入力暗号文生成者と再暗号シャッフル証明文生成者とが共謀して再暗号シャッフル証明文の偽造を行うことを阻止する。
【0250】
なお図15に示した、証明付公開鍵列装置1504、公開鍵列検証装置1507は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。また図16乃至図18に示した、証明付暗号化装置1606、暗号化検証装置1609は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0251】
[実施例(8)]
本発明の実施例(8)における証明付公開鍵列方法について図19と図20とを参照して説明する。
【0252】
共通初期値eと、秘密鍵1902 xと、疑似秘密鍵1903 αとが、公開鍵列情報1901として、入力される。
【0253】
共通初期値1900から、公開鍵列底1905 g'[μ0];μ=0,...,nを、
g'[μ,0]=Hash'[μ](e) μ=0,...,n
と生成1904する。
【0254】
これから、秘密鍵1902 xと、疑似秘密鍵1903αとにより、(分散)公開鍵列対1907 g'[μ,1];μ=0,...,nが、
g'[μ,1]=g'[μ,0]x /F* p μ=0,...,n
と生成1906され、疑似公開鍵列対1909が、
g'[μ,2]=g'[μ,0]α /F* p μ=0,...,n
と生成1908される。
【0255】
挑戦値1912、応答1914を順に、
c''=Hash[0](g'[μ,0],g'[μ,2] ;μ=0,...,n)
θ=c''x+α /Fq
と生成し、疑似公開鍵列1909と応答1914を公開鍵列証明文1915とする。
【0256】
公開鍵列検証方法により、挑戦値2003を、
c''=Hash[0](g'[μ,0],g'[μ,2];μ=0,...,n)
と生成2000し、応答1914を用いて検証式、
g'[μ,0]θ=g'[μ,0]c''g'[μ,2] /F* p μ=0,...,n
を検証2004する。
【0257】
本実施例では、始めに生成された公開鍵列底、誰にも意図できないため、これを元に作られた公開鍵列の成分も意図できない。
【0258】
なお図19、図20に示した、証明付公開鍵列装置、公開鍵列検証装置は、コンピュータ上で実行されるプログラムによりその処理・機能が実現される。この場合、該プログラムを記録した記録媒体(例えばCD−ROM、DVD(digital versatile disk)、フロッピディスク媒体、ハードディスク媒体、磁気テープ媒体、半導体メモリ等のいずれか)から、該プログラムをコンピュータの主記憶にロードして実行することで、本発明を実施することができる。
【0259】
[実施例(9)]
本発明の実施例(9)として、証明付復号について説明する。前記実施例(5)と同様に、秘密鍵 xは、t人の証明者により分散所持されている。
【0260】
Λ;Λ=1,...,t番目の証明者は、Λ-1番目の証明者による部分復号の結果を入力して、それを部分復号する。Λ番目の証明者による部分復号の結果が復号文である。ただし、0番目の証明者による部分復号の結果は、上記最終的な再暗号シャッフルの出力のことである。
【0261】
ここで、Λ番目の証明者の行う証明付部分復号(部分復号およびその証明文の提出)について説明する。
【0262】
疑似乱数発生器により1,0でないFq上の数をβ[Λ]を作成する。
【0263】
β[Λ]∈R Fq,≠0,1
【0264】
また、自身の公開鍵 g[0,0]、g'[0,1,Λ]を、g[0,0]、g[0,1]と、入力された暗号文列を、g[i,Γ];i=1,...,n, Γ=0,1とし、自身の公開鍵と秘密鍵x[Λ]から、部分復号基底G[μ,0Λ];μ=0,...,nと、疑似部分復号基底G[μ,1,Λ];μ=0,...,nを、
G[μ,0,Λ]=g[μ,0]x[ Λ ] /F* p μ=0,...,n
G[μ,1,Λ]=g[μ,0]β [ Λ ] /F* p μ=0,...,n
と生成する。コミットメントとして、g[μ,ΓΛ];μ=0,...,n,Γ=0,1,Λ=0,...,tを出力する。
【0265】
g[0,1,Λ]=g[0,0]x[ Λ ]=G[0,0,Λ]は、公開鍵と重複しているが同じものが計算されている。
【0266】
挑戦値を、
c[Λ]=Hash[0](g[μ,0],G[μ,Γ,Λ];μ=0,...,n;Γ=0,1)
と生成し、これを用いて、応答r[Λ]を
r[Λ]=β[Λ]+c[Λ]x[Λ] /Fq
と生成して出力する。部分復号基底、疑似部分復号基底と応答を証明付部分復号の証明文として出力する。
【0267】
部分復号を
g[i,0]→g[i,0] i=1,...,n
g[i,1]→g[i,1]/G[i,0,Λ] /F* p i=1,...,n
として出力する。
【0268】
検証処理は、入力暗号文列と証明文中とより挑戦値を、
c[Λ]=Hash[0](g[μ,0],G[μ,Γ,Λ];μ=0,...,n;Γ=0,1)
と生成し、証明文中の応答、入力暗号文列、分復号基底、疑似部分復号基底を用いて、
g[μ,0]r[ Λ ]=G[μ,0,Λ]c[ Λ ]G[μ,1,Λ] /F* p μ=0,...,n
を確認し、さらに部分復号が、このG[μ,0,Λ]を用いて行われたことを確認して受理する。
【0269】
以上を、t人の証明者全てにより行われた結果を復号文とする。
【0270】
[正当性]
以上説明した実施例の正当性について説明する。
【0271】
[完全性]
入力文列と、出力暗号文列と変換情報保有コミットメントとである出力文列と、これに付随する応答と挑戦値が変換情報保有検証処理の検証式を満たすことは、
Πμ =1 n+m g[μ,Γ]r[ μ ] =Πμ =1 n+m g[μ,Γ]^{Σν =1 n+m' A[μ,ν]c[ν]}
/F* p
=Πν =1 n+m'(Πμ =1 n+m g[μ,Γ]A[ μ , ν ])c[ ν ] /F* p
=Πν =1 n+m'g''[ν,Γ]c[ ν ] /F* p
より分かる。
【0272】
準元係数をコミットしたものと、これに付随する応答と準応答が検証式を満たすことは、
ur ’=u^{λ[0]+Σi=1 nλ[i]r[i]r[i]} /F* p
=uλ [0]Πi=1 n(uλ [i])r[i]r[i] /F* p
=u[0]Πi=1 nu[i]r[i]r[i] /F* p
よりわかる。
【0273】
変換条件コミットメント生成処理が出力した恒等式の係数と、これに付随する応答と挑戦値が知識検証処理の検証式を満たすことは、以下のようにして分かる。
【0274】
実施例(1)の恒等式係数に関しては、
v'r[0]Πi=1 nvr[i]r[i] /F* p
=(vr ’ [0])r[0]v^{Σi=1 nΣμ =0 nΣν =0 nA[i,μ]A[i,ν]c[μ]c[ν]} /F* p
=v^{r'[0]Σμ =0 n[0,μ]c[μ]+2Σi=1 nΣj=1 nA[i,0]A[i,j]c[j]+Σi=1 nA[i,0]
A[i,0]+Σi=1 nΣj=1 nΣk=1 nA[i,j]A[i,k]c[j]c[k]} /F* p
=v^{Σi=1 nφ[i]c[i]+φ[0]+Σi=1 nc[i]c[i]} /F* p
=ωv^{Σi=1 n(c[i]c[i]+φ[i]c[i])} /F* p
より成立することがわかる。以上、A[i,j]が置換行列であるという事実を使った。
【0275】
前記実施例(2)の恒等式係数に関しては、
v”r ’v'r[0]Πi=1 nvr[i]r[i]r[i] /F* p
のvに対する指数部が、
Σi=1 nr[i]r[i]r[i]+Σi=1 nρ"λ[i]r[i]r[i]+ρ'r[0] /F* p
=Σh=1 nΣi=1 nΣj=1 nΣk=1 nA[h,i]A[h,j]A[h,k]c[i]c[j]c[k]
+Σh=1 nΣi=1 nΣj=1 n(3A[h,0]A[h,i]A[h,j]+ρ"λ[h]A[h,i]A[h,j])c[i]c[j] +Σh=1 nΣi=1 n(3A[h,0]A[h,0]A[h,i]+2ρ"λ[h]A[h,0]A[h,i]+ρ'A[0,i])c[i] +Σh=1 n(A[h,0]A[h,0]A[h,0]+ρ"λ[h]A[h,0]A[h,0])+ρ''λ[0]+ρ'A[0,0] /Fq
=Σh=1 n(c[h]c[h]c[h]+ψ[h]c[h]c[h]+φ[i]c[i]+φ[0]) /Fq
であり、
これは、
v^{Σh=1 n(c[h]c[h]c[h]+ψ[h]c[h]c[h]+φ[i]c[i])}ω [0] /Fpの指数部と等しい。
【0276】
以上で最後の式を導くためにA[i,j]が置換行列であるという事実を使った。
【0277】
前記実施例(3)、及び実施例(4)に関しても同様の議論より分かる。
【0278】
前記実施例(8)の証明付公開鍵列方法が出力した公開鍵列底と、公開鍵列対と疑似公開鍵列対と、これに付随する応答と挑戦値が検証処理の検証式を満たすことは、
g'[μ,0]r=g'[μ,0]cx+ α /F* p
=g'[μ,0]xcg'[μ,0]α /F* p
=g'[μ,1]cg'[μ,2] /F* p
から分かる。
【0279】
[健全性]
与えられた挑戦値c[ν];ν=1,...,n+m'に対する、変換情報保有検証処理における検証式を満たす応答r[μ];μ=1,...,n+mを求めるにはA[μν];μ=1,...,n+m;ν=1,...,n+m'を知らなければならない。
【0280】
これは、与えられた g[μ,Γ]、g''[νΓ];μ=1,...,n+m;ν=1,...,n+m'に対して、A[μν];μ=1,...,n+m;ν=1,...,n+m'を知らずして、等価検証処理における検証式を満たす応答を求めることは、離散対数問題を解くことに等しいからである。
【0281】
なぜならば、A[μ,ν]を知らないと言う事は、少なくとも一つのg''[ν,Γ]に関しては、g[μ,Γ];μ=1,...,n+mを基底とするその表現を知らない。その時、任意のcに関して、検証式を満たす応答を求めることができるなら、
c[ξ]=1、c[ν]=0;ν=0,...,ξ-1,ξ+1,...,n+m'なるc[ν]を選ぶ事で、離散対数を解くことが出来るからである。
【0282】
また、挑戦値c[ν]は、コミットメントg[μ,Γ],g''[μ,Γ]を引数に持つため、挑戦値が決定してから、コミットメントを調節することができない(挑戦値生成関数がこの性質を持つことを要求する)。そのため、証明者には、挑戦値はコミットメント決定後に与えられた乱数と考えることができる。
【0283】
どのg[μ,Γ]の成分に関しても、他の成分を基底とするその表現を知らなければ、検証式を満たす応答を複数作る事は、離散対数問題を解く事に等しい。なぜなら、異なるr[μ]、r'[μ]に関して、検証式が成り立つならば、両辺を互いに割る事により、g[μ,Γ]を基底とする、非自明な1の表現が得られる。これは離散対数問題を解く事に等しいからである。
【0284】
入力文列生成方法により生成される入力文列 g[μΓ];μ=1,...,n+m;Γ=0,...は、いずれかのΓに関してなすベクトル g[μ,Γ];μ=1,...,n+mが、ハッシュ関数で生成されているか、あるいはハッシュ関数で生成されているベクトルを乗じた等の操作で生成されていることが明らかになっているため、互いに、他を基底として表現する事が計算量的に困難である、と考えられる。
【0285】
以上により、検証式を満たすr[μ];μ=1,...,n+mとして、
g''[ν,Γ]=Πμ =1 n+mg[μ,Γ]A[ μν ] /F* p;ν=1,...,n+m'なるA[μ,ν]を用いて、
r[μ]=Σν =1 n+m'A[μ,ν]c[ν] /Fq;μ=1,...,n+m、と生成する以外には、証明者は計算できない。個別公開鍵を用いる方法でも同様である。
【0286】
上述のようにあるΓに関して
g''[ν,Γ]=Πμ =1 n+mg[μ,Γ]A[ μ , ν ] /F* p ν=1,...,n+m'
の関係が証明されたならば、他のΓに関しても以下のように同様に証明される。
【0287】
挑戦値生成関数の引数に含めたg[μ,Γ],g''[ν,Γ]に対して検証式が成り立つならば、
g''[ν,Γ]=Πμ =1 n+mg[μ,Γ]A[ μ , ν ] /F* p ν=1,...,n+m'
である。
【0288】
なぜならば、
g''[ν,Γ]=Πμ =1 n+mg[μ,Γ]A ’ [ μν ] /F* p ν=1,...,n+m'
と表した時に検証式が成り立つならば、
=Πμ =1 n+mg[μ,Γ]^{Σν =1 n+m’(A[μ,ν]-A'[μ,ν])c[ν]}=1 /F* p
が成り立つ。
【0289】
ところが、無作為に選ばれたc[ν]に関して、これが成り立つのは、
Πμ =1 n+mg[μ,Γ]A[ μ , ν ]=Πμ =1 n+mg[μ,Γ]A ’ [ μ , ν ] /F* p ν=1,...,n+m'
の時だけであるからである。
【0290】
前記実施例(2)において、変換条件コミットメント生成処理により準元係数をコミットしたものu、u[μ];μ=0,...,nが与えられたとき、応答r[i];i=1,...,nと、準応答r'が検証式を満たす時、準応答r'は一意であり、
r'=λ[0]+Σi=1 nλ[i]r[i]r[i] /Fq
が、検証式を満たすことよりr'は上式で表されるものである。
【0291】
前記実施例(2)の恒等式の検証式の左辺のvの指数部を展開すると、
Σh=1 nΣi=1 nΣj=1 nΣk=1 nA[h,i]A[h,j]A[h,k]c[i]c[j]c[k]
+Σh=1 nΣi=1 nΣj=1 n(3A[h,0]A[h,i]A[h,j]+ρ"λ[h]A[h,i]A[h,j])c[i]c[j] +Σi=1 n(Σh=1 n(3A[h,0]A[h,0]A[h,i]+2ρ"λ[h]A[h,0]A[h,i])+ρ'A[0,i])c[i]
+Σh=1 n(A[h,0]A[h,0]A[h,0]+ρ"λ[h]A[h,0]A[h,0])+ρ''λ[0]+ρ'A[0,0] /Fq
である。
【0292】
右辺のvの指数部は、
Σi=1 n(c[i]c[i]c[i]+ψ[i]c[i]c[i]+φ[i]c[i])+φ[0] /Fq
である。
【0293】
よって、いかなるc[μ];μ=0,...,nに関しても、検証式が成り立つためには、c[μ]c[ν]c[ξ];μ,ν,ξ=0,...,nの係数が同じでなければならない。それ以外の時に、検証式が無作為に与えられたc[μ]に関して成り立つ可能性は、無視できる。
【0294】
これは、
δ[i,j]=1 i=jの場合
=0 その他
δ'[i,j,k]=1 i=j=kの場合
=0 その他
を用いて、
Σh=1 nA[h,i]A[h,j]A[h,k]=δ'[i,j,k] /Fq i,j,k=1,...,n
Σh=1 n(3A[h,0]A[h,i]A[h,j]+ρ"λ[h]A[h,i]A[h,j])=δ[i,j]ψ[i] /Fq i,j=1,...,n
Σh=1 n(3A[h,0]A[h,0]A[h,i]+2ρ"λ[h]A[h,0]A[h,i])+ρ'A[0,i]=φ[i] /Fq i=1,...,n
Σh=1 n(A[h,0]A[h,0]A[h,0]+ρ"λ[h]A[h,0]A[h,0])+ρ''λ[0]+ρ'A[0,0]=φ[0] /Fq
であることを保証する。このことから、A[i,j];i,j=1,...,nについて以下のことが分かる。
【0295】
与えられたj,k;j≠kに対して、第h成分がA[h,j]A[h,k]であるn次元ベクトルA[h,j]A[h,k];h=1,...,nと、与えられたiに対して第h成分がA[h,i]であるn次元ベクトルA[h,i];h=1,...,nとを考える。今、n個のベクトルA[h,i];i=1,...,nがn次元空間を張る、すなわち全てのベクトルがA[h,i];i=1,...,nの線形結合で表せるとする。すると、上式よりベクトルA[h,j]A[h,k];h=1,...,nは、すべてのベクトルA[h,i]と内積が0であるので、
A[h,j]A[h,k]=0 /Fq h=1,...,n
である。
【0296】
このことから、n個のベクトルA[h,i];h=1,...,n;i=1,...,nのうち、各h成分が0でないベクトルはひとつしかない。
【0297】
また上式より、i=j=kの時、A[h,i]A[h,j]A[h,k]≠0であるため、ベクトルA[h,i];h=1,...,nは少なくともひとつは0でない成分を持つ。よって、全てのベクトルA[h,i];h=1,...,nは、0でない成分をただひとつ持ち、上式より、それは11/3である。
【0298】
今度は、n個のベクトルA[h,i];h=1,...,n;i=1,...,nがn次元空間を張ることを示す。
【0299】
ベクトルa[h];h=1,...,nを、n個のスカラーκ[i];i=1,...,nを用いて、
a[h]=Σi=1 nκ[i]A[h,i] h=1,...,n /Fq
と表す。
【0300】
もし、a[h]= /Fqならば、κ[i]=0であることを示せば、n個のベクトルA[h,i];h=1,...,n;i=1,...,nがn次元空間を張ることを示せる。a[h]=0 /Fqならば、上式の両辺に、第h成分がA[h,i]A[h,i]であるn次元ベクトルA[h,i]A[h,i]を掛けると、上式の二つ上の式より、
0=κ[i] /Fq i=1,...,n
となる。以上をもってA[i,j]が置換行列であるか、置換行列のいくつかの成分に11/3を乗じることによって得られる準置換行列であることが示された。
【0301】
実施例(1)の恒等式の検証式の左辺のvの指数部を展開すると、
r[0]r[0]+Σi=1 nr[i]r[i] /Fq
=Σi=1 nΣj=1 nΣk=1 nA[i,j]A[i,k]c[j]c[k]
+Σj=1 n(Σi=1 n2A[i,0]A[i,j]+r'[0]A[0,j])c[j]
+Σi=1 nA[i,0]A[i,0]+r'[0]A[0,0] /Fq
である。右辺のvの指数部は、
Σi=1 n(c[i]c[i]+φ[i]c[i])+φ[0] /Fq
である。
【0302】
よっていかなるc[μ];μ=0,...,nに関しても、検証式が成り立つためには、c[μ]cν;μ,ν=0,...,nの係数が同じでなければならない。それ以外の時に検証式が無作為に与えられた応答に関して成り立つ可能性は無視できる。
【0303】
これは
Σh=1 nA[h,i]A[h,j]=δ[i,j] /Fq
φ[i]=Σ h=1 n2A[h,0]A[h,i]+r'[0]A[0,i] /Fq
φ[0]=Σi=1 nA[i,0]A[i,0]+r'[0]A[0,0] /Fq
であることを保証する。よって、A[i,j];i,j=1,...,nは正規直交行列でなければ検証式は成り立つ可能性は無視できる。
【0304】
前記実施例(3)、実施例(4)においても同様の議論が成り立ち、A[i,j];i,j=1,...,nは、置換行列かつ正規直交行列である。そして、これは置換行列であることを意味する。
【0305】
[知識隠匿性]
再暗号シャッフル証明文において、再暗号シャッフルの情報が計算量的に秘匿されていることを示す。
【0306】
再暗号シャッフルの結果g''[ν],m''[μ]以外にも、
r[μ],r',φ[i],ψ[i],ω,v',v",v,u,u[i],
R[μ],Φ[i],V',Ω,v
等の値が明らかになる。これらは再暗号シャッフルに関する情報を与えている。しかし指数演算された結果でない条件の数より、再暗号シャッフル行列演算に関する未知数のほうが多くなるように、恒等式の係数をコミットして隠蔽すれば離散対数問題をといて条件の数を増やさない限り解けない。ただし変数の数だけでなく未知数の条件の中への現れ方で解ける場合もあるので、若干の調整を行う必要がある。
【0307】
【発明の効果】
以上説明したように、本発明によれば、証明付再暗号シャッフルの計算量を、従来の技術と比べて、低減する、という効果を奏する。
【0308】
特に、検証処理は事前に計算しておくことができない応用例が多いと考えられるので、検証の計算量を比較すると、入力暗号文の数をnとしたとき、従来の技術(1)では、安全変数が160の時冪乗剰余演算が320n+2n回必要とされており、従来の技術(2)では冪乗剰余演算が8(n log n -n+1)回必要とされていたのに対して、本発明によれば、冪乗剰余演算は7n+14回で済み、n>4の時は、いずれの従来の技術よりも冪乗剰余演算が少ない。
【0309】
しかも、本発明においては、検証過程で行う冪乗剰余は、個別の冪乗剰余演算ではなく、冪乗剰余演算の積の計算であることから、個別の冪乗剰余演算よりも少ない計算量で計算できるため、更なる高速化が望める、という効果を奏する。
【図面の簡単な説明】
【図1】従来の技術1の構成を示す図である。
【図2】従来の技術2の構成を示す図である。
【図3】本発明の実施例における証明付再暗号シャッフル装置と再暗号シャッフル検証装置との情報の入出力を示す図である。
【図4】本発明の実施例1の証明付再暗号シャッフル装置の詳細を示す図である。
【図5】本発明の実施例1の再暗号シャッフル検証装置の詳細を示す図である。
【図6】本発明の実施例2の証明付再暗号シャッフル装置の詳細を示す図である。
【図7】本発明の実施例2の再暗号シャッフル検証装置の詳細を示す図である。
【図8】本発明の実施例3の証明付再暗号シャッフル装置の詳細を示す図である。
【図9】本発明の実施例3の再暗号シャッフル検証装置の詳細を示す図である。
【図10】本発明の実施例4の証明付再暗号シャッフル装置の詳細を示す図である。
【図11】本発明の実施例4の再暗号シャッフル検証装置の詳細を示す図である。
【図12】本発明の実施例5の入力文列生成装置の詳細を示す図である。
【図13】本発明の実施例6の入力文列生成方法の情報の入出力を示す図である。
【図14】本発明の実施例6における前処理装置の詳細を示す図である。
【図15】本発明の実施例7の入力文列生成方法の情報の入出力を示す図である。
【図16】本発明の実施例7の入力文列生成方法の情報の入出力を示す図である。
【図17】本発明の実施例7における証明付暗号化装置の詳細を示す図である。
【図18】本発明の実施例7における暗号化検証装置の詳細を示す図である。
【図19】本発明の実施例6と実施例7における証明付公開鍵列生成装置の詳細を示す図である。
【図20】本発明の実施例6と実施例7における公開鍵列検証装置の詳細を示す図である。
【符号の説明】
100 入力暗号文列
101 暗号シャッフル
102 出力暗号文列
103 疑似出力暗号文列
104 挑戦値生成関数
105 挑戦値
106 応答
200 置換
300 入力文列
301 入力暗号文列
303 公開鍵
303 再暗号シャッフル情報
304 再暗号シャッフル行列
305 再暗号秘密乱数
306 情報隠蔽
307 シャッフル行列
308 元係数
309 準元係数
310 係数基底
311 その他
312 証明付き再暗号シャッフル行列装置
313 出力暗号文列
314 暗号シャッフル証明文
315 変換情報保有コミットメント
316 変換条件コミットメント
317 応答
318 準応答
319 再暗号シャッフル検証装置
400、600、800、1000 入力文列
40、601、801、1006 再暗号シャッフル情報
402、602、802、1001 再暗号シャッフル行列
403、603、803、805、1002、1005 元係数
404、604、605、806、1003 係数基底
405、602、808、1009 再暗号シャッフル行列作用
406、603、809、1010 出力文列
407、604、810、1011 出力暗号文列
408、605、811、1012 保有コミット
409、606、812、816、1013、1022 恒等式係数計算
40A、614、823、1017 コミットメント
410、607、813、817、1014、1023 恒等式係数
411、608、814、818、1015、1024 隠蔽処理
412、613、815、822、1016、1028 条件コミット
413、615、824、1030、1034 挑戦値生成
414、616、825、1031、1035 挑戦値
415、617、826、1032、1036 応答生成
416、618、827、1033、1037 応答
417、810、1011 出力暗号文列
418、622、831、1040 再暗号シャッフル証明文
419、623、832、1042 変数情報保有コミットメント生成処理
420、625、834、1043 変換条件コミットメント生成処理
421、624、835、1046、1047 応答生成処理
500 挑戦値生成関数
501 挑戦値
502、706、902、1103、1105 保有検証
503 条件検証
504、709、906、1110 検証結果
505、710 変換情報保有検証処理
506、711 変換条件検証処理
610、1026 準元係数隠蔽処理
612、821、1027 準応答コミット
619、828 準応答生成
620、829 準応答
60A、807、1007 準元係数
704、900、1100 挑戦値生成
705、901、1101 挑戦値
707、903、904、1102 恒等式検証
708、905、1107 準応答検証
820 準元係数隠蔽処理
821 準応答コミット
1004 情報隠蔽因子
1018 選択処理
1019 入力文列
1020 保有生成
1021 保有コミット
1111、1114 条件検証処理
1112、1113 保有検証処理
1200、1400 基底生成関数
1201 入力ベクトル
1300、1501、1901 公開鍵列情報
1301、1502、1902 秘密鍵
1302、1503、1903 疑似秘密鍵
1304、1504 証明付き公開鍵列装置
1305、1306、1505、1506 分散公開鍵列対
1309 前処理装置
1308 検証結果
1401、1403 公開鍵列基底
1402 前処理
1404 公開鍵列
1500 共通初期値
1507 公開鍵列検証装置
1508 検証結果
150A 共通初期値
1600 共通公開鍵
1601 個別公開鍵
1602 平文
1603 暗号化技術
1604 秘密乱数
1605 疑似秘密乱数
1605 証明付き暗号化装置
1607 入力暗号文
1608 暗号化証明文
1609 暗号化検証装置
1610、1810 検証結果
1700、1701、1702 べき剰余演算
1703 暗号文底
1704 コミットメント
1706、1911 挑戦値生成
1707、1912 挑戦値
1708、1913 応答生成
1709、1914 応答
1710、1904 基底生成関数
1711 公開鍵基底
1712 平文
1713 暗号文対
1800、2000 挑戦値生成関数
1801、2003 挑戦値
1802 暗号化検証
1900 初期値
1904、2000 基底生成関数
1905、2002 公開鍵列底
1906 公開鍵列対生成
1907 公開鍵列対
1908 疑似公開鍵列対生成
1915 公開鍵列証明文
1917 公開鍵列対
2004 公開鍵列検証
Claims (17)
- 複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力装置から入力し、前記再暗号シャッフル情報を用いて前記複数の暗号文に対してそれらの順番の並び替えと前記公開鍵による再暗号化とである再暗号シャッフルを施した出力暗号文列と、上記再暗号シャッフル処理の正当性を証明する再暗号シャッフル証明文とを出力装置から出力する、情報処理装置による証明付再暗号シャッフル方法において、
前記入力装置から入力した前記入力文列から再暗号シャッフルにより出力暗号文列を生成するとともに、前記入力文列から前記出力暗号文列を生成するときに用いた変数を知っていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換情報保有コミットメントを生成する変換情報保有コミットメント生成ステップと、
前記再暗号シャッフルに用いた変数が一定の条件を満たしているために、前記変数を用いた入力文列から出力文列の生成は再暗号シャッフルとなっているのであるが、これらの変数がこの一定の条件を満たしていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換条件コミットメントを生成する変換条件コミットメント生成ステップと、
前記二つの証明方法にて言及された、それらの構成要素の挑戦値が入力された時に、前記挑戦値と再暗号シャッフル情報とから応答を生成する、応答生成ステップと、
を含み、
前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを、前記再暗号シャッフル証明文として、前記出力装置から出力し、前記再暗号シャッフル情報は、再暗号シャッフルのやり方の情報と、前記再暗号化のための変数と、乱数とを含む証明付再暗号シャッフル方法であって、
前記変換情報保有コミットメント生成ステップは、前記出力暗号文列および前記変換情報保有コミットメントを、前記入力文列と、前記再暗号化のための変数と、前記再暗号シャッフルのやり方の情報および前記乱数とを用いて生成し、
前記変換条件コミットメント生成ステップは、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てを、コミットしたものを前記変換条件コミットメントとするもので、
前記応答生成ステップは、前記応答を、再暗号シャッフル情報と挑戦値から積和演算のみで生成するもので、
前記挑戦値は、前記入力文列と前記出力暗号文列とコミットメント全てが決まった後に、無作為に決められる複数の値をその成分とするか、あるいは、前記入力文列と前記出力暗号文列と全てのコミットメントとを入力として挑戦値生成関数により出力される複数の値をその成分とするものであり、
前記挑戦値生成関数は、与えられた入力から複数の値を出力するものであって、それらの出力からは入力を求めること、出力成分間の関係を意図して入力を決定することが、計算量的に困難である関数である、ことを特徴とする証明付再暗号シャッフル方法。 - 入力文列と、出力暗号文列と、変換情報保有コミットメント、変換条件コミットメント、応答から構成される再暗号シャッフル証明文が入力装置から入力され、受理または不受理である検証結果を出力装置に出力する、情報処理装置による再暗号シャッフル検証方法において、
前記入力文列と、前記出力暗号文列と、前記入力文列から前記出力暗号文列へのコミットメント、挑戦値、応答からなる対話証明方法で行う場合の変換情報の保有に関する変換情報保有コミットメントと、応答と、挑戦値とから、前記入力文列から前記出力暗号文列を再暗号シャッフルして生成するために用いた再暗号シャッフル情報を保有していることを検証する、変換情報保有検証ステップと、
前記再暗号シャッフル情報の満たす条件に関する変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列を生成するために用いた再暗号シャッフル情報が一定の条件を満たすこと、すなわちこの情報を用いて入力文列から出力文列を生成すれば正しく再暗号シャッフルが行われることを検証する、変換条件検証ステップと、
を含み、
前記変換情報保有検証ステップと前記変換条件検証ステップの検証がともに受理されたら、再暗号シャッフル検証結果として受理を、それ以外は不受理を前記出力装置に出力する再暗号シャッフル検証方法であって、
前記変換情報保有検証ステップは、前記出力暗号文列、前記変換情報保有コミットメント、挑戦値、前記入力文列と応答より、前記変換情報保有コミットメントを生成した装置に、前記入力文列から前記出力文列を生成するのに用いられた再暗号シャッフル情報が少なくとも一時的に保存されていたことを検証し、
前記変換条件検証ステップは、前記出力暗号文列、前記変換条件コミットメント、挑戦値、前記入力文列と応答より、前記再暗号シャッフルを行うのに用いた変数が一定の条件、すなわちこの条件を満たす変数を用いて入力文列から出力暗号文列を生成すれば正当な再暗号シャッフルになる条件、を満たすことを、前記入力文列から出力暗号文列への再暗号シャッフルに用いる変数の満たす条件を記述する応答と挑戦値の多項式である恒等式が成立することを確認することで検証する、ことを特徴とする再暗号シャッフル検証方法。 - 請求項1に記載の証明付再暗号シャッフル方法において、
前記応答生成ステップは、前記挑戦値より、再暗号シャッフル行列と、元係数、準元係数、係数基底を有する再暗号シャッフル情報を用いて応答、および、準応答の二種の応答を生成するものであり、
前記変換条件コミットメント生成ステップは、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、前記応答と前記準応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てをコミットしたものを前記変換条件コミットメントとして生成し、
さらに、乱数を生成し、前記乱数を前記準元係数とし、前記準元係数の値をコミットしたものを準応答コミットメントとして生成するもので、
前記準応答は、応答と挑戦値との多項式であり、
前記再暗号シャッフル証明文は、前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答と前記準応答とを含む、ことを特徴とする証明付再暗号シャッフル方法。 - 請求項1または請求項3に記載の証明付再暗号シャッフル方法において、
前記変換条件コミットメント生成ステップにおける恒等式が、応答の各成分は挑戦値の多項式よりなり、前記多項式の一部の、一部の項の各2乗の和と、挑戦値の成分の一部の各2乗の和とが、挑戦値によらずに等しくなる関係を内包している、ものであることを特徴とする証明付再暗号シャッフル方法。 - 請求項1または請求項3に記載の証明付再暗号シャッフル方法において、
前記変換条件コミットメント生成ステップにおける恒等式が、応答の各成分は挑戦値の多項式であるが、これらの多項式の一部の、一部の項の各3乗の和と、挑戦値の成分の一部の各3乗の和とが、挑戦値によらずに等しくなる関係を内包しているものである、ことを特徴とする証明付再暗号シャッフル方法。 - 複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力装置から入力し、前記再暗号シャッフル情報を用いて前記複数の暗号文に対してそれらの順番の並び替えと前記公開鍵による再暗号化とである再暗号シャッフルを施した出力暗号文列と、上記再暗号シャッフル処理の正当性を証明する再暗号シャッフル証明文とを出力装置から出力する、情報処理装置による証明付再暗号シャッフル方法において、
前記入力装置から入力した前記入力文列から再暗号シャッフルにより出力暗号文列を生成するとともに、前記入力文列から前記出力暗号文列を生成するときに用いた変数を知っていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換情報保有コミットメントを生成する変換情報保有コミットメント生成ステップと、
前記再暗号シャッフルに用いた変数が一定の条件を満たしているために、前記変数を用いた入力文列から出力文列の生成は再暗号シャッフルとなっているのであるが、これらの変数がこの一定の条件を満たしていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の変換条件コミットメントを生成する変換条件コミットメント生成ステップと、
前記二つの証明方法にて言及された、それらの構成要素の挑戦値が入力された時に、前記挑戦値と再暗号シャッフル情報とから応答を生成する、応答生成ステップと、
を含み、
前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを、前記再暗号シャッフル証明文として、前記出力装置から出力し、前記再暗号シャッフル情報は、再暗号シャッフルのやり方の情報と、前記再暗号化のための変数と、乱数とを含む証明付再暗号シャッフル方法であって、
対応する秘密鍵が同一であることの証明文が存在する公開鍵の列であって、全ての前記公開鍵から前記公開鍵の列を構成する要素の一つを集めて作った列は、与えられた前記入力文列から一意的に決定される疑似乱数の数列となるもので、前記公開鍵の列の長さは前記入力文列と同じ長さであり、前記公開鍵の列の特定の要素である前記公開鍵をもって前記入力文列の特定の要素を再暗号化することで新たな前記入力文列の特定の要素とすることを特徴とする、
証明付再暗号シャッフル方法。 - 複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力装置から入力し、前記再暗号シャッフル情報を用いて前記複数の暗号文に対してそれらの順番の並び替えと前記公開鍵による再暗号化とである再暗号シャッフルを施した出力暗号文列と、上記再暗号シャッフル処理の正当性を証明する再暗号シャッフル証明文とを出力装置から出力する証明付再暗号シャッフル装置において、
前記入力装置から入力した前記入力文列から再暗号シャッフルにより出力暗号文列を生成するとともに、前記入力文列から前記出力暗号文列を生成するときに用いた変数を知っていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の変換情報保有コミットメントコミットメントを生成する変換情報保有コミットメント生成部と、
前記再暗号シャッフルに用いた変数が一定の条件を満たしているためにこれらの変数を用いた入力文列から出力文列の生成は再暗号シャッフルとなっているのであるが、これらの変数がこの一定の条件を満たしていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換情報保有コミットメントを生成する変換条件コミットメント生成部と、
前記二つの証明方法にて言及された、それらの構成要素の挑戦値を入力された時に、挑戦値と再暗号シャッフル情報とから応答を生成する、応答生成部と、
を含み、
前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを、前記再暗号シャッフル証明文として、前記出力装置から出力し、前記再暗号シャッフル情報は、再暗号シャッフルのやり方の情報と、前記再暗号化のための変数と、乱数とを含む証明付再暗号シャッフル装置であって、
前記変換情報保有コミットメント生成部は、前記出力暗号文列および前記変換情報保有コミットメントを、前記入力文列と、前記再暗号化のための変数および再暗号シャッフルのやり方の情報および乱数とを用いて生成し、
前記変換条件コミットメント生成部は、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てを、コミットしたものを前記変換条件コミットメントとするもので、
前記応答生成部は、前記応答を、再暗号シャッフル情報と挑戦値から積和演算のみで生成するもので、
前記挑戦値は、前記入力文列と前記出力暗号文列とコミットメント全てが決まった後に、無作為に決められる複数の値をその成分とするか、あるいは、前記入力文列と前記出力暗号文列と全てのコミットメントとを入力として挑戦値生成関数により出力される複数の値をその成分とするものであり、
前記挑戦値生成関数は、与えられた入力から複数の値を出力するものであって、それらの出力からは入力を求めること、出力成分間の関係を意図して入力を決定することが、計算量的に困難である関数である、ことを特徴とする証明付再暗号シャッフル装置。 - 入力文列と、出力暗号文列と、変換情報保有コミットメント、変換条件コミットメント、応答から構成される再暗号シャッフル証明文が入力装置から入力され、受理または不受理である検証結果を出力装置に出力する再暗号シャッフル検証装置において、
前記入力文列と、前記出力暗号文列と、前記入力文列から前記出力暗号文列へのコミットメント、挑戦値、応答からなる対話証明方法で行う場合の変換情報の保有に関する変換情報保有コミットメントと、応答と、挑戦値とから、前記入力文列から前記出力暗号文列を再暗号シャッフルして生成するために用いた再暗号シャッフル情報を保有していることを検証する、変換情報保有検証部と、
前記再暗号シャッフル情報の満たす条件に関する変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列を生成するために用いた再暗号シャッフル情報が一定の条件を満たすこと、すなわちこの情報を用いて入力文列から出力文列を生成すれば正しく再暗号シャッフルが行われることを検証する、変換条件検証部と、
を含み、
前記変換情報保有検証部と前記変換条件検証ステップの検証がともに受理されたら、再暗号シャッフル検証結果として受理を、それ以外は不受理を前記出力装置に出力する再暗号シャッフル検証装置であって、
前記変換情報保有検証部は、前記出力暗号文列、前記変換情報保有コミットメント、挑戦値、前記入力文列と応答より、前記変換情報保有コミットメントを生成した装置に、前記入力文列から前記出力文列を生成するのに用いられた再暗号シャッフル情報が少なくとも一時的に保存されていたことを検証し、
前記変換条件検証部は、前記出力暗号文列、前記変換条件コミットメント、挑戦値、前記入力文列と応答より、前記再暗号シャッフルを行うのに用いた変数が一定の条件、すなわちこの条件を満たす変数を用いて入力文列から出力暗号文列を生成すれば正当な再暗号シャッフルになる条件、を満たすことを、前記入力文列から出力暗号文列への再暗号シャッフルに用いる変数の満たす条件を記述する応答と挑戦値の多項式である恒等式が成立することを確認することで検証する、ことを特徴とする再暗号シャッフル検証装置。 - 請求項7に記載の証明付再暗号シャッフル装置において、
前記応答生成部は、前記挑戦値より、再暗号シャッフル行列と、元係数、準元係数、係数基底を有する再暗号シャッフル情報を用いて応答および、準応答と呼ぶ二種の応答を生成するものであり、
前記変換条件コミットメント生成部は、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、前記応答と前記準応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てをコミットしたものを前記変換条件コミットメントとして生成し、
さらに、乱数を生成し、前記乱数を準元係数とし、前記準元係数の値をコミットしたものを準応答コミットメントとして生成するもので、前記準応答は、応答と挑戦値との多項式であり、
前記再暗号シャッフル証明文は、前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答と前記準応答と、を含む、ことを特徴とする証明付再暗号シャッフル装置。 - 請求項7または請求項9に記載の証明付再暗号シャッフル装置において、
前記変換条件コミットメント生成部における恒等式が、応答の各成分は挑戦値の多項式よりなり、前記多項式の一部の、一部の項の各2乗の和と、挑戦値の成分の一部の各2乗の和とが、挑戦値によらずに等しくなる関係を内包している、ものであることを特徴とする証明付再暗号シャッフル装置。 - 請求項7または請求項9に記載の証明付再暗号シャッフル装置において、
前記変換条件コミットメント生成部における恒等式が、応答の各成分は挑戦値の多項式であるが、これらの多項式の一部の、一部の項の各3乗の和と、挑戦値の成分の一部の各3乗の和とが、挑戦値によらずに等しくなる関係を内包しているものである、ことを特徴とする証明付再暗号シャッフル装置。 - 複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力装置から入力し、前記再暗号シャッフル情報を用いて前記複数の暗号文に対してそれらの順番の並び替えと前記公開鍵による再暗号化とである再暗号シャッフルを施した出力暗号文列と、上記再暗号シャッフル処理の正当性を証明する再暗号シャッフル証明文とを出力装置から出力する証明付再暗号シャッフル装置において、
前記入力装置から入力した前記入力文列から再暗号シャッフルにより出力暗号文列を生成するとともに、前記入力文列から前記出力暗号文列を生成するときに用いた変数を知っていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換情報保有コミットメントを生成する変換情報保有コミットメント生成部と、
前記再暗号シャッフルに用いた変数が一定の条件を満たしているためにこれらの変数を用いた入力文列から出力文列の生成は再暗号シャッフルとなっているのであるが、これらの変数がこの一定の条件を満たしていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換条件コミットメントを生成する変換条件コミットメント生成部と、
前記二つの証明方法にて言及された、それらの構成要素の挑戦値を入力された時に、挑戦値と再暗号シャッフル情報とから応答を生成する、応答生成部と、
を含み、
前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを、前記再暗号シャッフル証明文として、前記出力装置から出力し、前記再暗号シャッフル情報は、再暗号シャッフルのやり方の情報と、前記再暗号化のための変数と、乱数とを含む証明付再暗号シャッフル装置であって、
対応する秘密鍵が同一であることの証明文が存在する公開鍵の列であって、全ての前記公開鍵から前記公開鍵の列を構成する要素の一つを集めて作った列は、与えられた前記入力文列から一意的に決定される疑似乱数の数列となるもので、前記公開鍵の列の長さは前記入力文列と同じ長さであり、前記公開鍵の列の特定の要素である前記公開鍵をもって前記入力文列の特定の要素を再暗号化することで新たな前記入力文列の特定の要素とすることを特徴とする、
証明付再暗号シャッフル装置。 - 複数の暗号文と一つまたは複数の公開鍵とからなる入力文列と、再暗号シャッフル情報とを入力装置から入力し、前記再暗号シャッフル情報を用いて前記複数の暗号文に対してそれらの順番の並び替えと前記公開鍵による再暗号化とである再暗号シャッフルを施した出力暗号文列と、上記再暗号シャッフル処理の正当性を証明する再暗号シャッフル証明文とを出力装置から出力する証明付再暗号シャッフル装置を構成するコンピュータに、
(a)前記入力装置から入力した前記入力文列から再暗号シャッフルにより出力暗号文列を生成するとともに、前記入力文列から前記出力暗号文列を生成するときに用いた変数を知っていることの証明を、一般的な3ステップ、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、変換情報保有コミットメントを生成する変換情報保有コミットメント生成処理と、
(b)前記再暗号シャッフルに用いた変数が一定の条件を満たしているためにこれらの変数を用いた入力文列から出力文列の生成は再暗号シャッフルとなっているのであるが、これらの変数がこの一定の条件を満たしていることの証明を、一般的な3処理、すなわちコミットメント、挑戦値、応答からなる対話証明方法で行う場合の、換情報保有コミットメントを生成する変換条件コミットメント生成処理と、
(c)前記二つの証明方法にて言及された、それらの構成要素の挑戦値を入力された時に、挑戦値と再暗号シャッフル情報とから応答を生成する、応答生成処理と、
(d)前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答とを、前記再暗号シャッフル証明文として、前記出力装置から出力する処理と、
を含み、前記再暗号シャッフル情報は、再暗号シャッフルのやり方の情報と、前記再暗号化のための変数と、乱数とを含み、
前記(a)乃至(d)の処理を実行させるためのプログラムを記録した記録媒体であって、
前記変換情報保有コミットメント生成処理は、前記出力暗号文列および前記変換情報保有コミットメントを、前記入力文列と、前記再暗号化のための変数、再暗号シャッフルのやり方の情報および乱数とを用いて生成し、
前記変換条件コミットメント生成処理は、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てを、コミットしたものを前記変換条件コミットメントとするもので、
前記応答生成処理は、前記応答を、再暗号シャッフル情報と挑戦値から積和演算のみで生成するもので、
前記挑戦値は、前記入力文列と前記出力暗号文列とコミットメント全てが決まった後に、無作為に決められる複数の値をその成分とするか、あるいは、前記入力文列と前記出力暗号文列と全てのコミットメントとを入力として挑戦値生成関数により出力される複数の値をその成分とするものであり、
前記挑戦値生成関数は、与えられた入力から複数の値を出力するものであって、それらの出力からは入力を求めること、出力成分間の関係を意図して入力を決定することが、計算量的に困難である関数である、ことを特徴とする記録媒体。 - 入力文列と、出力暗号文列と、変換情報保有コミットメント、変換条件コミットメント、応答から構成される再暗号シャッフル証明文が入力装置から入力され、受理または不受理である検証結果を出力装置に出力する再暗号シャッフル装置を構成するコンピュータに、
(a)前記入力文列と、前記出力暗号文列と、前記入力文列から前記出力暗号文列へのコミットメント、挑戦値、応答からなる対話証明方法で行う場合の変換情報の保有に関する変換情報保有コミットメントと、応答と、挑戦値とから、前記入力文列から前記出力暗号文列を再暗号シャッフルして生成するために用いた再暗号シャッフル情報を保有していることを検証する、変換情報保有検証処理と、
(b)前記再暗号シャッフル情報の満たす条件に関する変換条件コミットメントと、前記応答と、前記挑戦値とから、前記入力文列から前記出力暗号文列を生成するために用いた再暗号シャッフル情報が一定の条件を満たすこと、すなわちこの情報を用いて入力文列から出力文列を生成すれば正しく再暗号シャッフルが行われることを検証する、変換条件検証処理と、(c)前記変換情報保有検証処理と前記変換条件検証処理の検証がともに受理されたら、再暗号シャッフル検証結果として受理を、それ以外は不受理を前記出力装置に出力する処理と、
の前記(a)乃至(c)の処理を実行させるためのプログラムを記録した記録媒体であって、
前記変換情報保有検証処理は、前記出力暗号文列、前記変換情報保有コミットメント、挑戦値、前記入力文列と応答より、前記変換情報保有コミットメントを生成した装置に、前記入力文列から前記出力文列を生成するのに用いられた再暗号シャッフル情報が少なくとも一時的に保存されていたことを検証し、
前記変換条件検証処理は、前記出力暗号文列、前記変換条件コミットメント、挑戦値、前記入力文列と応答より、前記再暗号シャッフルを行うのに用いた変数が一定の条件、すなわちこの条件を満たす変数を用いて入力文列から出力暗号文列を生成すれば正当な再暗号シャッフルになる条件、を満たすことを、前記入力文列から出力暗号文列への再暗号シャッフルに用いる変数の満たす条件を記述する応答と挑戦値の多項式である恒等式が成立することを確認することで検証する、ことを特徴とする記録媒体。 - 請求項13に記載の記録媒体において、
前記応答生成処理は、前記挑戦値より、再暗号シャッフル行列と、元係数、準元係数、係数基底を有する再暗号シャッフル情報を用いて応答および、準応答と呼ぶ二種の応答を生成するものであり、
前記変換条件コミットメント生成処理は、前記入力文列から前記出力暗号文列への再暗号シャッフルで用いられる変数の満たす条件を記述する、前記応答と前記準応答と挑戦値の多項式である恒等式の係数を、再暗号シャッフル情報から生成し、前記恒等式の係数、または前記係数の一部もしくは全てをコミットしたものを前記変換条件コミットメントとして生成し、
さらに、乱数を生成し、前記乱数を準元係数とし、前記準元係数の値をコミットしたものを準応答コミットメントとして生成するもので、
前記準応答は、応答と挑戦値との多項式であり、
前記再暗号シャッフル証明文は、前記変換情報保有コミットメントと前記変換条件コミットメントと前記応答と前記準応答とを含む、ことを特徴とする記録媒体。 - 請求項13または請求項15に記載の記録媒体において、
前記変換条件コミットメント生成処理における恒等式が、応答の各成分は挑戦値の多項式よりなり、前記多項式の一部の、一部の項の各2乗の和と、挑戦値の成分の一部の各2乗の和とが、挑戦値によらずに等しくなる関係を内包している、ものであることを特徴とする記録媒体。 - 請求項13に記載の記録媒体において、
前記変換条件コミットメント生成処理における恒等式が、応答の各成分は挑戦値の多項式であるが、これらの多項式の一部の、一部の項の各3乗の和と、挑戦値の成分の一部の各3乗の和とが、挑戦値によらずに等しくなる関係を内包しているものであることを特徴とする記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000059091A JP4181724B2 (ja) | 2000-03-03 | 2000-03-03 | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 |
US09/796,458 US7035404B2 (en) | 2000-03-03 | 2001-03-02 | Method and apparatus for shuffle with proof, method and apparatus for shuffle verification, method and apparatus for generating input message sequence and program for same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000059091A JP4181724B2 (ja) | 2000-03-03 | 2000-03-03 | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001251289A JP2001251289A (ja) | 2001-09-14 |
JP4181724B2 true JP4181724B2 (ja) | 2008-11-19 |
Family
ID=18579592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000059091A Expired - Fee Related JP4181724B2 (ja) | 2000-03-03 | 2000-03-03 | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7035404B2 (ja) |
JP (1) | JP4181724B2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050049082A1 (en) * | 1998-03-18 | 2005-03-03 | Callaway Golf Company | Golf ball |
US20060085647A1 (en) * | 2000-03-24 | 2006-04-20 | Neff C A | Detecting compromised ballots |
KR100727281B1 (ko) * | 2001-03-24 | 2007-06-13 | 데이트그리티 코포레이션 | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 |
JP3901471B2 (ja) | 2001-05-18 | 2007-04-04 | 日本電気株式会社 | 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法 |
JP4774650B2 (ja) * | 2001-08-07 | 2011-09-14 | 日本電気株式会社 | 離散対数の一致または不一致を示すゼロ知識証明システム及び方法 |
JP4306232B2 (ja) | 2002-11-25 | 2009-07-29 | 日本電気株式会社 | 証明システムと評価システム |
WO2005071640A1 (ja) * | 2004-01-26 | 2005-08-04 | Nec Corporation | 多数の入力から関数を計算する方法および装置 |
JP4715518B2 (ja) | 2004-01-26 | 2011-07-06 | 日本電気株式会社 | 匿名電子投票システム及び匿名電子投票方法 |
CA2567727A1 (en) * | 2004-06-07 | 2005-12-22 | Dategrity Corporation | Cryptographic systems and methods, including practical high certainty intent verification, such as for encrypted votes in an electronic election |
US20060074315A1 (en) * | 2004-10-04 | 2006-04-06 | Jianming Liang | Medical diagnostic ultrasound characterization of cardiac motion |
US7363492B2 (en) * | 2005-02-25 | 2008-04-22 | Motorola, Inc. | Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices |
WO2006092909A1 (ja) | 2005-02-28 | 2006-09-08 | Nec Corporation | シャッフル復号正当性証明装置と方法、シャッフル復号検証装置と方法、プログラムと記録媒体 |
JP4771053B2 (ja) | 2005-05-27 | 2011-09-14 | 日本電気株式会社 | 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム |
CN102396011B (zh) * | 2009-04-24 | 2014-04-16 | 日本电信电话株式会社 | 加密装置、解密装置、加密方法、解密方法、安全方法、程序以及记录介质 |
EP2423905B1 (en) * | 2009-04-24 | 2016-03-16 | Nippon Telegraph and Telephone Corporation | Apparatus, method, program and recording medium for computation of pairings over finite fields |
WO2011047085A2 (en) * | 2009-10-13 | 2011-04-21 | Certimix, Inc. | Method and apparatus for efficient and secure creating transferring, and revealing of messages over a network |
US8862879B2 (en) * | 2009-10-13 | 2014-10-14 | Sergio Demian LERNER | Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network |
US9172529B2 (en) * | 2011-09-16 | 2015-10-27 | Certicom Corp. | Hybrid encryption schemes |
US9397830B2 (en) * | 2012-12-30 | 2016-07-19 | Raymond Richard Feliciano | Method and apparatus for encrypting and decrypting data |
JP2014220661A (ja) * | 2013-05-08 | 2014-11-20 | 株式会社東芝 | 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム |
US9294266B2 (en) * | 2013-06-27 | 2016-03-22 | Qualcomm Incorporated | Method and apparatus to encrypt plaintext data |
US10425417B2 (en) | 2017-03-08 | 2019-09-24 | Bank Of America Corporation | Certificate system for verifying authorized and unauthorized secure sessions |
US10374808B2 (en) | 2017-03-08 | 2019-08-06 | Bank Of America Corporation | Verification system for creating a secure link |
US10361852B2 (en) | 2017-03-08 | 2019-07-23 | Bank Of America Corporation | Secure verification system |
US10432595B2 (en) * | 2017-03-08 | 2019-10-01 | Bank Of America Corporation | Secure session creation system utililizing multiple keys |
US10715471B2 (en) * | 2018-08-22 | 2020-07-14 | Synchronoss Technologies, Inc. | System and method for proof-of-work based on hash mining for reducing spam attacks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5559411A (en) * | 1978-10-30 | 1980-05-02 | Olympus Optical Co Ltd | Focus point detector |
US5682430A (en) * | 1995-01-23 | 1997-10-28 | Nec Research Institute, Inc. | Secure anonymous message transfer and voting scheme |
US6092051A (en) * | 1995-05-19 | 2000-07-18 | Nec Research Institute, Inc. | Secure receipt-free electronic voting |
US6076163A (en) * | 1997-10-20 | 2000-06-13 | Rsa Security Inc. | Secure user identification based on constrained polynomials |
ATE309655T1 (de) * | 2000-03-24 | 2005-11-15 | Dategrity Corp | Überprüfbare, geheime mischung von verschlüsselten daten wie z. b. elgamal- verschlüsselte daten für gesicherte mehrinstanzwahlen |
-
2000
- 2000-03-03 JP JP2000059091A patent/JP4181724B2/ja not_active Expired - Fee Related
-
2001
- 2001-03-02 US US09/796,458 patent/US7035404B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20010024501A1 (en) | 2001-09-27 |
JP2001251289A (ja) | 2001-09-14 |
US7035404B2 (en) | 2006-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4181724B2 (ja) | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 | |
Martins et al. | A survey on fully homomorphic encryption: An engineering perspective | |
Smart et al. | Fully homomorphic SIMD operations | |
Cohen et al. | Handbook of elliptic and hyperelliptic curve cryptography | |
Halevi | Homomorphic encryption | |
Langlois et al. | Lattice-based group signature scheme with verifier-local revocation | |
Katsumata et al. | Partitioning via non-linear polynomial functions: more compact IBEs from ideal lattices and bilinear maps | |
Koblitz et al. | Another look at" provable security" | |
May | Using LLL-reduction for solving RSA and factorization problems | |
Joux | Algorithmic cryptanalysis | |
US7688973B2 (en) | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method | |
JP2007510947A (ja) | 多数当事者の効率的な乗算のための方法及び装置 | |
Del Pino et al. | Short discrete log proofs for FHE and ring-LWE ciphertexts | |
Sengupta et al. | Efficient proofs of retrievability with public verifiability for dynamic cloud storage | |
Ezerman et al. | Provably secure group signature schemes from code-based assumptions | |
JP5400740B2 (ja) | 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置 | |
Tourky et al. | Homomorphic encryption the “holy grail” of cryptography | |
Cheon et al. | A new additive homomorphic encryption based on the co-ACD problem | |
Apon et al. | Vector encoding over lattices and its applications | |
JP3901471B2 (ja) | 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法 | |
Fan et al. | Column-wise garbling, and how to go beyond the linear model | |
Blazy et al. | A rank metric code-based group signature scheme | |
Yang et al. | An efficient CCA-secure cryptosystem over ideal lattices from identity-based encryption | |
Bakas et al. | Feel the Quantum Functioning: Instantiating Generic Multi-Input Functional Encryption from Learning with Errors (extended version)? | |
Liu et al. | Quantum-resistant anonymous IBE with traceable identities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040531 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041214 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050113 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050224 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050311 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050408 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070117 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080717 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080901 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |