JP2008176193A - Calculation method and device for secrecy function, and program - Google Patents

Calculation method and device for secrecy function, and program Download PDF

Info

Publication number
JP2008176193A
JP2008176193A JP2007011354A JP2007011354A JP2008176193A JP 2008176193 A JP2008176193 A JP 2008176193A JP 2007011354 A JP2007011354 A JP 2007011354A JP 2007011354 A JP2007011354 A JP 2007011354A JP 2008176193 A JP2008176193 A JP 2008176193A
Authority
JP
Japan
Prior art keywords
secret
ciphertext
outputs
random number
operation device
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
Application number
JP2007011354A
Other languages
Japanese (ja)
Other versions
JP4979068B2 (en
Inventor
Koji Senda
浩司 千田
Harutake Morohashi
玄武 諸橋
Keiichi Hirota
啓一 廣田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007011354A priority Critical patent/JP4979068B2/en
Publication of JP2008176193A publication Critical patent/JP2008176193A/en
Application granted granted Critical
Publication of JP4979068B2 publication Critical patent/JP4979068B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce computational quantity when calculating functions using a secrecy circuit calculation without revealing input data. <P>SOLUTION: A code text Z=(E(x<SB>1</SB>, r<SB>1</SB>), ..., E(X<SB>n</SB>, r<SB>n</SB>)) of the set X=(x<SB>1</SB>, ..., x<SB>n</SB>) of n of numerical values is input and calculated while elements of X are kept secret, wherein E is an encrypting function and r<SB>i</SB>is a random number. The calculation is carried out in the following steps: 1. The formula (1) is calculated, wherein r<SB>i</SB>' is a random number, through a permutation π of a set ä1, ..., n} and re-encryption of E to obtain an agitated code text Z' instead of the code text Z as an input to a comparator network (step 1). 2. Each comparator is represented as a logical expression, and the relationship about the size of a normal text corresponding to the input code text Z is obtained by using an existing secrecy circuit calculation (step 2). <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は暗号応用技術に関するものであり、特に入力データを明かすことなく関数計算を行う技術に関する。   The present invention relates to a cryptographic application technique, and more particularly to a technique for performing a function calculation without revealing input data.

入力データを秘匿したまま論理演算を行う方法は秘匿回路計算と呼ばれる。計算対象の関数を論理式で表現し、その論理式にしたがって秘匿回路計算を実行することで、入力データを秘匿したまま関数計算できるようになる。適用例として、計算対象の関数を統計演算とし、プライバシ保護の観点から、個人のデータは秘匿したまま統計データのみ得るといった方法が挙げられる。   A method of performing a logical operation while keeping input data secret is called secret circuit calculation. By expressing the function to be calculated as a logical expression and executing the secret circuit calculation according to the logical expression, the function can be calculated while keeping the input data secret. As an application example, there is a method in which a calculation target function is a statistical calculation, and from the viewpoint of privacy protection, only statistical data is obtained while keeping private data secret.

非特許文献1では、加法準同型ElGamal暗号を用いて入力データを明かすことなく論理演算を行う技術が提案されている。本技術を用いて、例えばm個の数値の集合A=(a1,・・・,am)に対して、Aの要素を明かすことなくAをソートすることができる。 Non-Patent Document 1 proposes a technique for performing a logical operation without revealing input data using additive homomorphic ElGamal encryption. Using this technique, for example, A can be sorted without revealing the elements of A for a set of m numerical values A = (a 1 ,..., A m ).

G.Yamamoto,K.Chida,A.Nasciment,K.Suzuki,and S.Uchiyama,Effcient,non-optimistic secure circuit evaluation based on the ElGamal encryption,WISA 2005,Lecture Notes in Computer Science,pp.328-343,Springer-Verlag,2005.G. Yamamoto, K. Chida, A. Nasciment, K.M. Suzuki, and S. Uchiyama, Effcient, non-optimistic secure circuit evaluation based on the ElGamal encryption, WISA 2005, Lecture Notes in Computer Science, pp. 328-343, Springer-Verlag, 2005.

秘匿回路計算は論理素子毎に膨大な計算が必要となり、対象の関数について秘匿回路計算を用いて入力データを秘匿したまま計算するためには,秘匿しない場合と比べてはるかに処理時間がかかってしまう。   Hidden circuit calculation requires enormous calculations for each logic element, and it takes much more processing time than the case of not concealing to calculate the target function with the hidden circuit calculation using the hidden circuit calculation. End up.

このような状況を踏まえ、本発明が解決しようとする課題は、統計処理に必要ないくつかの演算を効率良く計算できる比較器ネットワークに着目し、単純に比較器ネットワークを論理式で表現し秘匿回路計算を実行するよりも高速に計算する方法及び装置、並びにプログラムを提供することである。   Based on this situation, the problem to be solved by the present invention is to focus on a comparator network that can efficiently calculate some operations necessary for statistical processing, and simply express the comparator network by a logical expression and keep it confidential. It is an object to provide a method, apparatus, and program for performing calculation faster than executing circuit calculation.

n個の数値の集合X=(x1,・・・,xn)の暗号文Z=(E(x1,r1),・・・,E(xn,rn))(E:暗号化関数、ri:乱数)を比較器ネットワークの入力として、Xの要素を秘匿したまま計算することを考える。このとき、本発明では、以下に基づいた計算を行う。
1.集合{1,・・・,n}の置換π及びEの再暗号化により、
Ciphertext Z = (E (x 1 , r 1 ),..., E (x n , r n )) (E: E) of a set of n numerical values X = (x 1 ,..., x n ) Consider a calculation with an encryption function, r i : random number), as an input to the comparator network, while keeping the elements of X secret. At this time, in the present invention, calculation based on the following is performed.
1. By re-encrypting the permutation π and E of the set {1, ..., n}

