JP2002351314A - Method, device, and program for ciphered information generation, and recording medium - Google Patents

Method, device, and program for ciphered information generation, and recording medium

Info

Publication number
JP2002351314A
JP2002351314A JP2001156084A JP2001156084A JP2002351314A JP 2002351314 A JP2002351314 A JP 2002351314A JP 2001156084 A JP2001156084 A JP 2001156084A JP 2001156084 A JP2001156084 A JP 2001156084A JP 2002351314 A JP2002351314 A JP 2002351314A
Authority
JP
Japan
Prior art keywords
information
prime
montgomery
cryptographic information
generated
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
Application number
JP2001156084A
Other languages
Japanese (ja)
Inventor
Hiromi Nobukata
浩美 信方
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001156084A priority Critical patent/JP2002351314A/en
Publication of JP2002351314A publication Critical patent/JP2002351314A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a method, a device, and program for ciphered information generation which generates ciphered information at a high speed by shortening the time needed to generate an prime number and a recording medium where the program is recorded. SOLUTION: This ciphered information generating device which generates the ciphered information by ciphering information by using the prime number is equipped with a ciphered information generation part 3 which generates the ciphered information C with inputted bit width L, a Montgomery arithmetic part 5 which performs Montgomery arithmetic for a number as a prime number candidate, and a control part 1 which makes the Montgomery arithmetic part 5 carry out Montgomery arithmetic based upon last generated ciphered information C as an initial value when the number of digits of the ciphered information generated by the ciphered information generation part 3 exceeds (L/4) bits and makes the ciphered information generation part 3 update the ciphered information by using the number decided as a prime number through the Montgomery arithmetic as a new prime number.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は暗号情報生成方法と
暗号情報生成装置、暗号情報生成プログラム及び記録媒
体に関し、さらに詳しくは、素数を利用することによっ
て暗号情報を生成するための方法と装置、プログラム及
び記録媒体に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for generating cryptographic information, a cryptographic information generating apparatus, a cryptographic information generating program and a recording medium, and more particularly, to a method and apparatus for generating cryptographic information by using prime numbers. It relates to a program and a recording medium.

【0002】[0002]

【従来の技術】ネットワークによる近年の情報通信にお
いては、情報に対するセキュリティが重要となってお
り、様々な暗号化技術が開発されているが、暗号鍵と復
号鍵とが異なる非対称暗号としてのRSA暗号が広く用
いられている。
2. Description of the Related Art In information communication over networks in recent years, security of information has become important, and various encryption techniques have been developed. However, RSA encryption as asymmetric encryption in which an encryption key and a decryption key are different. Is widely used.

【0003】このRSA暗号では、公開鍵をeとし剰余
数をNとしたとき、Mという情報の送信者は、該情報Mを
以下の式(1)により示される暗号情報Cに暗号化する
ことによって、受信者へ送信する。
In the RSA encryption, when the public key is e and the remainder is N, the sender of the information M must encrypt the information M into encrypted information C represented by the following equation (1). To send to the recipient.

【0004】[0004]

【数1】 (Equation 1)

【0005】そして、受信者は送信された上記暗号情報
Cに対し、上記剰余数Nと秘密鍵dとを用いて下記の式
(2)に示された演算を実行することにより、上記Mと
いう情報を得ることになる。
[0005] Then, the receiver executes the operation represented by the following equation (2) on the transmitted cipher information C using the remainder N and the secret key d, thereby obtaining the above-mentioned M. You will get information.

【0006】[0006]

【数2】 (Equation 2)

【0007】ここで、上記剰余数Nは二つの素数の積と
されるが、RSA暗号におけるセキュリティを確保する
ためには定期的に上記素数を更新することが望まれる。
このため、RSA暗号化技術においては、繰り返し新た
な素数を生成する必要がある。
Here, the remainder N is a product of two prime numbers. In order to ensure security in RSA encryption, it is desirable to periodically update the prime numbers.
For this reason, in the RSA encryption technology, it is necessary to repeatedly generate a new prime number.

【0008】以下に、従来の素数生成方法を、図10を
参照しつつ説明する。まず、乱数を用いることによって
素数候補を生成し、ステップS1において、該素数候補
を既存の素数により除する。このとき、ステップS2に
おいて割り切れたか否かを判断し、該素数候補が該素数
の倍数であると判定される場合には、ステップS5へ進
む。一方、ステップS2において、該素数候補が既存の
該素数の倍数でないと判定される場合には、ステップS
3においてフェルマー(Fermat)テストやミラーラビン
(Miller Rabin)テスト等の演算ループで第一ステップ
からモンゴメリ法を用いることによって素数判定を行
う。そして、ステップS4において該素数候補が素数と
判定される場合には、この素数生成方法を終了し、素数
でないと判定される場合にはステップS5へ進む。ここ
で、ステップS5においては該素数候補に2を加え、ス
テップS1へ戻る。
Hereinafter, a conventional prime number generation method will be described with reference to FIG. First, prime candidates are generated by using random numbers, and in step S1, the prime candidates are divided by existing prime numbers. At this time, it is determined in step S2 whether or not the number is divisible. If it is determined that the prime candidate is a multiple of the prime, the process proceeds to step S5. On the other hand, if it is determined in step S2 that the prime candidate is not a multiple of the existing prime, the process proceeds to step S2.
In step 3, the prime number is determined by using the Montgomery method from the first step in a calculation loop such as a Fermat test or a Miller Rabin test. If it is determined in step S4 that the prime candidate is a prime, the prime generation method is terminated. If it is determined that the prime is not a prime, the process proceeds to step S5. Here, in step S5, 2 is added to the prime number candidate, and the process returns to step S1.

【0009】以上が従来の素数生成方法であるが、ステ
ップS3におけるテストにおいては、べき乗剰余算を実
行するため、求める素数のビット幅が大きくなるに従っ
て演算サイクル数が増加し、素数生成時間が長くなると
いう問題があった。
The above is a description of the conventional prime generation method. However, in the test in step S3, since the modular exponentiation is executed, the number of operation cycles increases as the bit width of the desired prime increases, and the prime generation time increases. There was a problem of becoming.

【0010】[0010]

【発明が解決しようとする課題】本発明は上記のような
問題を解消するためになされたもので、素数を生成する
ための時間を短縮することにより、暗号情報を高速に生
成するための暗号情報生成方法と暗号情報生成装置、プ
ログラム及び該プログラムが記録された記録媒体を提供
することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and has been made in order to reduce the time required to generate prime numbers, thereby enabling encryption to generate cryptographic information at high speed. An object of the present invention is to provide an information generation method, an encryption information generation device, a program, and a recording medium on which the program is recorded.

