JP6452910B1 - 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム - Google Patents

秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム Download PDF

Info

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
Application number
JP2018536207A
Other languages
English (en)
Other versions
JPWO2019142260A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6452910B1 publication Critical patent/JP6452910B1/ja
Publication of JPWO2019142260A1 publication Critical patent/JPWO2019142260A1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/32Cryptographic 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/321Cryptographic 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/3213Cryptographic 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

暗号化装置(50)は、暗号化トークンetkを用いて情報xを暗号化した暗号文ctを生成する。復号鍵生成装置(60)は、暗号化トークンetkに対応する復号トークンdtkを用いて、ベクトルyが設定されたユーザ秘密鍵skから復号鍵dkを生成する。秘匿分析装置(70)は、復号鍵生成装置(60)によって生成された復号鍵dkにより、暗号化装置(50)によって生成された暗号文ctを復号して、ベクトルxとベクトルyとについての演算結果を生成する。

Description

この発明は、暗号化したまま演算を実行する技術に関する。
原則として、データを暗号化してしまうと復号しなければ内部のデータを閲覧及び編集することは不可能である。そのため、複数の暗号文のデータを編集する場合には、暗号文を一度復号し平文にした上で編集を行い、再度暗号化する必要がある。
内積を計算可能な関数型暗号(以下、内積暗号と呼ぶ)がある(特許文献1及び非特許文献1参照)。内積暗号では、暗号化実行時にベクトルxを設定し、ユーザ秘密鍵にベクトルyを設定し、暗号文を復号する際にはベクトルxとベクトルyとの内積<x,y>を出力する。つまり、内積暗号は、暗号化したまま内積計算が可能な暗号である。以下の説明では、ベクトルxとベクトルyとの内積を<x,y>と書く。
内積暗号は、単一入力可能な内積暗号と、複数入力可能な内積暗号とに分けられる。単一入力可能な内積暗号は、復号時に計算できる内積が1つのみである。これに対して、複数入力可能な内積暗号は、秘密鍵にN個のベクトルy,...,yがを設定することが可能であり、復号時にはN個の暗号文を入力として、<x,y>+<x,y>+・・・+<x,y>を計算できる。
特開2009−272995号公報
Multi−Input Functional Encryption for Inner Products: Function−Hiding Realizations and Constructions without Pairings Michel Abdalla and Dario Catalano and Dario Fiore and Romain Gay and Bogdan Ursu in Cryptology ePrint Archive:
非特許文献1に記載されている方法は、N個の内積の和を計算することはできる。しかし、非特許文献1に記載されている方法は、1つでもユーザ秘密鍵を所持し、かつ、暗号化を実行できるユーザであれば、暗号文に紐づいているベクトルを類推することが可能である。
複数入力可能な内積暗号は、クラウドにアップロードされた複数の暗号文を復号せずに、内積のような分析することが期待される。しかし、非特許文献1に記載されている方法のように、本来は漏洩するべきではない、個々の暗号文に設定された情報、例えば内積の場合はベクトルの値が、漏洩してしまう。
この発明は、暗号化したまま内積といった演算を可能にしつつ、暗号文に設定された情報の漏えいを防止することを目的とする。
この発明に係る秘匿分析装置は、
暗号化トークンetkを用いて情報xが暗号化された暗号文ctを取得する暗号文取得部と、
前記暗号化トークンetkに対応する復号トークンdtkを用いて、情報yが設定されたユーザ秘密鍵skから生成された復号鍵dkにより、前記暗号文取得部によって取得された前記暗号文ctを復号して、前記情報xと前記情報yとについての演算結果を生成する復号部と
を備える。
この発明では、ユーザ秘密鍵skではなく、復号トークンdtkを用いてユーザ秘密鍵skから生成された復号鍵dkにより、情報xと情報yとについての演算結果を生成する。ユーザ秘密鍵skを持っていても演算を行うことができないため、ユーザ秘密鍵skを持ったユーザに情報が漏えいすることを防止できる。
実施の形態1に係る秘匿分析システム10の構成図。 実施の形態1に係るマスター鍵生成装置20の構成図。 実施の形態1に係るユーザ秘密鍵生成装置30の構成図。 実施の形態1に係るトークン生成装置40の構成図。 実施の形態1に係る暗号化装置50の構成図。 実施の形態1に係る復号鍵生成装置60の構成図。 実施の形態1に係る秘匿分析装置70の構成図。 実施の形態1に係るマスター鍵生成装置20の動作を示すフローチャート。 実施の形態1に係るユーザ秘密鍵生成装置30の動作を示すフローチャート。 実施の形態1に係るトークン生成装置40の動作を示すフローチャート。 実施の形態1に係る暗号化装置50の動作を示すフローチャート。 実施の形態1に係る復号鍵生成装置60の動作を示すフローチャート。 実施の形態1に係る秘匿分析装置70の動作を示すフローチャート。 変形例2に係るマスター鍵生成装置20の構成図。 変形例2に係るユーザ秘密鍵生成装置30の構成図。 変形例2に係るトークン生成装置40の構成図。 変形例2に係る暗号化装置50の構成図。 変形例2に係る復号鍵生成装置60の構成図。 変形例2に係る秘匿分析装置70の構成図。
実施の形態1.
***構成の説明***
図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)である。
図2を参照して、実施の形態1に係るマスター鍵生成装置20の構成を説明する。
マスター鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
マスター鍵生成装置20は、機能構成要素として、パラメータ取得部211と、マスター鍵生成部212と、送信部213とを備える。マスター鍵生成装置20の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ23には、マスター鍵生成装置20の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、マスター鍵生成装置20の各機能構成要素の機能が実現される。
また、ストレージ23は、マスター鍵記憶部231の機能を実現する。
図3を参照して、実施の形態1に係るユーザ秘密鍵生成装置30の構成を説明する。
ユーザ秘密鍵生成装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ユーザ秘密鍵生成装置30は、機能構成要素として、マスター鍵取得部311と、ベクトル取得部312と、ユーザ秘密鍵生成部313と、送信部314とを備える。ユーザ秘密鍵生成装置30の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ33には、ユーザ秘密鍵生成装置30の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、ユーザ秘密鍵生成装置30の各機能構成要素の機能が実現される。
また、ストレージ33は、マスター鍵記憶部331の機能を実現する。
図4を参照して、実施の形態1に係るトークン生成装置40の構成を説明する。
トークン生成装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
トークン生成装置40は、機能構成要素として、ベクトル選択部411と、トークン生成部412と、送信部413とを備える。トークン生成装置40の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ43には、トークン生成装置40の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、トークン生成装置40の各機能構成要素の機能が実現される。
図5を参照して、実施の形態1に係る暗号化装置50の構成を説明する。
暗号化装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
暗号化装置50は、機能構成要素として、マスター鍵取得部511と、トークン取得部512と、ベクトル取得部513と、暗号化部514と、送信部515とを備える。暗号化装置50の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ53には、暗号化装置50の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、暗号化装置50の各機能構成要素の機能が実現される。
また、ストレージ53は、マスター鍵記憶部531と、トークン記憶部532との機能を実現する。
図6を参照して、実施の形態1に係る復号鍵生成装置60の構成を説明する。
復号鍵生成装置60は、プロセッサ61と、メモリ62と、ストレージ63と、通信インタフェース64とのハードウェアを備える。プロセッサ61は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
復号鍵生成装置60は、機能構成要素として、ユーザ秘密鍵取得部611と、トークン取得部612と、復号鍵生成部613と、送信部614とを備える。復号鍵生成装置60の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ63には、復号鍵生成装置60の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ61によりメモリ62に読み込まれ、プロセッサ61によって実行される。これにより、復号鍵生成装置60の各機能構成要素の機能が実現される。
ストレージ63は、ユーザ秘密鍵記憶部631と、トークン記憶部632との機能を実現する。
図7を参照して、実施の形態1に係る秘匿分析装置70の構成を説明する。
秘匿分析装置70は、プロセッサ71と、メモリ72と、ストレージ73と、通信インタフェース74とのハードウェアを備える。プロセッサ71は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
秘匿分析装置70は、機能構成要素として、暗号文取得部711と、復号鍵取得部712と、復号部713と、送信部714とを備える。秘匿分析装置70の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ73には、秘匿分析装置70の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ71によりメモリ72に読み込まれ、プロセッサ71によって実行される。これにより、秘匿分析装置70の各機能構成要素の機能が実現される。
ストレージ73は、暗号文記憶部731と、復号鍵記憶部732との機能を実現する。
プロセッサ21,31,41,51,61,71は、演算処理を行うIC(Integrated Circuit)である。プロセッサ21,31,41,51,61,71は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ22,32,42,52,62,72は、データを一時的に記憶する記憶装置である。メモリ22,32,42,52,62,72は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ23,33,43,53,63,73は、データを保管する記憶装置である。ストレージ23,33,43,53,63,73は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ23,33,43,53,63,73は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。
通信インタフェース24,34,44,54,64,74は、外部の装置と通信するためのインタフェースである。通信インタフェース24,34,44,54,64,74は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High−Definition Multimedia Interface)のポートである。
図2では、プロセッサ21は、1つだけ示されている。しかし、マスター鍵生成装置20は、プロセッサ21を代替する複数のプロセッサを備えていてもよい。同様に、ユーザ秘密鍵生成装置30は、プロセッサ31を代替する複数のプロセッサを備えていてもよい。トークン生成装置40は、プロセッサ41を代替する複数のプロセッサを備えていてもよい。暗号化装置50は、プロセッサ51を代替する複数のプロセッサを備えていてもよい。復号鍵生成装置60は、プロセッサ61を代替する複数のプロセッサを備えていてもよい。秘匿分析装置70は、プロセッサ71を代替する複数のプロセッサを備えていてもよい。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ21,31,41,51,61,71と同じように、演算処理を行うICである。
***動作の説明***
図8から図13を参照して、実施の形態1に係る秘匿分析システム10の動作を説明する。
秘匿分析システム10は、既存の単一入力可能な内積暗号を用いる。既存の単一入力可能な内積暗号とは、具体例としては、非特許文献1に記載された方式である。
単一入力可能な内積暗号は、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>を生成する。
図8を参照して、実施の形態1に係るマスター鍵生成装置20の動作を説明する。
実施の形態1に係るマスター鍵生成装置20の動作は、実施の形態1に係るマスター鍵生成方法に相当する。また、実施の形態1に係るマスター鍵生成装置20の動作は、実施の形態1に係るマスター鍵生成プログラムの処理に相当する。
(ステップS11:パラメータ取得処理)
パラメータ取得部211は、鍵のビット長λを取得する。
具体的には、パラメータ取得部211は、通信インタフェース24を介して接続された入力装置等によって入力された鍵のビット長λを取得する。パラメータ取得部211は、鍵のビット長λをメモリ22に書き込む。
なお、鍵のビット長λ以外に必要なパラメータが存在する場合には、パラメータ取得部211は、そのパラメータも取得する。
(ステップS12:マスター鍵生成処理)
マスター鍵生成部212は、マスター鍵mkを生成する。
具体的には、マスター鍵生成部212は、鍵のビット長λをメモリ22から読み出す。マスター鍵生成部212は、i=1,...,nの各整数iについて、鍵のビット長λを入力として、Setupアルゴリズムを実行して、マスター秘密鍵mskとマスター公開鍵mpkとのペアを生成する。nは1以上の整数である。マスター鍵生成部212は、i=1,...,nの各整数iについてのマスター秘密鍵mskとマスター公開鍵mpkとの集合をマスター鍵mkとして扱う。つまり、mk:=(msk,msk,...,msk,mpk,mpk,...,mpk)である。マスター鍵生成部212は、マスター鍵mkをメモリ22に書き込む。
なお、Setupアルゴリズムを実行するために乱数の生成が必要な場合には、マスター鍵生成部212は、乱数生成機能を備えてもよい。
(ステップS13:送信処理)
送信部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のうち、マスター秘密鍵msk,msk,...,mskだけをユーザ秘密鍵生成装置30に送信し、マスター鍵mkのうち、マスター公開鍵mpk,mpk,...,mpkだけを暗号化装置50に送信してもよい。
また、送信部213は、マスター鍵mkをマスター鍵記憶部231に書き込む。
図9を参照して、実施の形態1に係るユーザ秘密鍵生成装置30の動作を説明する。
実施の形態1に係るユーザ秘密鍵生成装置30の動作は、実施の形態1に係るユーザ秘密鍵生成方法に相当する。また、実施の形態1に係るユーザ秘密鍵生成装置30の動作は、実施の形態1に係るユーザ秘密鍵生成プログラムの処理に相当する。
(ステップS21:ベクトル取得処理)
ベクトル取得部312は、i=1,...,nの各整数iについてのm次元のベクトルyを取得する。
具体的には、ベクトル取得部312は、通信インタフェース24を介して接続された入力装置等によって入力されたベクトルyを取得する。ベクトル取得部312は、ベクトルyをメモリ32に書き込む。
(ステップS22:ユーザ秘密鍵生成処理)
ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについてのユーザ秘密鍵skを生成する。
具体的には、ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについてのベクトルyをメモリ32から読み出す。また、ユーザ秘密鍵生成部313は、マスター鍵mkをマスター鍵記憶部331から読み出す。ユーザ秘密鍵生成部313は、i=1,...,nの各整数iについて、ベクトルyと、マスター秘密鍵mskとを入力として、KeyGenアルゴリズムを実行して、ユーザ秘密鍵skを生成する。ユーザ秘密鍵skには、ベクトルyが設定された鍵keyとベクトルyとが含まれている。ユーザ秘密鍵生成部313は、ユーザ秘密鍵skをメモリ32に書き込む。
なお、KeyGenアルゴリズムを実行するために乱数の生成が必要な場合には、ユーザ秘密鍵生成部313は、乱数生成機能を備えてもよい。
(ステップS23:送信処理)
送信部314は、i=1,...,nの各整数iについてのユーザ秘密鍵skを復号鍵生成装置60に送信する。
具体的には、送信部314は、i=1,...,nの各整数iについてのユーザ秘密鍵skをメモリ32から読み出す。送信部314は、通信インタフェース34を介して、i=1,...,nの各整数iについてのユーザ秘密鍵skを復号鍵生成装置60に送信する。
すると、復号鍵生成装置60のユーザ秘密鍵取得部611は、i=1,...,nの各整数iについてのユーザ秘密鍵skを受信する。ユーザ秘密鍵取得部611は、i=1,...,nの各整数iについてのユーザ秘密鍵skをユーザ秘密鍵記憶部631に書き込む。
ここでは、1つのユーザ秘密鍵生成装置30によってi=1,...,nの各整数iについてのユーザ秘密鍵skが生成された。しかし、複数のユーザ秘密鍵生成装置30によってi=1,...,nの各整数iについてのユーザ秘密鍵skが生成されてもよい。例えば、i=1,...,nの各整数iについてのユーザ秘密鍵生成装置30iによってユーザ秘密鍵skが生成されてもよい。
図10を参照して、実施の形態1に係るトークン生成装置40の動作を説明する。
実施の形態1に係るトークン生成装置40の動作は、実施の形態1に係るトークン生成方法に相当する。また、実施の形態1に係るトークン生成装置40の動作は、実施の形態1に係るトークン生成プログラムの処理に相当する。
(ステップS31:ベクトル選択処理)
ベクトル選択部411は、i=1,...,nの各整数iについてのm次元のベクトルuを選択する。
具体的には、ベクトル選択部411は、i=1,...,nの各整数iについてのm次元のベクトルuを乱数発生機能等を用いてランダムに選択する。ベクトル選択部411は、ベクトルuをメモリ42に書き込む。
(ステップS32:トークン生成処理)
トークン生成部412は、i=1,...,nの各整数iについての暗号化トークンetkと、復号トークンdtkとを生成する。復号トークンdtkは、i=1,...,nの各整数iについての暗号化トークンetkに対応する。
具体的には、トークン生成部412は、i=1,...,nの各整数iについてのベクトルuをメモリ42から読み出す。トークン生成部412は、i=1,...,nの各整数iについて、ベクトルuを暗号化トークンetkとして扱う。つまり、etk:=uである。また、トークン生成部412は、i=1,...,nの各整数iについてのベクトルuの集合を復号トークンdtkとして扱う。つまり、dtk:=(u,u,...,u)である。トークン生成部412は、i=1,...,nの各整数iについての暗号化トークンetkと、復号トークンdtkとをメモリ42に書き込む。
(ステップS33:送信処理)
送信部413は、i=1,...,nの各整数iについての暗号化トークンetkを暗号化装置50に送信する。また、送信部413は、復号トークンdtkを復号鍵生成装置60に送信する。
具体的には、送信部413は、i=1,...,nの各整数iについての暗号化トークンetkと、復号トークンdtkとをメモリ42から読み出す。送信部413は、通信インタフェース44を介して、i=1,...,nの各整数iについての暗号化トークンetkを暗号化装置50に送信する。また、送信部413は、通信インタフェース44を介して、復号トークンdtkを復号鍵生成装置60に送信する。
すると、暗号化装置50のトークン取得部512は、通信インタフェース54を介して、i=1,...,nの各整数iについての暗号化トークンetkを受信する。トークン取得部512は、i=1,...,nの各整数iについての暗号化トークンetkをトークン記憶部532に書き込む。また、復号鍵生成装置60のトークン取得部612は、通信インタフェース64を介して、復号トークンdtkを受信する。トークン取得部612は、復号トークンdtkをトークン記憶部632に書き込む。
ここでは、1つのトークン生成装置40によってi=1,...,nの各整数iについての暗号化トークンetkが生成された。しかし、複数のトークン生成装置40によってi=1,...,nの各整数iについての暗号化トークンetkが生成されてもよい。例えば、i=1,...,nの各整数iについてのトークン生成装置40iによって暗号化トークンetkが生成されてもよい。この場合、各トークン生成装置40からあるトークン生成装置40にi=1,...,nの各整数iについての暗号化トークンetkが送信され、あるトークン生成装置40によって復号トークンdtkが生成される。
図11を参照して、実施の形態1に係る暗号化装置50の動作を説明する。
実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化方法に相当する。また、実施の形態1に係る暗号化装置50の動作は、実施の形態1に係る暗号化プログラムの処理に相当する。
(ステップS41:ベクトル取得処理)
ベクトル取得部513は、i=1,...,nの各整数iについてのm次元のベクトルxを取得する。
具体的には、ベクトル取得部513は、通信インタフェース54を介して接続された入力装置等によって入力されたベクトルxを取得する。ベクトル取得部513は、ベクトルxをメモリ32に書き込む。
(ステップS42:暗号化処理)
暗号化部514は、i=1,...,nの各整数iについて、ベクトルxを設定した暗号文ctを生成する。
具体的には、暗号化部514は、マスター鍵mkをマスター鍵記憶部531から読み出す。また、暗号化部514は、i=1,...,nの各整数iについての暗号化トークンetkをトークン記憶部532から読み出す。また、暗号化部514は、i=1,...,nの各整数iについてのベクトルxをメモリ52から読み出す。
暗号化部514は、i=1,...,nの各整数iについて、ベクトルxと暗号化トークンetkとの和をメッセージmとして生成する。つまり、m:=x+etk=x+uである。暗号化部514は、i=1,...,nの各整数iについて、メッセージmと、マスター公開鍵mpkとを入力として、Encアルゴリズムを実行して、暗号文ctを生成する。暗号化部514は、暗号文ctをメモリ52に書き込む。
なお、Encアルゴリズムを実行するために乱数の生成が必要な場合には、暗号化部514は、乱数生成機能を備えてもよい。
(ステップS43:送信処理)
送信部515は、i=1,...,nの各整数iについての暗号文ctを秘匿分析装置70に送信する。
具体的には、送信部515は、i=1,...,nの各整数iについての暗号文ctをメモリ52から読み出す。送信部515は、通信インタフェース54を介して、i=1,...,nの各整数iについての暗号文ctを秘匿分析装置70に送信する。
すると、秘匿分析装置70の暗号文取得部711は、通信インタフェース74を介して、i=1,...,nの各整数iについての暗号文ctを受信する。暗号文取得部711は、i=1,...,nの各整数iについての暗号文ctを暗号文記憶部731に書き込む。
ここでは、1つの暗号化装置50によってi=1,...,nの各整数iについての暗号文ctが生成された。しかし、複数の暗号化装置50によってi=1,...,nの各整数iについての暗号文ctが生成されてもよい。例えば、i=1,...,nの各整数iについての暗号化装置50iによって暗号文ctが生成されてもよい。この場合には、図10のステップS33では、i=1,...,nの各整数iについての暗号化トークンetkは、暗号化装置50iに送信される。
図12を参照して、実施の形態1に係る復号鍵生成装置60の動作を説明する。
実施の形態1に係る復号鍵生成装置60の動作は、実施の形態1に係る復号鍵生成方法に相当する。また、実施の形態1に係る復号鍵生成装置60の動作は、実施の形態1に係る復号鍵生成プログラムの処理に相当する。
(ステップS51:復号鍵生成処理)
復号鍵生成部613は、復号鍵dkを生成する。
具体的には、復号鍵生成部613は、i=1,...,nの各整数iについてのユーザ秘密鍵skをユーザ秘密鍵記憶部631から読み出す。また、復号鍵生成部613は、復号トークンdtkをトークン記憶部632から読み出す。
復号鍵生成部613は、i=1,...,nの各整数iについてのベクトルyとベクトルuとの内積の和を鍵要素zとして計算する。つまり、z:=Σi=1 <x,u>である。ここで、ベクトルyは、ユーザ秘密鍵skに含まれている。また、ベクトルuは、復号トークンdtkに含まれている。
復号鍵生成部613は、i=1,...,nの各整数iについてのユーザ秘密鍵skと、鍵要素zとの集合を復号鍵dkとして扱う。復号鍵生成部613は、復号鍵dkをメモリ62に書き込む。
(ステップS52:送信処理)
送信部614は、復号鍵dkを秘匿分析装置70に送信する。
具体的には、送信部614は、復号鍵dkをメモリ62から読み出す。送信部614は、通信インタフェース64を介して、復号鍵dkを秘匿分析装置70に送信する。
すると、秘匿分析装置70の復号鍵取得部712は、通信インタフェース74を介して、復号鍵dkを受信する。復号鍵取得部712は、復号鍵dkを復号鍵記憶部732に書き込む。
図13を参照して、実施の形態1に係る秘匿分析装置70の動作を説明する。
実施の形態1に係る秘匿分析装置70の動作は、実施の形態1に係る秘匿分析方法に相当する。また、実施の形態1に係る秘匿分析装置70の動作は、実施の形態1に係る秘匿分析プログラムの処理に相当する。
(ステップS61:復号処理)
復号部713は、復号鍵dkにより、i=1,...,nの各整数iについての暗号文ctを復号して、i=1,...,nの各整数iについてのベクトルxとベクトルyとについての演算結果Dを生成する。ここで、暗号文ctは、暗号化トークンetkを用いて情報x(ベクトルx)が暗号化され生成されている。また、復号鍵dkは、i=1,...,nの各整数iについての暗号化トークンetkに対応する復号トークンdtkを用いて情報y(ベクトルy)が設定されたユーザ秘密鍵skから生成されている。
具体的には、復号部713は、i=1,...,nの各整数iについての暗号文ctを暗号文記憶部731から読み出す。また、復号部713は、復号鍵dkを復号鍵記憶部732から読み出す。
復号部713は、i=1,...,nの各整数iについて、暗号文ctと、ユーザ秘密鍵skとを入力として、Decアルゴリズムを実行して、復号データDを生成する。復号部713は、i=1,...,nの各整数iについての復号データDの和から鍵要素zを減じて演算結果Dを生成する。つまり、D:=(Σi=1 )−zである。復号部713は、演算結果Dをメモリ72に書き込む。
ここで、D=<(x+u),y>である。そのため、Σi=1 =Σi=1 <(x+u),y>である。また、z:=Σi=1 <x,u>である。したがって、D:=(Σi=1 )−z=Σi=1 <(x+u),y>−Σi=1 <x,u>=Σi=1 <x,y>である。つまり、演算結果Dは、i=1,...,nの各整数iについてのベクトルxとベクトルyとの内積の和である。
ここで、演算結果Dを得るには、ユーザ秘密鍵skではなく、復号鍵dkが必要である。そのため、ユーザ秘密鍵skがユーザに配布されている場合であっても、ユーザがユーザ秘密鍵skを用いて演算結果Dを計算することはできない。
演算結果Dを得るためには、ユーザ秘密鍵skを復号鍵生成装置60に与えるとともに、演算対象の暗号文ctの生成に用いられた暗号化トークンetkに対応する復号トークンdtkを復号鍵生成装置60に与える必要がある。したがって、ユーザ秘密鍵skがユーザに配布されている場合であっても、ユーザが自由に演算結果Dを得ることはできない。
(ステップS62:送信処理)
送信部714は、演算結果Dを表示装置といった出力装置に送信する。
具体的には、送信部714は、演算結果Dをメモリ72から読み出す。送信部714は、通信インタフェース74を介して、演算結果Dを表示装置といった出力装置に送信する。
***実施の形態1の効果***
以上のように、実施の形態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である可能性がある。
<変形例2>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
図14を参照して、変形例2に係るマスター鍵生成装置20の構成を説明する。
機能がハードウェアで実現される場合、マスター鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、マスター鍵生成装置20の機能構成要素と、メモリ22とストレージ23との機能とを実現する専用の回路である。
図15を参照して、変形例2に係るユーザ秘密鍵生成装置30の構成を説明する。
機能がハードウェアで実現される場合、ユーザ秘密鍵生成装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、電子回路35を備える。電子回路35は、ユーザ秘密鍵生成装置30の機能構成要素と、メモリ32とストレージ33との機能とを実現する専用の回路である。
図16を参照して、変形例2に係るトークン生成装置40の構成を説明する。
機能がハードウェアで実現される場合、トークン生成装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、電子回路45を備える。電子回路45は、トークン生成装置40の機能構成要素と、メモリ42とストレージ43との機能とを実現する専用の回路である。
図17を参照して、変形例2に係る暗号化装置50の構成を説明する。
機能がハードウェアで実現される場合、暗号化装置50は、プロセッサ51とメモリ52とストレージ53とに代えて、電子回路55を備える。電子回路55は、暗号化装置50の機能構成要素と、メモリ52とストレージ53との機能とを実現する専用の回路である。
図18を参照して、変形例2に係る復号鍵生成装置60の構成を説明する。
機能がハードウェアで実現される場合、復号鍵生成装置60は、プロセッサ61とメモリ62とストレージ63とに代えて、電子回路65を備える。電子回路65は、復号鍵生成装置60の機能構成要素と、メモリ62とストレージ63との機能とを実現する専用の回路である。
図19を参照して、変形例2に係る秘匿分析装置70の構成を説明する。
機能がハードウェアで実現される場合、秘匿分析装置70は、プロセッサ71とメモリ72とストレージ73とに代えて、電子回路75を備える。電子回路75は、秘匿分析装置70の機能構成要素と、メモリ72とストレージ73との機能とを実現する専用の回路である。
電子回路25,35,45,55,65,75は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
マスター鍵生成装置20の各機能構成要素の機能を1つの電子回路25で実現してもよいし、各機能構成要素の機能を複数の電子回路25に分散させて実現してもよい。同様に、ユーザ秘密鍵生成装置30とトークン生成装置40と暗号化装置50と復号鍵生成装置60と秘匿分析装置70とのそれぞれについて、各機能構成要素の機能を1つの電子回路35,45,55,65,75で実現してもよいし、各機能構成要素の機能を複数の電子回路35,45,55,65,75に分散させて実現してもよい。
<変形例3>
変形例3として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
プロセッサ21,31,41,51,61,71とメモリ22,32,42,52,62,72とストレージ23,33,43,53,63,73と電子回路25,35,45,55,65,75とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
10 秘匿分析システム、20 マスター鍵生成装置、21 プロセッサ、22 メモリ、23 ストレージ、24 通信インタフェース、25 電子回路、211 パラメータ取得部、212 マスター鍵生成部、213 送信部、231 マスター鍵記憶部、30 ユーザ秘密鍵生成装置、31 プロセッサ、32 メモリ、33 ストレージ、34 通信インタフェース、35 電子回路、311 マスター鍵取得部、312 ベクトル取得部、313 ユーザ秘密鍵生成部、314 送信部、331 マスター鍵記憶部、40 トークン生成装置、41 プロセッサ、42 メモリ、43 ストレージ、44 通信インタフェース、45 電子回路、411 ベクトル選択部、412 トークン生成部、413 送信部、50 暗号化装置、51 プロセッサ、52 メモリ、53 ストレージ、54 通信インタフェース、55 電子回路、511 マスター鍵取得部、512 トークン取得部、513 ベクトル取得部、514 暗号化部、515 送信部、531 マスター鍵記憶部、532 トークン記憶部、60 復号鍵生成装置、61 プロセッサ、62 メモリ、63 ストレージ、64 通信インタフェース、65 電子回路、611 ユーザ秘密鍵取得部、612 トークン取得部、613 復号鍵生成部、614 送信部、631 ユーザ秘密鍵記憶部、632 トークン記憶部、70 秘匿分析装置、71 プロセッサ、72 メモリ、73 ストレージ、74 通信インタフェース、75 電子回路、711 暗号文取得部、712 復号鍵取得部、713 復号部、714 送信部、731 暗号文記憶部、732 復号鍵記憶部。

Claims (4)

  1. 1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu である暗号化トークンetk と情報x との和m が暗号化された暗号文ct を取得する暗号文取得部と、
    前記各整数iについてのベクトルu を含む復号トークンdtkと、前記各整数iについての情報y が設定されたユーザ秘密鍵sk とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu と前記情報y との内積の和zを含む復号鍵dkを取得する復号鍵取得部と、
    暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct を復号して復号データD を生成し、前記各整数iについての復号データD の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x と前記情報y との内積の和を計算する復号部と
    を備える秘匿分析装置。
  2. 1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu である暗号化トークンetk と情報x との和m を暗号化した暗号文ct を生成する暗号化装置と、
    前記各整数iについてのベクトルu を含む復号トークンdtkと、前記各整数iについての情報y が設定されたユーザ秘密鍵sk とを用いて、前記各整数iについて前記ベクトルu と前記情報y との内積の和zを含む復号鍵dkを生成する復号鍵生成装置と、
    暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記暗号化装置によって生成された前記各整数iについての暗号文ct を復号して復号データD を生成し、前記各整数iについての復号データD の和から、前記復号鍵生成装置によって生成された前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x と前記情報y との内積の和を計算する秘匿分析装置と
    を備える秘匿分析システム。
  3. 秘匿分析装置における暗号文取得部が、1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu である暗号化トークンetk と情報x との和m が暗号化された暗号文ct を取得し、
    前記秘匿分析装置における復号鍵取得部が、前記各整数iについてのベクトルu を含む復号トークンdtkと、前記各整数iについての情報y が設定されたユーザ秘密鍵sk とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu と前記情報y との内積の和zを含む復号鍵dkを取得し、
    前記秘匿分析装置における復号部が、暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct を復号して復号データD を生成し、前記各整数iについての復号データD の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x と前記情報y との内積の和を計算する秘匿分析方法。
  4. 暗号文取得部が、1以上の整数nに関して、i=1,...,nの各整数iについて、ベクトルu である暗号化トークンetk と情報x との和m が暗号化された暗号文ct を取得する暗号文取得処理と、
    復号鍵取得部が、前記各整数iについてのベクトルu を含む復号トークンdtkと、前記各整数iについての情報y が設定されたユーザ秘密鍵sk とを用いて生成された復号鍵dkであって、前記各整数iについて前記ベクトルu と前記情報y との内積の和zを含む復号鍵dkを取得する復号鍵取得処理と、
    復号部が、暗号文に設定された情報と、ユーザ秘密鍵に設定された情報との内積を計算可能な暗号方式における復号アルゴリズムを用いて、前記各整数iについての暗号文ct を復号して復号データD を生成し、前記各整数iについての復号データD の和から、前記復号鍵dkに含まれる前記和zを減じて、前記各整数iについての前記情報x と前記情報y との内積の和を計算する復号処理と
    行う秘匿分析装置としてコンピュータに機能させる秘匿分析プログラム。
JP2018536207A 2018-01-17 2018-01-17 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム Active JP6452910B1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 スズキ株式会社 故障診断装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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