JP4713490B2 - Method for masking computation of plaintext message retrieved from ciphertext message and apparatus for masking ciphertext message - Google Patents

Method for masking computation of plaintext message retrieved from ciphertext message and apparatus for masking ciphertext message Download PDF

Info

Publication number
JP4713490B2
JP4713490B2 JP2006539075A JP2006539075A JP4713490B2 JP 4713490 B2 JP4713490 B2 JP 4713490B2 JP 2006539075 A JP2006539075 A JP 2006539075A JP 2006539075 A JP2006539075 A JP 2006539075A JP 4713490 B2 JP4713490 B2 JP 4713490B2
Authority
JP
Japan
Prior art keywords
message
modulo
mod
mask
montgomery
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.)
Expired - Fee Related
Application number
JP2006539075A
Other languages
Japanese (ja)
Other versions
JP2007519305A (en
Inventor
グレッセル,カーミ
ドルグノフ,ボリス
デルー,オディール
Original Assignee
サンディスク アイエル リミティド
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 サンディスク アイエル リミティド filed Critical サンディスク アイエル リミティド
Priority claimed from PCT/IL2004/001053 external-priority patent/WO2005048008A2/en
Publication of JP2007519305A publication Critical patent/JP2007519305A/en
Application granted granted Critical
Publication of JP4713490B2 publication Critical patent/JP4713490B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号技術の分野に関し、および、特に、公開鍵暗号システムを使用するスマートカードのような、物理的攻撃に対してセキュリティ保護されていることが意図されている暗号化アルゴリズムおよび装置に関する。   The present invention relates to the field of cryptography, and in particular to encryption algorithms and devices intended to be secured against physical attacks, such as smart cards that use public key cryptosystems. .

暗号化マスキング方法が、参考文献であるダグラス・スティンソン(Douglas Stinson)著、「暗号法,理論および実践(Cryptography, Theory and Practice)」、CRC Press,1995(本明細書では「Stinson」として示されている)に記載されている。非侵害的攻撃の技術と、秘密モジュラス(confidential moduli)のマスキングとの説明が、シャミル(Shamir)に対する米国特許第5,991,415号(本明細書では「Shamir」として示されている)に開示されている。マスキング方法は、さらに、コッチャー他(Kocher et al.)他に対する米国特許第6,298,442号(本明細書では「Kocher」として示されている)、および、ジョー他(Joye et al.)の国際特許出願公開WO03014916(本明細書では「Joye」として示されている)にも開示されている。   Cryptographic masking methods are indicated by the reference Douglas Stinson, “Cryptography, Theory and Practice”, CRC Press, 1995 (herein “Stinson”). It is described in. A description of non-intrusive attack techniques and secret moduli masking is given in US Pat. No. 5,991,415 to Shamir (shown herein as “Shamir”). It is disclosed. Masking methods are further described in US Pat. No. 6,298,442 (indicated herein as “Kocher”) to Kocher et al., And Joe et al. International Patent Application Publication No. WO03014916 (denoted herein as “Joy”).

モンゴメリー演算(Montgomery arithmetic)が、ピーター・モンゴメリー(Peter Montgomery)によって「試行除算不要のモジュレータ乗算(Modular Multiplication Without Trial Division)」、Mathematics of Computation,44(1985)において最初に言及された。モンゴメリー演算方法および装置が米国特許第6,185,596号(本明細書では「596」として示されている)に開示されている。   Montgomery arithmetic was first mentioned by Peter Montgomery in "Modular Multiplication Without Trial Division", Mathematics of Computation, 44 (1985). A Montgomery arithmetic method and apparatus is disclosed in US Pat. No. 6,185,596 (denoted herein as “596”).

上記明細書で述べられているすべての公開の開示内容と、その中で引用されている出版物の開示内容とが、本明細書に引例として組み入れられている。   The disclosure content of all publications mentioned in the above specification and the publications cited therein are hereby incorporated by reference.

公開鍵暗号化システムの多くが、モジューロ累乗(modulo exponentiation)を使用し、および、こうした暗号化システムにおける共通の演算が、メッセージを累乗することである。例えば、暗号化が、平文メッセージを公開指数で累乗してよく、および、暗号解読が、暗号文をプライベート(秘密)指数で累乗することを含んでよい。本明細書では、術語「メッセージ」が、暗号化、暗号解読、ディジタル署名、承認、および、認証を非限定的に含む目的のための、暗号化アルゴリズムに対するあらゆる入力を意味する。本明細書では、術語「プライベートの」および「秘密の」は、公開鍵暗号システムのプライベート鍵に関連した情報を意味する。   Many public key cryptosystems use modulo exponentiation, and a common operation in such cryptosystems is to power a message. For example, encryption may involve raising the plaintext message to a public exponent and cryptanalysis may involve raising the ciphertext to a private (secret) exponent. As used herein, the term “message” means any input to an encryption algorithm for purposes including, but not limited to, encryption, decryption, digital signature, authorization, and authentication. As used herein, the terms “private” and “secret” mean information related to the private key of a public key cryptosystem.

累乗を行う公知の方法が、指数の「1」ビットに対応する選択的な乗算による2乗の反復を含む。この方法または類似の方法を使用して累乗を行う装置が、例えば電力消費監視のような様々な物理的手段によって秘密指数を読み出すために、累乗プロセス中にこの装置が(非侵害的に)外部から監視される可能性があるので、セキュリティ保護されていないことがある。例えば、特定の値であるようにメッセージを選択すること(「選択メッセージ攻撃」)が、累乗中に乗算演算を行っている時に、検出可能な電力差をその装置が消費することを強制する可能性があり、および、この検出可能な差が秘密指数の「1」ビットの場所を明らかにする可能性がある。秘密鍵が暗号化装置から抽出されることを可能にする電力分析の公知の方法が数多く存在する。従って、電力分析に基づいた選択メッセージ攻撃に対するこの装置の脆弱性が、セキュリティ上の危険要素である。電力分析に加えて、この装置から放出される放射の検出を含む、セキュリティ保護されていることが意図されている装置に対して攻撃を加える他の非侵害的な手法が存在する。これらの方法は、秘密鍵値がそれから推定されることが可能な情報を明らかにするあらゆる外部検出可能で測定可能な物理的現象に依拠することが可能である。   Known methods for performing powers include iterating squares with selective multiplication corresponding to the “1” bits of the exponent. A device that uses this or a similar method to perform a power raises the device (non-infringingly) during the power process so that the secret index is read by various physical means such as power consumption monitoring. May not be secured because it may be monitored by For example, selecting a message to be a specific value ("selective message attack") can force the device to consume a detectable power difference when performing multiplication operations during powers And this detectable difference may reveal the location of the “1” bit of the secret exponent. There are many known methods of power analysis that allow a secret key to be extracted from an encryption device. Therefore, this device's vulnerability to selective message attack based on power analysis is a security risk factor. In addition to power analysis, there are other non-intrusive approaches to attacking devices that are intended to be secured, including detection of radiation emitted from the device. These methods can rely on any externally detectable and measurable physical phenomenon that reveals the information from which the secret key value can be estimated.

様々な技術が、こうした装置の内部演算を偽装または隠蔽するために使用されている。公知の技術が、(電力消費または放射放出のような)類似した物理的効果を生じさせるダミー演算を行うことであるが、このダミー演算の結果は簡単に廃棄されるか、または、出力に影響を与えない。しかし、選択メッセージ攻撃を分析することによって、ダミー演算の使用にも係わらず、挿入されたダミー演算を識別し、および、これによって秘密鍵情報を求めることが計算によって可能である。   Various techniques have been used to disguise or hide the internal operations of such devices. A known technique is to perform a dummy operation that produces a similar physical effect (such as power consumption or radiated emissions), but the result of this dummy operation is easily discarded or affects the output. Not give. However, by analyzing the selection message attack, it is possible by calculation to identify the inserted dummy operation and thereby determine the secret key information, despite the use of the dummy operation.

選択メッセージ攻撃戦略を妨害するためには、メッセージ自体に対して直接的に重要な計算を行わず、むしろ、好ましくはランダムな入力をとるメッセージのマスキング関数によって、メッセージから得られた中間値に対して計算を行うことが、最善であると考えられる。当然であるが、このことは、このマスキング関数の効果が結果から除去可能であることを必要とする。   In order to thwart the selective message attack strategy, no significant computation is performed directly on the message itself, but rather on the intermediate value obtained from the message, preferably by a message masking function with random input. It is considered best to perform calculations. Of course, this requires that the effect of this masking function be removable from the result.

参照されるエルガマルシステム(ElGamal system)は、次のように使用される。
すなわち、aは暗号化メッセージの受信者だけに知られている秘密鍵であり、xはそのシステムの送信者によって暗号化されて送信されるべきメッセージであり、且つ、公衆に知られている要素であり、pは法(モジュラス:modulus)であり、αは指数底であり、そして、受信者の公開鍵βは、β=αa mod pとして与える。
The referenced ElGamal system is used as follows.
That is, a is a secret key known only to the recipient of the encrypted message, x is a message to be sent encrypted by the sender of the system, and an element known to the public , P is the modulus, α is exponential, and the recipient's public key β is given as β = α a mod p.

送信者がy1とy2を秘密裏に用意して送信し、ここで、
1=αk mod pであり、前式中で、kは、送信者によって生成されたランダムなマスキング指数であり、
2=xβk mod p=xαakであり、メッセージxは受信者の公開鍵を乗算されている。
The sender prepares and sends y 1 and y 2 in secret,
y 1 = α k mod p, where k is a random masking index generated by the sender,
y 2 = xβ k mod p = xα ak and message x is multiplied by the recipient's public key.

その次に、送信されたメッセージy1、y2を使用して、受信者が次を行い、
1=y1 a=αak mod p、y1をa(受信者秘密)で累乗する。
2=M1 -1 mod p=(αak)-1 mod p=(αak)p-2 mod p、受信者がM1を反転させる。
3=y22=x(αak)(αak)-1 mod p=x、リトリーブされたマスクされたメッセージ。
Then, using the sent messages y 1 , y 2 , the recipient:
M 1 = y 1 a = α ak mod p, y 1 is raised to a power of a (recipient secret).
M 2 = M 1 −1 mod p = (α ak ) −1 mod p = (α ak ) p −2 mod p, the receiver inverts M 1 .
M 3 = y 2 M 2 = x (α ak ) (α ak ) −1 mod p = x, retrieved masked message.

受信者が秘密ランダムマスクを知らないということに留意されたい。受信者と送信者の両方によって消費されたリソースが2つの累乗から成り、および、これは両方の場合とも典型的に冗長な演算である。   Note that the recipient does not know the secret random mask. The resources consumed by both the receiver and sender consist of two powers, and this is typically a redundant operation in both cases.

逆数の累乗(powers)も逆数である。例えば、
*9 mod 11≡01、従って、5と9は11を法とした逆数である。
(57 mod 11)≡3;および、((5-1)7) mod 11)≡(97 mod 11)≡4
(3*4) mod 11≡1;従って、3と4も11を法(modulo)とした逆数である。
The reciprocal powers is also the reciprocal. For example,
5 * 9 mod 11≡ 0 1, therefore, 5 and 9 is the inverse modulo 11.
(5 7 mod 11) ≡3; and ((5 −1 ) 7 ) mod 11) ≡ (9 7 mod 11) ≡4
(3 * 4) mod 11≡1; therefore, 3 and 4 are also reciprocals modulo 11.