【0011】[0011]

【課題を解決するための手段】本発明の目的は、素数を
用いて情報を暗号化するとき、生成する暗号情報のビッ
ト幅Lを特定し、特定されたビット幅Lに応じて暗号情報
を生成し、生成された暗号情報の桁数が(L/4)ビッ
トを超えるとき、直前に生成された暗号情報を初期値と
してモンゴメリ演算を実行し、モンゴメリ演算により素
数であると判定された数を新たな素数として暗号情報を
更新することにより達成される。
SUMMARY OF THE INVENTION An object of the present invention is to specify a bit width L of encryption information to be generated when encrypting information using a prime number, and to encrypt the information in accordance with the specified bit width L. When the number of digits of the generated cryptographic information exceeds (L / 4) bits, a Montgomery operation is performed using the immediately preceding cryptographic information as an initial value, and the number determined to be a prime number by the Montgomery operation By updating the cryptographic information as a new prime number.

【0012】このような手段によれば、モンゴメリ演算
で必要な演算サイクル数を低減することができ、より高
速に素数を得ることができる。
According to such a means, the number of operation cycles required for Montgomery operation can be reduced, and prime numbers can be obtained more quickly.

【0013】ここで、モンゴメリ演算におけるパラメー
タの初期値を、直前に素数候補とされた数に応じて得ら
れたパラメータ相互を減算することにより算出すること
とすれば、モンゴメリ演算で必要な演算サイクル数をさ
らに低減し、素数をより高速に得ることができる。
Here, if the initial values of the parameters in the Montgomery operation are calculated by subtracting the parameters obtained in accordance with the number of the prime candidates immediately before, the operation cycle required in the Montgomery operation is calculated. The number can be further reduced and prime numbers can be obtained faster.

【0014】[0014]

【発明の実施の形態】以下において、本発明の実施の形
態を図面を参照しつつ詳しく説明する。なお、図中同一
符号は同一または相当部分を示す。
Embodiments of the present invention will be described below in detail with reference to the drawings. The same reference numerals in the drawings indicate the same or corresponding parts.

【0015】RSA暗号では、情報通信システムのセキ
ュリティ度を保持するため、定期的に剰余演算の剰余数
Nを変更する。ここで、剰余数Nは2個の素数の積であ
るため、2個の素数を生成する必要がある。
In the RSA encryption, the remainder N of the remainder operation is periodically changed to maintain the security of the information communication system. Here, since the remainder number N is a product of two prime numbers, it is necessary to generate two prime numbers.

【0016】例えば、1024ビットのRSA暗号の場合に
は、512ビットの素数を2個生成する必要がある。この
とき、ある数が素数か否かの判定は、Fermatテストまた
はMiller-Rabinテスト等で実行される。
For example, in the case of 1024-bit RSA encryption, it is necessary to generate two 512-bit prime numbers. At this time, whether a certain number is a prime number is determined by a Fermat test, a Miller-Rabin test, or the like.

【0017】そして上記Fermatテストは、Fermatの小定
理、すなわちpが素数であるとき0<a<pである任意
の数aに対して以下の式(3)が成立するという定理を
利用したものである。
The Fermat test uses Fermat's small theorem, that is, the following theorem that when p is a prime number, the following equation (3) holds for any number a satisfying 0 <a <p. It is.

【0018】[0018]

【数3】 (Equation 3)

【0019】すなわち、上記aを(p−1)乗して素数
候補pで剰余を取り、結果が1である場合に該pは素数
であると判定するテストである。但し、pが素数でなく
ても演算結果が1となる場合があるため、通常は複数の
aに対して演算を実行し、いずれの演算結果も1となる
場合に初めて該pを素数であると判定する。以下に、図
1を参照しつつ、本実施の形態に係る素数生成方法を説
明する。まず、例えば乱数を用いることによって素数候
補を生成し、ステップS1において該素数候補を既存の
いくつかの小さな素数で除する。そして、ステップS2
においては、上記の除算において割り切れたか否かを判
断し、割り切れた場合にはステップS5へ進み、割り切
れない場合にはステップS3へ進む。そして、ステップ
S3では、FermatテストまたはMiller-Rabinテスト等の
演算ループで途中のステップからモンゴメリ(Montgome
ry)法を用いることによって素数判定を行う。なお、こ
のステップS3については、後に詳しく説明する。ステ
ップS4においては、該素数候補が素数であると判定さ
れるか否かを判断し、素数であると判定される場合には
終了すると共に、素数と判定されない場合にはステップ
S5へ進む。ここで、ステップS5においては上記素数
候補に2を加え、ステップS1へ戻る。以上のような方
法により、必要とされる素数を生成することができる。
上記ステップS3に示されたFermatテストまたはMiller
-Rabinテストは、(a)素数候補pによる剰余演算、ま
たは(b)モンゴメリ法による演算により実現すること
ができる。そして、上記モンゴメリ法を採用する場合に
は、該演算に必要な幾つかのパラメータを予め計算する
必要があり、素数生成で素数候補を変化させつつ演算を
行う場合には、該演算毎にパラメータを計算する必要が
ある。しかしながら、(a)の剰余演算を行う場合より
演算時間は格段に短くなるため、上記モンゴメリ法を採
用することが望ましい。そして、このモンゴメリ法を採
用する際には、例えばLビットからなるRSA暗号にお
いて(L/2)ビットの素数をαビットの乗算器を用い
て求める場合、1個の素数候補に対して素数判定を実行
するために必要なサイクル数Ncは、上記パラメータ計
算のためのサイクルを無視すれば、次式(4)で表され
る。
That is, this is a test in which a is raised to the power of (p-1) and the remainder is taken as a prime candidate p, and when the result is 1, p is a prime number. However, since the calculation result may be 1 even if p is not a prime number, the calculation is usually performed on a plurality of a, and when any of the calculation results is 1, the p is a prime number for the first time. Is determined. Hereinafter, the prime number generation method according to the present embodiment will be described with reference to FIG. First, prime candidates are generated by using, for example, random numbers, and in step S1, the prime candidates are divided by some existing small prime numbers. Then, step S2
In, it is determined whether or not it is divisible by the above division. If it is divisible, the process proceeds to step S5. If it is not divisible, the process proceeds to step S3. Then, in step S3, Montgomery (Montgome) is executed from an intermediate step in an operation loop such as the Fermat test or the Miller-Rabin test.
The prime number is determined by using the ry) method. Step S3 will be described later in detail. In step S4, it is determined whether or not the prime candidate is determined to be a prime number. If it is determined that the prime number is a prime number, the process ends. If not, the process proceeds to step S5. Here, in step S5, 2 is added to the prime number candidate, and the process returns to step S1. The required prime numbers can be generated by the above method.
Fermat test or Miller shown in step S3 above
The -Rabin test can be realized by (a) a remainder operation using the prime candidate p or (b) an operation using the Montgomery method. When the Montgomery method is adopted, it is necessary to calculate some parameters necessary for the operation in advance. When performing the operation while changing the prime candidates in the prime generation, the parameter is set for each operation. Needs to be calculated. However, since the calculation time is much shorter than when the remainder calculation of (a) is performed, it is desirable to employ the Montgomery method. When the Montgomery method is used, for example, when an (L / 2) -bit prime is obtained using an α-bit multiplier in an L-bit RSA encryption, a prime decision is performed on one prime candidate. The number of cycles Nc required to execute the above equation is expressed by the following equation (4) if the cycles for calculating the above parameters are ignored.

