JP2019191575A - 準同型暗号を用いた処理動作の委託 - Google Patents

準同型暗号を用いた処理動作の委託 Download PDF

Info

Publication number
JP2019191575A
JP2019191575A JP2019072402A JP2019072402A JP2019191575A JP 2019191575 A JP2019191575 A JP 2019191575A JP 2019072402 A JP2019072402 A JP 2019072402A JP 2019072402 A JP2019072402 A JP 2019072402A JP 2019191575 A JP2019191575 A JP 2019191575A
Authority
JP
Japan
Prior art keywords
ciphertext
tee
decrypting
data
gpu
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.)
Pending
Application number
JP2019072402A
Other languages
English (en)
Inventor
マンダル・アブラディップ
Avradip Mandal
ロイ・アーナブ
Arnab Roy
モンゴメリー・ハート
Hart MONTGOMERY
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2019191575A publication Critical patent/JP2019191575A/ja
Pending legal-status Critical Current

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/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/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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】トラステッド実行環境(TEE)における演算を、機密性を保持しつつ、外部リソースに動作を委託する方法を提供する。【解決手段】トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成する(302)。次いで、第1の暗号文をグラフィックス処理ユニット(GPU)に伝達する(304)。次いで、前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成する(306)。更に、前記第2の暗号文を前記TEEに伝達し(308)、前記TEEにおいて、前記第2の暗号文を復号して、関数を算出する(310)。【選択図】図3

Description