計算効率を向上させるために一般的に使用される幾つかの方法も、メッセージ自体に対してではなくてメッセージの関数に対して計算を効果的に行うことによって、セキュリティ上の危険要素を低減させる働きをするだろう。特に、モンゴメリー演算の使用が、モジューロ剰余(modulo remainder)を得るために乗算の後に除算演算を行う必要を取り除くことによって、乗算の速度を向上させることが可能であるということが当業で公知である。信頼できるセキュリティ保護のためには、メッセージ自体に対して適用され且つその唯一の目的が選択メッセージ攻撃を妨害することである、モンゴメリー演算に基づいたさらに別のマスキング技術を使用することが望ましい。   Some commonly used methods to improve computational efficiency also reduce security risk factors by effectively performing computations on the function of the message rather than on the message itself. Will work. In particular, it is known in the art that the use of Montgomery operations can increase the speed of multiplication by eliminating the need to perform division operations after multiplication to obtain a modulo remainder. is there. For reliable security protection, it is desirable to use yet another masking technique based on Montgomery operations that is applied to the message itself and whose sole purpose is to thwart selective message attacks.

マスキング技術はShamirの方法を含んでよく、この方法は、プライムモジュラスを複合モジュラスに変換し、これによってマシンオペランドのサイズと秘密指数とを変化させる。しかし、Shamirの方法は、ユーザが暗号化モジュラスの素因数の知識を有することを想定しているが、これが当てはまらないこともある。さらに、オペランドのサイズを変化させることが、大半のハードウェア装置における性能に大きな悪影響を与える。攻撃に対する他の幾つかの保護方法が有効ではないことがある。例えば、Joyeは、Kocherにおいて示唆されている合同指数の使用の無効性を実証している。   Masking techniques may include Shamir's method, which converts the prime modulus into a composite modulus, thereby changing the size and secret exponent of the machine operand. However, Shamir's method assumes that the user has knowledge of the prime factor of the cryptographic modulus, which may not be the case. In addition, changing the size of the operands has a significant adverse effect on performance on most hardware devices. Some other protection methods against attacks may not be effective. For example, Joye demonstrates the ineffectiveness of the use of the joint index suggested in Kocher.

本発明の第1の形態によれば、n個のビットを有するバイナリモジュラスNを法として秘密指数dで暗号文メッセージからリトリーブされた平文メッセージの計算をマスクする方法であって、ランダム整数xを生成するためのランダム整数ジェネレータを使用するステップと、数2 nx mod Nに等しいマスクを計算するためのマスクジェネレータを使用するステップと、前記バイナリモジュラスNを法として前記暗号文メッセージと前記マスクとの積を計算し、且つ、マスクされたメッセージを計算するために該バイナリモジュラスNを法として指数dで前記積を累乗するためのモジューロプロセッサを使用するステップと、前記数2 -nxd mod Nに等しいメッセージリトリーバを計算するためのメッセージリトリーバジェネレータを使用するステップと、前記リトリーブされた平文メッセージを、前記マスクされたメッセージと前記メッセージリトリーバとの積として計算するための前記モジューロプロセッサを使用するステップと、を備えることを特徴とする方法が提供される。
本発明の第2の形態によれば、n個のビットを有するバイナリモジュラスNを法として指数dで暗号文メッセージを累乗するように働く暗号化装置に入力される前記暗号文メッセージをマスクする装置であって、前記バイナリモジュラスNを法として2つの数の積を計算し、且つ、該バイナリモジュラスNを法として数をd乗するように働くモジューロプロセッサと、ランダム整数xを生成するランダム整数ジェネレータと、前記モジューロプロセッサが前記バイナリモジュラスNを法として前記暗号文メッセージと前記マスクとの積を計算し、且つ、マスクされたメッセージを計算するために該バイナリモジュラスNを法として指数dで前記積を累乗するように、前記数2 nx mod Nに等しいマスクを計算して前記モジューロプロセッサに前記マスクを送り込むように働くマスクジェネレータと、前記モジューロプロセッサが、平文メッセージを計算するために前記マスクされたメッセージと前記メッセージリトリーバとの積を計算するように、数2 -nxd mod Nに等しいメッセージリトリーバを計算し、且つ、前記メッセージリトリーバを前記モジューロプロセッサに送り込むように働くメッセージリトリーバジェネレータと、を備えることを特徴とする装置が提供される。
本発明の好ましい実施態様は、反転演算を行う必要なしに、且つ、暗号化モジュラスの素因数を知る必要なしに、累乗されたメッセージが容易に復元されることを可能にする形でさらにメッセージをマスクすることによって、モンゴメリー表現の自然マスキングを強化するための方法および装置を提供することを求める。
According to a first aspect of the invention, a method for masking the computation of a plaintext message retrieved from a ciphertext message with a secret exponent d modulo a binary modulus N having n bits, the random integer x being Using a random integer generator for generating; using a mask generator for calculating a mask equal to the number 2 nx mod N; and the ciphertext message and the mask modulo the binary modulus N Calculating a product and using a modulo processor to power the product by an exponent d modulo the binary modulus N to calculate a masked message; and the number 2 −nxd mod N Use message retriever generator to calculate equal message retriever And using the modulo processor to calculate the retrieved plaintext message as a product of the masked message and the message retriever. Is done.
According to a second aspect of the present invention, an apparatus for masking the ciphertext message input to an encryption device that works to power a ciphertext message with an exponent d modulo a binary modulus N having n bits A modulo processor that calculates the product of two numbers modulo the binary modulus N and that modulo the binary modulus N and raises the number to the power of d, and a random integer that generates a random integer x A generator and the modulo processor compute the product of the ciphertext message and the mask modulo the binary modulus N, and modulo the binary modulus N and an exponent d to compute the masked message to power the product, the calculated mask equal to the number 2 nx mod N modulo processor A mask generator which serves to feed the said mask, said modulo processor, to calculate the product of the masked message to compute the plaintext message and the message retriever, the number 2 -nxd mod N An apparatus is provided comprising: a message retriever generator that calculates an equal message retriever and serves to feed the message retriever to the modulo processor.
The preferred embodiment of the present invention further masks the message in a manner that allows the raised message to be easily recovered without having to perform an inversion operation and without having to know the prime factor of the encryption modulus. By seeking to provide a method and apparatus for enhancing the natural masking of Montgomery expressions.

本発明の好ましい実施態様は、秘密指数のような秘密鍵情報を明らかにすることが意図されている選択メッセージ攻撃を妨害するために、セキュリティ保護された装置に対する入力メッセージをランダムにマスクするための新規の方法および装置を提供する。本発明の好ましい実施態様の目的が、性能を低下させることなしに、且つ、最小限のリソースを使用して、特に、モジューロ乗算逆数(modulo multiplicative inverses)を生成する必要なしに、このマスキングを実現することである。本発明の好ましい実施態様が、逆数を明示的に生成する必要なしにマスクされたリトリーバルを維持するために、モンゴメリー演算の自然属性を新規の形で使用する。特に、自然モンゴメリー逆数2-nが存在し、前式中でnはモジュラスのビット数であり、および、本発明の好ましい実施態様によって、この自然モンゴメリー逆数2-nから新規のマスクを構成することが可能である。 A preferred embodiment of the present invention is for randomly masking incoming messages to a secure device to prevent selective message attacks that are intended to reveal secret key information such as secret exponents. Novel methods and apparatus are provided. The purpose of the preferred embodiment of the present invention is to achieve this masking without degrading performance and using minimal resources, especially without having to generate modulo multiplicative inverses. It is to be. The preferred embodiment of the present invention uses the natural attribute of Montgomery operations in a novel way to maintain masked retrieval without the need to explicitly generate the reciprocal. In particular, there exists a natural Montgomery reciprocal 2 -n , where n is the number of bits of the modulus, and, according to a preferred embodiment of the present invention, constructs a new mask from this natural Montgomery reciprocal 2 -n Is possible.

本発明の好ましい実施態様の方法または装置の使用は、攻撃から保護するために有効な他の保護方法または保護装置の使用を排除せず、および、典型的には、こうした方法を強化する働きをする。   The use of the method or device of the preferred embodiment of the present invention does not preclude the use of other protection methods or devices that are effective to protect against attacks, and typically serves to enhance such methods. To do.

本発明の好ましい実施態様は、ディフィーヘルマン(Diffie-Hellman)鍵交換累乗と、乱数のDSS逆数と、複合モジュラスに対するユーザ秘密鍵によるRSAタイプの暗号解読とをマスクするために特に有利である。   The preferred embodiment of the present invention is particularly advantageous for masking Diffie-Hellman key exchange powers, DSS reciprocals of random numbers, and RSA-type decryption with user secret keys for complex moduli.

従って、本発明の好ましい実施態様では、バイナリモジュラスNを法として秘密指数dで暗号文メッセージを累乗する働きをする装置に入力される暗号文メッセージをマスクするための方法が提供され、このバイナリモジュラスNはn個のビットを有し、および、この方法は、マスクを生成するために自然モンゴメリー逆数2-nを使用することを含む。これに加えて、本発明の好ましい実施態様では、バイナリモジュラスNを法として秘密指数dで暗号文メッセージを累乗する働きをする装置に入力される暗号文メッセージをマスクするための装置も提供され、このバイナリモジュラスNはn個のビットを有し、および、この装置は、自然モンゴメリー逆数2-nからマスクを生成する働きをするマスクジェネレータを含む。 Accordingly, a preferred embodiment of the present invention provides a method for masking a ciphertext message that is input to a device that serves to power the ciphertext message with a secret exponent d modulo the binary modulus N, and this binary modulus. N has n bits and the method includes using the natural Montgomery reciprocal 2 -n to generate the mask. In addition, in a preferred embodiment of the present invention, there is also provided an apparatus for masking a ciphertext message that is input to an apparatus that serves to power the ciphertext message with a secret exponent d modulo the binary modulus N; The binary modulus N has n bits, and the apparatus includes a mask generator that serves to generate a mask from the natural Montgomery inverse 2- n .

さらに、本発明の好ましい実施態様によって、バイナリモジュラスNを法として秘密指数dで暗号文メッセージを累乗する働きをする装置に入力される暗号文メッセージをマスクするための方法が提供され、このバイナリモジュラスNはn個のビットを有し、および、この方法は、(a)ランダム整数xを生成することと、(b)数2nx mod Nに等しいマスクを計算することと、(c)数2-nxd mod Nに等しいメッセージリトリーバ(message retriever)を計算することと、(d)積を形成するためにマスクを暗号文メッセージに乗算することと、(e)マスクされた累乗メッセージを形成するために、その積をバイナリモジュラスNを法として秘密指数dで累乗することと、(f)リトリーブされた平文メッセージを形成するために、マスクされた累乗メッセージにメッセージリトリーバを乗算することとを含む。 Furthermore, a preferred embodiment of the present invention provides a method for masking a ciphertext message input to a device that serves to power the ciphertext message with a secret exponent d modulo the binary modulus N, and this binary modulus. N has n bits, and the method includes (a) generating a random integer x, (b) calculating a mask equal to the number 2 nx mod N, and (c) the number 2 compute a message retriever equal to -nxd mod N; (d) multiply the ciphertext message by a mask to form a product; and (e) form a masked power message. In order to form the retrieved plaintext message, the product is raised to the power of the secret exponent d modulo the binary modulus N, and (f) And a multiplying the message retriever to click has been power message.

さらに、本発明の好ましい実施態様によって、バイナリモジュラスNを法として秘密指数dで暗号文メッセージを累乗する働きをする装置に入力される暗号文メッセージをマスクするための装置も提供され、バイナリモジュラスNはn個のビットを有し、および、この装置は、(a)バイナリモジュラスNを法として2つの数の積を計算し、および、バイナリモジュラスNを法として数をdで累乗する働きをするモジューロプロセッサと、(b)ランダム整数xを生成するためのランダム整数ジェネレータと、(c)モジューロプロセッサが、バイナリモジュラスNを法として暗号文メッセージとマスクとの積を計算し、および、マスクされたメッセージを計算するために、バイナリモジュラスNを法として指数dでその積を累乗するように、数2nx mod Nに等しいマスクを計算してモジューロプロセッサにそのマスクを送り込む働きをするマスクジェネレータと、(d)モジューロプロセッサが、平文メッセージを形成するために、マスクされたメッセージとメッセージリトリーバとの積を計算するように、2-nxd mod Nに等しいメッセージリトリーバを計算して、そのメッセージリトリーバをモジューロプロセッサに送り込む働きをするメッセージリトリーバジェネレータとを含む。 Furthermore, according to a preferred embodiment of the present invention, there is also provided an apparatus for masking a ciphertext message input to an apparatus that serves to power the ciphertext message with a secret exponent d modulo the binary modulus N. Has n bits, and this device serves to (a) compute the product of two numbers modulo the binary modulus N and power the number modulo the binary modulus N A modulo processor, (b) a random integer generator for generating a random integer x, and (c) a modulo processor computes the product of the ciphertext message and the mask modulo the binary modulus N, and the mask So that the product is raised to an exponent d modulo the binary modulus N A mask generator that serves to feed the mask modulo processor computes the mask equal to the number 2 nx mod N, the (d) modulo processor, in order to form a plaintext message, masked message and message retriever A message retriever generator that operates to calculate a message retriever equal to 2 −nxd mod N and to send the message retriever to the modulo processor so as to calculate a product with the retriever .

以下、本発明を、例示だけのための添付図面を参照しつつ説明する。   Hereinafter, the present invention will be described with reference to the accompanying drawings for illustration only.

セキュリティ面の課題が、放射、測定された一時的な電流消費、または、他の非侵害的な物理的手段によって、dまたはNを全面的または部分的に暴露(漏洩)することなしに、選択メッセージ累乗Mi d mod Nを生成することであり、前式中で各々のMiがメッセージであり、dが秘密指数であり、Nがnビットのモジュラスである。数がバイナリ形式で表現されるということが理解される。 Security issues are selected without exposing or leaking d or N completely or partially by radiation, measured transient current consumption, or other non-intrusive physical means Message power M i d mod N, where each M i is a message, d is a secret exponent, and N is an n-bit modulus. It is understood that numbers are expressed in binary form.

この装置はNとdの両方を含む。典型的には、攻撃者はNの知識を有し、および、秘密dの1とゼロのシーケンスを知ることを望む。選択メッセージ攻撃では、攻撃者は、典型的には、検出可能な指数シーケンスを形成するために1つまたは多数のMiを試す。 This device contains both N and d. Typically, the attacker has knowledge of N and wants to know the 1 and zero sequence of secret d. In a selective message attack, an attacker typically tries one or many M i to form a detectable exponential sequence.

従来技術のモンゴメリーモジューロ演算プロセッサが、図1の単純化されたブロック図に示されている。このプロセッサの中心要素がマルチプレクサ140であり、このマルチプレクサ140は、Aだけを含む加数110と、Nだけを含む加数120と、和A+Nを含む加数130との中の1つから選択された加数との入力加数Bを合計を行うために、ジェネレータ150から入力を受け取る。この演算が常にmod N演算なので、任意の量にNを加算することがその結果の合同を変化させないということが指摘されなければならない。しかし、(実際の適用において)Nが典型的には奇数なので、典型的にはNの最下位ビットが設定されるだろう。モンゴメリー演算の特有の特徴が、結果が2nを乗算された数であるように演算を操作することである。そうすることが、モジューロ約分のために結果に対して除算を行う必要を排除する。この演算の各部分において、入力加数Bと入力加数Aとが、これらの合計の最下位ビットを求めるために調べられる。Aが偶数(最下位ビットがゼロである)である場合には、A+Nは奇数(最下位ビットが1である)だろうし、その逆も同様だろう。従って、マルチプレクサ140は、桁上げ保存加算器160に送られる時に和A+Bを偶数(最下位ビットがゼロである)にするために、どの入力が必要とされるかを選択するように設定されることが可能である。 A prior art Montgomery modulo processor is shown in the simplified block diagram of FIG. The central element of the processor is a multiplexer 140, which is selected from one of the addend 110 containing only A, the addend 120 containing only N, and the addend 130 containing the sum A + N. The input is received from generator 150 to sum the input addend B with the added addend. It must be pointed out that since this operation is always a mod N operation, adding N to an arbitrary amount does not change the congruence of the result. However, since N is typically odd (in practical applications), the least significant bit of N will typically be set. A unique feature of Montgomery arithmetic is that the arithmetic is manipulated so that the result is a number multiplied by 2 n . Doing so eliminates the need to divide the result for modulo reduction. In each part of this operation, the input addend B and the input addend A are examined to determine the least significant bit of their sum. If A is even (the least significant bit is zero), A + N will be odd (the least significant bit is 1) and vice versa. Thus, multiplexer 140 is set to select which input is required to make sum A + B even (the least significant bit is zero) when sent to carry save adder 160. It is possible.

本発明の好ましい実施形態によるこのマスクは、攻撃者が乗算演算と2乗計算とを区別することが不可能であるように、または、実際には、メッセージの互いに異なる電力による乗算の間を区別することが不可能であるように、統計量をバランスさせることによって、乗算および2乗プロセス中に、放射および電流消費のような外部から可視的な物理的効果を隠蔽および秘匿するように構成されている。   This mask according to the preferred embodiment of the present invention distinguishes between multiplications by different powers of the message so that an attacker cannot distinguish between multiplication and square calculations, or in fact. Configured to conceal and conceal externally visible physical effects such as radiation and current consumption during the multiplication and squaring process by balancing statistics so that it is impossible to ing.

基本的なモンゴメリーモジューロ乗算関数は次のものを含む。
H=22n mod N (1)
が、モンゴメリーリトリーバル変換定数(Montgomery retrieval transformation constant)である。典型的には、Hは剰余除算を使用して計算される。しかし、モンゴメリー乗算が除算よりも効率的である用途においては、Hは次のように計算されてもよく、
H1=2(n+n/2)
H=P(H1・H1)N=2(n+n/2)・2(n+n/2)・2-n mod N=22n
である。
The basic Montgomery modulo multiplication function includes:
H = 2 2n mod N (1)
Is the Montgomery retrieval transformation constant. Typically, H is calculated using a remainder division. However, in applications where Montgomery multiplication is more efficient than division, H may be calculated as
H1 = 2 (n + n / 2) ,
H = P (H1 · H1) N = 2 (n + n / 2) · 2 (n + n / 2) · 2 -n mod N = 2 2n
It is.

上述の手法が、Hの直前のH1、H2、...を計算するために、次のように反復的に使用されることが可能であり、次式中でxが整数であり、
Hx=2(n+n/(2∧x))であり、
一方、(x>0)、
H(x−1)=P(Hx・Hx)N=2(n+n/x)・2(n+n/x)・2-n mod N=2(n+n/(2∧(x-1))であり、
最後に、H=2(n+n)=22n mod Nである。
When the above-described method is used, H1, H2,. . . Can be used iteratively as follows, where x is an integer:
Hx = 2 (n + n / (2∧x)) ,
On the other hand, (x> 0),
H (x−1) = P (Hx · Hx) N = 2 (n + n / x) · 2 (n + n / x) · 2 −n mod N = 2 (n + n / (2∧ (x -1)) ,
Finally, H = 2 (n + n) = 2 2n mod N.

Pフィールドにおけるモンゴメリー演算子
P(x・y)N=x・y・2-n mod N (2)
が、各々のPフィールドモンゴメリー2乗または乗算において「モンゴメリーパラサイト(Montgomery parasite)」2-n mod Nを導入する。
Montgomery operator in the P field P (x · y) N = x · y · 2 −n mod N (2)
Introduces a “Montgomery parasite” 2− n mod N at each P-field Montgomery square or multiplication.

式(1)のH定数が、メッセージMのための容易にリトリーブ可能なモンゴメリー乗数を生成するために使用され、
A=P(M・H)N=M・22n・2-n mod N=M・2n (3)
A、H、および、後続の結果はnビットのオペランドである。
The H constant of equation (1) is used to generate an easily retrieveable Montgomery multiplier for message M;
A = P (M · H) N = M · 2 2n · 2 −n mod N = M · 2 n (3)
A, H, and the subsequent result are n-bit operands.

Pフィールドで乗算を行うこと、オペランドA'=A・2n mod NとオペランドB'=B・2n mod Nの両方が、式(3)の通りに2n mod Nが事前に乗算されたモンゴメリーオペランドであり、
P(A'・B')N=A・B・2n mod N (4)
である。
Performing the multiplication by P field, both operands A '= A · 2 n mod N and operand B' = B · 2 n mod N is, 2 n mod N is pre-multiplied according to Equation (3) Montgomery Operand
P (A ′ · B ′) N = A · B · 2 n mod N (4)
It is.

Xの計算、A=M・2nのd乗のモンゴメリー累乗であり、
X((A)d)N=X((M・2n)d)N=(M)d・2n mod N (5)
および、
モジューロ自然整数のフィールドに対するモンゴメリー累乗結果の、Pフィールドからのオペランドのリトリーブは、
P((M)d・2n)・(1))N=Md・2n・1・2-n mod N=Md mod N (6)
である。
The calculation of X, A = M · 2n to the d-th power of Montgomery,
X ((A) d ) N = X ((M · 2 n ) d ) N = (M) d · 2 n mod N (5)
and,
The retrieval of the operands from the P field of the Montgomery power result for a modulo natural integer field is
P ((M) d · 2 n ) · (1)) N = M d · 2 n · 1 · 2 −n mod N = M d mod N (6)
It is.

次では、2nx mod Nマスクが、典型的には、従来の方法すなわちモンゴメリーの方法を使用して累乗を行う間にオペランドの値をマスクするために使用される。 In the following, a 2 nx mod N mask is typically used to mask the value of an operand while performing a power using a conventional or Montgomery method.

従来のモンゴメリー演算は、典型的には、メッセージMをとることと、式(3)の通りにH=22n mod Nをモンゴメリー乗算することとによって開始する。本発明の好ましい実施形態では、メッセージが累乗のために用意され、および、2xn mod Nによってマスクされ、前式中でxは乱数である。これとは対照的に、従来技術のマスクは単純に乱数x自体である。しかし、上述したように、このことは、因数xdが累乗結果に現れ、および、逆数x-dを乗算することによって取り除かれなければならないということを意味する。このことは、逆数x-1を計算することが可能であることを必要とする。しかし、本発明の好ましい実施形態の新規のマスクである2xn mod Nは、典型的には、乱数xの逆数を計算することなしに、容易に取り除かれる。 Conventional Montgomery operations typically begin by taking the message M and Montgomery multiplying H = 2 2n mod N as in equation (3). In the preferred embodiment of the present invention, a message is prepared for a power and masked by 2 xn mod N, where x is a random number. In contrast, the prior art mask is simply the random number x itself. However, as mentioned above, this means that the factor xd appears in the power result and must be removed by multiplying by the reciprocal x- d . This requires that the reciprocal x −1 can be calculated. However, the novel mask 2 xn mod N of the preferred embodiment of the present invention is typically easily removed without computing the reciprocal of the random number x.

本発明の好ましい実施形態では、このマスクは、典型的には、セキュリティ保護された装置の初期設定において事前計算される。さらに、ユーザの方針によって必要とされる場合には、その装置の各リセット毎にマスクを復元することも可能である。上述したように、本発明の好ましい実施形態の使用は、ダミーインサートのような他のセキュリティ保護方法を排除せず、または、こうした他のセキュリティ保護方法に干渉しない。   In the preferred embodiment of the invention, this mask is typically precomputed at the initial setup of the secure device. In addition, the mask can be restored at each reset of the device if required by the user's policy. As mentioned above, the use of the preferred embodiment of the present invention does not eliminate or interfere with other security protection methods such as dummy inserts.

この着想はモンゴメリー演算によって容易に実証される。   This idea is easily demonstrated by Montgomery arithmetic.

例えば、d=7を選択して、乱数x=2によってマスクされた、マスクされたシーケンス中にM7 mod Nを発見する。 For example, select d = 7 and find M 7 mod N in the masked sequence masked by the random number x = 2.

通常のモンゴメリー演算において計算する代わりに、Mに2xn mod Nマスクが乗算される。この最終のモンゴメリー累乗がマスクされ、および、例えば次のように、容易に導出されるマスクされた逆数によってリトリーブされることが可能であり、
(a)剰余除算によって、または、知的所有権があるモンゴメリー方法を使用して、H2=24n mod N −−(この場合には、x=2)を生成し、
(b)マスク2xnを生成するマスクされたメッセージを用意し、および、このメッセージに関して、反転された2-yn mod Nが生成されることが可能であり、
P(M・H2)N=M・24n・2-n mod N=M・23n=A (7)
(c)チャンドハスートラ(Chandah-sutra)法を使用してAに対してモンゴメリー累乗を行う。チャンドハスートラ累乗法は、ドナルド・ナス(Donald Knuth)による「コンピュータプログラミング技術(The Art of Computer programming)」,2nd Edition,Volume 2,Addison Wesley,1981(本明細書では「Knuth」として示す)の441ページに説明されている。
Instead of calculating in a normal Montgomery operation, M is multiplied by a 2 × n mod N mask. This final Montgomery power can be masked and retrieved by a masked reciprocal that is easily derived, eg,
(A) Generate H 2 = 2 4n mod N − (in this case, x = 2) by divide by division or using intellectual property Montgomery method;
(B) Prepare a masked message to generate the mask 2 xn and for this message an inverted 2 -yn mod N can be generated;
P (M · H 2 ) N = M · 2 4n · 2 −n mod N = M · 2 3n = A (7)
(C) Perform A Montgomery power on A using the Chandah-sutra method. Chang Doha Sutra exponentiation is, Donald eggplant due to (Donald Knuth) "computer programming techniques (The Art of Computer programming)", 2 nd Edition, Volume 2, Addison Wesley, 1981 ( herein shown as "Knuth") Page 441.

P(A・A)N=P(A1 2)N=M・23n・M・23n・2-n mod N=M2・25n mod N (8)、
P(P(A1 2)N・A)N=P(A2 3)N=M3・25n・23n・2-n=M3・27n (9)、
P((P(A2 3)N)・(P(A2 3)N))N=P(A3 6)N=M3・27n・M3・27n・2-n mod N (10)
P((P(A2 3)N)・(P(A2 3)N))N=M6・213n mod N (11)
P((P(A3 6)N)・A)N=P(A4 7)N=M6・213n・M・23n・2-n mod N (12)
P((P(A3 6)N)・A)N=M7・215n mod N (13)
P (A · A) N = P (A 1 2 ) N = M · 2 3n · M · 2 3n · 2 -n mod N = M 2 · 2 5n mod N (8),
P (P (A 1 2 ) N · A) N = P (A 2 3 ) N = M 3 · 2 5n · 2 3n · 2 −n = M 3 · 2 7n (9),
P ((P (A 2 3 ) N) · (P (A 2 3 ) N)) N = P (A 3 6 ) N = M 3 · 2 7n · M 3 · 2 7n · 2 -n mod N ( 10)
P ((P (A 2 3 ) N) · (P (A 2 3 ) N)) N = M 6 · 2 13n mod N (11)
P ((P (A 3 6 ) N) · A) N = P (A 4 7 ) N = M 6 · 2 13n · M · 2 3n · 2 -n mod N (12)
P ((P (A 3 6 ) N) · A) N = M 7 · 2 15n mod N (13)