【0020】[0020]

【数4】 (Equation 4)

【0021】従って上式(4)より、例えばRSA暗号
のビット幅Lが2倍になると、演算サイクルは8倍とな
る。また、素数定理によって、2L/2付近における素数
の分布確率Dはビット幅Lが十分大きいとき、次式
(5)により示される。
Therefore, according to the above equation (4), for example, if the bit width L of the RSA encryption is doubled, the operation cycle becomes eight times. Further, according to the prime number theorem, the distribution probability D of a prime number in the vicinity of 2 L / 2 is expressed by the following equation (5) when the bit width L is sufficiently large.

【0022】[0022]

【数5】 (Equation 5)

【0023】ここで、RSA暗号のビット幅Lが2倍と
なると、素数の存在確率は半分となることがわかる。従
って、図1のステップS1に示された既知の素数による
除算を無視すると、RSA暗号のビット幅Lが2倍とな
る場合には、素数生成に要するサイクル数は16倍とな
る。なお、上記の既知素数による除算を考慮に入れる
と、該倍率は多少小さくなるものの10倍以上になり、
いずれにしても素数生成時間は長くなる。
Here, it can be seen that when the bit width L of the RSA encryption is doubled, the existence probability of the prime number is halved. Therefore, if the division by the known prime number shown in step S1 of FIG. 1 is ignored, when the bit width L of the RSA encryption is doubled, the number of cycles required for generating the prime number becomes 16 times. In consideration of the above-mentioned division by the known prime number, the magnification is slightly reduced, but becomes 10 times or more.
In any case, the prime number generation time becomes long.

【0024】そこで、本実施の形態に係る暗号生成方法
と暗号生成装置、暗号生成プログラム及び該プログラム
を記録した記録媒体は、上記FermatテストまたはMiller
-Rabinテストにおいて必要とされる演算サイクル数を削
減することによって、素数を生成するための全サイクル
数を減じ、素数生成時間の短縮ひいてはRSA暗号情報
の生成時間を短縮する。具体的には、本実施の形態に係
る上記素数生成においては、第一に上記aの値として2
を用い、第二に、素数判定のための演算として、演算結
果の桁数が(L/4)ビットを超える直前の値を初期値
としてモンゴメリ法を実行する。そして第三に、該モン
ゴメリ法の演算に使用するパラメータ(M*)を、最新
の素数候補から減算することにより生成する。以下にお
いて、本実施の形態に係る素数生成方法について詳しく
説明する。図2は除算を用いた素数判定テストの手順を
示すプログラムである。図2に示されるように、除算に
よる素数判定では演算ループL1において、演算ステッ
プCAL1では乗算後にpによる剰余演算を実行している。
ここで、暗号情報Cの初期値は2であり、pはL/2ビ
ットの数であるため、暗号情報Cの値がpより小さいう
ちは剰余演算を実行する必要がない。すなわち、暗号情
報Cがpより小さい数であるとき、(C mod p)の
演算結果はCとなる。また、例えばLを1024ビットとし
たときL/2は512ビットとなるが、鍵の最大値(e
=p−1={11111111・・・})と最小値(e={1000000
0・・・})に対するi=510〜503までの演算結果は、そ
れぞれ以下の表1及び表2に示される。
Therefore, the cipher generation method and the cipher generating apparatus, the cipher generating program and the recording medium on which the program is recorded according to the present embodiment are compatible with the Fermat test or Miller.
-By reducing the number of operation cycles required in the Rabin test, the total number of cycles for generating prime numbers is reduced, and the time for generating prime numbers is reduced, and the time for generating RSA encryption information is also reduced. Specifically, in the generation of the prime numbers according to the present embodiment, first, the value of a is 2
Second, as an operation for determining a prime number, the Montgomery method is executed with a value immediately before the number of digits of the operation result exceeds (L / 4) bits as an initial value. Third, the parameter (M *) used for the operation of the Montgomery method is generated by subtracting it from the latest prime candidate. Hereinafter, the prime number generation method according to the present embodiment will be described in detail. FIG. 2 is a program showing a procedure of a prime number judgment test using division. As shown in FIG. 2, in the primality judgment by division, in the operation loop L1, in the operation step CAL1, the remainder operation by p is performed after the multiplication.
Here, since the initial value of the cryptographic information C is 2, and p is a number of L / 2 bits, it is not necessary to execute the remainder operation while the value of the cryptographic information C is smaller than p. That is, when the encryption information C is a number smaller than p, the calculation result of (C mod p) is C. For example, when L is 1024 bits, L / 2 is 512 bits, but the maximum value of the key (e
= P-1 = {11111111...}) And the minimum value (e = {1000000)
0 ...}) are shown in Tables 1 and 2 below for i = 510 to 503, respectively.

【0025】[0025]

【表1】 [Table 1]

【0026】[0026]

【表2】 [Table 2]

【0027】上記のように、i=510〜503の間において
は、Cの値は素数候補p(2511<p<2512)より小さ
いため剰余演算を行う必要がなく、該演算結果を初期値
として演算を開始すればよい。
As described above, during the range of i = 510 to 503, the value of C is smaller than the prime candidate p (2 511 <p <2 512 ), so there is no need to perform a remainder operation, and the operation result is initialized. The calculation may be started as a value.

