JP4378480B2 - 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 - Google Patents

隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 Download PDF

Info

Publication number
JP4378480B2
JP4378480B2 JP2004559820A JP2004559820A JP4378480B2 JP 4378480 B2 JP4378480 B2 JP 4378480B2 JP 2004559820 A JP2004559820 A JP 2004559820A JP 2004559820 A JP2004559820 A JP 2004559820A JP 4378480 B2 JP4378480 B2 JP 4378480B2
Authority
JP
Japan
Prior art keywords
bit
integer division
division
modular
bits
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 - Lifetime
Application number
JP2004559820A
Other languages
English (en)
Other versions
JP2006509261A (ja
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 ジェムアルト エスアー
Publication of JP2006509261A publication Critical patent/JP2006509261A/ja
Application granted granted Critical
Publication of JP4378480B2 publication Critical patent/JP4378480B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7238Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、カバート・チャネル攻撃、特に差分攻撃に対する安全な整数除算またはモジュラ換算方法に関する。本発明は、例えば秘密鍵または公開鍵暗号化方法など、より一般的な暗号化方法で除算を行うために使用することができる。このような暗号化方法は、例えば、チップ・カードのような電子デバイスで実施することができる。
暗号化方法のセキュリティは、機密データまたは暗号化方法が操作する機密データから入手したデータを秘匿状態に維持する機能に依存する。
悪意のあるユーザは、おそらく暗号化方法を実行している計算デバイスが実行した処理動作の際に含まれ、また操作した特定の機密データを発見しようとして攻撃を行うこともあり得る。
最もよく知られている攻撃としては、単純または差分カバート・チャネル攻撃等がある。カバート・チャネル攻撃という用語は、デバイスの外部から測定することができる物理量に基づく攻撃を意味し、その直接分析(単純攻撃)または統計的方法による分析(差分攻撃)により、デバイスで行われた処理演算中に操作されたデータを発見することができる。Paul Kocherが、特にこれらの攻撃について開示している(「暗号学における進歩−CRYPTO’99」(Advances in Cryptology − CRYPTO'99)、コンピュータ科学(Computer Science)における講義ノート、第1666巻、388乃至397ページ、Springer−Verlag、1999年)。
これらの目的のために使用することができる物理量としては、実行時間、消費電流、計算を実行するために使用した構成要素の一部が発生する電磁場等がある。ある方法の実行中には、ビットの操作、すなわち特定の命令によるその処理は、このビットの値により、および/または命令により、当該物理量上に特定の痕跡を残す。すなわち、この方法を実行している構成要素が残した痕跡(すなわち、当該物理量の経過時間中の変化)は、1に等しいビットが操作されているのか、0に等しいビットが操作されているのかにより異なる。カバート・チャネル攻撃は、暗号化方法のこの弱点に基づくものである。
基本演算としてY=X(ここで、X,YおよびDは整数である)というタイプのモジュラ累乗演算を使用する暗号化方法は、過去数年間の間に非常に幅広く研究されてきた。これらの研究としては、RSA法、Diffie−Hellmanによる鍵交換またはDSA署名法等がある。カバート・チャネル攻撃からこれらの方法を保護するという点で有意の進歩があった。
一方、基本演算として、q=a div bおよびr=a mod b(ここで、aおよびbは2つのオペランドであり、qおよびrは、それぞれbによるaの整数除算の商と余りである)というタイプの整数除算を使用する安全な暗号化方法の作成については何の研究も行われなかった。aおよび/またはbは、例えば、この方法の鍵の要素である秘密データである。例えば、Barrettの方法(P.Barretの、「標準デジタル信号処理上でのRSA公開鍵暗号化アルゴリズムの実施」(Implementing the RSA public key encryption algorithm on a standard digital signal processing)、コンピュータ科学(Computer Science)における講義ノート、第263巻、311乃至323ページ、Springer Verlag、1987年)、Quisquaterの方法(1992年11月出願の米国特許第5,166,978号)または中国人剰余定理により実施したRSA法(J.J.QuisquaterおよびC.Couvreurの、「RSA公開鍵暗号化システム用の高速解読アルゴリズム」(Fast decipherment algorithm for RSA public key cryptosystem)、Electronics Letter、第18巻、99、905乃至907ページ、1982年10月)が、整数除算を基本演算として使用している暗号化方法である。
整数除算法および/またはモジュラ換算法を使用するこのような暗号化方法は、下記の例に示すようにカバート・チャネル攻撃に弱い。
整数除算およびモジュラ換算の両方を使用する周知の方法は、いわゆる「紙/鉛筆」方法である。この方法は、実際に、手でこのような演算を行う場合に使用する方法を反復する。この方法については以下に説明する。
2つのデータ項目、すなわち、mビットのa=(am−1,...,a)およびnビットのb=(bn−1,...,b)であり、nがmより小さいかまたは等しく、bn−1 γ 0の場合には、いわゆる「紙/鉛筆」除算法は、商、すなわちq=a div bおよび余り、すなわちr=a div bを計算する。この目的のために、この方法は、nビットの整数bにより、n+1ビットの整数Aを数回連続的に除算する。実際には、0[A/b<2にならなければならず、bn−1 γ 0の場合にはこのようになる。
余りrは、nビット以下の数である。何故なら、r<bであるからである。この部分に対する商qは、m−n+1ビット以下の数である。何故なら、q=a div b[a div (bn−1*2n−1)=a div 2n−1=(am−1,..., an−1)であるからであり、何故なら、b μ bn−1*2n−1および(am−1,..., an−1)は、m−n+1ビットの数であるからである。この除算法の最後に、商qは、最初に、数aを含んでいるレジスタのm−n+1の最下位ビットに記憶される。余りrの最上位ビットは、計算中にけた上げとして使用された1−ビット・レジスタに記憶され、余りrのn−1の最下位ビットは、最初に数字aを含んでいるレジスタのn−1の最上位ビット内に記憶される。
この作業は基数2で行われるので、整数除算A div bの商ビットは、2つの可能な値、すなわち0または1しか有することができない。それ故、演算A div bを行う簡単な方法は、Aからbを引き、次に結果を試験する方法である。A−bの結果が正の数であれば、A div b=1であり、A−bの結果が狭義に負の数である場合には、A div b=0である。
それ故、完全な除算方法は下記のように表すことができる。
入力:a=(0,am−1,...,a
b=(bn−1,...,b
出力:q=a div b およびr=a mod b
A=(0,am−1,...,am−n+1
For j=1 to (m−n+1),do:
a<−SHLm−1(a,1);σ<−carry
A<−SUB(A,b);σ<−σ OR carry
if (¬σ=TRUE) then A<−ADD(A,b)
if not lsb(a)=1
End For
方法1
この方法の場合、および下記の説明全体を通して下記の表記方法を使用する。
正確な言い方ではないが、特に分かりやすくするために、明示していない限り、レジスタおよびその内容を示すために同じ名前を使用する。それ故、レジスタAは、データ項目Aを含むレジスタを表すために使用する。
記号「<−」および表記y<−xは、レジスタxの内容をレジスタyにロードするのを示すために使用する。レジスタyの内容もyと呼ばれる。
Aは、最初にデータ項目aを含んでいるレジスタのn個の最上位ビットの内容に対応するn個のビットの語である。Aは、もちろん、最初にaを含んでいるレジスタのように、反復の度に修正される。
σは、減算がうまくいったのかいかなかったのか(すなわち、商ビットは0または1に等しいかどうか)を示す。
¬σは変数σの1に対する補数(否定とも呼ばれる)である。真は、ある例の場合には1に等しい定数である。
lsb(a)は、数aの最下位加重ビットであり、aの最下位ビットとも呼ばれる。
SHLm+1(a,1)は、データ項目aを含んでいるm+1ビットのレジスタ内での1ビットだけ左へのシフトである。レジスタから出るこのビットは、可変けた上げ内に記憶され、0に等しいビットは、最初にデータaを含んでいるレジスタの最下位ビットとして入力される。
ADD(A,b)は、語Aのn個のビットへの数bのn個のビットの加算である。演算SHL(a,1)は、演算ADD(a,a)に等しいことが分かるだろう。もちろん、加算ADD(a,b)は、適当な加算回路で、Aおよびbをそれぞれ含んでいる2つのレジスタの内容を加算することにより行われる。
SUB(A,b)は、語Aからの数bの減算である。もちろん、減算SUB(A,b)は、適当な回路で、語Aを含んでいるレジスタの内容から、データ項目bを含んでいるレジスタの内容を引くことにより行われる。
要するに、方法1は下記のステップを実行する。
・a<−SHLm+1(a,1)によりけた上げ(σ=carry=1)が生じた場合には、a=1(シフト前)およびそれ故そのbをAから引かなければならないことを意味する。
・a=0(シフト前)であり、A<−SUB(A,b)によりけた上げ(carry=1)が生じた場合には、減算の前はA−b μ 0であり、それ故、bをAから引かなければならないことを意味する。
・a<−SHLm+1(a,1)がけた上げを生じないで、またA<−SUB(A,b)もけた上げを生じない場合(すなわち、σを更新した後で、σが偽である場合)、または¬σが真である場合には、減算を行う前、A−b<0であり、それ故、bをAから引く必要がないことを意味する。この場合には、この方法は、Aの値を復元するために加算演算A<−ADD(A,b)を実行する。
方法1は、カバート・チャネル攻撃に弱い。何故なら、方法1の場合には、反復の度に、σの値により、すなわち現在の反復中に入手する商ビットの値により、加算ADD(A,b)またはそのデータaを含むレジスタの最下位ビットの1への設定が行われるからである。これら2つの演算の使用方法および持続時間は異なっていて、その実施中に残す痕跡も異なる。それ故、1回の反復中に残す全痕跡は、上記反復中に入手した結果ビットにより異なる。例えば、完全な方法を実行した場合に構成要素が残した痕跡を測定し、研究することにより、ビット毎に結果ビットの値を決定することができる。
方法1を使用すれば、整数除算の結果(q=a div b)およびモジュラ換算の結果である、整数除算の余り(r=a mod b)の両方を入手することができる。同じ欠点を持つ他の周知の方法は、モジュラ除算だけ、またはモジュラ換算だけを行う。通常、除算方法は、かなりモジュラ換算法に似ている。
米国特許第5,166,978号 Paul Kocherの、「暗号学における進歩−CRYPTO’99」(Advances in Cryptology − CRYPTO'99)、コンピュータ科学(Computer Science)における講義ノート、1666巻、388乃至397ページ、Springer−Verlag、1999年 J.J.QuisquaterおよびC.Couvreurの、「RSA公開鍵暗号化システム用の高速解読アルゴリズム」(Fast decipherment algorithm for RSA public key cryptosystem)、Electronics Letter、第18巻、99、905乃至907ページ、1982年10月 P.Barretの、「標準デジタル信号処理上でのRSA公開鍵暗号化アルゴリズムの実施」(Implementing the RSA public key encryption algorithm on a standard digital signal processing)、コンピュータ科学(Computer Science)における講義ノート、第263巻、311乃至323ページ、Springer Verlag、1987年
本発明の1つの目的は、除算および/またはモジュラ換算を実施する方法を攻撃から安全なものにすることである。
この目的のために、本発明は、q=a div bというタイプの整数除算および/またはr=a mod bというタイプのモジュラ換算を実行する暗号化方法を提案する。ここで、qは商であり、aはmビットの数であり、bはnビットの数であり、nはmより小さいかまたは等しく、bn−1はゼロでなく、数bの最上位ビットである。
本発明によれば、上記方法は、整数除算および/またはモジュラ換算を実行する前に乱数ρにより数aがマスクされることを特徴とする。
乱数によりマスクされている数a、この方法の実行中に残った痕跡(例えば、消費エネルギー)は実行毎に異なる。そのため、差分カバート・チャネル攻撃をもはや行うことはできない。
本発明は、例えば、除算とモジュラ換算の両方を行う方法1に適用することができる。もっと一般的に、本発明は、これらの演算の一方または他方を実行する任意の方法に適用することができる。
乱数ρは、この方法の実行毎に修正することができ、または単にこの方法の所定の回数の実行の後で修正することができる。適用できる場合には、上記の予め定義した数は、好適には、例えば、32乃至64ビットの間のある数のような比較的小さな数にすることが好ましい。
本発明の好ましい実施形態によれば、数aをマスクするために、数aに加算が行われ、乱数がb倍される(a<−a+b*ρ)。この目的のために、具体的に説明すると、レジスタbの内容に乱数ρが掛けられ、次に、数aに加算が行われ、加算の結果が最初に数aを含んでいるレジスタに記憶される。
その後で、次に必要な整数除算および/またはモジュラ換算が行われる。
整数除算を行う場合には、a+b*ρの形にマスクされた数aにより行った整数除算の結果は、a div b+ρに等しい。この場合、整数除算の後で、数aに対する整数除算の予想された結果、すなわちa div bを発見するために、乱数ρによる影響が整数除算の結果から除去される。
モジュラ換算を行う場合には、この演算(a+b*ρ)mod bの結果はa mod b、数aに対するモジュラ換算の予想した結果に等しい。
本発明は、また、すでに説明した本発明による方法を実施するための手段を備える電子構成要素に関する。プログラムされた計算手段は、特に数aおよびbを記憶するためのいくつかのレジスタを備える。
最後に、本発明は、上記特性を有する構成要素を備えたチップ・カードに関する。

Claims (6)

  1. 複数のビット・レジスタを有する電子構成要素において、第一および第二のビット・レジスタにそれぞれ記憶された数aおよび数bに基づいて、内部の計算手段により、q=a div bというタイプの整数除算および/またはr=a mod bというタイプのモジュラ換算を実行する暗号化方法であって、qは商、aはmビットの数、bはnビットの数、nはmより小さいかまたは等しい数、前記数bの最上位ビットであるbn−1は非ゼロであって、
    前記暗号化方法は、
    数aと、数bと乱数ρとの積とを加算するステップと、
    前記ステップでの計算結果を数aが記憶されていた前記第一のビット・レジスタに記憶させるステップと、を有し、
    前記第一および第二のビット・レジスタを用いた前記整数除算および/または前記モジュラ換算を行う前に、前記二つのステップが前記計算手段によって実行されることを特徴とする暗号化方法。
  2. 整数除算を実行した後で、前記乱数ρが前記整数除算の結果から差し引かれることを特徴とする請求項1に記載の方法。
  3. 前記乱数ρが前記方法の実施の度に修正されることを特徴とする請求項1または2に記載の方法。
  4. 前記乱数ρが、前記方法の所定の実施回数の後で修正されることを特徴とする請求項1乃至3のいずれかに記載の方法。
  5. 請求項1乃至4のいずれかに記載の方法を実施するための手段を備える電子構成要素。
  6. 請求項5に記載の構成要素を備えるチップ・カード。
JP2004559820A 2002-12-11 2003-12-11 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法 Expired - Lifetime JP4378480B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0215623A FR2848753B1 (fr) 2002-12-11 2002-12-11 Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches
PCT/FR2003/003681 WO2004055665A1 (fr) 2002-12-11 2003-12-11 Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches

Publications (2)

Publication Number Publication Date
JP2006509261A JP2006509261A (ja) 2006-03-16
JP4378480B2 true JP4378480B2 (ja) 2009-12-09

Family

ID=32338660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004559820A Expired - Lifetime JP4378480B2 (ja) 2002-12-11 2003-12-11 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法

Country Status (7)

Country Link
US (1) US7639796B2 (ja)
EP (1) EP1579312A1 (ja)
JP (1) JP4378480B2 (ja)
CN (1) CN1723436A (ja)
AU (1) AU2003296823A1 (ja)
FR (1) FR2848753B1 (ja)
WO (1) WO2004055665A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
FR2847402B1 (fr) * 2002-11-15 2005-02-18 Gemplus Card Int Procede de division entiere securise contre les attaques a canaux caches
FR2895609A1 (fr) * 2005-12-26 2007-06-29 Gemplus Sa Procede cryptographique comprenant une exponentiation modulaire securisee contre les attaques a canaux caches, cryptoprocesseur pour la mise en oeuvre du procede et carte a puce associee
FR2897964B1 (fr) * 2006-02-28 2017-01-13 Atmel Corp Procede de calcul numerique incluant la division euclidienne
US8280041B2 (en) * 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems
JP4603022B2 (ja) * 2007-08-02 2010-12-22 株式会社スクウェア・エニックス 暗号化データ作成装置、および暗号化データ作成プログラム
CA2688592C (en) * 2007-10-01 2014-04-15 Research In Motion Limited Substitution table masking for cryptographic processes
TWI517655B (zh) * 2013-05-23 2016-01-11 晨星半導體股份有限公司 密碼裝置以及密鑰保護方法
FR3095709B1 (fr) * 2019-05-03 2021-09-17 Commissariat Energie Atomique Procédé et système de masquage pour la cryptographie

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077793A (en) * 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
US5504817A (en) * 1994-05-09 1996-04-02 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for memory efficient variants of public key encryption and identification schemes for smart card applications
DE19963407A1 (de) * 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung

Also Published As

Publication number Publication date
US20060023873A1 (en) 2006-02-02
AU2003296823A1 (en) 2004-07-09
FR2848753A1 (fr) 2004-06-18
US7639796B2 (en) 2009-12-29
WO2004055665A1 (fr) 2004-07-01
CN1723436A (zh) 2006-01-18
JP2006509261A (ja) 2006-03-16
EP1579312A1 (fr) 2005-09-28
FR2848753B1 (fr) 2005-02-18

Similar Documents

Publication Publication Date Title
US10423807B2 (en) Asymmetrically masked multiplication
EP3559811B1 (en) Protecting parallel multiplication operations from external monitoring attacks
JP5412274B2 (ja) サイドチャネル攻撃からの保護
US8422685B2 (en) Method for elliptic curve scalar multiplication
JP4378479B2 (ja) カバート・チャネル攻撃に対して安全な整数除算法
TWI403144B (zh) 隨機化模數減化方法及其硬體
US7227947B2 (en) Cryptographic method and cryptographic device
JP4378480B2 (ja) 隠れたチャネル攻撃に対して安全に整数除算またはモジュラ換算する方法
CN101213512A (zh) 保护数据处理设备以抵御攻击或分析的装置和方法
Fouque et al. The carry leakage on the randomized exponent countermeasure
US11502836B2 (en) Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product
Vadnala et al. Faster mask conversion with lookup tables
Schmidt et al. Combined implementation attack resistant exponentiation
JP2008525834A (ja) 暗号用の安全かつコンパクトな累乗方法
Schamberger et al. Practical evaluation of masking for ntruencrypt on arm cortex-m4
Fournaris Fault and power analysis attack protection techniques for standardized public key cryptosystems
JP3878853B2 (ja) 公開鍵暗号アルゴリズムを用いる電子構成品におけるモジュラべき乗演算アルゴリズム
CN109299621A (zh) 对迭代计算的防范水平攻击的保护
Kabin et al. Unified field multiplier for ECC: Inherent resistance against horizontal SCA attacks
Dąbrowski et al. Generation and Implementation of Cryptographically Strong Elliptic Curves
Monfared et al. Secure and efficient exponentiation architectures using Gaussian normal basis
Das et al. Improved atomicity to prevent HCCA on NIST curves
Gandolfi-Villegas et al. Dynamic Runtime Methods to Enhance Private Key Blinding
Negre Address-bit Differential Power Analysis on Boolean Split Exponent Counter-measure.
JP2008224830A (ja) 耐タンパーベキ乗演算方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090721

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090820

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150