JP6916596B2 - Arithmetic system, arithmetic method and arithmetic program - Google Patents

Arithmetic system, arithmetic method and arithmetic program Download PDF

Info

Publication number
JP6916596B2
JP6916596B2 JP2016094887A JP2016094887A JP6916596B2 JP 6916596 B2 JP6916596 B2 JP 6916596B2 JP 2016094887 A JP2016094887 A JP 2016094887A JP 2016094887 A JP2016094887 A JP 2016094887A JP 6916596 B2 JP6916596 B2 JP 6916596B2
Authority
JP
Japan
Prior art keywords
node
matrix
value
arithmetic
parameter group
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
JP2016094887A
Other languages
Japanese (ja)
Other versions
JP2017203855A (en
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2016094887A priority Critical patent/JP6916596B2/en
Publication of JP2017203855A publication Critical patent/JP2017203855A/en
Application granted granted Critical
Publication of JP6916596B2 publication Critical patent/JP6916596B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、秘匿した2値を演算する演算システム、演算方法及び演算プログラムに関する。 The present invention relates to an arithmetic system, an arithmetic method, and an arithmetic program for calculating a secret binary value.

従来、秘匿した情報を演算する手段として、値を暗号化したまま加法又は乗法の演算が可能なPaillier暗号(例えば、非特許文献1参照)又はmodified−Elgamal暗号などの準同型暗号と呼ばれる暗号方式が用いられている。 Conventionally, as a means for calculating confidential information, a cryptographic method called homomorphic encryption such as Paillier encryption (see, for example, Non-Patent Document 1) or modified-Elgamal encryption, which enables addition or multiplication operations while the value is encrypted. Is used.

Pascal Paillier, Public−Key Cryptosystems Based on Composite Degree Residuosity Classes, EUROCRYPT 1999, pp223−238.Pascal Paillier, Public-Key Cryptosystems Based on Composite Degree Resin Classes, EUROCRYPT 1999, pp223-238.

位置情報を秘匿した上で2点間の距離を求める際には、前述の準同型暗号を利用できる。しかしながら、準同型暗号による演算は処理負荷が大きいため、大規模なデータセットを対象にした場合、処理時間が膨大となっていた。 The above-mentioned homomorphic encryption can be used to obtain the distance between two points while concealing the position information. However, since the processing load of the operation by homomorphic encryption is large, the processing time is enormous when targeting a large-scale data set.

本発明は、秘匿した2値の加減算を高速に行える演算システム、演算方法及び演算プログラムを提供することを目的とする。 An object of the present invention is to provide an arithmetic system, an arithmetic method, and an arithmetic program capable of performing concealed binary addition / subtraction at high speed.

本発明に係る演算システムは、第1の値を保持する第1ノードと、第2の値を保持する第2ノードと、前記第1の値及び前記第2の値の演算を行う第3ノードとを備え、前記第1ノードは、前記第1の値に対してパラメータ群を用いた演算値を要素とする少なくとも1つの行列を生成し、前記第2ノードは、前記第2の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも1つの行列を生成し、前記第3ノードは、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む演算式の値を出力する。 The arithmetic system according to the present invention includes a first node that holds a first value, a second node that holds a second value, and a third node that calculates the first value and the second value. The first node generates at least one matrix having an calculated value using a parameter group as an element with respect to the first value, and the second node with respect to the second value. Therefore, at least one matrix whose elements are the calculated values using the parameter group whose product with the parameter group is constant is generated, and the third node is generated by each of the first node and the second node. Based on some elements of the result obtained by multiplying the obtained matrices, the value of the arithmetic expression including the sum or difference of the first value and the second value is output.

前記第3ノードは、前記第1の値及び前記第2の値の和又は差の2乗と前記定数との積を出力してもよい。 The third node may output the product of the sum or difference squared of the first value and the second value and the constant.

前記第1ノードは、第1のパラメータ群及び第2のパラメータ群を用いた演算値を要素とする第1の行列及び第2の行列を生成し、前記第2ノードは、前記第1のパラメータ群との積が第1の定数になる第3のパラメータ群、及び前記第2のパラメータ群との積が第2の定数になる第4のパラメータ群を用いた演算値を要素とする第3の行列及び第4の行列を生成し、前記第3ノードは、前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む2つの演算式のそれぞれ一部を合計した値を出力した後、前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のうち、残りの部分を合計した値を出力してもよい。 The first node generates a first matrix and a second matrix whose elements are calculated values using the first parameter group and the second parameter group, and the second node generates the first parameter. A third element having a calculated value using a third parameter group in which the product with the group is the first constant and a fourth parameter group in which the product with the second parameter group is the second constant. And the fourth matrix are generated, and the third node is based on some elements of the matrix obtained by multiplying the first matrix and the third matrix. And one of the matrices obtained by multiplying the second matrix and the fourth matrix after outputting the sum of a part of each of the two arithmetic expressions including the sum or difference of the second values. A value obtained by summing up the remaining parts of the two arithmetic expressions may be output based on the elements of the parts.

前記第1ノードは、第1のパラメータ群及び第2のパラメータ群を用いた演算値を要素とする第1の行列及び第2の行列を生成し、前記第2ノードは、前記第1のパラメータ群との積が第1の定数になる第3のパラメータ群、及び前記第2のパラメータ群との積が第2の定数になる第4のパラメータ群を用いた演算値を要素とする第3の行列及び第4の行列を生成し、前記第3ノードは、前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む2つの演算式のそれぞれ一部を合計した値を出力するノードと、前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のうち、残りの部分を合計した値を出力するノードと、に分離されていてもよい。 The first node generates a first matrix and a second matrix whose elements are calculated values using the first parameter group and the second parameter group, and the second node generates the first parameter. A third element having a calculated value using a third parameter group in which the product with the group is the first constant and a fourth parameter group in which the product with the second parameter group is the second constant. And the fourth matrix are generated, and the third node is based on some elements of the matrix obtained by multiplying the first matrix and the third matrix. And a matrix obtained by multiplying the second matrix and the fourth matrix with a node that outputs a value obtained by summing a part of each of the two arithmetic expressions including the sum or difference of the second value. Based on some elements, it may be separated into a node that outputs a value obtained by summing the remaining parts of the two arithmetic expressions.

前記第1ノードは、生成した行列とランダム行列とを乗じて前記第3ノードに提供し、前記第2ノードは、前記ランダム行列の逆行列と生成した行列とを乗じて前記第3ノードに提供してもよい。 The first node multiplies the generated matrix and the random matrix and provides them to the third node, and the second node multiplies the inverse matrix of the random matrix and the generated matrix and provides them to the third node. You may.

本発明に係る演算方法は、第1の値を保持する第1ノードと、第2の値を保持する第2ノードと、前記第1の値及び前記第2の値の演算を行う第3ノードとを備えた演算システムにおいて、前記第1ノードが、前記第1の値に対してパラメータ群を用いた演算値を要素とする少なくとも1つの行列を生成し、前記第2ノードが、前記第2の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも1つの行列を生成し、前記第3ノードが、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む演算式の値を出力する。 The calculation method according to the present invention includes a first node that holds a first value, a second node that holds a second value, and a third node that calculates the first value and the second value. In an arithmetic system including, the first node generates at least one matrix having an arithmetic value using a parameter group as an element for the first value, and the second node is the second. For the value of, at least one matrix whose elements are the calculated values using the parameter group whose product with the parameter group is constant is generated, and the third node is the first node and the second node. Based on some elements of the result obtained by multiplying the matrices generated by each of the above, the value of the arithmetic expression including the sum or difference of the first value and the second value is output.

本発明に係る演算プログラムは、コンピュータを、前記第1ノード、前記第2ノード又は前記第3ノードとして機能させる。 The arithmetic program according to the present invention causes a computer to function as the first node, the second node, or the third node.

本発明によれば、秘匿した2値の加減算を高速に行える。 According to the present invention, concealed binary addition / subtraction can be performed at high speed.

第1実施形態に係る演算システムの構成を示す図である。It is a figure which shows the structure of the arithmetic system which concerns on 1st Embodiment. 第1実施形態に係る演算方法を示すフローチャートである。It is a flowchart which shows the calculation method which concerns on 1st Embodiment. 第2実施形態に係る演算方法を示すフローチャートである。It is a flowchart which shows the calculation method which concerns on 2nd Embodiment. 第3実施形態に係る演算方法を示すフローチャートである。It is a flowchart which shows the calculation method which concerns on 3rd Embodiment.

[第1実施形態]
以下、本発明の第1実施形態について説明する。
図1は、本実施形態に係る演算システム1の構成を示す図である。
[First Embodiment]
Hereinafter, the first embodiment of the present invention will be described.
FIG. 1 is a diagram showing a configuration of an arithmetic system 1 according to the present embodiment.

演算システム1は、演算対象である第1の値p及び第2の値qの一方をそれぞれ保持するノードX(第1ノード)及びノードY(第2ノード)と、2値の演算を行うノードZ(第3ノード)とを備える。
ノードX及びノードYは、値p及びqを定数rに基づくパラメータで秘匿化した行列を、ノードZに提供する。
ノードZは、演算結果をノードX又はノードY、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報(定数r)に基づいて、2値の和又は差を算出する。
The calculation system 1 has a node X (first node) and a node Y (second node) that hold one of the first value p and the second value q, which are the calculation targets, and a node that performs binary calculation. It has a Z (third node).
Node X and node Y provide node Z with a matrix in which the values p and q are concealed by parameters based on the constant r.
Node Z provides the calculation result to node X, node Y, or another node, and the node that receives the calculation result calculates the sum or difference of the two values based on the given information (constant r). ..

ここで、各ノードX、Y及びZは、サーバ又はPCなどの情報処理装置(コンピュータ)により構成され、各ノードの記憶部に格納された所定のプログラム(演算プログラム)を各ノードの制御部が実行することにより、本実施形態の機能を実現する。 Here, each node X, Y, and Z is composed of an information processing device (computer) such as a server or a PC, and the control unit of each node executes a predetermined program (calculation program) stored in the storage unit of each node. By executing it, the function of this embodiment is realized.

図2は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードXが保持する数値pと、ノードYが保持する数値qとの和又は差を、ノードZの演算結果を用いてノードXが取得する。
FIG. 2 is a flowchart showing a calculation method according to the present embodiment.
Here, the node X acquires the sum or difference between the numerical value p held by the node X and the numerical value q held by the node Y by using the calculation result of the node Z.

ステップS1において、ノードXとノードYとの間で、次式を満たすランダムな定数r及びパラメータ群a,a,b,b,c,c,d,d、並びにランダムな2×2の行列Rを取り決める。
=b=c=d=r
In step S1, between node X and node Y, a random constant r and a parameter group a 1 , a 2 , b 1 , b 2 , c 1 , c 2 , d 1 , d 2 , and a random constant r satisfying the following equation, and Arrange a random 2x2 matrix R.
a 1 a 2 = b 1 c 2 = c 1 b 2 = d 1 d 2 = r

ステップS2において、ノードXは、数値pに対してパラメータ群を用いた演算値を要素とする行列Aを生成し、ランダム行列Rとの積ARを保持する。行列Aは、例えば次式のように生成される。

Figure 0006916596
In step S2, the node X generates a matrix A whose elements are calculated values using the parameter group for the numerical value p, and holds the product AR with the random matrix R. The matrix A is generated, for example, as in the following equation.
Figure 0006916596

ステップS3において、ノードYは、数値qに対してパラメータ群を用いた演算値を要素とする行列Bを生成し、ランダム行列Rの逆行列R−1との積R−1Bを保持する。行列Bは、例えば次式のように生成される。

Figure 0006916596
In step S3, the node Y generates a matrix B whose elements are calculated values using the parameter group for the numerical value q, and holds a product R -1 B with the inverse matrix R -1 of the random matrix R. The matrix B is generated, for example, as in the following equation.
Figure 0006916596

ステップS4において、ノードXは、行列ARをノードZへ送信する。
ステップS5において、ノードYは、行列R−1BをノードZへ送信する。
ステップS6において、ノードZは、ノードX及びノードYから受信した行列を掛け合わせ、行列ARR−1B=ABを生成する。

Figure 0006916596
続いて、ノードZは、行列ABの要素のうち、1行1列及び2行2列の値を足す。
+b±2cpq=r(p±q)
ステップS7において、ノードZは、計算結果r(p±q)を、ノードXへ送信する。 In step S4, node X transmits the matrix AR to node Z.
In step S5, node Y transmits the matrix R -1 B to node Z.
In step S6, node Z multiplies the matrices received from node X and node Y to generate matrix ARR -1 B = AB.
Figure 0006916596
Subsequently, the node Z adds the values of 1 row 1 column and 2 rows 2 columns among the elements of the matrix AB.
a 1 a 2 p 2 + b 1 c 2 q 2 ± 2c 1 b 2 pq = r (p ± q) 2
In step S7, the node Z transmits the calculation result r (p ± q) 2 to the node X.

ステップS8において、ノードXは、受信した計算結果r(p±q)を定数rで割り2値の和又は差の2乗を、あるいは、さらに平方根を求めて2値の和又は差を算出する。
なお、計算結果をノードX又はノードYとは異なる別のノードに提供する場合、このノードへは、定数rも提供される。
In step S8, the node X divides the received calculation result r (p ± q) 2 by the constant r to calculate the sum or difference of the two values, or further obtains the square root and calculates the sum or difference of the two values. do.
When the calculation result is provided to a node different from the node X or the node Y, the constant r is also provided to this node.

また、行列A、Bの各要素は、前述の例には限られない。例えば、

Figure 0006916596
とし、積ABの1行1列及び2行2列の値を足すと、前述と同様にr(p±q)が得られる。
また、例えば、
Figure 0006916596
とし、積ABの1行2列及び2行1列の値を足すと、前述と同様にr(p±q)が得られる。
このように、積ABの要素のいずれかを組み合わせることにより、例えば(p±q)の展開式と定数rとの積が構成されるように、行列A及びBが設定されればよい。 Moreover, each element of the matrix A and B is not limited to the above-mentioned example. for example,
Figure 0006916596
Then, by adding the values of the product AB in 1 row and 1 column and 2 rows and 2 columns, r (p ± q) 2 is obtained in the same manner as described above.
Also, for example
Figure 0006916596
Then, by adding the values of the product AB in 1 row and 2 columns and 2 rows and 1 column, r (p ± q) 2 is obtained in the same manner as described above.
In this way, the matrices A and B may be set so that, for example, the product of the expansion equation of (p ± q) 2 and the constant r is constructed by combining any of the elements of the product AB.

本実施形態によれば、演算システム1は、値p及びqをランダムなパラメータを用いて演算し、行列によって秘匿した状態で保持する。そして、演算システム1は、行列演算の結果の一部から、値pとqとの和又は差がパラメータにより秘匿された計算結果を出力する。したがって、演算システム1は、簡便な行列の乗算及び数値計算のみにより加減算を実施できるので、データが多量であっても、秘匿した2値の加減算を高速に行える。 According to the present embodiment, the calculation system 1 calculates the values p and q using random parameters and keeps them in a state concealed by a matrix. Then, the calculation system 1 outputs a calculation result in which the sum or difference between the values p and q is concealed by the parameter from a part of the result of the matrix operation. Therefore, since the arithmetic system 1 can perform addition / subtraction only by simple matrix multiplication and numerical calculation, it is possible to perform concealed binary addition / subtraction at high speed even if there is a large amount of data.

また、演算システム1は、行列の一部の要素から値pとqとの和又は差の2乗と定数rとの積を抽出する。これにより、演算システム1は、例えば2点間のユークリッド距離など、差の2乗を用いた計算を効率的に行える。 Further, the arithmetic system 1 extracts the product of the sum or difference square of the values p and q and the constant r from some elements of the matrix. As a result, the arithmetic system 1 can efficiently perform calculations using the square of the difference, such as the Euclidean distance between two points.

また、演算システム1は、値p及びqから生成した行列に対して、ランダム行列を乗じて保持するので、行列及びパラメータの漏洩に対して安全性が向上する。 Further, since the arithmetic system 1 holds the matrix generated from the values p and q by multiplying it by a random matrix, the safety is improved against leakage of the matrix and parameters.

[第2実施形態]
以下、本発明の第2実施形態について説明する。
本実施形態では、ノードX及びノードYは、値p及びqを、第1の定数r及び第2の定数r’に基づく2セットのパラメータ群で秘匿化した2つの行列を、それぞれノードZに提供する。
ノードZは、演算結果をノードX又はノードY、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報(r+r’)に基づいて、2値の和又は差を算出する。
[Second Embodiment]
Hereinafter, the second embodiment of the present invention will be described.
In this embodiment, node X and node Y conceal two matrices whose values p and q are concealed by two sets of parameter groups based on the first constant r and the second constant r'to node Z, respectively. offer.
Node Z provides the calculation result to node X, node Y, or another node, and the node that receives the calculation result calculates the sum or difference of the two values based on the given information (r + r'). ..

図3は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードXが保持する数値pと、ノードYが保持する数値qとの和又は差を、ノードZの演算結果を用いてノードXが取得する。
FIG. 3 is a flowchart showing a calculation method according to the present embodiment.
Here, the node X acquires the sum or difference between the numerical value p held by the node X and the numerical value q held by the node Y by using the calculation result of the node Z.

ステップS11において、ノードXとノードYとの間で、ランダムな定数rに対応して、第1のパラメータ群a,b,c,dと第3のパラメータ群a,b,c,dとを、また、ランダムな定数r’に対応して、第2のパラメータ群a’,b’,c’,d’と第4のパラメータ群a’,b’,c’,d’とを、次式を満たすように取り決める。また、ランダムな2×2の行列R及びR’がノードXとノードYとの間で取り決められる。
=b=c=d=r
a’a’=b’c’=c’b’=d’d’=r’
In step S11, the first parameter group a 1 , b 1 , c 1 , d 1 and the third parameter group a 2 , b 2 correspond to a random constant r between the node X and the node Y. , and c 2, d 2, also 'in response to the second parameter group a' random constant r 1, b '1, c ' 1, d '1 and the fourth set of parameters a' 2 , b '2, c' 2 , d ' and a 2, arrange so as to satisfy the following equation. Also, random 2x2 matrices R and R'are negotiated between node X and node Y.
a 1 a 2 = b 1 c 2 = c 1 b 2 = d 1 d 2 = r
a '1 a' 2 = b '1 c' 2 = c '1 b' 2 = d '1 d' 2 = r '

ステップS12において、ノードXは、数値pに対して第1のパラメータ群及び第2のパラメータ群を用いた演算値を要素とする第1の行列A及び第2の行列A’を生成し、それぞれランダム行列R及びR’を乗じてAR及びA’R’を保持する。行列A及びA’は、例えば次式のように生成される。

Figure 0006916596
In step S12, the node X generates a first matrix A and a second matrix A'having the calculated values using the first parameter group and the second parameter group as elements for the numerical value p, respectively. Multiply the random matrices R and R'and hold AR and A'R'. The matrices A and A'are generated, for example, as in the following equation.
Figure 0006916596

ステップS13において、ノードYは、数値qに対して第3のパラメータ群及び第4のパラメータ群を用いた演算値を要素とする第3の行列B及び第4の行列B’を生成し、それぞれランダム行列Rの逆行列R−1及びR’の逆行列R’−1を乗じてR−1B及びR’−1B’を保持する。行列B及びB’は、例えば次式のように生成される。

Figure 0006916596
In step S13, the node Y generates a third matrix B and a fourth matrix B'having the calculated values using the third parameter group and the fourth parameter group as elements with respect to the numerical value q, respectively. Multiply the inverse matrix R -1 of the random matrix R and the inverse matrix R'- 1 of R'to hold R -1 B and R'- 1 B'. The matrices B and B'are generated, for example, as in the following equation.
Figure 0006916596

ステップS14において、ノードXは、行列ARをノードZへ送信する。
ステップS15において、ノードYは、行列R−1BをノードZへ送信する。
ステップS16において、ノードZは、ノードX及びノードYから受信した行列を掛け合わせ、行列ARR−1B=ABを生成する。

Figure 0006916596
続いて、ノードZは、行列ABの要素のうち、1行1列及び2行2列の値を足す。
+b±2c’b’pq=r(p+q)±2r’pq
ステップS17において、ノードZは、計算結果を、ノードXへ送信する。
ステップS18において、ノードZは、受信データ及び計算結果を削除する。 In step S14, node X transmits the matrix AR to node Z.
In step S15, node Y transmits the matrix R -1 B to node Z.
In step S16, node Z multiplies the matrices received from node X and node Y to generate matrix ARR -1 B = AB.
Figure 0006916596
Subsequently, the node Z adds the values of 1 row 1 column and 2 rows 2 columns among the elements of the matrix AB.
a 1 a 2 p 2 + b 1 c 2 q 2 ± 2c '1 b' 2 pq = r (p 2 + q 2) ± 2r'pq
In step S17, the node Z transmits the calculation result to the node X.
In step S18, the node Z deletes the received data and the calculation result.

ステップS19において、ノードXは、行列A’R’をノードZへ送信する。
ステップS20において、ノードYは、行列R’−1B’をノードZへ送信する。
ステップS21において、ノードZは、ノードX及びノードYから受信した行列を掛け合わせ、行列A’R’R’−1B’=A’B’を生成する。

Figure 0006916596
続いて、ノードZは、行列ABの要素のうち、1行1列及び2行2列の値を足す。
a’a’+b’c’±2cpq
=r’(p+q)±2rpq
ステップS22において、ノードZは、計算結果を、ノードXへ送信する。
ステップS23において、ノードZは、受信データ及び計算結果を削除する。 In step S19, node X transmits the matrix A'R'to node Z.
In step S20, node Y transmits the matrix R'-1 B'to node Z.
In step S21, node Z multiplies the matrices received from node X and node Y to generate the matrix A'R'R'-1 B'= A'B'.
Figure 0006916596
Subsequently, the node Z adds the values of 1 row 1 column and 2 rows 2 columns among the elements of the matrix AB.
a '1 a' 2 p 2 + b '1 c' 2 q 2 ± 2c 1 b 2 pq
= R'(p 2 + q 2 ) ± 2 rpq
In step S22, the node Z transmits the calculation result to the node X.
In step S23, the node Z deletes the received data and the calculation result.

ステップS24において、ノードXは、受信した計算結果r(p+q)±2r’pqとr’(p+q)±2rpqとを足し、定数(r+r’)で割って2値の和又は差の2乗を、あるいは、さらに平方根を求めて2値の和又は差を算出する。
なお、計算結果をノードX又はノードYとは異なる別のノードに提供する場合、このノードへは、定数(r+r’)も提供される。
In step S24, the node X adds the received calculation result r (p 2 + q 2 ) ± 2 r'pq and r'(p 2 + q 2 ) ± 2 rpq, divides by the constant (r + r'), and is the sum of the two values. Alternatively, the square of the difference, or the square root, is calculated to calculate the sum or difference of the two values.
When the calculation result is provided to a node different from the node X or the node Y, a constant (r + r') is also provided to this node.

本実施形態によれば、演算システム1は、行列AとBとの組による計算結果、及び行列A’とB’との組による計算結果の両方を用いて値p及びqの加減算を行う。したがって、演算システム1は、より秘匿性を高めて、各行列の要素又はパラメータなどの漏洩に対して安全性を向上できる。
また、ノードZにおいて、計算結果を送信したあとにデータを削除することにより、複数のデータを組み合わせて値p又はqが求められるリスクが低減される。
According to the present embodiment, the arithmetic system 1 performs addition and subtraction of the values p and q using both the calculation result by the set of the matrices A and B and the calculation result by the set of the matrices A'and B'. Therefore, the arithmetic system 1 can further improve the confidentiality and improve the safety against leakage of the elements or parameters of each matrix.
Further, in the node Z, by deleting the data after transmitting the calculation result, the risk that the value p or q is obtained by combining the plurality of data is reduced.

なお、本実施形態における前述の行列A,A’,B,B’の要素は一例であり、積ABのいずれかの要素、及び積A’B’のいずれかの要素を組み合わせることにより、例えば(p±q)の展開式と定数(r+r’)との積が構成されるように設定されればよい。 The elements of the above-mentioned matrices A, A', B, B'in the present embodiment are examples, and by combining any element of the product AB and any element of the product A'B', for example. (P ± q) It may be set so that the product of the expansion formula of 2 and the constant (r + r') is constructed.

[第3実施形態]
以下、本発明の第3実施形態について説明する。
本実施形態では、ノードX及びノードYは、値p及びqを、第1の定数r及び第2の定数r’に基づく2セットのパラメータ群で秘匿化した2つの行列を、ノードZ及びノードZに提供する。
ノードZ及びノードZは、演算結果をノードX又はノードY、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報(r+r’)に基づいて、2値の和又は差を算出する。
[Third Embodiment]
Hereinafter, a third embodiment of the present invention will be described.
In the present embodiment, node X and node Y, the value p and q, the two matrices were concealed parameter group 2 set based on the first constant r and the second constant r ', the node Z 1 and Provided to node Z 2.
Node Z 1 and Node Z 2 provide the operation result to node X or node Y, or another node, and the node receiving the operation result is the sum of the two values based on the given information (r + r'). Or calculate the difference.

図4は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードXが保持する数値pと、ノードYが保持する数値qとの和又は差を、ノードZ及びノードZの演算結果を用いてノードXが取得する。
FIG. 4 is a flowchart showing a calculation method according to the present embodiment.
Here, the node X acquires the sum or difference between the numerical value p held by the node X and the numerical value q held by the node Y by using the calculation results of the node Z 1 and the node Z 2.

ステップS31〜S33は、第2実施形態(図3)のステップS11〜S13と共通である。
ステップS34〜S41では、第2実施形態(図3)のステップS14〜S18と、ステップS19〜S23とが、それぞれノードZ及びノードZで並列に処理される。
ステップS42は、第2実施形態(図3)のステップS24と共通である。
Steps S31 to S33 are common to steps S11 to S13 of the second embodiment (FIG. 3).
In steps S34 to S41, steps S14 to S18 and steps S19 to S23 of the second embodiment (FIG. 3) are processed in parallel by the node Z 1 and the node Z 2, respectively.
Step S42 is common to step S24 of the second embodiment (FIG. 3).

本実施形態によれば、演算システム1は、行列AとBとの組による計算結果、及び行列A’とB’との組による計算結果の両方を用いて値p及びqの加減算を行う。さらに、ノードZが2つに分離され、それぞれで行列計算を分担するので、ノードZ及びノードZのそれぞれが取得できるデータが制限され、安全性が向上する。
また、ノードZ及びノードZで並列処理されることにより、処理が高速化される。
According to the present embodiment, the arithmetic system 1 performs addition and subtraction of the values p and q using both the calculation result by the set of the matrices A and B and the calculation result by the set of the matrices A'and B'. Further, since the node Z is separated into two and each of them shares the matrix calculation, the data that can be acquired by each of the node Z 1 and the node Z 2 is limited, and the safety is improved.
Further, the processing is speeded up by performing parallel processing on the node Z 1 and the node Z 2.

[応用例1]
前述のいずれかの実施形態により、n次元のユークリッド距離を計算する応用例1を説明する。
[Application Example 1]
An application example 1 for calculating an n-dimensional Euclidean distance will be described according to any of the above embodiments.

n次元のユークリッド距離の計算では、直交座標系における点P(p,p,・・・,P)及び点Q(q,q,・・・,q)に対して、それぞれの成分を、

Figure 0006916596
と行列に変換する。 In the calculation of the n-dimensional Euclidean distance, for the points P (p 1 , p 2 , ..., P n ) and the point Q (q 1 , q 2 , ..., q n ) in the Cartesian coordinate system, Each ingredient,
Figure 0006916596
And convert to a matrix.

これらの行列の積は、

Figure 0006916596
となるので、1行1列及び2行2列の値を足すと、(p−qが求まる。
したがって、各次元(k)の成分を加算して、平方根を求めることにより、n次元のユークリッド距離d(P,Q)が算出される。
Figure 0006916596
The product of these matrices is
Figure 0006916596
Therefore, (p k − q k ) 2 can be obtained by adding the values of 1 row and 1 column and 2 rows and 2 columns.
Therefore, the n-dimensional Euclidean distance d (P, Q) is calculated by adding the components of each dimension (k) to obtain the square root.
Figure 0006916596

[応用例2]
前述のいずれかの実施形態により、緯度経度情報から距離を計算する応用例2を説明する。
[Application example 2]
An application example 2 for calculating a distance from latitude / longitude information will be described according to any of the above embodiments.

ヒュベニの公式によれば、緯度pで経度pの地点と、緯度qで経度qの地点との距離dは、

Figure 0006916596
で与えられる。ただし、a及びbは、それぞれ赤道半径及び極半径である。
したがって、前述の実施形態により(p−q、(p−q、p+qを求め、この式に代入することで、地点間の距離が算出される。 According to official Hyubeni, and the point of longitude p 2 latitude p 1, the distance d between point longitude q 2 latitude q 1 is
Figure 0006916596
Given in. However, a and b are the equatorial radius and the polar radius, respectively.
Therefore, the distance between the points is calculated by obtaining (p 1 − q 1 ) 2 , (p 2 −q 2 ) 2 , and p 1 + q 1 according to the above-described embodiment and substituting them into this equation.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. In addition, the effects described in the present embodiment merely list the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the present embodiment.

演算システム1による演算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。 The calculation method by the calculation system 1 is realized by software. When realized by software, the programs that make up this software are installed in the information processing device (computer). Further, these programs may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network. Further, these programs may be provided to the user's computer as a Web service via a network without being downloaded.

1 演算システム
X 第1ノード
Y 第2ノード
Z 第3ノード
r 第1の定数
r’ 第2の定数
、b、c、d 第1のパラメータ群
a’、b’、c’、d’ 第2のパラメータ群
、b、c、d 第3のパラメータ群
a’、b’、c’、d’ 第4のパラメータ群
p 第1の値
q 第2の値
A 第1の行列
A’ 第2の行列
B 第3の行列
B’ 第4の行列
R、R’ ランダム行列
1 computing system X first node Y second node Z third node r first constant r 'second constant a 1, b 1, c 1 , d 1 first parameter group a' 1, b '1, c '1, d' 1 second parameter group a 2, b 2, c 2 , d 2 third parameter group a '2, b' 2, c '2, d' 2 fourth parameter group p first Value of 1 q Second value A First matrix A'Second matrix B Third matrix B'Fourth matrix R, R'Random matrix

Claims (6)

第1の値を保持する第1ノードと、第2の値を保持する第2ノードと、前記第1の値及び前記第2の値の演算を行う第3ノードとを備え、
前記第1ノードは、前記第1の値に対してランダムなパラメータ群を用いた所定の演算式により秘匿化した値を要素とする少なくとも1つの行列を生成し、
前記第2ノードは、前記第2の値に対して、前記パラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな定数になるパラメータ群を用いた所定の演算式により秘匿化した値を要素とする少なくとも1つの行列を生成し、
前記第1ノード及び前記第2ノードが用いる所定の演算式のそれぞれは、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせて得られる行列の一部の要素により前記第1の値及び前記第2の値の和又は差を含む演算式を構成可能に設定され、
前記第3ノードは、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせ、前記一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む演算式の値を出力する演算システム。
It includes a first node that holds a first value, a second node that holds a second value, and a third node that performs operations on the first value and the second value.
The first node generates at least one matrix whose elements are values concealed by a predetermined arithmetic expression using a random parameter group with respect to the first value.
The second node is a predetermined arithmetic expression using a parameter group in which the product of the second value and the parameter group is a random constant agreed between the first node and the second node. Generate at least one matrix whose elements are the values concealed by
Each of the predetermined arithmetic expressions used by the first node and the second node is based on a part of the matrix elements obtained by multiplying the matrices generated by the first node and the second node. And the arithmetic expression including the sum or difference of the second value is set to be configurable.
The third node multiplies the matrices generated by each of the first node and the second node, and based on some of the elements, adds or differs the first value and the second value. An arithmetic system that outputs the value of an arithmetic expression that includes it.
前記第3ノードは、前記第1の値及び前記第2の値の和又は差の2乗と前記定数との積を出力する請求項1に記載の演算システム。 The arithmetic system according to claim 1, wherein the third node outputs a product of the sum or difference square of the first value and the second value and the constant. 前記第1ノードは、ランダムな第1のパラメータ群及び第2のパラメータ群を用いた所定の演算式により秘匿化した値を要素とする第1の行列及び第2の行列を生成し、
前記第2ノードは、前記第1のパラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな第1の定数になる第3のパラメータ群、及び前記第2のパラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな第2の定数になる第4のパラメータ群を用いた所定の演算式により秘匿化した値を要素とする第3の行列及び第4の行列を生成し、
前記第1ノード及び前記第2ノードにおいて前記第1の行列及び前記第3の行列を生成するための所定の演算式のそれぞれは、前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む2つの演算式のそれぞれ一部を合計した式を構成可能に設定され、
前記第1ノード及び前記第2ノードにおいて前記第2の行列及び前記第4の行列を生成するための所定の演算式のそれぞれは、前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む前記2つの演算式のうち、残りの部分を合計した式を構成可能に設定され、
前記第3ノードは、
前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のそれぞれ一部を合計した値を出力した後、
前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のうち、残りの部分を合計した値を出力する請求項1又は請求項2に記載の演算システム。
The first node generates a first matrix and a second matrix whose elements are values concealed by a predetermined arithmetic expression using a random first parameter group and a second parameter group.
The second node is a third parameter group in which the product with the first parameter group is a random first constant negotiated between the first node and the second node, and the second parameter. A third element whose element is a value concealed by a predetermined arithmetic expression using a fourth parameter group in which the product with the group becomes a random second constant agreed between the first node and the second node. And a fourth matrix,
Each of the predetermined arithmetic expressions for generating the first matrix and the third matrix in the first node and the second node is obtained by multiplying the first matrix and the third matrix. Based on a part of the elements of the obtained matrix, an expression obtained by summing a part of each of two arithmetic expressions including the sum or difference of the first value and the second value is set to be configurable.
Each of the predetermined arithmetic expressions for generating the second matrix and the fourth matrix in the first node and the second node is obtained by multiplying the second matrix and the fourth matrix. Based on a part of the elements of the obtained matrix, an expression obtained by summing the remaining parts of the two arithmetic expressions including the sum or difference of the first value and the second value is set to be configurable. ,
The third node is
After outputting the said first matrix based on some elements of the third matrix and the multiplying was obtained matrix, the value which is the sum of some respective front SL two arithmetic expressions,
Claim 1 or claim 1 or which outputs a value obtained by summing up the remaining parts of the two arithmetic expressions based on a part of the elements of the matrix obtained by multiplying the second matrix and the fourth matrix. The arithmetic system according to claim 2.
前記第1ノードは、ランダムな第1のパラメータ群及び第2のパラメータ群を用いた所定の演算式により秘匿化した値を要素とする第1の行列及び第2の行列を生成し、
前記第2ノードは、前記第1のパラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな第1の定数になる第3のパラメータ群、及び前記第2のパラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな第2の定数になる第4のパラメータ群を用いた所定の演算式により秘匿化した値を要素とする第3の行列及び第4の行列を生成し、
前記第1ノード及び前記第2ノードにおいて前記第1の行列及び前記第3の行列を生成するための所定の演算式のそれぞれは、前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む2つの演算式のそれぞれ一部を合計した式を構成可能に設定され、
前記第1ノード及び前記第2ノードにおいて前記第2の行列及び前記第4の行列を生成するための所定の演算式のそれぞれは、前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む前記2つの演算式のうち、残りの部分を合計した式を構成可能に設定され、
前記第3ノードは、
前記第1の行列と前記第3の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のそれぞれ一部を合計した値を出力するノードと、
前記第2の行列と前記第4の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記2つの演算式のうち、残りの部分を合計した値を出力するノードと、に分離されている請求項1又は請求項2に記載の演算システム。
The first node generates a first matrix and a second matrix whose elements are values concealed by a predetermined arithmetic expression using a random first parameter group and a second parameter group.
The second node is a third parameter group in which the product with the first parameter group is a random first constant negotiated between the first node and the second node, and the second parameter. A third element whose element is a value concealed by a predetermined arithmetic expression using a fourth parameter group in which the product with the group becomes a random second constant agreed between the first node and the second node. And a fourth matrix,
Each of the predetermined arithmetic expressions for generating the first matrix and the third matrix in the first node and the second node is obtained by multiplying the first matrix and the third matrix. Based on a part of the elements of the obtained matrix, an expression obtained by summing a part of each of two arithmetic expressions including the sum or difference of the first value and the second value is set to be configurable.
Each of the predetermined arithmetic expressions for generating the second matrix and the fourth matrix in the first node and the second node is obtained by multiplying the second matrix and the fourth matrix. Based on a part of the elements of the obtained matrix, an expression obtained by summing the remaining parts of the two arithmetic expressions including the sum or difference of the first value and the second value is set to be configurable. ,
The third node is
A node for outputting said first matrix based on some elements of the third matrix and the multiplying was obtained matrix, the value which is the sum of some respective front SL two arithmetic expressions,
Based on a part of the elements of the matrix obtained by multiplying the second matrix and the fourth matrix, the node that outputs the sum of the remaining parts of the two arithmetic expressions is added to the node. The arithmetic system according to claim 1 or 2, which is separated.
前記第1ノードは、生成した行列とランダム行列とを乗じて前記第3ノードに提供し、
前記第2ノードは、前記ランダム行列の逆行列と生成した行列とを乗じて前記第3ノードに提供する請求項1から請求項4のいずれかに記載の演算システム。
The first node multiplies the generated matrix and the random matrix and provides them to the third node.
The arithmetic system according to any one of claims 1 to 4, wherein the second node is provided to the third node by multiplying the inverse matrix of the random matrix and the generated matrix.
第1の値を保持する第1ノードと、第2の値を保持する第2ノードと、前記第1の値及び前記第2の値の演算を行う第3ノードとを備えた演算システムにおいて、
前記第1ノードが、前記第1の値に対してランダムなパラメータ群を用いた所定の演算式により秘匿化した値を要素とする少なくとも1つの行列を生成し、
前記第2ノードが、前記第2の値に対して、前記パラメータ群との積が前記第1ノード及び前記第2ノードの間で取り決めたランダムな定数になるパラメータ群を用いた所定の演算式により秘匿化した値を要素とする少なくとも1つの行列を生成し、
前記第1ノード及び前記第2ノードが用いる所定の演算式のそれぞれは、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせて得られる行列の一部の要素により前記第1の値及び前記第2の値の和又は差を含む演算式を構成可能に設定され、
前記第3ノードが、前記第1ノード及び前記第2ノードのそれぞれが生成した行列を掛け合わせ、前記一部の要素に基づいて、前記第1の値及び前記第2の値の和又は差を含む演算式の値を出力する演算方法。
In an arithmetic system including a first node holding a first value, a second node holding a second value, and a third node performing operations on the first value and the second value.
The first node generates at least one matrix whose elements are values concealed by a predetermined arithmetic expression using a random parameter group with respect to the first value.
A predetermined arithmetic expression using a parameter group in which the product of the parameter group with respect to the second value is a random constant agreed between the first node and the second node. Generate at least one matrix whose elements are the values concealed by
Each of the predetermined arithmetic expressions used by the first node and the second node is based on a part of the matrix elements obtained by multiplying the matrices generated by the first node and the second node. And the arithmetic expression including the sum or difference of the second value is set to be configurable.
The third node multiplies the matrices generated by each of the first node and the second node, and based on some of the elements, adds or differs the first value and the second value. An arithmetic method that outputs the value of an arithmetic expression that includes it.
JP2016094887A 2016-05-10 2016-05-10 Arithmetic system, arithmetic method and arithmetic program Active JP6916596B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016094887A JP6916596B2 (en) 2016-05-10 2016-05-10 Arithmetic system, arithmetic method and arithmetic program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016094887A JP6916596B2 (en) 2016-05-10 2016-05-10 Arithmetic system, arithmetic method and arithmetic program

Publications (2)

Publication Number Publication Date
JP2017203855A JP2017203855A (en) 2017-11-16
JP6916596B2 true JP6916596B2 (en) 2021-08-11

Family

ID=60323258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016094887A Active JP6916596B2 (en) 2016-05-10 2016-05-10 Arithmetic system, arithmetic method and arithmetic program

Country Status (1)

Country Link
JP (1) JP6916596B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008228261A (en) * 2007-03-12 2008-09-25 Kazuhiro Nakagawa Method and apparatus for sharing common data in cryptographic manner and transmitting the same
US8539220B2 (en) * 2010-02-26 2013-09-17 Microsoft Corporation Secure computation using a server module
JP5492241B2 (en) * 2012-03-28 2014-05-14 株式会社東芝 Secret calculation system, aggregation device, and aggregation result decoding program
JP2014126865A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Device and method for encryption processing
JP2015194959A (en) * 2014-03-31 2015-11-05 ソニー株式会社 Information processor, information processing method and program

Also Published As

Publication number Publication date
JP2017203855A (en) 2017-11-16

Similar Documents

Publication Publication Date Title
Gai et al. Blend arithmetic operations on tensor-based fully homomorphic encryption over real numbers
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
JP2014044264A (en) Secret distribution device and secret distribution program
Hussain et al. A novel image encryption algorithm based on chaotic maps and GF (2 8) exponent transformation
JP6730741B2 (en) Processing device, processing method, processing program, and cryptographic processing system
JP6832013B2 (en) Processing device, inference device, learning device, processing system, processing method, and processing program
JP2021064008A (en) Processing device, inference device, learning device, processing system, processing method, and processing program
Das et al. A new modified version of standard RSA cryptography algorithm
Haenni et al. Pseudo-code algorithms for verifiable re-encryption mix-nets
JP6585846B2 (en) Secret calculation system, secret calculation device, secret calculation method, and program
WO2018216512A1 (en) Secret tamper detection system, secret tamper detection device, method for detecting secret tamper, and program
JP6916596B2 (en) Arithmetic system, arithmetic method and arithmetic program
Aly et al. Practically efficient secure distributed exponentiation without bit-decomposition
Diallo et al. Callforfire: A mission-critical cloud-based application built using the nomad framework
WO2019163636A1 (en) Secret calculation device, secret calculation authentication system, secret calculation method, and program
Muhammed et al. Improved cloud-based N-primes model for symmetric-based fully homomorphic encryption using residue number system
Dasgupta et al. Colour image encryption based on multiple fractional order chaotic systems
CN113626841A (en) Selection problem processing method based on multi-party security calculation
JP6370230B2 (en) Secret calculation control device, secret calculation control method, and secret calculation control program
Lupascu et al. Acceleration techniques for fully-homomorphic encryption schemes
EP3391264B1 (en) Calculating device and method
US20200218833A1 (en) Secure reading apparatus, secure writing apparatus, method thereof, and program
Karolin et al. Visual Cryptography Secret Share Creation Techniques with Multiple Image Encryption and Decryption Using Elliptic Curve Cryptography
Obimbo et al. A Parallel Algorithm for determining the inverse of a matrix for use in blockcipher encryption/decryption
Janratchakool et al. Finding the optimal value for threshold cryptography on cloud computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200929

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200929

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201007

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201013

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20201106

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20201110

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210302

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210406

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210525

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210629

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210716

R150 Certificate of patent or registration of utility model

Ref document number: 6916596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150