【0028】これより、図2に示された手順における演
算ループL1を、i=510〜503までの剰余演算が不要な
演算ループL2と、i=502以下において剰余演算を実
行する演算ループL3とに分割し、図3のプログラムに
示された手順によって素数判定を実行することができ
る。また、上記表1及び表2に示されるように、iが50
3である時の演算が終わった後における暗号情報Cの値
は、鍵eの上位8ビットを切り出して2のべき乗数とし
た値と一致する。これより、図3に示された演算ループ
L2において実行されるi=510〜503におけるべき乗剰
余演算は不要となり、演算ループL2の代わりに図4に
示されたプログラムにおける演算ステップCAL2を実行す
ることにより素数を判定することができる。ここで、モ
ンゴメリ法による素数判定の手順は、図5に示されたプ
ログラムにより記述される。このモンゴメリ法は、図5
に示されるように、演算ループL4に入る前のステップ
CAL3においてパラメータ変換を実行し、その後、演算ル
ープL4において剰余演算の代わりに乗算を実行する方
法である。そして、上記のような図5に示されたモンゴ
メリ法を、図4に示された演算ループL3の実行に適用
すると、図6に示されたプログラムを得ることができ
る。このとき、図6に示された演算手順を、図5に示さ
れた素数判定手順と演算サイクルの点で比較すると、i
=510〜503までのモンゴメリ演算サイクル数だけ減少す
る一方、M*の算出に必要な演算サイクル数が増加す
る。ここで、従来方法によるM*の算出ではr=2L/2
し、暗号情報Cが2の定数とされたため、X*(=r mo
d p)を2倍してpを引けば足りる。これに対し、本実
施の形態に係る方法によれば、i=502からモンゴメリ
法を適用する場合、暗号情報Cの値は2256〜2511とな
り、pによる剰余算の演算サイクル数が大きくなる。以
下において、上記M*の算出方法を説明する。まず、
(C・r)/pで表される除算により同じ商を持つpの
個数をαとする。このとき、暗号情報Cは素数候補にお
ける最上位数ビットの2のべき乗数であるため、素数候
補を変えても変化しないと仮定する。このとき、次式
(6)より、式(7)を得ることができる。
The operation loop L1 in the procedure shown in FIG. 2 is divided into an operation loop L2 that does not require a remainder operation from i = 510 to 503, and an operation loop L3 that executes a remainder operation when i = 502 or less. And the prime number determination can be performed by the procedure shown in the program of FIG. Further, as shown in Tables 1 and 2, i is 50
The value of the cryptographic information C after the operation at the time of 3 is equal to the value obtained by cutting out the upper 8 bits of the key e and setting it as a power of 2. Accordingly, the modular exponentiation operation at i = 510 to 503 executed in the operation loop L2 shown in FIG. 3 becomes unnecessary, and the operation step CAL2 in the program shown in FIG. 4 is executed instead of the operation loop L2. Can determine the prime number. Here, the procedure of the prime number judgment by the Montgomery method is described by the program shown in FIG. This Montgomery method is shown in FIG.
As shown in the figure, steps before entering the operation loop L4
This is a method in which parameter conversion is performed in CAL3, and then multiplication is performed in place of the remainder operation in the operation loop L4. Then, when the Montgomery method shown in FIG. 5 is applied to the execution of the operation loop L3 shown in FIG. 4, the program shown in FIG. 6 can be obtained. At this time, comparing the operation procedure shown in FIG. 6 with the prime number determination procedure shown in FIG.
= 510 to 503, while the number of operation cycles required to calculate M * increases. Here, in the calculation of M * according to the conventional method, since r = 2 L / 2 and the encryption information C is a constant of 2, X * (= r mo
It is sufficient to double dp) and subtract p. On the other hand, according to the method according to the present embodiment, when the Montgomery method is applied from i = 502, the value of the cryptographic information C is 2 256 to 2 511 , and the number of operation cycles of the remainder calculation by p increases. . Hereinafter, a method of calculating the above M * will be described. First,
Let α be the number of ps having the same quotient by division represented by (C · r) / p. At this time, since the cryptographic information C is a power of 2 of the most significant bit in the prime candidate, it is assumed that it does not change even if the prime candidate is changed. At this time, Expression (7) can be obtained from Expression (6).

【0029】[0029]

【数6】 (Equation 6)

【0030】[0030]

【数7】 (Equation 7)

【0031】ここで、次式(8)より、式(9)及び式
(10)を得ることができる。
Here, from the following equation (8), equations (9) and (10) can be obtained.

【0032】[0032]

【数8】 (Equation 8)

【0033】[0033]

【数9】 (Equation 9)

【0034】[0034]

【数10】 (Equation 10)

【0035】そして、i=503における演算結果を初期
値としてモンゴメリ演算を実行する場合、暗号情報Cの
最大値は2511となる。これを上記式(10)へ代入す
ると、1/2<α<2となり、素数候補が変わるたびに
商の値が変わる。すなわち、素数候補が変わる度に除算
を実行してモンゴメリ演算の初期値M*を求める必要が
ある。
When the Montgomery calculation is executed with the calculation result at i = 503 as an initial value, the maximum value of the encryption information C is 2511 . When this is substituted into the above equation (10), 1/2 <α <2, and the value of the quotient changes each time the prime number candidate changes. That is, it is necessary to perform the division every time the prime candidate changes to obtain the initial value M * of the Montgomery operation.

【0036】一方、i=504における演算結果を初期値
としてモンゴメリ演算を実行する場合、暗号情報Cの最
大値は2255となる。これを上記式(10)へ代入する
と、2255<α<2257となり、αの採りうる値は次式
(11)により算出される。
On the other hand, when the Montgomery operation is executed with the operation result at i = 504 as the initial value, the maximum value of the encryption information C is 2255 . When this is substituted into the above equation (10), 2 255 <α <2 257 , and the value that α can take is calculated by the following equation (11).

【0037】[0037]

【数11】 [Equation 11]

【0038】また、2512付近における素数の存在確率
は、上記式(5)のLに1024を代入することにより、お
よそ1/355と求まる。すなわち、確率的には355個の素
数候補をテストすることにより素数を得ることができ
る。ここで、355≪3・2255−2であるので、一旦次式
(12)を計算して商Dと剰余M*を求めると、その後
の素数候補は減算により得ることができる。
The probability of the existence of a prime number near 2 512 can be found to be about 1/355 by substituting 1024 for L in the above equation (5). That is, prime numbers can be obtained by testing 355 prime number candidates in terms of probability. Here, since 355≪3 2 255 -2, once the following equation (12) is calculated to obtain the quotient D and the remainder M * , the subsequent prime candidates can be obtained by subtraction.

【0039】[0039]

【数12】 (Equation 12)

【0040】すなわち、C・rを(p+2)で割った時
の商と剰余をそれぞれD',M*'とすると、次式(1
3)を得ることができる。
That is, assuming that the quotient and remainder when C · r is divided by (p + 2) are D ′ and M * ′, respectively, the following equation (1)
3) can be obtained.

【0041】[0041]

【数13】 (Equation 13)

【0042】ここで、上記式(12)及び式(13)を
*'について解くと、次式(14)を得ることができ
る。
Here, when the above equations (12) and (13) are solved for M * ′, the following equation (14) can be obtained.

【0043】[0043]

【数14】 [Equation 14]

【0044】このとき、D≠D'となる確率は(3・2
255−2)分の1であるから、上式(14)においてD
=D'とおくと、次式(15)を導出することができ
る。
At this time, the probability that D ≠ D 'is (3.2
255 -2), and therefore D in the above equation (14)
= D ′, the following equation (15) can be derived.

【0045】[0045]

【数15】 (Equation 15)

【0046】従って、二つ目以降の素数候補におけるモ
ンゴメリ演算における初期値の計算が減算のみとなり、
従来の方法によるM*の初期値演算と比べても必要サイ
クル数は同じとなる。なお、上式(15)による演算結
果が負となった場合には、上式(14)に戻ってそれま
での演算結果に(p+2)を加えればよい。
Therefore, the calculation of the initial value in the Montgomery operation for the second and subsequent prime candidates is only subtraction,
The required number of cycles is the same as compared with the calculation of the initial value of M * by the conventional method. If the result of the calculation according to the above equation (15) is negative, it is sufficient to return to the above equation (14) and add (p + 2) to the previous calculation result.

【0047】以上のように、剰余演算が不要である範囲
における暗号情報Cの最大値を初期値として、その後に
モンゴメリ演算を実行することにより、該モンゴメリ演
算の初期値M*の計算に必要なサイクル数、ひいては演
算サイクルの合計数を減らすことができる。これより、
本実施の形態に係る暗号情報生成方法によれば、上記の
ような方法によって高速に素数を得ることができるた
め、暗号情報を高速に生成することができる。
As described above, by setting the maximum value of the cryptographic information C in a range in which the remainder operation is unnecessary as an initial value, and subsequently executing the Montgomery operation, it is necessary to calculate the initial value M * of the Montgomery operation. The number of cycles, and thus the total number of operation cycles, can be reduced. Than this,
According to the cryptographic information generation method according to the present embodiment, a prime number can be obtained at high speed by the above-described method, so that cryptographic information can be generated at high speed.

【0048】以下に、本実施の形態に係る上記の素数生
成方法において実際に必要とされる演算サイクル数を、
従来の方法による演算サイクル数と比較して具体的に説
明する。まず、i=510〜503において減少するモンゴメ
リ演算サイクル数は、例えば32ビットの乗算器を用い
た場合、次式(16)により求めることができる。
In the following, the number of operation cycles actually required in the above-described prime number generation method according to this embodiment is
A specific description will be made in comparison with the number of operation cycles according to the conventional method. First, the number of Montgomery operation cycles that decreases when i = 510 to 503 can be obtained by the following equation (16) when a 32-bit multiplier is used, for example.

【0049】[0049]

【数16】 (Equation 16)

【0050】一方、増加するサイクル数は、以下のよう
になる。すなわち上記のように、2つ目以降の素数候補
についてのM*の算出は減算により実現されるので、従
来においてM*の算出の際に必要とされたサイクル数と
同じサイクル数が必要とされる。ただし、最初の素数候
補のみは除算により計算する必要がある。ここで、この
除算において必要とされるサイクル数を求める。図7
は、一例として被除数がa0〜a31の32個のワー
ド、除数がb0〜b15の16個のワードからなる場合
の除算動作を説明する図である。ここで、上記表1及び
表2を参照すると、図7に示されるように、暗号情報C
とrの積からなる1024ビットの被除数の中で、640〜768
ビットの間の領域Rに1ビットだけ1が存在する。そし
て例えば、767ビット目に1がくるワーストケースでは
8回除算を実行することになるが、このときのサイクル
数は117×8=936[サイクル]となる。
On the other hand, the number of increasing cycles is as follows. That is, as described above, since the calculation of M * for the second and subsequent prime candidates is realized by subtraction, the same cycle number as that conventionally required for the calculation of M * is required. You. However, only the first prime number candidate needs to be calculated by division. Here, the number of cycles required in this division is obtained. FIG.
FIG. 7 is a diagram illustrating a division operation in a case where a dividend is composed of 32 words a0 to a31 and a divisor is composed of 16 words b0 to b15. Here, referring to Tables 1 and 2 above, as shown in FIG.
Of the 1024-bit dividend consisting of the product of
There is only one 1 in the region R between the bits. Then, for example, in the worst case where 1 is at the 767th bit, division is performed eight times, and the number of cycles at this time is 117 × 8 = 936 [cycles].

【0051】以上より、上記式(16)により得られた
減少サイクル数と上記増加サイクル数との差をとれば、
およそ一万サイクル数だけの演算サイクルを低減できる
ことが分かる。
From the above, by taking the difference between the number of decreasing cycles obtained by the above equation (16) and the number of increasing cycles,
It can be seen that the operation cycle of about 10,000 cycles can be reduced.

【0052】最後に、図8を参照しつつ、ワード単位
(一例として32ビット単位)での除算方法について説
明する。まず、ステップS1では被除数(M・r)のう
ち1の含まれる最上位の2ワード(64ビット)を、除
数(p)の最上位32ビットで除算し、32サイクル数
で商Dを求める。次にステップS2において、上記商D
と除数pとの積を17サイクル数で計算する。
Finally, a division method in units of words (for example, in units of 32 bits) will be described with reference to FIG. First, in step S1, the most significant two words (64 bits) including 1 in the dividend (M · r) are divided by the most significant 32 bits of the divisor (p), and the quotient D is obtained by the number of 32 cycles. Next, in step S2, the quotient D
And the divisor p are calculated in 17 cycles.

