JP2016008994A - べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム - Google Patents
べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム Download PDFInfo
- Publication number
- JP2016008994A JP2016008994A JP2014127864A JP2014127864A JP2016008994A JP 2016008994 A JP2016008994 A JP 2016008994A JP 2014127864 A JP2014127864 A JP 2014127864A JP 2014127864 A JP2014127864 A JP 2014127864A JP 2016008994 A JP2016008994 A JP 2016008994A
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- remainder
- power
- residue
- multiplication
- 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.)
- Granted
Links
Images
Abstract
【解決手段】本発明は、公開鍵指数eを2進数表現ei(k(eのビット長)>i≧0)としたときに、k回の二乗剰余演算と、ei=1となるビットの数と等しい回数の乗算剰余演算との繰り返し演算中に、前記二乗剰余演算または前記乗算剰余演算の演算回数をカウントし、カウントされた前記演算回数と予め設定された設定回数とを比較し、当該比較結果に基づいて異常であるか否かを判定し、異常であると判定された場合、エラー処理を行う。
【選択図】図2
Description
M=Cemodn ・・・(2)
S=1
for(j=k−1 to 0)
S=S2modn
if(di=1) then
S=S*Mmodn
end if
end for
S=1
for(j=k−1 to 0)
S=S2modn
if(ei=1) then
S=S*Cmodn
end if
end for
先ず、図2を参照して、コプロセッサ11により実行される復号処理を説明する。図2に示す復号処理は、繰り返し演算において乗算剰余演算の演算回数が“1”である場合に異常であると判定する例である。
次に、図3を参照して、コプロセッサ11により実行される復号処理を説明する。図2に示す復号処理は、繰り返し演算において乗算剰余演算の演算回数が“ej=1となるビットの数”でない場合に異常であると判定する例である。なお、図3に示すステップS29以外の処理は、図2に示す処理と同様であるので、重複する説明を省略する。ステップS29では、コプロセッサ11は、ctが“ej=1となるビットの数”であるか否かを判定する。そして、コプロセッサ11は、ctが“ej=1となるビットの数”であると判定した場合(ステップS29:YES)、ステップS31へ進んで、検証を行う。一方、コプロセッサ11は、ctが“ej=1となるビットの数”でないと判定した場合(ステップS29:NO)、ステップS30へ進んで、エラー処理を行う。例えば、公開鍵指数e=65537である場合、この2進数表現は、“10000000000000001”となり、17ビットのうち、2ビットに“1”が立っているので、正常な繰り返し演算(二乗剰余演算)が行われた場合、ステップS29において、ctの値は“2”となっているはずである。このため、もし、ctが“2”でなければ、コプロセッサ11は、異常があったと判断(異常検知)して、エラー処理を行う。
1a ICチップ
10 CPU
11 コプロセッサ
12 ROM
13 RAM
14 不揮発性メモリ
15 I/O回路
Claims (7)
- バイナリ法を用いてS=Cemodnの演算を行う、べき乗剰余演算装置において、
複数ビットで表現される正の整数であるC、e、及びnを入力する入力手段と、
前記eを2進数表現ei(k(eのビット長)>i≧0)としたときに、k回の二乗剰余演算と、ei=1となるビットの数と等しい回数の乗算剰余演算との繰り返し演算を行う演算手段と、
前記二乗剰余演算または前記乗算剰余演算の演算回数をカウントするカウント手段と、
前記カウント手段によりカウントされた前記演算回数と予め設定された設定回数とを比較し、当該比較結果に基づいて異常であるか否かを判定する判定手段と、
前記判定手段により異常であると判定された場合、エラー処理を行う処理手段と、
を備えることを特徴とする、べき乗剰余演算装置。 - 前記設定回数は、1に設定され、
前記判定手段は、前記演算回数が前記設定回数である場合に異常であると判定することを特徴とする請求項1に記載のべき乗剰余演算装置。 - 前記設定回数は、ei=1となるビットの数に設定され、
前記判定手段は、前記乗算剰余演算の前記演算回数が前記設定回数でない場合に異常であると判定することを特徴とする請求項1に記載のべき乗剰余演算装置。 - 前記Cは検証対象データ、前記eは公開鍵指数、前記nは公開鍵モジュラスであり、
前記判定手段により異常でないと判定された場合において前記繰り返し演算により算出された前記Sと、べき乗剰余演算による暗号化の対象となる平文データとが一致するか否かを判定することにより前記Cの検証を行う検証手段を更に備えることを特徴とする請求項1乃至3の何れか一項に記載のべき乗剰余演算装置。 - バイナリ法を用いてS=Cemodnの演算を行うICカードにおいて、
複数ビットで表現される正の整数であるC、e、及びnを入力する入力手段と、
前記eを2進数表現ei(k(eのビット長)>i≧0)としたときに、k回の二乗剰余演算と、ei=1となるビットの数と等しい回数の乗算剰余演算との繰り返し演算を行う演算手段と、
前記二乗剰余演算または前記乗算剰余演算の演算回数をカウントするカウント手段と、
前記カウント手段によりカウントされた前記演算回数と予め設定された設定回数とを比較し、当該比較結果に基づいて異常であるか否かを判定する判定手段と、
前記判定手段により異常であると判定された場合、エラー処理を行う処理手段と、
を備えることを特徴とするICカード。 - バイナリ法を用いてS=Cemodnの演算を行うコンピュータにより実行されるべき乗剰余演算方法であって、
複数ビットで表現される正の整数であるC、e、及びnを入力するステップと、
前記eを2進数表現ei(k(eのビット長)>i≧0)としたときに、k回の二乗剰余演算と、ei=1となるビットの数と等しい回数の乗算剰余演算との繰り返し演算を行うステップと、
前記二乗剰余演算または前記乗算剰余演算の演算回数をカウントするステップと、
前記カウントされた前記演算回数と予め設定された設定回数とを比較し、当該比較結果に基づいて異常であるか否かを判定する判定ステップと、
前記判定ステップにおいて異常であると判定された場合、エラー処理を行うステップと、
を含むことを特徴とする、べき乗剰余演算方法。 - バイナリ法を用いてS=Cemodnの演算を行うコンピュータに、
複数ビットで表現される正の整数であるC、e、及びnを入力するステップと、
前記eを2進数表現ei(k(eのビット長)>i≧0)としたときに、k回の二乗剰余演算と、ei=1となるビットの数と等しい回数の乗算剰余演算との繰り返し演算を行うステップと、
前記二乗剰余演算または前記乗算剰余演算の演算回数をカウントするステップと、
前記カウントされた前記演算回数と予め設定された設定回数とを比較し、当該比較結果に基づいて異常であるか否かを判定する判定ステップと、
前記判定ステップにおいて異常であると判定された場合、エラー処理を行うステップと、
を実行させることを特徴とする、べき乗剰余演算プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014127864A JP6354376B2 (ja) | 2014-06-23 | 2014-06-23 | べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014127864A JP6354376B2 (ja) | 2014-06-23 | 2014-06-23 | べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016008994A true JP2016008994A (ja) | 2016-01-18 |
| JP6354376B2 JP6354376B2 (ja) | 2018-07-11 |
Family
ID=55226604
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014127864A Active JP6354376B2 (ja) | 2014-06-23 | 2014-06-23 | べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6354376B2 (ja) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10154976A (ja) * | 1996-11-22 | 1998-06-09 | Toshiba Corp | タンパーフリー装置 |
| JPH118616A (ja) * | 1997-06-17 | 1999-01-12 | Dainippon Printing Co Ltd | 故障利用攻撃対応icカード |
| US20040125950A1 (en) * | 2002-12-27 | 2004-07-01 | Sung-Ming Yen | Method for protecting public key schemes from timing, power and fault attacks |
| JP2005165290A (ja) * | 2003-11-12 | 2005-06-23 | Matsushita Electric Ind Co Ltd | Rsa公開鍵生成装置、rsa復号装置及びrsa署名装置 |
| US20060029224A1 (en) * | 2004-08-06 | 2006-02-09 | Yoo-Jin Baek | System and recording medium for securing data and methods thereof |
| JP2010068135A (ja) * | 2008-09-09 | 2010-03-25 | Fujitsu Ltd | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 |
| JP2010193447A (ja) * | 2009-02-19 | 2010-09-02 | Thomson Licensing | 欠陥攻撃に対抗する方法及び装置 |
| JP2014174556A (ja) * | 2013-03-11 | 2014-09-22 | Thomson Licensing | 暗号システムにおける故障耐性のある冪乗のための方法および装置 |
-
2014
- 2014-06-23 JP JP2014127864A patent/JP6354376B2/ja active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10154976A (ja) * | 1996-11-22 | 1998-06-09 | Toshiba Corp | タンパーフリー装置 |
| JPH118616A (ja) * | 1997-06-17 | 1999-01-12 | Dainippon Printing Co Ltd | 故障利用攻撃対応icカード |
| US20040125950A1 (en) * | 2002-12-27 | 2004-07-01 | Sung-Ming Yen | Method for protecting public key schemes from timing, power and fault attacks |
| JP2005165290A (ja) * | 2003-11-12 | 2005-06-23 | Matsushita Electric Ind Co Ltd | Rsa公開鍵生成装置、rsa復号装置及びrsa署名装置 |
| US20060029224A1 (en) * | 2004-08-06 | 2006-02-09 | Yoo-Jin Baek | System and recording medium for securing data and methods thereof |
| JP2010068135A (ja) * | 2008-09-09 | 2010-03-25 | Fujitsu Ltd | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 |
| JP2010193447A (ja) * | 2009-02-19 | 2010-09-02 | Thomson Licensing | 欠陥攻撃に対抗する方法及び装置 |
| JP2014174556A (ja) * | 2013-03-11 | 2014-09-22 | Thomson Licensing | 暗号システムにおける故障耐性のある冪乗のための方法および装置 |
Non-Patent Citations (1)
| Title |
|---|
| 楠田 浩二: "公開鍵暗号方式の安全性評価に関する現状と課題", 日本銀行金融研究所ディスカッション・ペーパー・シリーズ(1997年収録分) [ONLINE], JPN6018006170, 1 April 1998 (1998-04-01), pages 30 - 31, ISSN: 0003794742 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6354376B2 (ja) | 2018-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8402287B2 (en) | Protection against side channel attacks | |
| US8065531B2 (en) | Decryption method | |
| US8391477B2 (en) | Cryptographic device having tamper resistance to power analysis attack | |
| EP1134653B1 (en) | Information processing device, information processing method and smartcard | |
| EP2211265B1 (en) | Elliptic curve arithmetic processing unit and elliptic curve arithmetic processing program and method | |
| US10721056B2 (en) | Key processing method and device | |
| EP2332040B1 (en) | Countermeasure securing exponentiation based cryptography | |
| CN105991292A (zh) | 用于操作安全椭圆曲线密码系统的系统和方法 | |
| CN101133593B (zh) | 安全地执行rsa型密码术算法的方法及相应部件 | |
| KR20100113130A (ko) | 비대칭 암호화를 위한 대응조치 방법 및 디바이스 | |
| EP3191936B1 (en) | System and method for one-time chinese-remainder-theorem exponentiation for cryptographic algorythms | |
| TWI512610B (zh) | 利用模數的特殊形式之模組約化 | |
| JP5261088B2 (ja) | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 | |
| WO2018019233A1 (zh) | 一种运算方法和安全芯片 | |
| Kaminaga et al. | Double Counting in $2^{t} $-ary RSA Precomputation Reveals the Secret Exponent | |
| EP3461053A1 (en) | Fault attacks counter-measures for eddsa | |
| JP6354376B2 (ja) | べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム | |
| US7174016B2 (en) | Modular exponentiation algorithm in an electronic component using a public key encryption algorithm | |
| JP3952304B2 (ja) | 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法 | |
| Le et al. | On double exponentiation for securing RSA against fault analysis | |
| US10305678B2 (en) | Imbalanced montgomery ladder | |
| KR20080012634A (ko) | 고속 몽고메리 전력 래더 알고리즘에서 사용되는 폴트 검출동작을 구현하기 위한 이진 유한 영역에서의 포인트 덧셈방법 및 덧셈 연산 장치 | |
| Devi et al. | A Review on Different Types of Attacks | |
| Feix et al. | Recovering CRT-RSA secret keys from message reduced values with side-channel analysis | |
| Wang et al. | A Novel SPA Attack on ECC Using MMM's Conditional Subtraction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170425 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180227 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180427 |
|
| 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: 20180515 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180528 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6354376 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |