JP5730804B2 - 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム - Google Patents

暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム Download PDF

Info

Publication number
JP5730804B2
JP5730804B2 JP2012084573A JP2012084573A JP5730804B2 JP 5730804 B2 JP5730804 B2 JP 5730804B2 JP 2012084573 A JP2012084573 A JP 2012084573A JP 2012084573 A JP2012084573 A JP 2012084573A JP 5730804 B2 JP5730804 B2 JP 5730804B2
Authority
JP
Japan
Prior art keywords
elements
encryption
matrix
key
ciphertext
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.)
Active
Application number
JP2012084573A
Other languages
English (en)
Other versions
JP2013213965A (ja
Inventor
陵 西巻
陵 西巻
恵太 草川
恵太 草川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012084573A priority Critical patent/JP5730804B2/ja
Publication of JP2013213965A publication Critical patent/JP2013213965A/ja
Application granted granted Critical
Publication of JP5730804B2 publication Critical patent/JP5730804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、公開鍵暗号技術に関し、特に、再暗号化技術に関する。
通常の公開鍵暗号方式では、ある公開鍵で暗号化された暗号文を復号出来るのは、対応する秘密鍵を有する者にのみ限られる。これに対し、変換鍵を用いることによってその暗号文を異なる秘密鍵を用いて復号可能な暗号文に変換できる方式が、プロキシ再暗号化方式である。プロキシ再暗号化方式は、復号権限を委譲するユーザ、復号権限を委譲されるユーザ、暗号文を変換するプロキシから構成される。この方式は、非特許文献1で初めて提案され、それ以降、離散対数問題や楕円離散対数問題に基づいた様々なプロキシ再暗号化方式が提案されている。変換鍵(以降、再暗号化鍵とよぶ)には秘密鍵に関する情報が含まれているため、再暗号化鍵をもつプロキシは復号権限を委譲するユーザの秘密鍵に関するなんらかの情報を得る可能性がある。これを防ぐために、再暗号化鍵の難読化という概念が非特許文献2で提案され、実際に再暗号鍵を難読化する方式が提案された。
しかし従来方式の安全性は、すべて離散対数問題や楕円離散対数問題に基づいており、実用的な量子コンピュータが実現された際にShorのアルゴリズムによってその安全性が崩れることが知られている。そのため近年、量子コンピュータに対して安全であると期待されている格子問題に基づく暗号に注目が集まっており、格子問題に基づく様々な暗号技術が実現されている。そのような中、格子問題に基づく完全準同型暗号がGentryによって開発された(非特許文献2)。完全準同型暗号を用いると原理的には通常のプロキシ再暗号とその再暗号化鍵を難読化することができる。
Matt Blaze, Gerrit Bleumer, and Martin Strauss, "Divertible protocols and atomic proxy cryptography," In EUROCRYPT'98, volume 1403 of LNCS, pages 127-144, 1998. Susan Hohenberger, Guy N. Rothblum, Abhi Shelat, and VinodVaikuntanathan, "Securely obfuscating re-encryption," J. Cryptology, 24(4):694-719, 2011. Craig Gentry, "Fully homomorphic encryption using ideal lattices," In STOC, pages 169-178. ACM, 2009.
しかしながら、従来の完全準同型暗号は非常に効率が悪く、およそ実用には程遠い。
本発明はこのような点に鑑みてなされたものであり、量子コンピュータが実現された場合でも安全性を確保でき、再暗号鍵の難読化が可能な実用的なプロキシ再暗号化方式を提供することを目的とする。
暗号化の際に、所定の分布χに従って選択したZの元を要素とするベクトルs,eおよびfを得、ビット値を要素とする平文ベクトルkを用い、A・s+eおよびU・s+f+k・floor(q/2)を含む入力暗号文ictを得る。ただし、floor(α)は実数α以下の最大の整数であり、qは2以上の整数であり、公開鍵Aおよび公開値UはZの元を要素とする行列である。
再暗号化鍵難読化の際に、公開鍵Bおよび公開値Uを用い、U・V=Uを満たすZを要素とする行列Vを得、所定の分布χに従って選択したZの元を要素とする行列Xを得、行列B=B・V+Xを得、公開鍵A、秘密鍵Sおよび行列Bを用い、B=R・Aを満たす行列Rを得る。これにより、行列XおよびRを含む難読化された再暗号化鍵が得られる。ただし、公開鍵Bおよび公開値UはZの元を要素とする行列であり、公開鍵Aに対応する秘密鍵Sは整数を要素とする行列である。
再暗号化の際に、所定の分布χに従って選択したZの元を要素とするベクトル(s,(eおよび(fを得、Zの元を要素とするベクトルτ およびτ を含む入力暗号文ict、ならびにZの元を要素とする行列BおよびRを含む再暗号化鍵を用い、ベクトルR・τ +B・(s+(eおよびτ +U・(s+(fを含む出力暗号文octを得る。
入力暗号文ictの復号の際には、Zの元を要素とするベクトルであるτ およびτ を含む入力暗号文ictの入力を受け付け、公開鍵A、秘密鍵Sおよびベクトルτ を用い、τ =A・s+eを満たすベクトルsを復元し、復号値k={rounding(2・(τ −U・s)/q)}mod2を得る。ただし、rounding(α)は実数αに一番近い整数である。
出力暗号文octの復号の際には、Zの元を要素とするベクトルであるξ およびξ を含む出力暗号文octの入力を受け付け、復号値k={rounding(2・(ξ −E・ξ )/q)}mod2を得る。ただし、秘密鍵EはZを要素とする行列である。
本発明では、量子コンピュータが実現された場合でも安全性を確保でき、再暗号鍵の難読化が可能な実用的なプロキシ再暗号化方式を実現できる。
図1は、実施形態の再暗号化システムの構成を例示するための図である。 図2は、実施形態の暗号化装置の構成を例示するための図である。 図3は、実施形態の再暗号化鍵難読化装置の構成を例示するための図である。 図4は、実施形態の再暗号化装置の構成を例示するための図である。 図5は、実施形態の復号装置の構成を例示するための図である。 図6は、実施形態の暗号化方法を例示するための図である。 図7は、実施形態の再暗号化鍵難読化方法を例示するための図である。 図8は、実施形態の再暗号化方法を例示するための図である。 図9は、実施形態の復号方法を例示するための図である。
本発明の実施形態を説明する。なお、ベクトル表記に用いられる「→」は本来記号の上にあるべきであるが、テキスト表記の制約上、「r」のように記号の後に表記する。ただし、図形データとして取り込まれた部分については「→」を記号の上に表記する。
<定義>
用語および記号を定義する。
:Zは整数q(q≧2)を法とした整数の剰余類の集合である。Zの例はqを法とした整数の剰余類の代表元の集合である。例えば、Zは整数zに対するz mod qの集合、すなわちZ={0,...,q−1}である。
floor(α):floor(α)は実数α以下の最大の整数である。
ceiling(α):ceiling(α)は実数α以上の最小の整数である。
rounding(α):rounding(α)は実数αに一番近い整数である。すなわち、実数αを一番近い整数に丸めた値がrounding(α)である。例えば、rounding(α)=floor(α+1/2)でもよいし、rounding(α)=ceiling(α−1/2)であってもよい。
PPT:PPTとはprobabilistic polynomial-timeの略であり、確率的多項式時間のことを指す。
U(SE):U(SE)は集合SE上の一様分布を表す。
N(0;σ):N(0;σ)は、平均0、分散σのガウス分布を表す。
χd,q,β:χd,q,βは、以下の(1)〜(4)からなる基本ループをd回実行して得られるd個のサンプルη’’mod qを要素とするd次元ベクトルの分布(確率分布)を表す。χ1,q,βは、基本ループを1回実行して得られるサンプルη’’mod qの分布を表す。ただし、dは1以上の自然数であり、βは0<β<1を満たす実数である。
(1)ガウス分布N(0;σ)に従ってサンプルηを取得する。
(2)η’=q・ηを計算する。
(3)η’’=rounding(η’)
(4)η’’mod q
χ:χは所定の分布(確率分布)を表す。分布χの例は上記の分布χ1,q,βである。
格子:格子とは実ベクトル空間の離散部分群を表す。R内の完全次元格子をΛ={Σφ=1 ηφ・hφ :ηφ∈Z}と定義する。ただし、nは1以上の自然数であり、Zは整数集合を表し、Rは実数集合を表し、Rはn次元の実数からなる空間を表す。h ,...,h ∈Rはそれぞれn次元ベクトルであり、h ,...,h はR上で線形独立である。行列H=[h ,...,h ]は完全次元格子の基底である。Zの元を要素とするm行n列の行列K∈Z m×nおよびZの元を要素とするn次元ベクトルζ∈Z に対する格子Λ(K)を、Λ(K)={ζ∈Z|(ζ・K≡0(mod q)}と定義する。ただし、mは1以上の自然数であり、Zはm個の整数からなる集合を表し、(α)は(α)の転置を表す。格子Λ(K)のシフトΛ u→(K)を、Λ u→(K)={ζ∈Z|(ζ・K≡u(mod q)}と定義する。
LWE問題:LWE(Learning with Errors)問題は、Regevによって提案された(例えば「Oded Regev, “On lattices, learning with errors, random linear codes, and cryptography,” J. ACM, 56(6), 2009.」参照)。
n次元ベクトルν∈Z および分布χ1,q,βに対し、n次元ベクトルδ∈Z を取得し、分布χ1,q,βに従ってサンプルη∈Zを取得し、(δ,(δ・ν+η)∈Z ×Zを出力するオラクルをο(ν,χ1,q,β)と表記する。n次元ベクトルν∈Z およびZ上の一様分布U(Z)に対し、n次元ベクトルδ∈Z を取得し、一様分布U(Z)に従ってサンプルη∈Zを取得し、(δ,(δ・ν+η)∈Z ×Zを出力するオラクルをο(ν,U(Z))と表記する。
整数q、分布χ1,q,β、およびZ 上の所定の分布ψに対するLWE問題LWE(N,q,χ1,q,β)とは、オラクルο(ν,χ1,q,β)とオラクルο(ν,U(Z))とを識別する問題である。ν∈Z は分布ψに従う。LWE(n,q,χ1,q,β)仮定が分布ψに対して成立するとは、どのようなPPTアルゴリズムADに対しても、以下の優位性がnに対して無視できることである。
Figure 0005730804

ただし、ν∈Z は分布ψに従う。任意のν∈Z に対してオラクルο(ν,U(Z))の出力値は一様分布U(Z ×Z)に従う。Pr[ν←ψ:ADο(1)=1]は、PPTアルゴリズムADが分布ψに従ったνをオラクルο∈{ο(ν,χ1,q,β),ο(ν,U(Z))}に与え(ADはοがいずれのオラクルであるかを知らない)、オラクルοからの出力値を得て、そのオラクルがオラクルοであると識別する確率を表す。
量子化されたガウス関数Ψβ:ガウス分布N(0;β/2π)に従ってサンプルηを取得し、(rounding(q・η))mod qを出力する関数を量子化されたガウス関数Ψβと定義する。ただし、βは0<β<1を満たす実数である。
ε次元ガウス関数ργ(η):ργ(η)=exp(−π||η||/γ)をε次元ガウス関数と定義する。ただし、πは円周率であり、εは1以上の自然数であり、γは正の実数であり、ηはガウス分布N(0;β/2π)に従って得られるε個のサンプルηを要素とするε次元ベクトルを表し、||α||はαのノルムを表す。
離散ガウス分布DΩ,γ(η):ε次元ベクトルη、正の実数γおよびε次元の可算集合Ωに対し、離散ガウス分布DΩ,γ(η)を以下のように定義する。
Figure 0005730804

が成り立つ。Gentry,Peikert,Vaikuntanathanらは、DZ,γに対する効率的なサンプラーSampleDを提案した(例えば「Craig Gentry, Chris Peikert, and Vinod Vaikuntanathan, “Trapdoors for hard lattices and new cryptographic constructions,” In STOC. ACM, 2008.」参照)。
TrapGen,Invert,SampleD:
MicciancioとPeikertは、「Daniele Micciancio and Chris Peikert, “Trapdoors for lattices: Simpler, tighter, faster, smaller,” In EUROCRYPT, 2012.」の中で、以下の性質を満たすアルゴリズムTrapGen,Invert,SampleDが存在することを示した。以下の定理はこの文献の「Theorem5.1」に記載されている。
PPTアルゴリズムTrapGen(q,n,m)は、任意の整数q≧2、n≧1と、十分大きいm=O(n lg q)を与えられて、行列Γ∈Z m×n、および落とし戸Θ∈Zm×nを返す。ただし、Γの分布はZ m×n上の一様分布U(Z m×n)と統計的距離が近い。「O(α)」はO記法での値であり、「lg」は2を底にした対数を表す。
効率的なアルゴリズムInvertおよびSampleDが存在して、圧倒的確率で以下が成立する。
(A)確定的アルゴリズムInvert(Γ,Θ,λ)は、行列Γ∈Z m×n、落とし戸Θ∈Zm×n、およびベクトルλ=Γ・υ+κ∈Z を入力とし、ベクトルυ∈Z およびκ∈Z を出力する。υは任意のn次元ベクトルであり、κは||κ||<q/O((n lg q)1/2)を満たすm次元ベクトルであるか、または、離散ガウス分布D ,ι・q(κ)に従って選択されたm次元ベクトルである。ιは1/ι≧(n lg q)1/2・ω((n lg q)1/2)を満たす正の実数ある。また、ω((n lg q)1/2)はnの増加に対して漸近的に(n lgq)1/2よりも先に大きな関数値をとる関数である。
(B)SampleD(Θ,Γ,c,γ)は、任意のn次元ベクトルc∈Z および十分大きなω((n lg n lg q)1/2)に対し、ある分布Ξに従ってm次元ベクトルr∈Z をサンプリングして出力する。ただし、当該分布Ξと、Ω=Λ c→(Γ)、γ=ω((n lg (n lg q))1/2)、ε=m(ηはm次元ベクトル)とした離散ガウス分布DΩ,γ(η)との統計的距離は、無視できるほど小さい。またc=r・Γが成立する。
記法を簡単にするため、SamplePreMatrix(Γ,Θ,C,γ)を以下のように定義する。
(1)行列Γ∈Z m×n、落とし戸Θ∈Zm×n、および行列C=[c ,...,c ]∈Z m×nを入力とする。
(2)φ=1,...,nについてc=cφ ∈Z とおいたSampleD(Θ,Γ,cφ ,γ)の出力rφ を得る。
(3)行列R=[r ,...,r ]∈Z m×mとする。
(4)行列Rを出力する。行列RはC=R・Γを満たす。
<構成>
次に本形態の構成を説明する。
図1に例示するように、本形態の再暗号化システム1は、暗号化装置110、再暗号化鍵難読化装置120、再暗号化装置130、J個(Jは1以上の自然数)の復号装置140−1〜J、およびシステムパラメータ生成装置150を有する。暗号化装置110、再暗号化装置130、J個(Jは1以上の自然数)の復号装置140−1〜J、およびシステムパラメータ生成装置150は、ネットワークを通じて通信可能に構成されている。パラメータ生成装置150は、さらに再暗号化鍵難読化装置120と通信可能に構成されている。復号装置140−1〜Jは再暗号化鍵難読化装置120に情報提供が可能なように構成され、再暗号化鍵難読化装置120はさらに再暗号化装置130と専用回線等を通じて通信可能に構成されている。
図2に例示するように、本形態の暗号化装置110は、入力部111a、出力部111b、記憶部112a、一時メモリ112b、制御部113、選択部114、行列生成部115、入力暗号文生成部116、乱数選択部117、および出力暗号文生成部118を有する。
図3に例示するように、本形態の再暗号化鍵難読化装置120は、入力部121a、出力部121b、記憶部122a、一時メモリ122b、制御部123、行列生成部124、および再暗号化鍵生成部125を有する。
図4に例示するように、本形態の再暗号化装置130は、入力部131a、出力部131b、記憶部132a、一時メモリ132b、制御部133、乱数選択部134、および暗号文変換部135を有する。
図5に例示するように、本形態の復号装置140−j(j=1,...,J)は、入力部141a−j、出力部141b−j、記憶部142a−j、一時メモリ142b−j、制御部143−j、選択部144−j、ベクトル復元部145−j、平文復元部146−j,147−j、入力鍵対生成部148−j、および出力鍵対生成部149−jを有する。
暗号化装置110、再暗号化鍵難読化装置120、再暗号化装置130、復号装置140−j、およびパラメータ生成装置150は、それぞれ、例えば公知のコンピュータまたは専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。あるいは、装置が備える各部の少なくとも一部がハードウェアによって構成されてもよい。各装置は、それぞれが備える制御部113、123、133および143−jの制御に基づいて各処理を実行する。入力されたデータや各部で得られたデータは、それぞれの装置が備える一時メモリ112b、122b、132bおよび142b−jに格納され、必要に応じて読み出されて使用される。
<事前処理>
システムパラメータ生成装置150は、再暗号化システム1全体に共通なシステムパラメータを生成し、生成したシステムパラメータを各装置に送信する。例えば、本形態のシステムパラメータ生成装置150は、平文ベクトルの長さL(Lは1以上の自然数)に対し、Zの元を要素とするL×nの行列U∈Z L×nを公開値として選択する。システムパラメータ生成装置150は、正整数のセキュリティパラメータsec、整数n,m,L,q、分布χ1,q,β、実数γ、行列Uを表すシステムパラメータpp=(1sec,1,1,1,q,χ1,q,β,γ,U)を、暗号化装置110、再暗号化鍵難読化装置120、再暗号化装置130、および復号装置140−jに送信する。暗号化装置110、再暗号化鍵難読化装置120、再暗号化装置130、および復号装置140−jは、システムパラメータppの利用可能に設定される。
<鍵生成処理>
各復号装置140−jの入力鍵対生成部148−jは、それぞれ、システムパラメータppを入力とし、アルゴリズムTrapGen(q,n,m)を実行し、その出力値である行列A(j)∈Z m×n、および落とし戸S(j)∈Zm×nを得る。各入力鍵対生成部148−jは、行列A(j)を公開鍵ipk(j)=A(j)とし、落とし戸S(j)を秘密鍵isk(j)=S(j)とした鍵ペア(ipk(j),isk(j))を出力する。鍵ペア(ipk(j),isk(j))は記憶部142a−jに格納される。公開鍵ipk(j)は必要に応じて出力部141b−jから出力されて各装置に送信される。
各復号装置140−jの出力鍵対生成部149−jは、それぞれ、システムパラメータppを入力とし、アルゴリズムTrapGen(q,n,m)を実行し、その出力値である行列B(j)∈Z m×nおよび落とし戸T(j)∈Zm×nを得る。各出力鍵対生成部149−jは、さらに、行列B(j)、落とし戸T(j)および行列Uを入力としたSamplePreMatrix(B(j),T(j),U,γ)を実行し、その出力値である行列E(j)∈Z m×mを得る。ここでE(j)・B(j)=Uが成立している。各出力鍵対生成部149−jは、行列B(j)を公開鍵opk(j)=B(j)とし、行列E(j)を秘密鍵osk(j)=E(j)とした鍵ペア(opk(j),osk(j))を出力する。鍵ペア(opk(j),osk(j))は記憶部142a−jに格納される。公開鍵opk(j)は必要に応じて出力部141b−jから出力されて各装置に送信される。
<暗号化処理>
暗号化処理を説明する。
図6に例示するように、暗号化装置110(図2)の入力部111aに、L個のビット値を要素とするメッセージである平文ベクトルk∈{0,1}が入力される(ステップS1)。さらに入力部111aに、入力暗号文を生成するのか出力暗号文を生成するのかを表す暗号モード、および、入力暗号文を生成する場合にはさらにインデックスi∈SETが入力される。SETはインデックスiの集合を表し、SETの例はSET={1,...,J}である。インデックスiは、生成した入力暗号文がのちに出力暗号文に再暗号化される際、どの復号装置140−jで復号可能な出力暗号文にするか特定するための値である。具体的には、集合SETを集合{1,...,J}に写す関数F(i)が定義され、インデックスiは、復号装置140−F(i)で復号可能な出力暗号文に再暗号化することを表す(ステップS2)。入力された平文ベクトルk、インデックスiおよび暗号モードは、選択部114に入力される。
選択部114は、入力された暗号モードが入力暗号文を生成することを示すものであるかを判定する(ステップS3)。ここで、暗号モードが入力暗号文を生成することを示すものであった場合にはステップS4に進み、そうでない場合にはステップS6に進む。
ステップS4では、乱数選択部117が、システムパラメータppを入力とし、分布χn,q,βに従って選択したZの元(乱数)を要素とするn次元ベクトルs∈Z 、分布χm,q,βに従って選択したZの元(乱数)を要素とするm次元ベクトルe∈Z 、および、χL,q,βに従って選択したZの元(乱数)を要素とするL次元ベクトルf∈Z を生成して出力する(ステップS4)。入力暗号文生成部116には、システムパラメータpp、平文ベクトルk、インデックスi、ベクトルs,e,fが入力される。入力暗号文生成部116は、所望の復号装置140−jから出力された公開鍵ipk(j)=A(j)を取得する。入力暗号文生成部116は、(τ ,τ )=(A(j)・s+e,U・s+f)および(τ ,τ )=(τ ,τ +k・floor(q/2))を計算する。入力暗号文生成部116は、入力暗号文ict=(τ ,τ ,i)を出力する。入力暗号文ict=(τ ,τ ,i)は、出力部111bに入力される(ステップS5)。出力部111bは、入力暗号文ict=(τ ,τ ,i)をネットワーク経由で復号装置140−jに送信する(ステップS9)。
ステップS6では、行列生成部115が、システムパラメータppを入力とし、所望の復号装置140−jから出力された公開鍵opk(j)=B(j)を取得する。行列生成部115は、公開鍵opk(j)=B(j)および行列Uを用い、U・V=U∈Z L×nを満たすZを要素とする行列V∈Z n×nを得、分布χm×n,q,βに従って選択したm×n個のZの元(乱数)を要素とする行列X∈Z m×nを得、行列B(j)=B(j)・V+X∈Z m×nを得て出力する。ここで、システムパラメータppおよび行列B(j)∈Z m×nを入力とし、U・V’=O∈Z L×nを満たす行列V’∈Z n×nを選択し、V=I+V’∈Z n×nを計算し(これはU・V=Uを満たす行列Vを選んでいることを意味する)、分布χm×n,q,βに従って選択したm×n個のZの元(乱数)を要素とする行列X∈Z m×nを得て、行列B(j)=B(j)・V+X∈Z m×nを計算し、行列B(j)を出力するアルゴリズムをRandOPK(pp,B(j)∈Z m×n)と定義する。ただし、O∈Z L×nはL×nの零行列であり、I∈Z n×nはn×nの単位行列である。行列生成部115は、例えば、公開鍵opk(j)=B(j)および行列Uを用い、RandOPK(pp,B(j)∈Z m×n)を実行し、行列B(j)を得て出力する(ステップS6)。次に乱数選択部117が、システムパラメータppを入力とし、分布χn,q,βに従って選択したZの元(乱数)を要素とするn次元ベクトルs∈Z 、分布χm,q,βに従って選択したZの元(乱数)を要素とするm次元ベクトルe∈Z 、および、χL,q,βに従って選択したZの元(乱数)を要素とするL次元ベクトルf∈Z を生成して出力する(ステップS7)。出力暗号文生成部118には、システムパラメータpp、平文ベクトルk、行列B(j)およびベクトルs,e,fが入力される。出力暗号文生成部118は、(ξ ,ξ )=(B(j)・s+e,U・s+f)および(ξ ,ξ )=(ξ ,ξ +k・floor(q/2))を計算する。出力暗号文生成部118は、出力暗号文oct=(ξ ,ξ )を出力する。出力暗号文oct=(ξ ,ξ )は、出力部111bに入力される(ステップS5)。出力部111bは、出力暗号文oct=(ξ ,ξ )をネットワーク経由で復号装置140−jに送信する(ステップS9)。
<復号処理>
次に復号処理を説明する。
図9に例示するように、入力暗号文ict=(τ ,τ ,i)または出力暗号文oct=(ξ ,ξ )は復号装置140−j(図5)の入力部141a−jに入力される。入力暗号文ict=(τ ,τ ,i)または出力暗号文oct=(ξ ,ξ )は、選択部144−jに送られる(ステップS31)。選択部144−jは、入力された暗号文が入力暗号文ictであるかを判定する(ステップS32)。ここで、入力された暗号文が入力暗号文ictである場合にはステップS33に進み、そうでない場合にはステップS35に進む。
ステップS33では、ベクトル復元部145−jが、システムパラメータpp、入力暗号文ict=(τ ,τ ,i)、ならびに記憶部142−jから読み出した公開鍵ipk(j)=A(j)および秘密鍵isk(j)=S(j)を入力とし、Invert(A(j),S(j),τ )を実行し、τ =A(j)・s+eを満たすn次元ベクトルs∈Z を復元して出力する(ステップS33)。次に平文復元部146−jが、システムパラメータpp、n次元ベクトルs、および入力暗号文ict=(τ ,τ ,i)を入力とし、L次元ベクトルτ =τ −U・s∈Z を生成する。さらに平文復元部146−jは、復号値k={rounding(2・τ /q)}mod2を計算して出力する(ステップS34)。復号値kは出力部141b−jに入力され、出力部141b−jは復号値kを出力する(ステップS36)。
ステップS35では、ベクトル復元部147−jが、システムパラメータpp、出力暗号文oct=(ξ ,ξ )、ならびに記憶部142−jから読み出した秘密鍵osk(j)=E(j)を入力とし、L次元ベクトルξ =ξ −E(j)・ξ ∈Z を生成する。さらにベクトル復元部147−jは、復号値k={rounding(2・ξ /q)}mod2を計算して出力する(ステップS35)。復号値kは出力部141b−jに入力され、出力部141b−jは復号値kを出力する(ステップS36)。
<再暗号化鍵難読化処理>
次に、復号装置140−j(j=1,...,J)で復号可能な入力暗号文を復号装置140−F(i)(F(i)=1,...,J)で復号可能な出力暗号文に再暗号化するために必要な再暗号化鍵の難読化処理を説明する。
図7に例示するように、再暗号化鍵難読化装置120(図3)の入力部121aには、システムパラメータpp、復号装置140−jの鍵ペア(ipk(j),isk(j))=(A(j),S(j))、J個の復号装置140−1〜Jの公開鍵{opk(1),...,opk(J)}={B(1),...,B(J)}、および関数F(i)が入力される(ステップS11)。
行列生成部124は、システムパラメータpp、公開鍵{opk(1),...,opk(J)}={B(1),...,B(J)}および関数F(i)を入力とし、各インデックスi∈SETについてRandOPK(pp,B(F(i))∈Z m×n)を実行し、行列B(F(i))∈Z m×nを出力する。すなわち、行列生成部124は、各インデックスi∈SETについて、U・V=Uを満たすZを要素とする行列Vを得、分布χm×n,q,βに従って行列X∈Z m×nを得、行列B(F(i))=B(F(i))・V+Xを得て出力する(ステップS12)。
再暗号化鍵生成部125は、システムパラメータpp、復号装置140−jの鍵ペア(ipk(j),isk(j))=(A(j),S(j))、および各インデックスi∈SETに対する行列B(F(i))を入力とし、各インデックスi∈SETについてSamplePreMatrix(A(j),S(j),B(F(i)),γ)を実行し、行列R(F(i))∈Z m×mを生成する。すなわち、再暗号化鍵生成部125は、B(F(i))=R(F(i))・A(j)を満たす行列R(F(i))を生成する(ステップS13)。再暗号化鍵生成部125は、各インデックスi∈SETについて、難読化された再暗号化鍵rk(i)=(R(F(i)),B(F(i)))を生成し、各インデックスi∈SETに対応する再暗号化鍵rk(i)からなる集合{rk(i)}i∈SETを再暗号化鍵集合rfとして出力する。例えば、SET={1,...,J}の場合には、rf=(rk(1),...,rk(J))となる(ステップS14)。
再暗号化鍵集合rfは出力部121bから出力され、再暗号化装置130(図4)の入力部131aに入力され、記憶部132aに格納される(ステップS15)。
<再暗号化処理>
次に再暗号化処理を説明する。
図8に例示するように、再暗号化装置130(図4)の入力部131aには、入力暗号文ict=(τ ,τ ,i)が入力される(ステップS21)。
暗号文変換部135は、入力暗号文ict=(τ ,τ ,i)を入力とし、インデックスiに対応する再暗号化鍵rk(i)=(R(F(i)),B(F(i)))を記憶部132aから抽出する。再暗号化鍵rk(i)は、m次元ベクトルξ =R(F(i))・τ ∈Z を計算する。また、乱数選択部134は、システムパラメータppを入力とし、分布χn,q,βに従って選択したZの元(乱数)を要素とするn次元ベクトル(s∈Z 、分布χm,q,βに従って選択したZの元(乱数)を要素とするm次元ベクトル(e∈Z 、および、χL,q,βに従って選択したZの元(乱数)を要素とするL次元ベクトル(f∈Z を生成して出力する。暗号文変換部135は、ξ ,(s,(eおよび(fを用い、(ξ ,ξ )=(B(F(i))・(s+(e,U・(s+(f)を計算する。さらに暗号文変換部135は、出力暗号文oct=(ξ ,ξ )=(ξ +ξ ,τ +ξ )を生成して出力する(ステップS23)。出力暗号文oct=(ξ ,ξ )は出力部131bから出力される(ステップS24)。なお出力暗号文oct=(ξ ,ξ )の復号は、ξ をξ とし、ξ をξ とし、前述(図9)のように実行される。
<入力暗号文が正しく復号できることの説明>
入力暗号文が正しく復号できることを説明する。
入力暗号文ict=(τ ,τ ,i)に含まれる(τ ,τ )は、(τ ,τ )=(A(j)・s+e,U・s+f+k・floor(q/2))と変形できる。
入力暗号文の復号処理のステップS33では、Invert(A(j),S(j),τ )が実行され、n次元ベクトルs∈Z が復元される。またステップS36では、以下のL次元ベクトルτ が得られる。
τ =τ −U・s
=U・s+f+k・floor(q/2)−U・s
=f+k・floor(q/2)
ステップS36ではさらに以下が得られる。
{rounding(2・τ /q)}mod2
=k+{rounding(2/q)・f}mod2
ここで圧倒的な確率で||f||<q/5となることが証明でき(詳細は省略する)、{rounding(2/q)・f}mod2=0となるため、復元値としてkが得られる。
<出力暗号文が正しく復号できることの説明>
暗号化装置110で生成された出力暗号文が正しく復号できることを説明する。
暗号化装置110で生成された出力暗号文octは、oct=(ξ ,ξ )=(B(F(i))・s+e,U・s+f+k・floor(q/2))と変形できる。出力暗号文の復号処理のステップS35では、まず、以下のL次元ベクトルξ が得られる。
ξ =ξ −E(j)・ξ
=k・floor(q/2)+U・s+f−E(j)・(B(F(i))・s+e
=k・floor(q/2)+U・s+f−E(j)・e−E(j)・(B(j)・V+X)・s (B(j)=B(j)・V+Xより)
=k・floor(q/2)+U・s+f−E(j)・e−U・V・s−E(j)・X・s (E(j)・B(j)=Uより)
=k・floor(q/2)+f−E(j)・e−E(j)・X・s (U・V=Uより)
ステップS35ではさらに以下が得られる。
{rounding(2・ξ /q)}mod2
=k+{rounding((2/q)・(f−E(j)・(e+X・s)))}mod2
ここで圧倒的な確率で||f−E(j)・(e+X・s)||<q/5となることが証明でき(詳細は省略する)、{rounding((2/q)・(f−E(j)・(e+X・s)))}mod2=0となるため、復元値としてkが得られる。
<再暗号化によって得られた出力暗号文が正しく復号できることの説明>
再暗号化装置130で生成された出力暗号文が正しく復号できることを説明する。
再暗号化装置130で生成された出力暗号文octは、以下のように変形できる。
oct=(ξ ,ξ
=(ξ +ξ ,τ +ξ
=(R(F(i))・(A(j)・s+e)+B(F(i))・(s+(e,U・s+f+k・floor(q/2)+U・(s+(f
再暗号化装置130で生成された出力暗号文の復号処理のステップS35では、まず、ξ +ξ をξ とし、τ +ξ をξ とした処理が行われ、以下のL次元ベクトルξ が得られる。
ξ =(τ +ξ )−E(F(i))・(ξ +ξ
=(τ +ξ )−E(F(i))・(ξ +ξ
=k・floor(q/2)+U・(s+(s)+(f+(f)−E(F(i))・((B(F(i))・(s+(e+R(F(i))・(A(j)・s+e))
=k・floor(q/2)+(f+(f−E(F(i))・((e+R(F(i))・e))+U・(s+(s)−E(F(i))・B(F(i))・((s+s) (B(F(i))=R(F(i))・A(j)より)
=k・floor(q/2)+(f+(f−E(F(i))・((e+R(F(i))・e))+U・(s+(s)−(E(F(i))・B(F(i))・V+E(F(i))・X)・((s+s) (B(F(i))=B(F(i))・V+Xより)
=k・floor(q/2)+(f+(f−E(F(i))・((e+R(F(i))・e))+(U−U・V−E(F(i))・X)・(s+(s) (E(F(i))・B(F(i))=Uより)
=k・floor(q/2)+f+(f−E(F(i))・((e+R(F(i))・e)−E(F(i))・X・(s+(s) (U・V=Uより)
ステップS35ではさらに以下が得られる。
{rounding(2・ξ /q)}mod2
=k+{rounding((2/q)・(f+(f−E(F(i))・((e+R(F(i))・e)−E(F(i))・X・(s+(s))}mod2
上記と同様、圧倒的な確率で||(f+(f−E(F(i))・((e+R(F(i))・e)−E(F(i))・X・(s+(s)||<q/5となることが証明でき、{rounding((2/q)・(f+(f−E(F(i))・((e+R(F(i))・e)−E(F(i))・X・(s+(s))}mod2=0となるため、復元値としてkが得られる。
<再暗号化鍵が難読化されていることの説明>
難読化された再暗号化鍵rk(i)=(R(F(i)),B(F(i)))が含むR(F(i))は、SamplePreMatrix(A(j),S(j),B(F(i)),γ)によって得られ、行列B(F(i))=R(F(i))・A(j)の関係を満たす。また、行列B(F(i))=B(F(i))・V+Xの関係を満たす。前述のLWE(n,q,χ1,q,β)仮定がVの分布に対して成立するとすると、秘密鍵S(j)を知らない攻撃者は、行列B(F(i))と一様乱数を要素とする同サイズの行列とを区別することができない。よって、攻撃者は難読化された再暗号化鍵rk(i)から公開鍵ipk(j)=A(j)およびそれに対応する秘密鍵isk(j)=S(j)の情報を得ることができない。
<本形態の特徴>
本形態では、完全準同型暗号を用いることなく、格子問題に基づいた効率的な再暗号化方式とその再暗号化鍵難読化を構成できる。さらに本形態では、復号装置の一部が再暗号化装置と結託したとしても、結託していない正直な復号装置の秘密鍵については情報が漏れないことが保証される強い安全性(結託耐性)を有している。結託耐性は完全準同型暗号では実現されていない。本形態の方式はLWE仮定によって暗号文の安全性が保証されている。さらに本形態では再暗号化鍵の構成にもLWE仮定を利用でき、攻撃者は一様ランダムな値と再暗号化鍵とを区別できず、再暗号化鍵の難読化が実現されている。再暗号化鍵の構成にLWEを利用するという発想はこれまで存在しなかった。LWE仮定に基づく安全性は量子コンピュータが実現された場合でも確保される。また、本形態の方式では、インデックスの値に応じて再暗号化された暗号文を復号可能な復号装置を変更できる(宛先可変)。
表1に本形態の方式と以下の従来方式1〜3との比較を示す。
Figure 0005730804
従来方式1:Susan Hohenberger, Guy N. Rothblum, Abhi Shelat, and Vinod Vaikuntanathan, “Securely obfuscating re-encryption,” In TCC, volume 4392 of Lecture Notes in Computer Science, pages 233-252. Springer, 2007.
従来方式2:Craig Gentry, “Fully homomorphic encryption using ideal lattices,” In STOC, pages 169-178. ACM, 2009.
従来方式3:Nishanth Chandran, Melissa Chase, and Vinod Vaikuntanathan, “Collusion resistant obfuscation and functional re-encryption,” In TCC, Lecture Notes in Computer Science. Springer, 2012. To appear.
なおIND−CPAは通常要求される暗号の安全性である。DLIN,SDHI,SXDは標準的な離散対数問題ベースの暗号学的仮定である。SSSP(Sparse Subset Sum Problem)は完全準同型暗号を実現するために必要な非常に強い仮定である。aSIVP(approximate Shortest Independent Vectors Problem)は完全準同型暗号の安全性を保証するための格子問題に基づく仮定である。KEM−securityは鍵依存安全性のことであり、完全準同型暗号の元となる暗号方式がこの安全性を満たさなければ完全準同型暗号が実現されないが、従来方式2は元となる暗号方式がこの安全性を満たすことを証明せずに、満たすものと仮定して完全準同型暗号を構成している。
<変形例等>
本発明は上述の実施形態に限定されるものではない。例えば、上述した複数の装置が一体に構成されてもよい。例えば、再暗号化装置と再暗号化鍵難読化装置とが一体に構成されてもよい。或いは、例えば各装置を構成する処理部が別々の装置として構成されてもよい。各装置がネットワークを通じて通信を行うのではなく、可搬型記録媒体を経由した情報のやり取りが行われてもよい。また、分布χd,q,βに変えてその他の分布が用いられてもよい。
上述した各パラメータの一例を挙げると以下のようになる。ただし、これらの例は本発明を限定しない。
n=2・sec
m=6・sec・lg q
L=sec
γ=2(√sec)・lg sec(lg q)
q=64(Const+1)・γ・m3/2・g (Constは正の定数)
β=64(Const+1)・γ・m・g
g=ω((lg sec)1/2
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
再暗号化システム 1
暗号化装置 110
再暗号化鍵難読化装置 120
再暗号化装置 130
復号装置 140

Claims (8)

  1. floor(α)が実数α以下の最大の整数であり、qが2以上の整数であり、公開鍵Aおよび公開値UがZの元を要素とする行列であり、
    所定の分布χに従って選択したZの元を要素とするベクトルs,eおよびfを得る第1乱数選択部と、
    ビット値を要素とする平文ベクトルkを用い、A・s+eおよびU・s+f+k・floor(q/2)を含む入力暗号文ictを得る入力暗号文生成部と、
    を有する暗号化装置。
  2. floor(α)が実数α以下の最大の整数であり、qが2以上の整数であり、公開鍵Bおよび公開値UがZの元を要素とする行列であり、
    前記公開鍵Bおよび前記公開値Uを用い、U・V=Uを満たすZを要素とする行列Vを得、所定の分布χに従って選択したZの元を要素とする行列Xを得、行列B=B・V+Xを得る第1行列生成部と、
    前記分布χに従って選択したZの元を要素とするベクトルs,eおよびfを得る第2乱数選択部と、
    ビット値を要素とする平文ベクトルkを用い、ベクトルB・s+eおよびU・s+f+k・floor(q/2)を含む出力暗号文octを得る出力暗号文生成部と、
    を有する暗号化装置。
  3. floor(α)が実数α以下の最大の整数であり、qが2以上の整数であり、公開鍵A、公開鍵Bおよび公開値UがZの元を要素とする行列であり、前記公開鍵Aに対応する秘密鍵Sが整数を要素とする行列であり、
    前記公開鍵Bおよび前記公開値Uを用い、U・V=Uを満たすZを要素とする行列Vを得、所定の分布χに従って選択したZの元を要素とする行列Xを得、行列B=B・V+Xを得る第2行列生成部と、
    前記公開鍵A、前記秘密鍵Sおよび前記行列Bを用い、B=R・Aを満たす行列Rを得る再暗号化鍵生成部と、
    を有する再暗号化鍵難読化装置。
  4. qが2以上の整数であり、公開値UがZの元を要素とする行列であり、
    所定の分布χに従って選択したZの元を要素とするベクトル(s,(eおよび(fを得る第3乱数選択部と、
    の元を要素とするベクトルτ およびτ を含む入力暗号文ict、ならびにZの元を要素とする行列BおよびRを含む再暗号化鍵を用い、ベクトルR・τ +B・(s+(eおよびτ +U・(s+(fを含む出力暗号文octを得る暗号文変換部と、
    を有する再暗号化装置。
  5. rounding(α)が実数αに一番近い整数であり、qが2以上の整数であり、公開鍵Aおよび公開値UがZの元を要素とする行列であり、秘密鍵Sが整数の元を要素とする行列であり、ベクトルsおよびeがZの元を要素とするベクトルであり、
    の元を要素とするベクトルであるτ およびτ を含む入力暗号文ictの入力を受け付ける入力部と、
    前記公開鍵A、前記秘密鍵Sおよび前記ベクトルτ を用い、τ =A・s+eを満たす前記ベクトルsを復元するベクトル復元部と、
    復号値k={rounding(2・(τ −U・s)/q)}mod2を得る平文復元部と、
    を有する復号装置。
  6. rounding(α)が実数αに一番近い整数であり、qが2以上の整数であり、秘密鍵EがZを要素とする行列であり、
    の元を要素とするベクトルであるξ およびξ を含む出力暗号文octの入力を受け付ける入力部と、
    復号値k={rounding(2・(ξ −E・ξ )/q)}mod2を得る平文復元部と、
    を有する復号装置。
  7. 請求項1の暗号化装置と、
    請求項4の再暗号化装置と、
    請求項6の復号装置と、
    を有する再暗号化システム。
  8. 請求項1の暗号化装置と、
    請求項3の再暗号化鍵難読化装置と、
    請求項4の再暗号化装置と、
    請求項6の復号装置と、
    を有する再暗号化システム。
JP2012084573A 2012-04-03 2012-04-03 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム Active JP5730804B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012084573A JP5730804B2 (ja) 2012-04-03 2012-04-03 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012084573A JP5730804B2 (ja) 2012-04-03 2012-04-03 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム

Publications (2)

Publication Number Publication Date
JP2013213965A JP2013213965A (ja) 2013-10-17
JP5730804B2 true JP5730804B2 (ja) 2015-06-10

Family

ID=49587328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012084573A Active JP5730804B2 (ja) 2012-04-03 2012-04-03 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム

Country Status (1)

Country Link
JP (1) JP5730804B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6413598B2 (ja) * 2014-10-10 2018-10-31 富士通株式会社 暗号処理方法、暗号処理装置、及び暗号処理プログラム
JP6732141B2 (ja) * 2017-12-28 2020-07-29 三菱電機株式会社 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
CN110061980B (zh) * 2019-04-02 2021-11-16 如般量子科技有限公司 基于密钥卡的抗量子计算智能家庭节能通信方法和系统
CN111490875B (zh) * 2020-04-23 2021-03-05 成都信息工程大学 一种基于代理重加密的云数据半量子安全共享方法及系统

Also Published As

Publication number Publication date
JP2013213965A (ja) 2013-10-17

Similar Documents

Publication Publication Date Title
Broadbent et al. Quantum encryption with certified deletion
CN111510281B (zh) 一种同态加密方法及装置
Zhou et al. Identity-based proxy re-encryption version 2: Making mobile access easy in cloud
CN108183791B (zh) 应用于云环境下的智能终端数据安全处理方法及系统
CN110011995B (zh) 多播通信中的加密和解密方法及装置
JP2011130120A (ja) 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法
Hrestak et al. Homomorphic encryption in the cloud
JP2016158189A (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
Li et al. Towards multi-hop homomorphic identity-based proxy re-encryption via branching program
Sokouti et al. Medical image encryption: an application for improved padding based GGH encryption algorithm
Susilo et al. Lattice-based HRA-secure attribute-based proxy re-encryption in standard model
JP4737334B2 (ja) 暗号装置、復号装置、暗号プログラム、復号プログラム、及び記録媒体
Niederhagen et al. Practical post-quantum cryptography
JP5730804B2 (ja) 暗号化装置、再暗号化鍵難読化装置、再暗号化装置、復号装置、および再暗号化システム
Abdullah et al. A Realizable Quantum Three‐Pass Protocol Authentication Based on Hill‐Cipher Algorithm
JP2007036364A (ja) タイム装置、暗号化装置、復号化装置、暗号化/復号化システム
Blazy et al. Post-quantum UC-secure oblivious transfer in the standard model with adaptive corruptions
JP6075785B2 (ja) 暗号通信システム、暗号通信方法、プログラム
JP2018112613A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、難読化装置、実行装置、およびプログラム
Hong et al. A Digital Signature Scheme Based on MST3 Cryptosystems
JP2019211735A (ja) 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
JP6189788B2 (ja) 鍵生成装置、再暗号化装置、およびプログラム
JP5863683B2 (ja) コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム
Chen et al. A hill cipher‐based remote data possession checking in cloud storage
JP2011109510A (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150408

R150 Certificate of patent or registration of utility model

Ref document number: 5730804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150