【0053】ステップS3では、ステップS2において
求められた積の2の補数Dp'を17サイクル数で計算
する。そして、ステップS4では、被除数(M・r)の
上位544ビットと補数Dp'の加算を17サイクル数で行
い、ステップS5では最上位桁からの桁上がりがあるか
否かを判断し、桁上がりがある場合にはステップS9へ
進み、桁上がりが無い場合にはステップS6へ進む。そ
して、ステップS6においては、17サイクル数で除数
pを加算し、ステップS7において最上位桁からの桁上
がりがあるか否かを判断する。ここで、該桁上がりがあ
る場合にはステップS9へ進み、該桁上がりが無い場合
にはステップS8へ進む。ステップS8では、17サイ
クル数で除数pを加算しステップS9へ進む。また、ス
テップS9では1の含まれる最上位ワードの桁数が除数
の最上位ワードの桁数と等しいか否かを判断し、等しい
場合には本演算を終了し、等しくない場合にはステップ
S1へ戻る。
In step S3, the 2's complement Dp 'of the product obtained in step S2 is calculated in 17 cycles. Then, in step S4, the upper 544 bits of the dividend (M · r) and the complement Dp 'are added in 17 cycles, and in step S5, it is determined whether or not there is a carry from the most significant digit. If there is, go to step S9, and if there is no carry, go to step S6. Then, in step S6, the divisor p is added by the number of 17 cycles, and in step S7, it is determined whether or not there is a carry from the most significant digit. Here, if there is a carry, the process proceeds to step S9, and if there is no carry, the process proceeds to step S8. In step S8, the divisor p is added by the number of 17 cycles, and the process proceeds to step S9. In step S9, it is determined whether or not the number of digits of the most significant word including 1 is equal to the number of digits of the most significant word of the divisor. If they are equal, the operation is terminated. Return to

【0054】次に、本発明の実施の形態に係る上記暗号
情報生成方法は、例えば図9に示された暗号情報生成装
置により実現される。図9に示される暗号情報生成装置
は、制御部1と暗号情報生成部3、及びモンゴメリ演算
部5とを備える。
Next, the encryption information generation method according to the embodiment of the present invention is realized by, for example, the encryption information generation apparatus shown in FIG. The encryption information generation device shown in FIG. 9 includes a control unit 1, an encryption information generation unit 3, and a Montgomery operation unit 5.

【0055】ここで、暗号情報仮生成部3は制御部1に
接続され、モンゴメリ演算部5は制御部1及び暗号情報
仮生成部3に接続される。
Here, the cryptographic information provisional generation unit 3 is connected to the control unit 1, and the Montgomery operation unit 5 is connected to the control unit 1 and the provisional encryption information generation unit 3.

【0056】上記のような構成を有する暗号情報生成装
置においては、制御部1へRSA暗号のビット幅Lが供
給され、暗号情報生成部3は制御部1から供給されたビ
ット幅Lを用いて、上記の方法により暗号情報Cを生成
し出力する。なお、この暗号情報Cの初期値は、上記図
6に示された方法により生成されるが、以下に説明する
手順により順次更新される。
In the cryptographic information generation apparatus having the above configuration, the bit width L of the RSA encryption is supplied to the control unit 1, and the cryptographic information generation unit 3 uses the bit width L supplied from the control unit 1. , And generates and outputs the cryptographic information C. The initial value of the encryption information C is generated by the method shown in FIG. 6, but is sequentially updated by the procedure described below.

【0057】制御部1に素数更新コマンドRNが供給さ
れると、制御部1は暗号情報生成部1で生成されている
最新の暗号情報Cを受け取り、該暗号情報Cの桁数が
(L/4)ビットを超える演算サイクルを特定する。そ
して、制御部1は特定した該サイクルの番号iCをモン
ゴメリ演算部5へ供給する。また、モンゴメリ演算部5
は、暗号情報生成部3から(iC−1)番目のサイクル
において得られた暗号情報Cを受け取り、これを初期値
として上記のようにモンゴメリ演算を実行する。ここ
で、該モンゴメリ演算に使用するパラメータ(M*)
は、上記のように最新の素数候補から減算することによ
り生成される。
When the prime number update command RN is supplied to the control unit 1, the control unit 1 receives the latest encryption information C generated by the encryption information generation unit 1, and the number of digits of the encryption information C becomes (L / L). 4) Identify operation cycles that exceed bits. Then, the control unit 1 supplies the specified number i C of the cycle to the Montgomery calculation unit 5. The Montgomery operation unit 5
Receives the cryptographic information C obtained in the (i C -1) -th cycle from the cryptographic information generation unit 3 and executes the Montgomery operation as described above using this as an initial value. Here, the parameter (M *) used for the Montgomery operation
Is generated by subtracting from the latest prime candidate as described above.

【0058】そして、モンゴメリ演算部5による該演算
により得られた素数は、暗号情報生成部3に供給され
る。暗号情報生成部3は、供給された素数を用いて上記
のように剰余数Nを更新し、該剰余数Nにより暗号情報C
を更新し出力する。以上より、本発明の実施の形態に係
る暗号情報生成方法及び暗号情報生成装置によれば、素
数を生成するために必要とされる演算サイクル数を低減
することにより、素数生成時間を短縮することができる
ため、暗号情報を高速に生成することができる。なお、
上記の方法により生成される素数は、RSA暗号の生成
に用いられるのみならず、素数を用いた他の暗号情報の
生成においても有効に利用できる。
The prime number obtained by the operation by the Montgomery operation unit 5 is supplied to the encryption information generation unit 3. The cryptographic information generation unit 3 updates the remainder N using the supplied prime numbers as described above, and uses the remainder N to generate the cryptographic information C.
Is updated and output. As described above, according to the cryptographic information generation method and the cryptographic information generation device according to the embodiment of the present invention, the prime number generation time can be reduced by reducing the number of operation cycles required for generating a prime number. Therefore, encrypted information can be generated at high speed. In addition,
The prime generated by the above method can be effectively used not only for generating the RSA encryption but also for generating other cryptographic information using the prime.

【0059】また、本発明の実施の形態に係る暗号情報
生成方法は、図2から図6に示されるように、容易にプ
ログラミングすることができ、該プログラムをコンピュ
ータ読み取り可能な記録媒体に記録して、該記録媒体が
装着されたコンピュータにより該プログラムを実行する
ことにより、容易に実現することができる。
Further, as shown in FIGS. 2 to 6, the encryption information generating method according to the embodiment of the present invention can be easily programmed, and the program is recorded on a computer-readable recording medium. Then, the program can be easily realized by executing the program by a computer on which the recording medium is mounted.

【0060】[0060]

【発明の効果】本発明に係る暗号情報生成方法と暗号情
報生成装置、暗号情報生成プログラム及び記録媒体によ
れば、モンゴメリ演算で必要な演算サイクル数を低減す
ることができ、より高速に素数を得ることができるた
め、暗号情報を高速に生成することができる。
According to the cryptographic information generating method, the cryptographic information generating apparatus, the cryptographic information generating program, and the recording medium of the present invention, the number of operation cycles required for Montgomery operation can be reduced, and prime numbers can be reduced more quickly. Therefore, the cryptographic information can be generated at high speed.

【0061】ここで、モンゴメリ演算におけるパラメー
タの初期値を、直前に素数候補とされた数に応じて得ら
れたパラメータ相互を減算することにより算出すること
とすれば、モンゴメリ演算で必要な演算サイクル数をさ
らに低減し、素数をより高速に得ることができるため、
暗号情報をより高速に生成することができる。
Here, if the initial values of the parameters in the Montgomery operation are calculated by subtracting the parameters obtained in accordance with the number of the prime candidates immediately before, the operation cycle required for the Montgomery operation is calculated. Since the number can be further reduced and prime numbers can be obtained faster,
The cryptographic information can be generated at higher speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態に係る素数生成方法を示す
フローチャートである。
FIG. 1 is a flowchart showing a prime number generation method according to an embodiment of the present invention.

【図2】除算を用いた素数判定テストの手順を示すプロ
グラムである。
FIG. 2 is a program showing a procedure of a prime number judgment test using division.

【図3】図2に示された素数判定テストの手順を改良し
たプログラムを示す図である。
FIG. 3 is a diagram showing a program in which the procedure of the prime number judgment test shown in FIG. 2 is improved.

【図4】図3に示された素数判定テストの手順を改良し
たプログラムを示す図である。
FIG. 4 is a diagram showing a program in which the procedure of the prime number judgment test shown in FIG. 3 is improved.

【図5】モンゴメリ法を用いた素数判定テストの手順を
示すプログラムである。
FIG. 5 is a program showing a procedure of a prime number judgment test using the Montgomery method.

【図6】図4に示された手順にモンゴメリ法を適用した
手順を示すプログラムである。
6 is a program showing a procedure in which the Montgomery method is applied to the procedure shown in FIG.

【図7】本発明の実施の形態に係る除算動作を説明する
図である。
FIG. 7 is a diagram illustrating a division operation according to the embodiment of the present invention.

【図8】本発明の実施の形態に係るワード単位での剰余
演算方法を示すフローチャートである。
FIG. 8 is a flowchart illustrating a remainder calculation method in word units according to the embodiment of the present invention.

【図9】本発明の実施の形態に係る暗号情報生成装置の
構成を示す図である。
FIG. 9 is a diagram showing a configuration of a cryptographic information generation device according to an embodiment of the present invention.

【図10】従来の素数生成方法を示すフローチャートで
ある。
FIG. 10 is a flowchart showing a conventional prime number generation method.

【符号の説明】[Explanation of symbols]

