JP5179358B2 - 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 - Google Patents
攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 Download PDFInfo
- Publication number
- JP5179358B2 JP5179358B2 JP2008519042A JP2008519042A JP5179358B2 JP 5179358 B2 JP5179358 B2 JP 5179358B2 JP 2008519042 A JP2008519042 A JP 2008519042A JP 2008519042 A JP2008519042 A JP 2008519042A JP 5179358 B2 JP5179358 B2 JP 5179358B2
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- processing device
- cryptographic operation
- processing apparatus
- random variable
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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
- G06F7/723—Modular exponentiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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
- G06F7/728—Methods 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 using Montgomery reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Description
−チップ上の、特にむき出しの(従って光に敏感な)チップ上の、1以上の光源、又は
−チップ上の、何らかの種類の電磁(EM)放射源を目標とすることにより、計算、特に暗号演算に影響を与えることである。
−Luca Benini、Angelo Galati、Alberto Macii、Enrico Macii及びMassimo Poncinoによる先行技術の論文「Energy-Efficient Data Scrambling on Memory-Processor Interfaces」、
−Tom Lashによる先行技術の論文「A Study of Power Analysis and the Advanced Encryption Standard - Recommendations for Designing Power Analysis Resistant Devices」、
−欧州特許出願公開EP1014617A2、
−欧州特許出願公開EP1267514A9、
−英国特許出願公開GB2345229A、
−米国特許出願公開US2003/0194086A1、
−国際特許出願公開WO00/42511A1、
−国際特許出願公開WO01/08012A1、
−国際特許出願公開WO01/31436A1、
−国際特許出願公開WO02/50658A1、
−国際特許出願公開WO03/101039A1、及び
−Larry T. McDaniel IIIによる先行技術の論文「An Investigation of Differential Power Analysis Attacks on FPGA-based Encryption Systems」。
−少なくとも1つの攻撃に対して、特に少なくとも1つのEM放射攻撃に対して、又は
−少なくとも1つの暗号解析に対して、特に少なくとも1つのDPAに対して、
前記計算のオペランドを反転させることなく、少なくとも1つのランダム的な変数によって、前記計算の全ての中間結果を隠蔽することにより、保護される。
Mは暗号化されるべきメッセージであり、
N=p・qであり、
eは(p-1)(q-1)と互いに素であり、
dはxedmod[(p-1)(q-1)]=1であるような数である。
復号化はM=Cdmod(N)を計算する。
第1のステップ:R=1から始める。
第2のステップ:左から右へと指数eを走査する。
第3のステップ:R=R2mod(N)を常に計算する。
第4のステップ:eの走査されたビットが1である場合、R=R・M・mod(N)が更に計算される。
N=nm-1Bm-1+nm-2Bm-2+...+n1B+n0(ここでB=2n)である。
−結果がオーバフローする場合には、M-Vが計算される。
−結果が正でありオーバフローしない場合には、M-V+Nが計算される。
−結果が負である場合には、M-V+2Nが計算される。
-V=-Bm+(B-v-1)Bm-1+...+(B-v-1)B+(B-v-1)+1である。従って、Bmについて予期される全ての正の数が加算される。項-Bmは利用されないが、他の変数に対する(B-v-1)Bm-1+...+(B-v-1)B+(B-v-1)+1の加算がキャリービットを与える場合には、項-Bmは無視される。
c=1
if Mm-1-v-1+nm-1≧B
for j=0 to m-1: Bc+Rj=Mj+(B-v-1)+c
else if Mm-1-v-1+nm-1≧0
for j=0 to m-1: Bc+Rj=Mj+(B-v-1)+c+nj
else
for j=0 to m-1: Bc+Rj=Mj+(B-v-1)+c+2nj
R=X*Ymod(N)
X=xm-1Bm-1+xm-2Bm-2+...+x1B+x0
Y=ym-1Bm-1+ym-2Bm-2+...+y1B+y0
B=2n
ここで、mは語の数であり(例えばm=16)、nは語のビットの数である(例えばn=64)。
C=0;
for i=0 to m-1 {(BC+Ri)=XiYj+Ri+C}
Rm=C
V=(Bm-1+...+B+1)v
キャリーを与える場合にはvが全ての語Yjに加算され、次に高次の語Yj+1に加算される:
Bc+Yj=Y j+v+c
C=0;
Bc+Yj=Y j+v+c;
BWH+WL=vYj;
for i=0 to m-1: {(BC+R i)=X iYj+BWH+WL+R i+C}
R m=C-v
C=0;
Bc+Y0=Y 0+v+c;
BWH+WL=vY0
for i=0 to m-1: {(BC+R i)=X iY0+BWH+WL-v+C}
R m=C-v
−次のYjがロードされる度に、最初にvが加算される必要があり、次いでvYj=BWH+WLが事前に計算される必要があり、WH及びWLが保存される必要がある。このことは付加的な乗算であり、これにより計算時間が長くなり得る。
−BWH+WLが乗算の間に加算される必要があり、このことは乗算器10(図3及び4を参照)に対する付加的な加算入力を意味する。
−還元の最後の乗算の間、vが当該結果の上部から減算される必要があり、このこともまた乗算器10(図3及び4を参照)の適合を必要とする。
XHj=Bm-1Xm-1+...+Bj+1Xj+1(即ちXj+1から始まるXの全ての項)であり、
RHj=Bm-1Rm-1+...+Bj+1Rj+1(即ちRj+1から始まるRの全ての項)であるが、
RH0=0である。
V=(Bm-1+...+B+1)v
BC+R j'=X jXj+R j+vXj=(Xj-v)Xj+R j+vXj=Xj 2+R j
R Hj'=2X HjXj+R Hj+C+2VHjXj-Bmv=2XHjXj+R Hj+C-Bmv
であり、ここでVHj=(Bm-1+...+Bj+1)vである。
//j=0
Bc+X0=X 0+v;
BWH+WL=VX0;
BC+R0=X 0X0+BWH+WL-v;
for i=1 to m-1: {BC+R i=2X 0X0+B2WH+2WL-v+C}
R m =C-v;
R=Montgomery(R);
//j>0
for j=1 to m-1:
{ Bc+Xj=X j +v+c;
BWH+WL=vXj;
BC+R j=X jXj+BWH+WL+R j;
for i=j+1 to m-1: {BC+R i=2X iXj+B2WH+2WL+R i+C}
R m=C-v;
R=Montgomery(R);
}
R=(X jXj+R j+vXj)Bj+2X HjXj+R Hj+2VHjXj-Bmv
が計算される。ここで
R<2X Hj-1Xj+R Hj-1+2VHj-1Xj-Bmv
である。
R''<(NQ+2X Hj-1Xj+R Hj-1+2VHj-1Xj-Bmv)/B
となる。
R''<N+2X Hj-1+2VHj-1-Bm<3Bm+N<4Bm
も成り立つことが、証明され得る。
−R=Pで開始;
−スカラaを左から右へと走査:
−−R=2Rmod(N)を常に計算(所謂点倍算(point doubling))
−−aの走査されたビットが1である場合、R=R+Pmod(N)が更に算出される(所謂点加算(point addition))。
R=X+Ymod(N)及びR=X-Ymod(N)のような演算にもよる。
−加算の場合、R=X+Y+V=(X-V)+(Y-V)+V=R-Vが計算され、
−減算の場合、R=X-Y-V=(X-V)-(Y-V)-V=R-Vが計算される。
Bc+r=xy+Bu-kBx+z+c (k=-2,...,3)
(i)積xyを計算する;
(ii)必要であれば、該積xyの下部にzを加算する;
(iii)必要であれば、該積xyの下部にcレジスタ14cの内容を加算する;
(iv)必要であれば、該積xyの上部にuを加算する;
(v)必要であれば、該積xyの上部にxの倍数を加算又は減算する;
(vi)結果の下部をrレジスタ14rに保存する;
(vii)結果の上部を、次の計算における利用のため、cレジスタ14cに保存する。
−結果rのための全加算器16rと、
−乗算が完了したときのキャリーのための全加算器16cと、
−どの範囲(2pに対して)に結果が存在するかを決定する範囲器18と、
を有する。
−必要とされるタイプの計算を実行するため乗算器10を制御し、
−keの値及びkの値を選択し、
−メモリ20から入力オペランドを読み込み、
−結果をメモリ20に書き込む。
10 装置100の乗算ユニット
12a 乗算ユニット10とメモリユニット20との間の第1の接続、とりわけ乗算ユニット10からメモリ20への接続
12b 乗算ユニット10とメモリユニット20との間の第2の接続、とりわけメモリユニット20から乗算ユニット10への接続
14c 乗算ユニット10のcレジスタモジュール
14r 乗算ユニット10のrレジスタモジュール
16c 乗算ユニット10の第1の全加算モジュール
16r 乗算ユニット10の第2の全加算モジュール
18 乗算ユニット10の範囲モジュール
20 装置100のメモリユニット
30 装置100の状態機械
Mr モンゴメリ還元
Claims (9)
- 少なくとも1つの攻撃から少なくとも1つのデータ処理装置を保護する方法であって、データ処理装置は、入力メッセージ(M)上で暗号演算を実行するためにオペランドを利用するように配置され、暗号演算は、モジュール型計算を含み、
データ処理装置が、隠蔽される入力メッセージを生成するために、第1のランダム的な変数(V)を利用して入力メッセージ(M)を隠蔽する過程と、
データ処理装置が、対応する隠蔽される中間結果を生成するために、第1のランダム的な変数(V)を利用して暗号演算の全ての中間結果(R)を隠蔽する過程と、を具備し、
オペランドは、暗号演算中にデータ処理装置によって反転されず、
データ処理装置が、隠蔽される入力メッセージを、M−Vmod(N)として計算し、データ処理装置が、各隠蔽される中間結果を、R−Vmod(N)として計算し、データ処理装置が、第1のランダム的な変数(V)を、(Bm−1+Bm−2+・・・+B+1)vとして計算し、
Nは、モジュール型計算で利用されるモジュールであり、m個の語を含み、各m個の語は、nビットを含み、vは、nビットを含む1つの語である第2のランダム的な変数であり、Bは、2nに等しいことを特徴とする方法。 - データ処理装置が、第1のランダム的な変数を、暗号演算の全体の中で一定に保ち、新たな暗号演算が開始されたときに、データ処理装置が、前記第1のランダム的な変数を変化させることを特徴とする、請求項1に記載の方法。
- 暗号演算は、(a)RSAアルゴリズム及び(b)楕円曲線暗号アルゴリズムの1つ又は両方に基づくことを特徴とする、請求項1又は2に記載の方法。
- 1つ又は複数の前記モジュール型計算を実行するために、データ処理装置が、モンゴメリ還元を利用することを特徴とする、請求項1乃至3のいずれか一項に記載の方法。
- データ処理装置であって、入力メッセージ(M)上で暗号演算を実行するためにオペランドを利用するように配置され、暗号演算は、モジュール型計算を含み、
データ処理装置が、隠蔽される入力メッセージを生成するために、第1のランダム的な変数(V)を利用して入力メッセージ(M)を隠蔽するように配置され、
データ処理装置が、対応する隠蔽される中間結果を生成するために、第1のランダム的な変数(V)を利用して暗号演算の全ての中間結果(R)を隠蔽するように配置され、
オペランドは、暗号演算中にデータ処理装置によって反転されず、
データ処理装置が、隠蔽される入力メッセージを、M−Vmod(N)として計算し、データ処理装置が、各隠蔽される中間結果を、R−Vmod(N)として計算し、データ処理装置が、第1のランダム的な変数(V)を、(B m−1 +B m−2 +・・・+B+1)vとして計算し、
Nは、モジュール型計算で利用されるモジュールであり、m個の語を含み、各m個の語は、nビットを含み、vは、nビットを含む1つの語である第2のランダム的な変数であり、Bは、2 n に等しいことを特徴とするデータ処理装置。 - データ処理装置が、第1のランダム的な変数を、暗号演算の全体の中で一定に保つように配置され、新たな暗号演算が開始されたときに、データ処理装置が、前記第1のランダム的な変数を変化させるように配置されることを特徴とする、請求項5に記載のデータ処理装置。
- 暗号演算は、(a)RSAアルゴリズム及び(b)楕円曲線暗号アルゴリズムの1つ又は両方に基づくことを特徴とする、請求項5又は6に記載のデータ処理装置。
- 1つ又は複数の前記モジュール型計算を実行するために、データ処理装置が、モンゴメリ還元を利用することを特徴とする、請求項5乃至7のいずれか一項に記載のデータ処理装置。
- オペランドと計算の結果とを保存するためのメモリユニットと、
メモリユニットに接続された少なくとも1つの乗算ユニットと、
(a)乗算ユニットを制御すること、(b)必要とされるタイプの計算を実行すること、(c)メモリユニットから入力オペランドを読み取ること、及び(d)メモリユニットに計算の結果を書き込むこと、の1つ又は複数を実行するための少なくとも1つの状態機械と、
を具備することを特徴とする請求項5乃至8のいずれか一項に記載のデータ処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05105806.3 | 2005-06-29 | ||
EP05105806 | 2005-06-29 | ||
PCT/IB2006/052055 WO2007000702A2 (en) | 2005-06-29 | 2006-06-23 | Arrangement for and method of protecting a data processing device against a cryptographic attack or analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009500892A JP2009500892A (ja) | 2009-01-08 |
JP5179358B2 true JP5179358B2 (ja) | 2013-04-10 |
Family
ID=37456056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519042A Expired - Fee Related JP5179358B2 (ja) | 2005-06-29 | 2006-06-23 | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8738927B2 (ja) |
EP (1) | EP1899804B1 (ja) |
JP (1) | JP5179358B2 (ja) |
CN (1) | CN101213513B (ja) |
WO (1) | WO2007000702A2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007000701A2 (en) * | 2005-06-29 | 2007-01-04 | Koninklijke Philips Electronics N. V. | Arrangement for and method of protecting a data processing device against an attack or analysis |
CN101213513B (zh) | 2005-06-29 | 2013-06-12 | 爱迪德艾恩德霍芬公司 | 保护数据处理装置免受密码攻击或分析的设备和方法 |
FR2926651B1 (fr) * | 2008-01-23 | 2010-05-21 | Inside Contactless | Procede et dispositifs de contre-mesure pour cryptographie asymetrique |
EP2365659B1 (fr) * | 2010-03-01 | 2017-04-12 | Inside Secure | Procédé de test de la résistance d'un circuit intégré à une analyse par canal auxiliaire |
FR2956933A1 (fr) * | 2010-03-01 | 2011-09-02 | Inside Contactless | Circuit integre protege contre une analyse par canal auxiliaire horizontale |
US8572406B2 (en) | 2010-03-31 | 2013-10-29 | Inside Contactless | Integrated circuit protected against horizontal side channel analysis |
US8413906B2 (en) | 2011-05-22 | 2013-04-09 | King Saud University | Countermeasures to secure smart cards |
FR2977954B1 (fr) | 2011-07-13 | 2015-06-26 | St Microelectronics Rousset | Protection d'un calcul sur courbe elliptique |
FR2977953A1 (fr) | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | Protection d'un calcul d'exponentiation modulaire par addition d'une quantite aleatoire |
CN102412965B (zh) * | 2011-08-09 | 2013-11-27 | 深圳市德卡科技有限公司 | 椭圆曲线密码协处理器 |
CN102967818B (zh) * | 2011-08-31 | 2015-07-01 | 北京中电华大电子设计有限责任公司 | 一种故障检测电路 |
CN103888246A (zh) * | 2014-03-10 | 2014-06-25 | 深圳华视微电子有限公司 | 低功耗小面积的数据处理方法及其数据处理装置 |
TWI712915B (zh) * | 2014-06-12 | 2020-12-11 | 美商密碼研究公司 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
US10594471B2 (en) * | 2015-03-20 | 2020-03-17 | Cryptography Research, Inc. | Multiplicative blinding for cryptographic operations |
IL239880B (en) | 2015-07-09 | 2018-08-30 | Kaluzhny Uri | Simplified montgomery multiplication |
US20180115535A1 (en) * | 2016-10-24 | 2018-04-26 | Netflix, Inc. | Blind En/decryption for Multiple Clients Using a Single Key Pair |
US10778407B2 (en) * | 2018-03-25 | 2020-09-15 | Nuvoton Technology Corporation | Multiplier protected against power analysis attacks |
KR102510077B1 (ko) * | 2018-04-24 | 2023-03-14 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 연산 장치 및 방법 |
US11121882B2 (en) * | 2019-07-25 | 2021-09-14 | EMC IP Holding Company LLC | Blinding techniques for protection of private keys in message signing based on elliptic curve cryptography |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4405829A (en) | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
RU2153191C2 (ru) | 1998-09-29 | 2000-07-20 | Закрытое акционерное общество "Алкорсофт" | Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты) |
JP3796993B2 (ja) * | 1998-12-22 | 2006-07-12 | 株式会社日立製作所 | 楕円曲線暗号実行方法及び装置並びに記録媒体 |
GB2345229B (en) | 1998-12-23 | 2003-12-03 | Motorola Ltd | Method for encrypting data |
US7599491B2 (en) | 1999-01-11 | 2009-10-06 | Certicom Corp. | Method for strengthening the implementation of ECDSA against power analysis |
CA2258338C (en) | 1999-01-11 | 2009-02-24 | Certicom Corp. | Method and apparatus for minimizing differential power attacks on processors |
FR2791496B1 (fr) | 1999-03-26 | 2001-10-19 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
US6295606B1 (en) | 1999-07-26 | 2001-09-25 | Motorola, Inc. | Method and apparatus for preventing information leakage attacks on a microelectronic assembly |
FR2800478B1 (fr) | 1999-10-28 | 2001-11-30 | Bull Cp8 | Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique |
DE19963407A1 (de) | 1999-12-28 | 2001-07-12 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung |
JP2003098962A (ja) * | 2001-09-20 | 2003-04-04 | Hitachi Ltd | 楕円曲線スカラー倍計算方法及び装置並びに記録媒体 |
FR2810178B1 (fr) * | 2000-06-13 | 2004-10-29 | Gemplus Card Int | Procede de calcul cryptographique comportant une routine d'exponentiation modulaire |
FR2818473B1 (fr) | 2000-12-19 | 2003-04-18 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa |
JP2002358010A (ja) * | 2001-05-31 | 2002-12-13 | Mitsubishi Electric Corp | べき乗剰余演算器 |
JP4596686B2 (ja) | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
FR2829335A1 (fr) | 2001-09-06 | 2003-03-07 | St Microelectronics Sa | Procede de brouillage d'un calcul a quantite secrete |
GB0211812D0 (en) | 2002-05-23 | 2002-07-03 | Koninkl Philips Electronics Nv | S-box encryption in block cipher implementations |
US7403620B2 (en) | 2002-07-02 | 2008-07-22 | Stmicroelectronics S.A. | Cyphering/decyphering performed by an integrated circuit |
JP3927151B2 (ja) * | 2003-05-30 | 2007-06-06 | 株式会社東芝 | 記憶装置 |
CA2470422C (en) | 2003-06-09 | 2013-01-15 | Certicom Corp. | Method and apparatus for exponentiation in an rsa cryptosystem |
GB0313663D0 (en) | 2003-06-13 | 2003-07-16 | Hewlett Packard Development Co | Mediated rsa cryptographic method and system |
WO2005008955A1 (ja) | 2003-07-22 | 2005-01-27 | Fujitsu Limited | 個人鍵を用いた耐タンパ暗号処理 |
US7363499B2 (en) * | 2003-09-18 | 2008-04-22 | Sun Microsystems, Inc. | Blinded encryption and decryption |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7742596B2 (en) * | 2004-08-24 | 2010-06-22 | General Dynamics C4 Systems, Inc. | Reliable elliptic curve cryptography computation |
KR100617384B1 (ko) * | 2004-09-24 | 2006-08-31 | 광주과학기술원 | Rsa 보안 모듈의 몽고메리 곱셈기 |
JP4351987B2 (ja) * | 2004-11-19 | 2009-10-28 | 株式会社東芝 | モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム |
CN101213513B (zh) | 2005-06-29 | 2013-06-12 | 爱迪德艾恩德霍芬公司 | 保护数据处理装置免受密码攻击或分析的设备和方法 |
WO2007000701A2 (en) | 2005-06-29 | 2007-01-04 | Koninklijke Philips Electronics N. V. | Arrangement for and method of protecting a data processing device against an attack or analysis |
-
2006
- 2006-06-23 CN CN2006800238422A patent/CN101213513B/zh active Active
- 2006-06-23 US US11/993,265 patent/US8738927B2/en active Active
- 2006-06-23 WO PCT/IB2006/052055 patent/WO2007000702A2/en not_active Application Discontinuation
- 2006-06-23 EP EP06765839A patent/EP1899804B1/en active Active
- 2006-06-23 JP JP2008519042A patent/JP5179358B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1899804B1 (en) | 2012-11-07 |
US20100100748A1 (en) | 2010-04-22 |
EP1899804A2 (en) | 2008-03-19 |
JP2009500892A (ja) | 2009-01-08 |
WO2007000702A2 (en) | 2007-01-04 |
CN101213513A (zh) | 2008-07-02 |
US8738927B2 (en) | 2014-05-27 |
WO2007000702A3 (en) | 2007-03-29 |
CN101213513B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5179358B2 (ja) | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 | |
JP2009500710A (ja) | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 | |
JP2004280103A (ja) | モンゴメリー類型のモジュラー乗算装置及び方法 | |
JP5182364B2 (ja) | サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法 | |
Sinha Roy et al. | Lightweight coprocessor for Koblitz curves: 283-bit ECC including scalar conversion with only 4300 gates | |
JP5977996B2 (ja) | サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置 | |
KR101925868B1 (ko) | 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템 | |
CN110048840B (zh) | 一种基于rsa算法的信息处理方法、系统及相关组件 | |
US20100146029A1 (en) | Method and apparatus for modular operation | |
US7493356B2 (en) | Device and method for cryptoprocessor | |
Kim et al. | An improved and efficient countermeasure against power analysis attacks | |
KR101990861B1 (ko) | 논-모듈러 승산기, 논-모듈러 승산 방법 및 계산 장치 | |
Yin et al. | A randomized binary modular exponentiation based RSA algorithm against the comparative power analysis | |
Saldamli et al. | Uniform montgomery multiplier | |
Mentens et al. | FPGA-oriented secure data path design: implementation of a public key coprocessor | |
Sakai et al. | A new attack with side channel leakage during exponent recoding computations | |
FR2856538A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique | |
Al-Somani | Overlapped parallel computations of scalar multiplication with resistance against Side Channel Attacks | |
Yoshino et al. | Unbridle the bit-length of a crypto-coprocessor with montgomery multiplication | |
EP2887342B1 (en) | Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves | |
Kim et al. | First-order side channel attacks on Zhang’s countermeasures | |
Yoshino et al. | Bipartite modular multiplication with twice the bit-length of multipliers | |
JP2005031472A (ja) | 演算処理方法、および演算処理装置 | |
JP2001147639A (ja) | 公開鍵暗号鍵対生成装置 | |
Yoshino et al. | Recursive double-size modular multiplications without extra cost for their quotients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120302 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121003 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121115 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130109 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |