JPWO2020116807A5 - - Google Patents
Download PDFInfo
- Publication number
- JPWO2020116807A5 JPWO2020116807A5 JP2021532251A JP2021532251A JPWO2020116807A5 JP WO2020116807 A5 JPWO2020116807 A5 JP WO2020116807A5 JP 2021532251 A JP2021532251 A JP 2021532251A JP 2021532251 A JP2021532251 A JP 2021532251A JP WO2020116807 A5 JPWO2020116807 A5 JP WO2020116807A5
- Authority
- JP
- Japan
- Prior art keywords
- homomorphic
- ciphertext
- value
- ciphertexts
- calculated
- 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.)
- Granted
Links
- 239000002131 composite material Substances 0.000 description 10
- 230000000875 corresponding Effects 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000002194 synthesizing Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Description
このような問題を解決するために、準同形暗号化方法が研究されている。準同形暗号化によると、暗号化された情報を復号化せずに、暗号文そのもので演算を行うとしても、平文に対して演算した後、暗号化した値と同じ結果を得ることができる。そのため、暗号文を復号化していない状態で各種演算を行うことができる。
しかし、従来の準同形暗号文は、足し算及び掛け算などの一部の演算のみをサポートしていたとの点において、準同形暗号文に対して比較演算のような非多項式演算を適用することができる方法が求められている。
本発明は、以上のような目的を達成するためのものであって、本暗号文演算方法は、複数の準同形暗号文に対する比較演算命令を入力されるステップと、前記比較演算命令に対応する合成関数に、前記複数の準同形暗号文を反映して演算するステップと、前記演算された準同形暗号文を出力するステップとを含む。
一方、本発明の一実施形態に係る演算装置は、少なくとも1つのインストラクション(instruction)を保存するメモリと、前記少なくとも1つのインストラクションを行うプロセッサとを含み、前記プロセッサは、前記少なくとも1つのインストラクションを行うことで、複数の準同形暗号文に対する比較演算命令を入力されると、前記比較演算命令に対応する合成関数に、前記複数の準同形暗号文を反映して演算し、前記演算された準同形暗号文を出力する。
以上説明したように、本発明によれば、準同形暗号文処理方法は、合成関数を用いて、近似暗号化された暗号文に対する比較演算を行うことができるようになる。更に、本発明で提案した合成関数は、複雑度が低いため、正確度が高くなったとしても、より速い演算ができるようになる。
各電子装置100-1~100-nは、入力された情報を準同形暗号化し、準同形暗号文を第1サーバ装置200に伝送してよい。
各電子装置100-1~100-nは、準同形暗号化を行う過程で算出される暗号化ノイズ、即ち、エラーを暗号文に含めてよい。具体的には、各電子装置100-1~100-nから生成する準同形暗号文は、以後、秘密鍵を用いて復号化した際、メッセージ及びエラー値を含む結果値が復元される形で生成されてよい。
一例として、電子装置100-1~100-nから生成される準同形暗号文は、秘密鍵を用いて復号化した際、次のような性質を満たす形で生成されてよい。
第1サーバ装置200は、受信された準同形暗号文を復号化せずに、暗号文の状態で保存してよい。
第2サーバ装置300は、準同形暗号文に対する特定の処理結果を第1サーバ装置200にリクエストしてよい。第1サーバ装置200は、第2サーバ装置300のリクエストに応じて特定演算を行った後、その結果を第2サーバ装置300に伝送してよい。
準同形暗号文の性質上、第1サーバ装置200は復号化を行っていない状態で演算を行ってよく、その結果値も暗号文の形態になる。本発明では、演算によって獲得された結果値を演算結果暗号文と称する。
第1サーバ装置200は、演算結果暗号文を第2サーバ装置300に伝送してよい。第2サーバ装置300は、受信された演算結果暗号文を復号化し、各準同形暗号文に含まれたデータの演算結果値を獲得してよい。
具体的に、図1のシステムにおいて、第1電子装置、第2電子装置などのように準同形暗号文を行う装置、第1サーバ装置などのように準同形暗号文を演算する装置、第2サーバ装置などのように準同形暗号文を復号する装置などを演算装置と称してよい。このような演算装置は、PC(Personal computer)、ノートパソコン、スマートフォン、タブレット、サーバなど多様な装置であってよい。
そして、通信装置410は、外部装置からメッセージを受信してよく、生成した準同形暗号文を外部装置に送信してよい。
なお、通信装置410は、外部装置から準同形暗号文に対する演算をリクエストされてよく、それにより、計算された結果を外部装置に伝送してよい。ここで、リクエストされた演算は、足し算、引き算、掛け算のような演算であってよく、非多項式演算である比較演算であってよい。
そして、メモリ420は、後述する過程で生成された準同形暗号文を保存してよい。そして、メモリ420は、外部装置から伝送した準同形暗号文を保存してよい。なお、メモリ420は、後述する演算過程における結果物である演算結果暗号文を保存してよい。
プロセッサ450は、伝送しようとするメッセージが入力されると、メモリ420に保存してよい。そして、プロセッサ450は、メモリ420に保存された各種設定値及びプログラムを用いて、メッセージを準同形暗号化してよい。この場合、公開鍵が使用されてよい。
一方、上述の数式3のリングは、平文空間で複素数を有する。一方、準同形暗号文に対する演算速度を向上するために、上述のリングの集合のうち、平文空間が実数である集合のみを利用してよい。
そして、プロセッサ450は、メッセージに対する準同形暗号文を生成してよい。具体的に、プロセッサ450は、メッセージに対して、先に生成された公開鍵を適用して準同形暗号文を生成してよい。このとき、プロセッサ450は、暗号文の長さをスケーリングファクタの大きさに対応するように生成してよい。
そして、プロセッサ450は、準同形暗号文が生成されると、メモリ420に保存するか、ユーザのリクエスト又は予め設定されたデフォルトコマンドに応じて、準同形暗号文を他の装置に伝送するように通信装置410を制御してよい。
一方、本発明の一実施形態によると、パッキング(Packing)が行われてよい。準同形暗号化でパッキングを利用するようになると、複数のメッセージを1つの暗号文で暗号化することが可能になる。この場合、演算装置400で各暗号文の間の演算を行うと、結果的に複数のメッセージに対する演算が並列的に処理されるため、演算の負担が大幅に軽減する。
具体的に、プロセッサ450は、メッセージが複数のメッセージベクトルで行われる場合、複数のメッセージベクトルを並列的に暗号化できる形態の多項式に変換した後、その多項式にスケーリングファクタを乗算し、公開鍵を用いて準同形暗号化してよい。それにより、複数のメッセージベクトルをパッキングした暗号文を生成してよい。
そして、プロセッサ450は、準同形暗号文に対する復号が必要な場合、準同形暗号文に秘密鍵を適用して多項式形態の復号文を生成し、多項式形態の復号文をデコードしてメッセージを生成してよい。このとき、生成したメッセージは、上述した数式1で言及したように、エラーを含んでよい。
そして、プロセッサ450は、暗号文に対する演算を行ってよい。具体的に、プロセッサ450は、準同形暗号文に対して暗号化された状態を維持した状態で、足し算、引き算又は掛け算などの演算を行ってよい。
なお、プロセッサ450は、暗号文に対しても、足し算、引き算又は掛け算以外の演算を有する多項式に対する演算を行ってよい。具体的に、準同形暗号文は、足し算、引き算、掛け算に対しては閉じているが、その他の演算に対しては閉じていない。
図3を参照すると、各準同形暗号文10、20は、近似メッセージ領域11、21をそれぞれ含んでよい。近似メッセージ領域11、21には、メッセージ及びエラー(m1+e1、m2+e2)が一緒に入っている。
演算装置400は、両準同形暗号文10、20を入力値とし、特定の演算を行ってよい。このような演算は、足し算、引き算、掛け算で構成される多項式演算であってよく、近似関数の利用が必要な多項式演算又は非多項式演算であってよい。
上述の数式9、10を参照すると、足し算、引き算、定数2割などは、準同形暗号文の状態で演算してよいが、平方根演算は準同形暗号文の状態ではできない。従って、平方根演算に対しては近似多項式が必要であり、入力値を初期値として有する第1変数と、入力値から1を引いた値を初期値として有する第2変数に対する第1関数と、第2変数を有する第2関数を予め設定された回数分繰り返し演算する合成関数を用いる。平方根演算の具体的な動作は、図6を参照して後述する。
図4を参照すると、複数の準同形暗号文に対する比較演算命令を受信してよい(S410)。このような命令は、外部装置から入力されてよく、演算装置で直接入力されてよい。そして、このような比較演算は、最小値算出、最大値算出、大きさの比較のうちのいずれかであってよい。
そして、比較演算命令に対応する合成関数に複数の準同形暗号文を反映して演算してよい(S420)。具体的に、θ(α)又はθ(αlogα)の複雑度(complexity)を有する合成関数を用いて比較演算を行ってよい。
そして、演算された準同形暗号文を出力してよい(S430)。具体的に、演算をリクエストした装置に演算結果を出力してよい。
例えば、準同形暗号文A、Bに対する最大値計算がリクエストされると、演算装置700は、図7に示すように、[1](A+B)/2値と(A-B)/2値は計算し、[2](A-B)/2を二乗計算し、二乗計算された値を平方根演算に対応する合成関数を用いて予め設定された回数(d)分繰り返し、[3]合成関数の結果と、既に計算した(A+B)/2値を足して最大値を算出してよい。
一方、準同形暗号文A、Bに対する最小値の計算がリクエストされると、演算装置700は、図7に示すように、[1](A+B)/2値と(A-B)/2値は計算し、[2](A-B)/2を二乗計算し、二乗計算された値を平方根演算に対応する合成関数を用いて予め設定された回数(d)分繰り返し、[3]既に計算した(A+B)/2値に合成関数の結果を引いて最小値を算出してよい。
一方、以上では、2つの値のみを比較し、最大値又は最小値を出力するものとして示して説明しているが、実現時には、3つ以上の準同形暗号部に対しても、最大値算出及び最小値算出を行うこともできる。例えば、3つの準同形暗号文があれば、第1と第2暗号文を比較した後、その結果と残りの準同形暗号文とを比較し、3つのうち最も大きい値、又は3つのうち最も小さい値を算出することもできる。
数式14を参照すると、比較関数に対する近似関数はインバース演算が含まれている。よって、数式14のようにな近似関数を用いて、準同形暗号文A、Bに対する大きさの比較演算を行う場合、演算装置400は、図8に示すように、初期値(a0、b0)を算出し、初期値算出の後、[1]図5に関連して説明したようなインバースに対応する合成関数を用いて、Inv(amn+bmn;d)演算を行うことができる。そして、[2]インバース演算値に、amn値を掛け算、[3]1に先立って計算された値(an+1)を引く演算を予め設定された回数(t)分繰り返し、比較演算結果値を算出してよい。
図9を参照すると、準同形暗号文に対する大きさの比較演算命令がリクエストされると、演算装置400は、[1]2値の差を計算する演算(a-b)、[2]当該演算値を数式17を用いて、予め設定された回数(d)分繰り返し演算するステップ、[3]演算値に定数演算を行うステップを行い、比較演算を行ってよい。
図11を参照すると、準同形暗号文に対する大きさの比較演算命令がリクエストされると、演算装置400は、[1]2値の差を計算する演算(a-b)、[2]当該演算値を図10のような方式で算出された合成関数(gn(x))に、予め設定された回数(dg)分繰り返し演算するステップ、[3]当該演算値を数式17(fn(x))を用いて、予め設定された回数(df)分繰り返し演算するステップ、[4]演算値に定数演算を行うステップを行い、比較演算を行ってよい。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862776883P | 2018-12-07 | 2018-12-07 | |
US62/776,883 | 2018-12-07 | ||
KR1020190128403A KR102297536B1 (ko) | 2018-12-07 | 2019-10-16 | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
KR10-2019-0128403 | 2019-10-16 | ||
PCT/KR2019/015410 WO2020116807A1 (ko) | 2018-12-07 | 2019-11-13 | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022513185A JP2022513185A (ja) | 2022-02-07 |
JPWO2020116807A5 true JPWO2020116807A5 (ja) | 2022-09-26 |
JP7170878B2 JP7170878B2 (ja) | 2022-11-14 |
Family
ID=70974355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021532251A Active JP7170878B2 (ja) | 2018-12-07 | 2019-11-13 | 暗号文に対する非多項式演算を行う装置及び方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11799628B2 (ja) |
JP (1) | JP7170878B2 (ja) |
WO (1) | WO2020116807A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11637700B2 (en) * | 2020-08-14 | 2023-04-25 | Samsung Electronics Co., Ltd. | Method and apparatus with encryption based on error variance in homomorphic encryption |
US11700110B2 (en) * | 2020-09-16 | 2023-07-11 | The Johns Hopkins University | Approximate algebraic operations for homomorphic encryption |
KR102409958B1 (ko) * | 2020-11-10 | 2022-06-20 | 서울대학교산학협력단 | 전자 장치, 그 제어 방법 및 서버 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59173817A (ja) | 1983-03-22 | 1984-10-02 | Panafacom Ltd | 関数演算処理方式 |
WO2012149395A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
US9281941B2 (en) * | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
US9819650B2 (en) | 2014-07-22 | 2017-11-14 | Nanthealth, Inc. | Homomorphic encryption in a healthcare network environment, system and methods |
KR102402625B1 (ko) | 2015-07-02 | 2022-05-27 | 삼성전자주식회사 | 데이터를 관리하는 방법 및 그를 위한 장치들 |
US9900147B2 (en) * | 2015-12-18 | 2018-02-20 | Microsoft Technology Licensing, Llc | Homomorphic encryption with optimized homomorphic operations |
US20170293913A1 (en) * | 2016-04-12 | 2017-10-12 | The Governing Council Of The University Of Toronto | System and methods for validating and performing operations on homomorphically encrypted data |
JP6660319B2 (ja) | 2017-02-03 | 2020-03-11 | Kddi株式会社 | 分類装置、分類方法及び分類プログラム |
US10749665B2 (en) * | 2017-06-29 | 2020-08-18 | Microsoft Technology Licensing, Llc | High-precision rational number arithmetic in homomorphic encryption |
CN111373401B (zh) * | 2017-11-27 | 2023-04-25 | 三菱电机株式会社 | 同态推理装置、同态推理方法、计算机能读取的存储介质和隐匿信息处理系统 |
KR102550812B1 (ko) * | 2018-10-26 | 2023-07-03 | 삼성에스디에스 주식회사 | 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치 |
-
2019
- 2019-11-13 US US17/311,567 patent/US11799628B2/en active Active
- 2019-11-13 JP JP2021532251A patent/JP7170878B2/ja active Active
- 2019-11-13 WO PCT/KR2019/015410 patent/WO2020116807A1/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110214433B (zh) | 一种进行同态加密的终端装置及其加密方法、服务器装置的密文处理方法 | |
CN109831430B (zh) | 一种云计算环境下的安全可控高效的数据共享方法及系统 | |
JP6507171B2 (ja) | 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法 | |
KR102550812B1 (ko) | 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치 | |
KR102297536B1 (ko) | 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
CN113904808B (zh) | 一种私钥分发、解密方法、装置、设备及介质 | |
KR100960113B1 (ko) | 고속처리 가능한 아리아 암복호화 장치 | |
KR101449239B1 (ko) | 환 동형 사상을 이용한 동형 암호화 방법과 복호화 방법 및 이를 이용한 장치 | |
KR101233682B1 (ko) | 타원곡선암호를 위한 연산 장치 및 방법 | |
KR20200087061A (ko) | 근사 암호화된 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법 | |
JP7170878B2 (ja) | 暗号文に対する非多項式演算を行う装置及び方法 | |
JPH07253752A (ja) | 疑似乱数生成装置と該装置により生成された疑似乱数に基づく暗号文を用いる通信方法とその装置 | |
CN113098675A (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
KR102203238B1 (ko) | 모듈러 곱셈 연산을 수행하는 연산 장치 및 방법 | |
CN110266481B (zh) | 基于矩阵的后量子加、解密方法与解密装置 | |
KR100817048B1 (ko) | 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치 | |
JPWO2020116807A5 (ja) | ||
KR102304992B1 (ko) | 동형 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법 | |
KR101707334B1 (ko) | 효율적인 타원곡선 암호화 연산 장치 및 그 방법 | |
Yudheksha et al. | A study of AES and RSA algorithms based on GPUs | |
Kim et al. | A modified exhaustive search on a password system using SHA-1 | |
KR102337865B1 (ko) | 동형 암호에 기초한 산술 연산 시스템 및 이를 이용한 동형 암호 산술 연산 방법 | |
JP2015082077A (ja) | 暗号化装置、制御方法、及びプログラム | |
JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |