JP6452910B1 - 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム - Google Patents
秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム Download PDFInfo
- Publication number
- JP6452910B1 JP6452910B1 JP2018536207A JP2018536207A JP6452910B1 JP 6452910 B1 JP6452910 B1 JP 6452910B1 JP 2018536207 A JP2018536207 A JP 2018536207A JP 2018536207 A JP2018536207 A JP 2018536207A JP 6452910 B1 JP6452910 B1 JP 6452910B1
- Authority
- JP
- Japan
- Prior art keywords
- integer
- information
- decryption
- ciphertext
- vector
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 description 72
- 230000015654 memory Effects 0.000 description 52
- 230000006870 function Effects 0.000 description 49
- 230000005540 biological transmission Effects 0.000 description 42
- 238000004891 communication Methods 0.000 description 25
- 238000012986 modification Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000014759 maintenance of location Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
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)
Abstract
Description
暗号化トークンetkを用いて情報xが暗号化された暗号文ctを取得する暗号文取得部と、
前記暗号化トークンetkに対応する復号トークンdtkを用いて、情報yが設定されたユーザ秘密鍵skから生成された復号鍵dkにより、前記暗号文取得部によって取得された前記暗号文ctを復号して、前記情報xと前記情報yとについての演算結果を生成する復号部と
を備える。
***構成の説明***
図1を参照して、実施の形態1に係る秘匿分析システム10の構成を説明する。
秘匿分析システム10は、マスター鍵生成装置20と、1台以上のユーザ秘密鍵生成装置30と、1台以上のトークン生成装置40と、1台以上の暗号化装置50と、1台以上の復号鍵生成装置60と、1台以上の秘匿分析装置70とを備える。
マスター鍵生成装置20と、ユーザ秘密鍵生成装置30と、トークン生成装置40と、暗号化装置50と、復号鍵生成装置60と、秘匿分析装置70とは、伝送路90を介して接続される。伝送路90は、具体例としては、インターネット又はLAN(Local Area Network)である。
マスター鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、マスター鍵生成装置20の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、マスター鍵生成装置20の各機能構成要素の機能が実現される。
また、ストレージ23は、マスター鍵記憶部231の機能を実現する。
ユーザ秘密鍵生成装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、ユーザ秘密鍵生成装置30の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、ユーザ秘密鍵生成装置30の各機能構成要素の機能が実現される。
また、ストレージ33は、マスター鍵記憶部331の機能を実現する。
トークン生成装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ43には、トークン生成装置40の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、トークン生成装置40の各機能構成要素の機能が実現される。
暗号化装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ53には、暗号化装置50の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、暗号化装置50の各機能構成要素の機能が実現される。
また、ストレージ53は、マスター鍵記憶部531と、トークン記憶部532との機能を実現する。
復号鍵生成装置60は、プロセッサ61と、メモリ62と、ストレージ63と、通信インタフェース64とのハードウェアを備える。プロセッサ61は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ63には、復号鍵生成装置60の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ61によりメモリ62に読み込まれ、プロセッサ61によって実行される。これにより、復号鍵生成装置60の各機能構成要素の機能が実現される。
ストレージ63は、ユーザ秘密鍵記憶部631と、トークン記憶部632との機能を実現する。
秘匿分析装置70は、プロセッサ71と、メモリ72と、ストレージ73と、通信インタフェース74とのハードウェアを備える。プロセッサ71は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ73には、秘匿分析装置70の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ71によりメモリ72に読み込まれ、プロセッサ71によって実行される。これにより、秘匿分析装置70の各機能構成要素の機能が実現される。
ストレージ73は、暗号文記憶部731と、復号鍵記憶部732との機能を実現する。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ21,31,41,51,61,71と同じように、演算処理を行うICである。
図8から図13を参照して、実施の形態1に係る秘匿分析システム10の動作を説明する。
単一入力可能な内積暗号は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを有する。
Setupアルゴリズムは、マスター鍵生成アルゴリズムである。Setupアルゴリズムは、鍵のビット長λを入力として、マスター秘密鍵mskと、マスター公開鍵mpkとを生成する。
KeyGenアルゴリズムは、ユーザ秘密鍵生成アルゴリズムである。KeyGenアルゴリズムは、m次元のベクトルyと、マスター鍵mkとを入力として、秘密鍵skを生成する。mは1以上の整数である。
Encアルゴリズムは、暗号化アルゴリズムである。Encアルゴリズムは、m次元のベクトルxと、マスター鍵mkとを入力として、暗号文ctを生成する。
Decアルゴリズムは、復号アルゴリズムである。Decアルゴリズムは、暗号文ctと、秘密鍵skとを入力として、ベクトルxとベクトルyとの内積<x,y>を生成する。
実施の形態1に係るマスター鍵生成装置20の動作は、実施の形態1に係るマスター鍵生成方法に相当する。また、実施の形態1に係るマスター鍵生成装置20の動作は、実施の形態1に係るマスター鍵生成プログラムの処理に相当する。
パラメータ取得部211は、鍵のビット長λを取得する。
具体的には、パラメータ取得部211は、通信インタフェース24を介して接続された入力装置等によって入力された鍵のビット長λを取得する。パラメータ取得部211は、鍵のビット長λをメモリ22に書き込む。
なお、鍵のビット長λ以外に必要なパラメータが存在する場合には、パラメータ取得部211は、そのパラメータも取得する。
マスター鍵生成部212は、マスター鍵mkを生成する。
具体的には、マスター鍵生成部212は、鍵のビット長λをメモリ22から読み出す。マスター鍵生成部212は、i=1,...,nの各整数iについて、鍵のビット長λを入力として、Setupアルゴリズムを実行して、マスター秘密鍵mskiとマスター公開鍵mpkiとのペアを生成する。nは1以上の整数である。マスター鍵生成部212は、i=1,...,nの各整数iについてのマスター秘密鍵mskiとマスター公開鍵mpkiとの集合をマスター鍵mkとして扱う。つまり、mk:=(msk1,msk2,...,mskn,mpk1,mpk2,...,mpkn)である。マスター鍵生成部212は、マスター鍵mkをメモリ22に書き込む。
なお、Setupアルゴリズムを実行するために乱数の生成が必要な場合には、マスター鍵生成部212は、乱数生成機能を備えてもよい。
送信部213は、マスター鍵mkを、ユーザ秘密鍵生成装置30と暗号化装置50とに送信する。
具体的には、送信部213は、マスター鍵mkをメモリ22から読み出す。送信部213は、通信インタフェース24を介して、マスター鍵mkをユーザ秘密鍵生成装置30と暗号化装置50とに送信する。
すると、ユーザ秘密鍵生成装置30のマスター鍵取得部311は、通信インタフェース34を介して、マスター鍵mkを受信する。マスター鍵取得部311は、マスター鍵mkをマスター鍵取得部311に書き込む。また、暗号化装置50のマスター鍵取得部511は、通信インタフェース54を介して、マスター鍵mkを受信する。マスター鍵取得部511は、マスター鍵mkをマスター鍵記憶部531に書き込む。
なお、送信部213は、マスター鍵mkのうち、マスター秘密鍵msk1,msk2,...,msknだけをユーザ秘密鍵生成装置30に送信し、マスター鍵mkのうち、マスター公開鍵mpk1,mpk2,...,mpknだけを暗号化装置50に送信してもよい。
また、送信部213は、マスター鍵mkをマスター鍵記憶部231に書き込む。
実施の形態1に係るユーザ秘密鍵生成装置30の動作は、実施の形態1に係るユーザ秘密鍵生成方法に相当する。また、実施の形態1に係るユーザ秘密鍵生成装置30の動作は、実施の形態1に係るユーザ秘密鍵生成プログラムの処理に相当する。
ベクトル取得部312は、i=1,...,nの各整数iについてのm次元のベクトルyiを取得する。
具体的には、ベクトル取得部312は、通信インタフェース24を介して接続された入力装置等によって入力されたベクトルyiを取得する。ベクトル取得部312は、ベクトルyiをメモリ32に書き込む。
ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについてのユーザ秘密鍵skiを生成する。
具体的には、ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについてのベクトルyiをメモリ32から読み出す。また、ユーザ秘密鍵生成部313は、マスター鍵mkをマスター鍵記憶部331から読み出す。ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについて、ベクトルyiと、マスター秘密鍵mskiとを入力として、KeyGenアルゴリズムを実行して、ユーザ秘密鍵skiを生成する。ユーザ秘密鍵skiには、ベクトルyiが設定された鍵keyiとベクトルyiとが含まれている。ユーザ秘密鍵生成部313は、ユーザ秘密鍵skiをメモリ32に書き込む。
なお、KeyGenアルゴリズムを実行するために乱数の生成が必要な場合には、ユーザ秘密鍵生成部313は、乱数生成機能を備えてもよい。
送信部314は、i=1,...,nの各整数iについてのユーザ秘密鍵skiを復号鍵生成装置60に送信する。
具体的には、送信部314は、i=1,...,nの各整数iについてのユーザ秘密鍵skiをメモリ32から読み出す。送信部314は、通信インタフェース34を介して、i=1,...,nの各整数iについてのユーザ秘密鍵skiを復号鍵生成装置60に送信する。
すると、復号鍵生成装置60のユーザ秘密鍵取得部611は、i=1,...,nの各整数iについてのユーザ秘密鍵skiを受信する。ユーザ秘密鍵取得部611は、i=1,...,nの各整数iについてのユーザ秘密鍵skiをユーザ秘密鍵記憶部631に書き込む。
実施の形態1に係るトークン生成装置40の動作は、実施の形態1に係るトークン生成方法に相当する。また、実施の形態1に係るトークン生成装置40の動作は、実施の形態1に係るトークン生成プログラムの処理に相当する。
ベクトル選択部411は、i=1,...,nの各整数iについてのm次元のベクトルuiを選択する。
具体的には、ベクトル選択部411は、i=1,...,nの各整数iについてのm次元のベクトルuiを乱数発生機能等を用いてランダムに選択する。ベクトル選択部411は、ベクトルuiをメモリ42に書き込む。
トークン生成部412は、i=1,...,nの各整数iについての暗号化トークンetkiと、復号トークンdtkとを生成する。復号トークンdtkは、i=1,...,nの各整数iについての暗号化トークンetkiに対応する。
具体的には、トークン生成部412は、i=1,...,nの各整数iについてのベクトルuiをメモリ42から読み出す。トークン生成部412は、i=1,...,nの各整数iについて、ベクトルuiを暗号化トークンetkiとして扱う。つまり、etki:=uiである。また、トークン生成部412は、i=1,...,nの各整数iについてのベクトルuiの集合を復号トークンdtkとして扱う。つまり、dtk:=(u1,u2,...,un)である。トークン生成部412は、i=1,...,nの各整数iについての暗号化トークンetkiと、復号トークンdtkとをメモリ42に書き込む。
送信部413は、i=1,...,nの各整数iについての暗号化トークンetkiを暗号化装置50に送信する。また、送信部413は、復号トークンdtkを復号鍵生成装置60に送信する。
具体的には、送信部413は、i=1,...,nの各整数iについての暗号化トークンetkiと、復号トークンdtkとをメモリ42から読み出す。送信部413は、通信インタフェース44を介して、i=1,...,nの各整数iについての暗号化トークンetkiを暗号化装置50に送信する。また、送信部413は、通信インタフェース44を介して、復号トークンdtkを復号鍵生成装置60に送信する。
すると、暗号化装置50のトークン取得部512は、通信インタフェース54を介して、i=1,...,nの各整数iについての暗号化トークンetkiを受信する。トークン取得部512は、i=1,...,nの各整数iについての暗号化トークンetkiをトークン記憶部532に書き込む。また、復号鍵生成装置60のトークン取得部612は、通信インタフェース64を介して、復号トークンdtkを受信する。トークン取得部612は、復号トークンdtkをトークン記憶部632に書き込む。
実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
ベクトル取得部513は、i=1,...,nの各整数iについてのm次元のベクトルxiを取得する。
具体的には、ベクトル取得部513は、通信インタフェース54を介して接続された入力装置等によって入力されたベクトルxiを取得する。ベクトル取得部513は、ベクトルxiをメモリ32に書き込む。
暗号化部514は、i=1,...,nの各整数iについて、ベクトルxiを設定した暗号文ctiを生成する。
具体的には、暗号化部514は、マスター鍵mkをマスター鍵記憶部531から読み出す。また、暗号化部514は、i=1,...,nの各整数iについての暗号化トークンetkiをトークン記憶部532から読み出す。また、暗号化部514は、i=1,...,nの各整数iについてのベクトルxiをメモリ52から読み出す。
暗号化部514は、i=1,...,nの各整数iについて、ベクトルxiと暗号化トークンetkiとの和をメッセージmiとして生成する。つまり、mi:=xi+etki=xi+uiである。暗号化部514は、i=1,...,nの各整数iについて、メッセージmiと、マスター公開鍵mpkiとを入力として、Encアルゴリズムを実行して、暗号文ctiを生成する。暗号化部514は、暗号文ctiをメモリ52に書き込む。
なお、Encアルゴリズムを実行するために乱数の生成が必要な場合には、暗号化部514は、乱数生成機能を備えてもよい。
送信部515は、i=1,...,nの各整数iについての暗号文ctiを秘匿分析装置70に送信する。
具体的には、送信部515は、i=1,...,nの各整数iについての暗号文ctiをメモリ52から読み出す。送信部515は、通信インタフェース54を介して、i=1,...,nの各整数iについての暗号文ctiを秘匿分析装置70に送信する。
すると、秘匿分析装置70の暗号文取得部711は、通信インタフェース74を介して、i=1,...,nの各整数iについての暗号文ctiを受信する。暗号文取得部711は、i=1,...,nの各整数iについての暗号文ctiを暗号文記憶部731に書き込む。
実施の形態1に係る復号鍵生成装置60の動作は、実施の形態1に係る復号鍵生成方法に相当する。また、実施の形態1に係る復号鍵生成装置60の動作は、実施の形態1に係る復号鍵生成プログラムの処理に相当する。
復号鍵生成部613は、復号鍵dkを生成する。
具体的には、復号鍵生成部613は、i=1,...,nの各整数iについてのユーザ秘密鍵skiをユーザ秘密鍵記憶部631から読み出す。また、復号鍵生成部613は、復号トークンdtkをトークン記憶部632から読み出す。
復号鍵生成部613は、i=1,...,nの各整数iについてのベクトルyiとベクトルuiとの内積の和を鍵要素zとして計算する。つまり、z:=Σi=1 n<xi,ui>である。ここで、ベクトルyiは、ユーザ秘密鍵skiに含まれている。また、ベクトルuiは、復号トークンdtkに含まれている。
復号鍵生成部613は、i=1,...,nの各整数iについてのユーザ秘密鍵skiと、鍵要素zとの集合を復号鍵dkとして扱う。復号鍵生成部613は、復号鍵dkをメモリ62に書き込む。
送信部614は、復号鍵dkを秘匿分析装置70に送信する。
具体的には、送信部614は、復号鍵dkをメモリ62から読み出す。送信部614は、通信インタフェース64を介して、復号鍵dkを秘匿分析装置70に送信する。
すると、秘匿分析装置70の復号鍵取得部712は、通信インタフェース74を介して、復号鍵dkを受信する。復号鍵取得部712は、復号鍵dkを復号鍵記憶部732に書き込む。
実施の形態1に係る秘匿分析装置70の動作は、実施の形態1に係る秘匿分析方法に相当する。また、実施の形態1に係る秘匿分析装置70の動作は、実施の形態1に係る秘匿分析プログラムの処理に相当する。
復号部713は、復号鍵dkにより、i=1,...,nの各整数iについての暗号文ctiを復号して、i=1,...,nの各整数iについてのベクトルxiとベクトルyiとについての演算結果Dを生成する。ここで、暗号文ctiは、暗号化トークンetkiを用いて情報xi(ベクトルxi)が暗号化され生成されている。また、復号鍵dkは、i=1,...,nの各整数iについての暗号化トークンetkiに対応する復号トークンdtkを用いて情報yi(ベクトルyi)が設定されたユーザ秘密鍵skiから生成されている。
具体的には、復号部713は、i=1,...,nの各整数iについての暗号文ctiを暗号文記憶部731から読み出す。また、復号部713は、復号鍵dkを復号鍵記憶部732から読み出す。
復号部713は、i=1,...,nの各整数iについて、暗号文ctiと、ユーザ秘密鍵skiとを入力として、Decアルゴリズムを実行して、復号データDiを生成する。復号部713は、i=1,...,nの各整数iについての復号データDiの和から鍵要素zを減じて演算結果Dを生成する。つまり、D:=(Σi=1 nDi)−zである。復号部713は、演算結果Dをメモリ72に書き込む。
ここで、Di=<(xi+ui),yi>である。そのため、Σi=1 nDi=Σi=1 n<(xi+ui),yi>である。また、z:=Σi=1 n<xi,ui>である。したがって、D:=(Σi=1 nDi)−z=Σi=1 n<(xi+ui),yi>−Σi=1 n<xi,ui>=Σi=1 n<xi,yi>である。つまり、演算結果Dは、i=1,...,nの各整数iについてのベクトルxiとベクトルyiとの内積の和である。
演算結果Dを得るためには、ユーザ秘密鍵skを復号鍵生成装置60に与えるとともに、演算対象の暗号文ctiの生成に用いられた暗号化トークンetkiに対応する復号トークンdtkを復号鍵生成装置60に与える必要がある。したがって、ユーザ秘密鍵skがユーザに配布されている場合であっても、ユーザが自由に演算結果Dを得ることはできない。
送信部714は、演算結果Dを表示装置といった出力装置に送信する。
具体的には、送信部714は、演算結果Dをメモリ72から読み出す。送信部714は、通信インタフェース74を介して、演算結果Dを表示装置といった出力装置に送信する。
以上のように、実施の形態1に係る秘匿分析システム10は、暗号文ctに設定されたベクトルxとユーザ秘密鍵skに設定されたベクトルyとの内積を、暗号文ctを復号することなく計算することができる。そして、実施の形態1に係る秘匿分析システム10は、ベクトルxとベクトルyとの内積を計算するためには、ユーザ秘密鍵skではなく、復号トークンdtkを用いてユーザ秘密鍵skから生成された復号鍵dkが必要である。そのため、ユーザ秘密鍵skを持ったユーザに、ベクトルxとベクトルyとの内積と、ベクトルxといった情報が漏えいすることを防止できる。
<変形例1>
実施の形態1では、暗号化トークンetkを用いて暗号文ctを生成し、暗号化トークンに対応する復号トークンdtkを用いてユーザ秘密鍵skから復号鍵dkを生成するという技術を内積暗号に適用した。これにより、情報の漏えいを防止しつつ、暗号文ctに設定されたベクトルxとユーザ秘密鍵skに設定されたベクトルyとの内積である演算結果Dを計算することを可能とした。
内積暗号ではなく、暗号化したまま他の演算を行う暗号技術に、上記技術を適用することにより、情報の漏えいを防止しつつ、内積ではない他の演算を行った演算結果を計算することも可能である。また、この場合には、暗号文及びユーザ秘密鍵に設定されるのは、ベクトルx及びベクトルyではなく、何らかの形式の情報x及び情報yである可能性がある。
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態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との機能とを実現する専用の回路である。
機能がハードウェアで実現される場合、復号鍵生成装置60は、プロセッサ61とメモリ62とストレージ63とに代えて、電子回路65を備える。電子回路65は、復号鍵生成装置60の機能構成要素と、メモリ62とストレージ63との機能とを実現する専用の回路である。
機能がハードウェアで実現される場合、秘匿分析装置70は、プロセッサ71とメモリ72とストレージ73とに代えて、電子回路75を備える。電子回路75は、秘匿分析装置70の機能構成要素と、メモリ72とストレージ73との機能とを実現する専用の回路である。
マスター鍵生成装置20の各機能構成要素の機能を1つの電子回路25で実現してもよいし、各機能構成要素の機能を複数の電子回路25に分散させて実現してもよい。同様に、ユーザ秘密鍵生成装置30とトークン生成装置40と暗号化装置50と復号鍵生成装置60と秘匿分析装置70とのそれぞれについて、各機能構成要素の機能を1つの電子回路35,45,55,65,75で実現してもよいし、各機能構成要素の機能を複数の電子回路35,45,55,65,75に分散させて実現してもよい。
変形例3として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
Claims (4)
- 1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu i である暗号化トークンetk i と情報x i との和m i が暗号化された暗号文ct i を取得する暗号文取得部と、
前記各整数iについてのベクトルu i を含む復号トークンdtkと、前記各整数iについての情報y i が設定されたユーザ秘密鍵sk i とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu i と前記情報y i との内積の和zを含む復号鍵dkを取得する復号鍵取得部と、
暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct i を復号して復号データD i を生成し、前記各整数iについての復号データD i の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x i と前記情報y i との内積の和を計算する復号部と
を備える秘匿分析装置。 - 1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu i である暗号化トークンetk i と情報x i との和m i を暗号化した暗号文ct i を生成する暗号化装置と、
前記各整数iについてのベクトルu i を含む復号トークンdtkと、前記各整数iについての情報y i が設定されたユーザ秘密鍵sk i とを用いて、前記各整数iについて前記ベクトルu i と前記情報y i との内積の和zを含む復号鍵dkを生成する復号鍵生成装置と、
暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記暗号化装置によって生成された前記各整数iについての暗号文ct i を復号して復号データD i を生成し、前記各整数iについての復号データD i の和から、前記復号鍵生成装置によって生成された前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x i と前記情報y i との内積の和を計算する秘匿分析装置と
を備える秘匿分析システム。 - 秘匿分析装置における暗号文取得部が、1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu i である暗号化トークンetk i と情報x i との和m i が暗号化された暗号文ct i を取得し、
前記秘匿分析装置における復号鍵取得部が、前記各整数iについてのベクトルu i を含む復号トークンdtkと、前記各整数iについての情報y i が設定されたユーザ秘密鍵sk i とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu i と前記情報y i との内積の和zを含む復号鍵dkを取得し、
前記秘匿分析装置における復号部が、暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct i を復号して復号データD i を生成し、前記各整数iについての復号データD i の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x i と前記情報y i との内積の和を計算する秘匿分析方法。 - 暗号文取得部が、1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu i である暗号化トークンetk i と情報x i との和m i が暗号化された暗号文ct i を取得する暗号文取得処理と、
復号鍵取得部が、前記各整数iについてのベクトルu i を含む復号トークンdtkと、前記各整数iについての情報y i が設定されたユーザ秘密鍵sk i とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu i と前記情報y i との内積の和zを含む復号鍵dkを取得する復号鍵取得処理と、
復号部が、暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct i を復号して復号データD i を生成し、前記各整数iについての復号データD i の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x i と前記情報y i との内積の和を計算する復号処理と
を行う秘匿分析装置としてコンピュータに機能させる秘匿分析プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/001211 WO2019142260A1 (ja) | 2018-01-17 | 2018-01-17 | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6452910B1 true JP6452910B1 (ja) | 2019-01-16 |
JPWO2019142260A1 JPWO2019142260A1 (ja) | 2020-01-23 |
Family
ID=65020484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018536207A Active JP6452910B1 (ja) | 2018-01-17 | 2018-01-17 | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11451372B2 (ja) |
JP (1) | JP6452910B1 (ja) |
CN (1) | CN111615809A (ja) |
WO (1) | WO2019142260A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11451369B2 (en) * | 2019-04-16 | 2022-09-20 | Nec Corporation | Method and system for multi-authority controlled functional encryption |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016080766A (ja) * | 2014-10-10 | 2016-05-16 | 富士通株式会社 | 暗号処理方法、暗号処理装置、及び暗号処理プログラム |
JP2016114901A (ja) * | 2014-12-18 | 2016-06-23 | 日本電信電話株式会社 | ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム |
WO2016103960A1 (ja) * | 2014-12-25 | 2016-06-30 | 国立大学法人 東京大学 | 制御装置、解析装置、復号装置および送信装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4599194B2 (ja) * | 2005-03-08 | 2010-12-15 | 株式会社東芝 | 復号装置、復号方法、及びプログラム |
JP5297688B2 (ja) | 2008-05-09 | 2013-09-25 | 株式会社日立製作所 | ベクトル秘匿型内積計算システム、ベクトル秘匿型内積計算方法及び暗号鍵共有システム |
JP2011150006A (ja) * | 2010-01-19 | 2011-08-04 | Hitachi Ltd | 暗号化システム、公開鍵暗号化方法、鍵生成装置、計算機および公開鍵秘密鍵生成プログラム |
JP5612494B2 (ja) * | 2011-01-21 | 2014-10-22 | 日本電信電話株式会社 | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム |
JP5668549B2 (ja) | 2011-03-16 | 2015-02-12 | 富士通株式会社 | 秘匿分析処理方法、プログラム及び装置 |
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
WO2014184894A1 (ja) * | 2013-05-15 | 2014-11-20 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
JP2016114109A (ja) * | 2014-12-12 | 2016-06-23 | スズキ株式会社 | 故障診断装置 |
-
2018
- 2018-01-17 WO PCT/JP2018/001211 patent/WO2019142260A1/ja active Application Filing
- 2018-01-17 CN CN201880083784.5A patent/CN111615809A/zh active Pending
- 2018-01-17 US US16/767,018 patent/US11451372B2/en active Active
- 2018-01-17 JP JP2018536207A patent/JP6452910B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016080766A (ja) * | 2014-10-10 | 2016-05-16 | 富士通株式会社 | 暗号処理方法、暗号処理装置、及び暗号処理プログラム |
JP2016114901A (ja) * | 2014-12-18 | 2016-06-23 | 日本電信電話株式会社 | ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム |
WO2016103960A1 (ja) * | 2014-12-25 | 2016-06-30 | 国立大学法人 東京大学 | 制御装置、解析装置、復号装置および送信装置 |
Non-Patent Citations (4)
Title |
---|
MICHEL ABDALLA, ET AL.: "Multi-Input Functional Encryption for Inner Products: Function-Hiding Realizations and Constructions", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2017/972, vol. Version: 20171005:142524, JPN6018012013, 5 October 2017 (2017-10-05), ISSN: 0003886015 * |
SHAFI GOLDWASSER, ET AL.: "Reusable Garbled Circuits and Succinct Functional Encryption", PROCEEDINGS OF THE FORTY-FIFTH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING (STOC'13), JPN7018001029, 4 January 2013 (2013-01-04), US, pages 555 - 564, ISSN: 0003916521 * |
川合 豊 ほか: "データ提供者のプライバシーを保護する複数入力可能な内積暗号", 2018年 暗号と情報セキュリティシンポジウム, vol. 1A2−1, JPN6018037795, 23 January 2018 (2018-01-23), JP, pages 1 - 5, ISSN: 0003916522 * |
黒河 徳大 ほか: "再帰関数に対する秘匿計算の実装", 2015年 暗号と情報セキュリティシンポジウム SCIS2015 [CD−ROM], vol. 2B1−2, JPN6018012010, 20 January 2015 (2015-01-20), JP, pages 1 - 8, ISSN: 0003886014 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019142260A1 (ja) | 2020-01-23 |
WO2019142260A1 (ja) | 2019-07-25 |
US11451372B2 (en) | 2022-09-20 |
US20210014040A1 (en) | 2021-01-14 |
CN111615809A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6732141B2 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
JP6017501B2 (ja) | 暗号システム | |
JP6391900B1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
CN110169010B (zh) | 同态运算装置、加密系统和计算机能读取的存储介质 | |
KR102397579B1 (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
JP7087965B2 (ja) | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム | |
WO2016162941A1 (ja) | 暗号システム及び鍵生成装置 | |
JPWO2006033347A1 (ja) | 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置 | |
JP2006311383A (ja) | データ管理方法、データ管理システムおよびデータ管理装置 | |
WO2020044748A1 (ja) | Idベースハッシュ証明系構成装置、idベース暗号装置、idベースハッシュ証明系構成方法及びプログラム | |
US20240048377A1 (en) | Ciphertext conversion system, conversion key generation method, and non-transitory computer readable medium | |
JP6452910B1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
KR20170103321A (ko) | 보안성이 강화된 순서보존 암호화 방법 및 장치 | |
JP7126635B2 (ja) | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム | |
WO2020075224A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
WO2024201635A1 (ja) | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム | |
JP7310938B2 (ja) | 暗号システム、暗号化方法、復号方法及びプログラム | |
JP7520255B2 (ja) | 秘匿情報処理システム、秘匿情報処理方法、及び秘匿情報処理プログラム | |
JP7215245B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2022053676A (ja) | 情報処理システム及び情報処理方法 | |
Aruljothi et al. | A Survey on Different Encryption Techniques in Network Security | |
JP2018097192A (ja) | ストリーム暗号における内部状態の初期化装置、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180710 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180710 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181031 |
|
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: 20181113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6452910 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 |