本開示に記載の実施形態は、準同型暗号を用いて処理動作を委託することに関する。
プロセッサのセキュアな領域であるトラステッド実行環境(TEE)は、ユーザデータに対して動作(例えば演算)を実行している間であっても、ユーザデータの機密性等、セキュリティ保障を提供することができる。
本出願において特許請求される主題は、あらゆる欠点を解決する実施形態又は上記のような環境においてのみ動作する実施形態に限定されるものではない。そうではなく、この背景技術の記載は、本開示に記載のいくつかの実施形態が実施され得る1つの例示的な技術領域を示すために提供されているに過ぎない。
一実施形態の一態様に従うと、方法は、トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成するステップを含み得る。この方法はまた、前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達するステップを含み得る。さらに、この方法は、前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成するステップを含み得る。さらに、この方法は、前記第2の暗号文を前記TEEに伝達するステップを含み得る。さらに、この方法は、前記TEEにおいて、前記第2の暗号文を復号して、関数を生成するステップを含み得る。
実施形態の目的及び利点が、少なくとも請求項において特に示される要素、特徴、及び組み合わせにより、実現及び達成される。
前述の総括的な説明及び以下の詳細な説明の両方ともが、例示的で説明的なものであり、特許請求される発明を限定するものではない。
例示的な実施形態が、添付の図面を使用して、より具体的且つ詳細に記載及び説明される。
トラステッド実行環境を含む例示的なシステムを示す図。 動作を委託するどうかを決定する方法の例示的なフロー図。 暗号化を用いて動作を委託する方法の例示的なフロー図。 複数の処理ユニットにおいて動作を処理する例示的なタイミング図。 複数の処理ユニットを含む例示的なシステムを示す図。 例示的なコンピューティングシステムのブロック図。
本開示に記載の様々な実施形態は、暗号化(例えば準同型暗号)を用いて1つ以上の処理動作を委託することに関する。より詳細には、例えば、1つ以上の処理動作(例えばTEE演算)は、暗号化(例えば準同型暗号)を用いて、(例えば中央処理ユニット(CPU)の)TEEから別の処理ユニット(例えばグラフィックス処理ユニット(GPU))に委託され得る。
完全準同型暗号(FHE)は、処理動作(例えば演算)がメッセージの暗号文に対して実行されることを可能にし得る。さらに、FHEは、メッセージの復号及び復元を可能にし得る。FHEは、本質的に非効率的であり、実用的ではないと考えられ得る。「somewhat準同型暗号」(SHE)と呼ばれる、FHEの「より弱い」変形版は、準同型暗号を可能にするが、制限された又はより少ない動作(例えば演算)しか可能にしない。多くのインスタンスにおいて、SHEはFHEよりもはるかに速い。
TEEは、外部パーティによりアクセス、変更、又は調査され得ない、プロセッサ(例えばメインプロセッサ(例えば中央処理ユニット(CPU)))のセキュアな領域である。TEEは、様々な暗号動作の実行を可能にする。TEEは、比較的効率的である(例えば、平文での演算よりもわずかに遅い)。しかしながら、TEEは、比較的少量のメモリしかサポートせず、外部リソース(例えばGPU)の使用を可能にしないことがある。
GPUは、並列化及び/又は単一命令複数データ(SIMD)処理のために構成され得る。さらに、CPUと比較して、GPUは、低いクロック速度を有し得る。GPUは、元々は、グラフィックス処理のために設計されたのかもしれないが、より最近では、GPUは、より一般的な演算のために設計されている。
本開示の様々な実施形態において、SHEは、GPU等の外部リソースを使用して、TEEによるより効率的なセキュア演算を実現するために、TEE内で用いられ得る。例えば、少なくともいくつかの実施形態において、1つ以上のセキュア演算は、複数のSHE演算に分割され得、ここで、TEEが、セキュアに用いられ得る。
本出願において開示される様々な実施形態は、ソフトウェアFHE等の遅い暗号方式に訴えることなく、高コストの演算を効率的に実行するために、TEEの欠点のうちの一部を取り除くことができる。
したがって、本開示の様々な実施形態は、本開示においてより詳細に説明されるように、人間により合理的には行われ得ないテクノロジから生じる1つ以上の問題に対する技術的解決策を提供し、本出願において開示される様々な実施形態は、上述した問題及び/又は課題を克服するために、コンピュータテクノロジに根差している。さらに、本出願において開示される少なくともいくつかの実施形態は、コンピュータにより以前には実行できなかった機能のコンピュータ実行を可能にすることにより、コンピュータ関連テクノロジを向上させることができる。
本開示の実施形態が、添付の図面を参照しながら、これより説明される。
図1は、本開示の少なくとも1つの実施形態に従った例示的なシステム100を示している。システム100は、中央処理ユニット(CPU)102、TEE104、及び処理ユニット106を含む。少なくともいくつかの実施形態において、TEE104は、CPU102内に存在し得る。例えば、処理ユニット106は、グラフィックス処理ユニット(GPU)を含み得る。
少なくともいくつかの実施形態に従うと、TEE104は、入力(例えばメッセージ)を暗号化し、暗号文を生成するよう構成され得る。より具体的には、例えば、TEE104は、入力x(例えば、処理ユニット102において受信された入力)を受信し、Encrypt(暗号化)関数108を介して、暗号文cを生成するよう構成され得る。さらに、暗号文は、処理ユニット106に伝達され得、本開示においてより詳細に説明されるように、処理ユニット106は、別の暗号文を生成するよう構成され得る。少なくともいくつかの実施形態において、暗号文c及び関数f(本開示において、中間関数(intermediate function)とも呼ばれる)が、TEE104から処理ユニット106に伝達され得る。
さらに、例えば、処理ユニット106は、暗号文cを受信し、暗号文cに対して、関数fのSHE動作(例えばSHE評価)を(例えばEval(評価)関数110を介して)実行して、暗号文c’を生成するよう構成され得る。さらに、処理ユニット106は、復号のために、別の暗号文(例えば暗号文c’)をTEE104に伝達するよう構成され得る。例えば、TEE104は、暗号文c’を受信すると、暗号文c’を(例えばDecrypt(復号)関数を介して)復号して、関数f(x)を生成することができる。TEE104は、復号(例えば、暗号文c’の復号)のために使用され得る秘密鍵skを生成するためのKeygen(鍵生成)関数114をさらに含み得る。
本開示のいくつかの実施形態は、TEE(例えばTEE104)が、1つ以上の動作(例えば演算)を別の処理ユニット(例えば処理ユニット106)に委託するべきかどうかを決定することに関し得る。少なくともいくつかの実施形態において、1つ以上の動作を委託するかどうかを決定する際に、様々なファクタが考慮され得る。例えば、TEE(例えばTEE104)における関数の演算時間、TEEにおける入力(例えばメッセージ)の暗号化時間、別の処理ユニット(例えば処理ユニット106)における関数の動作時間(例えば評価時間)、及び/又はTEEにおける暗号文の復号時間が、動作(例えば演算)を委託するかどうかを決定する際に考慮され得る。
図2は、本開示の1つ以上の実施形態に従った、動作を委託するかどうかを決定する例示的な方法200のフローチャートを示している。いくつかの実施形態において、方法200に関連付けられている動作のうちの1つ以上の動作は、図1のシステム100により実行され得る。代替的又は追加的に、方法200は、任意の適切なシステム、装置、又はデバイスにより実行されてもよい。例えば、図6に示されているシステム600のプロセッサ610が、方法200に関連付けられている動作のうちの1つ以上の動作を実行してもよい。別個のブロックを用いて図示されているが、方法200のブロックのうちの1つ以上のブロックに関連付けられているステップ及び動作は、所望される実装に応じて、追加のブロックに分割されることもあるし、より少ないブロックに組み合わせられることもあるし、除去されることもある。
ブロック202において、システム(例えば、図1のシステム100)に関連付けられている1つ以上の動作についての1つ以上の処理時間が決定され得、方法200は、ブロック204に進み得る。例えば、中央処理ユニット(例えば、図1のCPU102)のTEE(例えば、図1のTEE104)において関数(例えば、関数f(図1参照))を実行するための演算時間、TEEにおける入力(例えば、入力x(図1参照))の暗号化時間、別の処理ユニット(例えば、図1の処理ユニット106)における関数の評価時間(例えば準同型評価時間)、及びTEEにおける暗号文(例えば、図1の暗号文c’)の復号時間のうちの1つ以上が、決定され得る。
ブロック204において、1つ以上の動作を委託するかどうかが決定され得る。いくつかの実施形態において、この決定は、ブロック202において決定された処理時間のうちの少なくとも1つに基づいてなされ得る。1つ以上の動作を委託すると決定された場合、方法200は、ブロック206に進み得る。1つ以上の動作を委託しないと決定された場合、方法200は、ブロック208に進み得る。
例えば、少なくともいくつかの実施形態において、TEE(例えばTEE104)における関数の演算時間が、1)TEEにおける入力の暗号化時間と、2)別の処理ユニット(例えば処理ユニット106)における関数の評価時間と、3)TEEにおける暗号文の復号時間と、の合計よりも大きい場合、演算を別の処理ユニット(例えば、図1の処理ユニット106)に委託すると決定され得る(例えば、(TEE104における関数fの演算時間) > ((TEE104における入力xの暗号化時間) + (処理ユニット106における関数fの準同型評価時間) + (TEE104における暗号文c’の復号時間))である場合、関数fの演算が委託され得る)。
TEE(例えばTEE104)における関数の演算時間が、1)TEEにおける入力の暗号化時間と、2)別の処理ユニット(例えば処理ユニット106)における関数の評価時間と、3)TEEにおける暗号文の復号時間と、の合計以下である場合、演算を別の処理ユニットに委託しないと決定され得る(例えば、(TEE104における関数fの演算時間) !> ((TEE104における入力xの暗号化時間) + (処理ユニット106における関数fの準同型評価時間) + (TEE104における暗号文c’の復号時間))である場合、関数fの演算が委託され得ない)。
ブロック206において、1つ以上の動作が、別の処理ユニット(例えば、図1の処理ユニット106)において実行され得る。ブロック208において、1つ以上の動作が、TEE(例えば、図1のCPU102)において実行され得る。
本開示の範囲から逸脱することなく、方法200に対して、変更、追加、又は省略が可能である。例えば、いくつかの実施形態では、ブロック202において、TEEにおける(例えば、(例えば、f1(x1),...,fn(xn)の)評価のための)n個の関数fiの演算時間、TEEにおける入力(例えば、入力x(図1参照))の暗号化時間、別の処理ユニット(例えば、図1の処理ユニット106)におけるn個の関数fiの評価時間(例えば準同型評価時間)、及び暗号文(例えば、図1の暗号文c’n)の復号時間が、決定されてもよい。
さらに、この例では、ブロック204において、TEE(例えばTEE104)におけるn個の関数の演算時間が、1)TEEにおける入力の暗号化時間と、2)別の処理ユニット(例えば処理ユニット106)におけるn個の関数の評価時間と、3)TEEにおける暗号文の復号時間と、の合計よりも大きい場合、動作を別の処理ユニット(例えば、図1の処理ユニット106)に委託すると決定され得る。
さらに、例えば、方法200の動作は、異なる順番で実行されることもある。さらに、説明された動作及びステップは、例として提供されているに過ぎず、動作及びステップのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びステップに組み合わせられることもあるし、追加の動作及びステップに拡張されることもある。
図3は、本開示の1つ以上の実施形態に従った、暗号化を用いて動作を委託する例示的な方法300のフローチャートを示している。いくつかの実施形態において、方法300に関連付けられている動作のうちの1つ以上の動作は、図1のシステム100により実行され得る。代替的又は追加的に、方法300は、任意の適切なシステム、装置、又はデバイスにより実行されてもよい。例えば、図6に示されているシステム600のプロセッサ610が、方法300に関連付けられている動作のうちの1つ以上の動作を実行してもよい。別個のブロックを用いて図示されているが、方法300のブロックのうちの1つ以上のブロックに関連付けられているステップ及び動作は、所望される実装に応じて、追加のブロックに分割されることもあるし、より少ないブロックに組み合わせられることもあるし、除去されることもある。
ブロック302において、入力が、第1の処理ユニットにおいて、暗号化されて、第1の暗号文が生成され得、方法300は、ブロック304に進み得る。例えば、図1を参照すると、入力x(例えばメッセージ)が、CPU102において、準同型暗号を用いて暗号化されて、暗号文cが生成され得る。より具体的には、例えば、入力xが、CPU102のTEE104において暗号化され得る。さらに、例えば、入力は、図6のプロセッサ610により暗号化され得る。
ブロック304において、第1の暗号文が、第2の処理ユニットに伝達され得、方法300は、ブロック306に進み得る。例えば、図1を参照すると、暗号文cが、例えばGPUを含み得る処理ユニット106に伝達され得る。さらに、少なくともいくつかの実施形態において、関数(例えば、関数f(図1参照))が、CPU102から処理ユニット106に伝達され得る。
ブロック306において、動作が、第1の暗号文に対して実行されて、第2の暗号文が生成され得、方法300は、ブロック308に進み得る。例えば、図1を再度参照すると、(例えば、Eval(評価)関数を介する)SHE評価が、(例えば、関数fに基づいて)暗号文cに対して実行されて、暗号文c’が生成され得る。
ブロック308において、第2の暗号文が、第1の処理ユニットに伝達され得、方法300は、ブロック310に進み得る。例えば、暗号文c’が、処理ユニット106から処理ユニット102に伝達され得る(図1参照)。
ブロック310において、第2の暗号文が復号されて、関数が決定(例えば算出又は生成)され得る。例えば、図1を参照すると、暗号文c’が、TEE104において(例えば、Decrypt(復号)関数112を介して)復号されて、関数f(x)が算出され得る。さらに、例えば、第2の暗号文が、図6のプロセッサ610により復号され得る。
本開示の範囲から逸脱することなく、方法300に対して、変更、追加、又は省略が可能である。例えば、方法300の動作は、異なる順番で実行されることもある。さらに、説明された動作及びステップは、例として提供されているに過ぎず、動作及びステップのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びステップに組み合わせられることもあるし、追加の動作及びステップに拡張されることもある。
少なくともいくつかの実施形態において、TEE(例えば、図1のTEE104)における演算及び別の処理ユニット(例えば、図1の処理ユニット106)における演算は、(例えば、パイプラインを構築することにより)並列に実行され得る。図4は、関数(例えば、f1(x1),...,fn(xn))の評価の例示的なタイミング図400を示している。例えば、時間T1において、入力(例えばメッセージ)x1が、TEE(例えば、図1のTEE104)において暗号化されて、暗号文c1が生成され得る。さらに、時間T2において、入力(例えばメッセージ)x2が、TEEにおいて暗号化され得る。また、時間T2において、暗号文c1が、(例えば、関数f1に基づいて、)GPUにおいて評価されて、暗号文c’1が生成され得る。時間T3において、入力(例えばメッセージ)x3が、TEEにおいて暗号化されて、暗号文c3が生成され得、暗号文c’1が、TEEにおいて復号され得、暗号文c2が、(例えば、関数f2に基づいて、)GPUにおいて評価されて、暗号文c’2が生成され得る。さらに、時間T4において、入力(例えばメッセージ)x4が、TEEにおいて暗号化され得、暗号文c’2が、TEEにおいて復号され得、暗号文c3が、(例えば、関数f3に基づいて、)GPUにおいて評価され得る。
行列乗算を含む1つの例示的なユースケースにおいて、次元O(n)の行列について、加算及び乗算の観点では、コストは、O(n3)であり得る、又は、内積評価の観点では、コストは、O(n2)であり得る。
大きな行列について、GPU実装は、(例えば、アルゴリズムが、高度に並列化可能であるので)はるかに速いものであり得る。(例えば、TEE及びGPUを用いる)準同型暗号について、TEEにおいて発生する、暗号化/復号についてのコストは、O(n2)のコストを有し得る。評価についてのコストは、O(n3)のままであり得る。高速SHE方式について、GPUにおける評価コストは、TEE内部での平文の乗算よりも相当小さいものであり得る。さらに、内積演算のために非常に高速であり並列化可能であるSHE方式が、利用可能である。
完全準同型暗号方式は、本開示の様々な実施形態に従って、SHE方式をブートストラップすることにより、任意の関数をサポートすることができる。例えば、ブートストラップは、暗号文を周期的にリフレッシュすることにより、実現され得る。FHE方式のボトルネックであり得るブートストラップが、様々な実施形態に従って、実行され得る。
例えば、図5は、TEE502及びGPU504を含む例示的なシステム500を示している。1つの企図される動作において、TEE502は、入力x0を暗号化して、暗号文c1を生成し得、暗号文c1が、GPU504に送信され得る。さらに、GPU504は、暗号文c1を評価して、暗号文c’1を生成し得、暗号文c’1が、TEE502に伝達され得る。さらに、TEE502は、暗号文c’i-1を復号して、xi-1を生成し得る。さらに、TEE502は、xi-1を暗号化して、ciを生成し得る。さらに、GPU504は、暗号文ciを評価して、暗号文c’iを生成し得、暗号文c’iが、TEE502に伝達され得る。
例えば、セキュアな深層学習アプリケーションにおいて、ニューラルネットワークが、本開示の1つ以上の実施形態を介して、セキュアに評価され得る。ニューラルネットワークは、内積及び閾値処理という2つの基本動作の階層実行を含み得る。内積評価は、TEE(例えば、図1のTEE104)において秘密鍵SHEを適用した後に、プロセッサ(例えば、GPUを含み得る、図1の処理ユニット106)に委託され得る単純な形の乗算であり得る。
この実施形態において、プロセッサ(例えばGPU)はまた、(例えば、SIMD線形代数演算を介して)全ての入力にわたって内積演算を促進することができる。したがって、様々な実施形態に従うと、GPUは、ニューラルネットワークの各層の並列演算のために利用され得る。
別の例として、固有値及び固有ベクトルが、セキュアに計算され得る。この例において、一般的アルゴリズムが、主成分分析及び二次最適化問題等、多くのより上位レベルのアルゴリズムに適用され得る。今度は、これらのアルゴリズムが、サポートベクタマシン(SVM)及びドメイン固有問題(例えば、PageRank及びレコメンデーションシステム)等、多くの機械学習アルゴリズムにおいて使用され得る。この例は、ベクトル・行列積演算の反復を含み得る。
様々な実施形態に従うと、反復が、線形代数演算をサポートし得るプロセッサ(例えば処理ユニット106(例えばGPU))に委託され得、暗号化された反復結果が、TEE(例えば、図1のTEE104)を用いてリフレッシュされ得る。
図6は、本開示に記載の少なくとも1つの実施形態に従った例示的なシステム600を示している。システム600は、動作を委託するかどうかを決定する且つ/又は暗号化を用いて1つ以上の動作を委託するよう構成されている任意の適切なシステム、装置、又はデバイスを含み得る。システム600は、プロセッサ610、記憶デバイス620、メモリ630、及び通信デバイス640を含み得、これらは全て、通信可能に接続され得る。記憶デバイス620は、動作/処理時間(例えば、演算時間、暗号化時間、評価時間、及び/又は復号時間)、データ(例えば、暗号化されたデータ及び/又は復号されたデータ)、関数データ、秘密鍵、及び/又は、暗号化を用いて1つ以上の動作を委託すること(及び、必要に応じて、動作を委託するかどうかを決定すること)に関連する他のデータ等の様々なタイプのデータを含み得る。
概して、プロセッサ610は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な専用又は汎用のコンピュータ、コンピューティングエンティティ、又は処理デバイスを含み得、任意の適用可能なコンピュータ読み取り可能な記憶媒体に記憶されている命令を実行するよう構成され得る。例えば、プロセッサ610は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は、プログラム命令を解釈及び/又は実行し、且つ/又はデータを処理するよう構成されている任意の他のデジタル回路若しくはアナログ回路を含み得る。
プロセッサ610は、図6において1つのプロセッサとして示されているが、プロセッサ610は、本開示に記載の任意の数の動作を個別的又は集合的に実行するよう構成されている、任意の数のネットワーク又は物理的位置にわたって分散される任意の数のプロセッサを含んでもよいことが理解されよう。いくつかの実施形態において、プロセッサ610は、記憶デバイス620、メモリ630、又は記憶デバイス620とメモリ630との両方に記憶されているプログラム命令を解釈及び/又は実行し、且つ/又は、記憶デバイス620、メモリ630、又は記憶デバイス620とメモリ630との両方に記憶されているデータを処理することができる。いくつかの実施形態において、プロセッサ610は、記憶デバイス620からプログラム命令をフェッチして、プログラム命令をメモリ630にロードすることができる。
プログラム命令がメモリ630にロードされた後、プロセッサ610は、本開示に記載の方法200及び/又は方法300の1つ以上のブロックを実行するための命令等のプログラム命令を実行することができる。様々な実施形態に従うと、プロセッサ610は、SHE動作及び/又はFHE動作を実行することができる。例えば、プロセッサは、動作/処理時間(例えば、演算時間、暗号化時間、評価時間、及び/又は復号時間)を決定することができる。さらに、例えば、プロセッサ610は、SHE動作(例えば、Eval(評価)関数)を実行することができ、データ(例えば、入力及び/又はメッセージ)を暗号化及び/又は復号することができる。
記憶デバイス620及びメモリ630は、コンピュータ実行可能な命令又はデータ構造を運ぶ又は記憶する1つ以上のコンピュータ読み取り可能な記憶媒体を含み得る。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ610等の汎用又は専用のコンピュータによりアクセスされ得る任意の利用可能な媒体を含み得る。
限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、コンパクトディスク読み取り専用メモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えばソリッドステートメモリデバイス)、又は、コンピュータ実行可能な命令又はデータ構造の形態の所望のプログラムコードを運ぶ又は記憶するために使用され得る任意の他の記憶媒体であって、汎用又は専用のコンピュータによりアクセスされ得る任意の他の記憶媒体、を含む非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。上記の組み合わせも、コンピュータ読み取り可能な記憶媒体の範囲に含まれ得る。コンピュータ実行可能な命令は、例えば、プロセッサ610に所定の動作又は動作群を実行させるよう構成されている命令及びデータを含み得る。
通信デバイス640は、ネットワークを介して情報を送信又は受信するよう構成されている任意のコンポーネント、デバイス、システム、又はこれらの組み合わせを含み得る。いくつかの実施形態において、通信デバイス640は、他の位置にある他のデバイス、同じ位置にある他のデバイス、又は、同じシステム内の他のコンポーネントと通信することができる。例えば、通信デバイス640は、モデム、ネットワークカード(無線又は有線)、赤外線通信デバイス、光通信デバイス、無線通信デバイス(アンテナ等)、及び/若しくはチップセット(Bluetooth(登録商標)デバイス、802.6デバイス(例えばメトロポリタンエリアネットワーク(MAN))、Wi-Fi(登録商標)デバイス、WiMAX(登録商標)デバイス、セルラ通信設備等)、並びに/又は同様のものを含み得る。通信デバイス640は、ネットワークとの間で且つ/又は本開示に記載の任意の他のデバイス又はシステムとの間でデータが交換されることを可能にし得る。
本開示の範囲から逸脱することなく、システム600に対して、変更、追加、又は省略が可能である。例えば、記憶デバイス620は、複数の位置に配置され、ネットワークを介してプロセッサ610によりアクセスされる複数の異なる記憶媒体であってもよい。
上記で示されたように、本開示に記載の実施形態は、以下でより詳細に説明されるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用のコンピュータ(例えば、図6のプロセッサ610)の使用を含み得る。さらに、上記で示されたように、本開示に記載の実施形態は、コンピュータ実行可能な命令又はデータ構造を運ぶ又は記憶するコンピュータ読み取り可能な媒体(例えば、図6の記憶デバイス620又はメモリ630)を使用して実現され得る。
本開示において使用される場合、「モジュール」又は「コンポーネント」という用語は、モジュール又はコンポーネントの動作を実行するよう構成されている特定のハードウェア実装、及び/又は、例えば、処理ユニット102(図1参照)、処理ユニット104(図1参照)、及び/又は、コンピューティングシステム600に記憶され得る且つ/又は処理ユニット102(図1参照)、処理ユニット104(図1参照)、及び/又は、コンピューティングシステム600により実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを指し得る。いくつかの実施形態において、本開示に記載の異なるコンポーネント及びモジュールは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして(例えば別個のスレッドとして)実装され得る。本開示に記載のシステム及び方法のうちの一部は、(システム600に記憶される且つ/又はシステム600により実行される)ソフトウェアにより実装されるとして一般に説明されるが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組み合わせも可能であり企図されている。本開示において、「コンピューティングエンティティ」は、本開示において定義された任意のコンピューティングシステム、又は、システム600等のコンピューティングシステム上で動作する任意のモジュール又はモジュールの組み合わせを含み得る。
本開示及び特に請求項(例えば請求項の本体部分)において使用される用語は、一般に、「オープンな」用語であるとして意図される(例えば、「〜を備える」という用語は、「〜を備えるが、〜に限定されるものではない」として解釈されるべきであり、「〜を有する」という用語は、「少なくとも〜を有する」として解釈されるべきであり、「〜を含む」という用語は、「〜を含むが、〜に限定されるものではない」として解釈されるべきである、等)。
さらに、導入される請求項記載事項の特定の数が意図される場合、そのような意図は、当該請求項中に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解の助けとして、請求項中に、請求項記載事項を導入するための「少なくとも1つの」及び「1つ以上の」といった導入句の使用が含まれることがある。しかしながら、このような導入句の使用は、「a」又は「an」といった不定冠詞による請求項記載事項の導入が、同一の請求項中に「1つ以上の」又は「少なくとも1つの」といった導入句と「a」又は「an」といった不定冠詞とが含まれるとしても、当該導入された請求項記載事項を含む特定の請求項が、当該請求項記載事項を1つしか含まない実施形態に限定されることを意味するとして解釈されるべきではない(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味するとして解釈されるべきである)。請求項記載事項を導入するために使用される定冠詞の使用についても同じことが当てはまる。
さらに、導入される請求項記載事項の特定の数が明示的に記載されている場合であっても、そのような記載は、少なくとも記載されている数を意味するとして解釈されるべきである(例えば、他の修飾語のない「2つの記載事項」という単なる記載は、少なくとも2つの記載事項又は2つ以上の記載事項を意味する)ことが、当業者であれば認識されよう。さらに、「A、B、及びC等のうちの少なくとも1つ」又は「A、B、及びC等のうちの1つ以上」に類する表記が使用される場合、一般に、そのような構造は、Aのみ、Bのみ、Cのみ、A及びBの両方、A及びCの両方、B及びCの両方、又は、A、B、及びCの全て、等を含むことが意図される。
さらに、2つ以上の選択可能な用語を表すいかなる離接語又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの1つ、それらの用語の組合せ、又は、それらの用語の全てを含む可能性を意図するとして理解されるべきである。例えば、「A又はB」という句は、「A」若しくは「B」又は「A及びB」の可能性を含むとして理解されるべきである。
本開示において記載された全ての例及び条件付き文言は、当該技術を促進させるために本発明者によって寄与されるコンセプト及び本発明を読者が理解するのを助ける教育上の目的のために意図され、そのような具体的に記載された例及び条件に限定されるものではないとして解釈されるべきである。本開示の実施形態が詳細に説明されたが、それら実施形態に対する様々な変形、置換、及び変更が、本開示の主旨及び範囲から逸脱することなく可能である。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
動作を委託する方法であって、
トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成するステップと、
前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達するステップと、
前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成するステップと、
前記第2の暗号文を前記TEEに伝達するステップと、
前記TEEにおいて、前記第2の暗号文を復号して、関数を算出するステップと、
を含む方法。
(付記2)
前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定するステップ
をさらに含む、付記1に記載の方法。
(付記3)
前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成するステップと、
前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するステップと、
のうちの少なくとも1つをさらに含む、付記1に記載の方法。
(付記4)
複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価するステップ
をさらに含む、付記1に記載の方法。
(付記5)
前記第2の暗号文を復号することは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号することを含む、付記1に記載の方法。
(付記6)
前記少なくとも1つのSHE評価動作を実行することは、中間関数に基づいて、前記第1の暗号文を評価することを含む、付記1に記載の方法。
(付記7)
前記データを暗号化することは、準同型暗号を用いて前記データを暗号化することを含む、付記1に記載の方法。
(付記8)
トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成する動作と、
前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達する動作と、
前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成する動作と、
前記第2の暗号文を前記TEEに伝達する動作と、
前記TEEにおいて、前記第2の暗号文を復号して、関数を生成する動作と、
を実行するよう構成されている1つ以上の処理ユニット
を有するシステム。
(付記9)
前記1つ以上の処理ユニットは、前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定する動作を実行するようさらに構成されている、付記8に記載のシステム。
(付記10)
前記1つ以上の処理ユニットは、
前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成する動作と、
前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行する動作と、
のうちの少なくとも1つを実行するようさらに構成されている、付記8に記載のシステム。
(付記11)
前記1つ以上の処理ユニットは、複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価する動作を実行するようさらに構成されている、付記8に記載のシステム。
(付記12)
前記TEEは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号するよう構成されている、付記8に記載のシステム。
(付記13)
前記1つ以上の処理ユニットは、中間関数に基づいて、前記第1の暗号文を評価する動作を実行するようさらに構成されている、付記8に記載のシステム。
(付記14)
前記データは、準同型暗号を用いて暗号化される、付記8に記載のシステム。
(付記15)
命令を含む1つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が、1つ以上のプロセッサにより実行されたときに、前記命令は、前記1つ以上のプロセッサに複数の動作を実行させるよう構成されており、前記複数の動作は、
トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成する動作と、
前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達する動作と、
前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成する動作と、
前記第2の暗号文を前記TEEに伝達する動作と、
前記TEEにおいて、前記第2の暗号文を復号して、関数を生成する動作と、
を含む、コンピュータ読み取り可能な媒体。
(付記16)
前記複数の動作は、
前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定する動作
をさらに含む、付記15に記載のコンピュータ読み取り可能な媒体。
(付記17)
前記複数の動作は、
前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成する動作と、
前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行する動作と、
のうちの少なくとも1つをさらに含む、付記15に記載のコンピュータ読み取り可能な媒体。
(付記18)
前記複数の動作は、
複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価する動作
をさらに含む、付記15に記載のコンピュータ読み取り可能な媒体。
(付記19)
前記第2の暗号文を復号することは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号することを含む、付記15に記載のコンピュータ読み取り可能な媒体。
(付記20)
前記少なくとも1つのSHE評価動作を実行することは、中間関数に基づいて、前記第1の暗号文を評価することを含む、付記15に記載のコンピュータ読み取り可能な媒体。
100 システム
102 中央処理ユニット(CPU)
104 トラステッド実行環境(TEE)
106 処理ユニット
500 システム
502 トラステッド実行環境(TEE)
504 グラフィックス処理ユニット(GPU)
600 (コンピューティング)システム
610 プロセッサ
620 記憶デバイス
630 メモリ
640 通信デバイス