1 制御部 3 暗号情報生成部 5 モンゴメリ演算部 DESCRIPTION OF SYMBOLS 1 Control part 3 Encryption information generation part 5 Montgomery operation part

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 素数を用いて情報を暗号化する暗号情報
生成方法であって、 生成する暗号情報のビット幅Lを特定する第一のステッ
プと、 前記第一のステップにおいて特定された前記ビット幅L
に応じて、前記暗号情報を生成する第二のステップと、 前記第二のステップにおいて生成された前記暗号情報の
桁数が(L/4)ビットを超えるとき、直前に生成され
た前記暗号情報を初期値としてモンゴメリ演算を実行す
る第三のステップと、 前記第三のステップにおける前記モンゴメリ演算により
素数であると判定された数を新たな素数として前記暗号
情報を更新する第四のステップとを有することを特徴と
する暗号情報生成方法。
1. A cryptographic information generating method for encrypting information using a prime number, comprising: a first step of specifying a bit width L of generated cryptographic information; and the bit specified in the first step. Width L
A second step of generating the cryptographic information, and when the number of digits of the cryptographic information generated in the second step exceeds (L / 4) bits, the cryptographic information generated immediately before A third step of performing a Montgomery operation with the initial value as the initial value, and a fourth step of updating the cryptographic information with the number determined to be a prime number by the Montgomery operation in the third step as a new prime number. A method for generating cryptographic information, comprising:
【請求項2】 前記第三のステップにおいて実行する前
記モンゴメリ演算のパラメータの初期値は、直前に素数
候補とされた数に応じて得られた前記パラメータ相互を
減算することにより算出する請求項1に記載の暗号情報
生成方法。
2. An initial value of a parameter of the Montgomery operation executed in the third step is calculated by subtracting the parameters obtained in accordance with the number of the prime candidates immediately before. Method for generating cryptographic information described in 1.
【請求項3】 素数を用いて情報を暗号化し、暗号情報
を生成する暗号情報生成装置であって、 入力されたビット幅Lを有する前記暗号情報を生成する
暗号情報生成手段と、 素数候補とされる数を対象としてモンゴメリ演算を実行
するモンゴメリ演算手段と、 前記暗号情報生成手段により生成された前記暗号情報の
桁数が(L/4)ビットを超えるとき、直前に生成され
た前記暗号情報を初期値として前記モンゴメリ演算手段
に前記モンゴメリ演算を実行させ、前記モンゴメリ演算
により素数であると判定された数を新たな素数として前
記暗号情報生成手段に前記暗号情報を更新させる制御手
段とを備えたことを特徴とする暗号情報生成装置。
3. A cryptographic information generating apparatus for encrypting information using a prime number and generating cryptographic information, comprising: cryptographic information generating means for generating the cryptographic information having an input bit width L; Montgomery operation means for performing a Montgomery operation on the number to be processed, and when the number of digits of the encryption information generated by the encryption information generation means exceeds (L / 4) bits, the encryption information generated immediately before Control means for causing the Montgomery operation means to execute the Montgomery operation with the initial value as the initial value, and causing the cryptographic information generation means to update the encryption information with the number determined to be a prime number by the Montgomery operation as a new prime number. A cryptographic information generation device.
【請求項4】 前記モンゴメリ演算手段は、直前に素数
候補とされた数に応じて得られたパラメータ相互を減算
することにより得られた値を前記パラメータの初期値と
して前記モンゴメリ演算を実行する請求項3に記載の暗
号情報生成装置。
4. The Montgomery calculation unit executes the Montgomery calculation using a value obtained by subtracting the parameters obtained according to the number of the prime candidates immediately before, as an initial value of the parameter. Item 4. The encryption information generation device according to item 3.
【請求項5】 コンピュータにより素数を用いて情報を
暗号化するためのプログラムが記録されたコンピュータ
読み取り可能な記録媒体であって、前記プログラムは、
前記コンピュータに対し、生成する暗号情報のビット幅
Lを入力させ、 前記ビット幅Lに応じて前記暗号情報を生成させ、 生成された前記暗号情報の桁数が(L/4)ビットを超
えるとき、直前に生成された前記暗号情報を初期値とし
てモンゴメリ演算を実行させ、 前記モンゴメリ演算により素数であると判定された数を
新たな素数として前記暗号情報を更新させることを特徴
とする記録媒体。
5. A computer-readable recording medium in which a program for encrypting information using a prime number by a computer is recorded, wherein the program comprises:
Bit width of encryption information to be generated for the computer
Inputting L, and generating the encryption information according to the bit width L. When the number of digits of the generated encryption information exceeds (L / 4) bits, the encryption information generated immediately before is initialized to an initial value. A recording medium characterized by executing a Montgomery operation, and updating the cryptographic information with a number determined to be a prime number by the Montgomery operation as a new prime number.
【請求項6】 前記プログラムは、前記コンピュータに
対し、前記モンゴメリ演算のパラメータの初期値を、直
前に素数候補とされた数に応じて得られた前記パラメー
タ相互を減算することによって算出させることを特徴と
する請求項5に記載の記録媒体。
6. The program causes the computer to calculate an initial value of a parameter of the Montgomery operation by subtracting the parameter from each other obtained according to a number which is a prime candidate immediately before. The recording medium according to claim 5, wherein:
【請求項7】 コンピュータにより素数を用いて情報を
暗号化するための暗号情報生成プログラムであって、前
記コンピュータに、 生成する暗号情報のビット幅Lを入力させ、 前記ビット幅Lに応じて前記暗号情報を生成させ、 生成された前記暗号情報の桁数が(L/4)ビットを超
えるとき、直前に生成された前記暗号情報を初期値とし
てモンゴメリ演算を実行させ、 前記モンゴメリ演算により素数であると判定された数を
新たな素数として前記暗号情報を更新させることを特徴
とする暗号情報生成プログラム。
7. An encryption information generating program for encrypting information using a prime number by a computer, wherein the computer inputs a bit width L of the encryption information to be generated. When encryption information is generated, when the number of digits of the generated encryption information exceeds (L / 4) bits, a Montgomery operation is performed using the encryption information generated immediately before as an initial value. A cryptographic information generating program for updating the cryptographic information with a number determined to be present as a new prime number.
【請求項8】 前記暗号情報生成プログラムは、前記コ
ンピュータに、前記モンゴメリ演算のパラメータの初期
値を、直前に素数候補とされた数に応じて得られた前記
パラメータ相互を減算することによって算出させること
を特徴とする請求項7に記載の暗号情報生成プログラ
ム。
8. The cryptographic information generation program causes the computer to calculate an initial value of a parameter of the Montgomery operation by subtracting the parameter obtained from each other according to the number of the prime candidates immediately before. The encryption information generation program according to claim 7, wherein
JP2001156084A 2001-05-24 2001-05-24 Method, device, and program for ciphered information generation, and recording medium Pending JP2002351314A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001156084A JP2002351314A (en) 2001-05-24 2001-05-24 Method, device, and program for ciphered information generation, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001156084A JP2002351314A (en) 2001-05-24 2001-05-24 Method, device, and program for ciphered information generation, and recording medium

Publications (1)

Publication Number Publication Date
JP2002351314A true JP2002351314A (en) 2002-12-06

Family

ID=19000143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001156084A Pending JP2002351314A (en) 2001-05-24 2001-05-24 Method, device, and program for ciphered information generation, and recording medium

Country Status (1)

Country Link
JP (1) JP2002351314A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005531031A (en) * 2002-06-21 2005-10-13 アトメル・コーポレイション Checking estimated primes for cryptographic applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005531031A (en) * 2002-06-21 2005-10-13 アトメル・コーポレイション Checking estimated primes for cryptographic applications
JP4756117B2 (en) * 2002-06-21 2011-08-24 インサイド コンタクトレス ソシエテ アノニム Checking estimated primes for cryptographic applications

Similar Documents

Publication Publication Date Title
JP3796993B2 (en) Elliptic curve cryptography execution method and apparatus, and recording medium
CN109791517B (en) Protecting parallel multiplication operations from external monitoring attacks
CN107004084B (en) Multiplicative mask for cryptographic operations
JP2008252299A (en) Encryption processing system and encryption processing method
JPH09274560A (en) Power remainder operation circuit, power remainder operation system and operation method for power remainder operation
US20210391975A1 (en) Exponent splitting for cryptographic operations
US7024560B2 (en) Power-residue calculating unit using Montgomery algorithm
JP3785044B2 (en) Power residue calculation device, power residue calculation method, and recording medium
JP5143817B2 (en) Hash encryption apparatus and method
US6480606B1 (en) Elliptic curve encryption method and system
JPH07253752A (en) Pseudo random number generating device and communication method and device using cipher sentence based on pseudo random number generated by the device
US6175850B1 (en) Scheme for carrying out modular calculations based on redundant binary calculation
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
JP7155173B2 (en) Protecting Modular Inversion Operations from External Observation Attacks
KR100508092B1 (en) Modular multiplication circuit with low power
JP2000010479A (en) Montgomery reduction apparatus and recording medium
JP2001051832A (en) Multiplication residue arithmetic method and multiplication residue circuit
JP2002351314A (en) Method, device, and program for ciphered information generation, and recording medium
CN115208548A (en) Apparatus for processing non-polynomial operation on homomorphic encrypted message and method thereof
CN113467752B (en) Division operation device, data processing system and method for private calculation
JP5179933B2 (en) Data processing device
KR102348797B1 (en) RSA circuit module of RSA encryption system
JP4243179B2 (en) Arithmetic unit
Maurya et al. FPGA Implementation of a Fast Scalar Point Multiplier for an Elliptic Curve Crypto-Processor
JP3842641B2 (en) Arithmetic apparatus and method using coprocessor using Montgomery multiplication