Figure 2008176193
を計算し(ri’:乱数)、暗号文Zの代わりに攪拌した暗号文Z’を比較器ネットワークの入力とする(ステップ1)。
2.各比較器を論理式表現し、入力の暗号文Zに対応する平文の大小関係を既存の秘匿回路計算を用いて求める(ステップ2)。
Figure 2008176193
The calculated (r i: the input of the comparator network 'random number), the ciphertext Z stirring instead of the ciphertext Z' (Step 1).
2. Each comparator is expressed as a logical expression, and the magnitude relation of plaintext corresponding to the input ciphertext Z is obtained using the existing secret circuit calculation (step 2).

通常の比較器の処理は、二つの値を入力し、昇順に並び替えて出力する。すなわち、入力の大小関係が露呈し、入力の秘匿性は保たれない。そのため入力の大小関係を秘匿回路計算により秘匿する必要が生じる。これに対し、ステップ1の攪拌計算は比較器ネットワークの入力の匿名化処理であり、これにより、たとえ比較器の入力の大小関係が露呈しても、集合Xの要素の大小関係は露呈せず、入力の秘匿性は保たれる。すなわち、入力の大小関係を秘匿回路計算により秘匿する必要はなく、この差異が処理削減につながる。したがって、当該削減効果がステップ1の攪拌計算を上回れば、単純に比較器ネットワークを論理式で表現し秘匿回路計算を実行するよりも高速に計算できることが期待できる。当該削減効果は比較器ネットワークを構成する比較器の個数に比例して増大するが、ステップ1の攪拌計算は比較器の個数とは基本的に独立である。そのため、比較器ネットワークの構成によっては既存の秘匿回路計算を単純に用いた解決方法よりも本発明が優位に成り得る。   In normal comparator processing, two values are input, sorted and output in ascending order. That is, the magnitude relationship of the input is exposed, and the confidentiality of the input is not maintained. For this reason, it is necessary to conceal the magnitude relationship of the input by concealment circuit calculation. On the other hand, the agitation calculation in Step 1 is an anonymization process of the input of the comparator network. Thus, even if the magnitude relation of the input of the comparator is exposed, the magnitude relation of the elements of the set X is not exposed. The confidentiality of the input is maintained. That is, it is not necessary to conceal the magnitude relationship of the input by the concealment circuit calculation, and this difference leads to processing reduction. Therefore, if the reduction effect exceeds the agitation calculation in step 1, it can be expected that the calculation can be performed faster than simply expressing the comparator network by a logical expression and executing the secret circuit calculation. The reduction effect increases in proportion to the number of comparators constituting the comparator network, but the agitation calculation in Step 1 is basically independent of the number of comparators. For this reason, depending on the configuration of the comparator network, the present invention can be superior to a solution that simply uses an existing secret circuit calculation.

以下、本発明の実施の形態について図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明は比較器ネットワーク(Comparator Network)を用いる。比較器ネットワークは、各入力値に対応した直線と、そのうちの2つを結ぶ幾つかの比較器によって構成され、そのネットワークを通じて目的の値を出力する。例えば、入力値を昇順にソート(ソーティングネットワーク)することや、入力の中からt番目に大きな値を出力(セレクションネットワーク)することができる。   The present invention uses a comparator network. The comparator network includes a straight line corresponding to each input value and several comparators connecting two of them, and outputs a target value through the network. For example, the input values can be sorted in ascending order (sorting network), or the t-th largest value can be output (selection network).

図1に7入力のソーティングネットワークの例を示す。ここで(x1,・・・,x7)が入力、(y1,・・・,y7)が出力であり、yi≦yi+1(i=1,・・・,7)となる。図1の各縦棒が比較器を意味する。すなわち、図1において、各データは横線に沿って左から右に流れ,横線と交わる各比較器は左から流れる二データを入力として、小さい方の値を右側の上位の横線に出力し、大きい方の値を右側の下位の横線に出力する。例えば、比較器aでは、x2,x3を入力として、両者の小さい方の値min(x2,x3)が上の線に、大きい方の値max(x2,x3)が下の線に出力することを示している。図1ではx2,x3を入力とした比較器aの出力のみ明記しているが,各比較器において同様の出力がなされ、最終的に出力y1,・・・,y7は、y1≦y2≦・・・≦y7を満たす。 FIG. 1 shows an example of a 7-input sorting network. Here, (x 1 ,..., X 7 ) is an input, (y 1 ,..., Y 7 ) is an output, and y i ≦ y i + 1 (i = 1,..., 7) It becomes. Each vertical bar in FIG. 1 means a comparator. That is, in FIG. 1, each data flows from the left to the right along the horizontal line, and each comparator crossing the horizontal line takes two data flowing from the left as inputs, outputs the smaller value to the upper horizontal line on the right, and is large. The one value is output to the lower horizontal line on the right. For example, in the comparator a, x 2 and x 3 are input, and the smaller value min (x 2 , x 3 ) of both is on the upper line, and the larger value max (x 2 , x 3 ) is lower. Output to the line. Although stated only the output of the comparator a that receives the FIG. 1, x 2, x 3, similar output is made in each of the comparators, finally output y 1, · · ·, y 7 is, y 1 ≦ y 2 ≦ ・ ・ ・ ≦ y 7 is satisfied.

比較器の構成については、例えば、非特許文献2に示されている。ここでは、それをもとに比較器の大小比較論理演算アルゴリズムについて説明する。   The configuration of the comparator is shown in Non-Patent Document 2, for example. Here, the magnitude comparison logic operation algorithm of the comparator will be described based on that.

K.Kurosawa and W.Ogata,Bit-slice auction circuit,ESORICS 2002,Lecture Notes in Computer Science 2502,pp.24-38,Springer-Verlag,2002.K. Kurosawa and W. Ogata, Bit-slice auction circuit, ESORICS 2002, Lecture Notes in Computer Science 2502, pp. 24-38, Springer-Verlag, 2002.

比較器の論理演算の例が非特許文献2で次のように与えられている。
先ず準備として、x,y∈{0,1}を入力とした大小比較関数Bigger1(x,y)及び等号判定関数EQ1(x,y)を次のように定義する。
An example of the logical operation of the comparator is given in Non-Patent Document 2 as follows.
First, as a preparation, a magnitude comparison function Bigger 1 (x, y) and an equality determination function EQ 1 (x, y) with x, yε {0, 1} as inputs are defined as follows.

Figure 2008176193
ここで、
Figure 2008176193
here,

Figure 2008176193
が成り立つ。
次に0以上2l未満の整数X,Yを入力とした大小比較関数
Figure 2008176193
Holds.
Next, a magnitude comparison function with integers X and Y between 0 and 2 l as input

Figure 2008176193
の論理演算を考える。
X=Σi=0 l-1ii,Y=Σi=0 l-1ii(xi,yi∈{0,1})としたとき、(xl−1,・・・,x0),(yl−1,・・・,y0)を入力して以下の大小比較論理演算アルゴリズムを実行する。
Figure 2008176193
Consider the logical operation of
When X = Σ i = 0 l−1 2 i x i , Y = Σ i = 0 l−1 2 i y i (x i , y i ∈ {0, 1}), (x l−1 , .., X 0 ), (y l−1 ,..., Y 0 ) are input to execute the following magnitude comparison logic operation algorithm.

[大小比較論理演算アルゴリズム]
1.A←1,B←Bigger1(xl−1,yl−1)とする。
2.i=l−1,・・・,1の順にA←A∧EQ1(xi,yi),B←B∨(Bigger1(xi−1,yi−1)∧A)を計算する。
3.i=0,1,・・・,l−1について、
[Comparison logic algorithm]
1. Let A ← 1, B ← Bigger 1 (x l−1 , y l−1 ).
2. Calculate A ← A∧EQ 1 (x i , y i ), B ← B∨ (Bigger 1 (x i−1 , y i−1 ) ∧A) in the order of i = 1−1,. To do.
3. For i = 0, 1,..., l−1,

Figure 2008176193
を計算して出力する。
上記アルゴリズムについて、Biggerl(X,Y)=Σi=0 l-1iiが成り立つ。
Figure 2008176193
Is calculated and output.
For the above algorithm, Bigger l (X, Y) = Σ i = 0 l−1 2 i z i holds.

なお、本発明は比較器ネットワークの構成には依らず、任意の比較器ネットワークに適用可能である。その理由は、本発明では入力を秘匿したまま比較器ネットワークの計算を行うための計算量削減手法として、(1)入力の各暗号文に対して一度だけ再暗号化処理および置換処理を実行、(2)比較器ネットワークを構成する各比較器の計算方法として、入力を昇順に並び替える論理式を計算する代わりに、入力の大小関係を求める論理式を計算、することを特徴としており,これらは比較器ネットワークの構成に依らず一定の処理となるためである。   The present invention can be applied to any comparator network regardless of the configuration of the comparator network. The reason for this is that, in the present invention, as a calculation amount reduction method for performing the calculation of the comparator network while keeping the input secret, (1) the re-encryption process and the replacement process are executed only once for each ciphertext of the input. (2) As a calculation method of each comparator constituting the comparator network, instead of calculating a logical expression for rearranging the inputs in ascending order, a logical expression for calculating the magnitude relation of the inputs is calculated. This is because the processing is constant regardless of the configuration of the comparator network.

本実施例では、図2に示すように、最大値を求める単純な比較器ネットワークを例に、n個の0以上2l未満の整数の集合X=(x1,・・・,xn)(ここで、xi=Σj=0 l-1ji,j∈{0,1})から、Xの要素を秘匿したままXの最大値xkを求める方法について説明する。 In this embodiment, as shown in FIG. 2, a set of n integers not less than 0 and less than 2 l X = (x 1 ,..., X n ), taking a simple comparator network for obtaining the maximum value as an example. A method for obtaining the maximum value x k of X while keeping the elements of X secret from (where x i = Σ j = 0 l−1 2 j x i, j ∈ {0, 1}) will be described.

図3は、本実施例の構成図であり、秘匿関数計算装置100は、公開演算装置110、暗号置換装置120、秘匿論理演算装置130及び復号装置140によって構成される。ここで、公開演算装置110と秘匿論理演算装置130と復号装置140が比較器ネットワークを構成している。各装置110〜140は一体的に構成するか、あるいはネットワークを通して接続するか、いづれでもよい。公開演算装置110は秘密鍵や乱数を一切必要せずに与えられた処理を実行する。そのため他の装置が同一処理を再現し、公開演算装置110の処理正当性を検証できる。暗号置換装置120は、複数の暗号文を入力として、置換及び再暗号化して出力する。装置から不正に置換情報や再暗号化(攪拌)に用いた乱数を取り出す攻撃に対して耐性を高めるために装置を多重化しても良い。秘匿論理演算装置130は、複数のビットの暗号文を入力として論理演算結果の暗号文を出力する。装置から不正に乱数や復号鍵といった秘密情報を取り出す攻撃に対して耐性を高めるために、例えば非特許文献1で提案されている方法により、複数の装置が協力して、閾値未満の装置の秘密情報を取り出しても平文ビットに関する情報を得にくくするように論理演算を計算するようにしても良い。復号装置140は、内部に復号鍵を保持し、暗号文を入力として復号結果を出力する。これも、装置から不正に復号鍵を取り出す攻撃に対して耐性を高めるために、複数の装置が協力した場合に限り復号できるようにしても良い。   FIG. 3 is a configuration diagram of the present embodiment, and the secret function calculation device 100 includes a public calculation device 110, a cipher replacement device 120, a secret logic operation device 130, and a decryption device 140. Here, the public operation device 110, the secret logic operation device 130, and the decryption device 140 constitute a comparator network. Each of the devices 110 to 140 may be configured integrally or connected through a network. The public computing device 110 executes the given process without requiring any secret key or random number. Therefore, other devices can reproduce the same processing and verify the processing validity of the public computing device 110. The cipher replacement device 120 receives a plurality of ciphertexts as input, replaces and re-encrypts them, and outputs them. The devices may be multiplexed in order to increase resistance against attacks that illegally extract replacement information and random numbers used for re-encryption (stirring) from the devices. The secret logic operation device 130 receives a ciphertext of a plurality of bits and outputs a ciphertext that is a logical operation result. In order to increase resistance against an attack that illegally extracts secret information such as a random number or a decryption key from a device, for example, by a method proposed in Non-Patent Document 1, a plurality of devices cooperate to secrete a device less than a threshold value. A logical operation may be calculated so as to make it difficult to obtain information on plaintext bits even if the information is extracted. The decryption device 140 holds a decryption key therein, and outputs a decryption result with ciphertext as an input. In this case, in order to increase resistance against an attack for illegally extracting the decryption key from the device, the decryption may be performed only when a plurality of devices cooperate.

図4は本実施例の処理フロー図である。以下、図3、図4により本実施例の処理手続きを説明する。なお、Eは非特許文献1等で用いられている加法準同型暗号の暗号化関数とする。
1.暗号置換装置120は、複数の暗号文の集合Z=(z1,・・・,zn)を入力する(ステップ1001)。ここでzi=(E(xi,l-1,ri,l-1),・・・,(E(xi,0,ri,0))である。
2.暗号置換装置120は、Zについて、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素である暗号文毎に再暗号化したZ’=(z1’,・・・,zn’)を計算する(ステップ1002)。ここで
FIG. 4 is a processing flowchart of this embodiment. The processing procedure of this embodiment will be described below with reference to FIGS. Note that E is an encryption function of additive homomorphic encryption used in Non-Patent Document 1 and the like.
1. The cipher replacement device 120 inputs a set of ciphertexts Z = (z 1 ,..., Z n ) (step 1001). Here, z i = (E (x i, l−1 , r i, l−1 ),..., (E (x i, 0 , r i, 0 )).
2. The cipher replacement device 120 selects one per set π of the set {1,..., N} for Z, applies it to Z, and re-encrypts each ciphertext that is an element of Z. Z ′ = (z 1 ', ..., z n ') are calculated (step 1002). here

Figure 2008176193
である。暗号置換装置120はZ’を秘匿論理演算装置130に送る。
3.i=1,・・・,n-1の順に、秘匿論理演算装置130、復号装置140及び公開演算装置110は以下の処理を繰り返す(ステップ1003)。
(a)秘匿論理演算装置130は、zi’,zi+1’を入力として、大小比較論理演算アルゴリズムのステップ1,2の秘匿回路計算を実行し、実行結果E(B,r)を復号装置140に送る。また、秘匿論理演算装置130はzi’,zi+1’を公開演算装置110に送る。
(b)復号装置140は、E(B,r)を復号して、復号結果Bを公開演算装置110に送る。
(c)公開演算装置110は、B=1であればzi’を大きいほうの値の暗号文として、あらたにzi+1’←zi’とし、B=0であればzi+1’を大きい方の値の暗号文としてそのままzi+1’←zi+1’とする。公開演算装置110は、このzi+1’を秘匿論理演算装置130に送る。
4.i=nのとき、公開演算装置110はzn’←zi+1’として、zn’を復号装置140に送る。復号装置140はzn’を復号し、当該復号結果を最大値として出力する(ステップ1004)。
Figure 2008176193
It is. The cipher replacement device 120 sends Z ′ to the secret logic operation device 130.
3. The secret logic operation device 130, the decryption device 140, and the public operation device 110 repeat the following processing in the order of i = 1,..., n−1 (step 1003).
(A) The secret logic operation device 130 performs the secret circuit calculation of steps 1 and 2 of the magnitude comparison logic operation algorithm with z i ′ and z i + 1 ′ as inputs, and obtains the execution result E (B, r). The data is sent to the decryption device 140. Also, the secret logic operation device 130 sends z i ′, z i + 1 ′ to the public operation device 110.
(B) The decryption device 140 decrypts E (B, r) and sends the decryption result B to the public operation device 110.
(C) The public arithmetic unit 110 newly sets z i ′ as the ciphertext of the larger value if B = 1, and newly sets z i + 1 ← z i ′, and if B = 0, z i + 'as it is z i + 1 as the ciphertext of the larger of value' and ← z i + 1 '1. The public operation device 110 sends z i + 1 ′ to the secret logic operation device 130.
4). When i = n, public computation device 110 sends z n ′ to decryption device 140 as z n ′ ← z i + 1 ′. The decoding device 140 decodes z n ′ and outputs the decoding result as the maximum value (step 1004).

以上のように、比較器の計算を大小比較論理演算アルゴリズムを秘匿回路計算で実行する場合と比べ、本実施例の方法では比較器の計算に相当する部分では入力の大小結果を求めるため、大小比較論理演算アルゴリズムのステップ3を省略することができ、処理を削減できる。   As described above, compared to the case where the comparator calculation is performed by the comparison logic operation algorithm by the secret circuit calculation, the method of the present embodiment obtains the input size result in the portion corresponding to the comparator calculation. Step 3 of the comparison logic operation algorithm can be omitted, and processing can be reduced.

本実施例では、実施例1の処理手続きを更に高速化する方法について説明する。本実施例でも実施例1と同様に、図2に示す単純な比較器ネットワークを例に、n個の0以上2l未満の整数の集合X=(x1,・・・,xn)(ここで、xi=Σj=0 l-1ji,j(xi,j∈{0,1}))から、Xの要素を秘匿したままXの最大値を求めるものとする。 In the present embodiment, a method for further speeding up the processing procedure of the first embodiment will be described. Similarly to the first embodiment, in this embodiment, a set of n integers not less than 0 and less than 2 l X = (x 1 ,..., X n ) (example of the simple comparator network shown in FIG. Here, the maximum value of X is obtained from x i = Σ j = 0 l−1 2 j x i, j (x i, j ∈ {0,1})) while keeping the elements of X secret. .

図5は、本実施例の構成図であり、秘匿関数計算装置200は、公開演算装置210、暗号置換装置220、秘匿論理演算装置230、復号装置240、及び暗号化乱数乗算装置250によって構成される。ここで、公開演算装置210と秘匿論理演算装置230と復号装置240と暗号化乱数乗算装置250が比較器ネットワークを構成している。公開演算装置210、暗号置換装置220、秘匿論理演算装置230、復号装置240の機能は実施例1と基本的に同様である。暗号化乱数乗算装置250は、暗号文を入力として、平文に乱数を掛け合わせた暗号文を出力する機能を持つ。装置から不正に乱数を取り出す攻撃に対して耐性を高めるために装置を多重化しても良い。   FIG. 5 is a configuration diagram of the present embodiment, and the secret function calculation device 200 includes a public calculation device 210, a cipher replacement device 220, a secret logic operation device 230, a decryption device 240, and an encrypted random number multiplication device 250. The Here, the public operation device 210, the secret logic operation device 230, the decryption device 240, and the encrypted random number multiplication device 250 constitute a comparator network. The functions of the public operation device 210, the encryption replacement device 220, the secret logic operation device 230, and the decryption device 240 are basically the same as those in the first embodiment. The encrypted random number multiplication device 250 has a function of receiving a ciphertext as an input and outputting a ciphertext obtained by multiplying a plaintext by a random number. Multiple devices may be multiplexed in order to increase resistance to attacks that illegally extract random numbers from devices.

本実施例の処理手続きの説明の前に、先の大小比較論理演算アルゴリズムのステップ2について、全体の処理を変えることなく表現を以下のように改める。
2−1 Al=1,Bl-1=Bigger1(xl−1,yl−1)とし、i=l−1,・・・,1の順にAi=Ai+1∧EQ1(xi,yi),Bi-1=Bigger1(xi-1,yi-1)∧Aiを計算する。
2−2Bl-1∨Bl-2∨・・・∨B0を計算する。
Prior to the description of the processing procedure of the present embodiment, the expression of Step 2 of the previous magnitude comparison logical operation algorithm is amended as follows without changing the overall processing.
2-1 A l = 1, B l-1 = Bigger 1 (x l−1 , y l−1 ), i = l−1,..., 1 in this order A i = A i + 1 ∧EQ 1 (x i , y i ), B i-1 = Bigger 1 (x i-1 , y i-1 ) ∧A i is calculated.
2-2B l-1 ∨B l-2 ∨... ∨B 0 is calculated.

図6は本実施例の処理フロー図である。以下、図5、図6にもとづいて本実施例の処理手続きを説明する。
1.暗号置換装置220は、複数の暗号文の集合Z=(z1,・・・,zn)を入力する(ステップ2001)。ここでzi=(E(xi,l-1,ri,l-1),・・・,(E(xi,0,ri,0))である。
2.暗号置換装置220は、Zについて、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素である暗号文毎に再暗号化したZ’=(z1’,・・・,zn’)を計算する(ステップ2002)。ここで
FIG. 6 is a processing flowchart of this embodiment. Hereinafter, the processing procedure of this embodiment will be described with reference to FIGS.
1. The cipher replacement device 220 inputs a plurality of ciphertext sets Z = (z 1 ,..., Z n ) (step 2001). Here, z i = (E (x i, l−1 , r i, l−1 ),..., (E (x i, 0 , r i, 0 )).
2. The cipher substitution device 220 selects one of the permutations π of the set {1,..., N} for Z, applies it to Z, and re-encrypts each ciphertext that is an element of Z. Z ′ = (z 1 ', ..., z n ') are calculated (step 2002). here

Figure 2008176193
である。暗号置換装置220はZ’を秘匿論理演算装置230に送る。
3.i=1,・・・,n-1の順に、秘匿論理演算装置230、公開演算装置210、暗号化乗算装置230及び復号装置240は以下の処理を繰り返す(ステップ2003)。
(a)秘匿論理演算装置230は、zi’,zi+1’を入力として、大小比較論理演算アルゴリズムのステップ1、及び改変後のステップ2-1の秘匿回路計算を実行し、実行結果G=(E(Bl-1,sl-1),・・・,(E(B0,s0)を公開演算装置210に送る。秘匿論理演算装置230はzi’,zi+1’も公開演算装置210に送る。
(b)公開演算装置210は、Gを入力として、Eの準同型性を利用してE(Σi=0 l-1i,s)を計算し、暗号化乱数乗算装置250に送る。ここで、sは適当な乱数である。
(c)暗号化乱数乗算装置250は、E(Σi=0 l-1i,s)を入力として、乱数wを生成して、Eの準同型性を利用してE(wΣi=0 l-1i,s’)を計算し、復号装置240に送る。
(d)復号装置240は、E(wΣi=0 l-1i,s’)を復号して、復号結果B’=wΣi=0 l-1iを公開演算装置210に送る。
(e) 公開演算装置210は、B’≠0であれば、zi’を大きい方の値の暗号文として、あらたにzi+1’←zi’とし、B’=0であればzi+1’を大きい方の値の暗号文として、そのままzi+1’←zi+1’とする。公開演算装置210は、このzi+1’を秘匿論理演算装置230に送る。
4.i=nのとき、公開演算装置210はzn’←zi+1’として、zn’を復号装置240に送る。復号装置240はzn’を復号し、当該復号結果を最大値として出力する(ステップ2004)。
Figure 2008176193
It is. The cipher replacement device 220 sends Z ′ to the secret logic operation device 230.
3. The secret logic operation device 230, the public operation device 210, the encryption multiplication device 230, and the decryption device 240 repeat the following processes in the order of i = 1,..., n−1 (step 2003).
(A) The concealment logic operation device 230 executes the concealment circuit calculation in step 1 of the magnitude comparison logic operation algorithm and the modified step 2-1 with z i ′ and z i + 1 ′ as inputs, and the execution result G = (E (B l−1 , s l−1 ),..., (E (B 0 , s 0 ) is sent to the public arithmetic unit 210. The secret logic arithmetic unit 230 sends z i ′, z i +. 1 'is also sent to the public computing device 210.
(B) The public arithmetic unit 210 receives G as an input, calculates E (Σ i = 0 l−1 B i , s) using the homomorphism of E, and sends it to the encrypted random number multiplier 250. Here, s is an appropriate random number.
(C) The encrypted random number multiplication device 250 receives E (Σ i = 0 l−1 B i , s) as an input, generates a random number w, and uses E's homomorphism to obtain E (wΣ i = 0 l−1 B i , s ′) is calculated and sent to the decoding device 240.
(D) The decryption device 240 decrypts E (wΣi = 0 l−1 B i , s ′) and sends the decryption result B ′ = wΣi = 0 l−1 B i to the public operation device 210.
(E) If B ′ ≠ 0, the public operation device 210 newly sets z i ′ as the ciphertext of the larger value, and newly sets z i + 1 '← z i ', and if B ′ = 0. Let z i + 1 'be the larger ciphertext, and let z i + 1 ' ← z i + 1 '. The public operation device 210 sends z i + 1 ′ to the secret logic operation device 230.
4). When i = n, the public operation device 210 sends z n ′ to the decryption device 240 as z n '← z i + 1 '. The decoding device 240 decodes z n ′ and outputs the decoding result as the maximum value (step 2004).

ステップ2003(e)のB’≠0であることと、実施例1のステップ1003(c)でB=1であることは等価である。同様に、ステップ2003(e)でB’=0であることと、実施例1のステップ1003(c)でB=0であることは等価である。   It is equivalent that B ′ ≠ 0 in step 2003 (e) and B = 1 in step 1003 (c) of the first embodiment. Similarly, B ′ = 0 in step 2003 (e) is equivalent to B = 0 in step 1003 (c) of the first embodiment.

以上のように、本実施例では、改変後のステップ2−2の秘匿回路計算が不要となり、処理の削減が見込める。   As described above, in this embodiment, the secret circuit calculation in step 2-2 after modification is not necessary, and a reduction in processing can be expected.

実施例3では実施例1および2の方法の秘匿性を高める方法について説明する。実施例1や2の方法では、再暗号化およびランダム置換により入力を匿名化することで、各比較器の入力データの大小関係の情報が、比較器ネットワークの入力の秘匿性を損なわなくなる効果を利用して計算量を削減していた。しかし実施例1の処理中に現れる値B、および実施例2の処理中に現れる値B’は平文として現れるため、入力データに関する不要な情報が露呈する可能性がある。すなわち、入力データの平文X,Yに対して、X>YであればB=1(実施例2ではB’≠0)となり、そうでなければB=0(実施例2ではB’=0)となるため、B=1(実施例2ではB’≠0)であればX≠Yであることが分かってしまう。本実施例では、このような比較器ネットワークの最終出力以外の不要な情報の露呈を防ぐ方法について説明する。簡単に言えば、X=Yであれば、B(実施例2ではB’)は乱数ビット(実施例2では1/2の確率でB’=0)となるような操作を追加する。以降、実施例1に基づいて具体的な手続きを示す。   In the third embodiment, a method for increasing the confidentiality of the methods of the first and second embodiments will be described. In the methods of the first and second embodiments, the anonymization of the input by re-encryption and random replacement makes it possible for the information on the magnitude relationship of the input data of each comparator not to impair the confidentiality of the input of the comparator network. It used to reduce the amount of calculation. However, since the value B appearing during the processing of the first embodiment and the value B ′ appearing during the processing of the second embodiment appear as plain text, unnecessary information regarding the input data may be exposed. That is, with respect to the plain text X and Y of the input data, if X> Y, B = 1 (B ′ ≠ 0 in the second embodiment), otherwise B = 0 (B ′ = 0 in the second embodiment). Therefore, if B = 1 (B ′ ≠ 0 in the second embodiment), it will be understood that X ≠ Y. In the present embodiment, a method for preventing exposure of unnecessary information other than the final output of the comparator network will be described. In short, if X = Y, an operation is added such that B (B ′ in the second embodiment) becomes a random number bit (B ′ = 0 with a probability of 1/2 in the second embodiment). Hereinafter, specific procedures will be described based on the first embodiment.

図7は本実施例の構成図であり、秘匿計算装置300は、公開演算装置310、暗号置換装置320、秘匿論理演算装置330、復号装置340及び暗号化乱数生成装置350によって構成される。ここで、公開演算装置310と秘匿論理演算装置330と復号装置340と暗号乱数生成装置350が比較器ネットワークを構成している。゜   FIG. 7 is a configuration diagram of the present embodiment, and the secret calculation device 300 includes a public calculation device 310, a cipher replacement device 320, a secret logic operation device 330, a decryption device 340, and an encrypted random number generation device 350. Here, the public operation device 310, the secret logic operation device 330, the decryption device 340, and the encryption random number generation device 350 constitute a comparator network.゜

公開演算装置310は秘密鍵や乱数を一切必要せずに与えられた処理を実行する。そのため他の装置が同一処理を再現し、公開演算装置310の処理正当性を検証できる。暗号置換装置320は、複数の暗号文を入力として、置換及び再暗号化して出力する。装置から不正に置換情報や再暗号化に用いた乱数を取り出す攻撃に対して耐性を高めるために装置を多重化しても良い。暗号化乱数生成装置350は、1ビットの乱数を生成し、それを暗号化して出力する。暗号化乱数生成装置350の内部状態を得ない限りは当該乱数を知ることができない。当該乱数の秘匿性を高めるために、複数の装置が協力して1ビットの乱数の暗号文を生成し、当該全ての装置の内部状態を得ない限りは当該乱数を知ることができないようにしても良い。また、当該暗号文が正しく1ビットデータを暗号化したものであることをゼロ知識証明を用いて当該装置が証明することで、当該装置の不正行為を防止しても良い。これらの1ビットの乱数の暗号文の生成方法に関しては以下の非特許文献3で説明されているためここでは省略する。   The public computing device 310 executes the given process without requiring any secret key or random number. Therefore, other devices can reproduce the same processing and verify the processing validity of the public computing device 310. The cipher replacement device 320 takes a plurality of ciphertexts as input, replaces and re-encrypts them, and outputs them. The devices may be multiplexed in order to increase resistance to attacks that illegally extract replacement information and random numbers used for re-encryption from the devices. The encrypted random number generator 350 generates a 1-bit random number, encrypts it, and outputs it. The random number cannot be known unless the internal state of the encrypted random number generator 350 is obtained. In order to increase the confidentiality of the random number, a plurality of devices cooperate to generate a 1-bit random number ciphertext, and the random number cannot be known unless the internal state of all the devices is obtained. Also good. Further, the device may prove that the ciphertext is obtained by correctly encrypting 1-bit data by using the zero knowledge proof, thereby preventing an illegal act of the device. Since the method for generating a 1-bit random number ciphertext is described in Non-Patent Document 3 below, it is omitted here.

B.Schoenmakers and P.Tuy1s,Effcient binary conversion for Paillier encrypted values,EUROCRYPT 2006,LNCS 4004,PP.522-537,Springer-Verlag,2006.B. Schoenmakers and P. Tuy1s, Effcient binary conversion for Paillier encrypted values, EUROCRYPT 2006, LNCS 4004, PP. 522-537, Springer-Verlag, 2006.

秘匿論理演算装置330は、複数のビットの暗号文を入力として論理演算結果の暗号文を出力する。装置から不正に乱数や復号鍵といった秘密情報を取り出す攻撃に対して耐性を高めるために、例えば非特許文献1で提案されている方法により、複数の装置が協力して、開催未満の装置の秘密情報を取り出しても平文ビットに関する情報を得にくくするように論理演算を計算するようにしても良い。復号装置340は、内部に復号鍵を保持し、暗号文を入力として復号結果を出力する。装置から不正に復号鍵を取り出す攻撃に対して耐性を高めるために、複数の装置が協力した場合に限り復号できるようにしても良い。   The secret logic operation device 330 receives a ciphertext of a plurality of bits and outputs a ciphertext as a logical operation result. In order to increase resistance against attacks that illegally extract secret information such as random numbers and decryption keys from devices, for example, a method proposed in Non-Patent Document 1 allows a plurality of devices to cooperate to keep secrets of devices less than the host A logical operation may be calculated so as to make it difficult to obtain information on plaintext bits even if the information is extracted. The decryption device 340 holds a decryption key therein and outputs a decryption result with ciphertext as an input. In order to increase resistance to an attack that illegally extracts a decryption key from a device, decryption may be performed only when a plurality of devices cooperate.

図8は本実施例の処理フロー図である。以下、図7、図8にもとづいて本実施例の処理手続きを説明する。なお、Eは非特許文献1等で用いられている加法準同型暗号の暗号化関数とする。
0.あらかじめ暗号化乱数生成装置350は、乱数ビットbを生成し、それを暗号化したデータE(b,rb)を計算し、秘匿論理演算装置330に送る(ステップ3000)。ここでrbは乱数である。
1.暗号置換装置320は、複数の暗号文の集合Z=(z1,・・・,zn)を入力する(ステップ3001)。ここでzi=(E(xi,l-1,ri,l-1),・・・,(E(xi,0,ri,0))である。
2.暗号置換装置320は、Zについて、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素である暗号文毎に再暗号化したZ’=(z1’,・・・,zn’)を計算する(ステップ3002)。ここで
FIG. 8 is a processing flowchart of this embodiment. Hereinafter, the processing procedure of this embodiment will be described with reference to FIGS. Note that E is an encryption function of additive homomorphic encryption used in Non-Patent Document 1 and the like.
0. The encrypted random number generation device 350 generates the random number bit b in advance, calculates data E (b, r b ) obtained by encrypting the random number bit b, and sends the data E (b, r b ) to the secret logic operation device 330 (step 3000). Here r b is a random number.
1. The cipher replacement device 320 inputs a plurality of ciphertext sets Z = (z 1 ,..., Z n ) (step 3001). Here, z i = (E (x i, l−1 , r i, l−1 ),..., (E (x i, 0 , r i, 0 )).
2. The cipher substitution device 320 selects one of the permutations π of the set {1,..., N} for Z, applies it to Z, and re-encrypts every ciphertext that is an element of Z. Z ′ = (z 1 ', ..., z n ') are calculated (step 3002). here

Figure 2008176193
である。暗号置換装置120はZ’を秘匿論理演算装置330に送る。
3.i=1,・・・,n-1の順に、秘匿論理演算装置330、復号装置340及び公開演算装置310は以下の処理を繰り返す(ステップ3003)。
(a)秘匿論理演算装置330は、zi’,zi+1’を入力として、先の大小比較論理演算アルゴリズムのステップ1、2の秘匿回路計算を実行し、実行結果G=(E(B,r)およびAの暗号文を得る。なお、秘匿論理演算装置330はzi’,zi+1’を公開演算装置310に送る。
(b)さらに、秘匿論理演算装置330は、E(B,r),E(B,rb)およびAの暗号文を入力として秘匿回路計算を実行し、B∨(b∧A)の暗号文Cを計算する。秘匿論理演算装置330は、このCを復号装置340に送る。
(c)復号装置340は、Cを復号して、復号結果B”=B∨(b∧A)を公開演算装置310に送る。
(d) 公開演算装置310は、B”=1であれば、zi’を大きい方の値の暗号文として、あらたにzi+1’←zi’とし、B”=0であればzi+1’を大きい方の値の暗号文として、そのままzi+1’←zi+1’とする。公開演算装置310は、このzi+1’を秘匿論理演算装置330に送る。
4.i=nのとき、公開演算装置310はzn’←zi+1’として、zn’を復号装置340に送る。復号装置340はzn’を復号し、当該復号結果を最大値として出力する(ステップ3004)。
Figure 2008176193
It is. The cipher replacement device 120 sends Z ′ to the secret logic operation device 330.
3. In the order of i = 1,..., n−1, the secret logic operation device 330, the decryption device 340, and the public operation device 310 repeat the following processing (step 3003).
(A) The secret logic operation device 330 receives the z i ′ and z i + 1 ′ as inputs and executes the secret circuit calculation in steps 1 and 2 of the previous magnitude comparison logic operation algorithm, and the execution result G = (E ( The ciphertexts of B, r) and A are obtained, and the secret logic operation device 330 sends z i ′ and z i + 1 ′ to the public operation device 310.
(B) Furthermore, the cipher logic operation device 330 performs cipher circuit calculation with E (B, r), E (B, r b ) and A ciphertexts as input, and encrypts B∨ (b∧A). Compute sentence C. The secret logic operation device 330 sends this C to the decryption device 340.
(C) The decryption device 340 decrypts C and sends the decryption result B ″ = B∨ (b∥A) to the public operation device 310.
(D) If B ″ = 1, the public operation device 310 newly sets z i ′ as the ciphertext of the larger value, and newly sets z i + 1 '← z i ′, and if B ″ = 0. Let z i + 1 'be the larger ciphertext, and let z i + 1 ' ← z i + 1 '. The public operation device 310 sends z i + 1 ′ to the secret logic operation device 330.
4). When i = n, the public operation device 310 sends z n ′ to the decryption device 340 as z n ′ ← z i + 1 ′. The decoding device 340 decodes z n ′ and outputs the decoding result as the maximum value (step 3004).

比較器の入力である暗号文zi’,zi+1’について、それらを復号したデータが等しければ、B=0となり、かつ、当該データが等しい場合に限りA=1となる。すなわち、当該データが異なる場合はA=0であるからB=B”となり、等しい場合はB=0かつB”=B∨bであるからB”=bとなることが分かる。したがって、実施例1では当該データが等しければB=0を出力していたのに対し、本実施例ではBの代わりにB”を出力するため、当該データが等しい場合は乱数ビットbを出力することになる。また当該データが異なる場合は実施例1の出力と等しい。以上により不要な情報の露呈を防ぐことができることが分かる。 For the ciphertexts z i ′ and z i + 1 ′ that are the inputs of the comparator, if the decrypted data is equal, B = 0, and A = 1 only if the data are equal. That is, when the data is different, A = 0, so B = B ″, and when the data is equal, B = 0 and B ″ = B∨b, so B ″ = b. In the present embodiment, B = 0 is output if the data is equal, but in this embodiment, B ″ is output instead of B. Therefore, if the data is equal, the random number bit b is output. If the data is different, the output is the same as that of the first embodiment. From the above, it can be understood that exposure of unnecessary information can be prevented.

以上、実施例1に基づいた具体的な手続きを述べたが、本実施例で述べた方法の特徴は、暗号化乱数生成装置340によって生成された乱数ビットの暗号文を利用して,比較器の入力となる暗号文に対応する平文が同値のとき、当該乱数ビットが出力されるようにしたことであり、実施例2に対しても特別な処理をすることなく同様に適用できるため、実施例2に基づいた具体的な手続きの説明は省略する。   The specific procedure based on the first embodiment has been described above, but the feature of the method described in the present embodiment is that the comparator uses a ciphertext of random number bits generated by the encrypted random number generator 340. This means that when the plaintext corresponding to the input ciphertext has the same value, the random number bit is output, and can be similarly applied to the second embodiment without performing special processing. A description of the specific procedure based on Example 2 is omitted.

最後に実施例4として、図9で示すような比較器ネットワークにおいて、L以外の入力を秘匿したまま計算する方法について説明する。図9の比較器ネットワークは、各入力がLり大きいかどうか判定するためのものである。実施例1〜3と異なる点は、入力の一部(本実施例ではL)は秘匿しなくて良しことである。これにより、以下で示すように全ての入力を秘匿する場合に比べ計算量の削減が見込める。   Finally, as a fourth embodiment, a description will be given of a method of performing calculation while keeping inputs other than L concealed in the comparator network as shown in FIG. The comparator network of FIG. 9 is for determining whether each input is greater than L or not. The difference from the first to third embodiments is that a part of the input (L in this embodiment) does not have to be concealed. Thereby, as shown below, the amount of calculation can be reduced compared to the case where all the inputs are concealed.

なお、本実施例で用いる加法準同型暗号Eは、x,yの暗号文E(x,r),E(y,s)および定数cに対して、
E(x,r)×E(y,s)=E(x+y,t),
E(x,r)/E(y,s)=E(x−y,u),
E(x,r)c=E(xc,v)
を満たす性質であるとする(r,s,t,u,v:適当な乱数)。このような性質を満たす暗号として、Paillier暗号などが知られている。
Note that the additive homomorphic cipher E used in the present embodiment is obtained with respect to the ciphertexts E (x, r), E (y, s) of x, y and the constant c.
E (x, r) × E (y, s) = E (x + y, t),
E (x, r) / E (y, s) = E (xy, u),
E (x, r) c = E (xc, v)
(R, s, t, u, v: appropriate random numbers). As a cipher that satisfies such properties, the Paillier cipher is known.

以下では実施例1に基づき説明する。本実施例における装置構成は実施例1同様として良い。手続きも実施例1と大部分は等しくなるが、実施例1のステップ1003中の(a)のみ異なる。具体的には、ステップ1003中の(a)の処理のうち、大小比較論理演算アルゴリズムのステップ2のEQ(xi,yi)およびBigger1(xi-1,・・・,yi-1)の演算方法が異なる。実施例1ではEQ(xi,yi)=2xii−xi−yi+1およびBigger1(xi-1,yi-1)=−xii+xiの計算は秘匿回路計算で行うとしているが、いまL=Σi=0 l-1iiとしたとき、yiは明かしてよいことにより秘匿回路計算が不要となる。 Hereinafter, a description will be given based on the first embodiment. The apparatus configuration in this embodiment may be the same as that in the first embodiment. The procedure is also almost the same as that in the first embodiment, but only (a) in step 1003 of the first embodiment is different. Specifically, among the processing of (a) in step 1003, EQ (x i , y i ) and Bigger 1 (x i−1 ,..., Y i− of step 2 of the magnitude comparison logic operation algorithm are performed. 1 ) The calculation method is different. In the first embodiment, the calculation of EQ (x i , y i ) = 2x i y i −x i −y i +1 and Bigger 1 (x i−1 , y i−1 ) = − x i y i + x i is confidential. Although the calculation is performed by circuit calculation, when L = Σ i = 0 l−1 2 i y i , y i may be disclosed, so that the secret circuit calculation is not necessary.

具体的には、実施例1のステップ1003中の(a)のEQ(xi,yi)の計算において、秘匿論理演算装置(他の任意の装置でも良い)が以下を行う。
[入力] E(xi,yi),yi(ri;乱数)
[出力] EQ(xi,yi)=2xii−xi−yi+1
1.1−yiの暗号文E(1−yi,w)を計算する(w:乱数)。
2.C=(E((xi,yi2yi/E(xi,ri))×E(1−yi,w)を計算する。
Specifically, in the calculation of EQ (x i , y i ) of (a) in step 1003 of the first embodiment, the secret logic operation device (or any other device) performs the following.
[Input] E (x i , y i ), y i (r i ; random number)
[Output] EQ (x i , y i ) = 2x i y i −x i −y i +1
1.1-y i ciphertext E (1-y i, w ) of calculating the (w: random number).
2. C = (E ((x i , y i ) 2 y i / E (x i , r i )) × E (1−y i , w) is calculated.

上記の計算について、Eの加法準岡型性により、Cは2xii−xi−yi+1の暗号文、すなわちEQ(xi,yi)の暗号文となっていることが分かる。Bigger1(xi-1,yi-1)=−xii+xiの計算についても明らかに加法準同型性により同様に行うことができる。 In the above calculation, it can be seen that C is a ciphertext of 2x i y i -x i -y i +1, that is, a ciphertext of EQ (x i , y i ) due to the additive quasi-oka type of E. . Obviously, the calculation of Bigger 1 (x i−1 , y i−1 ) = − x i y i + x i can be similarly performed by additive homomorphism.

以上、4つの実施例について述べたが、本発明により、比較器ネットワークを利用した計算について入力データを秘匿したまま従来の方法よりも効率良く処理することができるようになる。比較器ネットワークを利用した計算の例としては、先に述べたソート、最大値導出、範囲指定、その他、中央値や第1四分位数導出などが挙げられる。これらの計算は統計処理などでしばしば用いられることから、本発明は、個人から提供されるデータは秘匿し、かつ複数の個人データから得られる統計データのみ得る場合などに有効である。   Although four embodiments have been described above, according to the present invention, calculation using a comparator network can be processed more efficiently than a conventional method while keeping input data secret. Examples of the calculation using the comparator network include the sort, the maximum value derivation, the range designation, and the median and first quartile derivation described above. Since these calculations are often used in statistical processing or the like, the present invention is effective when the data provided by an individual is kept secret and only statistical data obtained from a plurality of personal data is obtained.

なお、図3、図5、図7などで示した装置における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図4、図6、図8などで示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、FD、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。   It should be noted that some or all of the processing functions of each unit in the apparatus shown in FIG. 3, FIG. 5, FIG. 7, etc. are configured by a computer program, and the program is executed using the computer to realize the present invention. It goes without saying that the processing procedures shown in FIG. 4, FIG. 6, FIG. 8, etc. can be configured by a computer program and the program can be executed by the computer. In addition, a computer-readable recording medium such as an FD, MO, ROM, memory card, CD, or the like is stored in the computer. In addition, the program can be recorded and stored on a DVD, a removable disk, etc., and the program can be distributed through a network such as the Internet.

比較器ネットワークの一例を示す図。The figure which shows an example of a comparator network. 比較器ネットワークの他の一例を示す図。The figure which shows another example of a comparator network. 本発明の実施例1の構成図。The block diagram of Example 1 of this invention. 実施例1の処理フロー図。FIG. 3 is a process flow diagram of Embodiment 1. 本発明の実施例2の構成図。The block diagram of Example 2 of this invention. 実施例2の処理フロー図。FIG. 6 is a processing flow diagram of Embodiment 2. 本発明の実施例3の構成図。The block diagram of Example 3 of this invention. 実施例3の処理フロー図。FIG. 6 is a processing flow diagram of Embodiment 3. 比較器ネットワークの更に他の一例を示す図。The figure which shows another example of a comparator network.

符号の説明Explanation of symbols

110、210、310 公開演算装置
120、220、320 暗号置換装置
130、230、330 秘匿論理演算装置
140、240、340 復号装置
250 暗号化乱数乗算装置
350 暗号化乱数生成装置
110, 210, 310 Public operation device 120, 220, 320 Cryptographic substitution device 130, 230, 330 Secret logic operation device 140, 240, 340 Decryption device 250 Encrypted random number multiplication device 350 Encrypted random number generation device

Claims (7)

n個の数値の集合X=(x1,・・・,xn)の暗号文Z=(E(x1,r1),・・・,E(xn,rn))(E:暗号化関数、ri:乱数)を比較器ネットワークの入力として、Xの要素を秘匿したまま論理演算を行う秘匿関数計算方法であって、
集合{1,・・・,n}の置換πを選び暗号文Zに適用し、Zの要素毎に再暗号化した暗号文
Figure 2008176193
を計算して、暗号文Zの代わりにZを比較器ネットワークの入力とし、
比較器ネットワークは入力の暗号文に対応する平文の大小関係を平文の情報を漏らすことなく求める、
ことを特徴とする秘匿関数計算方法。
Ciphertext Z = (E (x 1 , r 1 ),..., E (x n , r n )) (E: E) of a set of n numerical values X = (x 1 ,..., x n ) A secret function calculation method in which an encryption function, r i : random number) is input to a comparator network, and a logical operation is performed while keeping an element of X secret.
Ciphertext re-encrypted for each element of Z by selecting permutation π of set {1,..., N} and applying it to ciphertext Z
Figure 2008176193
And Z instead of ciphertext Z is input to the comparator network,
The comparator network calculates the plaintext magnitude relationship corresponding to the input ciphertext without leaking the plaintext information.
The secret function calculation method characterized by the above.
請求項1記載の秘匿関数計算方法において、
暗号置換装置、公開演算装置、秘匿論理演算装置及び復号装置を用い、
暗号置換装置は、n個の0以上2l未満の整数の集合X=(x1,・・・,xn)(ここで、xi=Σj=0 l-1ji,j(xi,j∈{0,1})の暗号文Z=(z1,・・・,zn)(ここで、zi=(E(xi,l-1,ri,l-1),・・・,E(xi,0,ri,0)))を入力し、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素毎に再暗号化した
Figure 2008176193
を計算して出力し、
公開演算装置、秘匿論理演算装置及び復号装置は、i=1,・・・,n−1の順に、
(a)秘匿論理演算装置は、zi’,zi+1’を入力として、大小比較論理演算をzi’,zi+1’の平文の情報を漏らすことなく実行して、実行結果E(B,r)を出力する、
(b)復号装置は、E(B,r)を入力して復号し、復号結果Bを出力する、
(c)公開演算装置は、B=1であればzi’を大きい方の値の暗号文として、zi+1’←zi’としてzi+1’を出力し、B=0であればzi+1’を大きい方の値の暗号文としてzi+1’をそのまま出力する、
処理を繰り返し、
公開演算装置は、i=nで、zn’←zi+1’としてzn’を出力し、復号装置はzn’を入力して復号し、当該復号結果を出力する、
ことを特徴とする秘匿関数計算方法。
The method for calculating a secret function according to claim 1,
Using a cipher replacement device, a public operation device, a secret logic operation device, and a decryption device,
The cipher replacement device has a set of n integers not less than 0 and less than 2 l X = (x 1 ,..., X n ) (where x i = Σ j = 0 l−1 2 j x i, j Ciphertext Z = (z 1 ,..., Z n ) of (x i, j ∈ {0, 1}) (where z i = (E (x i, l−1 , r i, l− 1 ),..., E (x i, 0 , r i, 0 ))), select one permutation π of the set {1,. Re-encrypted every time
Figure 2008176193
Is calculated and output,
The public operation device, the secret logic operation device, and the decryption device are in the order of i = 1,..., N−1.
(A) The concealment logic operation device receives z i ′ and z i + 1 ′ as inputs, executes a magnitude comparison logic operation without leaking plaintext information of z i ′ and z i + 1 ′, and executes an execution result. Output E (B, r),
(B) The decoding device receives E (B, r), decodes it, and outputs a decoding result B.
(C) publish computing device, 'as ciphertext greater value to, z i + 1' z i if B = 1 and outputs a 'z i + 1 as' ← z i, at B = 0 directly outputs z i + 1 'z i + 1 as a ciphertext greater value' if,
Repeat the process
The public operation device outputs z n 'as z n ' ← z i + 1 'when i = n, and the decryption device inputs z n ' to decrypt and outputs the decryption result,
The secret function calculation method characterized by the above.
請求項1記載の秘匿関数計算方法において、
暗号置換装置、公開演算装置、秘匿論理演算装置、復号装置及び暗号化乱数乗算装置を用い、
暗号置換装置は、n個の0以上2l未満の整数の集合X=(x1,・・・,xn)(ここで、xi=Σj=0 l-1ji,j(xi,j∈{0,1})の暗号文Z=(z1,・・・,zn)(ここで、zi=(E(xi,l-1,ri,l-1),・・・,E(xi,0,ri,0)))を入力し、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素毎に再暗号化した
Figure 2008176193
を計算して出力し、
公開演算装置、秘匿論理演算装置、復号装置及び暗号化乱数乗算装置は、i=1,・・・,n−1の順に、
(a)秘匿論理演算装置は、zi’,zi+1’を入力として、大小比較論理演算をzi’,zi+1’の平文の情報を漏らすことなく実行して、実行結果G=(E(Bl-1,sl-1),・・・,(E(B0,s0)を出力する、
(b)公開演算装置は、Gを入力として、Eの準同型性を利用してE(Σi=0 l-1i,s)(ここで、sは適当な乱数)を計算して出力する、
(c)暗号化乱数乗算装置は、E(Σi=0 l-1i,s)を入力として、乱数wを生成して、Eの準同型性を利用してE(wΣi=0 l-1i,s’)を計算して出力する、
(d)復号装置は、E(wΣi=0 l-1i,s’)を入力して復号し、復号結果B’=wΣi=0 l-1iを出力する、
(e) 公開演算装置は、B’≠0であれば、zi’を大きい方の値の暗号文としてzi+1’←zi’としてzi+1’を出力し、B’=0であればzi+1’を大きい方の値の暗号文として、zi+1’をそのまま出力する、
処理を繰り返し、
公開演算装置は、i=nで、zn’←zi+1’としてzn’を出力し、復号装置はzn’を入力して復号し、当該復号結果を出力する、
ことを特徴とする秘匿関数計算方法。
The method for calculating a secret function according to claim 1,
Using an encryption replacement device, a public operation device, a secret logic operation device, a decryption device, and an encrypted random number multiplication device,
The cipher replacement device has a set of n integers not less than 0 and less than 2 l X = (x 1 ,..., X n ) (where x i = Σ j = 0 l−1 2 j x i, j Ciphertext Z = (z 1 ,..., Z n ) of (x i, j ∈ {0, 1}) (where z i = (E (x i, l−1 , r i, l− 1 ),..., E (x i, 0 , r i, 0 ))), select one permutation π of the set {1,. Re-encrypted every time
Figure 2008176193
Is calculated and output,
The public operation device, the secret logic operation device, the decryption device, and the encrypted random number multiplication device are in the order of i = 1,..., N−1.
(A) The concealment logic operation device receives z i ′ and z i + 1 ′ as inputs, executes a magnitude comparison logic operation without leaking plaintext information of z i ′ and z i + 1 ′, and executes an execution result. G = (E (B l−1 , s l−1 ),..., (E (B 0 , s 0 ) is output)
(B) The public computing device calculates E (Σ i = 0 l−1 B i , s) (where s is an appropriate random number) using G's homomorphism using G as an input. Output,
(C) The encrypted random number multiplication device receives E (Σ i = 0 l−1 B i , s) as an input, generates a random number w, and uses E's homomorphism to obtain E (wΣ i = 0 l-1 B i , s ′) is calculated and output,
(D) The decoding device inputs E (wΣi = 0 l−1 B i , s ′) and decodes, and outputs a decoding result B ′ = wΣi = 0 l−1 B i .
(E) public computing device, 'if ≠ a 0, z i' B z i + 1 as z i + 1 '← z i ' as the cipher text of the larger value 'outputs, B' = 'as ciphertext larger value, z i + 1' 0 a z i + 1 if directly outputs,
Repeat the process
The public operation device outputs z n 'as z n ' ← z i + 1 'when i = n, and the decryption device inputs z n ' to decrypt and outputs the decryption result,
The secret function calculation method characterized by the above.
請求項1記載の秘匿関数計算方法において、
暗号置換装置、公開演算装置、秘匿論理演算装置、復号装置及び暗号化乱数生成装置を用い、
暗号化乱数生成装置は、乱数ビットbを生成し、それを暗号化したデータE(b,rb)(ここで、rbは乱数)を計算して出力し、
暗号置換装置は、n個の0以上2l未満の整数の集合X=(x1,・・・,xn)(ここで、xi=Σj=0 l-1ji,j(xi,j∈{0,1})の暗号文Z=(z1,・・・,zn)(ここで、zi=(E(xi,l-1,ri,l-1),・・・,E(xi,0,ri,0)))を入力し、集合{1,・・・,n}の置換πを一つ選びZに適用し、Zの要素毎に再暗号化した
Figure 2008176193
を計算して出力し、
公開演算装置、秘匿論理演算装置及び復号装置は、i=1,・・・,n−1の順に、
(a)秘匿論理演算装置は、zi’,zi+1’を入力として、大小比較論理演算をzi’,zi+1’の平文の情報を漏らすことなく実行して、実行結果G=(E(B,r)およびAの暗号文を得る、
(b)秘匿論理演算装置は、E(B,r),E(B,rb)、およびAの暗号文を入力として、B∨(b∧A)の暗号文Cを計算して出力する、
(c)復号装置は、Cを入力して復号し、復号結果B”=B∨(b∧A)を出力する、
(d) 公開演算装置は、B”=1であれば、zi’を大きい方の値の暗号文としてzi+1’←zi’としてzi+1’を出力し、B”=0であればzi+1’を大きい方の値の暗号文としてzi+1’をそのまま出力する、
処理を繰り返し、
公開演算装置は、i=nで、zn’←zi+1’としてzn’を出力し、復号装置はzn’を入力して復号し、当該復号結果を出力する、
ことを特徴とする秘匿関数計算方法。
The method for calculating a secret function according to claim 1,
Using an encryption replacement device, a public operation device, a secret logic operation device, a decryption device, and an encrypted random number generation device,
The encrypted random number generator generates a random number bit b, calculates and outputs data E (b, r b ) (where r b is a random number) obtained by encrypting the random number bit b,
The cipher replacement device has a set of n integers not less than 0 and less than 2 l X = (x 1 ,..., X n ) (where x i = Σ j = 0 l−1 2 j x i, j Ciphertext Z = (z 1 ,..., Z n ) of (x i, j ∈ {0, 1}) (where z i = (E (x i, l−1 , r i, l− 1 ),..., E (x i, 0 , r i, 0 ))), select one permutation π of the set {1,. Re-encrypted every time
Figure 2008176193
Is calculated and output,
The public operation device, the secret logic operation device, and the decryption device are in the order of i = 1,..., N−1.
(A) The concealment logic operation device receives z i ′ and z i + 1 ′ as inputs, executes a magnitude comparison logic operation without leaking plaintext information of z i ′ and z i + 1 ′, and executes an execution result. G = (E (B, r) and get the ciphertext of A,
(B) secret logic unit, E (B, r), E (B, r b) as, and A inputs the cipher text, and calculates and outputs ciphertext C of B∨ (b∧A) ,
(C) The decoding device inputs C to decode and outputs a decoding result B ″ = B = (b∨A).
(D) publishing computing device, B "if = 1, and outputs a 'z i + 1 as' ← z i 'z i + 1 as a ciphertext larger value' z i, B" = directly outputs 'z i + 1 as a ciphertext larger value' 0 and z i + 1 if,
Repeat the process
The public operation device outputs z n 'as z n ' ← z i + 1 'when i = n, and the decryption device inputs z n ' to decrypt and outputs the decryption result,
The secret function calculation method characterized by the above.
請求項1記載の秘匿関数計算方法において、比較器ネットワークの各比較器の入力の片方の数値のみ秘匿にすることを特徴とする秘匿関数計算方法。   2. The secret function calculation method according to claim 1, wherein only one numerical value of the input of each comparator of the comparator network is concealed. 請求項1乃至5のいずれか1項に記載の秘匿関数計算方法を使用していることを特徴とする秘匿関数計算装置。   A secret function calculation apparatus using the secret function calculation method according to claim 1. 請求項1乃至5のいずれか1項に記載の秘匿関数計算方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the secret function calculation method according to any one of claims 1 to 5.
JP2007011354A 2007-01-22 2007-01-22 Secret function calculation method and apparatus, and program Expired - Fee Related JP4979068B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007011354A JP4979068B2 (en) 2007-01-22 2007-01-22 Secret function calculation method and apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011354A JP4979068B2 (en) 2007-01-22 2007-01-22 Secret function calculation method and apparatus, and program

Publications (2)

Publication Number Publication Date
JP2008176193A true JP2008176193A (en) 2008-07-31
JP4979068B2 JP4979068B2 (en) 2012-07-18

Family

ID=39703244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007011354A Expired - Fee Related JP4979068B2 (en) 2007-01-22 2007-01-22 Secret function calculation method and apparatus, and program

Country Status (1)

Country Link
JP (1) JP4979068B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2141911A2 (en) 2008-07-04 2010-01-06 Ricoh Company, Limited Imaging apparatus
JP2010093424A (en) * 2008-10-06 2010-04-22 Nippon Telegr & Teleph Corp <Ntt> Data sum-up system, disturbance apparatus, reconfiguration apparatus, data sum-up method, disturbance program, and reconfiguration program
JP2010237653A (en) * 2009-03-30 2010-10-21 Mitsubishi Electric Research Laboratories Inc Method and system for verifying similarity between first signal and second signal
JP2011199821A (en) * 2010-02-24 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> Secret calculation system, secret calculation method, and calculation device
JP2011248066A (en) * 2010-05-26 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> Secure multi-party computation system and secure multi-party computation method
JP2012070380A (en) * 2010-09-24 2012-04-05 Mitsubishi Electric Research Laboratories Inc Method for determining result of function applied to first vector and second vector, and system for determining result of function applied to first vector and second vector using third processor
JP2012128398A (en) * 2010-12-10 2012-07-05 Mitsubishi Electric Research Laboratories Inc Method and system for selecting sequence of encrypted elements with privacy protected
JP2014081475A (en) * 2012-10-16 2014-05-08 Nippon Telegr & Teleph Corp <Ntt> Secret calculation system, aggregate function device, secret calculation method, and program
JP2015132690A (en) * 2014-01-10 2015-07-23 公立大学法人広島市立大学 General-purpose secure function computing system, data processor, general-purpose secure function computing method, general-purpose secure function computing program, and recording medium
EP2924911A1 (en) 2014-03-24 2015-09-30 Fujitsu Limited Secure Pattern Matching using Somewhat Homomorphic Encryption
JP2018151620A (en) * 2017-03-13 2018-09-27 パロ アルト リサーチ センター インコーポレイテッド Method and system for privacy protection order statistic collection in star network
KR20200039979A (en) * 2018-10-08 2020-04-17 세종대학교산학협력단 Apparatus and method for order-revealing encryption

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2141911A2 (en) 2008-07-04 2010-01-06 Ricoh Company, Limited Imaging apparatus
JP2010093424A (en) * 2008-10-06 2010-04-22 Nippon Telegr & Teleph Corp <Ntt> Data sum-up system, disturbance apparatus, reconfiguration apparatus, data sum-up method, disturbance program, and reconfiguration program
JP2010237653A (en) * 2009-03-30 2010-10-21 Mitsubishi Electric Research Laboratories Inc Method and system for verifying similarity between first signal and second signal
JP2011199821A (en) * 2010-02-24 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> Secret calculation system, secret calculation method, and calculation device
JP2011248066A (en) * 2010-05-26 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> Secure multi-party computation system and secure multi-party computation method
JP2012070380A (en) * 2010-09-24 2012-04-05 Mitsubishi Electric Research Laboratories Inc Method for determining result of function applied to first vector and second vector, and system for determining result of function applied to first vector and second vector using third processor
JP2012128398A (en) * 2010-12-10 2012-07-05 Mitsubishi Electric Research Laboratories Inc Method and system for selecting sequence of encrypted elements with privacy protected
JP2014081475A (en) * 2012-10-16 2014-05-08 Nippon Telegr & Teleph Corp <Ntt> Secret calculation system, aggregate function device, secret calculation method, and program
JP2015132690A (en) * 2014-01-10 2015-07-23 公立大学法人広島市立大学 General-purpose secure function computing system, data processor, general-purpose secure function computing method, general-purpose secure function computing program, and recording medium
EP2924911A1 (en) 2014-03-24 2015-09-30 Fujitsu Limited Secure Pattern Matching using Somewhat Homomorphic Encryption
JP2015184490A (en) * 2014-03-24 2015-10-22 富士通株式会社 Encryption device, encryption method, information processor, and encryption system
US9438423B2 (en) 2014-03-24 2016-09-06 Fujitsu Limited Encryption device, encryption method, and information processing device
JP2018151620A (en) * 2017-03-13 2018-09-27 パロ アルト リサーチ センター インコーポレイテッド Method and system for privacy protection order statistic collection in star network
KR20200039979A (en) * 2018-10-08 2020-04-17 세종대학교산학협력단 Apparatus and method for order-revealing encryption
KR102132685B1 (en) * 2018-10-08 2020-07-10 세종대학교산학협력단 Apparatus and method for order-revealing encryption

Also Published As

Publication number Publication date
JP4979068B2 (en) 2012-07-18

Similar Documents

Publication Publication Date Title
JP4979068B2 (en) Secret function calculation method and apparatus, and program
CN110235409B (en) Method for protected RSA signature or decryption using homomorphic encryption
Abusukhon et al. A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm
Thabit et al. Security analysis and performance evaluation of a new lightweight cryptographic algorithm for cloud computing
US11063743B2 (en) Method of RSA signature of decryption protected using assymetric multiplicative splitting
Kumar et al. A survey on current key issues and status in cryptography
JP5578754B2 (en) Encryption conversion method and apparatus, and program
Ahmad Abusukhon et al. A novel network security algorithm based on encrypting text into a white-page image
WO2018043049A1 (en) Encryption system, encryption method, and encryption program
Sharma et al. Text security using 2d cellular automata rules
Mousa Chaotic genetic-fuzzy encryption technique
Ukwuoma et al. Quantum attack-resistant security system for cloud computing using lattice cryptography
Acharya et al. Encryption and decryption of informative image by key image using modified Hill cipher technique based on non-invertible matrices
JP6649288B2 (en) Encryption system, setup device, key generation device, encryption device, decryption device, and program
Timilsina et al. Analysis of Hybrid Cryptosystem Developed Using Blowfish and ECC with Different Key Size
JP5103407B2 (en) Encrypted numerical binary conversion system, encrypted numerical binary conversion method, encrypted numerical binary conversion program
Jambhekar et al. Bit level key agreement & exchange protocol for digital image steganography
Obaida et al. A Robust Approach for Mixed Technique of Data Encryption Between DES and RC4 Algorithm
Popoola Data Integrity Using Caesar Cipher and Residue Number System
JP6949276B2 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem
Haweel Development of Hiding a Secret Message in an Image by Encryption Using Fuzzy Logic
OKOLIE et al. Comparative Analysis of Performance Characteristics of well-known Symmetric Key Encryption Algorithms
Arivazhagan et al. Locally Applied Mixed Chaotic Maps based Encryption for High Crypto Secrecy
Oguntunde et al. A comparative study of some traditional and modern cryptographic techniques
Jain et al. A robust multilevel security mechanism against geometric attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120411

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120413

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4979068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees