JP2009505148A - 暗号化演算における反転操作を行うための回路配置及び方法 - Google Patents

暗号化演算における反転操作を行うための回路配置及び方法 Download PDF

Info

Publication number
JP2009505148A
JP2009505148A JP2008526584A JP2008526584A JP2009505148A JP 2009505148 A JP2009505148 A JP 2009505148A JP 2008526584 A JP2008526584 A JP 2008526584A JP 2008526584 A JP2008526584 A JP 2008526584A JP 2009505148 A JP2009505148 A JP 2009505148A
Authority
JP
Japan
Prior art keywords
phi
circuit arrangement
encryption
mod
program product
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.)
Withdrawn
Application number
JP2008526584A
Other languages
English (en)
Inventor
ヴァン リンズウー サンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2009505148A publication Critical patent/JP2009505148A/ja
Withdrawn legal-status Critical Current

Links

Images

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/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
    • G06F7/721Modular inversion, reciprocal or quotient calculation
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

奇数を法とした反転のみが可能である暗号化演算における反転操作を実行する回路配置及び方法をさらに開発するため、少なくとも1つの偶数を法として反転操作を行うことを提案する。

Description

この発明は、少なくとも1回の暗号化演算における少なくとも1回の反転操作を行うための回路配置、特には数値演算コプロセッサ等の集積回路に関する。
この発明はさらに、少なくとも1回の暗号化演算における少なくとも1回の反転操作を行う方法に関する。
楕円曲線暗号(ECC)は、GF(p)又はGF(2″)に対する楕円曲線関係上での計算の使用を伴う。これに関連して、アーキテクチャは、このアーキテクチャが素数次(p)拡大体と二進(2″)拡大体の双方においてオペランドとともに働くことができる場合には、一体であると考えられている。
pが素数である場合には、pを法とする整数は、GF(p)で表わされるp要素を有する体を形成する。有限体は、有限体次数、すなわち有限数の要素を有する体であり、ガロア体又はGFとも呼ばれる。有限体の次数は、常に素数又は素数の累乗である。素数の累乗のそれぞれに対して、厳密に1つの有限体GF()が存在する(通常の警告として、「厳密に1つ」は「同型までの厳密に1つ」を意味する)。GF(p)は次数pの素数体と呼ばれ、pを法とする剰余類の体である。
n>1の場合、GF()は、係数がGF(p)に属する多項式の同値類の体として表すことができる。任意のn次既約多項式は同型までの同一体を与える。
楕円曲線暗号計算は、例えば暗号化プロセッサにおける公開鍵アルゴリズムの実行の間に、繰り返し行われる長整数の乗算を必要とする。
典型的には、暗号化操作又は復号化操作を完了するために数百回にわたり乗算操作を行わなければならず、したがってこれらの操作を行う暗号化装置が高速乗算器を用いて長乗算を迅速に実行することが重要である。
また、楕円曲線暗号計算は、逆数計算、すなわち積Z.Z−1 = 1 mod NとなるZ−1の計算も必要とする。加算計算の一つ一つ及び二倍計算の一つ一つがこのような計算を必要とする。このアルゴリズムは計算的に集中している。
ガロア体GF(p)を用いる算術反転を用いた暗号化アルゴリズムがいくつかある。kのようなアルゴリズムの一例は、GF(p)に対する楕円曲線デジタル署名アルゴリズム(ECDSA)である。ECDSAはデジタル署名アルゴリズム基準の楕円曲線類似物である。
リベスト・シャミア・エーデルマン(RSA)式体系と比較したECDSAの利点は、鍵長が短く、かつ、署名及び復号が迅速である点である。例えば、160(210)ビットECC鍵は1024(2048)ビットRSA鍵と同じ安全性を与えるものと期待されており、安全性のレベルが上がるにつれて利点も増加する。
ECDSA用途は、奇数を法とする反転を必要とするのみである。この特性は、カリスキー反転等のある種の特殊な反転アルゴリズムの使用を可能とする。これらの反転アルゴリズムは、高速であるが入力の全てを取り扱うことができないという欠点を有するという特性を有する。
これは、ある種のコプロセッサにおいて、反転のみを奇数を法として行うことができるという状況を導く。このようなコプロセッサの一例は、多くのチップカード又はスマートカードに広範に用いられており、RSA及びECC等の公開鍵アルゴリズムを非常に高速で計算するために特化した暗号化コプロセッサである、いわゆる「FameXE」である。このコプロセッサは、同一スマートカード集積回路(IC)上の主中央演算処理ユニット(CPU)とは独立して動作する。高速実行で、このコプロセッサは、増加したRSA鍵長並びにGF(p)及びGF(2″)に基づいたECCの傾向を支援する。
ある種のコプロセッサにおいて、反転ののみを奇数を法にして行うことができるという事実は、残念ながら、ハードウエアをRSA鍵生成に(直接)用いることができないことを意味する。この潜在的用途は、少なくとも楕円曲線と同じくらい重要である。
この発明の技術的背景に関して、公開鍵暗号法を行う方法を開示した先行技術文献である特許文献1を参照する。これに関連して、RSAアルゴリズムは公知の公開鍵法であり、デジタル演算手段を用いて大きな合成数を因数分解することの仮定された困難性に基づくブロック暗号である。
暗号鍵は、2つの大きな素数p及びqを用いて、数学的に導かれる。これらの素数p及びqは、ある種の特性に適合するに違いないが、時間を浪費するモジュール式の指数関数を必要とする。特許文献1によれば、暗号文の定義を、モンゴメリ乗算手段及び改良された平方乗算法を用いることができるように変更することにより、速度を向上させる。
先行技術文献である特許文献2は、メッセージを暗号化及び復号化するためにRSA法(=リベスト・シャミア・エーデルマンの公開鍵コード法)を用いる暗号化プロセッサ及び暗号化法に言及する。
先行技術文献である特許文献3は、完全な証明書失効ツリー(CRT)パラメータセットよりも小さい記憶スペースを用いた秘密鍵のパラメータ化を与え、かつ、最小パラメータセットよりもよい演算効率を与えることにより、暗号化システム内の秘密鍵を記憶し回復するシステム及び方法を示している。
また、特許文献3は、完全な非CRTパラメータセットよりも小さい記憶スペースを用いた秘密鍵のパラメータ化を与え、かつ、最小パラメータセットよりもよい演算効率を与えることにより、暗号化システム内の秘密鍵を記憶し回復するシステム及び方法を示している。
先行技術文献である非特許文献1は、今日では周知のRSA暗号化アルゴリズムの鍵生成ステップを実行する際に考慮に入れる必要のある問題及び事項を記載している。
この文献では、2つの単純ではあるが効率的な鍵生成アルゴリズムと、単純ではあるガあまり効率的でないアルゴリズムとが評価されている。この文献は、暗号コプロセッサを有するスマートカードを用いて、3つの提示したアルゴリズムに対してどのようにして高速実行を構築するかを説明している。
欧州特許出願公開第0 577 000 A1号明細書 米国特許第4 870 681号明細書 国際公開第02/11360 A2号パンフレット Implementation of Fast RSA Key Generation on Smart Cards、Chenghuai Lu、Andre L.M. dos Santos及びFrancisco R. Pimentel、Symposium on Applied Computing, Proceedings of the 2002 ACM Symposium on Applied Computing, Madrid, Spain, ISBN 1−58113−445−2,第214〜220頁、http://portal.acm.org/citation.cfm?id=508791.508837を参照。
要約すると、チップカード又はスマートカードが一層強力になるにつれて、暗号化に基づく公開鍵はますます重要となる。今のところ、RSAシステムはこのような暗号化の事実上の標準(デファクトスタンダード)である。
一つにはより高度の安全性の結果、また一つには便宜的な理由により、チップカード又はスマートカードは、それ自身の鍵を計算する必要がある。RSA鍵の計算は、ソフトウエアの足跡の点及び演算時間の点の双方から、非常に資源を消費する。
したがって、資源の消費を低減する方法に対する非常に大きな関心がある。ハードウエア反転を用いることが可能な場合には、書き込む必要のあるソフトウエアの量を大幅に低減し、したがって時間を削減する。
上記した欠点及び短所から始まり、特にいくつかの反転が奇数を法とする反転を可能とするのみであるという事実から始まり、説明した従来技術を考慮に入れ、この発明の目的は、偶数を法とした反転を可能とするために、技術分野の項で説明したような回路配置と、従来技術の項で説明したような方法をさらに開発することにある。
この発明の目的は、請求項1の特徴を有する回路配置、及び、請求項5の特徴を有する方法により達成される。この発明の有利な実施形態及び好適な改良はそれぞれの従属形式請求項に開示されている。
この発明は、奇数のみの反転ハードウエアを偶数にも用いる、すなわち、奇数のみを許す少なくとも1つのモジュラー反転器を偶数にも用いるという着想に主として基づく。RSA鍵生成を一次公開鍵アルゴリズムとして、この発明の教示は、偶数も法とする反転を可能とし、よって奇数を法とするRSA鍵生成に対する(従来技術の)反転を偶数を法とするRSA鍵生成に対する(新規な)反転に拡張する。
この発明は、反転器をどのようにして用いて偶数を法とする反転をも行い、これによりRSA暗号化アルゴリズムのための鍵の計算を高速化するかを説明する。好適な実施形態によれば、この発明は、奇数を法とする反転を伴う一連の算術ステップを行うことにより機能する。このアルゴリズムは、最終結果がより強力なハードウエアが製造されたに等しくなるよう構成されている。
さらに、この発明は、マイクロコントローラ、特には少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の少なくとも1つの前記の種類の集積回路を含む内蔵安全コントローラに関する。したがって、上記の方法は、例えば全てのチップカード又はスマートカードの開発に組み入れられることが好ましい。
さらに、この発明は、データ処理装置、特には、例えばチップカード又はスマートカード用の内蔵システムであって、少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の前記の種類の、暗号化演算を行う少なくとも1つの集積回路を含む内蔵システムに関する。
さらに、この発明は、少なくとも1つのコンピュータのメモリに直接読み込み可能なコンピュータプログラム製品であって、このコンピュータプログラム製品がコンピュータ上で実行される際に、上記の種類の方法を実行する少なくとも1つのソフトウエアコード部分を含むコンピュータブログラム製品に関する。
さらに、この発明は、上記の種類の少なくとも1つのコンピュータプログラム製品の電子的な配布に関する。
最後に、この発明は、銀行、オンラインショッピング、セキュリティ等の公開鍵暗号の分野における、前記の種類の少なくとも1つのデータ処理装置、特には、例えばチップカード又はスマートカード内の少なくとも1つの内蔵システム内での、前記の種類の少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の少なくとも1つの集積回路及び/又は前記の種類の方法の使用に関する。
アルゴリズムが軽量であることから、チップカード又はスマートカード等の制限された環境に特に適する。
既に説明したように、この発明の教示を有利な方法で実施するとともに改良するいくつかの選択肢が存在する。このため、それぞれ請求項1及び5に従属する請求項を参照する。この発明のさらなる改良、特徴及び利点は、例示としての好適な実施形態及び添付の図面を参照して以下でより詳細に説明される。
暗号化動作を行う集積回路(IC)を含むデータ処理装置100、すなわちチップカード又はスマートカードの形式の内蔵システムの実施形態は、公開鍵基盤(PKI)システムを参照し、この発明の方法に従って機能する。
ガロア体GF(p)又はGF(2″)のためのハードウエア反転器のいくつかは奇数を法とする反転を可能とするのみであるという事実から始まり、近年のチップカード又はスマートカードは、ハードウエアをRSA鍵生成に不適当とするこの特性を有してもいるということを考慮に入れて、この発明は、奇数を法とする反転を可能とするのみであるハードウエア反転器によりRSAで生成した、偶数を法とする秘密鍵の復号化指数dを計算する算術ステップを行うことにより、このハードウエアをガロア体に拡張することを可能にする。これに関連して、RSA鍵生成等のために表記法を用いることができる。
phiを素数p及びqに関するオイラーのファイ関数とする。すなわちphi=(p−1).(q−1)とする。これに関して、phiは常に偶数であることに留意されたい。eを選択された暗号化指数とする。RSAアルゴリズムの構造から、この数eは常に奇数でなければならない。
数値d、すなわち復号化指数の認定を、式d=e−1 mod(phi)を解くことにより計算することができる。すなわち、dはphiを法とするeの逆数である。したがって、逆数dを計算するには、偶数を法としなければならない。
この問題に対処するために、以下のステップを行う。
(1)a=phi―1 mod(e)を計算する。
(2)y=(a.phi−1)/eを計算する。
(3)y mod(e)を減ずる。
(4)d=phi−yとする。
これは正確な結果を与えるであろうことを数学的に証明できる。さらに、負数を必要としないであろうことも証明できる。また、中間結果に対して上限を計算することができる。
最後に、図1は、この発明に従う方法を実行可能とする、この発明に従う回路配置を含むデータ処理装置、すなわちスマートカード100のハードウエア実装のブロック図を示す。
スマートカード100は、以下の部品を含む。
−例えばISO−7816−3基準に従ってインターフェイス12を介して外界と行う通信の全般的な制御のためのマイクロコントローラ10。マイクロコントローラ10はランダムアクセスメモリ(RAM)/リードオンリメモリ(ROM)内のデータにポインタを設定し、コプロセッサ20を起動する。
−マイクロコントローラ10のプログラムのためのROM30。
−データ及び/又はプログラムの不揮発性記憶のためのプログラマブルROM(PROM)(フラッシュメモリ又は電気的消去可能プログラマブルROM(EEPROM))40。
−データの不揮発性記憶のため、例えば演算中の中間結果の記憶のためのRAM50。及び
−ECC演算、特にECDSA演算又はRSA演算のための特別な高速タスクの実行専用コプロセッサ20。
タスクの準備ができると、制御はマイクロコントローラ10に戻される。
変形例において、この発明は、少なくとも1つのマイクロプロセッサ数値演算ユニット(ALU)を用いてソフトウエアで実行され、制御ロジック及びシフトレジスタによる次数検出を与えるコントローラのプログラムを用いて、加算操作、減算操作、及び/又はシフト操作を与える。
この発明に従う方法を実行可能とする、この発明に従う回路配置を含むデータ処理装置の実施形態のブロック図を概略的に示す。
符号の説明
100 データ処理装置、特には内蔵システム、例えばチップカード又はスマートカード
10 マイクロコントローラユニット
12 マイクロコントローラユニット10のインターフェイスユニット
20 コプロセッサユニット
30 RAMユニット
40 PROM、特にはフラッシュメモリまたはEEPROM
50 RAM

Claims (10)

  1. 少なくとも1つの暗号化演算において少なくとも1つの反転操作を行う回路配置、特には数値演算コプロセッサ等の集積回路であって、
    前記反転操作は、少なくとも1つの偶数を法として行われることを特徴とする回路配置。
  2. (1)phi=(p−1).(q−1)を素数p、qのオイラーのファイ関数として、少なくとも1つの第1補助変数a=phi―1 mod(e)を計算し、
    (2)eを選択した暗号化係数として、少なくとも1つの第2補助変数y=(a.phi−1)/eを計算し、
    (3)y mod(e)を減じ、
    (4)dを復号化係数として、d=phi−yに設定することを特徴とする、請求項1に記載の回路配置。
  3. マイクロコントローラ、特には内蔵安全コントローラであって、請求項1又は2に記載の少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の少なくとも1つの集積回路を含むことを特徴とするコントローラ。
  4. データ処理装置、特には内蔵システム、例えばチップカード又はスマートカードであって、請求項1又は2に記載の少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の少なくとも1つの集積回路を含み、前記回路配置が暗号化演算を実行することを特徴とするデータ処理装置。
  5. 少なくとも1つの暗号化演算において少なくとも1つの反転操作を行う方法であって、
    前記反転操作は、少なくとも1つの偶数を法として行われることを特徴とする方法。
  6. (1)phi=(p−1).(q−1)を素数p、qのオイラーのファイ関数として、少なくとも1つの第1補助変数a=phi―1 mod(e)を計算するステップと、
    (2)eを選択した暗号化係数として、少なくとも1つの第2補助変数y=(a.phi−1)/eを計算するステップと、
    (3)y mod(e)を減ずるステップと、
    (4)dを復号化係数として、d=phi−yに設定するステップとにより特徴づけられる、請求項5に記載の方法。
  7. 前記演算は、RSAアルゴリズム及び/又はECCアルゴリズム、特にはECDSAに基づくことを特徴とする、請求項5又は6に記載の方法。
  8. 少なくとも1つのコンピュータのメモリに直接読み込み可能なコンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータ上で実行される際に、請求項5〜7の少なくとも1項に記載の方法を実行するための少なくとも1つのソフトウエアコード部分を含むことを特徴とするコンピュータブログラム製品。
  9. 請求項8に記載の少なくとも1つのコンピュータプログラム製品の電子的な配布。
  10. 銀行、オンラインショッピング、セキュリティ等の公開鍵暗号の分野における、請求項4に記載の少なくとも1つのデータ処理装置、特には少なくとも1つの内蔵システム、例えばチップカード又はスマートカード内での、請求項1又は2に記載の少なくとも1つの回路配置、特には少なくとも1つの数値演算コプロセッサ等の少なくとも1つの集積回路及び/又は請求項5〜7の少なくとも1項に記載の方法の使用。
