IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京▲東▼科技控股股▲フン▼有限公司の特許一覧

特表2024-512110データ伝送方法、装置、電子機器及び記憶媒体
<>
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図1
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図2
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図3
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図4
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図5
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図6
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図7
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図8
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図9
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図10
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図11
  • 特表-データ伝送方法、装置、電子機器及び記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-18
(54)【発明の名称】データ伝送方法、装置、電子機器及び記憶媒体
(51)【国際特許分類】
   G09C 1/00 20060101AFI20240311BHJP
   H04L 9/08 20060101ALI20240311BHJP
【FI】
G09C1/00 650Z
H04L9/08 A
G09C1/00 620Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560083
(86)(22)【出願日】2022-04-02
(85)【翻訳文提出日】2023-09-28
(86)【国際出願番号】 CN2022085190
(87)【国際公開番号】W WO2022213956
(87)【国際公開日】2022-10-13
(31)【優先権主張番号】202110368291.X
(32)【優先日】2021-04-06
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521507084
【氏名又は名称】京▲東▼科技控股股▲フン▼有限公司
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ダイ, ツィイン
(72)【発明者】
【氏名】ワン, ティチェン
(57)【要約】
本出願は、データ伝送方法及び装置を提案し、このデータ伝送方法は、データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップと、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、データ使用側から送信された暗号文計算結果を受信するステップであって、暗号文計算結果が、データ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定されるステップと、秘密鍵断片を使用して暗号文計算結果を復号化して、平文データを取得するステップと、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
データ提供側に適用されるデータ伝送方法であって、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、
前記データ使用側から送信された暗号文計算結果を受信するステップであって、前記暗号文計算結果が、前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定されるステップと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップと、
を含むデータ伝送方法。
【請求項2】
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップが、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、第1の中間復号化データを取得して他のデータ提供側に送信するステップと、
前記他のデータ提供側から送信された第2の中間復号化データを受信するステップと、
前記第1の中間復号化データと前記第2の中間復号化データを融合して、前記平文データを取得するステップと、
を含む請求項1に記載のデータ伝送方法。
【請求項3】
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップが、
前記データ提供側の前記秘密鍵断片を生成し、該秘密鍵断片に基づいて前記データ提供側自体の暗号化公開鍵断片と評価公開鍵に対応するターゲット中間結果とを生成するステップと、
前記暗号化公開鍵断片及び前記ターゲット中間結果をブロードキャストするステップと、
前記他のデータ提供側から送信されたそれぞれの前記暗号化公開鍵断片及び前記ターゲット中間結果を受信するステップと、
各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を生成し、各前記ターゲット中間結果に基づいて、前記評価公開鍵を生成するステップと、
を含む請求項1に記載のデータ伝送方法。
【請求項4】
前記データ提供側自体の秘密鍵断片を生成するステップが、
暗号鍵生成パラメータを取得するステップであって、前記暗号鍵生成パラメータが共通パラメータ及び共通乱数を含むステップと、
前記共通パラメータ及び秘密鍵生成アルゴリズムに基づいて、前記秘密鍵断片を取得するステップと、
を含む請求項3に記載のデータ伝送方法。
【請求項5】
前記秘密鍵断片に基づいて、暗号化公開鍵断片と評価公開鍵に対応する中間結果とを生成するステップが、
前記秘密鍵断片、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵断片を生成するステップと、
前記秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、前記ターゲット中間結果を生成するステップと、
を含む請求項4に記載のデータ伝送方法。
【請求項6】
前記秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、前記ターゲット中間結果を生成するステップが、
前記秘密鍵断片、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて、前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストするステップと、
他のデータ提供側から送信されたそれぞれの前記第1の中間結果を受信するステップと、
自体の前記第1の中間結果と前記他のデータ提供側の前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得するステップと、
前記秘密鍵断片、前記共通乱数及び前記第2の中間結果に基づいて、前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストするステップと、
を含む請求項5に記載のデータ伝送方法。
【請求項7】
データ使用側に適用されるデータ伝送方法であって、
各データ提供側から送信された暗号文データを受信するステップと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するステップと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するステップと、
を含むデータ伝送方法。
【請求項8】
前記データ提供側から送信された暗号文データを受信するステップの前に、
各前記データ提供側から送信された暗号化公開鍵断片を受信するステップと、
各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を取得するステップと、
を含む請求項7に記載のデータ伝送方法。
【請求項9】
前記データ提供側から送信された暗号文データを受信するステップの前に、
各前記データ提供側から送信された評価公開鍵のターゲット中間結果を受信するステップと、
各前記ターゲット中間結果に基づいて、前記評価公開鍵を取得するステップと、
を含む請求項7に記載のデータ伝送方法。
【請求項10】
データ提供側に適用されるデータ伝送装置であって、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するための暗号鍵生成モジュールと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するための暗号化モジュールと、
前記データ使用側から送信された暗号文計算結果を受信するための受信モジュールであって、前記暗号文計算結果が、前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定される受信モジュールと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するための復号化モジュールと、
を備えるデータ伝送装置。
【請求項11】
前記復号化モジュールが、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、第1の中間復号化データを取得して他のデータ提供側に送信し、
前記他のデータ提供側から送信された第2の中間復号化データを受信し、
前記第1の中間復号化データと前記第2の中間復号化データを融合して、前記平文データを取得する請求項10に記載のデータ伝送装置。
【請求項12】
前記暗号鍵生成モジュールが、
前記秘密鍵断片を生成し、該秘密鍵断片に基づいて前記データ提供側自体の暗号化公開鍵断片と評価公開鍵に対応するターゲット中間結果とを生成するための第1の生成ユニットと、
前記暗号化公開鍵断片及び前記ターゲット中間結果をブロードキャストするための送信ユニットと、
前記他のデータ提供側から送信されたそれぞれの前記暗号化公開鍵断片及び前記ターゲット中間結果を受信するための受信ユニットと、
各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を生成し、各前記ターゲット中間結果に基づいて、前記評価公開鍵を生成するための第2の生成ユニットと、
を備える請求項10に記載のデータ伝送装置。
【請求項13】
前記第1の生成ユニットが、
暗号鍵生成パラメータを取得し、前記暗号鍵生成パラメータは共通パラメータ及び共通乱数を含み、
前記共通パラメータ及び秘密鍵生成アルゴリズムに基づいて、前記秘密鍵断片を取得する請求項12に記載のデータ伝送装置。
【請求項14】
前記第1の生成ユニットが、
前記秘密鍵断片、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵断片を生成し、
前記秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、前記ターゲット中間結果を生成する請求項13に記載のデータ伝送装置。
【請求項15】
前記第1の生成モジュールが、
前記秘密鍵断片、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて、前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストし、
他のデータ提供側から送信されたそれぞれの前記第1の中間結果を受信し、
自体の前記第1の中間結果と前記他のデータ提供側の前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得し、
前記秘密鍵断片、前記共通乱数及び前記第2の中間結果に基づいて、前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストする請求項14に記載のデータ伝送装置。
【請求項16】
データ使用側に適用されるデータ伝送装置であって、
各データ提供側から送信された暗号文データを受信するための受信モジュールと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するための暗号化モジュールと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するための送信モジュールと、
を備えるデータ伝送装置。
【請求項17】
各前記データ提供側から送信された暗号化公開鍵断片を受信し、各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を取得するための第1の暗号鍵生成モジュールを備える請求項16に記載のデータ伝送装置。
【請求項18】
各前記データ提供側から送信された評価公開鍵のターゲット中間結果を受信し、各前記ターゲット中間結果に基づいて、前記評価公開鍵を取得するための第2の暗号鍵生成モジュールを備える請求項16に記載のデータ伝送装置。
【請求項19】
プロセッサとメモリとを備え、
前記プロセッサが、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、
前記データ使用側から送信された暗号文計算結果を受信するステップであって、前記暗号文計算結果が、前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定されるステップと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップと、
を実現するように、
または、
各データ提供側から送信された暗号文データを受信するステップと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するステップと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するステップと、
を実現するように、
前記メモリに記憶されている実行可能なプログラムコードを読み取って前記実行可能なプログラムコードに対応するプログラムを実行する電子機器。
【請求項20】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記プログラムがプロセッサによって実行される場合、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、
前記データ使用側から送信された暗号文計算結果を受信するステップであって、前記暗号文計算結果は前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定されるステップと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップと、が実現されるか、
または、
各データ提供側から送信された暗号文データを受信するステップと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するステップと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するステップと、
が実現されるコンピュータ読み取り可能な記憶媒体。