Claims (20)

  1. 動作を委託する方法であって、
    トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成するステップと、
    前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達するステップと、
    前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成するステップと、
    前記第2の暗号文を前記TEEに伝達するステップと、
    前記TEEにおいて、前記第2の暗号文を復号して、関数を算出するステップと、
    を含む方法。
  2. 前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定するステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成するステップと、
    前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するステップと、
    のうちの少なくとも1つをさらに含む、請求項1に記載の方法。
  4. 複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価するステップ
    をさらに含む、請求項1に記載の方法。
  5. 前記第2の暗号文を復号することは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号することを含む、請求項1に記載の方法。
  6. 前記少なくとも1つのSHE評価動作を実行することは、中間関数に基づいて、前記第1の暗号文を評価することを含む、請求項1に記載の方法。
  7. 前記データを暗号化することは、準同型暗号を用いて前記データを暗号化することを含む、請求項1に記載の方法。
  8. トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成する動作と、
    前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達する動作と、
    前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成する動作と、
    前記第2の暗号文を前記TEEに伝達する動作と、
    前記TEEにおいて、前記第2の暗号文を復号して、関数を生成する動作と、
    を実行するよう構成されている1つ以上の処理ユニット
    を有するシステム。
  9. 前記1つ以上の処理ユニットは、前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定する動作を実行するようさらに構成されている、請求項8に記載のシステム。
  10. 前記1つ以上の処理ユニットは、
    前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成する動作と、
    前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行する動作と、
    のうちの少なくとも1つを実行するようさらに構成されている、請求項8に記載のシステム。
  11. 前記1つ以上の処理ユニットは、複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価する動作を実行するようさらに構成されている、請求項8に記載のシステム。
  12. 前記TEEは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号するよう構成されている、請求項8に記載のシステム。
  13. 前記1つ以上の処理ユニットは、中間関数に基づいて、前記第1の暗号文を評価する動作を実行するようさらに構成されている、請求項8に記載のシステム。
  14. 前記データは、準同型暗号を用いて暗号化される、請求項8に記載のシステム。
  15. 命令を含む1つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が、1つ以上のプロセッサにより実行されたときに、前記命令は、前記1つ以上のプロセッサに複数の動作を実行させるよう構成されており、前記複数の動作は、
    トラステッド実行環境(TEE)において、データを暗号化して、第1の暗号文を生成する動作と、
    前記第1の暗号文をグラフィックス処理ユニット(GPU)に伝達する動作と、
    前記GPUにおいて、前記第1の暗号文に対して、少なくとも1つのsomewhat準同型暗号(SHE)評価動作を実行して、第2の暗号文を生成する動作と、
    前記第2の暗号文を前記TEEに伝達する動作と、
    前記TEEにおいて、前記第2の暗号文を復号して、関数を生成する動作と、
    を含む、コンピュータ読み取り可能な媒体。
  16. 前記複数の動作は、
    前記データを暗号化することと、前記SHE評価動作を実行することと、前記第2の暗号文を復号することと、のうちの少なくとも1つの推定される処理時間に基づいて、前記SHE評価動作を前記GPUに委託するかどうかを決定する動作
    をさらに含む、請求項15に記載のコンピュータ読み取り可能な媒体。
  17. 前記複数の動作は、
    前記第1の暗号文に対して、前記少なくとも1つのSHE評価動作を実行するのと実質的に同時に、前記TEEにおいて、第2のデータを暗号化して、第3の暗号文を生成する動作と、
    前記第2の暗号文を復号するのと実質的に同時に、前記第3の暗号文に対して、前記少なくとも1つのSHE評価動作を実行する動作と、
    のうちの少なくとも1つをさらに含む、請求項15に記載のコンピュータ読み取り可能な媒体。
  18. 前記複数の動作は、
    複数のSHE方式をブートストラップすることにより、1つ以上の任意の関数を評価する動作
    をさらに含む、請求項15に記載のコンピュータ読み取り可能な媒体。
  19. 前記第2の暗号文を復号することは、前記TEEにおいて生成された秘密鍵を用いて、前記第2の暗号文を復号することを含む、請求項15に記載のコンピュータ読み取り可能な媒体。
  20. 前記少なくとも1つのSHE評価動作を実行することは、中間関数に基づいて、前記第1の暗号文を評価することを含む、請求項15に記載のコンピュータ読み取り可能な媒体。