リトリーバルマスクの生成がモンゴメリーパラサイト 2-n mod Nに基づいており、これが単一のモンゴメリー乗算によって得られることが好ましく、
P(1・1)N=2-n mod N (14)
であり、その次に、典型的には、類似の累乗手順がこのマスクリトリーバル値を2-14n mod N=Yに累乗する。
Preferably, the retrieval mask generation is based on Montgomery parasite 2 -n mod N, which is obtained by a single Montgomery multiplication,
P (1 · 1) N = 2 −n mod N (14)
And then, typically, a similar power procedure raises this mask retrieval value to 2-14n mod N = Y.

次に、Pフィールドからのリトリーバルとマスクの除去とが、典型的には、指数量時間Yの単一のモンゴメリー乗算において行われ、
7 mod N=P((M7・215n)・2-14n)N=M7・2n・2-n mod N (15)
である。
Next, retrieval from the P-field and removal of the mask are typically performed in a single Montgomery multiplication of exponential time Y,
M 7 mod N = P ((M 7 · 2 15n ) · 2 −14n ) N = M 7 · 2 n · 2 −n mod N (15)
It is.

これは、e(暗号化指数)が既知でない時にさえ、選択されたメッセージの暗号解読シーケンスが、典型的には、Nのトーティエント関数の知識なしに生成されるということを示す。   This indicates that even when e (encryption index) is not known, the decryption sequence of the selected message is typically generated without knowledge of the N tortient functions.

一般的に、指数乗数xが2xn mod Nランダムマスクにおいて90よりも大きい場合には、攻撃者は、選択メッセージ攻撃を行うためにそのマスクを導出することもそのランダムマスクによって選択メッセージを形成することも不可能である。 In general, if the exponent multiplier x is greater than 90 in a 2 xn mod N random mask, the attacker can either derive the mask to perform a selective message attack or form a selective message with the random mask. It is impossible.

限定されたモンゴメリー能力を有するかまたは拡張ユークリッド逆数を有する装置のためのモンゴメリーマスク法。   Montgomery mask method for devices with limited Montgomery capability or extended Euclidean inverse.

図2は、本発明の第1の実施形態によるモンゴメリーマスクとメッセージリトリーバとを用意する好ましいシーケンスを示す流れ図である。   FIG. 2 is a flow diagram illustrating a preferred sequence for preparing a Montgomery mask and message retriever according to the first embodiment of the present invention.

ステップ210では、秘密指数dとnビットモジュラスNが入力され、ここでdとNは整数であり、および、Hが式(1)に従って計算される。H1/2=2n mod Nが単一の整数減法によって計算され、
n−N≡2n mod N (16)
である。
In step 210, a secret exponent d and an n-bit modulus N are input, where d and N are integers, and H is calculated according to equation (1). H 1/2 = 2 n mod N is calculated by a single integer subtraction,
2 n -N≡2 n mod N (16)
It is.

その次に、ステップ220において、H-1/2が計算され、上述の式(14)の通りに、
-1/2=2-n mod N≡P(1・1)N=2-n mod N
である。
Then, in step 220, H −1/2 is calculated and, as in equation (14) above,
H −1/2 = 2 −n mod N≡P (1 · 1) N = 2 −n mod N
It is.

ステップ230では、秘密数xが生成される。秘密xを明らかにするために徹底的な探索を行うには290のワークファクタ(work factor)が必要であるとすれば、xが少なくとも90であることが好ましい。 In step 230, a secret number x is generated. If a thorough search to reveal secret x requires a work factor of 2 90 , x is preferably at least 90.

ステップ250では、マスク逆数K1が計算され、
1=2nx mod N=(2n)x mod N (17)
である。
In step 250, the mask reciprocal K 1 is calculated,
K 1 = 2 nx mod N = (2 n ) x mod N (17)
It is.

ステップ260では、メッセージリトリーバK2が計算され、
2=2-nxd mod N=((2-n)x)d mod N (18)
である。
In step 260, the message retriever K 2 is calculated,
K 2 = 2 −nxd mod N = ((2 −n ) x ) d mod N (18)
It is.

1とK2は、必要に応じて、次のようにx'によって更新されてよく、
1'=((K1) mod N)x' mod N (19)
2'=((K2) mod N)x' mod N (20)
であり、前式中でx'は、典型的には、ランダムに選択された小さい正の整数である。
K 1 and K 2 may be updated by x ′ as needed, as follows:
K 1 '= ((K 1 ) mod N) x ' mod N (19)
K 2 '= ((K 2 ) mod N) x ' mod N (20)
Where x ′ is typically a small positive integer chosen at random.

図3は、選択メッセージ攻撃に対して抵抗性があるマスクされた累乗を暗号文Cに対して行うための、本発明の第2の実施形態による、入力メッセージに対するモンゴメリーマスクの使用のシーケンスを示す流れ図であり、この場合に(例えば、記憶装置内で)d、N、K1、K2が使用可能である。 FIG. 3 shows a sequence of use of a Montgomery mask for an input message according to a second embodiment of the present invention for performing a masked power resistant to a selected message attack on ciphertext C. In this case, d, N, K 1 , K 2 can be used (eg, in a storage device).

ステップ310では、暗号文Cが入力され、この暗号文CからC mod Nが計算されることが可能である。   In step 310, the ciphertext C is input, and C mod N can be calculated from the ciphertext C.

ステップ320では、(例えば、記憶装置から)N、d、K1、K2が入力される。 In step 320, N, d, K 1 , K 2 are input (eg, from a storage device).

ステップ330では、モジューロ乗算によってマスクされた暗号文を得るために、A1=C*1 mod Nを計算する。 In step 330, A 1 = C * K 1 mod N is calculated to obtain the ciphertext masked by modulo multiplication.

ステップ340では、A2=A1 d mod Nを計算する。マスクされたモジューロ累乗=(C*1)d mod N=M*nxd mod N
である。
In step 340, A 2 = A 1 d mod N is calculated. Masked modulo power = (C * K 1 ) d mod N = M * 2 nxd mod N
It is.

ステップ350では、平文Mをリトリーブする。
M=Cd mod N=A2 *2 mod N=((Cd)(2ndx))(2-ndx) mod N
In step 350, the plaintext M is retrieved.
M = C d mod N = A 2 * K 2 mod N = ((C d ) (2 ndx )) (2 −ndx ) mod N

加えられる唯一のリソースが、記憶装置内に格納されるべきnビット定数K1、K2である。 The only resources added are the n-bit constants K 1 and K 2 to be stored in the storage device.

好ましい装置の実施形態におけるマスクされたモンゴメリー累乗。   Masked Montgomery power in a preferred apparatus embodiment.

H=22n mod Nがモジューロ除算によって計算されることが可能である。 H = 2 2n mod N can be calculated by modulo division.

-1/2=2-n mod N≡P(1・1)N=((1・1)2-n) mod N、2n mod Nの逆数。 H −1/2 = 2 −n mod N≡P (1 · 1) N = ((1 · 1) 2 −n ) mod N, 2 n mod N