【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、出願番号が202110368291.X、出願日が2021年04月06日である中国特許出願に基づいて出願し、この中国特許出願の優先権を主張し、この中国特許出願のすべての内容は参照として本出願に導入されている。
【技術分野】
【0002】
本出願は、データ処理分野に関し、特にデータ伝送方法、装置、電子機器及び記憶媒体に関する。
【背景技術】
【0003】
準同型暗号化は、暗号化された暗号文データの計算を許可し、データを使用するとともにデータの安全性を保護することができる。関連技術では、準同型暗号化は、1つの暗号鍵で暗号化された暗号文データの計算のみをサポートしており、異なる暗号鍵で暗号化された複数の暗号文データを連携して計算することはできず、準同型暗号化の使用シナリオが制限されている。
【発明の概要】
【0004】
本出願は、関連技術における技術的な問題の1つを少なくともある程度解決することを目的としている。このため、本出願の1つの目的は、複数のデータ提供側の暗号化データの準同型暗号化という目的を実現し、準同型暗号化の使用シナリオを拡張することができる多者準同型暗号化メカニズムを構築することである。
【0005】
本出願の第1の目的は、データ伝送方法を提案することである。
【0006】
本出願の第2の目的は、別のデータ伝送方法を提案することである。
【0007】
本出願の第3の目的は、データ伝送装置を提案することである。
【0008】
本出願の第4の目的は、別のデータ伝送装置を提案することである。
【0009】
本出願の第5の目的は、電子機器を提案することである。
【0010】
本出願の第6の目的は、コンピュータ読み取り可能な記憶媒体を提案することである。
【0011】
上記の目的を達成するために、本出願の第1の態様の実施例は、データ提供側に適用されるデータ伝送方法を提案し、前記方法は、他のデータ提供側とインタラクションして、暗号化公開鍵と評価公開鍵とを生成するステップと、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、データ使用側から送信された暗号文計算結果を受信するステップであって、暗号文計算結果はデータ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定されるステップと、データ提供側自体の秘密鍵断片を使用して、暗号文計算結果を復号化して、平文データを取得するステップと、を含む。
【0012】
上記の目的を達成するために、本出願の第2の態様の実施例は、データ使用側に適用されるデータ伝送方法を提案し、方法は、各データ提供側から送信された暗号文データを受信するステップと、評価公開鍵を使用して各暗号文データを暗号化計算して、暗号文計算結果を取得するステップと、暗号文計算結果を各データ提供側にそれぞれ送信して復号化するステップと、を含む。
【0013】
上記の目的を達成するために、本出願の第3の態様の実施例は、データ提供側に適用されるデータ伝送装置を提案し、該装置は、他のデータ提供側とインタラクションして、暗号化公開鍵と評価公開鍵とを生成するための暗号鍵生成モジュールと、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するための暗号化モジュールと、データ使用側から送信された暗号文計算結果を受信するための受信モジュールであって、暗号文計算結果はデータ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定される受信モジュールと、データ提供側自体の秘密鍵断片を使用して、暗号文計算結果を復号化して、平文データを取得するための復号化モジュールと、を備える。
【0014】
上記の目的を達成するために、本出願の第4の態様の実施例は、データ使用側に適用されるデータ伝送装置を提案し、該装置は、各データ提供側から送信された暗号文データを受信するための受信モジュールと、評価公開鍵を使用して各暗号文データを暗号化計算して、暗号文計算結果を取得するための暗号化モジュールと、暗号文計算結果を各データ提供側にそれぞれ送信して復号化するための送信モジュールと、を備える。
【0015】
上記の目的を達成するために、本出願の第5の態様の実施例は、電子機器を提案し、プロセッサとメモリとを備え、前記プロセッサは、上記態様に提供されるデータ伝送方法を実現するように、前記メモリに記憶されている実行可能なプログラムコードを読み取って前記実行可能なプログラムコードに対応するプログラムを実行する。
【0016】
上記の目的を達成するために、本出願の第6の態様の実施例は、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提案し、該プログラムがプロセッサによって実行される場合、上記態様に提供されるデータ伝送方法が実現される。
【発明の効果】
【0017】
本出願によって提供されるデータ伝送方法及び装置は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0018】
本開示の付加的な態様および利点は、以下の説明で一部与えられ、一部は以下の説明から明らかになるか、または本開示の実践を通して理解される。
【図面の簡単な説明】
【0019】
図1】本出願によって提供されるデータ伝送方法の応用シナリオの概略図である。
図2】本出願の一実施例によって提供されるデータ伝送方法の概略フローチャートである。
図3】本出願の別の実施例によって提供される暗号鍵生成方法の概略フローチャートである。
図4】本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。
図5】本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。
図6】本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。
図7】本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。
図8】本出願の一実施例によって提供されるデータ伝送方法の応用の概略図である。
図9】本出願の一実施例によって提供されるデータ伝送装置の概略構成図である。
図10】本出願の別の実施例によって提供されるデータ伝送装置の概略構成図である。
図11】本出願の別の実施例によって提供されるデータ伝送装置の概略構成図である。
図12】本出願の一実施例によって提供される電子機器の概略構成図である。
【発明を実施するための形態】
【0020】
以下に本開示の実施例を詳細に説明し、その実施例の例を図面に示す。ここで、最初から最後まで同一または類似の符号は、同一または類似の要素または同一または類似の機能を有する要素を示す。以下に添付の図面を参照して説明する実施例は例示的なものであり、本開示を説明するためのものであり、本開示を制限するものと理解してはいけない。
【0021】
例示的に、図1は本出願によって提供されるデータ伝送方法の応用シナリオの概略図である。図1に示すように、この応用シナリオは、少なくとも1つのデータ提供側(data providing end)(図1ではデータ提供側111、データ提供側112及びデータ提供側113という3つのデータ提供側が示される)、ネットワーク12及びデータ使用側(data using end)13を含むことができる。ここで、各データ提供側とデータ使用側13はいずれもネットワーク12を介して通信することができる。各データ提供側間はいずれもネットワーク12を介して通信することができる。
【0022】
なお、図1は本出願の実施例によって提供される応用シナリオの概略図だけであり、本出願の実施例は図1に含まれるデバイスを限定せず、図1におけるデバイス間の位置関係も限定しない。例えば、図1に示す応用シナリオでは、データ記憶機器がさらに含まれてもよく、このデータ記憶機器は、データ提供側とデータ使用側13に対して、外部メモリであってもよいし、内部に集積された内部メモリであってもよい。
【0023】
以下、本出願の技術案について具体的な実施例により詳細に説明する。なお、以下のいくつかの具体的な実施例は互いに組み合わせることができ、同じまたは類似の概念またはプロセスについては、ある実施例では説明を省略することがある。
【0024】
図2は本出願の一実施例によって提供されるデータ伝送方法の概略フローチャートである。図2に示すように、実行主体はデータ提供側であり、データ提供側は、電子商取引サーバ、ソーシャルサーバ、通信系サーバなど、ユーザの複数のデータを持つ電子機器であってもよい。
【0025】
図2に示すように、データ伝送方法は、以下のステップS201~ステップS204を含む。
【0026】
ステップS201において、データ提供側自体の秘密鍵断片と、暗号化公開鍵及び評価公開鍵(evaluation public key)とを生成する。
【0027】
本開示の実施例では、データ提供側と他のデータ提供側との間でインタラクションと連携を行う方式によって、自体の秘密鍵断片、及び暗号化公開鍵と評価公開鍵を生成する。いくつかの実現では、データ提供側は、自体の暗号鍵生成パラメータを取得することができ、ここで、暗号鍵生成パラメータは共通パラメータと共通乱数とを含む。さらに、データ提供側は、自体の暗号鍵生成パラメータに基づいて、自体の秘密鍵断片、及び暗号化公開鍵断片と評価公開鍵のコンテンツの一部を生成し、他のデータ提供側とインタラクションして、自体の暗号化公開鍵断片及び評価公開鍵のコンテンツの一部を他のデータ提供側に共有する。それに応じて、他のデータ提供側も同様に自体の暗号化公開鍵断片及び評価公開鍵のコンテンツの一部を共有する。データ提供側は、他のデータ提供側の暗号化公開鍵断片を取得した後、暗号化公開鍵を取得でき、同様に評価公開鍵のコンテンツの一部を取得した後、評価公開鍵も取得できる。ここで、他のデータ提供側は、実行主体としてのデータ提供側と同じタイプのサーバであってもよいし、他のタイプのサーバであってもよい。各データ提供側はすべて暗号化公開鍵と評価公開鍵の計算に参加し、多者準同型暗号化メカニズムを構築して、複数のデータ提供側に対してデータを準同型暗号化するという目的を達成することができる。
【0028】
ステップS202において、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信する。
【0029】
複数のデータ提供側が同時にデータを提供する必要がある場合、データ提供側のデータの漏洩や盗難を避けるために、本開示の実施例では、データ提供側は、暗号化公開鍵を使用して自体のローカルデータを暗号化して、暗号文データを生成する必要がある。暗号文データが生成された後、データ提供側は暗号文データをデータ使用側に送信する。それに応じて、データ使用側は、複数のデータ提供側から送信されたそれぞれの暗号文データを受信することができる。暗号化公開鍵によって自体のローカルデータを暗号化するという目的により、データ提供側だけが自分のデータを知っていて、他のデータ提供側がこのデータを取得し、各データ提供側のデータに高い安全性を持たせ、データの漏洩を避けることができる。
【0030】
引き続き図1のシナリオを例として、データ提供側111が暗号化公開鍵を使用してローカルのデータu1を暗号化して、暗号文データct1を生成し、データ提供側112が暗号化公開鍵を使用してローカルのデータu2を暗号化して、暗号文データct2を生成し、データ提供側113が暗号化公開鍵を使用してローカルのデータu3を暗号化して、暗号文データct3を生成する。データ使用側13は各データ提供側から送信されたそれぞれの暗号文データを受信することができる。
【0031】
ステップS203において、データ使用側から送信された暗号文計算結果を受信し、ここで、暗号文計算結果はデータ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定される。
【0032】
データ使用側は、各データ提供側から送信された暗号文データを受信した後、評価公開鍵に基づいて暗号文データを暗号化計算して、暗号文計算結果を生成し、そして暗号文計算結果を各データ提供側にそれぞれ送信する。
【0033】
それに応じて、データ提供側はデータ使用側から送信された暗号文計算結果を受信することができる。
【0034】
ステップS204において、秘密鍵断片を使用して暗号文計算結果を復号化して、平文データを取得する。
【0035】
各データ提供側自体のデータの安全性を確保するために、本開示の実施例では、各データ提供側は完全な秘密鍵を直接取得することができず、各データ提供側は秘密鍵のコンテンツの一部、すなわち1つの秘密鍵断片を持っている。暗号文計算結果が取得された後、データ提供側は自体の秘密鍵断片を使用して、暗号文計算結果を復号化して、平文データを取得することができる。
【0036】
本開示の実施例によって提供されるデータ伝送方法は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0037】
上記実施例に基づいて、データの暗号化と復号化を実現できるために、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成する前に、データ提供側間で連携して、暗号鍵を生成する必要があり、ここで、暗号鍵は公開鍵と秘密鍵を含む。本開示の実施例では、暗号化用の公開鍵は暗号化公開鍵と評価公開鍵を含む。本出願の実施例では、誤差付き学習問題(Learning With Errors、LWE)に基づく階層的準同型暗号化(BGV)アルゴリズムが採用される。なお、シンボルE.PubKeygen(s;A)は、固定の係数Aを用いて実行される暗号化公開鍵生成アルゴリズムを示す。シンボルE.PubKeygen(s;A;e)は、固定の係数A及びノイズeを用いて実行される暗号化公開鍵生成アルゴリズムを示す。
【0038】
以下、暗号鍵の生成プロセスを紹介する。
【0039】
図3は本出願の別の実施例によって提供される暗号鍵生成方法の概略フローチャートである。図3に示すように、実行主体はデータ提供側であり、この暗号鍵生成プロセスは、以下のステップS301~ステップS306を含む。
【0040】
ステップS301において、データ提供側の秘密鍵断片を生成する。
【0041】
各データ提供側は、暗号鍵を生成するための暗号鍵生成パラメータを有し、この暗号鍵生成パラメータに基づいて暗号鍵を生成する。ここで、暗号鍵生成パラメータは共通パラメータと共通乱数とを含む。共通パラメータは、params=({paramsd=(1κ,qd,m,n,φ,χ)}0≦d≦D,Bφ,Bχ,Beval,Benc,Bdec)であり、ここで、paramsdはLWEに基づく階層的BGVアルゴリズムのパラメータであり、dは暗号文のモード数がqdであることを表し、κ、m、n、φ及びχは上記アルゴリズムのパラメータであり、ここで、κはセキュリティパラメータであり、mとnはそれぞれ次元であり、φとχはそれぞれ暗号鍵確率分布とノイズ確率分布を表す。
【数1】
は確率分布φとχの境界である。サンプリングx←φ(またはx←χ)を行うたびに、|x|≦Bφ(または|x|≦Bχ)をチェックし、条件を満たさなければ、再サンプリングを行う。Bevalは評価暗号鍵計算のノイズ境界であり、Bencは暗号化計算のノイズ境界であり、Bdecは復号化計算のノイズ境界である。
【0042】
いくつかの実施例では、共通乱数は、
【数2】
を含む。ここで、d∈{0,…,D}であり、i∈[n]であり、[n]は、1~nを含むすべての整数の集合を表し、
【数3】
であり、Nはデータ提供側の数であり、DはLWEに基づく階層的BGVアルゴリズムであり、回路の最大乗算レベルをサポートする。
【0043】
さらに、データ提供側は、暗号鍵生成パラメータを取得した後、この暗号鍵生成パラメータ及び秘密鍵生成アルゴリズムに基づいて、自体の秘密鍵断片を生成することができる。ここで、秘密鍵生成アルゴリズムはE.SymKeygen(params)であり、暗号鍵生成パラメータ内の共通パラメータをこの秘密鍵生成アルゴリズムに入力することにより、データ提供側に対応する秘密鍵断片を出力することができる。
【0044】
データ提供側Pkは、暗号鍵生成パラメータ内の共通パラメータを使用して、自分の秘密鍵断片
【数4】
を生成し、まずPkは、LWEに基づく階層的BGVアルゴリズムの秘密鍵生成アルゴリズムを呼び出して、各d∈{0,…,D}に対して、
【数5】
を生成する。
【0045】
ステップS302において、秘密鍵断片に基づいて、データ提供側自体の暗号化公開鍵断片を生成する。
【0046】
さらに、データ提供側は、秘密鍵断片を取得した後、この秘密鍵断片、共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、データ提供側の暗号化公開鍵断片を生成することができる。ここで、暗号化公開鍵生成アルゴリズムはE.PubKeygen(s)である。秘密鍵断片及び共通乱数をこの暗号化公開鍵生成アルゴリズムに入力することにより、データ提供側に対応する暗号化公開鍵断片を出力することができる。
【0047】
データ提供側Pkは、秘密鍵断片及び暗号鍵生成パラメータ内の共通乱数を用いて、自分の暗号化公開鍵断片
【数6】
を生成し、まずPkは、LWEに基づく階層的BGVアルゴリズムの暗号化公開鍵生成アルゴリズムを呼び出して、各d∈{0,…,D}に対して、
【数7】
を生成し、ここで、
【数8】
である。
【0048】
ステップS303において、秘密鍵断片に基づいて、評価公開鍵に対応するターゲット中間結果を生成する。
【0049】
データ提供側は、秘密鍵断片を取得した後、この秘密鍵断片、共通乱数及び評価公開鍵生成アルゴリズムに基づいて、このデータ提供側に対応する評価公開鍵の第1の中間結果を生成することができる。ここで、評価公開鍵生成アルゴリズムはE.symEnc(s)である。秘密鍵断片及び共通乱数をこの評価公開鍵生成アルゴリズムに入力することにより、データ提供側に対応する評価公開鍵の第1の中間結果を出力することができる。
【0050】
データ提供側Pkは、秘密鍵断片及び暗号鍵生成パラメータ内の共通乱数を用いて、評価公開鍵の第1の中間結果
【数9】
を生成する。まずPkは、評価公開鍵生成アルゴリズム呼び出し、各d∈{0,…,D}に対して、i∈[n]であり、[n]が1~nを含むすべての整数の集合を表し、
【数10】
であり、以下のように計算する。
【数11】
ここで、
【数12】
であり、
【数13】
は、
【数14】
によって表されるi番目の成分を表す。
【0051】
また、上記各d,i,τ及び各l∈[N]-{k}に対して、データ提供側Pkが
【数15】
を計算し、ここで、
【数16】
である。
【0052】
評価公開鍵の第1の中間結果が取得された後、自体の第1の中間結果を他のデータ提供側に送信することができる。例えば、データ提供側は、自体の第1の中間結果をブロードキャストすることができる。同様に、他のデータ提供側もそれぞれの第1の中間結果をブロードキャストする。それに応じて、データ提供側は、他のデータ提供側からブロードキャストされたそれぞれの第1の中間結果を受信することができる。他のデータ提供側の第1の中間結果が取得された後、自体の第1の中間結果と組み合わせて、評価公開鍵の第2の中間結果をさらに取得することができる。
【0053】
データ提供側Pkは、
【数17】
を取得した後、第2の中間結果
【数18】
を算出することができる。Pkは、
【数19】
に基づいて第2の中間結果を算出することができる。すべてのデータ所有者がプロトコルを守る場合、
【数20】
であり、ここで、
【数21】
である。実現では、評価公開鍵は
【数22】
であり、算出された第2の中間結果
【数23】
はすでに上記評価公開鍵に近似している。
【0054】
さらに、第2の中間結果が取得された後、データ提供側は、秘密鍵断片、暗号鍵生成パラメータ内の共通乱数及び第2の中間結果に基づいて、評価公開鍵のターゲット中間結果
【数24】
を取得することができる。
【0055】
データ提供側Pkは、第2の中間結果
【数25】
が取得された後、各l∈[N]、d∈[D]、i,j∈[n]、
【数26】
に対して、
【数27】
の操作をした後、評価公開鍵に対応するターゲット中間結果
【数28】

