JP2015031935A - 情報処理方法及びプログラム - Google Patents

情報処理方法及びプログラム Download PDF

Info

Publication number
JP2015031935A
JP2015031935A JP2013163793A JP2013163793A JP2015031935A JP 2015031935 A JP2015031935 A JP 2015031935A JP 2013163793 A JP2013163793 A JP 2013163793A JP 2013163793 A JP2013163793 A JP 2013163793A JP 2015031935 A JP2015031935 A JP 2015031935A
Authority
JP
Japan
Prior art keywords
polynomial
order
encrypted
binary vector
data
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
JP2013163793A
Other languages
English (en)
Other versions
JP6244728B2 (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 JP2013163793A priority Critical patent/JP6244728B2/ja
Priority to EP14179107.9A priority patent/EP2858296B1/en
Priority to US14/446,772 priority patent/US9509493B2/en
Publication of JP2015031935A publication Critical patent/JP2015031935A/ja
Application granted granted Critical
Publication of JP6244728B2 publication Critical patent/JP6244728B2/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/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
    • 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
    • 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

Abstract

【課題】秘匿化パターンマッチングにおけるコストを削減する。【解決手段】本方法は、第1データから生成された第1バイナリベクトルV1の要素を、次数について降順と昇順とのうちいずれかである第1順番で係数として用いることで表される第1多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された第1多項式を他のコンピュータから受信し、第2データから生成された第2バイナリベクトルV2の要素を、第1順番とは異なる第2順番で係数として用いることで表される第2多項式を、上記準同型暗号方式によって暗号化することで得られる、暗号化された第2多項式と、暗号化された第1多項式とを用いて、暗号文空間における所定演算を実行し、所定の演算の結果を、他のコンピュータに送信する。所定演算は、当該所定演算の結果を復号することで得られる第3多項式の各項の係数がV2に対するV1の各対比位置における距離を表すように規定される。【選択図】図2

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暗号方式(加算のみ準同型)が代表的である。また、2009年には加算と乗算の両方が可能な準同型暗号方式(式(1)及び(2)を満たす暗号方式)が提案された(非特許文献1に開示の技術)。しかし、このような準同型暗号方式は、処理性能や暗号データサイズの面で実用向きではないことが知られている。そこで、2011年に、加算と乗算の両方が可能で且つ処理性能と暗号データサイズの両面で実用的な準同型暗号方式が提案され、その応用例などが提示された(非特許文献2に開示の技術)。
ここで、2011年に提案された準同型暗号方式について説明する(詳細は、非特許文献2の3.2節を参照のこと)。まず、暗号鍵生成について、主に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次以上の多項式に対してxn=−1,xn+1=−x,...と計算することで、絶えずn次より小さい多項式を計算する。さらに、多項式の係数については、素数qで割った余りを出力する。このような演算を行う空間を、学術的にはRq:=Fq[x]/(xn+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を用いてD(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,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),x4+1)は多項式f(x)を多項式x4+1で割った余りの多項式を意味する。但し、x4=−1、x5=x,...などを意味するものとする
次に、パターンマッチングについて簡単に説明しておく。パターンマッチングとは、例えばテキスト文字列の中にパターン文字列が存在するか否かを判定する処理で、例えばテキスト文字列T=”acbabbaccb”の中に、パターン文字列P=”abbac”があるか否かを判定する処理を考える。このとき、図1に示すように、テキスト文字列Tに対して、パターン文字列Pを1文字ずつずらしながら、テキストとパターンが一致する文字の個数(距離とも呼ぶ)を算出する。図1では、個数を表す数値の並びをスコアベクトルと呼ぶ。今回の例ではパターン文字列Pの長さが5なので、スコアベクトルの値が5の成分のところで、テキスト文字列Tとパターン文字列Pとが一致することがわかる。
このように、暗号化なしのパターンマッチングでは、テキスト文字列Tとパターン文字列Pに対して、パターン文字列Pを1文字ずつずらしながらテキスト文字列との距離を計算していく。
一方、準同型暗号を利用した秘匿パターンマッチングでは、テキスト文字列Tとパターン文字列Pを準同型暗号で暗号化した状態で、複数の距離を計算することになる。ここでは、テキスト文字列Tを有する情報登録者、パターン文字列Pを有する照合者、秘匿パターンマッチングにおける暗号距離計算を行うクラウド事業者の3者における秘匿パターンマッチング計算モデルを考える。まず、照合者は、準同型暗号の鍵生成を行い公開鍵と秘密鍵を生成し、公開鍵のみを情報登録者とクラウド事業者に公開する。このあと、情報登録者は照合者から送られた公開鍵を用いて、自身が有するテキスト文字列Tを準同型暗号で暗号化し、その暗号化テキストE(T)をクラウド内のデータベースに保存しておく。照合者は、パターン文字列Pがあるか照合するために、パターン文字列Pを準同型暗号化し、暗号化パターンE(P)をクラウドに送信する。クラウドは、暗号化テキストE(T)と暗号化パターンE(P)に対して、TとPに関する複数の距離を暗号化したまま計算し、その暗号化計算結果のみを照合者に送信する。照合者は、クラウドから送信された暗号化計算結果を自身が有する秘密鍵を用いて復号し、復号結果からパターン文字列Pがテキスト文字列Tに含まれるか否かを判定する。
このようなクラウド秘匿パターンマッチングであれば、クラウド上では暗号化した状態で処理が行われるので、情報登録者及び照合者のデータを開示することがない。これにより、安全性が強固ではないクラウドなどの環境で、パターンマッチング処理がアウトソーシングできるようになる。
しかしながら、単純に準同型暗号方式をパターンマッチングに適用するだけでは、データ量や計算負荷の点で実用的ではない。
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.
本発明の目的は、一側面によれば、秘匿化パターンマッチングにおけるコストを削減するための技術を提供することである。
本発明の第1の態様に係る情報処理方法は、(A)第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、(B)第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、(C)第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する処理を含む。
本発明の第2の態様に係る情報処理方法は、(A)第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された第1の多項式を他のコンピュータから受信し、(B)第2のデータから生成された第2のバイナリベクトルの要素を、第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された第2の多項式と、暗号化された第1の多項式とを用いて、暗号文空間における所定の演算を実行し、(C)所定の演算の結果を、他のコンピュータに送信する処理を含む。そして、上記所定の演算が、当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が第2のバイナリベクトルに対する第1のバイナリベクトルの各対比位置における距離を表すように規定されるものである。
一側面によれば、秘匿化パターンマッチングにおけるコストを削減できるようになる。
図1は、パターンマッチングを説明するための図である。 図2は、暗号距離計算を解説するための図である。 図3は、本発明の実施の形態に係るシステムの概要を示す図である。 図4は、提供者装置の機能ブロック図である。 図5は、照合者装置の機能ブロック図である。 図6は、情報処理装置の機能ブロック図である。 図7は、登録処理の処理フローを示す図である。 図8は、照合処理の処理フローを示す図である。 図9は、暗号化パターンマッチングの演算のバリエーションを示す図である。 図10は、暗号化パターンマッチングの演算のバリエーションを示す図である。 図11は、コンピュータの機能ブロック図である。
まず、本発明の一実施の形態に係る処理の概要を説明する。
準同型暗号を利用した秘匿パターンマッチング計算においては、データサイズや距離計算コストを削減するために、バイナリ化したテキストの各ビットを次数について昇順で係数に用いることで表される多項式を求め、多項式演算可能な同準型暗号方式(例えばRing-LWEベース準同型暗号:非特許文献2を参照のこと)で暗号化する。一方、バイナリ化したパターンの各ビットを次数について降順で係数に用いることで表される多項式を求め、同じ準同型暗号方式で暗号化する。
そして、準同型暗号で暗号化されたテキスト多項式及びパターン多項式に対して、多項式上の準同型性を利用して、各係数が、テキストとパターンとのハミング距離になるような暗号演算を実施する。その後、暗号演算結果を復号することで得られる多項式の各係数からハミング距離を特定し、ハミング距離が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を準同型暗号で秘匿したまま計算することが可能となる。
ここで、本実施の形態に係る秘匿パターンマッチング計算の考え方を図2を用いて示しておく。平文空間において、多項式の各係数がハミング距離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は、図2(A)に示すように、mt(T)*(−Σjn-j)である。また、(6)式におけるΣiHW(P)xiは、図2(B)に示すようにmp(P)*(Σii)である。さらに、(6)式におけるΣi<T(i),P>xiは、図2(C)に示すように、mt(T)*mp(P)である。
そうすると、図2(A)乃至(C)に示すように、各平文演算に対して、暗号文空間における対応する暗号演算が得られる。従って、結果として、図2(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)に一致していることがわかる。
本発明の一実施の形態に係るシステムの概要を図3に示す。インターネットなどのネットワーク1には、マッチング対象のテキスト等を登録する処理を行う1又は複数の提供者装置5と、マッチング対象のテキスト等に対するパターンの照合処理を要求する1又は複数の照合者装置7と、例えばクラウドに含まれる情報処理装置3とが接続されている。
次に、図4に提供者装置5の機能ブロック図を示す。提供者装置5は、入力部50と、第1データ格納部51と、バイナリ変換部52と、第2データ格納部53と、多項式変換部54と、第3データ格納部55と、暗号化部56と、公開鍵格納部57と、第4データ格納部58と、送信部59とを有する。
入力部50は、ユーザから又は接続されている他のコンピュータなどから、情報処理装置3に登録すべきマッチング対象のテキスト等のデータを取得し、第1データ格納部51に格納する。また、バイナリ変換部52は、第1データ格納部51に格納されているデータを、バイナリ化する処理を実行し、第2データ格納部53に格納する。多項式変換部54は、第2データ格納部53に格納されているバイナリベクトルを多項式に変換し、当該多項式のデータを第3データ格納部55に格納する。暗号化部56は、多項式演算可能な準同型暗号方式に従って、公開鍵格納部57に格納されている照合者の公開鍵を用いて第3データ格納部55に格納されている多項式を暗号化し、暗号化されたデータを第4データ格納部58に格納する。送信部59は、第4データ格納部58に格納されているデータ及びテキストの長さkを、情報処理装置3へ送信する。
次に、図5に照合者装置7の機能ブロック図を示す。照合者装置7は、入力部70と、第1データ格納部71と、バイナリ変換部72と、第2データ格納部73と、多項式変換部74と、第3データ格納部75と、暗号化部76と、公開鍵格納部77と、第4データ格納部78と、送信部79と、受信部80と、第5データ格納部81と、復号化部82と、秘密鍵格納部83と、第6データ格納部84と、判定部85と、第7データ格納部86と、出力部87とを有する。
入力部70は、ユーザから又は接続されている他のコンピュータなどから、マッチング対象のテキスト等のデータと照合すべきパターンのデータを取得し、第1データ格納部71に格納する。また、バイナリ変換部72は、第1データ格納部71に格納されているデータを、バイナリ化する処理を実行し、第2データ格納部73に格納する。多項式変換部74は、第2データ格納部73に格納されているバイナリベクトルを多項式に変換し、当該多項式のデータを第3データ格納部75に格納する。暗号化部76は、多項式演算可能な準同型暗号方式に従って、公開鍵格納部77に格納されている照合者の公開鍵を用いて第3データ格納部75に格納されている多項式を暗号化し、暗号化されたデータを第4データ格納部78に格納する。送信部79は、第4データ格納部78に格納されているデータ及びパターンの長さlを、情報処理装置3へ送信する。
また、受信部80は、情報処理装置3から暗号演算結果を受信すると、第5データ格納部81に格納する。復号化部82は、秘密鍵格納部83に格納されている照合者の秘密鍵を用いて復号処理を行って、処理結果を第6データ格納部84に格納する。判定部85は、第6データ格納部84に格納された多項式のデータから、テキストなどにおいてパターンと一致する部分が存在するか否かなどを判定し、判定結果を第7データ格納部86に格納する。出力部87は、第7データ格納部86に格納されている判定結果を、出力装置(例えば他のコンピュータや印刷装置や表示装置など)へ出力する。
次に、図6に、情報処理装置3の機能ブロック図を示す。情報処理装置3は、登録部31と、データベース32と、受信部33と、補助データ生成部34と、暗号演算処理部35と、演算結果格納部36と、送信部37とを有する。
登録部31は、提供者装置5からマッチング対象テキスト等の暗号化データ及び長さkを受信すると、データベース32に格納する。受信部33は、照合者装置7から照合すべきパターンの暗号化データ及び長さlを受信すると、照合すべきパターンの暗号化データについては暗号演算処理部35に出力し、長さlについては補助データ生成部34に出力する。
補助データ生成部34は、データベース32に格納されているマッチング対象テキスト等の暗号化データについての長さkと、受信部33から受け取った長さlとから、補助データを生成し、暗号演算処理部35に出力する。
暗号演算処理部35は、照合すべきパターンの暗号化データと補助データとデータベース32に格納されているマッチング対象テキスト等の暗号化データとを用いて、上記(3)式で表される暗号演算を実行し、演算結果及びk−lを演算結果格納部36に格納する。そして、送信部37は、受信部33から得られる照合要求元に対して、演算結果格納部36に格納されている演算結果及びk−lを送信する。
次に、図7及び図8を用いて図3に示したシステムの処理内容について説明する。
まず、提供者装置5が、情報処理装置3に、マッチング対象テキストの暗号化データを登録する際の処理について図7を用いて説明する。
提供者装置5の入力部50は、例えば情報提供者又は他のコンピュータなどから、情報処理装置3に登録すべきテキスト(テキストは一例であって画像データ、遺伝子記号列等の場合もある)を取得し、第1データ格納部51に格納する(図7:ステップS1)。そして、バイナリ変換部52は、第1データ格納部51に格納されているテキストをバイナリ化して、バイナリ化テキストのデータT=(t0,t1,...,tk-1)を第2データ格納部53に格納する(ステップS3)。
また、多項式変換部54は、バイナリ化されたテキストTに対して多項式変換を実行し、多項式変換によって生成された多項式mt(T)を第3データ格納部55に格納する(ステップS5)。具体的には、バイナリ化されたテキストTの各成分tiを昇順に各次元の係数として用いることで多項式mt(T)=Σiiiを生成する。なお、多項式変換部54は、バイナリ化されたテキストTのビット長kも、第3データ格納部55に格納する。
そして、暗号化部56は、第3データ格納部55に格納されている多項式mt(T)を、多項式演算可能な準同型暗号方式に従って、公開鍵格納部57に格納されている照合者の公開鍵pkを用いて暗号化することで暗号化テキストEnc(mt(T))を生成し、第4データ格納部58に格納する(ステップS7)。なお、暗号化部56は、テキストTのビット長kをも第4データ格納部58に格納する。Enc(Z)は、Zを多項式演算可能な準同型暗号方式に従って暗号化する処理を表す。
その後、送信部59は、第4データ格納部58に格納されている暗号化テキストEnc(mt(T))及び長さkを、情報処理装置3へ送信する(ステップS9)。
情報処理装置3の登録部31は、暗号化テキストEnc(mt(T))及び長さkを受信し、データベース32に登録する(ステップS11)。
以上のような処理を行うことで、暗号化した状態でテキスト等を、クラウドなどに設置された情報処理装置3へ登録することができるようになる。
次に、照合者が、特定のパターンについて照合処理を行わせる際の処理内容を図8を用いて説明する。
照合者装置7の入力部70は、例えば情報提供者又は他のコンピュータなどから、マッチング対象のテキスト等のデータと照合すべきパターンのデータを取得し、第1データ格納部71に格納する(図8:ステップS21)。そして、バイナリ変換部72は、第1データ格納部71に格納されているテキストをバイナリ化して、バイナリ化テキストのデータP=(p0,p1,...,pl-1)を第2データ格納部73に格納する(ステップS23)。
また、多項式変換部74は、バイナリ化されたパターンPに対して多項式変換を実行し、多項式変換によって生成された多項式mp(P)を第3データ格納部75に格納する(ステップS25)。具体的には、バイナリ化されたテキストPの各成分piを降順に各次元の係数として用いることで多項式mp(P)=−Σjjn-jを生成する。なお、多項式変換部74は、バイナリ化されたパターンPのビット長lも、第3データ格納部75に格納する。
そして、暗号化部76は、第3データ格納部75に格納されている多項式mp(P)を、多項式演算可能な準同型暗号方式に従って、公開鍵格納部77に格納されている照合者の公開鍵pkを用いて暗号化することで暗号化パターンEnc(mp(P))を生成し、第4データ格納部78に格納する(ステップS27)。なお、暗号化部76は、パターンPのビット長lをも第4データ格納部78に格納する。
その後、送信部79は、第4データ格納部78に格納されている暗号化パターンEnc(mp(P))及び長さlを、情報処理装置3へ送信する(ステップS29)。
情報処理装置3の受信部33は、暗号化パターンEnc(mp(P))及び長さlを受信し(ステップS31)、暗号化パターンEnc(mp(P))については暗号演算処理部35に出力し、長さlについては補助データ生成部34に出力する。
補助データ生成部34は、受信部33から暗号化パターンの長さlを受け取ると、データベース32に格納されている暗号化テキストの長さkを読み出し、補助データCl及びCkを生成し、暗号演算処理部35に出力する(ステップS33)。補助データCl及びCkは、(4)式及び(5)式に従って生成される。
その後、暗号演算処理部35は、(3)式に従って、データベース32に格納されている暗号化テキストEnc(mt(T))と、暗号化パターンEnc(mp(P))と、補助データCl及びCkとを用いて、暗号化パターンマッチングの演算を実行し、演算結果d=(d0,d1,...)を演算結果格納部36に格納する(ステップS35)。
そして、送信部37は、演算結果格納部36に格納された演算結果d及び長さk−lを、受信部33へ暗号化パターン等を送信してきた照合者装置7へ送信する(ステップS37)。
照合者装置7の受信部80は、情報処理装置3から暗号化パターンマッチングの演算結果d及び長さk−lを受信し、第5データ格納部81に格納する(ステップS39)。そして、復号化部82は、秘密鍵格納部83に格納されている秘密鍵skを用いて、多項式演算可能な準同型暗号方式に従って、演算結果dを復号化することで、復号結果ベクトルm=[m0,m1,...,mn-1]を生成し、第6データ格納部84に格納する(ステップS41)。第6データ格納部84には、k−lの値も格納される。
判定部85は、第6データ格納部84に格納された復号結果ベクトルにおいて、0からk−lまでの要素値において0となる位置を特定することで、マッチング対象テキストにおいてパターンと一致する部分が存在するか否かを判定する(ステップS43)。ベクトルm=[2,0,2,2,2,0,2,7]且つk−l=8−3=5であれば、左から順番に[2,0,2,2,2,0]において0となる位置「1」及び「5」が存在しているので、マッチング対象テキストにおいてパターンと一致する部分が存在することが分かる。さらに、バイナリ化されたテキストTにおける2ビット目及び6ビット目にパターンと一致する部分が存在することも分かる。判定部85は、判定結果を第7データ格納部86に格納する。出力部87は、照合者などの要求に応じて、出力装置(表示装置、印刷装置、他のコンピュータ)などに対して判定結果を出力する。
以上のような処理を実行することで、照合すべきパターンについても暗号化したままで、マッチング対象テキストと一致するか否かを判断するための暗号化パターンマッチングの演算結果を得ることができる。そして、照合者装置7において、照合者しか保持していない秘密鍵で復号すれば、簡単な処理にて、マッチング対象テキストとの一致の有無及びパターンが一致する位置を特定できるようになる。
例えば、バイナリ化されたテキストTにおけるk個の要素の各々を暗号化するような方式を採用する場合には、k個の暗号化テキストのデータが生成される。一方、上で述べた本実施の形態によれば、多項式変換を実行するため暗号化テキストは1個のみとなる。同様に、前者の方法を採用する場合には、バイナリ化されたパターンPにおけるl個の要素の各々を暗号化するので、l個の暗号化テキストのデータが生成される。一方、上で述べた本実施の形態によれば、多項式変換を実行するため暗号化パターンは1個のみとなる。このように暗号データのサイズが削減されている。
これに対して、前者の方式を採用すると、暗号化パターンマッチングの演算は、0からk−lまでの各要素位置についてハミング距離を算出することになる。そうすると、暗号文空間におけるハミング距離計算Σi l(E(ti)+E(pi)−2E(ti)*E(pi))(E(ti)は、テキストTのi番目の要素の暗号化結果を表し、E(pi)は、パターンPのi番目の要素の暗号化結果を表す)をk−l+1回行うことになる。すなわち、暗号乗算が計算コストの大部分であるとすると、l*(k−l+1)回の暗号乗算が行われる。一方、本実施の形態では、(3)式から暗号乗算は3回であることが分かる。
このように計算負荷の点においても、本実施の形態の方が削減されていることが分かる。
以上のように、本実施の形態によれば、暗号化パターンマッチングの計算コストが削減できる。
なお、上で述べた実施の形態における演算は基本形を示しただけであり、様々な変形が可能である。
例えば、図9に示すように、バイナリ化されたテキストTの多項式mt(T)と、バイナリ化されたパターンPの多項式mp(P)と、補助データClと、補助データCkとについて、符号を様々に変更することができる。但し、距離計算式を具体的に書き下した場合には、同じ内容となっている。
図9からも分かるように、バイナリ化されたテキストTの多項式mt(T)を生成する際には、バイナリ化されたテキストTの各要素を昇順に係数として用いているが、この多項式mt(T)に対して用いられる補助データClについては、降順に係数が1となっている、n次から(n−l+1)次までの多項式となっている。また、バイナリ化されたパターンPの多項式mp(P)については、バイナリ化されたパターンPの各要素を降順に係数として、n次から(n−l+1)次までの多項式に用いているが、この多項式mp(P)に対して用いられる補助データCkについては、昇順に係数が1となっている多項式が用いられている。すなわち、昇順と降順との組み合わせで、乗算が行われている。
また、図10に示すような変形も可能である。図10は、昇順と降順との組み合わせを反転させ、符号の反転を考慮したものである。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、各装置の機能ブロック図は一例であって、プログラムモジュール構成とは一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、複数ステップを並列実行するようにしても良い。
また、各装置については1台のコンピュータではなく、複数台のコンピュータにて実装される場合もある。また、照合者装置7と提供者装置5とが一体となっている場合もある。
なお、上で述べた情報処理装置3、提供者装置5及び照合者装置7は、コンピュータ装置であって、図11に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本発明の第1の態様に係る情報処理方法は、(A)第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、(B)第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、(C)第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する処理を含む。
このように多項式を生成した上で多項式演算可能な準同型暗号方式によって暗号化することで、暗号化データのデータ量及び計算負荷を削減でき、秘匿化パターンマッチングのコスト削減に繋がる。なお、第1のデータは、マッチング対象テキスト等である場合もあれば、照合すべきパターンである場合もあり、これらについては昇順と降順とで異なる順番を採用する。
また、上記情報処理方法は、(D)第2のデータから生成された第2のバイナリベクトルの要素を、次数について第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られ且つ第2のデータ格納部に格納されている、暗号化された第2の多項式と、暗号化された第1の多項式とを用いて、暗号文空間における所定の演算を実行する処理をさらに含むようにしても良い。この際、上記所定の演算が、当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が第2のバイナリベクトルに対する第1のバイナリベクトルの各対比位置における距離を表すように規定される場合もある。
このように、第1の多項式及び第2の多項式を復号することなく、暗号化したままで演算を実行することで、パターンマッチングがなされる。なお、所定の演算については、上でも述べたように多項式変換を実行しているため、計算負荷が下げられている。
また、上記情報処理方法は、(E)所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数のうち値がゼロとなる係数が存在するか否かを判断する処理をさらに含むようにしても良い。上記所定の演算は、このような判断ができるようにするための演算であり、存在の有無だけではなく、パターンと一致する位置をも特定できる。
さらに、上で述べた所定の演算が、暗号化された第1の多項式と第1の補助データとの積の項と、暗号化された第2の多項式と第2の補助データとの積の項と、暗号化された第1の多項式と暗号化された第2の多項式との積の項とを含む距離計算式によって規定されるようにしても良い。このように暗号乗算の個数が削減されている。
さらに、上で述べた第1の補助データが、(a)暗号化された第1の多項式に対応する第1の順番が昇順であれば、所定次数の多項式であって係数が全て1の多項式のうち降順に第1のバイナリベクトルの要素数の項のみを取り出した多項式を含み、(b)暗号化された第1の多項式に対応する第1の順番が降順であれば、第1のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含む場合もある。また、第2の補助データが、(c)暗号化された第2の多項式に対応する第2の順番が降順であれば、第2のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含み、(d)暗号化された第2の多項式に対応する第2の順番が昇順であれば、所定次数の多項式であって係数が全て1の多項式のうち降順に第2のバイナリベクトルの要素数の項のみを取り出した多項式を含む場合もある。このように所定の演算の本質を変更せずに様々な変形が可能である。
さらに、上記情報処理方法は、(F)暗号化された第1の多項式を、第2のデータから生成された第2のバイナリベクトルの要素を、次数について第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された第2の多項式を格納する第2の格納部にアクセス可能な他のコンピュータに送信し、(G)他のコンピュータから、暗号化された第1の多項式と暗号化された第2の多項式とを用いて暗号文空間における所定の演算を実行することで得られた演算結果を受信し、(H)演算結果を復号することで得られる第3の多項式の各項の係数のうち値がゼロとなる係数を特定する処理をさらに含むようにしても良い。実施の形態に係る照合者装置であれば、このような処理を実行する。
本発明の第2の態様に係る情報処理方法は、(A)第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された第1の多項式を他のコンピュータから受信し、(B)第2のデータから生成された第2のバイナリベクトルの要素を、第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された第2の多項式と、暗号化された第1の多項式とを用いて、暗号文空間における所定の演算を実行し、(C)所定の演算の結果を、他のコンピュータに送信する処理を含む。そして、上記所定の演算が、当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が第2のバイナリベクトルに対する第1のバイナリベクトルの各対比位置における距離を表すように規定されるものである。
所定の演算は、多項式変換されたデータを用いているため、演算コストが削減されている。
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、
前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、
前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する
処理を含み、1又は複数のコンピュータにより実行される情報処理方法。
(付記2)
第2のデータから生成された第2のバイナリベクトルの要素を、次数について前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つ第2のデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行する
処理をさらに含み、
前記所定の演算が、
当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
付記1記載の情報処理方法。
(付記3)
前記所定の演算の演算結果を復号することで得られる前記第3の多項式の各項の係数のうち値がゼロとなる係数が存在するか否かを判断する処理
をさらに含む付記2記載の情報処理方法。
(付記4)
前記所定の演算が、
暗号化された前記第1の多項式と第1の補助データとの積の項と、暗号化された前記第2の多項式と第2の補助データとの積の項と、暗号化された前記第1の多項式と暗号化された前記第2の多項式との積の項とを含む距離計算式によって規定される
付記2又は3記載の情報処理方法。
(付記5)
前記第1の補助データが、
暗号化された前記第1の多項式に対応する前記第1の順番が昇順であれば、所定次数の多項式であって係数が全て1の多項式のうち降順に前記第1のバイナリベクトルの要素数の項のみを取り出した多項式を含み、
暗号化された前記第1の多項式に対応する前記第1の順番が降順であれば、前記第1のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含み、
前記第2の補助データが、
暗号化された前記第2の多項式に対応する前記第2の順番が降順であれば、前記第2のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含み、
暗号化された前記第2の多項式に対応する前記第2の順番が昇順であれば、前記所定次数の多項式であって係数が全て1の多項式のうち降順に前記第2のバイナリベクトルの要素数の項のみを取り出した多項式を含む、
付記4記載の情報処理方法。
(付記6)
暗号化された前記第1の多項式を、第2のデータから生成された第2のバイナリベクトルの要素を、次数について前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第2の多項式を格納する第2の格納部にアクセス可能な他のコンピュータに送信し、
前記他のコンピュータから、暗号化された前記第1の多項式と暗号化された前記第2の多項式とを用いて暗号文空間における所定の演算を実行することで得られた演算結果を受信し、
前記演算結果を復号することで得られる第3の多項式の各項の係数のうち値がゼロとなる係数を特定する
処理をさらに含む付記1記載の情報処理方法。
(付記7)
コンピュータが、
第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信し、
第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行し、
前記所定の演算の結果を、前記他のコンピュータに送信する
処理を含み、
前記所定の演算が、
当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
情報処理方法。
(付記8)
第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、
前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、
前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する
処理を、1又は複数のコンピュータに実行させるためのプログラム。
(付記9)
コンピュータに、
第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信し、
第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行し、
前記所定の演算の結果を、前記他のコンピュータに送信する
処理を実行させ、
前記所定の演算が、
当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
プログラム。
(付記10)
第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成するバイナリ変換部と、
前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成する多項式変換部と、
前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する暗号化部と、
を有する情報処理装置。
(付記11)
第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信する受信部と、
第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行する暗号演算処理部と、
前記所定の演算の結果を、前記他のコンピュータに送信する送信部と、
を有し、
前記所定の演算が、
当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
情報処理装置。
31 登録部
32 データベース
33 受信部
34 補助データ生成部
35 暗号演算処理部
36 演算結果格納部
37 送信部
50 入力部
51 第1データ格納部
52 バイナリ変換部
53 第2データ格納部
54 多項式変換部
55 第3データ格納部
56 暗号化部
57 公開鍵格納部
58 第4データ格納部
59 送信部
70 入力部
71 第1データ格納部
72 バイナリ変換部
73 第2データ格納部
74 多項式変換部
75 第3データ格納部
76 暗号化部
77 公開鍵格納部
78 第4データ格納部
79 送信部
80 受信部
81 第5データ格納部
82 復号化部
83 秘密鍵格納部
84 第6データ格納部
85 判定部
86 第7データ格納部
87 出力部

Claims (11)

  1. 第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、
    前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、
    前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する
    処理を含み、1又は複数のコンピュータにより実行される情報処理方法。
  2. 第2のデータから生成された第2のバイナリベクトルの要素を、次数について前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つ第2のデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行する
    処理をさらに含み、
    前記所定の演算が、
    当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
    請求項1記載の情報処理方法。
  3. 前記所定の演算の演算結果を復号することで得られる前記第3の多項式の各項の係数のうち値がゼロとなる係数が存在するか否かを判断する処理
    をさらに含む請求項2記載の情報処理方法。
  4. 前記所定の演算が、
    暗号化された前記第1の多項式と第1の補助データとの積の項と、暗号化された前記第2の多項式と第2の補助データとの積の項と、暗号化された前記第1の多項式と暗号化された前記第2の多項式との積の項とを含む距離計算式によって規定される
    請求項2又は3記載の情報処理方法。
  5. 前記第1の補助データが、
    暗号化された前記第1の多項式に対応する前記第1の順番が昇順であれば、所定次数の多項式であって係数が全て1の多項式のうち降順に前記第1のバイナリベクトルの要素数の項のみを取り出した多項式を含み、
    暗号化された前記第1の多項式に対応する前記第1の順番が降順であれば、前記第1のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含み、
    前記第2の補助データが、
    暗号化された前記第2の多項式に対応する前記第2の順番が降順であれば、前記第2のバイナリベクトルの要素数に対応する次数の多項式であって係数が全て1の多項式を含み、
    暗号化された前記第2の多項式に対応する前記第2の順番が昇順であれば、前記所定次数の多項式であって係数が全て1の多項式のうち降順に前記第2のバイナリベクトルの要素数の項のみを取り出した多項式を含む、
    請求項4記載の情報処理方法。
  6. 暗号化された前記第1の多項式を、第2のデータから生成された第2のバイナリベクトルの要素を、次数について前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第2の多項式を格納する第2の格納部にアクセス可能な他のコンピュータに送信し、
    前記他のコンピュータから、暗号化された前記第1の多項式と暗号化された前記第2の多項式とを用いて暗号文空間における所定の演算を実行することで得られた演算結果を受信し、
    前記演算結果を復号することで得られる第3の多項式の各項の係数のうち値がゼロとなる係数を特定する
    処理をさらに含む請求項1記載の情報処理方法。
  7. コンピュータが、
    第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信し、
    第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行し、
    前記所定の演算の結果を、前記他のコンピュータに送信する
    処理を含み、
    前記所定の演算が、
    当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
    情報処理方法。
  8. 第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成し、
    前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成し、
    前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する
    処理を、1又は複数のコンピュータに実行させるためのプログラム。
  9. コンピュータに、
    第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信し、
    第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行し、
    前記所定の演算の結果を、前記他のコンピュータに送信する
    処理を実行させ、
    前記所定の演算が、
    当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
    プログラム。
  10. 第1のデータ格納部に格納される第1のデータから第1のバイナリベクトルを生成するバイナリ変換部と、
    前記第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を生成する多項式変換部と、
    前記第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化する暗号化部と、
    を有する情報処理装置。
  11. 第1のデータから生成された第1のバイナリベクトルの要素を、次数について降順と昇順とのうちいずれかである第1の順番で係数として用いることで表される第1の多項式を、多項式演算可能な準同型暗号方式によって暗号化することで得られる、暗号化された前記第1の多項式を他のコンピュータから受信する受信部と、
    第2のデータから生成された第2のバイナリベクトルの要素を、前記第1の順番とは異なる第2の順番で係数として用いることで表される第2の多項式を、前記多項式演算可能な準同型暗号方式によって暗号化することで得られ且つデータ格納部に格納されている、暗号化された前記第2の多項式と、暗号化された前記第1の多項式とを用いて、暗号文空間における所定の演算を実行する暗号演算処理部と、
    前記所定の演算の結果を、前記他のコンピュータに送信する送信部と、
    を有し、
    前記所定の演算が、
    当該所定の演算の演算結果を復号することで得られる第3の多項式の各項の係数が前記第2のバイナリベクトルに対する前記第1のバイナリベクトルの各対比位置における距離を表すように規定される
    情報処理装置。
JP2013163793A 2013-08-07 2013-08-07 情報処理方法及びプログラム Active JP6244728B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013163793A JP6244728B2 (ja) 2013-08-07 2013-08-07 情報処理方法及びプログラム
EP14179107.9A EP2858296B1 (en) 2013-08-07 2014-07-30 Information processing technique for secure pattern matching
US14/446,772 US9509493B2 (en) 2013-08-07 2014-07-30 Information processing technique for secure pattern matching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013163793A JP6244728B2 (ja) 2013-08-07 2013-08-07 情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015031935A true JP2015031935A (ja) 2015-02-16
JP6244728B2 JP6244728B2 (ja) 2017-12-13

Family

ID=51266108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013163793A Active JP6244728B2 (ja) 2013-08-07 2013-08-07 情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9509493B2 (ja)
EP (1) EP2858296B1 (ja)
JP (1) JP6244728B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184594A (ja) * 2014-03-25 2015-10-22 富士通株式会社 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
JP2017097102A (ja) * 2015-11-20 2017-06-01 国立研究開発法人情報通信研究機構 サーバ、サービス方法
US10673614B2 (en) 2015-10-09 2020-06-02 Mitsubishi Electric Corporation Secret search system, management device, secret search method and computer readable medium
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method
CN115348017A (zh) * 2022-10-18 2022-11-15 阿里巴巴(中国)有限公司 密文处理方法以及装置
JP7194303B1 (ja) 2021-09-09 2022-12-21 エアーズ インベストメント ホールディングス プライベート リミテッド ディオファントス方程式及び人工知能が関与する暗号、復号、及び鍵生成の装置並びに方法

Families Citing this family (13)

* 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
CN107317669B (zh) * 2017-07-21 2019-11-26 西安电子科技大学 基于二元截断多项式环的无噪音全同态公钥加密方法
JP7165414B2 (ja) * 2017-12-22 2022-11-04 学校法人東京理科大学 暗号データ処理システム、及びプログラム
CN108234111B (zh) * 2017-12-29 2021-03-23 Tcl华星光电技术有限公司 数据处理方法
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
CN110309674B (zh) * 2019-07-04 2021-10-01 浙江理工大学 一种基于全同态加密的排序方法
US11515997B2 (en) * 2020-06-19 2022-11-29 Duality Technologies, Inc. Privacy enhanced proximity tracker
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN115442021A (zh) * 2022-08-09 2022-12-06 中国银联股份有限公司 一种数据匹配方法、装置、系统、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225137A (ja) * 2009-02-27 2010-10-07 Fujitsu Ltd 検索プログラム及び検索方法
JP2013128175A (ja) * 2011-12-16 2013-06-27 Internatl Business Mach Corp <Ibm> 文字列がオートマトンに受理されるか否かを認証するシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437398B2 (en) 2004-07-30 2008-10-14 Intel Corporation Pattern matching architecture
EP1815637B1 (en) 2004-11-16 2016-04-20 Koninklijke Philips N.V. Securely computing a similarity measure
US8271403B2 (en) 2005-12-09 2012-09-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for automatic comparison of data sequences using local and global relationships
US8249250B2 (en) 2009-03-30 2012-08-21 Mitsubishi Electric Research Laboratories, Inc. Secure similarity verification between homomorphically encrypted signals
US20100329448A1 (en) 2009-06-30 2010-12-30 Rane Shantanu D Method for Secure Evaluation of a Function Applied to Encrypted Signals
IL199657A0 (en) 2009-07-02 2011-08-01 Carmel Haifa University Economic Corp Ltd Face representation systems for privacy aware applications and methods useful in conjunction therewith
KR101362443B1 (ko) * 2009-08-03 2014-02-11 니뽄 덴신 덴와 가부시키가이샤 함수 암호 응용 시스템, 정보 출력 장치, 정보 처리 장치, 암호 프로토콜 실행 방법, 정보 출력 방법, 정보 처리 방법, 프로그램, 및 기록 매체
JP5270514B2 (ja) 2009-10-23 2013-08-21 株式会社日立製作所 生体認証方法及び計算機システム
JP5300983B2 (ja) 2009-10-29 2013-09-25 三菱電機株式会社 データ処理装置
US8311213B2 (en) 2009-12-07 2012-11-13 Mitsubishi Electric Research Laboratories, Inc. Method for determining functions applied to signals
US8416955B2 (en) 2009-12-07 2013-04-09 Mitsubishi Electric Research Laboratories, Inc. Method for determining functions applied to signals
JP2011118387A (ja) 2009-12-07 2011-06-16 Mitsubishi Electric Research Laboratories Inc 信号に関数を適用した結果を求めるための方法およびシステム
JP5448863B2 (ja) 2010-01-15 2014-03-19 日本電信電話株式会社 鍵生成装置、鍵生成方法、プログラム及び記録媒体
US8891762B2 (en) 2010-12-10 2014-11-18 Mitsubishi Electric Research Laboratories, Inc. Method for privacy-preserving order selection of encrypted element
JP5498406B2 (ja) 2011-01-21 2014-05-21 日本電信電話株式会社 マッチングシステム、マッチングシステムの方法
US9002007B2 (en) * 2011-02-03 2015-04-07 Ricoh Co., Ltd. Efficient, remote, private tree-based classification using cryptographic techniques
US8837727B2 (en) 2011-11-08 2014-09-16 Mitsubishi Electric Research Laboratories, Inc. Method for privacy preserving hashing of signals with binary embeddings
US8966277B2 (en) * 2013-03-15 2015-02-24 Mitsubishi Electric Research Laboratories, Inc. Method for authenticating an encryption of biometric data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225137A (ja) * 2009-02-27 2010-10-07 Fujitsu Ltd 検索プログラム及び検索方法
JP2013128175A (ja) * 2011-12-16 2013-06-27 Internatl Business Mach Corp <Ibm> 文字列がオートマトンに受理されるか否かを認証するシステム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KRISTIN LAUTER, ET AL.: "Can Homomorphic Encryption be Practial?", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2011/405, vol. Version: 20110901:140326, JPN6017029634, 1 September 2011 (2011-09-01), pages 1 - 18, ISSN: 0003615317 *
N. P. SMART, ET AL.: "Fully Homomorphic SIMD Operations", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2011/133, vol. Version: 20110803:143250, JPN6017029636, 3 August 2011 (2011-08-03), ISSN: 0003615319 *
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: 0003661039, DOI: 10.1145/2517488.2517497 *
安田 雅哉 ほか: "イデアル格子準同型暗号を用いた秘匿内積の実装", 2013年 暗号と情報セキュリティシンポジウム SCIS2013, vol. 1A2−1, JPN6017029633, 22 January 2013 (2013-01-22), JP, pages 1 - 2, ISSN: 0003615316 *
安田 雅哉 ほか: "イデアル格子準同型暗号を用いた秘匿内積計算", 2013年 暗号と情報セキュリティシンポジウム, vol. 2A3−2, JPN6017029635, 22 January 2013 (2013-01-22), JP, pages 1 - 3, ISSN: 0003615318 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184594A (ja) * 2014-03-25 2015-10-22 富士通株式会社 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
US10673614B2 (en) 2015-10-09 2020-06-02 Mitsubishi Electric Corporation Secret search system, management device, secret search method and computer readable medium
JP2017097102A (ja) * 2015-11-20 2017-06-01 国立研究開発法人情報通信研究機構 サーバ、サービス方法
US10778431B2 (en) 2016-01-18 2020-09-15 Mitsubishi Electric Corporation Encrypted text conversion device, computer readable medium, and encryption text conversion method
JP7194303B1 (ja) 2021-09-09 2022-12-21 エアーズ インベストメント ホールディングス プライベート リミテッド ディオファントス方程式及び人工知能が関与する暗号、復号、及び鍵生成の装置並びに方法
CN115348017A (zh) * 2022-10-18 2022-11-15 阿里巴巴(中国)有限公司 密文处理方法以及装置
CN115348017B (zh) * 2022-10-18 2023-02-07 阿里巴巴(中国)有限公司 密文处理方法以及装置

Also Published As

Publication number Publication date
EP2858296A3 (en) 2015-09-02
EP2858296A2 (en) 2015-04-08
US9509493B2 (en) 2016-11-29
US20150046708A1 (en) 2015-02-12
JP6244728B2 (ja) 2017-12-13
EP2858296B1 (en) 2019-12-25

Similar Documents

Publication Publication Date Title
JP6244728B2 (ja) 情報処理方法及びプログラム
JP6260442B2 (ja) 情報処理方法及びプログラム
JP6349841B2 (ja) 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
JP6083234B2 (ja) 暗号処理装置
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP2016012111A (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP6413743B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
US20140185794A1 (en) Encryption processing apparatus and method
JP3583555B2 (ja) 暗号通信法
US20150172258A1 (en) Symmetric encryption apparatus and storage medium, and symmetric decryption apparatus and storage medium
WO2014112048A1 (ja) 暗号システム、再暗号化鍵生成装置、再暗号化装置、暗号方法及び暗号プログラム
WO2016136142A1 (ja) 暗号文照合システム、方法、および記録媒体
KR100445893B1 (ko) 비대칭암호통신방법및이와관련된포터블객체
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
WO2016072057A1 (ja) 暗号文照合システム、方法、および記録媒体
US8924448B2 (en) Arithmetic device, method, and program product
JP4836208B2 (ja) 暗号化/復号化プログラム、暗号化/復号化装置及び拡大体の乗算装置
US11288985B2 (en) Encryption device, decryption device, encryption method, decryption method, encryption program product, and decryption program product
US20230134515A1 (en) Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, and storage medium
JP5103407B2 (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
JP2009290698A (ja) ブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラム
JP3959076B2 (ja) 有限体の二乗演算方法及び二乗演算装置
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム
KR101259934B1 (ko) Rsa 암호 알고리즘 교육을 위한 학습 시스템 및 자가학습 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171004

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: 20171017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6244728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150