JP2008526584A 2005-08-19 2006-08-09 暗号化演算における反転操作を行うための回路配置及び方法 Withdrawn JP2009505148A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05107614 2005-08-19
PCT/IB2006/052744 WO2007020566A1 (en) 2005-08-19 2006-08-09 Circuit arrangement for and method of performing an inversion operation in a cryptographic calculation

Publications (1)

Publication Number Publication Date
JP2009505148A true JP2009505148A (ja) 2009-02-05

Family

ID=37620003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008526584A Withdrawn JP2009505148A (ja) 2005-08-19 2006-08-09 暗号化演算における反転操作を行うための回路配置及び方法

Country Status (6)

Country Link
US (1) US8023645B2 (ja)
EP (1) EP1920324A1 (ja)
JP (1) JP2009505148A (ja)
KR (1) KR20080039497A (ja)
CN (1) CN101243388A (ja)
WO (1) WO2007020566A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014016758A2 (en) * 2012-07-22 2014-01-30 Vanguard Oil Tools & Services Llc A joint element, a casing stream comprising such a joint element and a method for compensating for forces due to thermal effects in a casing string
CN103793199B (zh) * 2014-01-24 2016-09-07 天津大学 一种支持双域的快速rsa密码协处理器
IL231550A0 (en) 2014-03-17 2014-08-31 Nuvoton Technology Corp Saving secure information in external memory
CN107368477B (zh) * 2016-05-11 2021-02-26 北京京东尚科信息技术有限公司 基于HBase协处理器的类SQL查询的方法和系统
AU2016414788B2 (en) * 2016-07-14 2022-03-10 Halliburton Energy Services, Inc. Alignment sub with deformable sleeve
CN116186794B (zh) * 2022-12-30 2024-04-16 海光信息技术股份有限公司 密码协处理器、密码处理方法、芯片和计算机设备

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
EP0239749B1 (de) 1986-03-05 1990-07-25 Holger Sedlak Kryptographie-Verfahren und Kryptographie-Prozessor zur Durchführung des Verfahrens
CA1321649C (en) * 1988-05-19 1993-08-24 Jeffrey R. Austin Method and system for authentication
US5289542A (en) * 1991-03-04 1994-02-22 At&T Bell Laboratories Caller identification system with encryption
IL101623A (en) 1992-04-16 1997-06-10 Fortress U & T 2000 Ltd Digital signature device
DE69320715T2 (de) 1992-06-29 1999-01-21 Thomson Multimedia, Boulogne, Cedex Verfahren zur Ausführung einer Geheimübertragung mit öffentlichem Schlüssel
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5764772A (en) * 1995-12-15 1998-06-09 Lotus Development Coporation Differential work factor cryptography method and system
US6072876A (en) * 1996-07-26 2000-06-06 Nippon Telegraph And Telephone Corporation Method and system for depositing private key used in RSA cryptosystem
JPH1165439A (ja) * 1996-08-09 1999-03-05 Nippon Telegr & Teleph Corp <Ntt> N進表現暗号による通信および認証方法、ならびにそれらの装置、およびn進表現暗号による通信および認証プログラムを格納した記憶媒体
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6724893B1 (en) * 1996-10-11 2004-04-20 The United States Of America As Represented By The National Security Agency Method of passing a cryptographic key that allows third party access to the key
JP3656688B2 (ja) * 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6567793B1 (en) * 1997-12-22 2003-05-20 Christian Bielefeldt Hicks Remote authorization for unlocking electronic data system and method
WO1999035782A1 (en) * 1998-01-02 1999-07-15 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
FR2804561B1 (fr) * 2000-01-31 2002-03-01 France Telecom Procede de communication avec sequestre et recuperation de cle de chiffrement
JP3926532B2 (ja) * 2000-03-16 2007-06-06 株式会社日立製作所 情報処理装置、情報処理方法、及びカード部材
US6959091B1 (en) 2000-07-28 2005-10-25 Atmel Corporation Cryptography private key storage and recovery method and apparatus
US6609141B1 (en) 2000-10-13 2003-08-19 Motorola, Inc. Method of performing modular inversion
US6769062B1 (en) * 2000-10-25 2004-07-27 Ericsson Inc. Method and system of using an insecure crypto-accelerator
US7149311B2 (en) * 2001-02-08 2006-12-12 Lucent Technologies Inc. Methods and apparatus for providing networked cryptographic devices resilient to capture
DE10114157A1 (de) * 2001-03-22 2002-09-26 Deutsche Telekom Ag Verfahren zur rechnergestützten Erzeugung von öffentlichen Schlüsseln zur Verschlüsselung von Nachrichten und Vorrichtung zur Durchführung des Verfahrens
IL142962A (en) * 2001-05-03 2006-07-05 Nds Ltd OSS signing program
FR2828608B1 (fr) * 2001-08-10 2004-03-05 Gemplus Card Int Procede securise de realisation d'une operation d'exponentiation modulaire
US7191333B1 (en) * 2001-10-25 2007-03-13 Cisco Technology, Inc. Method and apparatus for calculating a multiplicative inverse of an element of a prime field
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
US7149763B2 (en) * 2002-09-09 2006-12-12 Gemplus Method for generating a random prime number within a predetermined interval
FR2858496B1 (fr) * 2003-07-31 2005-09-30 Gemplus Card Int Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant
WO2006119184A2 (en) * 2005-05-04 2006-11-09 Tricipher, Inc. Protecting one-time-passwords against man-in-the-middle attacks
US8332921B2 (en) * 2007-01-12 2012-12-11 Wmware, Inc. Enhanced security for user instructions

Also Published As

Publication number Publication date
US8023645B2 (en) 2011-09-20
KR20080039497A (ko) 2008-05-07
CN101243388A (zh) 2008-08-13
EP1920324A1 (en) 2008-05-14
WO2007020566A1 (en) 2007-02-22
US20090028325A1 (en) 2009-01-29

Similar Documents

Publication Publication Date Title
JP4668931B2 (ja) 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
US7908641B2 (en) Modular exponentiation with randomized exponent
JP5449576B2 (ja) 演算装置、演算装置の楕円スカラー倍算方法、楕円スカラー倍算プログラム、演算装置の剰余演算方法および剰余演算プログラム
EP1708081B1 (en) Method and device for calculating a Montgomery conversion parameter
US8548161B2 (en) Crytographically transforming data text
JP5182364B2 (ja) サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法
JP2019515353A (ja) 暗号化べき乗アルゴリズムへのセーフ−エラーフォールトインジェクション攻撃に対する対策
JP2009505148A (ja) 暗号化演算における反転操作を行うための回路配置及び方法
US20020126838A1 (en) Modular exponentiation calculation apparatus and modular exponentiation calculation method
EP1600852B1 (en) Method and apparatus for calculating a modular inverse
JP4351987B2 (ja) モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム
CN1314223C (zh) 密码专用密钥的存储和复原方法及设备
US11502836B2 (en) Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product
US6609141B1 (en) Method of performing modular inversion
US20120039462A1 (en) Rsa signature method and apparatus
TWI630545B (zh) 非模數乘法器、用於非模數乘法的方法及計算裝置
JP6262085B2 (ja) データ処理装置及び復号処理方法
JP3779479B2 (ja) Icカード
JP5179933B2 (ja) データ処理装置
Kim et al. A fast inversion algorithm and low-complexity architecture over GF (2 m)
Kakde et al. Performance analysis of Montgomery multiplier for public key cryptosystem
KR100808953B1 (ko) 모듈러곱셈 방법 및 상기 곱셈방법을 수행할 수 있는스마트카드
JP2007212768A (ja) 楕円曲線暗号における事前計算テーブル作成装置
JP2006091086A (ja) モンゴメリ逆元演算装置を備えた半導体装置およびicカ−ド
JP2011150096A (ja) ペアリング演算装置及び方法

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090901