【数29】
により近似させ、評価公開鍵により近づいている。
【0056】
ステップS304において、暗号化公開鍵断片と評価公開鍵に対応するターゲット中間結果とをブロードキャストする。
【0057】
ステップS305において、他のデータ提供側から送信されたそれぞれの暗号化公開鍵断片及びターゲット中間結果を受信する。
【0058】
ステップS306において、各暗号化公開鍵断片に基づいて、暗号化公開鍵を生成し、各ターゲット中間結果に基づいて、評価公開鍵を生成する。
【0059】
以下、ステップS304~S306の具体的な処理を詳しく紹介する。
【0060】
本開示の実施例では、データ提供側は、自体の暗号化公開鍵断片を取得した後、自体の暗号化公開鍵断片を他のデータ提供側に送信することができる。例えば、データ提供側は、自体の暗号化公開鍵断片をブロードキャストすることができる。同様に、他のデータ提供側もそれぞれの暗号化公開鍵断片をブロードキャストする。それに応じて、データ提供側は、他のデータ提供側からブロードキャストされたそれぞれの暗号化公開鍵断片を受信することができる。他のデータ提供側の暗号化公開鍵断片が取得された後、自体の暗号化公開鍵断片と組み合わせて、暗号化公開鍵を復元することができる。
【0061】
データ提供側Pkが
【数30】
を取得し、ここで、
【数31】
は、すべてのデータ提供側の暗号化公開鍵断片の集合を表す。Pkは、この集合を取得した後、暗号化公開鍵
【数32】
を算出することができる。Pkは
【数33】
に基づいて暗号化公開鍵を算出することができる。
【0062】
準同型暗号化プロセスでは、各データ提供側がすべてプロトコルを守る場合、すなわち各データ提供側が信頼可能なデータ提供者である場合、暗号化公開鍵生成アルゴリズムは
【数34】
であり、ここで、
【数35】
であり、
【数36】
であり、
【数37】
であり、ここで、l∈[N]、d∈[D]である。
【0063】
さらに、データ提供側は、評価公開鍵のターゲット中間結果を取得した後、ターゲット中間結果を他のデータ提供側に送信することができる。例えば、データ提供側は自体のターゲット中間結果をブロードキャストすることができる。同様に、他のデータ提供側もそれぞれのターゲット中間結果をブロードキャストする。それに応じて、データ提供側は、他のデータ提供側からブロードキャストされたそれぞれのターゲット中間結果を受信することができる。他のデータ提供側のターゲット中間結果が取得された後、自体のターゲット中間結果と組み合わせて、評価公開鍵を復元することができる。
【0064】
データ提供側Pkが入力
【数38】
を有し、評価暗号鍵φd,i,j,τを計算して出力する。Pkが以下のような計算を行い、各l∈[N]、d∈[D]、i∈[n]、j∈[n]∪{0}、
【数39】
に対して、以下の式によって評価公開鍵を計算することができる。
【数40】
【0065】
それに応じて、データ使用側は、各データ提供側からブロードキャストされたそれぞれの暗号化公開鍵断片を受信でき、同じ方式によって完全な暗号化公開鍵を取得することができる。データ使用側は評価公開鍵の計算公式によって、評価公開鍵を算出することができる。
【0066】
データ提供側は、暗号化公開鍵を取得した後、暗号化アルゴリズムを呼び出し、ここで、暗号化アルゴリズムはE.PubEncpk(μ)であり、この暗号化アルゴリズムを用いて自体のデータを暗号化して、暗号文データを取得する。例えば、データ提供側Pkは、暗号化アルゴリズムを呼び出して(v,w)←E.Encpk(μ)を計算し、最終的に暗号文データck=((v,w+2e),0)を取得し、ここで、0は乗算レベルが0であることを示し、e←$[-Benc, Benc]である。
【0067】
データ使用側は、評価公開鍵を取得した後、評価公開鍵を用いて、各データ提供側から送信された暗号文データを暗号化して、暗号文計算結果を取得する。
【0068】
データ使用側は、Evalevk暗号化アルゴリズムを呼び出し、評価公開鍵に基づいて、各暗号文データを暗号化し、すなわちEvalevk(f,c1,…,cl)によって、暗号文計算結果を計算することができる。ここで、評価アルゴリズムは、Evalevk(f,c1,…,cl)がE.Evalevk(f,c1,…,cl)と同じである。
【0069】
本開示の実施例によって提供される暗号鍵生成プロセスでは、N個のデータ提供側の間で2回のプロトコルが行われ、入力はsetup、出力は評価公開鍵evk={φd,i,j,τ}d,i,j,τ、暗号化公開鍵
【数41】
であり、各データ所有者が秘密鍵部分
【数42】
を取得する。本開示の実施例では、評価公開鍵に基づいて暗号化データをさらに暗号化することにより、データ伝送の安全性をよりよく確保することができる。また、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0070】
上記実施例に基づいて、データ提供側が暗号文計算結果を取得した後、自体の秘密鍵断片
【数43】
を用いて、受信された暗号文計算結果を復号化する。図4は本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。図4に示すように、実行主体はデータ提供側であり、データ伝送方法は以下のステップS400~ステップS405を含む。
【0071】
ステップS400において、データ提供側自体の秘密鍵断片、及び暗号化公開鍵と評価公開鍵を生成する。
【0072】
ステップS401において、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信する。
【0073】
ステップS402において、データ使用側から送信された暗号文計算結果を受信し、暗号文計算結果はデータ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定される。
【0074】
ステップS400~S402に関する説明は上記実施例における関連内容の記載を参照することができ、ここでは説明を省略する。
【0075】
ステップS403において、秘密鍵断片を使用して暗号文計算結果を復号化して、第1の中間復号化データを取得して他のデータ提供側に送信する。
【0076】
本開示の実施例では、データ提供側は秘密鍵の一部しか持っていないため、暗号文計算結果を完全に復号化することはできず、暗号文計算結果を復号化した後、第1の中間復号化データを取得することができる。第1の中間復号化データが取得された後、データを完全に復号化できるために、データ提供側は、他のデータ提供側も自分の第1の中間復号化データを取得でき、他のデータ提供側が平文データを復号化できるように、第1の中間復号化データを他のデータ提供側に送信する必要がある。
【0077】
いくつかの実施例では、データ提供側が第1の中間復号化データを外部にブロードキャストし、他のデータ提供側は第1の中間復号化データをモニタリングすることができる。いくつかの実施例では、データ提供側は他のデータ提供側に直接送信することもできる。ここでは例にすぎず、本開示の実施例では、第1の中間復号化データの送信方式は実際のニーズに応じて選択することができる。
【0078】
データ提供側Pkは自体の秘密鍵断片
【数44】
を有して受信された暗号文計算結果を復号化し、Pkは第1の中間復号化データ
【数45】
を計算し、ここで、ek←$[-Bdec, Bdec]である。そして、Pkはこの第1の中間復号化データwkを外部にブロードキャストする。
【0079】
ステップS404において、他のデータ提供側から送信された第2の中間復号化データを受信する。
【0080】
本開示の実施例では、各データ提供側の役割は同じであり、他のデータ提供側も自体の秘密鍵断片を用いて、受信された暗号文計算結果を復号化して、復号化された中間復号化データを取得する。なお、区別するために、他のデータ提供側によって自体の秘密鍵断片を用いて復号化された中間復号化データを、第2の中間復号化データと呼ぶ。他のデータ提供側は、第2の中間復号化データを取得した後、同様に第2の中間復号化データを外部に送信する。いくつかの実施例では、他のデータ提供側も自分の第2の中間復号化データを外部にブロードキャストし、データ提供側はこの第2の中間復号化データをモニタリングすることができる。
【0081】
ステップS405において、第1の中間復号化データと第2の中間復号化データを融合して、平文データを取得する。
【0082】
秘密の共有メカニズムに基づいて、秘密を復号化するには十分な数の秘密の断片を取得する必要がある。本開示の実施例では、データ提供側の間では、復号化された中間復号化データを共有することにより、各データ提供側が十分な数の中間復号化データを取得し、平文データを復号化することを確保することができる。本開示の実施例では、データ提供側はデータ使用側から送信された暗号文計算結果を受信でき、ここでは乗算レベルである。データ提供側は、第1の中間復号化データと第2の中間復号化データを融合し、例えば、第1の中間復号化データと第2の中間復号化データを準同型加算または乗算して、平文データを復号化することができる。
【0083】
データ提供側は、他のデータ提供側から送信された第2の中間復号化データを取得し、第1の中間復号化データと第2の中間復号化データを以下の式によって融合することができる。
【数46】
さらに、式
【数47】
に基づいて、平文データを復号化することができる。
【0084】
本開示の実施例によって提供されるデータ伝送方法は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0085】
図5は本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。図5に示すように、実行主体はデータ使用側であり、このデータ伝送方法は以下のステップS501~ステップS503を含む。
【0086】
ステップS501において、各データ提供側から送信された暗号文データを受信する。
【0087】
複数のデータ提供側が同時にデータを提供する必要がある場合、データ提供側のデータの漏洩や盗難を避けるために、本開示の実施例では、データ提供側は、暗号化公開鍵を使用して自体のローカルデータを暗号化して、暗号文データを生成する必要がある。暗号文データが生成された後、データ提供側は暗号文データをデータ使用側に送信する。それに応じて、データ使用側は、複数のデータ提供側から送信されたそれぞれの暗号文データを受信することができる。
【0088】
ステップS502において、評価公開鍵を使用して各暗号文データを暗号化計算して、暗号文計算結果を取得する。
【0089】
データ使用側は、各データ提供側から送信された暗号文データを受信した後、すべての暗号文データに対して、暗号化アルゴリズムを呼び出し、評価公開鍵に基づいて各暗号文データを暗号化計算して、暗号文計算結果を生成し、そして暗号文計算結果を各データ提供側にそれぞれ送信する。例えば、データ使用側がEvalevk暗号化アルゴリズムを呼び出し、評価公開鍵に基づいて、各暗号文データを暗号化し、すなわちEvalevk(f,c1,…,cl)によって、暗号文計算結果を計算することができる。ここで、評価アルゴリズムは、Evalevk(f,c1,…,cl)がE.Evalevk(f,c1,…,cl)と同じである。
【0090】
ステップS503において、暗号文計算結果を各データ提供側にそれぞれ送信して復号化する。
【0091】
暗号文計算結果が取得された後、この暗号文計算結果を各データ提供側に送信し、データ提供側は暗号文計算結果を復号化して、平文データを取得することができる。各データ提供側自体のデータの安全性を確保するために、本開示の実施例では、各データ提供側は完全な秘密鍵を直接取得できず、各データ提供側が秘密鍵のコンテンツの一部、すなわち1つの秘密鍵断片を有する。暗号文計算結果が受信された後、データ提供側は、自体の秘密鍵断片を使用して暗号文計算結果を復号化して、平文データを取得する。
【0092】
本開示の実施例によって提供されるデータ伝送方法は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0093】
上記実施例に基づいて、データの暗号化と復号化を実現できるために、データ提供側から送信された暗号文データを受信する前に、データ提供側と連携して、暗号化公開鍵と評価公開鍵とを生成する必要がある。図6は本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。図6に示すように、実行主体はデータ使用側であり、このデータ伝送方法は以下のステップS601~ステップS602を含む。
【0094】
ステップS601において、各データ提供側から送信された暗号化公開鍵断片を受信する。
【0095】
本開示の実施例では、各データ提供側は、まず暗号化公開鍵断片を生成し、そしてこの暗号化公開鍵断片をデータ使用側にブロードキャストすることができる。それに応じて、データ使用側は、各データ提供側から送信された暗号化公開鍵断片を受信することができる。データ提供側が暗号化公開鍵断片を生成する計算プロセスは上記実施例における関連内容の記載を参照することができ、ここでは説明を省略する。
【0096】
ステップS602において、各データ提供側の暗号化公開鍵断片に基づいて、暗号化公開鍵を取得する。
【0097】
各データ提供側の暗号化公開鍵断片が取得された後、暗号化公開鍵断片を加算して、暗号化公開鍵を取得する。いくつかの実施例では、暗号化公開鍵生成アルゴリズムは
【数48】
であり、ここで、
【数49】
であり、
【数50】
であり、
【数51】
であり、ここで、l∈[N]、d∈[D]である。
【0098】
図7は本出願の別の実施例によって提供されるデータ伝送方法の概略フローチャートである。図7に示すように、実行主体はデータ使用側であり、このデータ伝送方法は以下のステップS701~ステップS702を含む。
【0099】
ステップS701において、各データ提供側から送信された評価公開鍵のターゲット中間結果を受信する。
【0100】
本開示の実施例では、各データ提供側は、まず評価公開鍵のターゲット中間結果を生成し、そしてこのターゲット中間結果をデータ使用側にブロードキャストすることができる。それに応じて、データ使用側は、各データ提供側から送信されたターゲット中間結果を受信することができる。データ提供側がターゲット中間結果を生成する計算プロセスは上記実施例における関連内容の記載を参照することができ、ここでは説明を省略する。
【0101】
ステップS702において、各データ提供側のターゲット中間結果に基づいて、評価公開鍵を取得する。
【0102】
各データ提供側のターゲット中間結果が取得された後、各ターゲット中間結果に基づいて計算を行って、評価公開鍵を取得する。
【0103】
データ提供側が入力
【数52】
を有し、評価暗号鍵φd,i,j,τを計算して出力する。各l∈[N]、d∈[D]、i∈[n]、j∈[n]∪{0}、
【数53】
に対して、以下の式によって評価公開鍵を計算することができる。
【数54】
【0104】
評価公開鍵が取得された後、データ使用側は、この評価公開鍵を用いて各データ提供側の暗号文データを暗号化計算して、暗号文計算結果を取得することができる。
【0105】
以下、2つのデータ提供側の応用シナリオと組み合わせて、本出願によって提供されるデータ伝送方法を説明し、図8に示すように、データ伝送プロセスは4つの段階に分けることができる。
【0106】
第1の段階は暗号鍵生成段階である。
2つのデータ提供側がインタラクションし連携して、暗号化公開鍵である図8におけるpkを生成する。同時に各データ提供側は公開鍵に対応する秘密鍵の一部を有し、図8では、1番のデータ提供側がsk1を有し、2番のデータ提供側がsk2を有する。各データ提供側は、他のデータ所有者の秘密鍵部分のいずれの情報を取得できず、秘密鍵のいずれの情報も取得できない。
【0107】
第2の段階はデータ暗号化段階である。
各データ提供側は、暗号化公開鍵を使用して自分のデータを暗号化して、暗号文データである図8におけるct1とct2を生成する。各データ提供側はそれぞれの暗号文データをデータ使用者に送信する。
【0108】
第3の段階は暗号文計算段階である。
データ使用側は評価暗号鍵に基づいて各暗号文データを暗号化計算して、暗号文計算結果である図8におけるcrを取得する。データ使用側は暗号文計算結果をすべてのデータ提供側に送信する。
【0109】
第4の段階は暗号文計算結果復号化段階である。
各データ提供側がインタラクションし連携し、自分の秘密鍵部分を使用して、連携して暗号文計算結果を復号化して、平文計算結果を取得する。
【0110】
以下、上記実施例における準同型暗号化アルゴリズムのシンボルについて説明し、約束する。
EはLWEに基づく階層的BGVアルゴリズムを表し、サポート回路の最大乗算レベルはDであり、平文空間は{0,1}である。TFHEは閾値の準同型暗号化を表す。N個のデータ所有者と一人のデータ使用者がいると仮定する。ベクトルは太字小文字で、スカラーは小文字で表される。sがベクトルである場合、s[i]はsのi番目の成分を表し、s[0] =1であると約束される。Dは有限集合S上の確率分布を表し、x←DはxがDのサンプリングであることを表し、x←$SはxがS上に均一に分布したサンプリングであることを表すと仮定する。すべての対数の底は2である。nが正の整数の場合、[n]は1~nを含むすべての整数の集合を表す。
【0111】
Eは以下の基本要素を含む。
1)params=(1κ,q,m,n,φ,χ)、paramsはすべてのアルゴリズムの暗黙的な入力であり、κはセキュリティパラメータであり、qは奇数モード数であり、mとnは次元であり、φとφは
【数55】
上の確率分布である。
2)E.SymKeygen(params):秘密鍵s←φnを生成する。
3)E.PubKeygen(s):
【数56】
を生成し、p:=A・s+2・eと設定し、秘密鍵sが公開鍵に対するpk:=(A,p)を出力する。
4)E.SymEncs(μ):μ∈{0,1}を暗号化しようとし、
【数57】
を選択し、b:=〈a,s〉+2・e+μと設定し、暗号文c=(a,b)を出力する。
5)E.PubEncpk(μ):公開鍵pk=(A,p)を用いてμ∈{0,1}暗号化しようとし、r←{0,1}mを選択し、a:=rT・A、b:=〈r,p〉+μと設定し、暗号文c=(a,b)を出力する。
6)復号化c=(a,b)しようとし、平文[b-〈a,s〉]qmod2を出力する。
7)評価アルゴリズムE.Evalevk(f,c1,…,cl)によって、評価暗号鍵evkを使用して関数fを計算し、f: {0, 1}l→{0,1}はブール回路として表され、その入力はl個の暗号文c1,…,clであり、出力は暗号文結果cfである。
【0112】
シンボルE.PubKeygen(s;A)を使用して、固定の係数Aを用いて公開鍵生成アルゴリズムを実行することを表す。シンボルE.PubKeygen(s;A;e)を使用して、固定の係数A及びノイズeを用いて公開鍵生成アルゴリズムを実行することを表す。シンボルE.SymEncs(μ;a)を使用して、固定の係数a及び秘密鍵sを用いてμを暗号化することを表す。シンボルE.SymEncs( ;a;e)を使用して、固定の係数a、ノイズe、及び秘密鍵sを用いてμを暗号化することを表す。
【0113】
図9は本出願の一実施例によって提供されるデータ伝送装置の概略構成図である。図9に示すように、データ提供側に適用され、このデータ伝送装置は、暗号鍵生成モジュール90、暗号化モジュール91、受信モジュール92および復号化モジュール93を備える。
【0114】
ここで、暗号鍵生成モジュール90は、データ提供側自体の秘密鍵断片、及び暗号化公開鍵と評価公開鍵を生成する。
【0115】
暗号化モジュール91は、暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信する。
【0116】
受信モジュール92は、データ使用側から送信された暗号文計算結果を受信し、暗号文計算結果はデータ使用側によって評価公開鍵と受信された暗号文データとに基づいて決定される。
【0117】
復号化モジュール93は、秘密鍵断片を使用して暗号文計算結果を復号化して、平文データを取得する。
【0118】
いくつかの実施例では、復号化モジュール93はさらに、秘密鍵断片を使用して暗号文計算結果を復号化して、第1の中間復号化データを取得して他のデータ提供側に送信し、他のデータ提供側から送信された第2の中間復号化データを受信し、第1の中間復号化データと第2の中間復号化データとを融合して、平文データを取得する。
【0119】
いくつかの実施例では、暗号鍵生成モジュール90は、第1の生成ユニット901、送信ユニット902、受信ユニット903及び第2の生成ユニット903を備える。
【0120】
第1の生成ユニット901は、秘密鍵断片を生成し、秘密鍵断片に基づいて、データ提供側自体の暗号化公開鍵断片と評価公開鍵に対応するターゲット中間結果とを生成する。
【0121】
送信ユニット902は、暗号化公開鍵断片及びターゲット中間結果をブロードキャストする。
【0122】
受信ユニット903は、他のデータ提供側から送信されたそれぞれの暗号化公開鍵断片及びターゲット中間結果を受信する。
【0123】
第2の生成ユニット904は、各暗号化公開鍵断片に基づいて、暗号化公開鍵を生成し、各ターゲット中間結果に基づいて、評価公開鍵を生成する。
【0124】
いくつかの実施例では、第1の生成ユニット901はさらに、暗号鍵生成パラメータを取得し、暗号鍵生成パラメータは共通パラメータ及び共通乱数を含み、共通パラメータ及び秘密鍵生成アルゴリズムに基づいて、秘密鍵断片を取得し、秘密鍵断片、共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、暗号化公開鍵断片を生成し、秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、ターゲット中間結果を生成する。
【0125】
いくつかの実施例では、第1の生成ユニット901はさらに、秘密鍵断片、共通乱数及び評価公開鍵生成アルゴリズムに基づいて、評価公開鍵の第1の中間結果を生成し、第1の中間結果をブロードキャストし、他のデータ提供側から送信されたそれぞれの第1の中間結果を受信し、自体の第1の中間結果と他のデータ提供側の第1の中間結果とに基づいて、評価公開鍵の第2の中間結果を取得し、秘密鍵断片、共通乱数及び第2の中間結果に基づいて、評価公開鍵のターゲット中間結果を生成し、ターゲット中間結果をブロードキャストする。
【0126】
本開示の実施例によって提供されるデータ伝送装置は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0127】
なお、上記データ伝送方法の実施例に対する説明はこの実施例のデータ伝送装置にも適用可能であり、ここでは説明を省略する。
【0128】
図10は本出願の別の実施例によって提供されるデータ伝送装置の概略構成図である。図10に示すように、データ使用側に適用され、このデータ伝送装置は、受信モジュール210、暗号化モジュール220及び送信モジュール230を備える。
【0129】
受信モジュール210は、各データ提供側から送信された暗号文データを受信する。
【0130】
暗号化モジュール220は、評価公開鍵を使用して各暗号文データを暗号化計算して、暗号文計算結果を取得する。
【0131】
送信モジュール230は、暗号文計算結果を各データ提供側にそれぞれ送信して復号化する。
【0132】
本開示の実施例によって提供されるデータ伝送装置は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0133】
図11は本出願の別の実施例によって提供されるデータ伝送装置の概略構成図である。図11に示すように、データ使用側に適用され、このデータ伝送装置は、受信モジュール310、暗号化モジュール320、送信モジュール330、第1の暗号鍵生成モジュール340及び第2の暗号鍵生成モジュール350を備える。
【0134】
ここで、受信モジュール310、暗号化モジュール320及び送信モジュール320が実現する機能及び構造は、図10における受信モジュール210、暗号化モジュール220及び送信モジュール230と同じであり、ここでは説明を省略する。
【0135】
第1の暗号鍵生成モジュール340は、各データ提供側から送信された暗号化公開鍵断片を受信し、各暗号化公開鍵断片に基づいて、暗号化公開鍵を取得する。
【0136】
第2の暗号鍵生成モジュール350は、各データ提供側から送信された評価公開鍵のターゲット中間結果を受信し、各ターゲット中間結果に基づいて、評価公開鍵を取得する。
【0137】
本開示の実施例によって提供されるデータ伝送装置は、多者準同型暗号化メカニズムを構築し、複数のデータ提供側の暗号化データの準同型暗号化計算という目的を実現し、準同型暗号化の使用シナリオを拡張することができる。さらに、データの安全性を向上させるために、準同型暗号化に基づく安全な多者計算技術が提案される。準同型暗号化アルゴリズムに基づいてデータを伝送することにより、データ提供側のデータの安全性を保護し、データ提供側の情報漏洩を防止することができる。さらに、複数のデータ提供側の復号化用の秘密鍵を分散管理することにより、データの安全性を向上させる。
【0138】
なお、上記データ伝送方法の実施例に対する説明はこの実施例のデータ伝送装置にも適用可能であり、ここでは説明を省略する。
【0139】
上記実施例を実現するために、本出願は、電子機器をさらに提案し、メモリ410とプロセッサ420を備え、プロセッサ420は、本出願の実施例によって提案されるデータ伝送方法を実現するように、メモリ410に記憶されている実行可能なプログラムコードを読み取って実行可能なプログラムコードに対応するプログラムを実行する。
【0140】
上記実施例を実現するために、本出願は、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体をさらに提案し、このプログラムがプロセッサによって実行される場合、本出願の実施例によって提案されるデータ伝送方法が実現される。
【0141】
上記実施例を実現するために、本開示は、コンピュータプログラム製品をさらに提案し、前記コンピュータプログラム製品における命令がプロセッサによって実行される場合、本出願の実施例によって提案されるデータ伝送方法が実現される。
【0142】
本明細書の記述において、「一実施例」、「いくつかの実施例」、「例」、「具体的な例」、または「いくつかの例」などという用語を参照して説明することは、本実施例または例に関連して説明された具体的な特徴、構造、材料、または特点が本開示の少なくとも一実施例または例に含まれることを意味する。本明細書において、上記の用語の例示的な表現は、必ずしも同じ実施例または例を対象とする必要はない。さらに、記載された特定の特徴、構造、材料、または特点は、いずれか1つまたは複数の実施例または例において適切な形で組み合わされてもよい。さらに、当業者は、本明細書に記載の異なる実施例または例と、異なる実施例または例の特徴とを、互いに矛盾しない限り、結合しおよび組み合わせることができる。
【0143】
さらに、「第1の」、「第2の」という用語は説明の目的のためだけに使用され、相対的重要性を示したり暗示したりして、あるいは指示された技術的特徴の数を暗黙的に示しているとは理解できない。これにより、「第1の」、「第2の」と限定された特徴は、明示的または暗黙的に少なくとも一つの当該特徴を含むことができる。本開示の説明において、「複数」の意味は、特に具体的な限定がない限り、少なくとも2つ、例えば2つ、3つなどである。
【0144】
フローチャートまたは本明細書で他の方式で記述された任意のプロセスまたは方法の記述は、カスタム論理機能またはプロセスのステップを実装するための1つ以上の実行可能な命令を含むコードを表すモジュール、セグメント、または部分として理解されてもよく、本開示の実施形態の範囲には、関連する機能を実質的に同時にまたは逆の順序で実行することを含む、図示または説明の順序とは異なる別の実装が含まれてもよく、これは本開示の実施例が属する技術分野の当業者に理解されるべきである。
【0145】
フローチャートに表されたり、本明細書で他の方法で説明されたりするロジックおよび/またはステップは、例えば、ロジック機能を実装するための実行可能な命令のシーケンステーブルと考えることができ、命令実行システム、装置、またはデバイス(例えばコンピュータベースのシステム、プロセッサを備えるシステム、または命令実行システム、装置、またはデバイスから命令を取得して実行できる他のシステム)によって、あるいはこれらの命令実行システム、装置、またはデバイスと組み合わせて使用するために、任意のコンピュータ読み取り可能な媒体に実装することができる。本明細書では、「コンピュータ読み取り可能な媒体」とは、命令実行システム、装置またはデバイス、あるいはこれらの命令実行システム、装置またはデバイスと組み合わせて使用するためにプログラムを含み、記憶し、通信し、伝播し、または伝送することができる任意の装置であってもよい。コンピュータ読み取り可能な媒体のより具体的な例(非網羅的リスト)は、1つまたは複数の配線を有する電気的接続部(電子機器)と、ポータブルコンピュータディスクカートリッジ(磁気機器)と、ランダムアクセスメモリ(RAM)と、読み取り専用メモリ(ROM)と、消去可能な編集可能な読み取り専用メモリ(EPROMまたはフラッシュメモリ)と、光ファイバ装置と、ポータブルディスク読み取り専用メモリ(CDROM)とを含む。また、コンピュータ読み取り可能な媒体は、例えば、紙または他の媒体を光学的にスキャンし、その後、編集、解釈、または必要に応じて、他の適切な方法で処理することによって、プログラムを電子的に取得し、コンピュータメモリに記憶することができるので、プログラムを印刷できる紙または他の適切な媒体であってもよい。
【0146】
なお、本開示の各部分は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実装されてもよい。上記実施例では、複数のステップまたは方法は、メモリに記憶され、適切な命令実行システムにより実行されるソフトウェアまたはファームウェアで実装されてもよい。例えば、ハードウェアで実現する場合は、他の実施形態と同様に、データ信号に対して論理的な機能を実現する論理ゲート回路を有する離散論理回路、適切な論理ゲート回路を組み合わせた専用集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)など、当技術分野で知られている技術のいずれか、またはそれらの組み合わせで実現してもよい。
【0147】
当業者であれば、上記の実施例の方法に含まれるステップの全部または一部の実現は、コンピュータ読み取り可能な記憶媒体に記憶されているプログラムによって関連するハードウェアに命令することによって達成され、このプログラムが実行される場合、方法実施例のステップの1つまたはそれらの組み合わせが含まれることを理解できる。
【0148】
また、本開示の各実施例における各機能ユニットは、1つの処理モジュールに統合されてもよいし、各ユニットが個別に物理的に存在していてもよいし、2つ以上のユニットが1つのモジュールに統合されてもよい。上記の統合されたモジュールは、ハードウェアの形で実現されてもよいし、ソフトウェア機能モジュールの形で実現されてもよい。
前記統合されたモジュールは、ソフトウェア機能モジュールの形で実現され、独立した製品として販売または使用される場合、コンピュータ読み取り可能な記憶媒体に記憶されていてもよい。
【0149】
上記の記憶媒体は、読み取り専用メモリ、磁気ディスク、光ディスクなどであってもよい。以上、本開示の実施例を図示および説明したが、上記実施例は例示的なものであり、本開示の制限を理解することはできず、当業者は本開示の範囲内で上記実施例を変更、修正、置換、および変形することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2023-09-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ提供側に適用されるデータ伝送方法であって、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するステップと、
前記データ使用側から送信された暗号文計算結果を受信するステップであって、前記暗号文計算結果が、前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定されるステップと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップと、
を含むデータ伝送方法。
【請求項2】
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するステップが、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、第1の中間復号化データを取得して他のデータ提供側に送信するステップと、
前記他のデータ提供側から送信された第2の中間復号化データを受信するステップと、
前記第1の中間復号化データと前記第2の中間復号化データを融合して、前記平文データを取得するステップと、
を含む請求項1に記載のデータ伝送方法。
【請求項3】
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するステップが、
前記データ提供側の前記秘密鍵断片を生成し、該秘密鍵断片に基づいて前記データ提供側自体の暗号化公開鍵断片と評価公開鍵に対応するターゲット中間結果とを生成するステップと、
前記暗号化公開鍵断片及び前記ターゲット中間結果をブロードキャストするステップと、
前記他のデータ提供側から送信されたそれぞれの前記暗号化公開鍵断片及び前記ターゲット中間結果を受信するステップと、
各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を生成し、各前記ターゲット中間結果に基づいて、前記評価公開鍵を生成するステップと、
を含む請求項1に記載のデータ伝送方法。
【請求項4】
前記データ提供側自体の秘密鍵断片を生成するステップが、
暗号鍵生成パラメータを取得するステップであって、前記暗号鍵生成パラメータが共通パラメータ及び共通乱数を含むステップと、
前記共通パラメータ及び秘密鍵生成アルゴリズムに基づいて、前記秘密鍵断片を取得するステップと、
を含む請求項3に記載のデータ伝送方法。
【請求項5】
前記秘密鍵断片に基づいて、暗号化公開鍵断片と評価公開鍵に対応する中間結果とを生成するステップが、
前記秘密鍵断片、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵断片を生成するステップと、
前記秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、前記ターゲット中間結果を生成するステップと、
を含む請求項4に記載のデータ伝送方法。
【請求項6】
前記秘密鍵断片及び評価公開鍵生成アルゴリズムに基づいて、前記ターゲット中間結果を生成するステップが、
前記秘密鍵断片、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて、前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストするステップと、
他のデータ提供側から送信されたそれぞれの前記第1の中間結果を受信するステップと、
自体の前記第1の中間結果と前記他のデータ提供側の前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得するステップと、
前記秘密鍵断片、前記共通乱数及び前記第2の中間結果に基づいて、前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストするステップと、
を含む請求項5に記載のデータ伝送方法。
【請求項7】
データ使用側に適用されるデータ伝送方法であって、
各データ提供側から送信された暗号文データを受信するステップと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するステップと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するステップと、
を含むデータ伝送方法。
【請求項8】
前記データ提供側から送信された暗号文データを受信するステップの前に、
各前記データ提供側から送信された暗号化公開鍵断片を受信するステップと、
各前記暗号化公開鍵断片に基づいて、前記暗号化公開鍵を取得するステップと、
を含む請求項7に記載のデータ伝送方法。
【請求項9】
前記データ提供側から送信された暗号文データを受信するステップの前に、
各前記データ提供側から送信された評価公開鍵のターゲット中間結果を受信するステップと、
各前記ターゲット中間結果に基づいて、前記評価公開鍵を取得するステップと、
を含む請求項7に記載のデータ伝送方法。
【請求項10】
データ提供側に適用されるデータ伝送装置であって、
前記データ提供側自体の秘密鍵断片と暗号化公開鍵及び評価公開鍵とを生成するための暗号鍵生成モジュールと、
前記暗号化公開鍵を使用してローカルデータを暗号化して、暗号文データを生成してデータ使用側に送信するための暗号化モジュールと、
前記データ使用側から送信された暗号文計算結果を受信するための受信モジュールであって、前記暗号文計算結果が、前記データ使用側によって前記評価公開鍵と受信された前記暗号文データとに基づいて決定される受信モジュールと、
前記秘密鍵断片を使用して前記暗号文計算結果を復号化して、平文データを取得するための復号化モジュールと、
を備えるデータ伝送装置。
【請求項11】
データ使用側に適用されるデータ伝送装置であって、
各データ提供側から送信された暗号文データを受信するための受信モジュールと、
評価公開鍵を使用して各前記暗号文データを暗号化計算して、暗号文計算結果を取得するための暗号化モジュールと、
前記暗号文計算結果を各前記データ提供側にそれぞれ送信して復号化するための送信モジュールと、
を備えるデータ伝送装置。
【請求項12】
プロセッサとメモリとを備え、
前記プロセッサが、請求項1から9のいずれか一項に記載のデータ伝送方法を実現するように、前記メモリに記憶されている実行可能なプログラムコードを読み取って前記実行可能なプログラムコードに対応するプログラムを実行する電子機器。
【請求項13】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記プログラムがプロセッサによって実行される場合、請求項1から9のいずれか一項に記載のデータ伝送方法が実現されるコンピュータ読み取り可能な記憶媒体。
【国際調査報告】