秘密xを明らかにするために徹底的な探索を行うには290のワークファクタが適切であると仮定する場合に、x=秘密乱数、2≦x≦95、好ましくは90≦xである。その次に、K1を事前計算するために、
1=X((H)x)N=X(2n・2n)x=2nx・2n mod N、
1=P(H・M1)N=22n・2n・2nx・2n・2-n mod N=2nx・22n mod N
である。
Assuming that a work factor of 2 90 is appropriate for conducting an exhaustive search to reveal secret x, x = secret random number, 2 ≦ x ≦ 95, preferably 90 ≦ x. Then, to precalculate K 1 ,
M 1 = X ((H) x ) N = X (2 n · 2 n ) x = 2 nx · 2 n mod N,
K 1 = P (H · M 1 ) N = 2 2n · 2 n · 2 nx · 2 n · 2 -n mod N = 2 nx · 2 2n mod N
It is.

2を事前計算する時に、2-n・2n mod N=1 mod Nであることに留意されたい。 Note that when precalculating K 2 , 2 −n · 2 n mod N = 1 mod N.

2=X(1x)N=X((2-n・2n)x)N=2-nx・2n
3=X((M2)d)N=X((2-nx・2n)d)N=2-nxd・2n
2=P(M3・1)N=2-nxd mod N。
M 2 = X (1 x ) N = X ((2 −n · 2 n ) x ) N = 2 −nx · 2 n
M 3 = X ((M 2 ) d ) N = X ((2 −nx · 2 n ) d ) N = 2 −nxd · 2 n
K 2 = P (M 3 · 1) N = 2 −nxd mod N

1とK2が典型的には、小さい正の整数であるx'によって更新される。
1←K1'=((K1) mod N)x' mod N
4=X((M3)x')N=X(((2-nx・2n)d)x')N=2-nxx'd・2n
2←K2'=P(M4・1)N=2-nxx'd mod N
K 1 and K 2 are typically updated by x ′, which is a small positive integer.
K 1 <-K 1 '= ((K 1 ) mod N) x ' mod N
M 4 = X ((M 3 ) x ′) N = X (((2 −nx · 2 n ) d ) x ′) N = 2 −nxxd · 2n
K 2 <-K 2 '= P (M 4 .1 ) N = 2 -nxx ' d mod N

図4は、選択メッセージ攻撃に対して抵抗性があるマスクされた累乗を選択された暗号文に対して行って、Cd mod Nを計算するために、モジューロ乗算装置上で動作可能なモンゴメリー関数を使用する、本発明の第3の実施形態における入力メッセージに対するモンゴメリーマスクの使用のシーケンスを示す流れ図である。次の演算を行う。 FIG. 4 shows a Montgomery function operable on a modulo multiplier to perform a masked power resistant to a selected message attack on the selected ciphertext and calculate C d mod N FIG. 6 is a flowchart showing a sequence of using a Montgomery mask for an input message in the third embodiment of the present invention. Perform the following operation.

ステップ410では、マスクされていない暗号文メッセージCを入力または生成する。ステップ420では、秘密指数dと、nビットモジュラスNと、マスクK1と、メッセージリトリーバK2とを入力する。これらは次に詳細を示すように計算される。 In step 410, an unmasked ciphertext message C is input or generated. At step 420, inputting the secret exponent d, the n-bit modulus N, the mask K 1, and a message retriever K 2. These are then calculated to give details.

ステップ430では、暗号文に対するモンゴメリーマスクを計算し、
1=P(C・K1)N=(C・2nx)・2n mod N
である。
In step 430, a Montgomery mask for the ciphertext is calculated,
A 1 = P (C · K 1 ) N = (C · 2 nx ) · 2 n mod N
It is.

ステップ440では、モンゴメリーマスク指数を計算し、
2=P(((C・2nx)・2n)d)N=Cd・2nxd・2n mod N
である。
In step 440, the Montgomery mask index is calculated,
A 2 = P (((C · 2 nx ) · 2 n ) d ) N = C d · 2 nxd · 2 n mod N
It is.

ステップ450では、モンゴメリー Pフィールドから結果をリトリーブし、
d mod N=P((A2・K2))N=P((Cd・2nxd・2n)(2-nxd))N
である。
Step 450 retrieves the results from the Montgomery P-field,
C d mod N = P ((A 2 · K 2 )) N = P ((C d · 2 nxd · 2 n ) (2 −nxd )) N
It is.

セキュリティ保護の観点から、K1とK2は、一般的に、上述したように更新される。 From the viewpoint of security protection, K 1 and K 2 are generally updated as described above.

このマスクされた累乗は各累乗の前のHの生成を排除し、典型的には、同じ回数の乗算と2乗とによるプロセス時間の4%を節約する。   This masked power eliminates the generation of H before each power and typically saves 4% of the process time with the same number of multiplications and squares.

図5は、図4に示されている方法のような任意の適切な方法と共に使用されることが可能な、本発明の第4の実施形態によるメッセージのマスキングおよびリトリービングのための装置の単純化されたブロック図である。モジューロプロセッサ510がモジュラス520と指数530とを受け取る。乱数ジェネレータ540が、マスクジェネレータ550とメッセージリトリーバジェネレータ560とに対してランダムな整数を提供する。暗号文メッセージ570がモジューロプロセッサ510に入力され、および、このモジューロプロセッサ510は平文メッセージ580を出力する。本発明の別の実施形態では、モジューロプロセッサ510は従来の仕方でモジューロ演算を行う。しかし、本発明のさらに別の実施形態では、モジューロプロセッサ510はモンゴメリー演算を行う。   FIG. 5 illustrates a simple apparatus for message masking and retrieving according to a fourth embodiment of the present invention that can be used with any suitable method, such as the method illustrated in FIG. FIG. Modulo processor 510 receives modulus 520 and index 530. Random number generator 540 provides random integers to mask generator 550 and message retriever generator 560. A ciphertext message 570 is input to the modulo processor 510 and the modulo processor 510 outputs a plaintext message 580. In another embodiment of the invention, modulo processor 510 performs modulo operations in a conventional manner. However, in yet another embodiment of the present invention, modulo processor 510 performs a Montgomery operation.

本発明を限られた数の実施形態に関して説明してきたが、本発明の多くの変型と変更と他の適用とが行われてよいということが理解されるだろう。   Although the present invention has been described with respect to a limited number of embodiments, it will be understood that many variations and modifications and other applications of the present invention may be made.

本発明のソフトウェア構成要素が、必要に応じて、ROM(読み出し専用メモリ)形態で実現されてよいということが理解される。このソフトウェア構成要素は、一般的に、必要に応じて、従来の技術を使用してハードウェアの形で実現されてよい。   It will be appreciated that the software components of the present invention may be implemented in ROM (Read Only Memory) form if desired. This software component may generally be implemented in hardware using conventional techniques, if desired.

理解しやすいように別々の実施形態の文脈において説明されている本発明の様々な特徴が、単一の実施形態において組合せの形で実現されてもよいということが理解される。これとは逆に、簡潔にするために単一の実施形態の文脈において説明されている本発明の様々な特徴が、別々に、または、任意の適切な副次的な組合せの形で実現されてもよい。   It is understood that the various features of the invention described in the context of separate embodiments for ease of understanding may be implemented in combination in a single embodiment. On the contrary, the various features of the invention described in the context of a single embodiment for simplicity are implemented separately or in any suitable subcombination. May be.

本明細書に詳細に示され説明されているものだけに本発明が限定されないということが、当業者に理解されるだろう。むしろ、本発明の範囲は特許請求項だけによって規定される。   It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein. Rather, the scope of the present invention is defined only by the claims.