JP2019072402A 2018-04-18 2019-04-05 準同型暗号を用いた処理動作の委託 Pending JP2019191575A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/956626 2018-04-18
US15/956,626 US10797856B2 (en) 2018-04-18 2018-04-18 Outsourcing processing operations with homomorphic encryption

Publications (1)

Publication Number Publication Date
JP2019191575A true JP2019191575A (ja) 2019-10-31

Family

ID=65995499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019072402A Pending JP2019191575A (ja) 2018-04-18 2019-04-05 準同型暗号を用いた処理動作の委託

Country Status (3)

Country Link
US (1) US10797856B2 (ja)
EP (1) EP3557814B1 (ja)
JP (1) JP2019191575A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021113956A (ja) * 2020-01-21 2021-08-05 Kddi株式会社 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
JP2022031105A (ja) * 2020-08-07 2022-02-18 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド プライバシー集合の共通部分を取得する方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
WO2023021931A1 (ja) * 2021-08-17 2023-02-23 株式会社日立製作所 情報処理プログラムおよび情報処理装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443072B2 (en) * 2018-06-29 2022-09-13 Microsoft Technology Licensing, Llc Peripheral device with resource isolation
US11223485B2 (en) * 2018-07-17 2022-01-11 Huawei Technologies Co., Ltd. Verifiable encryption based on trusted execution environment
US11126757B2 (en) 2018-10-19 2021-09-21 Microsoft Technology Licensing, Llc Peripheral device
CN112487460B (zh) * 2020-05-09 2022-04-12 支付宝(杭州)信息技术有限公司 基于隐私保护的业务预测模型训练方法和装置
KR20220005705A (ko) 2020-07-07 2022-01-14 삼성전자주식회사 동형 암호를 이용하는 전자 장치 및 그것의 암호화 데이터 처리 방법
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
CN113541921B (zh) * 2021-06-24 2022-06-10 电子科技大学 一种利用gpu来实现全同态加密的方法
US11979484B2 (en) 2021-07-21 2024-05-07 Bank Of America Corporation System for electronic data encryption and decryption using a consensus draft process

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128581A (ja) * 2010-12-14 2012-07-05 Mitsubishi Electric Corp 通信コード生成装置および関数利用コンピュータおよび関数公開コンピュータおよびコンピュータシステムおよび通信コード生成方法およびプログラム
US20160350561A1 (en) * 2015-05-27 2016-12-01 Google Inc. Policies for secrets in trusted execution environments
WO2017119098A1 (ja) * 2016-01-07 2017-07-13 株式会社日立製作所 計算機システム及び計算機の制御方法
US20180060604A1 (en) * 2016-09-01 2018-03-01 International Business Machines Corporation Performing secure queries from a higher security domain of information in a lower security domain
JP2018036418A (ja) * 2016-08-30 2018-03-08 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313028B2 (en) * 2012-06-12 2016-04-12 Kryptnostic Method for fully homomorphic encryption using multivariate cryptography
US9819650B2 (en) * 2014-07-22 2017-11-14 Nanthealth, Inc. Homomorphic encryption in a healthcare network environment, system and methods
US9729312B2 (en) * 2015-04-28 2017-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for high-assurance data storage and processing based on homomorphic encryption
ES2628907T3 (es) 2015-06-30 2017-08-04 Skidata Ag Método para la configuración de aparatos electrónicos, particularmente para la configuración de componentes de un sistema de control de acceso
GB201517331D0 (en) * 2015-10-01 2015-11-18 Chase Information Technology Services Ltd And Cannings Nigel H System and method for preserving privacy of data in a cloud
US10296709B2 (en) * 2016-06-10 2019-05-21 Microsoft Technology Licensing, Llc Privacy-preserving genomic prediction
SG11201909441XA (en) * 2017-04-11 2020-03-30 Governing Council Univ Toronto A homomorphic processing unit (hpu) for accelerating secure computations under homomorphic encryption
US10541805B2 (en) * 2017-06-26 2020-01-21 Microsoft Technology Licensing, Llc Variable relinearization in homomorphic encryption
US10749665B2 (en) * 2017-06-29 2020-08-18 Microsoft Technology Licensing, Llc High-precision rational number arithmetic in homomorphic encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128581A (ja) * 2010-12-14 2012-07-05 Mitsubishi Electric Corp 通信コード生成装置および関数利用コンピュータおよび関数公開コンピュータおよびコンピュータシステムおよび通信コード生成方法およびプログラム
US20160350561A1 (en) * 2015-05-27 2016-12-01 Google Inc. Policies for secrets in trusted execution environments
WO2017119098A1 (ja) * 2016-01-07 2017-07-13 株式会社日立製作所 計算機システム及び計算機の制御方法
JP2018036418A (ja) * 2016-08-30 2018-03-08 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
US20180060604A1 (en) * 2016-09-01 2018-03-01 International Business Machines Corporation Performing secure queries from a higher security domain of information in a lower security domain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BONNORON, G. ET AL.: "Somewhat/Fully Homomorphic Encryption: implementation progresses and challenges", C2SI 2017: 2ND INTERNATIONAL CONFERENCE ON CODES, CRYPTOLOGY AND INFORMATION SECURITY, JPN6022045481, April 2017 (2017-04-01), pages 68 - 82, ISSN: 0005044262 *
ORLANDI, C., PIVA, A. AND BARNI, M.: "Oblivious Neural Network Computing via Homomorphic Encryption", EURASIP JOURNAL ON INFORMATION SECURITY, vol. 2007, JPN6018021338, 2007, pages 1 - 11, XP055618561, ISSN: 0004909532, DOI: 10.1155/2007/37343 *
SUN, Y. ET AL.: "Hetero-Mark, A Benchmark Suite for CPU-GPU Collaborative Computing", 2016 IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION (IISWC), JPN6022045480, September 2016 (2016-09-01), pages 13 - 22, ISSN: 0005044263 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021113956A (ja) * 2020-01-21 2021-08-05 Kddi株式会社 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
JP7179788B2 (ja) 2020-01-21 2022-11-29 Kddi株式会社 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
JP2022031105A (ja) * 2020-08-07 2022-02-18 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド プライバシー集合の共通部分を取得する方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
WO2023021931A1 (ja) * 2021-08-17 2023-02-23 株式会社日立製作所 情報処理プログラムおよび情報処理装置

