JP7205016B2 - 秘匿情報処理システムおよび秘匿情報処理方法 - Google Patents

秘匿情報処理システムおよび秘匿情報処理方法 Download PDF

Info

Publication number
JP7205016B2
JP7205016B2 JP2022568484A JP2022568484A JP7205016B2 JP 7205016 B2 JP7205016 B2 JP 7205016B2 JP 2022568484 A JP2022568484 A JP 2022568484A JP 2022568484 A JP2022568484 A JP 2022568484A JP 7205016 B2 JP7205016 B2 JP 7205016B2
Authority
JP
Japan
Prior art keywords
ciphertext
inference
result
data
unit
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
JP2022568484A
Other languages
English (en)
Other versions
JPWO2022137447A1 (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
Publication of JPWO2022137447A1 publication Critical patent/JPWO2022137447A1/ja
Application granted granted Critical
Publication of JP7205016B2 publication Critical patent/JP7205016B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、秘匿情報処理に関するものである。
準同型暗号は、データを暗号化したまま演算できる暗号技術である。
昨今、クラウドサービスの利用が広まりつつあるが、クラッキングの懸念およびクラウドの信頼性の懸念から、クラウド上ではデータを暗号化して保管することが考えられる。
また、準同型暗号は、暗号化されているデータに対して、復号することなく演算を施すことができる。
そのため、準同型暗号は、安全性を損なうことなくクラウドサービスの利用を可能とする。
ニューラルネットワークは、画像および動画の認識に有用な技術であり、入力層と(複数の)中間層と出力層との3種類の層からなる。
入力層は、入力データを受け付けるための層である。
中間層は、入力データまたは他の中間層の計算結果に対して特定の計算を行うための層である。
出力層は、中間層の最終の計算結果を出力するための層である。
近年、高い推論精度を達成するニューラルネットワークが盛んに研究されている。そのようなニューラルネットワークは非常に多数の中間層を持ち、その推論処理には多大な計算量を要する。
そのため、計算能力の低い端末では、このようなニューラルネットワークの推論処理を実行することが困難である。
そこで、高い計算能力を持ったクラウドに推論処理を委託することが考えられる。
監視カメラの映像などのプライベートなデータがニューラルネットワークの入力データになる場合、入力データをクラウドから秘匿したまま、ニューラルネットワークの推論処理を行わなければならない。
その場合、準同型暗号を用いて入力データを暗号化したままニューラルネットワークによる推論処理を行うことで、データ提供者のプライバシーを保ちつつクラウドへ推論処理を委託することができる。
しかし、ニューラルネットワークの中間層の計算を定義する推論モデルデータが暗号化されなければ、推論モデルデータのパラメータ情報および推論モデルデータを生成するための学習に利用した学習データに関する情報が漏洩する可能性がある。
また、入力データ提供者が推論モデル提供者の推論モデルデータを利用してクラウド上で推論処理を行うサービスには次のような要件がある。
入力データ提供者と推論モデル提供者が入力データと推論モデルデータを共に秘匿したままクラウドに推論処理を委託することを想定する。その場合、入力データが入力データ提供者の暗号化鍵で暗号化されていて、且つ、推論モデルデータが推論モデル提供者の暗号化鍵で暗号化されている必要がある。
特許文献1は、入力データと推論モデルデータを共に暗号化したままでの畳み込みニューラルネットワークの推論処理を開示している。
非特許文献1の方法は、複数鍵準同型暗号と呼ばれる暗号技術を利用することで、入力データが入力データ提供者の暗号化鍵で暗号化されたまま、且つ、推論モデルデータが推論モデル提供者の暗号化鍵で暗号化されたまま、推論処理を実現する。
複数鍵準同型暗号は、準同型暗号方式の一種であり、異なる暗号化鍵で暗号化されている複数の暗号文を復号することなく複数の暗号文に対して演算を施すことができる。
但し、非特許文献1の方法によって実現される推論処理は、畳み込みニューラルネットワークの推論処理である。
本開示は、入力データと推論モデルデータとを共に暗号化したままで再帰的ニューラルネットワークの推論処理を実現できるようにすることを目的とする。
本開示の秘匿情報処理システムは、
第1行列と第2行列を連結して得らえる推論モデルデータを暗号化して得られるモデル暗号文を、前記第1行列の暗号文に相当する推論用暗号文と、前記第2行列の暗号文に相当する計算用暗号文と、に分割するモデル分割部と、
前記計算用暗号文と、入力データを暗号化して得られるデータ暗号文と、を復号せずに、準同型演算アルゴリズムによって、前記第1行列と前記入力データを表すベクトルの積の暗号文に相当する事前結果暗号文を生成する事前計算部と、
前記事前結果暗号文と前記推論用暗号文とを復号せずに用いて、準同型演算アルゴリズムによって、前記入力データに対する推論結果の暗号文である推論結果暗号文を生成する準同型推論部と、
前記モデル暗号文のための秘密鍵であるモデル用秘密鍵を用いて、前記推論結果暗号文に対する部分復号を行って、部分復号結果を生成する部分復号部と、
前記データ暗号文のための秘密鍵であるデータ用秘密鍵を用いて、前記部分復号結果から前記入力データに対する前記推論結果を復号する最終復号部と、を備える。
本開示によれば、入力データと推論モデルデータとを共に暗号化したままで再帰的ニューラルネットワークの推論処理を実現することができる。
実施の形態1における秘匿情報処理システム100の構成図。 実施の形態1における鍵生成装置200の構成図。 実施の形態1におけるデータ暗号化装置300の構成図。 実施の形態1におけるモデル暗号化装置400の構成図。 実施の形態1における準同型推論装置500の構成図。 実施の形態1における部分復号装置600の構成図。 実施の形態1における最終復号装置700の構成図。 実施の形態1におけるデータ用鍵ペアの管理の手順を示すフローチャート。 実施の形態1におけるモデル用鍵ペアの管理の手順を示すフローチャート。 実施の形態1における事前計算の手順を示すフローチャート。 実施の形態1における準同型推論の手順を示すフローチャート。 実施の形態1における推論結果暗号文の復号の手順を示すフローチャート。 実施の形態1における秘匿情報処理システム100の各装置のハードウェア構成を説明するための図。
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
秘匿情報処理システム100について、図1から図13に基づいて説明する。
***構成の説明***
図1に基づいて、秘匿情報処理システム100の構成を説明する。
秘匿情報処理システム100は、鍵生成装置200と、データ暗号化装置300と、モデル暗号化装置400と、準同型推論装置500と、部分復号装置600と、最終復号装置700と、を備える。これらの装置は、ネットワーク101に接続され、ネットワーク101を介して互いに通信する。ネットワーク101の具体例はインターネットである。
図2に基づいて、鍵生成装置200の構成を説明する。
鍵生成装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201は、CPU、DSPまたはGPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
DSPは、Digital Signal Processorの略称である。
GPUは、Graphics Processing Unitの略称である。
メモリ202は揮発性または不揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
RAMは、Random Access Memoryの略称である。
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
通信装置204はレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。鍵生成装置200の通信は通信装置204を用いて行われる。
NICは、Network Interface Cardの略称である。
入出力インタフェース205は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース205はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。鍵生成装置200の入出力は入出力インタフェース205を用いて行われる。
USBは、Universal Serial Busの略称である。
鍵生成装置200は、受付部210と鍵生成部220と出力部230といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置203には、受付部210と鍵生成部220と出力部230としてコンピュータを機能させるための鍵生成プログラムが記憶されている。鍵生成プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、鍵生成プログラムを実行する。
OSは、Operating Systemの略称である。
鍵生成プログラムの入出力データは記憶部290に記憶される。
メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの他の記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
鍵生成装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。
鍵生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図3に基づいて、データ暗号化装置300の構成を説明する。
データ暗号化装置300は、プロセッサ301とメモリ302と補助記憶装置303と通信装置304と入出力インタフェース305といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。これらのハードウェアは、鍵生成装置200のハードウェアに対応する。
データ暗号化装置300は、受付部310と公開鍵保管部320とデータ暗号化部330と出力部340といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置303には、受付部310と公開鍵保管部320とデータ暗号化部330と出力部340としてコンピュータを機能させるためのデータ暗号化プログラムが記憶されている。データ暗号化プログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
データ暗号化プログラムの入出力データは記憶部390に記憶される。
メモリ302は記憶部390として機能する。但し、データ暗号化装置300の他の記憶装置が、メモリ302の代わりに、又は、メモリ302と共に、記憶部390として機能してもよい。
データ暗号化装置300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。
データ暗号化プログラムは、不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図4に基づいて、モデル暗号化装置400の構成を説明する。
モデル暗号化装置400は、プロセッサ401とメモリ402と補助記憶装置403と通信装置404と入出力インタフェース405といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。これらのハードウェアは、鍵生成装置200のハードウェアに対応する。
モデル暗号化装置400は、受付部410公開鍵保管部420とモデル暗号化部430と出力部440といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置403には、受付部410と公開鍵保管部420とモデル暗号化部430と出力部440としてコンピュータを機能させるためのモデル暗号化プログラムが記憶されている。モデル暗号化プログラムは、メモリ402にロードされて、プロセッサ401によって実行される。
モデル暗号化プログラムの入出力データは記憶部490に記憶される。
メモリ402は記憶部490として機能する。但し、モデル暗号化装置400の他の記憶装置が、メモリ402の代わりに、又は、メモリ402と共に、記憶部490として機能してもよい。
モデル暗号化装置400は、プロセッサ401を代替する複数のプロセッサを備えてもよい。
モデル暗号化プログラムは、不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図5に基づいて、準同型推論装置500の構成を説明する。
準同型推論装置500は、プロセッサ501とメモリ502と補助記憶装置503と通信装置504と入出力インタフェース505といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。これらのハードウェアは、鍵生成装置200のハードウェアに対応する。
準同型推論装置500は、受付部510と公開鍵保管部521と暗号文保管部522とモデル分割部530と事前計算部541と事前結果保管部542と準同型推論部551と暗号文保管部552と出力部560といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置503には、受付部510と公開鍵保管部521と暗号文保管部522とモデル分割部530と事前計算部541と事前結果保管部542と準同型推論部551と暗号文保管部552と出力部560としてコンピュータを機能させるための準同型推論プログラムが記憶されている。準同型推論プログラムは、メモリ502にロードされて、プロセッサ501によって実行される。
準同型推論プログラムの入出力データは記憶部590に記憶される。
メモリ502は記憶部590として機能する。但し、準同型推論装置500の他の記憶装置が、メモリ502の代わりに、又は、メモリ502と共に、記憶部590として機能してもよい。
準同型推論装置500は、プロセッサ501を代替する複数のプロセッサを備えてもよい。
準同型推論プログラムは、不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図6に基づいて、部分復号装置600の構成を説明する。
部分復号装置600は、プロセッサ601とメモリ602と補助記憶装置603と通信装置604と入出力インタフェース605といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。これらのハードウェアは、鍵生成装置200のハードウェアに対応する。
部分復号装置600は、受付部610と秘密鍵保管部620と部分復号部630と出力部640といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置603には、受付部610と秘密鍵保管部620と部分復号部630と出力部640としてコンピュータを機能させるための部分復号プログラムが記憶されている。部分復号プログラムは、メモリ602にロードされて、プロセッサ601によって実行される。
部分復号プログラムの入出力データは記憶部690に記憶される。
メモリ602は記憶部690として機能する。但し、部分復号装置600の他の記憶装置が、メモリ602の代わりに、又は、メモリ602と共に、記憶部690として機能してもよい。
部分復号装置600は、プロセッサ601を代替する複数のプロセッサを備えてもよい。
部分復号プログラムは、不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図7に基づいて、最終復号装置700の構成を説明する。
最終復号装置700は、プロセッサ701とメモリ702と補助記憶装置703と通信装置704と入出力インタフェース705といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。これらのハードウェアは、鍵生成装置200のハードウェアに対応する。
最終復号装置700は、受付部710と秘密鍵保管部720と最終復号部730と推論結果保管部740と出力部750といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置703には、受付部710と秘密鍵保管部720と最終復号部730と推論結果保管部740と出力部750としてコンピュータを機能させるための最終復号プログラムが記憶されている。最終復号プログラムは、メモリ702にロードされて、プロセッサ701によって実行される。
最終復号プログラムの入出力データは記憶部790に記憶される。
メモリ702は記憶部790として機能する。但し、最終復号装置700の他の記憶装置が、メモリ702の代わりに、又は、メモリ702と共に、記憶部790として機能してもよい。
最終復号装置700は、プロセッサ701を代替する複数のプロセッサを備えてもよい。
最終復号プログラムは、不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
秘匿情報処理システム100の動作の手順は秘匿情報処理方法に相当する。また、秘匿情報処理システム100の動作の手順は秘匿情報処理プログラムによる処理の手順に相当する。
図8に基づいて、データ用鍵ペアの管理について説明する。
データ用鍵ペアは、後述する入力データdのための鍵ペアであり、データ用公開鍵とデータ用秘密鍵とで構成される。
データ用公開鍵は、入力データdを暗号化するための公開鍵である。
データ用秘密鍵は、データ用公開鍵に対応する秘密鍵である。データ用秘密鍵により、入力データdの暗号文を復号することができる。暗号文は、暗号化によって得られるデータである。
ステップS101からステップS104は、鍵生成装置200によって実行される。
ステップS101において、受付部210は、パラメータλを受け付ける。
パラメータλは、データ用鍵ペアのための鍵生成パラメータである。例えば、パラメータλは、利用者によって鍵生成装置200に入力される。
ステップS102において、鍵生成部220は、パラメータλを入力として鍵生成アルゴリズムを実行する。これにより、公開鍵PKおよび秘密鍵SKが生成される。
公開鍵PKはデータ用公開鍵であり、秘密鍵SKはデータ用秘密鍵である。
例えば、以下の文献(1)に記載された鍵生成アルゴリズムが使用される。
文献(1):H. Chen, I. Chillotti, Y. Song. “Multi-key Homomorphic Encryption from TFHE”. In ASIACRYPT, pages 446-472, 2019.
ステップS103において、出力部230は、データ暗号化装置300と準同型推論装置500とのそれぞれに公開鍵PKを送信する。
ステップS104において、出力部230は、最終復号装置700に秘密鍵SKを送信する。
ステップS111およびステップS112は、データ暗号化装置300によって実行される。
ステップS111において、受付部310は、公開鍵PKを受信する。
ステップS112において、公開鍵保管部320は、公開鍵PKを記憶部290に保管する。
ステップS121およびステップS122は、準同型推論装置500によって実行される。
ステップS121において、受付部510は、公開鍵PKを受信する。
ステップS122において、公開鍵保管部521は、公開鍵PKを記憶部590に保管する。
ステップS131およびステップS132は、最終復号装置700によって実行される。
ステップS131において、受付部710は、秘密鍵SKを受信する。
ステップS132において、秘密鍵保管部720は、秘密鍵SKを記憶部790に保管する。なお、秘密鍵SKは外部に漏れないように厳重に保管される。
図9に基づいて、モデル用鍵ペアの管理について説明する。
モデル用鍵ペアは、後述する推論モデルデータMのための鍵ペアであり、モデル用公開鍵とモデル用秘密鍵とで構成される。
モデル用公開鍵は、推論モデルデータMを暗号化するための公開鍵である。
モデル用秘密鍵は、モデル用公開鍵に対応する秘密鍵である。モデル用秘密鍵により、推論モデルデータMの暗号文を復号することができる。
ステップS201からステップS204は、鍵生成装置200によって実行される。
ステップS201において、受付部210は、パラメータλを受け付ける。
パラメータλは、モデル用鍵ペアのための鍵生成パラメータである。例えば、パラメータλは、利用者によって鍵生成装置200に入力される。
ステップS202において、鍵生成部220は、パラメータλを入力として鍵生成アルゴリズムを実行する。これにより、公開鍵PKおよび秘密鍵SKが生成される。
公開鍵PKはモデル用公開鍵であり、秘密鍵SKはモデル用秘密鍵である。
例えば、上記文献(1)に記載された鍵生成アルゴリズムが使用される。
ステップS203において、出力部230は、モデル暗号化装置400と準同型推論装置500とのそれぞれに公開鍵PKを送信する。
ステップS204において、出力部230は、部分復号装置600に秘密鍵SKを送信する。
ステップS211およびステップS212は、モデル暗号化装置400によって実行される。
ステップS211において、受付部410は、公開鍵PKを受信する。
ステップS212において、公開鍵保管部420は、公開鍵PKを記憶部490に保管する。
ステップS221およびステップS222は、準同型推論装置500によって実行される。
ステップS221において、受付部510は、公開鍵PKを受信する。
ステップS222において、公開鍵保管部521は、公開鍵PKを記憶部590に保管する。
ステップS231およびステップS232は、部分復号装置600によって実行される。
ステップS231において、受付部610は、秘密鍵SKを受信する。
ステップS232において、秘密鍵保管部620は、秘密鍵SKを記憶部690に保管する。なお、秘密鍵SKは外部に漏れないように厳重に保管される。
図10に基づいて、推論結果の暗号文を得るための事前計算について説明する。
ステップS301からステップS303は、データ暗号化装置300によって実行される。
ステップS301において、受付部310は、入力データdを受け付ける。
入力データdは、時刻tの入力データである。「t」は1以上の整数(自然数)である。
入力データは、n個の浮動小数点数から成るベクトルで表される。「n」は1以上の整数である。
例えば、受付部310は、工場に設けられた各種センサによって時刻tに得られた計測値(浮動小数点数)を各種センサから収集する。収集された計測値が入力データdとなる。
ステップS302において、データ暗号化部330は入力データdを暗号化する。具体的には、データ暗号化部330は、公開鍵PKを用いて入力データdに対して暗号化アルゴリズムを実行する。これにより、データ暗号文C(d)が生成される。
データ暗号文C(d)は、暗号化された入力データd、すなわち、入力データdの暗号文である。
例えば、上記文献(1)に記載された暗号化アルゴリズムによって、入力データdの各要素が暗号化される。
ステップS303において、出力部340は、データ暗号文C(d)を準同型推論装置500に送信する。
ステップS311からステップS313は、モデル暗号化装置400によって実行される。
ステップS311において、受付部410は、推論モデルデータMを受け付ける。例えば、推論モデルデータMは、利用者によってモデル暗号化装置400に入力される。但し、推論モデルデータMは、記憶部490に予め記憶されてもよい。
ステップS312において、モデル暗号化部430は推論モデルデータMを暗号化する。具体的には、モデル暗号化部430は、公開鍵PKを用いて推論モデルデータMに対して暗号化アルゴリズムを実行する。これにより、モデル暗号文C(M)が生成される。
モデル暗号文C(M)は、暗号化された推論モデルデータM、すなわち、推論モデルデータMの暗号文である。
例えば、上記文献(1)に記載された暗号化アルゴリズムが使用される。
推論モデルデータMについて説明する。
推論モデルデータMは、推論モデル(M)のためのデータである。推論モデル(M)は、推論処理のための機械学習モデルであり、再帰的ニューラルネットワークで表される。具体的な再帰的ニューラルネットワークは「LSTM」である。
LSTMは、Long Short-term Memoryの略称である。
推論モデルデータMは、k×(n+m)の要素を持つ行列である。各要素は浮動小数点数である。
「k」は、1以上の整数である。
「n」は、1以上の整数である(前述の通り)。
「m」は、1以上の整数である。
推論モデルデータMに対して、M=[M’||M’’]が成り立つ。
「M’」は、k×nの要素を持つ行列である。各要素は浮動小数点数である。
「M’’」は、k×mの要素を持つ行列である。各要素は浮動小数点数である。
[M’||M’’]は、行列M’と行列M’’を連結して得られる行列を意味する。
推論モデルデータMを用いた推論処理は式(1)で表される。
Figure 0007205016000001
「Dt-1」は、時刻t-1における推論結果であり、n個の浮動小数点数から成るベクトルで表される。
「d」は、時刻tにおける入力データであり、n個の浮動小数点数から成るベクトルで表される。
「・」は、行列とベクトルの掛け算を表す。
「+」は、ベクトル同士の足し算を表す。
ステップS313から説明を続ける。
ステップS313において、出力部440は、モデル暗号文C(M)を準同型推論装置500に送信する。
ステップS321からステップS326は、準同型推論装置500によって実行される。
ステップS321において、受付部510は、データ暗号文C(d)を受信する。
そして、暗号文保管部522は、データ暗号文C(d)を記憶部590に保管する。
ステップS322において、受付部510は、モデル暗号文C(M)を受信する。
そして、暗号文保管部522は、モデル暗号文C(M)を記憶部590に保管する。
以下、モデル暗号文を「C(M)」または「W」で表す。
モデル暗号文Wは式(2)で表すことができる。
Figure 0007205016000002
「W’」は、推論用暗号文を表す。推論用暗号文W’は、推論モデルデータMの暗号化に用いられる暗号化アルゴリズムによって暗号化された行列M’、すなわち、行列M’の暗号文に相当する。つまり、推論用暗号文W’は、k×nの暗号化された要素を持つ行列である。
「W’’」は、計算用暗号文を表す。計算用暗号文W’’は、推論モデルデータMの暗号化に用いられる暗号化アルゴリズムによって暗号化された行列M’’、すなわち、行列M’’の暗号文に相当する。つまり、計算用暗号文W’’は、k×mの暗号化された要素を持つ行列である。
ステップS324において、モデル分割部530は、モデル暗号文Wを推論用暗号文W’と計算用暗号文W’’とに分割する。
ステップS325において、事前計算部541は、データ暗号文C(d)と計算用暗号文W’’を用いて、事前計算を実行する。
具体的には、事前計算部541は、計算用暗号文W’’とデータ暗号文C(d)とを復号せずに、事前結果暗号文C(D’’)を生成する。
事前結果暗号文C(D’’)は、行列M’’と入力データdを表すベクトルとの積を暗号化して得られる暗号文に相当する。
事前結果暗号文C(D’’)は、準同型演算アルゴリズムによって算出される。
準同型演算アルゴリズムは、準同型暗号(特に、複数鍵準同型暗号)のアルゴリズムである。
例えば、上記文献(1)に記載された準同型演算アルゴリズムが使用される。
ステップS326において、事前結果保管部542は、事前結果暗号文C(D’’)を記憶部590に保管する。
図11に基づいて、準同型推論について説明する。
ステップS401からステップS403は、準同型推論装置500によって実行される。
ステップS401において、モデル分割部530は、モデル暗号文Wを推論用暗号文W’と計算用暗号文W’’とに分割する。
ステップS402において、準同型推論部551は、前回結果暗号文C(Dt-1)と推論用暗号文W’を用いて、中間推論処理を実行する。
前回結果暗号文C(Dt-1)は、前回の入力データdt-1に対する暗号化された推論結果、すなわち、前回の推論結果の暗号文である。
具体的には、準同型推論部551は、前回結果暗号文C(Dt-1)と推論用暗号文W’とを復号せずに用いて、中間結果暗号文C(Dt-1’)を生成する。
中間結果暗号文C(Dt-1’)は、行列M’と前回の入力データdt-1に対する推論結果を表すベクトルとの積を暗号化して得られる暗号文に相当する。
中間結果暗号文C(Dt-1’)は、準同型演算アルゴリズムによって算出される。
例えば、上記文献(1)に記載された準同型演算アルゴリズムが使用される。
ステップS403において、準同型推論部551は、中間結果暗号文C(Dt-1’)と事前結果暗号文C(D’’)を用いて、最終推論処理を実行する。
具体的には、準同型推論部551は、中間結果暗号文C(Dt-1’)と事前結果暗号文C(D’’)とを復号せずに用いて、推論結果暗号文C(D)を生成する。
推論結果暗号文C(D)は、今回の入力データdに対する暗号化された推論結果、すなわち、今回の推論結果の暗号文である。
推論結果暗号文C(D)は、中間結果暗号文C(Dt-1’)を復号して得られるベクトルと事前結果暗号文C(D’’)を復号して得られるベクトルとの足し算の結果を暗号化して得られる暗号文に相当する。
推論結果暗号文C(D)は、準同型演算アルゴリズムによって算出される。
例えば、上記文献(1)に記載された準同型演算アルゴリズムが使用される。
ステップS404において、暗号文保管部552は、推論結果暗号文C(D)を記憶部590に保管する。
図12に基づいて、推論結果暗号文C(D)の復号について説明する。
ステップS501およびステップS502は、準同型推論装置500によって実行される。
ステップS501において、出力部560は、推論結果暗号文C(D)を記憶部590から取得する。
ステップS502において、出力部560は、推論結果暗号文C(D)を部分復号装置600と最終復号装置700とのそれぞれに送信する。
ステップS511からステップS513は、部分復号装置600によって実行される。
ステップS511において、受付部610は、推論結果暗号文C(D)を受信する。
ステップS512において、部分復号部630は、秘密鍵SKを用いて推論結果暗号文C(D)に対して部分復号を行う。これにより、部分復号結果C(D2,t)が生成される。
具体的には、部分復号部630は、式(3)を計算することによって、部分復号結果C(D2,t)の各要素d’2,tを算出する。
つまり、部分復号部630は、推論結果暗号文C(D)の要素であるベクトルと秘密鍵SKを表すベクトルとの内積を算出し、算出した内積と確率分布から選択される値との足し算の結果を算出する。算出される結果が部分復号結果C(D2,t)の各要素d’2,tとなる。
Figure 0007205016000003
「c」は、推論結果暗号文C(D)の一つの要素を構成するベクトルを表す。推論結果暗号文C(D)はベクトルまたは行列である。推論結果暗号文C(D)を表すベクトルまたは行列は、例えば、上記文献(1)に記載された暗号方式の暗号文を要素として持つ。
「X」は、特定の確率分布を表す。例えば、確率分布Xは、0,1/232,・・・,(232-1)/232を値としてとる離散正規分布である。
「e」は、確率分布Xに沿って選ばれた値を表す。
<c,SK>は、ベクトルCと秘密鍵SKを表すベクトルの内積を表す。
ステップS513において、出力部640は、部分復号結果C(D2,t)を最終復号装置700に送信する。
ステップS521からステップS524は、最終復号装置700によって実行される。
ステップS521において、受付部710は、推論結果暗号文C(D)を受信する。
ステップS522において、受付部710は、部分復号結果C(D2,t)を受信する。
ステップS523において、最終復号部730は、秘密鍵SKを用いて、推論結果暗号文C(D)と部分復号結果C(D2,t)とから、推論結果データDを復号する。
具体的には、最終復号部730は、式(4)を計算することによって、推論結果データDの各要素d’を算出する。
つまり、最終復号部730は、推論結果暗号文C(D)の要素であるベクトルと秘密鍵SKを表すベクトルとの内積を算出し、算出した内積と部分復号結果C(D2,t)の要素との足し算によって得られる和を算出し、算出した和に基づいて推論結果データDの各要素d’を決定する。
Figure 0007205016000004
<c,SK>は、ベクトルCと秘密鍵SKを表すベクトルの内積を表す。
[A]1/4は、値Aが1/4に近ければ1を表し、値Aが1/4に近くなければ0を表す。具体的には、[A]1/4は、値Aと1/4の差が閾値より小さければ1を表し、値Aと1/4の差が閾値より大きければ0を表す。また、[A]1/4は、値Aが1/4の差が閾値と等しければ1または0を表す。
ステップS524において、推論結果保管部740は、推論結果データDを記憶部790に保管する。
また、出力部750は、推論結果データDを出力する。例えば、出力部750は、推論結果データDをディスプレイに表示する。
***実施の形態1の効果***
秘匿情報処理システム100は、入力データを暗号化したまま、再帰的ニューラルネットワークによる推論処理を実行できる。そのため、秘匿情報処理システム100により、データ提供者のプライバシーを保護したまま、推論処理をクラウドに委託することができる。
秘匿情報処理システム100は、推論モデルデータを暗号化したまま、再帰的ニューラルネットワークによる推論処理を実行できる。そのため、秘匿情報処理システム100により、モデル提供者のプライバシーを保護したまま、推論処理をクラウドに委託することができる。
秘匿情報処理システム100は、再帰的ニューラルネットワークにおける時刻tの推論処理を実行する前に、時刻tの推論処理において時刻t-1の推論結果データに依存しない処理(事前処理)を実行することができる。
入力データと推論モデルデータとを暗号化したまま推論処理を実行するためには、複数鍵準同型暗号の性質により、暗号文拡大処理を行う必要がある。複数鍵準同型暗号は、上記文献(1)に記載された準同型暗号方式である。暗号文拡大処理は、例えば、秘密鍵SKで復号できる暗号文を秘密鍵SKと秘密鍵SKの両方を用いることで復号できる暗号文に変換する処理である。
暗号文拡大処理を事前計算処理として実行することで、実際の推論処理時に暗号文拡大処理などによる計算オーバヘッドを削減することができる。つまり、入力データと推論モデルデータを暗号化したままでの再帰的ニューラルネットワークの推論処理を効率的に実現できる。
***実施の形態1の補足***
秘匿情報処理システム100に備わる複数の装置のうち2つ以上の装置を1つの装置にまとめてもよい。例えば、データ暗号化装置300とモデル暗号化装置400を1つの装置にまとめてもよいし、部分復号装置600と最終復号装置700を1つの装置にまとめてもよい。
装置間のデータの送受信は、データの郵送または利用者によるデータの入出力に置き換えてもよい。
図13に基づいて、鍵生成装置200のハードウェア構成を説明する。
鍵生成装置200は処理回路209を備える。
処理回路209は、鍵生成装置200の要素を実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
処理回路209が専用のハードウェアである場合、処理回路209は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
鍵生成装置200は、処理回路209を代替する複数の処理回路を備えてもよい。
処理回路209において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、鍵生成装置200の機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
データ暗号化装置300、モデル暗号化装置400、準同型推論装置500、部分復号装置600および最終復号装置700のハードウェア構成は、鍵生成装置200のハードウェア構成と同様である。
実施の形態1は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。実施の形態1は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
秘匿情報処理システム100の各装置の要素である「部」は、「処理」、「工程」、「回路」または「サーキットリ」と読み替えてもよい。
100 秘匿情報処理システム、101 ネットワーク、200 鍵生成装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 通信装置、205 入出力インタフェース、209 処理回路、210 受付部、220 鍵生成部、230 出力部、290 記憶部、300 データ暗号化装置、301 プロセッサ、302 メモリ、303 補助記憶装置、304 通信装置、305 入出力インタフェース、310 受付部、320 公開鍵保管部、330 データ暗号化部、340 出力部、390 記憶部、400 モデル暗号化装置、401 プロセッサ、402 メモリ、403 補助記憶装置、404 通信装置、405 入出力インタフェース、410 受付部、420 公開鍵保管部、430 モデル暗号化部、440 出力部、490 記憶部、500 準同型推論装置、501 プロセッサ、502 メモリ、503 補助記憶装置、504 通信装置、505 入出力インタフェース、510 受付部、521 公開鍵保管部、522 暗号文保管部、530 モデル分割部、541 事前計算部、542 事前結果保管部、551 準同型推論部、552 暗号文保管部、560 出力部、590 記憶部、600 部分復号装置、601 プロセッサ、602 メモリ、603 補助記憶装置、604 通信装置、605 入出力インタフェース、610 受付部、620 秘密鍵保管部、630 部分復号部、640 出力部、690 記憶部、700 最終復号装置、701 プロセッサ、702 メモリ、703 補助記憶装置、704 通信装置、705 入出力インタフェース、710 受付部、720 秘密鍵保管部、730 最終復号部、740 推論結果保管部、750 出力部、790 記憶部。

Claims (14)

  1. 第1行列と第2行列を連結して得らえる推論モデルデータを暗号化して得られるモデル暗号文を、前記第1行列の暗号文に相当する推論用暗号文と、前記第2行列の暗号文に相当する計算用暗号文と、に分割するモデル分割部と、
    前記計算用暗号文と、入力データを暗号化して得られるデータ暗号文と、を復号せずに、準同型演算アルゴリズムによって、前記第1行列と前記入力データを表すベクトルの積の暗号文に相当する事前結果暗号文を生成する事前計算部と、
    前記事前結果暗号文と前記推論用暗号文とを復号せずに用いて、準同型演算アルゴリズムによって、前記入力データに対する推論結果の暗号文である推論結果暗号文を生成する準同型推論部と、
    前記モデル暗号文のための秘密鍵であるモデル用秘密鍵を用いて、前記推論結果暗号文に対して部分復号を行って、部分復号結果を生成する部分復号部と、
    前記データ暗号文のための秘密鍵であるデータ用秘密鍵を用いて、前記部分復号結果から前記入力データに対する前記推論結果を復号する最終復号部と、
    を備える秘匿情報処理システム。
  2. 前記準同型推論部は、前記事前結果暗号文と、前記推論用暗号文と、前回の入力データに対する推論結果の暗号文である前回結果暗号文と、を復号せずに用いて、前記推論結果暗号文を生成する
    請求項1に記載の秘匿情報処理システム。
  3. 前記準同型推論部は、
    前記推論用暗号文と前記前回結果暗号文とを復号せずに用いて、準同型演算アルゴリズムによって、前記第1行列と前記前回の入力データに対する前記推論結果を表すベクトルの積の暗号文に相当する中間結果暗号文を生成し、
    前記中間結果暗号文と前記事前結果暗号文とを復号せずに用いて、準同型演算アルゴリズムによって、前記中間結果暗号文を復号して得られるベクトルと前記事前結果暗号文を復号して得られるベクトルとの足し算の結果の暗号文を前記推論結果暗号文として生成する
    請求項2に記載の秘匿情報処理システム。
  4. 前記部分復号部は、前記推論結果暗号文の要素であるベクトルと前記モデル用秘密鍵を表すベクトルとの内積と、確率分布から選択される値との足し算の結果を、前記部分復号結果の要素として算出する
    請求項1から請求項3のいずれか1項に記載の秘匿情報処理システム。
  5. 前記最終復号部は、前記データ用秘密鍵を用いて、前記推論結果暗号文と前記部分復号結果とから、前記入力データに対する前記推論結果を復号する
    請求項1から請求項4のいずれか1項に記載の秘匿情報処理システム。
  6. 前記最終復号部は、前記推論結果暗号文の要素であるベクトルと前記データ用秘密鍵を表すベクトルとの内積と、前記部分復号結果の要素との足し算によって得られる和に基づいて、前記推論結果の要素を決定する
    請求項5に記載の秘匿情報処理システム。
  7. 前記最終復号部は、前記和と1/4の差に基づいて前記推論結果の前記要素を決定する
    請求項6に記載の秘匿情報処理システム。
  8. 前記最終復号部は、前記差が閾値より小さい場合に前記推論結果の前記要素を1に決定し、前記差が前記閾値より大きい場合に前記推論結果の前記要素を0に決定する
    請求項7に記載の秘匿情報処理システム。
  9. 前記モデル分割部と前記事前計算部と前記準同型推論部とを備える準同型推論装置と、
    前記部分復号部を備える部分復号装置と、
    前記最終復号部を備える最終復号装置700と、を備える
    請求項1から請求項8のいずれか1項に記載の秘匿情報処理システム。
  10. 前記入力データのための公開鍵であるデータ用公開鍵を用いて前記入力データを暗号化して前記データ暗号文を生成するデータ暗号化部と、
    前記推論モデルデータのための公開鍵であるモデル用公開鍵を用いて前記推論モデルデータを暗号化して前記モデル暗号文を生成するモデル暗号化部と、を備える
    請求項1から請求項9のいずれか1項に記載の秘匿情報処理システム。
  11. 前記データ暗号化部を備えるデータ暗号化装置と、
    前記モデル暗号化部を備えるモデル暗号化装置と、を備える
    請求項10に記載の秘匿情報処理システム。
  12. 前記データ用公開鍵と前記データ用秘密鍵の組と、前記モデル用公開鍵と前記モデル用秘密鍵の組と、を生成する鍵生成部を備える
    請求項10または請求項11に記載の秘匿情報処理システム。
  13. 前記鍵生成部を備える鍵生成装置を備える
    請求項12に記載の秘匿情報処理システム。
  14. モデル分割部が、第1行列と第2行列を連結して得らえる推論モデルデータを暗号化して得られるモデル暗号文を、前記第1行列の暗号文に相当する推論用暗号文と、前記第2行列の暗号文に相当する計算用暗号文と、に分割し、
    事前計算部が、前記計算用暗号文と、入力データを暗号化して得られるデータ暗号文と、を復号せずに、準同型演算アルゴリズムによって、前記第1行列と前記入力データを表すベクトルの積の暗号文に相当する事前結果暗号文を生成し、
    準同型推論部が、前記事前結果暗号文と、前記推論用暗号文と、前回の入力データに対する推論結果の暗号文である前回結果暗号文と、を復号せずに用いて、準同型演算アルゴリズムによって、前記入力データに対する推論結果の暗号文である推論結果暗号文を生成し、
    部分復号部が、前記モデル暗号文のための秘密鍵であるモデル用秘密鍵を用いて、前記推論結果暗号文に対する部分復号を行って、部分復号結果を生成し、
    最終復号部が、前記データ暗号文のための秘密鍵であるデータ用秘密鍵を用いて、前記部分復号結果から前記入力データに対する前記推論結果を復号する
    秘匿情報処理方法。
JP2022568484A 2020-12-24 2020-12-24 秘匿情報処理システムおよび秘匿情報処理方法 Active JP7205016B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/048498 WO2022137447A1 (ja) 2020-12-24 2020-12-24 秘匿情報処理システムおよび秘匿情報処理方法

Publications (2)

Publication Number Publication Date
JPWO2022137447A1 JPWO2022137447A1 (ja) 2022-06-30
JP7205016B2 true JP7205016B2 (ja) 2023-01-16

Family

ID=82159279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022568484A Active JP7205016B2 (ja) 2020-12-24 2020-12-24 秘匿情報処理システムおよび秘匿情報処理方法

Country Status (5)

Country Link
US (1) US20230269068A1 (ja)
JP (1) JP7205016B2 (ja)
CN (1) CN116601691A (ja)
DE (1) DE112020007702T5 (ja)
WO (1) WO2022137447A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7440149B1 (ja) 2023-08-21 2024-02-28 Eaglys株式会社 データ生成方法、データ生成プログラム、およびデータ生成システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350648A1 (en) 2014-11-07 2016-12-01 Microsoft Technology Licensing, Llc. Neural networks for encrypted data
JP2019046460A (ja) 2017-08-30 2019-03-22 株式会社アクセル 推論装置、及び推論方法
WO2019102624A1 (ja) 2017-11-27 2019-05-31 三菱電機株式会社 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム
JP2019113665A (ja) 2017-12-22 2019-07-11 株式会社アクセル 撮像モジュール、画像処理デバイス、画像処理方法、および画像処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350648A1 (en) 2014-11-07 2016-12-01 Microsoft Technology Licensing, Llc. Neural networks for encrypted data
JP2019046460A (ja) 2017-08-30 2019-03-22 株式会社アクセル 推論装置、及び推論方法
WO2019102624A1 (ja) 2017-11-27 2019-05-31 三菱電機株式会社 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム
JP2019113665A (ja) 2017-12-22 2019-07-11 株式会社アクセル 撮像モジュール、画像処理デバイス、画像処理方法、および画像処理プログラム

Also Published As

Publication number Publication date
WO2022137447A1 (ja) 2022-06-30
US20230269068A1 (en) 2023-08-24
DE112020007702T5 (de) 2023-08-10
CN116601691A (zh) 2023-08-15
JPWO2022137447A1 (ja) 2022-06-30

Similar Documents

Publication Publication Date Title
US9166785B2 (en) Cryptography processing device and cryptography processing method
EP2924911B1 (en) Secure pattern matching using somewhat homomorphic encryption
JP5167348B2 (ja) ソフトウェア暗号化方法およびソフトウェア暗号解読方法およびソフトウェア暗号化装置およびソフトウェア暗号解読装置
US11522671B2 (en) Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
EP2884690A1 (en) Re-encryption key generation device, re-encryption device, encryption device, decryption device, and program
JP5762232B2 (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
WO2019130528A1 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
EP3364398B1 (en) Secret random number synthesizing device, secret random number synthesizing method, and program
EP3573039B1 (en) Secure computing system, secure computing device, secure computing method, and program
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP7205016B2 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
US11909873B2 (en) Decryption device, cryptographic system, and decryption method
US11200346B2 (en) Secure computation for reading multiple elements from a secure text array
EP3767874B1 (en) Decrypting device, encrypting device, and encryption system
EP3648395A1 (en) Encryption device, decryption device, encryption method, encryption program, decryption method and decryption program
KR20240004830A (ko) 완전 동형 암호화에서 사용하기 위한 블라인드 회전
US20230132163A1 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
CN117242740A (zh) 密文转换系统、转换密钥生成方法以及转换密钥生成程序
US11811741B2 (en) Information processing system and information processing method
Liu et al. Secure Medical Data on Cloud storage via DNA Homomorphic Encryption technique
WO2024028961A1 (ja) 暗号システム、方法及びプログラム
CN116028969B (zh) 一种基于数据加密技术的隐私计算方法
JP5880173B2 (ja) 暗号処理方法、システム及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221109

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221228

R150 Certificate of patent or registration of utility model

Ref document number: 7205016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150