従来技術のモンゴメリーモジューロ演算プロセッサの単純化されたブロック図である。1 is a simplified block diagram of a prior art Montgomery modulo processor. FIG. 本発明の好ましい実施形態によるモンゴメリーマスクとメッセージリトリーバとを用意するシーケンスを示す流れ図である。4 is a flowchart illustrating a sequence for preparing a Montgomery mask and a message retriever according to a preferred embodiment of the present invention. 本発明の好ましい実施形態による、入力メッセージに対して図2のモンゴメリーマスクを使用するシーケンスを示す流れ図である。3 is a flow diagram illustrating a sequence for using the Montgomery mask of FIG. 2 for an incoming message according to a preferred embodiment of the present invention. 本発明の好ましい実施形態による、図1または図5に示されているモンゴメリーモジューロ乗算装置上において動作可能なモンゴメリー関数を使用する、入力メッセージに対してモンゴメリーマスクを使用することを含む、図3の方法の好ましい具体例を示す流れ図である。3 including using a Montgomery mask for the incoming message using a Montgomery function operable on the Montgomery modulo multiplier shown in FIG. 1 or FIG. 5 according to a preferred embodiment of the present invention. It is a flowchart which shows the preferable example of this method. 本発明の好ましい実施形態によってメッセージをマスクおよびリトリーブするための装置の単純化されたブロック図である。FIG. 2 is a simplified block diagram of an apparatus for masking and retrieving messages according to a preferred embodiment of the present invention.

Claims (3)

n個のビットを有するバイナリモジュラスNを法として秘密指数dで暗号文メッセージからリトリーブされた平文メッセージの計算をマスクする方法であって、
ランダム整数xを生成するためのランダム整数ジェネレータを使用するステップと、
数2 nx mod Nに等しいマスクを計算するためのマスクジェネレータを使用するステップと、
前記バイナリモジュラスNを法として前記暗号文メッセージと前記マスクとの積を計算し、且つ、マスクされたメッセージを計算するために該バイナリモジュラスNを法として指数dで前記積を累乗するためのモジューロプロセッサを使用するステップと、
前記数2 -nxd mod Nに等しいメッセージリトリーバを計算するためのメッセージリトリーバジェネレータを使用するステップと、
前記リトリーブされた平文メッセージを、前記マスクされたメッセージと前記メッセージリトリーバとの積として計算するための前記モジューロプロセッサを使用するステップと、を備えることを特徴とする方法。
A method of masking the computation of a plaintext message retrieved from a ciphertext message with a secret exponent d modulo a binary modulus N having n bits, comprising:
Using a random integer generator to generate a random integer x;
Using a mask generator to calculate a mask equal to the number 2 nx mod N;
A module for computing the product of the ciphertext message and the mask modulo the binary modulus N, and for raising the product by an index d modulo the binary modulus N to compute the masked message Using a processor,
Using a message retriever generator to calculate a message retriever equal to the number 2 −nxd mod N;
Using the modulo processor to calculate the retrieved plaintext message as a product of the masked message and the message retriever .
n個のビットを有するバイナリモジュラスNを法として指数dで暗号文メッセージを累乗するように働く暗号化装置に入力される前記暗号文メッセージをマスクする装置であって、
前記バイナリモジュラスNを法として2つの数の積を計算し、且つ、該バイナリモジュラスNを法として数をd乗するように働くモジューロプロセッサと、
ランダム整数xを生成するランダム整数ジェネレータと、
前記モジューロプロセッサが前記バイナリモジュラスNを法として前記暗号文メッセージと前記マスクとの積を計算し、且つ、マスクされたメッセージを計算するために該バイナリモジュラスNを法として指数dで前記積を累乗するように、数nx mod Nに等しいマスクを計算して前記モジューロプロセッサに前記マスクを送り込むように働くマスクジェネレータと、
前記モジューロプロセッサが、平文メッセージを計算するために前記マスクされたメッセージと前記メッセージリトリーバとの積を計算するように、数2-nxd mod Nに等しいメッセージリトリーバを計算し、且つ、前記メッセージリトリーバを前記モジューロプロセッサに送り込むように働くメッセージリトリーバジェネレータと、を備えることを特徴とする装置。
an apparatus for masking the ciphertext message input to an encryption device which serves to power the ciphertext message with an exponent d modulo a binary modulus N having n bits,
A modulo processor that computes the product of two numbers modulo the binary modulus N and that works to power the number d modulo the binary modulus N;
A random integer generator for generating a random integer x;
The modulo processor calculates a product of the ciphertext message and the mask modulo the binary modulus N, and calculates the product by an index d modulo the binary modulus N to calculate a masked message. A mask generator that operates to calculate a mask equal to the number 2 nx mod N to power and send the mask to the modulo processor;
The modulo processor calculates a message retriever equal to the number 2 −nxd mod N so as to calculate a product of the masked message and the message retriever to calculate a plaintext message; and A message retriever generator operative to feed a message retriever to the modulo processor.
請求項に記載の装置において、前記モジューロプロセッサはモンゴメリーモジューロプロセッサであることを特徴とする装置。The apparatus of claim 2 , wherein the modulo processor is a Montgomery modulo processor.
JP2006539075A 2003-11-17 2004-11-16 Method for masking computation of plaintext message retrieved from ciphertext message and apparatus for masking ciphertext message Expired - Fee Related JP4713490B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US52377303A 2003-11-17 2003-11-17
US60/523,773 2003-11-17
PCT/IL2004/001053 WO2005048008A2 (en) 2003-11-16 2004-11-16 Enhanced natural montgomery exponent masking

Publications (2)

Publication Number Publication Date
JP2007519305A JP2007519305A (en) 2007-07-12
JP4713490B2 true JP4713490B2 (en) 2011-06-29

Family

ID=38306021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006539075A Expired - Fee Related JP4713490B2 (en) 2003-11-17 2004-11-16 Method for masking computation of plaintext message retrieved from ciphertext message and apparatus for masking ciphertext message

Country Status (1)

Country Link
JP (1) JP4713490B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002258743A (en) * 2001-03-05 2002-09-11 Hitachi Ltd Tamperproof modular operation processing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002258743A (en) * 2001-03-05 2002-09-11 Hitachi Ltd Tamperproof modular operation processing method

Also Published As

Publication number Publication date
JP2007519305A (en) 2007-07-12

Similar Documents

Publication Publication Date Title
KR100891323B1 (en) Method and apparatus to increase complexity of power analysis based on random point representation in binary field Elliptic Curve CryptographyECC
JP4632950B2 (en) Tamper-resistant cryptographic processing using personal keys
JP4086503B2 (en) Cryptographic operation apparatus and method, and program
US20170187529A1 (en) Modular multiplication device and method
US20080019509A1 (en) Scalar multiplication method with inherent countermeasures
TW200844847A (en) Chinese remainder theorem-based computation method for cryptosystems
JP2009537025A (en) Protection from side channel attacks
US11824986B2 (en) Device and method for protecting execution of a cryptographic operation
TW201810989A (en) Method and device to protect a cryptographic exponent
CN101180606A (en) Determination of a modular inverse
KR100652377B1 (en) A modular exponentiation algorithm, a record device including the algorithm and a system using the algorithm
Dupaquis et al. Redundant modular reduction algorithms
JP7155173B2 (en) Protecting Modular Inversion Operations from External Observation Attacks
JP2004304800A (en) Protection of side channel for prevention of attack in data processing device
EP1692800B1 (en) Enhanced natural montgomery exponent masking
CN110048840B (en) Information processing method, system and related components based on RSA algorithm
KR100737667B1 (en) Cryptography private key storage and recovery method and apparatus
US8014520B2 (en) Exponentiation ladder for cryptography
JP4626148B2 (en) Calculation method of power-residue calculation in decryption or signature creation
CN1985458B (en) Enhanced natural Montgomery exponent masking
CN116938434A (en) Data security detection method and device in privacy calculation
Smart et al. Randomised representations
JP4713490B2 (en) Method for masking computation of plaintext message retrieved from ciphertext message and apparatus for masking ciphertext message
Rososhek Fast and secure modular matrix based digital signature
KR20090080842A (en) Digital signature method, Digital signature apparatus using CRT-RSA modula exponentiation algorithm and Recording medium using by the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110128

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110324

LAPS Cancellation because of no payment of annual fees