Also Published As

Publication number Publication date
EP3557814A1 (en) 2019-10-23
US10797856B2 (en) 2020-10-06
US20190327077A1 (en) 2019-10-24
EP3557814B1 (en) 2022-08-03

Similar Documents

Publication Publication Date Title
JP2019191575A (ja) 準同型暗号を用いた処理動作の委託
Boemer et al. nGraph-HE: a graph compiler for deep learning on homomorphically encrypted data
Shah et al. A survey of lightweight cryptographic algorithms for iot-based applications
Boemer et al. nGraph-HE2: A high-throughput framework for neural network inference on encrypted data
CN108055125B (zh) 一种产品信息的加密、解密方法及装置
Dai et al. Implementation and evaluation of a lattice-based key-policy ABE scheme
US10491374B2 (en) Apparatus and method for encryption
CN115622684B (zh) 基于全同态加密的隐私计算异构加速方法及装置
Matsuoka et al. Virtual secure platform: A {Five-Stage} pipeline processor over {TFHE}
Hussain et al. FASE: FPGA acceleration of secure function evaluation
US11463236B2 (en) Programmable block cipher with masked inputs
Alomari et al. A framework for GPU-accelerated AES-XTS encryption in mobile devices
Okada et al. Linear depth integer-wise homomorphic division
Philabaum et al. A response-based cryptography engine in distributed-memory
Agosta et al. Exploiting bit-level parallelism in GPGPUs: A case study on KeeLoq exhaustive key search attack
Han et al. cuFE: High Performance Privacy Preserving Support Vector Machine with Inner-Product Functional Encryption
Dawson et al. Ensuring privacy and confidentiality of cloud data: A comparative analysis of diverse cryptographic solutions based on run time trend
Burak Parallelization of encryption algorithm based on chaos system and neural networks
Patchappen et al. Batch processing of multi-variant AES cipher with GPU
Alzaher et al. Parallelizing Multi-Keys RSA Encryption Algorithm Using OpenMP
Wenchao et al. Construction and Parallel Implementation of Homomorphic Arithmetic Unit Based on NuFHE
Xia et al. Fast homomorphic encryption based on cpu-4gpus hybrid system in cloud
Lavdanskyi et al. Accelerating Operations on Permutations Using Graphics Processing Units
Burak et al. Parallelization of the discrete chaotic block encryption algorithm
Jadhav et al. Cryptography Using GPGPU

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230724

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230801

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20231006