JP2015184594A - 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置 - Google Patents

暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP2015184594A
JP2015184594A JP2014062743A JP2014062743A JP2015184594A JP 2015184594 A JP2015184594 A JP 2015184594A JP 2014062743 A JP2014062743 A JP 2014062743A JP 2014062743 A JP2014062743 A JP 2014062743A JP 2015184594 A JP2015184594 A JP 2015184594A
Authority
JP
Japan
Prior art keywords
polynomial
text data
square value
public key
encrypted
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.)
Granted
Application number
JP2014062743A
Other languages
English (en)
Other versions
JP6349841B2 (ja
Inventor
雅哉 安田
Masaya Yasuda
雅哉 安田
武司 下山
Takeshi Shimoyama
武司 下山
淳 小暮
Atsushi Kogure
淳 小暮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014062743A priority Critical patent/JP6349841B2/ja
Priority to EP15156575.1A priority patent/EP2924912B1/en
Priority to US14/634,931 priority patent/US9473302B2/en
Publication of JP2015184594A publication Critical patent/JP2015184594A/ja
Application granted granted Critical
Publication of JP6349841B2 publication Critical patent/JP6349841B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】秘匿化パターンマッチングにおける処理負荷を軽減することを課題とする。【解決手段】暗号文処理装置は、第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、第1のテキストデータの各成分の2乗値ベクトルデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の2乗値多項式とを取得する。暗号文処理装置は、第2のテキストデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の多項式と、第2のテキストデータの各成分の2乗値ベクトルデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の2乗値多項式とを取得する。暗号文処理装置は、第1の多項式および第1の2乗値多項式と、第2の多項式および第2の2乗値多項式とを用いて、第2のテキストデータが第1のテキストデータに含まれるかを判定する。【選択図】図3

Description

本発明は、暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置に関する。
現在、個人情報や機密情報を保護する規制が強化される一方で、それらの情報を利用したサービスの市場が拡大しつつある。また、個人情報や機密情報を保護したままデータの利活用ができる秘匿化技術が利用されている。秘匿化技術の中には、データ種別やサービス要件に応じて、暗号技術や統計技術を使った技術がある。
暗号技術を用いた秘匿化技術として準同型暗号技術が知られている。準同型暗号技術は、暗号化と復号とで一対の異なる鍵を用いる公開鍵暗号方式の1つであり、暗号化したままデータを操作できる暗号技術である。例えば、平文m1及びm2に対して、加算又は乗法に関する準同型暗号方式の暗号化関数をEとすると、以下の式(1)又は(2)の性質が成り立つ。
(1)E(m1)+E(m2)=E(m1+m2)
(2)E(m1)*E(m2)=E(m1*m2)
(1)式が成り立つものを加算について準同型と呼び、(2)式が成り立つものを乗算について準同型と呼ぶ。
準同型暗号方式を用いれば、暗号文の加算や乗算により、暗号文を復号することなく、加算や乗算を行った演算結果の暗号文を得ることができる。この準同型暗号の性質は、電子投票や電子現金などの分野やクラウドコンピューティング分野において利用される。なお、準同型暗号方式としては、乗算に利用されるRSA(Rivest Shamir Adleman)暗号方式や加算に利用されるAdditive ElGamal暗号方式が代表的である。
近年では、加算と乗算の両方に利用することができる準同型暗号方式が知られており、加算と乗算の両方に利用でき、かつ、処理性能と暗号データサイズの両面で実用的な準同型暗号方式も知られている。
ここで、一例として準同型暗号方式について説明する。まず、暗号鍵生成について、主に3つの鍵生成パラメータ(n,q,t)を用意する。nは2冪の整数で格子次元と呼ばれ、qは素数、tは素数qよりも小さい整数とする。暗号鍵生成の手順としては、まず秘密鍵として各係数が非常に小さいn次元の多項式skをランダムに生成する。なお、各係数の小ささは、あるパラメータσで制限される。次に、各係数がqより小さいn次元多項式a1と各係数が非常に小さいn次元多項式eをランダムに生成する。
そこで、a0=−(a1*sk+t*e)を計算し、組(a0,a1)を公開鍵pkと定義する。但し、a0の多項式計算時において、n次以上の多項式に対してx=−1,xn+1=−x,...と計算することで、絶えずn次より小さい多項式を計算する。さらに、多項式の係数については、素数qで割った余りを出力する。なお、このような演算を行う空間を、学術的にはRq:=Fq[x]/(x+1)と表すことが多い。
次に、各係数がtより小さいn次多項式で表される平文データmと公開鍵pk=(a0,a1)に対して、各係数が非常に小さい3つのn次元多項式u,f,gをランダムに生成し、平文データmの暗号データE(m,pk)=(c0,c1)を次のように定義する。(c0,c1)については、c0=a0*u+t*g+m、c1=a1*u+t*fと計算する。なお、これらの計算も空間Rq上での演算を行う。
そして、2つの暗号文E(m1,pk)=(c0,c1)と、E(m2,pk)=(d0,d1)に対して、暗号加算E(m1,pk)+E(m2,pk)を(c0+d0,c1+d1)と計算し、暗号乗算E(m1,pk)*E(m2,pk)を(c0+d0,c0*d1+c1*d0,c1*d1)と計算する。このように暗号乗算を行うと、暗号文のデータサイズが2成分ベクトルから3成分ベクトルになることに注意する。
最後に、復号処理であるが、暗号文c=(c0,c1,c2,...)に対して(ここでは複数の暗号乗算などの暗号操作により暗号文データの成分が増大したと仮定している)、秘密鍵skを用いてDec(c,sk)=[c0+c1*sk+c2*sk2+・・・]q mod tを計算することで、復号する。ここで、[z]qの値は、整数zをqで割った余りwを計算し、w<qならば[z]q=wを出力し、w≧qの場合には[z]q=w−qを出力する。さらに、a mod tは整数aをtで割った余りを意味する。
以下、分かりやすくするために数値例を示しておく。
秘密鍵sk=Mod(Mod(4,1033)*x3+Mod(4,1033)*x2+Mod(1,1033)*x,x4+1)
公開鍵pk=(a0,a1)
a0=Mod(Mod(885,1033)*x3+Mod(519,1033)*x2+Mod(621,1033)*x+Mod(327,1033),x4+1)
a1=Mod(Mod(661,1033)*x3+Mod(625,1033)*x2+Mod(861,1033)*x+Mod(311,1033),x4+1)
E(m,pk)=(c0,c1)
平文データm=3+2x+2x2+2x3とする。
c0=Mod(Mod(822,1033)*x3+Mod(1016,1033)*x2+Mod(292,1033)*x+Mod(243,1033),x4+1)
c1=Mod(Mod(840,1033)*x3+Mod(275,1033)*x2+Mod(628,1033)*x+Mod(911,1033),x4+1)
なお、上記値において、鍵生成パラメータ(n,q,t)については、(4,1033,20)と設定した。さらに、Mod(a,q)は整数aを素数qで割った余りを意味し、Mod(f(x),x+1)は多項式f(x)を多項式x4+1で割った余りの多項式を意味する。但し、x=−1、x=x,...などを意味するものとする。
準同型暗号方式の応用例として、秘匿パターンマッチングがある。図6を用いて、秘匿パターンマッチングを説明する。図6は、パターンマッチングを説明する図である。まず、パターンマッチングとは、テキスト文字列の中にパターン文字列があるか判定する処理で、例えばテキスト文字列T=“acbabbaccb”の中に、パターン文字列P=“abbac”があるか判定する処理である。
このとき、図6にあるように、テキスト文字列Tに対して、パターン文字列を1文字ずつずらしながら、テキストとパターンが一致する個数を算出する。なお、図6では、スコアベクトルと呼ぶ。そこで、スコアベクトルと呼ばれる複数の距離を計算し、今回の例ではパターン文字列Pの長さが5なので、スコアベクトルの値が5の成分のところで、一致することがわかる。このように、暗号化なしのパターンマッチングでは、テキスト文字列Tとパターン文字列Pに対して、パターン文字列Pを1文字ずつずらしながらテキスト文字列との距離を計算していく。
準同型暗号を利用した秘匿パターンマッチングでは、テキスト文字列Tとパターン文字列Pを準同型暗号で暗号化した状態で、複数の距離を計算していく。ここでは、図6に示すように、テキスト文字列Tを持つ情報登録者、パターン文字列Pを持つ照合者、秘匿パターンマッチングにおける暗号距離計算を行うクラウドの3者における秘匿パターンマッチング計算モデルを考える。
まず、照合者は、準同型暗号の鍵生成を行い公開鍵と秘密鍵を生成し、公開鍵のみを公開する。ここでは、情報登録者とクラウドに公開する。そのあと、情報提供者は、照合者から送られた公開鍵を用いて、自身が持つテキスト文字列Tを準同型暗号で暗号化し、その暗号化テキストE(T)をクラウド内のデータベースに保存しておく。
照合者は、パターン文字列Pがあるか照合するために、パターン文字列Pを準同型暗号化し、暗号化パターンE(P)のみをクラウドに送信する。クラウドは、暗号化テキストE(T)と暗号化パターンE(P)に対して、TとPに関する複数の距離を暗号化したまま計算し、その暗号化計算結果のみを照合者に送信する。照合者は、クラウドから送信された暗号化計算結果を自身が持つ秘密鍵を用いて復号し、復号結果からパターンPがテキストTに含まれるか判定することができる。
特開2000−181486号公報 特開2009−271584号公報
C. Gentry, "Fully Homomorphic encryption using ideal lattices", STOC 2009,ACM,pp.169−178, 2009. K. Lauter,M.Naehrig and V.Vaikuntanathan, "Can Homomorphic Encryption be Practical?",In ACM workshop on Cloud Computing Security Workshop−CCSW 2011, ACM, pp.113−124,2011.
上述したクラウドを用いた秘匿パターンマッチングでは、クラウド上では暗号化した状態ですべての処理が行えるので、情報登録者と照合者のデータを開示することがない。このため、安全性が強固ではないクラウドなどの環境であっても、パターンマッチング処理がアウトソーシングできる。
その一方で、暗号化したまま秘匿パターンマッチングを実行するので、単純に準同型暗号方式をパターンマッチングに適用するだけでは、データ量や計算負荷の点で実用的ではなく、処理に時間がかかる。
なお、ここで説明したクラウド秘匿パターンマッチングの具体的な応用例として、キーワードやWebなどの秘匿情報検索、犯罪捜査や血縁関係判定で利用される秘匿DNA鑑定、肥満遺伝子や感染症検査で利用される秘匿遺伝子検査などがある。
1つの側面では、秘匿化パターンマッチングにおける処理負荷を軽減することができる暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、暗号文処理装置は、第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、前記第1のテキストデータの各成分の2乗値ベクトルデータが前記第1の順で多項式化されて前記第1の公開鍵で暗号化された第1の2乗値多項式とを取得する第1の取得部を有する。暗号文処理装置は、第2のテキストデータが第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の多項式と、前記第2のテキストデータの各成分の2乗値ベクトルデータが前記第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の2乗値多項式とを取得する第2の取得部を有する。暗号文処理装置は、前記第1の多項式および前記第1の2乗値多項式と、前記第2の多項式および前記第2の2乗値多項式とを用いて、前記第2のテキストデータが前記第1のテキストデータに含まれるかを判定する判定部を有する。
1実施形態によれば、秘匿化パターンマッチングにおける処理負荷を軽減することができる。
図1は、暗号距離計算を解説する図である。 図2は、実施例2に係るシステムの全体構成例を示す図である。 図3は、実施例2に係る各装置の機能構成を示す機能ブロック図である。 図4は、実施例2に係るシステムが実行する処理のシーケンス図である。 図5は、ハードウェア構成例を示す図である。 図6は、パターンマッチングを説明する図である。
以下に、本願の開示する暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
まず、バイナリ化したテキストデータを用いて、秘匿パターンマッチング計算について説明する。準同型暗号を利用した秘匿パターンマッチング計算においては、データサイズや距離計算コストを削減するために、バイナリ化したテキストの各ビットを次数について昇順で係数に用いることで表される多項式を求め、多項式演算可能な同準型暗号方式で暗号化する。一方、バイナリ化したパターンの各ビットを次数について降順で係数に用いることで表される多項式を求め、同じ準同型暗号方式で暗号化する。
そして、準同型暗号で暗号化されたテキスト多項式及びパターン多項式に対して、多項式上の準同型性を利用して、各係数が、テキストとパターンとのハミング距離になるような暗号演算を実施する。その後、暗号演算結果を復号することで得られる多項式の各係数からハミング距離を特定し、ハミング距離が0となっているか否かを判定する。このようにすることで、秘匿パターンマッチング計算が行われる。
具体的には、バイナリ化した長さkのテキスト(バイナリベクトルとも呼ぶ)T=(t0,t1,...,tk-1)に対して、各ビットを昇順で係数として用いる多項式mt(T)=Σiiiを生成し、これに対して上で述べた準同型暗号方式により、暗号化テキストEnc(mt(T),pk)を生成する。これによって、テキストTは秘匿化される。
一方、バイナリ化した長さlのパターンP=(p0,p1,...,pl-1)に対して、各ビットを降順に係数として用いる多項式mp(P)=−Σjjn-jを生成し、それを上で述べた準同型暗号方式により暗号化パターンEnc(mp(P),pk)を生成する。これによって、パターンPは秘匿される。
次に、暗号化されたテキストEnc(mt(T),pk)とパターンEnc(mp(P),pk)に対して、暗号化距離計算を以下のように実行する。
Enc(mt(T),pk)*Cl+Enc(mp(P),pk)*Ck−2Enc(mt(T),pk)*Enc(mp(P),pk) (3)
ここで、Clは長さlの降順の多項式を含む元であり、Ckは長さkの昇順の多項式を含む元であり、以下のように表される。
l=(−Σjn-j,0) (4)
k=(Σii,0) (5)
(3)式で得られた暗号化距離計算結果を復号した結果をr0+r1x+r22+・・・+rn-1n-1(係数がパラメータt以下のn次多項式で表される)としたとき、0≦i≦k−lに対してi次の係数riは、i番目のビットを先頭とする部分テキストT(i)とパターンPのハミング距離d(T(i),P)と一致する。従って、復号結果r0+r1x+r22+・・・+rn-1n-1からパターンPがテキストTのどの部分に含まれるかは、係数が0となる次数を特定すればよい。すなわち、テキストTとパターンPを準同型暗号で秘匿したまま計算することが可能となる。
ここで、本実施の形態に係る秘匿パターンマッチング計算の考え方を、図1を用いて示しておく。平文空間において、多項式の各係数がハミング距離d(T(i),P)になるようにするには、以下のような演算を行うことになる。
Σi(HW(T(i))+HW(P)−2<T(i),P>)xi (6)
なお、HW(A)はAのハミング重みを表し、<A,B>はAとBとの内積計算を表す。
(6)式におけるΣiHW(T(i))xiは、図1(A)に示すように、mt(T)*(−Σjn-j)である。また、(6)式におけるΣiHW(P)xiは、図1(B)に示すようにmp(P)*(Σii)である。さらに、(6)式におけるΣi<T(i),P>xiは、図1(C)に示すように、mt(T)*mp(P)である。
そうすると、図1(A)乃至(C)に示すように、各平文演算に対して、暗号文空間における対応する暗号演算が得られる。従って、結果として、図1(D)のように、(3)式に示すような暗号演算を実行することで、復号化すれば係数がハミング距離となるような演算がなされたことになる。
但し、平文多項式上の演算は、n次以上の多項式に対してxn=−1,xn+1=−x,...と計算することで、絶えずn次以下の多項式を計算し、n次以下の各多項式の係数については、パラメータtで割った余りを出力するようにする。このような演算を行う空間を、Rt=Fq[x]/(xn+1)と表すことが多い。
ここで、本実施の形態に係る演算の数値例を示しておく。バイナリ化された長さk=8のテキストT=(1,1,0,1,1,1,0,1)の中に、長さl=3のパターンP=(1,0,1)が含まれているか否かを、テキストTとパターンPを準同型暗号で秘匿したまま判定することを考える。実際には、テキストTの2番目と6番目の部分ベクトルT(2)及びT(6)と一致することが分かる。
長さk=8のベクトルを扱うために、準同型暗号方式のパラメータをn=8,q=1073741857(30ビット素数)、t=n=8と設定する。このとき、秘密鍵skと公開鍵pkを以下のようにとる。
秘密鍵sk=Mod(Mod(2,1073741857)*x6+Mod(5,1073741857)*x5+Mod(5,1073741857)*x4+Mod(5,1073741857)*x3+Mod(6,1073741857)*x2+Mod(1,1073741857)*x,x8+1)
公開鍵pk=(a0,a1)
a0=Mod(Mod(943067072,1073741857)*x7+Mod(208992892,1073741857)*x6+Mod(757863697,1073741857)*x5+Mod(463766550,1073741857)*x4+Mod(868678190,1073741857)*x3+Mod(79684227,1073741857)*x2+Mod(794283856,1073741857)*x+Mod(118588567,1073741857),x8+1)
a1=Mod(Mod(476812016,1073741857)*x7+Mod(135271255,1073741857)*x6+Mod(610902088,1073741857)*x5+Mod(561030593,1073741857)*x4+Mod(693790135,1073741857)*x3+Mod(656347688,1073741857)*x2+Mod(903267448,1073741857)*x+Mod(326511477,1073741857),x8+1)
次に、テキストTの準同型暗号化について、まずテキスト多項式mt(T)=1+x+x3+x4+x5+x7を生成し、このテキスト多項式mt(T)を公開鍵pkで暗号化すると以下のようになる。
Enc(mt(T),pk)=(c0,c1)
c0=Mod(Mod(571455796,1073741857)*x7+Mod(134025403,1073741857)*x6+Mod(5586025,1073741857)*x5+Mod(982959780,1073741857)*x4+Mod(172339206,1073741857)*x3+Mod(484151018,1073741857)*x2+Mod(843536573,1073741857)*x+Mod(647203954,1073741857),x8+1)
xc1=Mod(Mod(483026714,1073741857)*x7+Mod(807015171,1073741857)*x6+Mod(282283030,1073741857)*x5+Mod(326992586,1073741857)*x4+Mod(809754218,1073741857)*x3+Mod(19049111,1073741857)*x2+Mod(406264220,1073741857)*x+Mod(18166841,1073741857),x8+1)
次に、パターンPの準同型暗号化については、パターン多項式mp(P)=−xn−xn-1−xn-2=1−x6−x7(長さl=3)を生成し、このパターン多項式mp(P)を公開鍵pkで暗号化すると以下のように表される。
Enc(mp(p),pk)=(b0,b1)
b0=Mod(Mod(559859414,1073741857)*x7+Mod(567905533,1073741857)*x6+Mod(12416926,1073741857)*x5+Mod(844327741,1073741857)*x4+Mod(167539656,1073741857)*x3+Mod(473962809,1073741857)*x2+Mod(200462840,1073741857)*x+Mod(281512325,1073741857),x8+1)
b1=Mod(Mod(866509748,1073741857)*x7+Mod(110516036,1073741857)*x6+Mod(103878204,1073741857)*x5+Mod(419487345,1073741857)*x4+Mod(208664258,1073741857)*x3+Mod(230233533,1073741857)*x2+Mod(428440586,1073741857)*x+Mod(1069138858,1073741857),x8+1)
さらに、暗号化テキストEnc(mt(T),pk)と暗号化パターンEnc(mp(P),pk)に対して、Cl=−xn−xn-1−xn-2=1−x6−x7(長さl=3)と、Ck=1+x+x2+x3+x4+x5+x6+x7(長さk=8)とを生成する。そして、(3)式により暗号化距離計算結果(d0,d1,d2)を算出する。
d0=Mod(Mod(797968254,1073741857)*x7+Mod(466213893,1073741857)*x6+Mod(252129696,1073741857)*x5+Mod(1009528361,1073741857)*x4+Mod(535752679,1073741857)*x3+Mod(91616621,1073741857)*x2+Mod(627437050,1073741857)*x+Mod(983411190,1073741857),x8+1)
d1=Mod(Mod(702170729,1073741857)*x7+Mod(300526001,1073741857)*x6+Mod(385829973,1073741857)*x5+Mod(6675019,1073741857)*x4+Mod(571006407,1073741857)*x3+Mod(627553259,1073741857)*x2+Mod(657519649,1073741857)*x+Mod(465629239,1073741857),x8+1)
d2=Mod(Mod(249662899,1073741857)*x7+Mod(819300197,1073741857)*x6+Mod(802151858,1073741857)*x5+Mod(1002057738,1073741857)*x4+Mod(759197621,1073741857)*x3+Mod(488279887,1073741857)*x2+Mod(105297021,1073741857)*x+Mod(517181369,1073741857),x8+1)
最後に、上記の暗号計算結果を秘密鍵skを用いて復号すると、その復号結果はベクトルm=[2,0,2,2,2,0,2,7]となる。このうち判定に採用できるのは0番目からk−l=8−3=5番目までの値である。多項式で表現すれば、2+2x2+2x3+2x4となり、係数が0の位置がxの1次及び5次の項であることが分かる。
よって、パターンPはテキストTの2番目と6番目の部分ベクトルT(2)及びT(6)に一致していることがわかる。
上述した実施例1は、バイナリ変換後のテキストパターンに対する暗号ハミング距離しか計算できない。このため、バイナリ化により元のテキストパターンのベクトルの長さが増大され、暗号処理コストが増大する。例えば、DNA塩基で用いられる4つの文字列A,T,C,Gの1文字をバイナリ変換すると、[00],[01],[10],[11]などと表記するため、元のA,T,C,Gの1文字に比べて2倍の長さを用いることになる。
そこで、実施例2では、暗号処理コストが増大しないように、バイナリ化ではなくより一般の数値ベクトル化したテキストパターンに対しても、高速に暗号距離計算を行える例を説明する。ここでは、一例として、L2ノルム距離Σ(ti−pi2を考える。
[全体構成]
図2は、実施例2に係るシステムの全体構成例を示す図である。図2に示すように、このシステムは、登録者端末10、照合者端末20、暗号文処理サーバ30を有するクラウドコンピューティングを用いた暗号化システムである。なお、図2に示す装置の台数等は、例示であり、図示したものに限定されない。
登録者端末10は、テキスト文字列を暗号文処理サーバ30に登録する端末であり、例えばパーソナルコンピュータ、汎用サーバ、スマートフォンなどである。この登録者端末10は、照合対象のパターン文字列を含むテキスト文字列を暗号文処理サーバ30に登録する。
照合者端末20は、パターン文字列のパターンマッチングを要求する例えばパーソナルコンピュータ、汎用サーバ、スマートフォンなどである。この照合者端末20は、特定の文字列パターンが登録者端末10によって登録されたテキスト文字列に含まれるかの照合処理を、暗号文処理サーバ30に要求して照合結果を取得する。
暗号文処理サーバ30は、パターンマッチングを実行する装置であり、例えばパーソナルコンピュータ、汎用サーバ、スマートフォンなどである。具体的には、暗号文処理サーバ30は、照合者端末20から要求されたパターン文字列と、登録者端末10が登録したテキスト文字列とのパターンマッチングを実行して、その結果を照合者端末20に応答する。
このようなシステムにおいて、暗号文処理サーバ30は、第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、第1のテキストデータの各成分の2乗値ベクトルデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の2乗値多項式とを取得する。暗号文処理サーバ30は、第2のテキストデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の多項式と、第2のテキストデータの各成分の2乗値ベクトルデータが第2の順で多項式化されて第1の公開鍵で暗号化された第2の2乗値多項式とを取得する。その後、暗号文処理サーバ30は、第1の多項式および第1の2乗値多項式と、第2の多項式および第2の2乗値多項式とを用いて、第2のテキストデータが前記第1のテキストデータに含まれるかを判定する。
すなわち、暗号文処理サーバ30は、数値ベクトル化した2つのテキストデータを準同型暗号によって秘匿化された状態でマッチングする際に、各テキストデータの各ベクトル成分の2乗値ベクトル列を用いる。この結果、暗号文処理サーバ30は、秘匿化パターンマッチングにおける処理負荷を軽減することができる。
[装置の構成]
次に、図2に示したシステムを構成する各装置の機能構成について説明する。図3は、実施例2に係る各装置の機能構成を示す機能ブロック図である。
(登録者端末の機能構成)
図3に示すように、登録者端末10は、通信処理部11、データ情報DB12、鍵情報DB13、2乗値算出部14、多項式変換部15、暗号化部16、登録部17を有する。なお、2乗値算出部14、多項式変換部15、暗号化部16、登録部17は、プロセッサが実行するプロセスや電子回路が有する回路の一例である。
通信処理部11は、クラウドシステム1上の暗号文処理サーバ30との通信を制御する処理部であり、例えばネットワークインタフェースカードなどである。例えば、通信処理部11は、暗号化データ等を暗号文処理サーバ30に送信する。また、通信処理部11は、暗号文処理サーバ30との間でWebセッションなどを確立して、各種データの送受信を実行する。
データ情報DB12は、マッチング対象のテキスト文字列を記憶するデータベースである。例えば、データ情報DB12は、数値ベクトル化されたテキストT=(t0,t1,・・・tk-1)を記憶する。なお、データ情報DB12は、ハードディスクや半導体メモリ等の記憶装置に格納される。
鍵情報DB13は、登録者端末10を使用するユーザの公開鍵および秘密鍵や照合者の公開鍵などを記憶するデータベースである。例えば、鍵情報DB13は、鍵パラメータ(n,q,t)で生成された照合者の公開鍵pkを格納する。また、ここで記憶される鍵情報は、照合者端末20から事前に取得されて格納される。なお、鍵情報DB13は、ハードディスクや半導体メモリ等の記憶装置に格納される。
2乗値算出部14は、データ情報DB12に記憶されるテキストデータの各成分の2乗値ベクトル列を算出する処理部である。例えば、2乗値算出部14は、テキストT=(t0,t1,・・・tk-1)の各成分の2乗値ベクトルT2=(t0 2,t1 2,・・・,tk-1 2)を算出する。なお、2乗値算出部14は、算出した結果をメモリ等に格納する。
多項式変換部15は、データ情報DB12に記憶されるテキストデータと、2乗値算出部14によって算出された2乗値ベクトルとをそれぞれ多項式に変換する処理部である。具体的には、多項式変換部15は、実施例1と同様の手法を用いて、多項式変換を実行する。例えば、多項式変換部15は、テキストT=(t0,t1,・・・,tk-1)に実施例1と同様の昇順多項式変換を施した多項式m(T)を生成する。また、多項式変換部15は、2乗値ベクトルT2=(t0 2,t1 2,・・・,tk-1 2)に昇順多項式変換を施した多項式m(T2)を生成する。なお、多項式変換部15は、算出した結果をメモリ等に格納する。
暗号化部16は、多項式変換部15によって算出された各多項式変換に準同型暗号文を生成する処理部である。具体的には、暗号化部16は、多項式m(T)および多項式m(T2)を、鍵情報DB13に記憶される照合者の公開鍵pkで暗号化する。例えば、暗号化部16は、2つの暗号文(Enc(m(T),pk),Enc(m(T2),pk))を生成する。なお、暗号化部16は、算出した結果をメモリ等に格納する。
登録部17は、暗号化部16が生成した暗号文を暗号文処理サーバ30に登録する処理部である。例えば、登録部17は、2つの暗号文(Enc(m(T),pk),Enc(m(T2),pk))を暗号文処理サーバ30に送信する。つまり、登録部17は、マッチング対象のデータを暗号文処理サーバ30に登録する。
(照合者端末の機能構成)
図3に示すように、照合者端末20は、通信処理部21、データ情報DB22、鍵情報DB23、2乗値算出部24、多項式変換部25、暗号化部26、要求部27、復号部28を有する。なお、2乗値算出部24、多項式変換部25、暗号化部26、要求部27、復号部28は、プロセッサが実行するプロセスや電子回路が有する回路の一例である。
通信処理部21は、クラウドシステム1上の暗号文処理サーバ30との通信を制御する処理部であり、例えばネットワークインタフェースカードなどである。例えば、通信処理部11は、暗号化データや照合要求等を暗号文処理サーバ30に送信する。また、通信処理部11は、暗号文処理サーバ30との間でWebセッションなどを確立して、各種データの送受信を実行する。
データ情報DB22は、照合対象のテキスト文字列を記憶するデータベースである。例えば、データ情報DB22は、数値ベクトル化されたテキストP=(p0,p1,・・・,pk-1)を記憶する。なお、データ情報DB22は、ハードディスクや半導体メモリ等の記憶装置に格納される。
鍵情報DB23は、照合者端末20を使用するユーザの公開鍵および秘密鍵などを記憶するデータベースである。例えば、鍵情報DB23は、鍵パラメータ(n,q,t)で生成された照合者の公開鍵pkや秘密鍵skを格納する。なお、鍵情報DB23は、ハードディスクや半導体メモリ等の記憶装置に格納される。
2乗値算出部24は、データ情報DB22に記憶されるテキストデータの各成分の2乗値ベクトル列を算出する処理部である。例えば、2乗値算出部24は、テキストP=(p0,p1,・・・pk-1)の各成分の2乗値ベクトルP2=(p0 2,p1 2,・・・,pk-1 2)を算出する。なお、2乗値算出部24は、算出した結果をメモリ等に格納する。
多項式変換部25は、データ情報DB22に記憶されるテキストデータと、2乗値算出部24によって算出された2乗値ベクトルとをそれぞれ多項式に変換する処理部である。具体的には、多項式変換部25は、実施例1と同様の手法を用いて、多項式変換を実行する。例えば、多項式変換部25は、テキストP=(p0,p1,・・・pk-1)に実施例1と同様の降順多項式変換を施した多項式m’(P)を生成する。また、多項式変換部25は、2乗値ベクトルP2=(p0 2,p1 2,・・・,pk-1 2)に降順多項式変換を施した多項式m´(P2)を生成する。なお、多項式変換部25は、算出した結果をメモリ等に格納する。
暗号化部26は、多項式変換部25によって算出された各多項式変換に準同型暗号文を生成する処理部である。具体的には、暗号化部26は、多項式m‘(P)および多項式m´(P2)を、鍵情報DB23に記憶される照合者の公開鍵pkで暗号化する。例えば、暗号化部16は、2つの暗号文(Enc(m’(P),pk),Enc(m’(P2),pk))を生成する。なお、暗号化部16は、算出した結果をメモリ等に格納する。
要求部27は、パターンマッチングを要求する処理部である。具体的には、要求部27は、照合対象の暗号部を暗号文処理サーバ30に送信して、パターンマッチングを要求する。例えば、要求部27は、2つの暗号文(Enc(m’(P),pk),Enc(m’(P2),pk))を暗号文処理サーバ30に送信する。
復号部28は、暗号文処理サーバ30から照合結果を受信し、照合結果を復号してパターンマッチングの結果を得る処理部である。例えば、復号部28は、暗号文処理サーバ30から照合結果として「Enc(m(T2),pk)*Cl+Enc(m’(P2),pk)*Ck’−2Enc(m(T),pk)*Enc(m’(P),pk)」を取得する。なお、ClとCk’については後述する。
そして、復号部28は、取得した「Enc(m(T2),pk)*Cl+Enc(m’(P2),pk)*Ck’−2Enc(m(T),pk)*Enc(m’(P),pk)」を、秘密鍵skで復号することで、復号結果として多項式m=Σmixiを得る。復号部28は、各i=0,1,・・・,k-lに対し、多項式mの係数miがTとPのL2距離Σ(ti+j−pj2となり、この値が0となるかどうか確認することで、パターンPがテキストTのどの部分と一致するか判定することができる。
具体的には、復号部28は、1つでも0がある場合は、パターンPはテキストTの中に含まれると判定し、そうでない場合は、テキストTの中にパターンPは含まれないと判定する。
上記で判定することが可能な原理としては、準同型暗号が持つ多項式上の準同型性の特徴から説明できる。具体的には、上記の暗号距離計算は、暗号化なしの平文上では、環R=Z[x]/(xn+1)上の多項式演算m(T2)*(−Σxn-j)+m’(P2)*Σxj−2m(T)*m’(P)に対応し、この計算結果が秘密鍵skで復号で得られる多項式mに一致することが分かる。よって、上記の多項式演算から、各i=0,1,・・・,k-lに対し、多項式mの係数miはL2距離Σ(ti+j−pj2と一致することが分かる。
(暗号文処理サーバの機能構成)
図3に示すように、暗号文処理サーバ30は、通信処理部31、暗号文DB32、演算結果DB33、登録部34、要求受信部35、演算部36、送信部37を有する。なお、登録部34、要求受信部35、演算部36、送信部37は、プロセッサが実行するプロセスや電子回路が有する回路の一例である。
通信処理部31は、登録者端末10や照合者端末20との通信を制御する処理部であり、例えばネットワークインタフェースカードなどである。例えば、通信処理部31は、暗号化データや各種要求等を受信する。また、通信処理部31は、各端末との間でWebセッションなどを確立して、各種データの送受信を実行する。
暗号文DB32は、各端末から受信した暗号文を記憶するデータベースである。例えば、暗号文DB32は、登録者端末10から受信した暗号文(Enc(m(T),pk),Enc(m(T2),pk))を記憶する。また、暗号文DB32は、照合者端末20から受信した2つの暗号文(Enc(m’(P),pk),Enc(m’(P2),pk))を記憶する。
演算結果DB33は、パターンマッチング結果を記憶するデータベースである。例えば、演算結果DB33は、パターンマッチング結果として、「Enc(m(T2),pk)*Cl+Enc(m’(P2),pk)*Ck’−2Enc(m(T),pk)*Enc(m’(P),pk)」を記憶する。なお、暗号文DB32や演算結果DB33は、ハードディスクや半導体メモリ等の記憶装置に格納される。
登録部34は、登録者端末10からマッチング対象のデータを受信して暗号文DB32に登録する処理部である。上述したように、登録部34は、登録者端末10から受信した2つの暗号文(Enc(m(T),pk),Enc(m(T2),pk))を受信して、暗号文DB32に登録する。
要求受信部35は、照合者端末10からパターンマッチングの要求を受信する処理部である。また、要求受信部35は、パターンマッチングの要求とともに照合対象の2つの暗号文(Enc(m’(P),pk),Enc(m’(P2),pk))を受信して、暗号文DB32に登録する。
演算部36は、パターンマッチングを実行する処理部である。具体的には、演算部36は、登録者端末10から取得した2つの暗号文(Enc(m(T),pk),Enc(m(T2),pk))と、照合者端末20から取得した2つの暗号文(Enc(m’(P),pk),Enc(m’(P2),pk))のパターンマッチングを実行する。そして、演算部36は、演算結果を演算結果DB33に登録する。
すなわち、演算部36は、数値ベクトル化されたテキストTとパターンPの暗号化L2距離を計算する。例えば、演算部36は、距離計算用の補助データCl=(−Σxn-j,0)とCk’=(Σxj,0)を計算し、暗号距離計算として「Enc(m(T2),pk)*Cl+Enc(m’(P2),pk)*Ck’−2Enc(m(T),pk)*Enc(m’(P),pk)」を計算する。
送信部37は、パターンマッチングの演算結果を照合者端末20に送信する処理部である。例えば、演算部36は、演算結果である「Enc(m(T2),pk)*Cl+Enc(m’(P2),pk)*Ck’−2Enc(m(T),pk)*Enc(m’(P),pk)」を演算結果DB33から読み出して照合者端末20に送信する。
[処理の流れ]
図4は、実施例2に係るシステムが実行する処理のシーケンス図である。図4に示すように、照合者端末20は、鍵パラメータ(n,q,t)で生成された照合者の公開鍵pkおよび秘密鍵skを生成し(S101)、生成した公開鍵pkを登録者端末10に配信する(S102とS103)。一方で、登録者端末10も同様に、登録者の公開鍵および秘密鍵を生成して記憶する(S104)。また、登録者端末10は、照合者端末20から受信した公開鍵pkを鍵情報DB13に格納する(S105)。
そして、登録者端末10は、データ情報DB12から登録対象のデータ、すなわちマッチング対象のテキストデータTを読み出して、各成分の2乗値ベクトル列を算出する(S106)。
続いて、登録者端末10は、登録対象のテキストデータTおよび2乗値ベクトルT2のそれぞれを多項式に変換する(S107)。
その後、登録者端末10は、照合者端末10の公開鍵pkを用いて各多項式に対して準同期暗号化を実行して(S108)、生成した暗号化データを登録データとして暗号文処理サーバ30に送信する(S109およびS110)。そして、暗号文処理サーバ30は、登録者端末10から受信した暗号化データを暗号文DB32に格納する(S111)。
一方で、照合者端末20は、照合対象のテキストデータPの2乗値ベクトルP2を算出し(S112)、照合対象のテキストデータPおよび2乗値ベクトルP2のそれぞれを多項式に変換する(S113)。
そして、照合者端末20は、自身の公開鍵pkを用いて各多項式に対して準同期暗号化を実行して(S114)、生成した照合対象の暗号化データを暗号文処理サーバ30に送信して、パターンマッチングの実行を要求する(S115およびS116)。
その後、暗号文処理サーバ30は、マッチング対象のテキストデータの2つの暗号文と、照合対象の2つの暗号文とに対して、照合処理すなわちパターンマッチングを実行し(S117)、照合結果を照合者端末20に送信する(S118とS119)。
そして、照合者端末20は、暗号文処理サーバ30から受信した照合結果を自身の秘密鍵skで復号し、判定結果を得る(S120)。
[効果]
このように、実施例2に係るシステムでは、数値ベクトル化したテキストパターンに対し、準同型暗号を用いた秘匿L2ノルム計算を実行する、この際、システムでは、テキストパターンの数値ベクトルの暗号化の際に、各ベクトル成分の2乗値のベクトル列を作成し、その2乗値ベクトルを実施例1と同様の変換を施した多項式の暗号文を補助暗号データとして加える。そして、システムでは、暗号化L2ノルム距離計算の際、補助暗号データを用いた計算を実行する。この結果、システムは、秘匿化パターンマッチングにおける処理負荷を軽減することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
(端末)
上記実施例では、マッチング対象のデータを生成する端末と照合対象のデータを生成する端末とが別々の例で説明したが、これに限定されるものではない。例えば、同一端末が両方のデータを生成して、クラウド上のサーバにパターンマッチングを実行させることもできる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(ハードウェア)
図5は、ハードウェア構成例を示す図である。図2に示した各装置は同様のハードウェア構成を有するので、ここでは暗号文処理サーバ30を例にして説明する。
図5に示すように、暗号文処理サーバ30は、通信インタフェース30a、HDD(ハードディスクドライブ)30b、メモリ30c、プロセッサ30dを有する。また、図5に示した各部は、バス等で相互に接続される。
通信インタフェース30aは、他の装置との通信を制御するインタフェースであり、例えばネットワークインタフェースカードである。HDD30bは、図3等に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ30dは、図3等に示した各処理部と同様の処理を実行するプログラムをHDD30b等から読み出してメモリ30cに展開することで、図3等で説明した各機能を実行するプロセスを動作させる。
すなわち、このプロセスは、暗号文処理サーバ30が有する各処理部と同様の機能を実行する。具体的には、プロセッサ30dは、登録部34、要求受信部35、演算部36、送信部37等と同様の機能を有するプログラムをHDD30c等から読み出す。そして、プロセッサ30dは、登録部34、要求受信部35、演算部36、送信部37と同様の処理を実行するプロセスを実行する。
このように暗号文処理サーバ30は、プログラムを読み出して実行することでアルバム作成方法を実行する情報処理装置として動作する。また、暗号文処理サーバ30は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、暗号文処理サーバ30によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 登録者端末
11 通信処理部
12 データ情報DB
13 鍵情報DB
14 2乗値算出部
15 多項式変換部
16 暗号化部
17 登録部
20 照合者端末
21 通信処理部
22 データ情報DB
23 鍵情報DB
24 2乗値算出部
25 多項式変換部
26 暗号化部
27 要求部
28 復号部
30 暗号文処理サーバ
31 通信処理部
32 暗号文DB
33 演算結果DB
34 登録部
35 要求受信部
36 演算部
37 送信部

Claims (6)

  1. 第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、前記第1のテキストデータの各成分の2乗値ベクトルデータが前記第1の順で多項式化されて前記第1の公開鍵で暗号化された第1の2乗値多項式とを取得する第1の取得部と、
    第2のテキストデータが第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の多項式と、前記第2のテキストデータの各成分の2乗値ベクトルデータが前記第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の2乗値多項式とを取得する第2の取得部と、
    前記第1の多項式および前記第1の2乗値多項式と、前記第2の多項式および前記第2の2乗値多項式とを用いて、前記第2のテキストデータが前記第1のテキストデータに含まれるかを判定する判定部と
    を有することを特徴とする暗号文処理装置。
  2. 前記判定部は、前記第1のテキストデータの数値ベクトルの各要素が前記第1の順における計数として表される前記第1の多項式および前記第1の2乗値多項式と、前記第2のテキストデータの数値ベクトルの各要素が前記第2の順における計数として表される前記第2の多項式および前記第2の2乗値多項式とを用いて、ベクトル空間のノルム距離を算出することを特徴とする請求項1に記載の暗号文処理装置。
  3. 前記第1の公開鍵で暗号化された判定結果を、前記第1の公開鍵に対応する第1の秘密鍵を有する端末装置に送信する送信部をさらに有することを特徴とする請求項1または2に記載の暗号文処理装置。
  4. コンピュータが、
    第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、前記第1のテキストデータの各成分の2乗値ベクトルデータが前記第1の順で多項式化されて前記第1の公開鍵で暗号化された第1の2乗値多項式とを取得し、
    第2のテキストデータが第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の多項式と、前記第2のテキストデータの各成分の2乗値ベクトルデータが前記第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の2乗値多項式とを取得し、
    前記第1の多項式および前記第1の2乗値多項式と、前記第2の多項式および前記第2の2乗値多項式とを用いて、前記第2のテキストデータが前記第1のテキストデータに含まれるかを判定する
    処理を含んだことを特徴とする暗号文処理方法。
  5. コンピュータに、
    第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、前記第1のテキストデータの各成分の2乗値ベクトルデータが前記第1の順で多項式化されて前記第1の公開鍵で暗号化された第1の2乗値多項式とを取得し、
    第2のテキストデータが第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の多項式と、前記第2のテキストデータの各成分の2乗値ベクトルデータが前記第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の2乗値多項式とを取得し、
    前記第1の多項式および前記第1の2乗値多項式と、前記第2の多項式および前記第2の2乗値多項式とを用いて、前記第2のテキストデータが前記第1のテキストデータに含まれるかを判定する
    処理を実行させることを特徴とする暗号文処理プログラム。
  6. 第1のテキストデータが第1の順で多項式化されて第1の公開鍵で暗号化された第1の多項式と、前記第1のテキストデータの各成分の2乗値ベクトルデータが前記第1の順で多項式化されて前記第1の公開鍵で暗号化された第1の2乗値多項式とを保持する暗号文処理装置に対して、第2のテキストデータが第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の多項式と、前記第2のテキストデータの各成分の2乗値ベクトルデータが前記第2の順で多項式化されて前記第1の公開鍵で暗号化された第2の2乗値多項式とを含む送信する送信部と、
    前記第2のテキストデータが前記第1のテキストデータに含まれるかを示す前記第1の公開鍵で暗号化された判定結果を前記暗号文処理装置から取得し、前記第1の公開鍵に対応する第1の秘密鍵で復号する復号部と、
    前記復号部によって得られた復号結果から、前記第2のテキストデータが前記第1のテキストデータに含まれるかを判定する判定部と
    を有することを特徴とする情報処理装置。
JP2014062743A 2014-03-25 2014-03-25 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置 Active JP6349841B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014062743A JP6349841B2 (ja) 2014-03-25 2014-03-25 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
EP15156575.1A EP2924912B1 (en) 2014-03-25 2015-02-25 Ciphertext processing device, ciphertext processing method, ciphertext processing program, and information processing device
US14/634,931 US9473302B2 (en) 2014-03-25 2015-03-02 Ciphertext processing device, ciphertext processing method, computer-readable recording medium, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014062743A JP6349841B2 (ja) 2014-03-25 2014-03-25 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JP2015184594A true JP2015184594A (ja) 2015-10-22
JP6349841B2 JP6349841B2 (ja) 2018-07-04

Family

ID=52589271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014062743A Active JP6349841B2 (ja) 2014-03-25 2014-03-25 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US9473302B2 (ja)
EP (1) EP2924912B1 (ja)
JP (1) JP6349841B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180127506A (ko) * 2016-04-12 2018-11-28 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 동형적으로 암호화된 데이터의 유효성 확인 및 이에 대한 연산을 수행하기 위한 시스템 및 방법
US11121854B2 (en) 2017-12-22 2021-09-14 Axell Corporation Imaging module, image processing device, and image processing method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6413598B2 (ja) * 2014-10-10 2018-10-31 富士通株式会社 暗号処理方法、暗号処理装置、及び暗号処理プログラム
US10812252B2 (en) * 2017-01-09 2020-10-20 Microsoft Technology Licensing, Llc String matching in encrypted data
US11196539B2 (en) 2017-06-22 2021-12-07 Microsoft Technology Licensing, Llc Multiplication operations on homomorphic encrypted data
US10541805B2 (en) 2017-06-26 2020-01-21 Microsoft Technology Licensing, Llc Variable relinearization in homomorphic encryption
US10749665B2 (en) 2017-06-29 2020-08-18 Microsoft Technology Licensing, Llc High-precision rational number arithmetic in homomorphic encryption
EP3806071B1 (en) * 2018-05-25 2023-03-22 Nippon Telegraph And Telephone Corporation Secret collective approximation system, secret calculation device, secret collective approximation method, and program
US11991271B2 (en) * 2018-07-31 2024-05-21 International Business Machines Corporation System and method for quantum resistant public key encryption
US20200044860A1 (en) * 2018-07-31 2020-02-06 International Business Machines Corporation System and method for quantum resistant digital signature
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN112711648B (zh) * 2020-12-23 2024-07-02 航天信息股份有限公司 一种数据库字符串密文存储方法、电子设备和介质
CN112667674B (zh) * 2021-03-12 2021-06-18 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055469A (ja) * 2009-08-31 2011-03-17 Mitsubishi Electric Research Laboratories Inc マンハッタン距離を安全に求めるための方法及びシステム
JP2013128175A (ja) * 2011-12-16 2013-06-27 Internatl Business Mach Corp <Ibm> 文字列がオートマトンに受理されるか否かを認証するシステム
EP2709028A1 (en) * 2012-09-14 2014-03-19 Ecole Polytechnique Fédérale de Lausanne (EPFL) Privacy-enhancing technologies for medical tests using genomic data
JP2015031935A (ja) * 2013-08-07 2015-02-16 富士通株式会社 情報処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4345156B2 (ja) 1998-10-09 2009-10-14 ソニー株式会社 学習装置および学習方法、認識装置および認識方法、並びに記録媒体
JP2009271584A (ja) 2008-04-30 2009-11-19 Tokyo Metropolitan Univ 類似情報検索システムおよび類似情報検索プログラム
JP5329879B2 (ja) * 2008-09-10 2013-10-30 株式会社東芝 計算装置、方法及びプログラム
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011055469A (ja) * 2009-08-31 2011-03-17 Mitsubishi Electric Research Laboratories Inc マンハッタン距離を安全に求めるための方法及びシステム
JP2013128175A (ja) * 2011-12-16 2013-06-27 Internatl Business Mach Corp <Ibm> 文字列がオートマトンに受理されるか否かを認証するシステム
EP2709028A1 (en) * 2012-09-14 2014-03-19 Ecole Polytechnique Fédérale de Lausanne (EPFL) Privacy-enhancing technologies for medical tests using genomic data
JP2015031935A (ja) * 2013-08-07 2015-02-16 富士通株式会社 情報処理方法及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NASAYA YASUDA, ET AL.: "Secure Pattern Matching using Somewhat Homomorphic Encryption", PROCEEDINGS OF THE 2013 ACM WORKSHOP ON CLOUD COMPUTING SECURITY WORKSHOP (CCSW '13), JPN7017002554, 8 November 2013 (2013-11-08), pages 65 - 76, XP058034246, ISSN: 0003788906, DOI: 10.1145/2517488.2517497 *
五十嵐 大 ほか: "軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理", 2011年 暗号と情報セキュリティシンポジウム, vol. 2C3−6, JPN6016022288, 25 January 2011 (2011-01-25), JP, pages 1 - 8, ISSN: 0003788903 *
安田 雅哉 ほか: "イデアル格子準同型暗号を用いた秘匿内積の実装", 2013年 暗号と情報セキュリティシンポジウム SCIS2013, vol. 1A2−1, JPN6017029633, 22 January 2013 (2013-01-22), JP, pages 1 - 2, ISSN: 0003788904 *
安田 雅哉 ほか: "イデアル格子準同型暗号を用いた秘匿内積計算", 2013年 暗号と情報セキュリティシンポジウム, vol. 2A3−2, JPN6017029635, 22 January 2013 (2013-01-22), JP, pages 1 - 3, ISSN: 0003788905 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180127506A (ko) * 2016-04-12 2018-11-28 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 동형적으로 암호화된 데이터의 유효성 확인 및 이에 대한 연산을 수행하기 위한 시스템 및 방법
JP2019514301A (ja) * 2016-04-12 2019-05-30 ザ ガバニング カウンシル オブ ザ ユニバーシティ オブ トロントThe Governing Council Of The University Of Toronto 準同型に暗号化されたデータに対する検証および演算の実行のためのシステムおよび方法
KR102403295B1 (ko) 2016-04-12 2022-05-27 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 동형적으로 암호화된 데이터의 유효성 확인 및 이에 대한 연산을 수행하기 위한 시스템 및 방법
JP7165292B2 (ja) 2016-04-12 2022-11-04 ロリカ サイバーセキュリティ インコーポレイテッド 準同型に暗号化されたデータに対する検証および演算の実行のためのシステムおよび方法
US11121854B2 (en) 2017-12-22 2021-09-14 Axell Corporation Imaging module, image processing device, and image processing method

Also Published As

Publication number Publication date
JP6349841B2 (ja) 2018-07-04
EP2924912A2 (en) 2015-09-30
US9473302B2 (en) 2016-10-18
US20150280914A1 (en) 2015-10-01
EP2924912A3 (en) 2015-10-14
EP2924912B1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
JP6349841B2 (ja) 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
US11882218B2 (en) Matching system, method, apparatus, and program
JP6244728B2 (ja) 情報処理方法及びプログラム
JP6260442B2 (ja) 情報処理方法及びプログラム
JP6273951B2 (ja) 暗号化装置、暗号化方法、情報処理装置および暗号化システム
JP6413598B2 (ja) 暗号処理方法、暗号処理装置、及び暗号処理プログラム
JP2016012111A (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP6931247B2 (ja) 暗号文照合システム、方法、およびプログラム
JP5379869B2 (ja) 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
JP2014126865A (ja) 暗号処理装置および方法
JP2016114692A (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP2016114855A (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
JP2010164897A (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
KR20160052930A (ko) 스마트 가전 인증 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180521

R150 Certificate of patent or registration of utility model

Ref document number: 6349841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150