JP2006078751A - Preliminary computing method for requested computing of public key code - Google Patents
Preliminary computing method for requested computing of public key code Download PDFInfo
- Publication number
- JP2006078751A JP2006078751A JP2004262415A JP2004262415A JP2006078751A JP 2006078751 A JP2006078751 A JP 2006078751A JP 2004262415 A JP2004262415 A JP 2004262415A JP 2004262415 A JP2004262415 A JP 2004262415A JP 2006078751 A JP2006078751 A JP 2006078751A
- Authority
- JP
- Japan
- Prior art keywords
- information
- calculation
- public key
- rsa
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 abstract description 8
- 238000005192 partition Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Abstract
Description
本発明は、公開鍵暗号の依頼計算の事前計算方法に係り、暗号技術のうち公開鍵暗号の復号時や署名時に実行される冪乗計算の依頼計算の事前計算方法に関する。 The present invention relates to a pre-calculation method for request calculation of public key cryptography, and more particularly to a pre-calculation method for request calculation of power calculation executed at the time of decryption or signature of public key cryptography among cryptographic techniques.
公開鍵暗号の依頼計算方法は、秘密鍵を記憶しているクライアント装置が、秘密鍵を記憶していないサーバ装置に対して、秘密鍵の保護を図りながら冪乗計算の処理を依頼する処理時間短縮を目的として実行する分散計算方法である。すなわち、依頼計算は、クライアント装置からサーバ装置に秘密鍵が漏洩することなく、クライアント装置で実行すべき冪乗計算の処理の一部をサーバ装置に実行させるものである。公開鍵暗号の依頼計算の事前計算方法は、復号したい暗号文または署名したいメッセージが入力される前、すなわち、公開鍵暗号の依頼計算を実行する前に、クライアント装置で実行する計算方法である。 The public key encryption request calculation method is a processing time in which a client device that stores a secret key requests a server device that does not store a secret key to perform a power calculation process while protecting the secret key. This is a distributed calculation method executed for the purpose of shortening. That is, the request calculation causes the server apparatus to execute a part of the power calculation process to be executed by the client apparatus without leaking the secret key from the client apparatus to the server apparatus. The public key encryption request calculation pre-calculation method is a calculation method executed on the client device before the ciphertext to be decrypted or the message to be signed is input, that is, before the public key encryption request calculation is executed.
公開鍵暗号の依頼計算方法に関する従来技術として、例えば、非特許文献1に記載された技術が知られている。この従来技術は、RSA暗号の依頼計算方法に関するもので、RSA暗号のRSA鍵情報と剰余群とを、楕円曲線暗号等の群を利用する公開鍵暗号の鍵情報と群とに変更することにより、公開鍵暗号の依頼計算方法に応用することができる。
As a conventional technique related to a public key encryption request calculation method, for example, a technique described in Non-Patent
図3は従来技術によるRSA暗号の依頼計算の事前計算方法について説明する図であり、図3を参照して、従来技術による依頼計算の事前計算方法を説明する。図3において、1はクライアント装置、2は中央演算処理装置兼主記憶装置、3は記憶装置である。 FIG. 3 is a diagram for explaining a prior calculation method for request calculation of RSA encryption according to the prior art, and a prior calculation method for request calculation according to the prior art will be described with reference to FIG. In FIG. 3, 1 is a client device, 2 is a central processing unit and main storage device, and 3 is a storage device.
RSA暗号の依頼計算の事前計算方法を実行するクライアント装置1は、中央演算処理装置兼主記憶装置2と、記憶装置と3から構成される。
A
記憶装置3には、RSA公開鍵情報e,nと、RSA秘密鍵情報dと、RSA秘密鍵二分割情報fd,sdと、RSA秘密鍵多分割情報D[1]〜D[α]と、第一指数情報FE[1]〜FE[α]と、第二指数情報SE[1]〜SE[α]と、セキュリティパラメータα,βとが記憶されている。
The
但し、φ(n)はRSA公開鍵情報nのオイラー関数値,D[1]〜D[α]は1以上φ(n)−1以下の整数値,FE[1]〜FE[α]及びSE[1]〜SE[α]は0以上β−1以下の整数値であり、d=fd×sd modφ(n),fd=Σ(1≦i≦α)(D[i]×FE[i])modφ(n),sd=Σ(1≦i≦α)(D[i]×SE[i])modφ(n)が成り立つものとする。 Where φ (n) is the Euler function value of the RSA public key information n, D [1] to D [α] are integer values from 1 to φ (n) −1, FE [1] to FE [α], and SE [1] to SE [α] are integer values of 0 or more and β−1 or less, and d = fd × sd mod φ (n), fd = Σ (1 ≦ i ≦ α) (D [i] × FE [ i]) mod φ (n), sd = Σ (1 ≦ i ≦ α) (D [i] × SE [i]) mod φ (n).
次に、従来技術によるRSA暗号の依頼計算の事前計算方法の動作について、図3の中央演算処理装置兼主記憶装置2の内部に示したフローを参照して説明する。この処理は、RSA暗号の依頼計算方法を実行する前に、毎回実行する必要のある処理である。
Next, the operation of the prior calculation method for RSA encryption request calculation according to the prior art will be described with reference to the flow shown in the central processing unit /
(1)クライアント装置1の処理装置は、まず、記憶装置3からRSA公開鍵情報nと、RSA秘密鍵二分割情報sdを読み込む(ステップ301)。
(1) The processing device of the
(2)次に、事前計算情報fpに1以上n−1以下のランダムな整数値を代入する(ステップ302)。 (2) Next, a random integer value of 1 or more and n-1 or less is substituted for the pre-calculation information fp (step 302).
(3)次に、事前計算情報spにfp^(−sd)mod n を代入する。但し、fp^(−sd)は、fpの(−sd)乗の値である(ステップ303)。 (3) Next, fp ^ (-sd) mod n is substituted for the pre-calculation information sp. However, fp ^ (-sd) is a value of fp raised to the power of (-sd) (step 303).
(4)記憶装置3に、ステップ302、303の処理で得られた事前計算情報fp,spを書き込む(ステップ304)。 (4) The pre-calculation information fp and sp obtained by the processing of steps 302 and 303 are written in the storage device 3 (step 304).
以上がクライアント装置1で実行される事前計算であり、クライアント装置1は、この事前計算を行った後に、サーバ装置に対して計算の依頼を行う。
The above is the pre-computation executed by the
図4は従来技術によるRSA暗号の依頼計算方法について説明する図であり、次に、図4を参照して、従来技術による依頼計算方法を説明する。図4において、2’は中央演算処理装置兼主記憶装置、4はサーバ装置であり、他の符号は、図3の場合と同一である。 FIG. 4 is a diagram for explaining a request calculation method for RSA encryption according to the prior art. Next, a request calculation method according to the prior art will be described with reference to FIG. In FIG. 4, 2 'is a central processing unit and main storage device, 4 is a server device, and other reference numerals are the same as those in FIG.
従来技術による依頼計算は、クライアント装置1とサーバ装置4とが接続されて実行され、RSA暗号の依頼計算方法を実行するクライアント装置1は、中央演算処理装置兼主記憶装置2と記憶装置3から構成され、サーバ装置4は、中央演算処理装置兼主記憶装置2’から構成される。記憶装置3には、図3で説明したRSA暗号の依頼計算の事前計算方法を実行した後の情報が記憶されている。
The request calculation according to the prior art is executed by connecting the
なお、後述において、xは復号したい暗号文情報または署名したいメッセージ情報であり、zは復号結果情報または署名結果情報である。 In the following description, x is ciphertext information to be decrypted or message information to be signed, and z is decryption result information or signature result information.
(1)クライアント装置1の処理装置は、まず、記憶装置3からRSA公開鍵情報nと、RSA秘密鍵多分割情報D[1]〜D[α]と、第一指数情報FE[1]〜FE[α]と、第二指数情報SE[1]〜SE[α]と、セキュリティパラメータαと、事前計算情報fp,spとを読み込む(ステップ401)。
(1) First, the processing device of the
(2)次に、クライアント装置1は、サーバ装置4に、x,n,D[1]〜D[α]を送信する(ステップ402)。
(2) Next, the
(3)サーバ装置4は、1≦i≦αについて、第一基底情報FB[i]にx^D[i]mod n を代入して、第一基底情報FB[1]〜FB[α]を算出する(ステップ403)。 (3) For 1 ≦ i ≦ α, the server device 4 substitutes x ^ D [i] mod n for the first basis information FB [i], and sets the first basis information FB [1] to FB [α]. Is calculated (step 403).
(4)その後、サーバ装置4は、クライアント装置1にステップ403で算出した第一基底情報FB[1]〜FB[α]を送信する(ステップ404)。 (4) Thereafter, the server device 4 transmits the first base information FB [1] to FB [α] calculated in Step 403 to the client device 1 (Step 404).
(5)クライアント装置1は、第一基底情報FB[1]〜FB[α]を受け取ると、中間結果情報yにfp×Π(1≦i≦α)(FB[i]^FE[i])mod n を代入して、中間結果情報yを算出する(ステップ405)。
(5) Upon receiving the first basis information FB [1] to FB [α], the
(6)クライアント装置1は、サーバ装置4にステップ405で算出した中間結果情報yを送信する(ステップ406)。
(6) The
(7)サーバ装置4は、1≦i≦αについて、第二基底情報SB[i]にy^D[i]mod nを代入して、第二基底情報SB[1]〜SB[α]を算出する(ステップ407)。 (7) For 1 ≦ i ≦ α, the server device 4 substitutes y ^ D [i] mod n for the second base information SB [i], and sets the second base information SB [1] to SB [α]. Is calculated (step 407).
(8)サーバ装置4は、クライアント装置1にステップ407で算出した第二基底情報SB[1]〜SB[α]を送信する(ステップ408)。 (8) The server device 4 transmits the second base information SB [1] to SB [α] calculated in Step 407 to the client device 1 (Step 408).
(9)クライアント装置1は、サーバ装置4から第二基底情報SB[1]〜SB[α]を受け取ると、zにsp×Π(1≦i≦α)(SB[i]^SE[i])mod n を代入する(ステップ409)。
(9) When the
前述したような従来技術によるRSA暗号の依頼計算方法により、RSA暗号の復号時や署名時に実行される冪乗計算を正しく実行することができ、このことは、次のように確認することができる。 According to the RSA encryption request calculation method according to the prior art as described above, the power calculation executed at the time of decryption or signature of the RSA encryption can be correctly executed, and this can be confirmed as follows. .
z=sp×Π(1≦i≦α)(SB[i]^SE[i])mod n
=sp×Π(1≦i≦α)(y^D[i]^SE[i])mod n
=sp×y^{Σ(1≦i≦α)(D[i]×SE[i])}mod n
=sp×y^sd mod n
=sp×{fp×Π(1≦i≦α)(FB[i]^FE[i])}^sd mod n
=sp×fp^sd×{Π(1≦i≦α)(FB[i]^FE[i])}^sd m od n
={Π(1≦i≦α)(FB[i]^FE[i])}^sd mod n
={Π(1≦i≦α)(x^D[i]^FE[i])}^sd mod n
=x^{Σ(1≦i≦α)(D[i]×FE[i])}^sd mod n
=x^fd^sd mod n
=x^(fd×sd)mod n
=x^d mod n
前述したような従来技術により、RSA暗号の依頼計算を行った場合にも、クライアント装置からサーバ装置にRSA秘密鍵情報dが漏洩することはない。なぜなら、セキュリティパラメータα,βの値を大きくすれば、第一指数情報FE[1]〜FE[α]と第二指数情報SE[1]〜SE[α]との組み合わせの数は膨大になり、サーバ装置が第一指数情報FE[1]〜FE[α]と第二指数情報SE[1]〜SE[α]とを取得できないからである。例えば、セキュリティパラメータαの値を16,βの値を16とすると、第一指数情報FE[1]〜FE[α]と第二指数情報SE[1]〜SE[α]との組み合わせの数は2^128となる。
z = sp × Π (1 ≦ i ≦ α) (SB [i] ^ SE [i]) mod n
= Sp × Π (1 ≦ i ≦ α) (y ^ D [i] ^ SE [i]) mod n
= Sp × y ^ {Σ (1 ≦ i ≦ α) (D [i] × SE [i])} mod n
= Sp * y ^ sd mod n
= Sp × {fp × Π (1 ≦ i ≦ α) (FB [i] ^ FE [i])} ^ sd mod n
= Sp × fp ^ sd × {Π (1 ≦ i ≦ α) (FB [i] ^ FE [i])} ^ sd m od n
= {Π (1 ≦ i ≦ α) (FB [i] ^ FE [i])} ^ sd mod n
= {Π (1 ≦ i ≦ α) (x ^ D [i] ^ FE [i])} ^ sd mod n
= X ^ {Σ (1 ≦ i ≦ α) (D [i] × FE [i])} ^ sd mod n
= X ^ fd ^ sd mod n
= X ^ (fd × sd) mod n
= X ^ d mod n
Even when the RSA encryption request calculation is performed by the conventional technology as described above, the RSA private key information d is not leaked from the client device to the server device. This is because if the security parameters α and β are increased, the number of combinations of the first exponent information FE [1] to FE [α] and the second exponent information SE [1] to SE [α] becomes enormous. This is because the server device cannot acquire the first exponent information FE [1] to FE [α] and the second exponent information SE [1] to SE [α]. For example, if the value of the security parameter α is 16 and the value of β is 16, the number of combinations of the first exponent information FE [1] to FE [α] and the second exponent information SE [1] to SE [α]. Becomes 2 ^ 128.
そして、依頼計算を行わない場合のクライアント装置の処理量は、指数部ビット長がRSA秘密鍵情報dのビット長の冪乗計算1回である。一方、依頼計算方を行う場合のクライアント装置の処理量は、指数部ビット長がセキュリティパラメータβのビット長の冪乗計算2α回である。指数部のビット長がLの冪乗計算1回の処理量は、乗算1.5L回の処理量とほぼ等しい。例えば、RSA秘密鍵情報dのビット長を1024、セキュリティパラメータβのビット長を4、セキュリティパラメータαのビット長を16とすると、依頼計算を行わない場合のクライアント装置の処理量は、乗算1536回の処理量となり、依頼計算を行う場合のクライアント装置の処理量は、乗算192回の処理量となる。従って、前述した従来技術によるRSA暗号の依頼計算方法により、クライアント装置の処理量を大幅に削減することができる。
前述した従来技術によるRSA暗号の依頼計算の事前計算方法は、図3により説明したステップ303の処理で、指数部ビット長がRSA秘密鍵二分割情報sdのビット長の冪乗計算を1回を実行する必要がある。RSA秘密鍵二分割情報sdのビット長は、RSA秘密鍵情報dのビット長と等しいため、従来技術によるRSA暗号の依頼計算の事前計算の処理量は、依頼計算方法なしの場合のクライアント装置の処理量と等しくなる。また、この事前計算の結果は、サーバ装置に送信して依頼計算のために使用されるが、サーバ装置に毎回同一のデータを送信すると安全性を損なう可能性があるので、事前計算は、RSA暗号の依頼計算を実行する前に、毎回実行する必要がある。 The prior calculation method of the RSA encryption request calculation according to the prior art described above is the process of step 303 described with reference to FIG. 3, in which the exponent part bit length is one power cycle calculation of the bit length of the RSA private key bisection information sd. Need to run. Since the bit length of the RSA private key bisection information sd is equal to the bit length of the RSA private key information d, the amount of pre-calculation of the request calculation of the RSA cipher request according to the prior art is that of the client apparatus in the case of no request calculation method It becomes equal to the processing amount. In addition, the result of this pre-calculation is transmitted to the server device and used for request calculation. However, if the same data is transmitted to the server device every time, the safety may be impaired. Before executing cryptographic request calculation, it is necessary to execute it every time.
そのため、前述した従来技術によるRSA暗号の依頼計算の事前計算方法は、その処理量を削減しないと、クライアント装置によってはPKIトークンとして実用に耐えられないという問題点を生じさせてしまう。このことは、クライアント装置が携帯電話機等の携帯可能な機器のような処理能力の小さい機器である場合に特に大きな問題となる。 For this reason, the prior calculation method for RSA encryption request calculation according to the above-described prior art may cause a problem that some client devices cannot be used as a PKI token unless the processing amount is reduced. This is a particularly serious problem when the client device is a device with a small processing capability such as a portable device such as a mobile phone.
本発明の目的は、前述したような従来技術の問題点を解決し、冪乗計算を実行する必要のないRSA暗号、楕円曲線暗号等の公開鍵暗号の依頼計算の事前計算方法を提供することにある。 An object of the present invention is to solve the problems of the prior art as described above, and to provide a pre-calculation method for request calculation of public key cryptography such as RSA cryptography and elliptic curve cryptography that does not require execution of power calculation. It is in.
本発明によれば前記目的は、サーバ装置に公開鍵暗号の依頼計算を行わせるためにクライアント装置が事前計算を行う公開鍵暗号の依頼計算の事前計算方法において、前記クライアント装置内の記憶装置に事前計算情報の組と同様な関係が成立する冪乗情報を記憶しておき、前記クライアント装置がランダムに選んだ冪乗情報を乗算することにより事前計算情報を計算することにより達成される。 According to the present invention, the object is to provide a public key encryption request calculation pre-calculation method in which a client device performs pre-calculation in order to cause a server device to perform public key encryption request calculation. This is achieved by storing the power information that holds the same relationship as the set of pre-calculated information, and calculating the pre-calculated information by multiplying the power information randomly selected by the client device.
公開鍵暗号がRSA暗号である場合について具体的にいえば、前記目的は、サーバ装置が、底部分が復号したい暗号文情報または署名したいメッセージ情報であり指数部分がRSA秘密鍵多分割情報である冪乗計算を実行することにより第一基底情報を計算し、クライアント装置が、底部分が第一基底情報であり指数部分が第一指数情報である冪乗計算を実行し、さらに、事前計算情報を掛け合わせることにより中間結果情報を計算し、サーバ装置が、底部分が中間結果情報であり指数部分がRSA秘密鍵多分割情報である冪乗計算を実行することにより第二基底情報を計算し、クライアント装置が、底部分が第二基底情報であり指数部分が第二指数情報である冪乗計算を実行し、さらに、事前計算情報を掛けあわせることにより復号結果情報または署名結果情報を計算するRSA暗号の依頼計算方法に対して、クライアント装置内の記憶装置に、冪乗情報の組が事前計算情報の組と同様な関係が成立する冪乗情報を記憶し、クライアント装置が、ランダムに選んだ冪乗情報を乗算することで事前計算情報を計算することにより達成される。 More specifically, when the public key encryption is RSA encryption, the object is that the server apparatus is ciphertext information to be decrypted or message information to be signed, and the exponent part is RSA private key multi-partition information. The first base information is calculated by executing the power calculation, and the client device executes the power calculation in which the base portion is the first base information and the exponent portion is the first exponent information, and the pre-calculation information is further calculated. And the server device calculates the second base information by performing a power calculation with the base part being the intermediate result information and the exponent part being the RSA private key multi-partition information. The client device executes the power calculation with the bottom part being the second base information and the exponent part being the second exponent information, and further multiplying the precalculation information to obtain the decryption result information. Alternatively, for the RSA encryption request calculation method for calculating the signature result information, the storage information in the client device is stored in the storage device with the power information that satisfies the same relationship as the pre-calculation information set, This is achieved by the client device calculating pre-calculation information by multiplying randomly selected power information.
本発明によれば、公開鍵暗号の依頼計算の事前計算において、冪乗計算を実行する必要がなくなるので、依頼計算の事前計算を行うクライアント装置の処理量を削減することができると共に、安全性を維持することができる。これにより、携帯電話のような処理能力の小さい機器を含め、より多くのクライアント装置をPKIトークンとして実用に耐えられるようにすることができる。 According to the present invention, since it is not necessary to perform a power calculation in the pre-calculation of the public key encryption request calculation, it is possible to reduce the processing amount of the client device that performs the pre-calculation of the request calculation, and to ensure safety. Can be maintained. As a result, a larger number of client devices including a device having a small processing capability such as a mobile phone can be put into practical use as a PKI token.
以下、本発明による公開鍵暗号の依頼計算の事前計算方法の実施形態を図面により詳細に説明する。 Embodiments of a pre-calculation method for public key encryption request calculation according to the present invention will be described below in detail with reference to the drawings.
図1は本発明の一実施形態によるRSA暗号の依頼計算の事前計算方法について説明する図であり、図1を参照して、本発明の実施形態による依頼計算の事前計算方法を説明する。図1における符号は、図3の場合と同様である。 FIG. 1 is a diagram for explaining a pre-calculation method for request calculation of RSA encryption according to an embodiment of the present invention. With reference to FIG. 1, a pre-calculation method for request calculation according to an embodiment of the present invention will be described. The reference numerals in FIG. 1 are the same as those in FIG.
RSA暗号の依頼計算の事前計算方法を実行するクライアント装置1は、従来技術の場合と同様に、中央演算処理装置兼主記憶装置2と、記憶装置3とから構成される。図3には、本発明の説明に必要な構成だけを示しているが、クライアント装置1は、よく知られているように、CPU、ハードディスク装置、主記憶装置、ディスプレイ、キーボード、マウス、通信制御部等を備えて構成される携帯電話機、PDA、PC、ワークステーション等の情報処理装置であってよい。
The
そして、記憶装置3には、RSA公開鍵情報e,nと、RSA秘密鍵情報dと、RSA秘密鍵二分割情報fd,sdと、RSA秘密鍵多分割情報D[1]〜D[α]と、第一指数情報FE[1]〜FE[α]と、第二指数情報SE[1]〜SE[α]と、セキュリティパラメータα,β,γ,δと、冪乗情報FP[1]〜FP[γ],SP[1]〜SP[γ]が記憶されている。なお、冪乗情報FP[1]〜FP[γ],SP[1]〜SP[γ]は、本発明のために予め算出されている情報である。
The
但し、φ(n)はRSA公開鍵情報nのオイラー関数値,D[1]〜D[α]は1以上φ(n)−1以下の整数値,FE[1]〜FE[α]及びSE[1]〜SE[α]は0以上β−1以下の整数値であり、d=fd×sd modφ(n) ,fd=Σ(1≦i≦α)(D[i]×FE[i])modφ(n),sd=Σ(1≦i≦α)(D[i]×SE[i])modφ(n),1≦i≦γについてSP[i]=FP[i]^(−sd)mod n が成り立つものとする。 Where φ (n) is the Euler function value of the RSA public key information n, D [1] to D [α] are integer values from 1 to φ (n) −1, FE [1] to FE [α], and SE [1] to SE [α] are integer values from 0 to β−1, and d = fd × sd mod φ (n), fd = Σ (1 ≦ i ≦ α) (D [i] × FE [ i]) mod φ (n), sd = Σ (1 ≦ i ≦ α) (D [i] × SE [i]) SP [i] = FP [i] ^ for mod φ (n), 1 ≦ i ≦ γ (−sd) mod n is assumed to hold.
次に、本発明の実施形態によるRSA暗号の依頼計算の事前計算方法の動作について、図1の中央演算処理装置兼主記憶装置2の内部に示したフローを参照して説明する。
Next, the operation of the RSA encryption request calculation pre-calculation method according to the embodiment of the present invention will be described with reference to the flow shown in the central processing unit /
(1)クライアント装置1の処理装置は、まず、記憶装置3からRSA公開鍵情報nと、セキュリティパラメータγ,δと、冪乗情報FP[1]〜FP[γ],SP[1]〜SP[γ]とを読み込む(ステップ101)。
(1) First, the processing device of the
(2)次に、事前計算情報fpに1を代入すると共に、事前計算情報spにも1を代入する(ステップ102)。 (2) Next, 1 is substituted into the pre-calculation information fp and 1 is also substituted into the pre-calculation information sp (step 102).
(3)iに1を代入して、ステップ104、105の処理を繰り返すことを設定する(ステップ103)。 (3) Assign 1 to i and set to repeat the processing of steps 104 and 105 (step 103).
(4)次に、R[i]に1以上γ以下のランダムな整数を代入する(ステップ104)。 (4) Next, a random integer between 1 and γ is substituted for R [i] (step 104).
(5)事前計算情報fpにfp×FP[R[i]]mod nを代入し、事前計算情報spにsp×SP[R[i]]mod nを代入する(ステップ105)。 (5) Substitute fp × FP [R [i]] mod n for the pre-calculation information fp, and substitute sp × SP [R [i]] mod n for the pre-calculation information sp (step 105).
(6)iにi+1を代入して、i≦δであるか否かを判定し、i≦δである間、ステップ104からの処理に戻って処理を繰り返す(ステップ106)。 (6) By substituting i + 1 for i, it is determined whether i ≦ δ or not, and while i ≦ δ, the processing returns to step 104 and is repeated (step 106).
(7)前述までの処理で算出された事前計算情報fp,spを記憶装置3に書き込んで、ここでの処理を終了する(ステップ107)。
(7) The pre-calculation information fp, sp calculated in the above processing is written in the
前述した事前計算の後の依頼計算は、図4により説明した従来技術の場合と同様に、サーバ装置に計算させることができる。 The request calculation after the above-described pre-calculation can be calculated by the server device as in the case of the prior art described with reference to FIG.
次に、前述した本発明の実施形態によるRSA暗号の依頼計算の事前計算方法により計算される事前計算情報fp,spが、従来技術によるRSA暗号の依頼計算の事前計算方法により計算される事前計算情報fp,spと同様なものとなることについて説明する。 sp=Π(1≦i≦δ)(SP[R[i]])mod n
=Π(1≦i≦δ)(FP[R[i]]^(−sd))mod n
={Π(1≦i≦δ)FP[R[i]]}^(−sd)mod n
=fp^(−sd)mod n
前述した本発明の実施形態によるRSA暗号の依頼計算の事前計算の処理量は、乗算2δ回である。従来技術によるRSA暗号の依頼計算の事前計算の処理量は、指数部ビット長がRSA秘密鍵二分割情報sdのビット長の冪乗計算1回である。例えば、セキュリティパラメータδを20、RSA秘密鍵二分割情報sdのビット長を1024とすると、本発明の実施形態でのRSA暗号の依頼計算の事前計算の処理量は、乗算40回の処理量であり、従来技術でのRSA暗号の依頼計算の事前計算の処理量は、乗算1536回の処理量である。このように、本発明の実施形態によるRSA暗号の依頼計算の事前計算方法は、クライアント装置の処理量を削減することができる。
Next, the pre-calculation information fp, sp calculated by the RSA encryption request calculation pre-calculation method according to the embodiment of the present invention described above is calculated by the RSA encryption request calculation pre-calculation method according to the prior art. The fact that the information is similar to the information fp, sp will be described. sp = Π (1 ≦ i ≦ δ) (SP [R [i]]) mod n
= Π (1 ≦ i ≦ δ) (FP [R [i]] ^ (− sd)) mod n
= {Π (1 ≦ i ≦ δ) FP [R [i]]} ^ (− sd) mod n
= Fp ^ (-sd) mod n
The amount of pre-calculation of RSA cipher request calculation according to the above-described embodiment of the present invention is 2δ multiplications. The processing amount of the prior calculation of the request calculation of the RSA encryption according to the prior art is that the exponent part bit length is one power calculation of the bit length of the RSA private key bisection information sd. For example, assuming that the security parameter δ is 20 and the bit length of the RSA secret key bisection information sd is 1024, the processing amount of the pre-calculation of the RSA encryption request calculation in the embodiment of the present invention is the processing amount of 40 multiplications. Yes, the processing amount of the pre-calculation of RSA encryption request calculation in the prior art is the processing amount of 1536 multiplications. Thus, the RSA encryption request calculation pre-calculation method according to the embodiment of the present invention can reduce the processing amount of the client device.
また、本発明の実施形態によるRSA暗号の依頼計算の事前計算方法を用いても、クライアント装置からサーバ装置にRSA秘密鍵情報dが漏洩することはない。なぜなら、セキュリティパラメータγ,δを大きくすれば、事前計算情報fp,spの組み合わせの数は膨大になり、サーバ装置が事前計算情報fp,spを取得することができないからである。例えば、セキュリティパラメータγを32,δを20とすると、事前計算情報fp,spの組み合わせの数は2^100という大きなものとなる。 Further, even when the RSA encryption request calculation pre-calculation method according to the embodiment of the present invention is used, the RSA private key information d does not leak from the client device to the server device. This is because if the security parameters γ and δ are increased, the number of combinations of the pre-calculation information fp and sp becomes enormous and the server device cannot acquire the pre-calculation information fp and sp. For example, when the security parameter γ is 32 and δ is 20, the number of combinations of the pre-calculation information fp and sp is as large as 2 ^ 100.
前述したように、本発明の実施形態により、安全性を維持しつつ公開鍵暗号の依頼計算の事前計算の処理量を削減することができ、より多くのクライアント装置をPKIトークンとして実用に耐えられるようにすることができる。 As described above, according to the embodiment of the present invention, it is possible to reduce the amount of pre-calculation processing for request calculation of public key encryption while maintaining security, and more client devices can be practically used as PKI tokens. Can be.
前述した本発明の実施形態は、RSA暗号のRSA鍵情報と剰余群とを、楕円曲線暗号等の群を利用する公開鍵暗号の鍵情報と群とに変更することにより、公開鍵暗号の依頼計算の事前計算方法に応用することができ、次に、これについて説明する。 In the embodiment of the present invention described above, the RSA key information and the remainder group of the RSA cipher are changed to the key information and group of the public key cipher that uses a group such as an elliptic curve cipher. This can be applied to a calculation pre-calculation method, which will be described next.
図2は本発明の他の実施形態による楕円曲線暗号の依頼計算の事前計算方法について説明する図であり、図2を参照して、本発明の他の実施形態による依頼計算の事前計算方法を説明する。図2における符号は、図3の場合と同様であり、また、楕円曲線暗号の依頼計算の事前計算方法を実行するクライアント装置1は、図1の場合と同様に、中央演算処理装置兼主記憶装置2と、記憶装置3とから構成される。
FIG. 2 is a diagram for explaining a pre-calculation method for request calculation of elliptic curve cryptography according to another embodiment of the present invention. Referring to FIG. 2, a pre-calculation method for request calculation according to another embodiment of the present invention is described. explain. The reference numerals in FIG. 2 are the same as those in FIG. 3, and the
記憶装置3には、楕円曲線公開鍵情報E,G[1]〜G[2]と、楕円曲線秘密鍵情報dと、楕円曲線秘密鍵二分割情報fd,sdと、楕円曲線秘密鍵多分割情報D[1]〜D[α]と、第一指数情報FE[1]〜FE[α]と、第二指数情報SE[1]〜SE[α]と、セキュリティパラメータα,β,γ,δと、スカラー倍情報FP[1]〜FP[γ],SP[1]〜SP[γ]とが記憶されている。
The
但し、Eは楕円曲線,Hは楕円曲線上の巡回群,|H|は楕円曲線上の巡回群の位数,G[1]〜G[2]及びFP[1]〜FP[γ]及びSP[1]〜SP[γ]は楕円曲線上の点,d及びfd及びsd及びD[1]〜D[α]は1以上|H|−1以下の整数値,FE[1]〜FE[α]及びSE[1]〜SE[α]は0以上β−1以下の整数値であり、楕円曲線E上の演算でG[2]=d×G[1],d=fd×sd mod|H|,fd=Σ(1≦i≦α)(D[i]×FE[i])mod|H|,sd=Σ(1≦i≦α)(D[i]×SE[i])mod|H|,1≦i≦γについて楕円曲線E上の演算でSP[i]=FP[i]×(−sd)が成り立つものとする。 Where E is an elliptic curve, H is a cyclic group on the elliptic curve, | H | is the order of the cyclic group on the elliptic curve, G [1] to G [2] and FP [1] to FP [γ] and SP [1] to SP [γ] are points on the elliptic curve, d and fd and sd and D [1] to D [α] are integer values of 1 to | H | −1, and FE [1] to FE. [Α] and SE [1] to SE [α] are integer values of 0 or more and β−1 or less, and G [2] = d × G [1] and d = fd × sd in the calculation on the elliptic curve E. mod | H |, fd = Σ (1 ≦ i ≦ α) (D [i] × FE [i]) mod | H |, sd = Σ (1 ≦ i ≦ α) (D [i] × SE [i ]) It is assumed that SP [i] = FP [i] × (−sd) holds in the calculation on the elliptic curve E for mod | H |, 1 ≦ i ≦ γ.
次に、本発明の他の実施形態による楕円曲線暗号の依頼計算の事前計算方法の動作について、図2の中央演算処理装置兼主記憶装置2の内部に示したフローを参照して説明する。
Next, the operation of the pre-calculation method for request calculation of elliptic curve cryptography according to another embodiment of the present invention will be described with reference to the flow shown inside the central processing unit /
(1)クライアント装置1の処理装置は、まず、記憶装置3から楕円曲線公開鍵情報Eと、セキュリティパラメータγ,δと、スカラー倍情報FP[1]〜FP[γ],SP[1]〜SP[γ]とを読み込む(ステップ201)。
(1) The processing device of the
(2)次に、事前計算情報fpに無限遠点を代入すると共に、事前計算情報spにも無限遠点を代入する(ステップ202)。 (2) Next, the infinity point is substituted for the precalculation information fp, and the infinity point is substituted for the precalculation information sp (step 202).
(3)iに1を代入して、ステップ204、205の処理を繰り返すことを設定する(ステップ203)。 (3) Assign 1 to i and set to repeat the processing of steps 204 and 205 (step 203).
(4)次に、R[i]に1以上γ以下のランダムな整数を代入する(ステップ204)。 (4) Next, a random integer between 1 and γ is substituted for R [i] (step 204).
(5)事前計算情報fpに楕円曲線E上の演算でfp+FP[R[i]]を代入し、事前計算情報spに楕円曲線E上の演算でsp+SP[R[i]]を代入する(ステップ205)。 (5) Substituting fp + FP [R [i]] by the calculation on the elliptic curve E into the precalculation information fp, and substituting sp + SP [R [i]] by the calculation on the elliptic curve E into the precalculation information sp (step) 205).
(6)iにi+1を代入して、i≦δであるか否かを判定し、i≦δである間、ステップ204からの処理に戻って処理を繰り返す(ステップ206)。 (6) i + 1 is substituted into i to determine whether i ≦ δ or not, and while i ≦ δ, the processing returns to step 204 and repeats the processing (step 206).
(7)前述までの処理で算出された事前計算情報fp,spを記憶装置3に書き込んで、ここでの処理を終了する(ステップ207)。
(7) The pre-calculation information fp, sp calculated in the above processing is written in the
1 クライアント装置
2、2’ 中央演算処理装置兼主記憶装置
3 記憶装置
4 サーバ装置
DESCRIPTION OF
Claims (3)
2. The public key encryption request calculation pre-calculation method according to claim 1, wherein the public key encryption is elliptic curve encryption.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004262415A JP2006078751A (en) | 2004-09-09 | 2004-09-09 | Preliminary computing method for requested computing of public key code |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004262415A JP2006078751A (en) | 2004-09-09 | 2004-09-09 | Preliminary computing method for requested computing of public key code |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006078751A true JP2006078751A (en) | 2006-03-23 |
Family
ID=36158260
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004262415A Pending JP2006078751A (en) | 2004-09-09 | 2004-09-09 | Preliminary computing method for requested computing of public key code |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2006078751A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006025298A (en) * | 2004-07-09 | 2006-01-26 | Oki Electric Ind Co Ltd | Mutual authentication method, mutual authentication apparatus, and mutual authentication system |
| JP2010513990A (en) * | 2006-12-18 | 2010-04-30 | マイクロソフト コーポレーション | Fast RSA signature verification |
-
2004
- 2004-09-09 JP JP2004262415A patent/JP2006078751A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006025298A (en) * | 2004-07-09 | 2006-01-26 | Oki Electric Ind Co Ltd | Mutual authentication method, mutual authentication apparatus, and mutual authentication system |
| JP2010513990A (en) * | 2006-12-18 | 2010-04-30 | マイクロソフト コーポレーション | Fast RSA signature verification |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6964688B2 (en) | Devices and methods for performing approximation operations on ciphertext | |
| Haase et al. | AuCPace: Efficient verifier-based PAKE protocol tailored for the IIoT | |
| US8300811B2 (en) | Method and device for processing data | |
| US10726108B2 (en) | Protecting the input/output of modular encoded white-box RSA | |
| CN104396181B (en) | system and method for generating and protecting cryptographic key | |
| US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
| JP5001176B2 (en) | Signature generation apparatus, signature generation method, and signature generation program | |
| JP4086503B2 (en) | Cryptographic operation apparatus and method, and program | |
| JP2008252299A (en) | Cryptographic processing system and cryptographic processing method | |
| KR20050034238A (en) | Security system using RSA algorithm and method thereof | |
| US9680647B2 (en) | Method of using a token in cryptography | |
| US10140437B2 (en) | Array indexing with modular encoded values | |
| US10235506B2 (en) | White-box modular exponentiation | |
| US6480606B1 (en) | Elliptic curve encryption method and system | |
| US7434898B2 (en) | Computer system, computer program, and addition method | |
| EP3125145B1 (en) | White-box elliptic curve point multiplication | |
| US10068070B2 (en) | White-box elliptic curve point multiplication | |
| KR101440680B1 (en) | Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same | |
| US8731187B2 (en) | Computing genus-2 curves using general isogenies | |
| JP2004163687A (en) | Elliptic curve encryption device, elliptic curve encryption program | |
| JP2006078751A (en) | Preliminary computing method for requested computing of public key code | |
| US11616994B2 (en) | Embedding information in elliptic curve base point | |
| EP3125144B1 (en) | Array indexing with modular encoded values | |
| KR102782569B1 (en) | Electronic device for calculating encrypted messages and methods thereof | |
| Janani et al. | A secured key management scheme for mobile ad hoc networks with modified montgomery modular arithmetic |