JPWO2018134922A1 - 準同型演算装置、暗号システム及び準同型演算プログラム - Google Patents
準同型演算装置、暗号システム及び準同型演算プログラム Download PDFInfo
- Publication number
- JPWO2018134922A1 JPWO2018134922A1 JP2018562789A JP2018562789A JPWO2018134922A1 JP WO2018134922 A1 JPWO2018134922 A1 JP WO2018134922A1 JP 2018562789 A JP2018562789 A JP 2018562789A JP 2018562789 A JP2018562789 A JP 2018562789A JP WO2018134922 A1 JPWO2018134922 A1 JP WO2018134922A1
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- homomorphic
- encryption
- unit
- cryptographic
- 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
Links
- 238000000034 method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 description 91
- 238000003860 storage Methods 0.000 description 58
- 230000015654 memory Effects 0.000 description 41
- 230000006870 function Effects 0.000 description 34
- 238000004891 communication Methods 0.000 description 26
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
Description
非特許文献2には、単一ターゲット属性ベース準同型暗号と複数ターゲット属性ベース準同型暗号と呼ばれる2つの暗号技術の構成が示されている。単一ターゲット属性ベース準同型暗号は、ある1つの復号許可条件に対して、その条件を満たす属性に関する暗号文同士であれば準同型演算を行える暗号方式である。複数ターゲット属性ベース準同型暗号は、複数の復号許可条件に対して、いずれかの条件を満たす属性に関する暗号文同士であれば準同型演算可能な暗号方式である。
そのため、暗号文X,Y,Zの復号許可条件によっては、暗号文X,Y,Zを全て事前に収集し、一度に準同型演算を行う必要がある。したがって、例えば、暗号化された時系列データについて準同型演算を行う際には、事前に演算に用いられる時系列データをすべて収集し、保持しておくための膨大な記憶容量が必要となる。
この発明は、柔軟な準同型演算を可能にすることを目的とする。
平文μが設定された暗号要素Cと、属性xが設定された暗号要素Cxと、前記平文μが設定され、前記属性xが満たすポリシーfに対応する復号鍵skfによって復号されない暗号要素Fとを含む暗号文ctを取得する暗号文取得部と、
ポリシーの集合であるポリシー集合Fを取得するポリシー取得部と、
前記暗号文取得部によって取得された前記暗号文ctに含まれる前記暗号要素Cを、前記暗号要素Fにより、前記ポリシー取得部によって取得された前記ポリシー集合Fに対応する復号鍵skFによって復号可能な暗号要素C〜に変換することにより、前記暗号文ctを暗号文ct〜に変換する暗号文変換部と、
前記暗号文変換部によって変換された前記暗号文ct〜に対して準同型演算gを行い暗号文ct*を生成する準同型演算部と
を備える。
***構成の説明***
図1を参照して、実施の形態1に係る暗号システム10の構成を説明する。
暗号システム10は、鍵生成装置20と、暗号化装置30と、準同型演算装置40と、復号装置50とを備える。
鍵生成装置20と、暗号化装置30と、準同型演算装置40と、復号装置50とは、ネットワーク60を介して接続される。ネットワーク60は、具体例としては、インターネットである。ネットワーク60は、LAN(Local Area Network)といった他の種類のネットワークであってもよい。
鍵生成装置20は、コンピュータである。
鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、取得部211と、マスタ鍵生成部212と、復号鍵生成部213と、出力部214との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、取得部211と、マスタ鍵生成部212と、復号鍵生成部213と、出力部214との機能が実現される。
また、ストレージ23は、マスタ鍵記憶部231の機能を実現する。
暗号化装置30は、コンピュータである。
暗号化装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、取得部311と、暗号化部312と、出力部313との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、取得部311と、暗号化部312と、出力部313との機能が実現される。
また、ストレージ33は、公開パラメータ記憶部331の機能を実現する。
準同型演算装置40は、コンピュータである。
準同型演算装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ43には、取得部411と、暗号文変換部412と、準同型演算部413と、出力部414と、公開パラメータ取得部415と、暗号文取得部416と、ポリシー取得部417と、演算取得部418との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、取得部411と、暗号文変換部412と、準同型演算部413と、出力部414と、公開パラメータ取得部415と、暗号文取得部416と、ポリシー取得部417と、演算取得部418との機能が実現される。
また、ストレージ43は、公開パラメータ記憶部431と、暗号文記憶部432との機能を実現する。
復号装置50は、コンピュータである。
復号装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ53には、取得部511と、復号部512と、出力部513との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、取得部511と、復号部512と、出力部513との機能が実現される。
また、ストレージ53は、鍵記憶部531と、条件記憶部532と、結果記憶部533との機能を実現する。
図6から図10を参照して、実施の形態1に係る暗号システム10の動作を説明する。
実施の形態1に係る暗号システム10の動作は、実施の形態1に係る暗号方法に相当する。また、実施の形態1に係る暗号プログラムの処理に相当する。
暗号システム10の動作は、Setup処理と、KeyGen処理と、Enc処理と、Eval処理と、Dec処理とに分けられる。
n,q,χは、LWE(Learning With Errors)問題におけるパラメータである。LWE問題は公知の問題である。Decisional LWE問題(DLWE問題)は、次のように定義される。
<DLWE問題>
λはセキュリティパラメータであり、n=n(λ)とq=q(λ)とは整数であり、χ=χ(λ)は整数Z上の確率分布であるとする。DLWEn,q,χ問題は、全てのm=poly(n)に対して、数11とする場合に、(A,sTA+eT)と(A,uT)とが計算的に見分けがつかないというものである。
F⊆{0,1}L→{0,1}は、深さdFのブーリアンサーキットで計算できるポリシーのクラスである。G⊆{0,1}*→{0,1}は、深さdGのブーリアンサーキットで計算できる演算のクラスである。
Setup処理は、暗号システム10の初期設定時等に、主に鍵生成装置20によって実行される。実施の形態1に係るSetup処理は、実施の形態1に係るマスタ鍵生成方法とマスタ鍵生成プログラムの処理とに相当する。
鍵生成装置20の取得部211は、パラメータλ,L,dF,dGを取得する。
具体的には、取得部211は、通信インタフェース24を介して、暗号システム10の管理者等によって入力されたパラメータλ,L,dF,dGを受け付ける。取得部211は、受け付けられたパラメータλ,L,dF,dGをメモリ22に書き込む。
鍵生成装置20のマスタ鍵生成部212は、公開パラメータppとマスタ秘密鍵mskとのペアを生成する。
具体的には、マスタ鍵生成部212は、数15に示すように、行列AとトラップドアAτ0 −1とのペア(A,Aτ0 −1)を生成する。
鍵生成装置20の出力部214は、公開パラメータppを出力する。
具体的には、出力部214は、メモリ22から公開パラメータppを読み出す。そして、出力部214は、通信インタフェース24を介して、公開パラメータppを暗号化装置30と準同型演算装置40と復号装置50とに送信する。
暗号化装置30の取得部311と、準同型演算装置40の公開パラメータ取得部415と、復号装置50の取得部511とは、公開パラメータppを取得する。
具体的には、取得部311は、通信インタフェース34を介して、出力部214によって送信された公開パラメータppを受信する。取得部311は、受信された公開パラメータppを公開パラメータ記憶部331に書き込む。
また、準同型演算装置40の公開パラメータ取得部415は、通信インタフェース44を介して、出力部214によって送信された公開パラメータppを受信する。公開パラメータ取得部415は、受信された公開パラメータppを公開パラメータ記憶部431に書き込む。
また、復号装置50の取得部511は、通信インタフェース54を介して、出力部214によって送信された公開パラメータppを受信する。取得部511は、受信された公開パラメータppを鍵記憶部531に書き込む。
KeyGen処理は、新たな復号鍵skfを生成する際に、主に鍵生成装置20によって実行される。実施の形態1に係るKeyGen処理は、実施の形態1に係る復号鍵生成方法と復号鍵生成プログラムの処理とに相当する。
復号装置50の取得部511は、復号鍵skfの生成を鍵生成装置20に依頼する。
具体的には、取得部511は、復号装置50の利用者等によって入力された復号許可条件を示すポリシーfを受け付ける。ポリシーfは、例えば、利用者の属性が設定される。そして、取得部511は、入力されたポリシーfを鍵生成装置20に送信して、ポリシーfに関連付けられた復号鍵skfの生成を要求する。
取得部511は、復号鍵skfの生成を要求した際に送信されたポリシーfを条件記憶部532に書き込む。
鍵生成装置20の取得部211は、ポリシーfを取得する。
具体的には、取得部211は、通信インタフェース24を介して、復号装置50から送信されたポリシーfを受信する。取得部211は、受信されたポリシーfをメモリ22に書き込む。
鍵生成装置20の復号鍵生成部213は、ポリシーfに関連付けられた復号鍵skfを生成する。
具体的には、復号鍵生成部213は、メモリ22からポリシーfを読み出し、マスタ鍵記憶部231から公開パラメータpp及びマスタ秘密鍵mskを読み出す。復号鍵生成部213は、数21に示すように、行列Bfを計算する。
鍵生成装置20の出力部214は、復号鍵skfを出力する。
具体的には、出力部214は、メモリ22から復号鍵skfを読み出す。そして、出力部214は、通信インタフェース24を介して、復号鍵skfを復号装置50に送信する。
復号装置50の取得部511は、復号鍵skfを取得する。
具体的には、取得部511は、通信インタフェース54を介して、出力部214によって送信された復号鍵skfを受信する。取得部511は、受信された復号鍵skfを鍵記憶部531に書き込む。
Enc処理は、暗号文ctを生成する際に、主に暗号化装置30によって実行される。実施の形態1に係るEnc処理は、実施の形態1に係る暗号化方法と暗号化プログラムの処理とに相当する。
暗号化装置30の取得部311は、平文μと、属性xとを取得する。
具体的には、取得部311は、通信インタフェース34を介して、暗号化装置30の利用者等によって入力された平文μと属性xとを受け付ける。平文μは、暗号化した上で送信するメッセージであり、平文μ∈{0,1}である。属性xは、暗号文に関連付けられる属性であり、属性x∈{0,1}Lである。取得部311は、平文μと属性xとをメモリ32に書き込む。
暗号化装置30の暗号化部312は、属性xを設定して平文μを暗号化した暗号文ctを生成する。
具体的には、暗号化部312は、公開パラメータ記憶部331から公開パラメータppを読み出すとともに、メモリ32から平文μと属性xとを読み出す。暗号化部312は、数26に示すように、行列Sと行列EAとエラーベクトルevとを生成する。
ここで、数31は、テンソル積を示す。
暗号化装置30の出力部313は、暗号文ctを出力する。
具体的には、出力部313は、メモリ32から暗号文ctを読み出す。そして、出力部313は、通信インタフェース34を介して、暗号文ctを準同型演算装置40に送信する。
準同型演算装置40の暗号文取得部416は、通信インタフェース44を介して、出力部313によって送信された暗号文ctを受信する。暗号文取得部416は、受信された暗号文ctを暗号文記憶部432に書き込む。
Eval処理は、暗号文ctに対して準同型演算を行う際に、準同型演算装置40によって実行される。実施の形態1に係るEval処理は、実施の形態1に係る準同型演算方法と準同型演算プログラムの処理とに相当する。
暗号文取得部416は、演算対象の暗号文ct(1),...,ct(k)を取得する。ここで、kは1以上の整数である。
具体的には、暗号文取得部416は、通信インタフェース44を介して、準同型演算装置40の利用者等によって指定された暗号文ct(1),...,ct(k)を暗号文記憶部432から読み出す。暗号文取得部416は、読み出された暗号文ct(1),...,ct(k)をメモリ42に書き込む。
準同型演算装置40のポリシー取得部417は、ポリシーの集合であるポリシー集合F:={f1,...,fd}を取得する。ここで、dは、1以上の整数である。
具体的には、ポリシー取得部417は、通信インタフェース44を介して、準同型演算装置40の利用者等によって入力されたポリシー集合Fを受け付ける。ポリシー取得部417は、受け付けられたポリシー集合Fをメモリ42に書き込む。
なお、準同型演算を行うためには、ステップS41で読み出されたi=1,...,kの各整数iについての暗号文ct(i)が、ポリシー集合Fに含まれるいずれかのf1,...,fdを満たす必要がある。言い換えると、i=1,...,kの各整数iについての暗号文ct(i)が、いずれかのf1,...,fdに関連付けられた復号鍵skfで復号可能である必要がある。つまり、i=1,...,kの各整数iについての暗号文ct(i)に設定された属性を属性xiとすると、i=1,...,kの各整数iについて、あるj∈[d]に対して、fj(xi)=0を満たす必要がある。
準同型演算装置40の演算取得部418は、実行する準同型演算gを取得する。
具体的には、演算取得部418は、通信インタフェース44を介して、準同型演算装置40の利用者等によって入力された準同型演算gを受け付ける。演算取得部418は、受け付けられた準同型演算gをメモリ42に書き込む。
準同型演算装置40の暗号文変換部412は、i=1,...,kの各整数iについての暗号文ct(i)を暗号文ct(i)〜:=(C〜,F〜,D〜)に変換する。
具体的には、暗号文変換部412は、i=1,...,kの各整数iについての暗号文ct(i)を対象として、まずApplyアルゴリズムを実行し、その後Expansionアルゴリズムを実行する。但し、Applyアルゴリズムは、1度も準同型演算が行われていない暗号文ct(i)についてのみ実行される。つまり、暗号文ct(i)が暗号化装置30によって生成され、図8のステップS33で出力された暗号文ctである場合には、Applyアルゴリズムは実行され、暗号文ct(i)が後述するステップS46で出力された暗号文ct*である場合には、Applyアルゴリズムは実行されない。暗号文ct(i)が後述するステップS46で出力された暗号文ct*である場合には、Expansionアルゴリズムだけが実行される。
ここでは、表記の簡略化のため、対象とする暗号文ct(i)を暗号文ctと書き、暗号文ct(i)が変換された暗号文ct(i)〜を暗号文ct〜と書く。また、対象とする暗号文ct(i)が満たすポリシーfjをポリシーfと書く。
ここで、対象とする暗号文ct(i)が後述するステップS46で出力された暗号文ct*:=(C*,F*,D*)である場合には、C^f:=C*,F:=F*,D^f:=D*とする。
準同型演算装置40の準同型演算部413は、i=1,...,kの各整数iについての暗号文ct(i)〜に対して、準同型演算gを実行して、暗号文ct*:=(C*,F*,D*)を生成する。
具体的には、準同型演算部413は、i=1,...,kの各整数iについての暗号文ct(i)〜を読み出す。そして、準同型演算部413は、i=1,...,kの各整数iについての暗号文ct(i)〜を入力として、非特許文献3の“3.2 Homomorphic Operations”に記載された準同型演算の演算方法に従い、準同型演算gを実行して、暗号文ct*を生成する。準同型演算部413は、生成された暗号文ct*をメモリ42に書き込む。
準同型演算装置40の出力部414は、暗号文ct*を出力する。
具体的には、出力部414は、メモリ42から暗号文ct*を読み出す。そして、出力部414は、暗号文ct*を暗号文記憶部432に書き込む。
Dec処理は、暗号文ctを復号する際に、主に復号装置50によって実行される。実施の形態1に係るDec処理は、実施の形態1に係る復号方法と復号プログラムの処理とに相当する。
復号装置50の取得部511は、復号の対象とする暗号文ct(F):=(C^F,F,D^F)を取得する。
具体的には、取得部511は、通信インタフェース54を介して、準同型演算装置40に暗号文ct(F)の取得要求を送信する。準同型演算装置40の出力部414は、取得要求を受信すると、要求された暗号文ct(F)を暗号文記憶部432から読み出す。この際、準同型演算装置40の暗号文変換部412は、暗号文ct(F)が図8のステップS33で出力された暗号文ctである場合には、上述したApplyアルゴリズムを実行して、暗号文ctを暗号文ct(F):=(C^F,F,D^F)に変換する。また、準同型演算装置40の暗号文変換部412は、暗号文ct(F)が図9のステップS46で出力された暗号文ct*:=(C*,F*,D*)である場合には、暗号文ct(F):=(C^f:=C*,F:=F*,D^f:=D*)に変換する。そして、出力部414は、変換された暗号文ct(F)を、通信インタフェース44を介して復号装置50に送信する。取得部511は、準同型演算装置40から送信された暗号文ct(F)を受信する。取得部511は、受信された暗号文ct(F)をメモリ52に書き込む。
暗号文ct(F)は、ポリシー集合F:={f1,...,fd}に関連付けられた復号鍵skf1,...,skfdによって復号可能な暗号文であることを意味する。
復号装置50の復号部512は、暗号文ct(F)を復号鍵skf1:=rf1,...,skfd:=rfdにより復号して、値μ〜を計算する。
具体的には、復号部512は、j∈[d]の各整数jについて、ランダムオラクルにクエリして行列r’fj:=O(A,fj)を取得する。復号部512は、数54に示すように、j∈[d]の各整数jについての復号鍵skfjを連結して、復号鍵rF Tを生成する。
復号装置50の出力部513は、値μ〜の絶対値がq/4未満であれば0を出力し、そうでなければ1を出力する。
以上のように、実施の形態1に係る暗号システム10では、暗号要素Fを用いて、暗号要素である行列Cを暗号要素である行列C〜に変換する。これにより、暗号要素C内の要素をポリシー集合Fに関連付けてしまうことなく、準同型演算を行うことが可能になる。そのため、暗号文ct*を入力として再び柔軟な準同型演算を行うことが可能になる。
暗号化装置30により生成された暗号文ct:=(x,C,Cx,F,D,{D(k) x}k)を入力として、図9のステップS44で説明したApplyアルゴリズムが実行された結果、暗号文ct(f):=(C^f,F,D^f)が得られたとする。
このとき、暗号文ct(f)は、復号鍵t∈Zq m+N+1と、小さなランダム行列R∈Zq n×Mとに対して数59に示す(1)から(3)の関係を満たしている。
つまり、暗号化装置30により生成された暗号文ctを入力としてApplyアルゴリズムが実行された結果得られた暗号文ct(f)が満たす関係を、準同型演算gが実行された結果得られた暗号文ct*が保持している。そのため、暗号化装置30により生成された暗号文ctに代えて、準同型演算gが実行された結果得られた暗号文ct*を入力としてExpansionアルゴリズムが実行された場合にも、この関係を満たす状態とすることができる。その結果、準同型演算gが実行された結果得られた暗号文ct*についても、暗号化装置30により生成された暗号文ctと同様に、柔軟な準同型演算を行うことが可能である。
すなわち、暗号文変換部412は、平文μが設定された暗号要素である行列Cと、属性xが設定された暗号要素である行列Cxとを、平文μと乱数である行列Rとが設定され、属性xが満たすポリシーfに対応する復号鍵skfによって復号されない暗号要素である行列Fと、乱数である行列Rが暗号化された暗号要素である行列Dとを用いて変換する。このように、暗号文変換部412は、行列F及び行列Dを用いることにより、暗号文と復号鍵及び乱数Rとの間に成立する関係性を保持したまま、準同型演算を実行可能にしている。
<変形例1>
実施の形態1では、鍵生成装置20と暗号化装置30と準同型演算装置40と復号装置50との機能構成要素がソフトウェアで実現された。しかし、変形例1として、機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
機能がハードウェアで実現される場合、鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、処理回路25を備える。処理回路25は、鍵生成装置20の機能構成要素と、メモリ22とストレージ23との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、暗号化装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、処理回路35を備える。処理回路35は、暗号化装置30の機能構成要素と、メモリ32とストレージ33との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、準同型演算装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、処理回路45を備える。処理回路45は、準同型演算装置40の機能構成要素と、メモリ42とストレージ43との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、復号装置50は、プロセッサ51とメモリ52とストレージ53とに代えて、処理回路55を備える。処理回路55は、復号装置50の機能構成要素と、メモリ52とストレージ53との機能とを実現する専用の電子回路である。
鍵生成装置20の各機能構成要素の機能を1つの処理回路25で実現してもよいし、各機能構成要素の機能を複数の処理回路25に分散させて実現してもよい。同様に、暗号化装置30と準同型演算装置40と復号装置50とのそれぞれについて、各機能構成要素の機能を1つの処理回路35,45,55で実現してもよいし、各機能構成要素の機能を複数の処理回路35,45,55に分散させて実現してもよい。
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
Aがランダムな変数または分布であるとき、数64は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数64において、yは乱数である。
Claims (9)
- 平文μが設定された暗号要素Cと、属性xが設定された暗号要素Cxと、前記平文μが設定され、前記属性xが満たすポリシーfに対応する復号鍵skfによって復号されない暗号要素Fとを含む暗号文ctを取得する暗号文取得部と、
ポリシーの集合であるポリシー集合Fを取得するポリシー取得部と、
前記暗号文取得部によって取得された前記暗号文ctに含まれる前記暗号要素Cを、前記暗号要素Fにより、前記ポリシー取得部によって取得された前記ポリシー集合Fに対応する復号鍵skFによって復号可能な暗号要素C〜に変換することにより、前記暗号文ctを暗号文ct〜に変換する暗号文変換部と、
前記暗号文変換部によって変換された前記暗号文ct〜に対して準同型演算gを行い暗号文ct*を生成する準同型演算部と
を備える準同型演算装置。 - 前記暗号要素Fには、乱数Rが設定され、
前記暗号文ctには、前記乱数Rが暗号化された暗号要素Dが含まれ、
前記暗号文変換部は、前記暗号要素Cを、前記暗号要素F及び前記暗号要素Dにより、前記暗号要素C〜に変換する
請求項1に記載の準同型演算装置。 - 前記準同型演算部は、前記暗号要素C〜に対して前記準同型演算gを行い暗号要素C*を生成し、前記暗号要素Fに対して前記準同型演算gを行い暗号要素F*を生成し、前記暗号要素Dを変換した暗号要素D〜に対して前記準同型演算gを行い暗号要素D*を生成し、前記暗号要素C*と前記暗号要素F*と前記暗号要素D*とを含む前記暗号文ct*を生成する
請求項3又は4に記載の準同型演算装置。 - 前記準同型演算部は、前記暗号要素C〜に対して準同型演算gを行い生成された暗号要素C*を含む前記暗号文ct*を生成し、
前記暗号文取得部は、前記準同型演算部によって生成された前記暗号文ct*を取得し、
前記暗号文変換部は、前記暗号文ct*に含まれる前記暗号要素C*を、前記暗号要素Fにより、前記復号鍵skFとは異なる復号鍵skF’によって復号可能な暗号要素C〜に変換することにより、暗号文ct*を暗号文ct〜に変換する
請求項1に記載の準同型演算装置。 - 平文μが設定された暗号要素Cと、属性xが設定された暗号要素Cxと、前記平文μが設定され、前記属性xが満たすポリシーfに対応する復号鍵skfによって復号されない暗号要素Fとを含む暗号文ctを生成する暗号化装置と、
前記暗号化装置によって生成された前記暗号文ctに含まれる前記暗号要素Cを、前記暗号要素Fにより、ポリシーの集合であるポリシー集合Fに対応する復号鍵skFによって復号可能な暗号要素C〜に変換することにより、前記暗号文ctを暗号文ct〜に変換し、変換された前記暗号文ct〜に対して準同型演算gを行い暗号文ct*を生成する準同型演算装置と
を備える暗号システム。 - 平文μが設定された暗号要素Cと、属性xが設定された暗号要素Cxと、前記平文μが設定され、前記属性xが満たすポリシーfに対応する復号鍵skfによって復号されない暗号要素Fとを含む暗号文ctを取得する暗号文取得処理と、
ポリシーの集合であるポリシー集合Fを取得するポリシー取得処理と、
前記暗号文取得処理によって取得された前記暗号文ctに含まれる前記暗号要素Cを、前記暗号要素Fにより、前記ポリシー取得処理によって取得された前記ポリシー集合Fに対応する復号鍵skFによって復号可能な暗号要素C〜に変換することにより、前記暗号文ctを暗号文ct〜に変換する暗号文変換処理と、
前記暗号文変換処理によって変換された前記暗号文ct〜に対して準同型演算gを行い暗号文ct*を生成する準同型演算処理と
をコンピュータに実行させる準同型演算プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/001589 WO2018134922A1 (ja) | 2017-01-18 | 2017-01-18 | 準同型演算装置、暗号システム及び準同型演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6522263B2 JP6522263B2 (ja) | 2019-05-29 |
JPWO2018134922A1 true JPWO2018134922A1 (ja) | 2019-06-27 |
Family
ID=62907901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018562789A Active JP6522263B2 (ja) | 2017-01-18 | 2017-01-18 | 準同型演算装置、暗号システム及び準同型演算プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11139952B2 (ja) |
JP (1) | JP6522263B2 (ja) |
CN (1) | CN110169010B (ja) |
WO (1) | WO2018134922A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020174515A1 (ja) * | 2019-02-25 | 2020-09-03 | 日本電気株式会社 | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 |
JP6980158B2 (ja) * | 2019-07-04 | 2021-12-15 | 三菱電機株式会社 | データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム |
KR20220009643A (ko) * | 2020-07-16 | 2022-01-25 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 클라이언트 및 서버, 및 이의 동작 방법 |
CN112232639B (zh) * | 2020-09-22 | 2023-06-30 | 支付宝(杭州)信息技术有限公司 | 统计方法、装置和电子设备 |
CN114422273B (zh) * | 2022-03-29 | 2022-06-17 | 四川高速公路建设开发集团有限公司 | 智慧建设工程信息系统中敏感决策数据安全共享方法 |
WO2023212391A1 (en) * | 2022-04-29 | 2023-11-02 | Ntt Research, Inc. | Ciphertext-policy attribute-based encryption with post-quantum security for broadcast systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140177828A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
WO2016088250A1 (ja) * | 2014-12-05 | 2016-06-09 | 三菱電機株式会社 | 復号条件追加装置、暗号システム及び復号条件追加プログラム |
JP6058237B1 (ja) * | 2016-01-18 | 2017-01-11 | 三菱電機株式会社 | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007114494A (ja) | 2005-10-20 | 2007-05-10 | Nippon Telegr & Teleph Corp <Ntt> | 秘匿計算方法及び装置 |
WO2012067214A1 (ja) | 2010-11-15 | 2012-05-24 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
JP5979131B2 (ja) | 2011-03-04 | 2016-08-24 | 日本電気株式会社 | 乱数値特定装置、乱数値特定システム、および、乱数値特定方法 |
JP5846198B2 (ja) | 2011-03-04 | 2016-01-20 | 日本電気株式会社 | 乱数値特定装置、乱数値特定システム、および、乱数値特定方法 |
EP2778951B1 (en) * | 2011-11-11 | 2017-04-26 | NEC Corporation | Database encryption system, method and program |
US9281941B2 (en) * | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
JP5511925B2 (ja) | 2012-10-06 | 2014-06-04 | 三菱電機株式会社 | アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム |
JP5921410B2 (ja) * | 2012-10-19 | 2016-05-24 | 三菱電機株式会社 | 暗号システム |
CN104871477B (zh) * | 2013-01-16 | 2018-07-10 | 三菱电机株式会社 | 加密系统、重加密密钥生成装置、重加密装置、加密方法 |
US20150278553A1 (en) | 2013-01-18 | 2015-10-01 | Mitsubishi Electric Corporation | Data decryption device, attribute-based encryption system, random number element removing device, randomized secret key generation device, data decryption method, and data decryption program |
JP6144992B2 (ja) | 2013-08-08 | 2017-06-07 | 株式会社日立製作所 | 検索可能暗号処理システム及び方法 |
US10445509B2 (en) * | 2014-06-30 | 2019-10-15 | Nicira, Inc. | Encryption architecture |
CN104283669B (zh) * | 2014-08-25 | 2017-07-18 | 东南大学 | 全同态加密中重加密深度优化方法 |
WO2016103960A1 (ja) | 2014-12-25 | 2016-06-30 | 国立大学法人 東京大学 | 制御装置、解析装置、復号装置および送信装置 |
JP6381128B2 (ja) | 2015-02-05 | 2018-08-29 | 国立研究開発法人産業技術総合研究所 | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 |
JP6504013B2 (ja) * | 2015-10-13 | 2019-04-24 | 富士通株式会社 | 暗号処理方法、暗号処理装置、および暗号処理プログラム |
-
2017
- 2017-01-18 WO PCT/JP2017/001589 patent/WO2018134922A1/ja active Application Filing
- 2017-01-18 CN CN201780082960.9A patent/CN110169010B/zh active Active
- 2017-01-18 JP JP2018562789A patent/JP6522263B2/ja active Active
- 2017-01-18 US US16/467,442 patent/US11139952B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140177828A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
WO2016088250A1 (ja) * | 2014-12-05 | 2016-06-09 | 三菱電機株式会社 | 復号条件追加装置、暗号システム及び復号条件追加プログラム |
JP6058237B1 (ja) * | 2016-01-18 | 2017-01-11 | 三菱電機株式会社 | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 |
Non-Patent Citations (3)
Title |
---|
CHRIS PEIKERT, ET AL.: "Multi-Key FHE from LWE, Revisited", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2016/196, vol. Vsrsion:20160824:071208, JPN6017013234, 24 August 2016 (2016-08-24), pages 1 - 19, XP061021620 * |
久野 真太郎 ほか: "動的な属性情報更新機能を持つ暗号文ポリシー属性ベース暗号", 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD−ROM], vol. 2A4−3, JPN6015008453, 25 January 2011 (2011-01-25), JP, pages pp.1−8 * |
廣政 良 ほか: "ポリシー更新可能な複数ターゲット属性ベース準同型暗号", 2017年 暗号と情報セキュリティシンポジウム, vol. 2F1−6, JPN6017013237, 24 January 2017 (2017-01-24), JP, pages pp.1−8 * |
Also Published As
Publication number | Publication date |
---|---|
CN110169010B (zh) | 2022-09-23 |
US11139952B2 (en) | 2021-10-05 |
WO2018134922A1 (ja) | 2018-07-26 |
CN110169010A (zh) | 2019-08-23 |
JP6522263B2 (ja) | 2019-05-29 |
US20200127810A1 (en) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6522263B2 (ja) | 準同型演算装置、暗号システム及び準同型演算プログラム | |
JP6934963B2 (ja) | データを暗号化する方法およびシステム | |
JP6732141B2 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
JP6391900B1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
JP6499519B2 (ja) | メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム | |
US11431489B2 (en) | Encryption processing system and encryption processing method | |
US20240048377A1 (en) | Ciphertext conversion system, conversion key generation method, and non-transitory computer readable medium | |
WO2019239776A1 (ja) | 復号装置、暗号化装置及び暗号システム | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
KR101133988B1 (ko) | 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템 | |
WO2019016916A1 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
JP5945525B2 (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP5103407B2 (ja) | 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム | |
Fugkeaw et al. | An Efficient Medical Records Access Control with Auditable Outsourced Encryption and Decryption | |
WO2019142260A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
JP7126635B2 (ja) | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム | |
JP2015022460A (ja) | 情報記憶システム、情報記憶装置、その方法、及びプログラム | |
US11811741B2 (en) | Information processing system and information processing method | |
JP6885325B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム | |
WO2020075224A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
JP5357785B2 (ja) | 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム | |
JP2012109649A (ja) | 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190117 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190117 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190130 |
|
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: 20190326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190423 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6522263 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |