JP4772775B2 - 暗号演算を行うための方法及び装置 - Google Patents

暗号演算を行うための方法及び装置 Download PDF

Info

Publication number
JP4772775B2
JP4772775B2 JP2007501305A JP2007501305A JP4772775B2 JP 4772775 B2 JP4772775 B2 JP 4772775B2 JP 2007501305 A JP2007501305 A JP 2007501305A JP 2007501305 A JP2007501305 A JP 2007501305A JP 4772775 B2 JP4772775 B2 JP 4772775B2
Authority
JP
Japan
Prior art keywords
factor
bits
secret key
multiplication
binary
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.)
Active
Application number
JP2007501305A
Other languages
English (en)
Other versions
JP2007526703A (ja
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of JP2007526703A publication Critical patent/JP2007526703A/ja
Application granted granted Critical
Publication of JP4772775B2 publication Critical patent/JP4772775B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/523Multiplying 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/58Random or pseudo-random number generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Pinball Game Machines (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)

Description

本発明は、セキュリティ・アプリケーションの枠組み内の装置における、暗号演算を行う方法に関する。特に本発明は、外部のアプリケーションと電子チップの間のトランザクションにおける電子チップの不正行為(fraude)に対する保護の暗号方法に関する。
本発明は、ハード・ワイヤード・ロジックを有する集積回路チップにおける不正行為、特に、電話通信の開始、自動販売機における品物に対する支払い、パーキングメーターからの駐車場所の賃借、公共の交通機関のようなまたは施設(料金所、博物館、図書館など)の利用のようなサービスに対する支払い、のような多様な取り引きで使用されるプリペイドカードに適合するチップ、あるいは、パレットの追跡、大量消費製品、銀行券などに使用される無線周波タグ(「RFIDタグ」)に適合するチップ、の不正行為に対して保護を可能にする点で、非常に有利なアプリケーションを見出す。
現時点では、ハード・ワイヤード・ロジックを有するチップは、さまざまな型の不正行為を経験する傾向がある。不正行為の第1の型は、権限なしでカードを複製することであり、この操作を特徴付ける用語「クローニング(clonage)」が多くの場合使用される。不正行為の第2の型は、カードに付与されたデータ、特にカードに登録されたクレジットの額を修正することである。これらの不正行為を根絶させるために、一方では、認証手段によってカードの認証を保証するために、及び/または、デジタル署名の手段によってデータの認証を保証するために、他方では、暗号化の手段によってデータの機密性を適切であると保証するために、暗号が使用される。暗号には2つのエンティティ(entite)が含まれ、これらは認証の場合には検証者及び検証される対象である。また暗号は、対称あるいは非対称のいずれでもよい。暗号が対称である場合(あるいは「秘密鍵」に基づく場合)には(2つの用語は同意語である)、2つのエンティティは正確に同じ情報、詳しくは秘密鍵を共有する。暗号が非対称である場合(あるいは「公開鍵」に基づく場合)には(2つの用語は同意語である)、2つのエンティティの一方が一対の鍵を所有する。この一対の鍵の一方は秘密鍵であり、他方は公開鍵であって、2つのエンティティに共有される秘密鍵はない。多くのシステムにおいて、特にチップが「ハード・ワイヤード・ロジック」型である場合には、非対称暗号は低速であり費用がかかるために、プリペイド・カードには対称暗号のみが実装される。対称暗号において開発された最初の認証メカニズムは、全てに対して各カードごとに異なっている認証値を1回限り計算することと、その認証値をカードのメモリに蓄積することと、各トランザクションごとに認証値を読み取ることと、トランザクションをサポートするネットワークのアプリケーションであって、既に割り当てられた認証値を蓄積しているか再計算するアプリケーションに問い合わせることにより、認証値を検証することと、からなっている。これらのメカニズムは、所与のカードに対して常に同じであるとして認証値が盗み見され、複製され、不正に再実行される恐れがあるために、十分な保護を保証せず、したがって、このカードのクローンの実現を可能にする。クローンを根絶させるために、カードを認証する受動的なメカニズムは、データの完全性をさらに保証できる能動的な認証メカニズムによって置換される。
能動的な対称認証メカニズムの一般的原理は次の通りである。認証の間に、電子チップ及びアプリケーションは、各認証ごとに決定される引数のリストに適用される関数の結果である認証値を計算する。引数のリストは、ランダム要素、すなわち、各認証ごとにアプリケーションにより決定されるデータ、電子チップに含まれているデータ、及び電子チップとアプリケーションに知られている秘密鍵を有してもよい。電子チップにより計算された認証値がアプリケーションにより計算された認証値と同一である場合には、電子チップが真正である見なされ、電子チップとアプリケーションの間のトランザクションが認証される。
このような認証メカニズムは公知であるが、大多数は、少なくともマイクロプロセッサと同等の計算能力を必要とする。したがって、これらのメカニズムはマイクロプロセッサ・カードには適しているが、はるかに初歩的な計算手段しか有しないハード・ワイヤードロジック・チップに対しては、ほとんど適していない。
能動的な対称認証メカニズムをハード・ワイヤード・ロジック・チップに集積することが可能になったとき、第1の段階に到達した。例えば、フランス特許出願公開第2,826,531号(FR-A-2 826 531)は、このようなメカニズムを具体的に特定することを可能にする方法を説明している。これらのメカニズムにより作られる認証値は一連の擬似乱数ビットと解釈することも可能であり、入力パラメータの少なくとも1つを変化させることによって、認証値を計算するこの方法は、擬似乱数ビットを生成する方法になることが指摘される。
しかし秘密鍵メカニズムは、例えば公衆電話、電子支払端末、あるいは公共交通の改札口(portillon)に存在する、チップの認証を担当している検証ユニットが、そのチップが保持する秘密鍵を知っていることを必要とする。これは重要な問題点を招く。すなわち、誰かが、このユニットによって、アプリケーションとリンクしたどのようなチップであってもそれが真正であると証明することを可能にしようと望めば、このユニットは、すべてのチップの秘密鍵を蓄積していなければならないか、あるいは、このユニットは、母鍵(cle-mere)あるいはマスタ鍵(cle-maitre)とも呼ばれるベース鍵(cle de base)を蓄積していなければならず、それはどのチップからでも秘密鍵を検索することを可能にする。両方の場合において、これらのユニットのそれぞれは、発行されたすべてのチップの秘密鍵の検索を可能にする十分な情報を蓄積し、したがって、発行されたすべてのチップの任意の1つのクローンを作ることが可能な十分な情報を蓄積することになる。検証ユニットの任意の一つに対して侵入に成功することは、アプリケーション全体のセキュリティを破壊するであろう。
したがって、特に、大量の数のチップを使用するアプリケーションにおいて、公開鍵を有する能動的な認証メカニズムをハード・ワイヤード・ロジック・チップに集積化することを可能にすることが緊急に必要である。一般的にはこれは、ハード・ワイヤード・ロジック・チップが非常に安価であるから、ハード・ワイヤード論理チップを使用するアプリケーションの場合である。
公開鍵方式は、一般に、大きな数に関連する多数回の演算を必要とし、したがってシリコン面積が非常に小さくかつその計算ロジックが極めて基礎的な演算のハード・ワイヤリングに限られているハード・ワイヤード・ロジック・チップに集積するにはアプリオリ(先験的)に適していないので、これらのメカニズムは存在しない。さらに、これらの基礎的な演算は、オペランドがビットごとに順次導入され、その最終の値が関数の結果の計算に対する基礎として働く内部レジスタの状態をこの導入が次第に修正する意味で、一般に、直列に実行される。
例えば、演算y=r+s・c(あるいはy=r−s・c)を実行することにより認証値yを計算することは、既知である。ここで、rはランダム要素を示し、sは非対称な1対の鍵(s,p)に属する秘密鍵を示し、cはアプリケーションにより選択されたいわゆる「チャレンジ」値(challenge value)である。チャレンジ値は一定のしきい値を超えることができない。rの値は、それに加算される(あるいはそれから減算される)数よりも常に大きくなければならない。このことは、アプリオリに任意の整数s、cの間の少なくとも1回の乗算の実行を必要とすることを意味する。しかしこのような乗算は、比較的に複雑な演算であり、大部分のハード・ワイヤード・ロジック・チップの範囲外である。
フランス特許出願公開第2,826,531号
本発明の目的は、例えば、チップは乗算演算を明示的には実行する必要がなくかつ得られるセキュリティ・レベルが比較的大きい(例えば約32ビット)認証値のような、暗号値の計算方法を定めることである。このセキュリティ・レベルは、特に金融取引の保護では、非常に広範囲に流布しているセキュリティ・レベルである。
本発明は、セキュリティ・アプリケーションの制御の下に、装置における暗号演算を行う方法を提案する。本方法において、装置に関連する秘密鍵の少なくとも部分を含む2つの因子の間の少なくとも1回の乗算を含む計算によって、暗号値が装置内で生成される。本発明によれば、乗算の2つの因子の第1のものは、2進表現で、決定されたビット数Lを有する。乗算の2つの因子の第2のものは、2進表現で、1に設定された連続するビットをそれぞれ有する2つのかたまりの間ごとに、0に設定された一連の少なくともL−1ビットを有する、1に設定されたいくつかのビットを有するように制約されている。したがって、乗算は複雑なアルゴリズムによって実行される必要がない。第2の因子での1に設定されたビットの位置に応じてそれぞれシフトされた第1の因子の2進バージョンをアセンブルすることにより、実行は十分である。
本発明による方法の他の有益な特徴によれば:
・秘密鍵は、装置と組み合わされた非対称暗号鍵の対の一部分を形成する;
・装置は、暗号値を生成するためのハード・ワイヤード・ロジックを含むチップを有する;
・暗号値の計算は、擬似乱数と乗算の結果との間の加算または減算をさらに含んでいる;
・第1及び第2の因子、ならびに擬似乱数は、擬似乱数が乗算の結果より大きくなるように大きさが定められ、特に、第2の因子での1に設定されたビットの数は、最も大きくて、s1/L以下の最大の整数であるように選択することが可能であり、ここで、s1は、2進表現での擬似乱数のビット数未満の予め定められたしきい値である;
・乗算の2つの因子は、秘密鍵の前記部分に加えてさらに、装置の外部で実行されるセキュリティ・アプリケーションにより装置に供給される数を含んでいる;
・秘密鍵の前記部分は、乗算の第1の因子あるいは第2の因子のいずれかである;
・秘密鍵の前記部分が乗算の第1の因子である場合、前記2進バージョンは、例えば、ビット内の同様のサイズの各区間内に配置され、前記サイズは乗算の第2の因子での1に設定されたビットの数で除算した使用可能なスペースの全サイズに対応し、各2進バージョンは、セキュリティ・アプリケーションにより定められたシフトの関数として、それぞれの各区間内に配置される;
・秘密鍵が乗算の第2の因子である場合、(S−1)/(n−1)ビットの区間の下限と、乗算の第1の因子に割り当てられかつ関連する区間にそれぞれ配置されたビットのブロックの下限とをそれぞれ分離するビットの数を符号化することにより、秘密鍵は装置のメモリ媒体に蓄積することが可能であり、ここでSは秘密鍵のビット数であり、nは秘密鍵の1に設定されたビットの数である;
・変形として、この秘密鍵は、乗算の第1の因子に割り当てられた連続したビットの2ブロックを分離するビットの数をそれぞれ表している、ビット数を符号化することにより、装置のメモリ媒体に蓄積することが可能である;
・秘密鍵の前記部分が乗算の第2の因子である場合、1に設定された秘密鍵のビットの位置を符号化することによって、秘密鍵は装置のメモリ媒体に蓄積される;
・秘密鍵の前記部分が乗算の第2の因子である場合、第1の因子は装置の中で生成される擬似乱数でもよく、暗号値は電子署名として生成される;
・他のアプリケーションにおいて、暗号値は、装置の外部で実行されるセキュリティ・アプリケーションを有するトランザクションにおいて、装置を認証するように生成される。
本発明は、セキュリティ・アプリケーションへのインタフェースの手段と、暗号値を生成するための計算の手段を有し、計算の手段は、装置に関連する秘密鍵の少なくとも部分を含む2つの因子の間の乗算の手段を有する、暗号機能を有する装置をさらに提案する。本発明によれば、乗算の2つの因子のうちの第1のものは、2進表現で、決定されたビット数Lを有し、乗算の2つの因子の第2のものは、2進表現で、1に設定された連続するビットをそれぞれ有する2つのかたまりの間ごとに0に設定された一連の少なくともL−1ビットを有する、1に設定されたいくつかのビットを有するように制約されている。乗算手段は、第2の因子での1に設定されたビットの位置にしたがってそれぞれシフトされた第1の因子の2進バージョンをアセンブルする手段を有する。
本発明による利点は、不正行為に対して装置自身を保護するために暗号を使用して、特に、ハード・ワイヤード・ロジックの電子チップと電子チップの外部のセキュリティ・アプリケーションとの間のトランザクションの間に暗号を使用して、良いレベルの装置のセキュリティを得ることにある。
本発明による他の利点は、小さいサイズである電子チップには実装が困難である費用を要する乗算の手段を必要としないので、実装が簡単なことである。乗算手段は、秘密鍵またはチャレンジのシフトを合計するための加算手段により置換されている。具体的には、2のべき乗の整数の乗算は、2進分解のビットを左へシフトすることになる。
本発明による他の特徴と利点は、添付図面を参照した非制限的な代表的実施形態の下記の説明で、明白であろう。
図1は、装置、特にハード・ワイヤード・ロジックを有する電子チップにおいて、装置の外部で実行されるセキュリティ・アプリケーションの制御下に、暗号演算を実行する方法のフローチャートを示している。
詳しくは、このような方法は、電子チップとアプリケーションの間のトランザクションに適用される。しかし、このような方法は、デジタル署名を構成する暗号値の計算にも使用することができる。
第1の段階1において、この方法は、電子チップに含まれる擬似乱数発生器により、ランダム要素と呼ばれる擬似乱数rを電子チップ内に生成する。ランダム要素rは、トランザクションに特有である。
第2の段階2において、この方法は、x=f(r)であるような関数fに基づいて、ランダム要素rに関連するパラメータxを、電子チップからセキュリティ・アプリケーションへ送信する。ここで、fは、電子チップ及びセキュリティ・アプリケーションには既知の公開鍵に関連している。パラメータxは、前もって計算してチップのメモリに蓄積しておくことが可能であり、各パラメータxは、それぞれ擬似乱数rに関連している。
例として、gがセキュリティ・アプリケーションには既知の数であれば、関数fは、従来のように、x=f(r)=grの形式としてもよい。当業者には同じく公知の他の可能性のあるものは、関数fに、暗号ハッシュ関数h及びアプリケーションに関連するデータD(例えばトランザクション量)を使用することである。すなわち:x=f(r)=h(gr,D)。関数fの他の例も使用可能である。
第3の段階3において、この方法は、後に説明する本発明の方法によって、入力パラメータとして、少なくともトランザクションに特有のランダム要素r及び一対の非対称鍵(s,p)に属する秘密鍵(例えば、p=gs)を有する乗算手段により、電子チップ内で暗号値yを計算する。暗号値は、認証値Vのすべてあるいは一部を構成する。
第4の段階4において、この方法は、認証値Vをアプリケーションに送信する。
第5の段階5において、この方法は、少なくとも公開鍵pを含む公開パラメータでその入力パラメータが構成される検証関数の手段により、セキュリティ・アプリケーションによって認証値Vを検証する。認証値がセキュリティ・アプリケーションによってその有効性が確認されれば、トランザクションは認証される。
本発明は、y=r+f1*f2(あるいは等価的にy=r−f1*f2)のタイプの演算を行うことにより、暗号値yを計算することを目的とする。ここで、rは電子チップに含まれる擬似乱数発生器によって計算されたランダム要素を示し、(f1,f2)は秘密鍵sとセキュリティ・アプリケーションにより提供されるいわゆるチャレンジ数cとを含む一対の因子を示す。因子f1,f2の2進表現は、因子f1は大きさLビットであり、因子f2の1に設定された連続するビットは、常にそのような連続ビットのかたまりの間に一連の0に設定された少なくともL−1ビットを有するように、なっている。
したがって、因子f1,f2の乗算は、第2の因子f2での1に設定されたビットの位置に応じてそれぞれシフトされた第1の因子f1のn個の2進法のバージョンb[1],b[2],…,b[n]の合計になる。個数nは、第2の因子f2での1に設定されたビットの数に依存している。これらのシフトが与えられれば、和
Figure 0004772775
は、乗算の結果を表す2進数にb[h]値をアセンブルすることにより、非常に簡単に実行される。
下記の説明において、本発明による方法の第1の実施形態が説明される。ここでは、因子f1はLビットの秘密鍵sであり、第2の因子f2は、セキュリティ・アプリケーションにより提供される擬似乱数チャレンジcである、したがって、暗号値yは、次式の演算を行うことにより、決定される。
y=r+s*(2i[1]+…+2i[n]
ここで、i[1],…,i[n]は、以下の2つの制約条件を有するアプリケーションにより選択されたn個の整数を示す:
・値rがそれに加算される(あるいは、それから減算される)数より常に大きいように、値i[1],…,i[n]は、すべてs1で示されるしきい値以下でなくてはならず、したがって、前記しきい値はrのビットに対して使用可能なスペースを定める;
・第2の制約条件は、さまざまな値i[1],…,i[n]が、少なくとも秘密鍵のビット・サイズに等しい距離だけ離れていることを必要とする。
したがって、秘密鍵sがLビットで構成されていると、昇順に配置されたさまざまな整数i[1],…,i[n]を仮定すると、セキュリティ・アプリケーションは、i[1]+L≦i[2],i[2]+L≦i[3],…,i[n−l]+L≦i[n],i[n]<s1であるように、これらの値i[1],…,i[n]を提供する。
したがって、第2の因子の1に設定されたビットの数nは、最大で、s1/L以下の最大の整数に選択される。
一般には非常には大きくはないであろうuで示す最大値(例えばu=5あるいは6)は、2つの制約条件によってnの値に課される。nの値は、最大値uと等しくされることが望ましい。
図2は、n=5である本発明による方法の使用例を示している。ダイヤグラムB1は、サイズL+s1ビットの使用可能なスペースEUを有するランダム要素rを表す。ダイヤグラムB2は、rに加算された(あるいはrから減算された)乗算s*c=s*(2i[1]+…+2i[n])の結果を表す。秘密鍵sは、チャレンジcの1に設定されたビットの位置に応じて、シフトされる。したがって、それぞれi[1],i[2],i[3],i[4]及びi[5]ビットだけシフトされた2進バージョンb1からb5が得られる。
整数i[h]のさまざまな値と、セキュリティ・アプリケーションによって固定されない場合には数n自体を推測することは、非常に困難であるから、本発明による利点は、このような方法で得られる、セキュリティが改善することにある。
他の利点は、本発明に基づけば秘密鍵とチャレンジの乗算はシフト(あるいは2進バージョン)をアセンブルすることになり計算は連続的に実行されるので、暗号値yの計算を大幅に複雑することなく、セキュリティの改善が実現されることである。
この方法の第1の変形例によれば、秘密鍵のn個のシフトは、同様のサイズの区間内にすべて配置されることが要求される。このサイズは最大であることが望ましく、このことは、このサイズがn、もしくはこの値が整数でなければこの値未満の最大の整数、で除算した使用可能なスペースEUの全サイズと等しいことを示す。秘密鍵のシフトに対応するビットのブロックと、これらの関連するブロックが位置する区間の下限との間の、アプリケーションにより選択される相違は、j[1],j[2],…,j[n]と示される。
より公式には、kが使用可能なスペースの全サイズ(s1+Lと等しい)とすれば、nは、k個の使用可能なビットの中でばらばらに秘密鍵が出現するように希望する回数である。kはnで除算可能と仮定する(逆の場合には、これが成り立つように、kの値をわずかに増加させる)。
使用可能な全スペースは、次式のように、それぞれk/n個の位置を含む同様のサイズのn個の区間に分解していてもよい。
[0,k/n−1]∪[k/n,2k/n−1]∪ … ∪[(n−1)k/n,k−1]
この変形例を使用して、ランダム要素rに加算可能な全部で((k/n)−L+1)n個の異なる値が存在することを示すことができる。
具体的にいうと、各区間はk/n個の位置を含んでおり、その中でL個が秘密鍵のシフトを書き込むために使用される。したがって、シフトにより使用されるビットのブロックに分配されるために、k/n−L個の空き位置が各区間に残される。このように、1≦h≦nである任意のhに対して、j[h]は、0と(k/n)−Lの間の値であり、(h−1)(k/n)番目の位置とシフトの第1ビットの位置の間のビット数に対応する。したがって、各j[h]に対して、(k/n)−L+1の可能な値が存在する。最後に、n個の要素からなる組(j[1],j[2],…,j[n])の個数は、((k/n)−L+1)nである。
言い換えれば、暗号値yは、次式の演算を行うことにより計算される。
y=r+(2j[1]・s+2k/n+j[2]・s+22k/n+j[3]・s+…+2(n-1)k/n+j[n]・s)
ここで、n個の値j[1],j[2],…,j[n]は、すべてのhに対し、j[h]∈[0,(k/n)−L)であるような方法で、セキュリティ・アプリケーションにより選択される。
したがって、各2進バージョンb[h]は、区間の下限に対して、j[h]ビットだけシフトされる。
図3において、I[h]=[(h−1)k/n,hk/n−1]は、n=5である第1の変形実施形態の特別な場合における、h番目の区間を示す。ダイヤグラムB3は、使用可能なスペースEUを有するランダム要素rを表し、一方、ダイヤグラムB4は、加算された(あるいは減算された)値を表す。したがって、区間I[h]にそれぞれ配置された、秘密鍵sの2進バージョンb[h]、すなわち、b[1],b[2],b[3],b[4]及びb[5]を得る。各2進バージョンb[h]は、関連する区間I[h]の下限に対して、j[h]ビットだけシフトされる。
本発明による方法の第2の変形例によれば、相違点j[1],j[2],…,j[n]の個の値は、秘密鍵の2つのシフトに対応して2つの連続したブロックの間の相違を表すよう方法で、セキュリティ・アプリケーションにより選択される。第1の変形の場合のように、n個の値は、区間[0,(k/n)−L]の中に取ることが可能である。
したがって、暗号の値は、次式の演算を行うことにより計算される。
y=r+(2j[1]・s+2L+j[1]+j[2]・s+22L+j[1]+j[2]+j[3]・s+…+2(n-1)L+j[1]+j[2]+...+j[n]・s)
図4は、n=5である場合の本発明による方法の第2の変形例の使用例を示している。ダイヤグラムB5は、使用可能なスペースEUを有するランダム要素rを表し、一方、ダイヤグラムB6は、加算された(あるいは減算された)値を表す。かくして、それぞれj[1],j[2],j[3],j[4],j[5]ビットだけ相互にシフトされた、秘密鍵sの5つの2進バージョンb[1],b[2],b[3],b[4],b[5]が得られる。
ある場合には、本発明による枠組みから逸脱せずに、チップのハード・ワイヤード・ロジックの複雑さを適度に増加させる犠牲において、チャレンジcの1に設定された2つの連続したビットを分離する必要のある0に設定されるビットの数の制約条件をわずかに緩和することが可能であろう。例えば、装置の秘密鍵s=f1は、n=6を有するLビットの数である場合を考える。チャレンジc=2i[1]+2i[2]+2i[3]+2i[4]+2i[5]+2i[6]の1に設定される2つの連続したビットが、0に設定された少なくともL/2ビットのシーケンスによって常に分離されている条件(すなわち、i[1]+L/2<i[2],…,i[5]+L<i[6]<s1)を課すならば、このチャレンジを次式に示す2項目に分解することは容易である。c=f2+f'2,すなわち、f2=2i[1]+2i[3]+2i[5]、及び、f'2=2i[2]+2i[4]+2i[6]。これらの2つの項目f2,f'2の各々は、本発明による方法における乗算の第2の因子であるために要求される条件を満足する。f2に対しては、i[1]+L<i[3]<i[5]−L、またf'2に対しては、i[2]+L<i[4]<i[6]−L。実行されるべき暗号演算は、y=r+s・f2+s・f'2と書くことが可能であり、2つの乗算s・f2,s・f'2のそれぞれは、本発明によるsのシフトされたバージョンをアセンブルすることにより実行可能である。したがって、ハード・ワイヤード・ロジックは、2個の加算器(あるいは減算器)回路を有しなければならない。
本発明による他の実施形態において、乗算におけるsの役割とcの役割とが入れ替えられる。第1の因子f1は擬似乱数cであり、一方、第2の因子f2は秘密鍵sである。したがって、暗号の値yは、次式の演算を行うことにより、計算される。
y=r+c*(2i[1]+…+2i[n]
ここで、rはランダム要素を示し、cはセキュリティ・アプリケーションにより選択されたチャレンジを示し、n個の値i[1],…,i[n]は、装置に関連する秘密鍵sの非零のビットの位置、あるいは、この秘密鍵の一部の位置に対応する。言い換えれば、秘密鍵sは、2i[1]+2i[2]+…+2i[n]である。n個の値i[1],…,i[n]は、第1の実施形態で示した制約条件と同じ制約条件を満足しなければならない。
このような暗号値の計算方法は、第1の実施形態において既に示したものと同一である。
しかし、秘密鍵s=2i[1]+2i[2]+…+2i[n]は、従来の秘密鍵と同様に、すべての認証に対して同一のままである。この第2の実施形態の使用に関して、以下の2つの場合が生ずる可能性がある:
・秘密鍵は、一定のセキュリティ・レベルL0を必要とする特定のアプリケーションに専用である。この場合には、少なくとも(L0−1)ビットだけ離された非零のビットを有する秘密鍵sを使用することにより、秘密鍵sの構造は実現される;あるいは、
・秘密鍵は、異なるセキュリティ・レベルを必要とするさまざまなアプリケーションで使用される。したがって、最大のセキュリティ・レベルを考慮することが必要である。具体的にいうと、逆の場合には、(L0−1)ビットだけ離された非零のビットを有する鍵の構造は、サイズL1>L0のチャレンジを生じる恐れがあり、したがって、チャレンジのシフトは、もはや互いに素とはならないであろう。したがって、少なくともL−1ビットだけ離された秘密鍵の非零のビットを有する必要がある。ここで、Lは秘密鍵sの使用の間に遭遇する可能性がある最高のセキュリティ・レベルを表す。
秘密鍵を蓄積するための第1の解決策は、秘密鍵全体を蓄積することである。しかし、高レベルのセキュリティによる秘密鍵のサイズを仮定すると、物理的な制約条件、特に電子チップのメモリのサイズは、特に経済的な理由によって、実現可能な蓄積サイズを制限する。
第2の解決策は、秘密鍵の非零ビットの位置のみを蓄積することにより、2i[1]+2i[2]+…+2i[h]形式の秘密鍵の構造から利益を得ることにある。この第2の解決策は、さらに少数のビットを蓄積するように、改良できる。2つの手順が可能である。
S−1がn−1により割り切れると仮定して、Sをn個の非零ビットを有する秘密鍵のサイズであるとする。所望のサイズの秘密を得るために、第1の非零ビットが位置S−1に配置される。その後に、秘密鍵の他のS−1ビットが、(S−1)/(n−1)ビットのn−1個の区間I[1],I[2],…,I[n−1]に切断される。
区間I[h]のそれぞれにおいて、サイズLのチャレンジを表すビットのブロックに割り当てられたビットのブロックを配置する。したがって、各区間は、割り当てられたビットのブロックの左右に広がる(S−1)/(n−1)−L個の未使用のビットを含んでいる。最大で、(S−1)/(n−1)−L個のビットを、区間の下限と割り当てられたブロックとの間に配置することができる。
したがって、非零ビットの位置i[h]を蓄積する代わりに、各区間の下限と考慮している区間に配置された前記割り当てられたビットのブロックとの間に配置されたビットp[h]の数を蓄積することが可能である。
図5は、5個の非零ビットを有する秘密鍵の典型的な記憶装置を例示する。したがって、ビット数p[1],p[2],p[3],p[4](この例では零),p[5]が蓄積される。
第2の手順は、チャレンジに関連するブロックに割り当てられた2つの連続したビットのブロックの間のビットの数と、(第1のブロックが割り当てられた位置より前と、最後のブロックが割り当てられた位置より後の)各終端に配置されたビット数とを蓄積することにある。
図6は、秘密鍵が5個の非零ビットを含む場合のこの手順を示している。このように、値p[l],p[2],p[3],p[4],p[5],p[6]が、電子チップのメモリ媒体に蓄積される。この例は非制限的なものであり、一部の値p[h]は零であってもよい。
本発明の第2の実施形態においても、ある場合には、本発明による枠組みを逸脱することなく、チップのハード・ワイヤード・ロジックの複雑さを適度に増加させる犠牲において、鍵sの1に設定された2つの連続したビットを分離する必要のある0に設定されるビットの数の制約条件をわずかに緩和することが可能である。
本発明による方法は、装置の外部のセキュリティ・アプリケーションの制御下で、これらの2つのエンティティ間のトランザクションにおいて、装置、特にハード・ワイヤード・ロジック電子チップを不正行為から保護するための暗号値の計算に使用可能である。
このような方法は、デジタル署名を構成する暗号値を計算するためにも使用可能である。この場合には、数cいわゆるチャレンジは、セキュリティ・アプリケーションによっては提供されないが、署名されるべきメッセージにしたがって、電子チップにより計算される。
図7は、本発明の第1の実施形態を実現する暗号機能を装置の一例を示している。
電子チップのような装置10は、下記を有する:
・トランザクションに特有のランダム要素rを作る擬似乱数発生器12。ランダム要素rは関連するパラメータxに関係している;
・秘密鍵Sを蓄積するための第1のメモリ16;
・パラメータxを蓄積するための第2のメモリ14;
・それ自体が公知の方法で、外部のセキュリティ・アプリケーションとデータを交換するためのインターフェース24;
・秘密鍵sとチャレンジcの乗算をする回路22;及び
・乗算の結果と発生器12からの擬似乱数を算術的に組み合わせる加算器26(あるいは減算器)。
図7に示される実施形態において、本発明による必要条件によって、乗算回路22は、第1の因子f1、特に秘密鍵sをシフトし、次に得られた結果をビットごとに、順次、加算器26に転送する。
並行して、擬似乱数発生器12は、ランダム要素rをビットごとに、順次、加算器26に転送する。
かくして加算器26は、ランダム要素rと乗算回路22により供給される結果をビットごとに順次加算する。
装置10に含まれるさまざまな手段は、ハード・ワイヤード・ロジックとして実現される。
このような装置10は、図8に説明するように、例えばクレジットカードの形式で、媒体28の上に搭載される。媒体28は、例えば、セキュリティ・アプリケーション34を収容する読み取り装置30の中に挿入することができる。
典型的なアプリケーションにおいて、読み取り装置30の中に媒体28を挿入すると、セキュリティ・アプリケーション34は自動的に始動して、電子チップを呼び出し、電子チップにデータ、特にチャレンジcを送信する。電子チップは、本発明による方法によって計算された暗号値y(あるいはV)を電子チップに供給することにより、電子チップ自身を認証する。図1において説明したように、rに関連するパラメータxは、セキュリティ・アプリケーションに転送される。
値x及びV(あるいはy)に基づいて、次にセキュリティ・アプリケーションは検証に進む。
従来の方法では、パラメータxがx=grの形式である場合には、セキュリティ・アプリケーションにより満足される方程式は、暗号値がy=r+scの形式のときには、gy=x・pcの形式であることがあることができ、暗号値がy=r−scの形式のときには、gy・pc=xの形式であることができる。
パラメータxがハッシュ関数(x=h(gr,D))を表す場合には、暗号値がy=r+scの形式である場合は、検証方程式は、従来のように、h(gy/pc,D)=xである。検証方程式がいかなる除算も含まないように、すなわちh(gy・pc,D)=xであるように、y=r−scの形式の暗号の値が使用されることが望ましい。
認証値の有効性が確認されると、チップの認証は正しく、セキュリティ・アプリケーションは、そのことを電子チップに通知する。セキュリティ・アプリケーションと電子チップの間のトランザクションは、したがって、認証される。
暗号認証の実施形態を説明するフローチャートである。 本発明の方法の一実施形態を示す図である。 本発明の方法の第1の変形実施形態を示す図である。 本発明の方法の第2の変形実施形態を示す図である。 本発明に基づく、秘密鍵を蓄積する第1の変形例を示す図である。 本発明に基づく、秘密鍵を蓄積する第2の変形例を示す図である。 本発明による第1の実施形態を実現する、暗号機能を有する装置の一例を示す図である。 本発明に基づく暗号機能を有する装置の使用法を例示する図である。

Claims (23)

  1. セキュリティ・アプリケーション(34)の制御下に、第1の因子(f 1 )と第2の因子(f 2 )との2つの因子の間の少なくとも1回の乗算を含む計算によって暗号値(y)が装置内で作られる、前記装置における暗号演算を行う方法であって
    前記第1及び第2の因子の一方は、前記装置に関連する秘密鍵(s)の少なくとも一部分を含み、
    記第1の因子は、第1の2進表現で決定されたビット数Lを有し、前記第2の因子は、第2の2進表現で、1に設定された複数個(n)のビットを有し、ここで、1に設定されたビットと後続する1に設定されたビットとの間ごとに、0に設定された一連の少なくともL−1ビットを有
    前記方法は、
    前記装置内に配置された乗算回路によって、前記第2の因子での1に設定された前記ビットの位置に応じて前記第1の因子をシフトすることによって、前記第1の因子の複数個(n)の連続する2進バージョン(b[1],b[2])を計算することと、
    前記乗算回路によって、前記2つの因子の乗算の結果を表す2進数を得るために、前記第1の因子の連続する2進バージョンを加算することにより前記少なくとも1回の乗算を実行することと、
    を有する方法。
  2. 前記秘密鍵(s)は、前記装置(10)に関連する非対称暗号鍵対の一部を構成する、請求項1に記載の方法。
  3. 前記装置(10)は、前記暗号値を作るためのハード・ワイヤード・ロジックを含むチップを有する、請求項1または2に記載の方法。
  4. 前記暗号値の前記計算は、さらに、擬似乱数(r)への前記2つの因子の乗算の結果を表す前記2進数の加算、または、擬似乱数(r)からの前記2つの因子の乗算の結を表す前記2進数の減算を含む、請求項1乃至3のいずれか1項に記載の方法。
  5. 前記第1及び第2の因子( 1 2 )及び前記擬似乱数(r)は、前記擬似乱数が前記2つの因子の乗算の結を表す前記2進数より大きくなるように大きさが定められる、請求項4に記載の方法。
  6. 前記第2の因子での1に設定されたビットの数は、最も大きくて、s1/L以下の最大の整数であるように選択され、ここで、s1は2進表現での前記擬似乱数(r)のビット数未満の予め定められたしきい値である、請求項5に記載の方法。
  7. 前記乗算の前記2つの因子は、前記秘密鍵(s)の前記部分に加えてさらに、前記装置の外で実行された前記セキュリティ・アプリケーションによって前記装置に供給される数(c)を含む、請求項1乃至6のいずれか1項に記載の方法。
  8. 前記乗算の前記2つの因子は、前記秘密鍵(s)に加えてさらに、前記装置によって供給された数(c)を含む、請求項1乃至6のいずれか1項に記載の方法。
  9. 前記第1の因子(f 1 )は、前記秘密鍵(s)の前記少なくとも一部分ある、求項1乃至8のいずれか1項に記載の方法。
  10. 前記連続する2進バージョンは、前記第2の因子(f 2 )の1に設定されたビットの位置に応じて、ビットサイズのそれぞれの区間でシフトされ、前記第2の因子(f 2 の1に設定されたビットの数で除算した、前記乗算回路内の使用可能なスペース(UE)の全サイズに前記サイズは対応する、請求項9に記載の方法。
  11. 前記第2の因子(f 2 )は、前記秘密鍵(s)の前記少なくとも一部分ある、請求項1乃至8のいずれか1項に記載の方法。
  12. 前記秘密鍵(s)は、1に設定された前記秘密鍵のビットの前記位置を符号化することにより、前記装置のメモリ媒体内に蓄積される、請求項11に記載の方法。
  13. 前記秘密鍵(s)は、前記2つの因子の乗算の結果を表す前記2進数において、(S−1)/(n−1)ビットの区間の下限を、前記区間に関連する前記第1の因子( 1 の連続する2進バーションの下限から分離するビットの数(j[2],j[3])を符号化することにより、前記装置のメモリ媒体(16)内に蓄積され、ここで、Sは前記秘密鍵のビット数であり、nは前記秘密鍵の1に設定されたビットの数である、請求項11または12に記載の方法。
  14. 前記秘密鍵(s)は、前記2つの因子の乗算の結果を表す2進数での前記第1の因子( 1 連続する2進バージョンの2を分離する前記ビットの数をそれぞれ表している、ビット(j[2],j[3])を符号化することにより、前記装置のメモリ媒体(16)に蓄積される、請求項11または12に記載の方法。
  15. 前記暗号値(y)は、前記装置の外で実行される前記セキュリティ・アプリケーションを有するトランザクションにおいて、前記装置を認証するように生成される、請求項1乃至14のいずれか1項に記載の方法。
  16. 前記暗号値(y)は電子署名として生成される、請求項1乃至14のいずれか1項に記載の方法。
  17. セキュリティ・アプリケーション(34)に対するインタフェースの手段(24)と、暗号値(y)を生成するための計算の手段(12,22,26)とを有し、前記計算の手段は、第1の因子(f 1 )及び第2の因子(f 2 )を2つの因子として前記第1の因子(f 1 )に前記第2の因子(f 2 )を乗算する乗算回路(22)を有する、暗号機能を備える装置であって
    前記第1及び第2の因子の一方は、前記装置に関連する秘密鍵(s)の少なくとも一部分を含み、
    記第1の因子は、第1の2進表現で決定されたビット数Lを有し、前記第2の因子は、第2の2進表現で、1に設定された複数個(n)のビットを有し、ここで、1に設定されたビットと後続する1に設定されたビットとの間ごとに、0に設定された一連の少なくともL−1ビットを有
    前記乗算回路(22)は、前記第2の因子(f 2 での1に設定された前記ビットの位置にしたがって前記第1の因子をシフトすることによって前記第1の因子(f 1 複数個の連続する2進バージョン(b[1],b[2])計算し、前記2つの因子の乗算の結果を表す2進数を得るために、前記第1の因子の前記複数個の連続する2進バージョンを加算するように構成されている、装置。
  18. 擬似乱数(r)を生成する手段(12)をさらに有し、前記計算の手段は、前記2つの因子の乗算の結果を表す前記2進数を前記擬似乱数(r)に加算し、または前記擬似乱数(r)から前記2つの因子の乗算の結果を表す前記2進数を減算するための手段(26)を有する、請求項17に記載の装置。
  19. 前記第1及び第2の因子( 1 2 )及び前記擬似乱数(r)は、前記擬似乱数が前記2つの因子の乗算の結を表す前記2進数より大きくなるように大きさが定められる、請求項18に記載の装置。
  20. 前記計算の手段(12,22,26)は、ハード・ワイヤード・ロジックとして具体化される、請求項17乃至19のいずれか1項に記載の装置。
  21. 前記第1の因子(f 1 )は、前記秘密鍵(s)の前記少なくとも一部分ある、請求項17乃至20のいずれか1項に記載の装置。
  22. 前記第2の因子(f 2 )は、前記秘密鍵(s)の前記少なくとも一部分ある、請求項17乃至20のいずれか1項に記載の装置。
  23. 前記秘密鍵(s)で1に設定された前記ビットの前記位置を符号化するために、データを蓄積するように適合されたメモリ(16)をさらに有する、請求項22に記載の装置。
JP2007501305A 2004-03-02 2005-02-24 暗号演算を行うための方法及び装置 Active JP4772775B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0402146 2004-03-02
FR0402146A FR2867289A1 (fr) 2004-03-02 2004-03-02 Procede et dispositif pour accomplir une operation cryptographique
PCT/FR2005/000443 WO2005096135A2 (fr) 2004-03-02 2005-02-24 Procede et dispositif pour accomplir une operation cryptographique

Publications (2)

Publication Number Publication Date
JP2007526703A JP2007526703A (ja) 2007-09-13
JP4772775B2 true JP4772775B2 (ja) 2011-09-14

Family

ID=34854982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007501305A Active JP4772775B2 (ja) 2004-03-02 2005-02-24 暗号演算を行うための方法及び装置

Country Status (9)

Country Link
US (1) US7822199B2 (ja)
EP (1) EP1721246B1 (ja)
JP (1) JP4772775B2 (ja)
KR (1) KR101117680B1 (ja)
CN (1) CN100561422C (ja)
AT (1) ATE419577T1 (ja)
DE (1) DE602005012060D1 (ja)
FR (1) FR2867289A1 (ja)
WO (1) WO2005096135A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005348306A (ja) * 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム
US8923519B2 (en) * 2009-05-29 2014-12-30 Alcatel Lucent Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
EP2697732B1 (en) 2011-04-11 2015-06-24 Hewlett-Packard Development Company, L.P. Mass serialization
KR101501508B1 (ko) * 2013-09-16 2015-03-12 김정훈 데이터 암호화를 통한 인증방법 및 시스템
DE102016104771A1 (de) * 2016-03-15 2017-10-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zum Erzeugen einer Authentifizierungsnachricht, Verfahren zum Authentifizieren, Authentifizierungsgerät und Authentifizierungsbasisgerät

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330470A (ja) * 1999-03-15 2000-11-30 Matsushita Electric Ind Co Ltd べき乗演算装置、べき乗剰余演算装置、楕円べき倍点演算装置、並びのそれらの方法、記録媒体
JP2002207429A (ja) * 2000-11-21 2002-07-26 Matsushita Electric Ind Co Ltd 効率的な冪乗法および装置
JP2003535538A (ja) * 2000-05-31 2003-11-25 フランス テレコム スマートカード用暗号化方法と装置、及び超小型回路を有するスマートカード

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4878027A (en) * 1987-08-03 1989-10-31 Hewlett-Packard Company Direct frequency synthesizer using powers of two synthesis techniques
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US5309382A (en) * 1992-10-01 1994-05-03 Silicon Graphics, Inc. Binary shifter
FR2726667B1 (fr) * 1994-11-08 1997-01-17 Sgs Thomson Microelectronics Procede de mise en oeuvre de multiplication modulaire selon la methode montgomery
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
ATE548819T1 (de) * 1998-06-03 2012-03-15 Cryptography Res Inc Symmetrisches kryptographisches rechenverfahren und vorrichtung zur verlustminimierung bei chipkarten und anderen verschlüsselungssystemen
EP1084548B1 (en) * 1998-06-03 2008-12-17 Cryptography Research Inc. Secure modular exponentiation with leak minimization for smartcards and other cryptosystems
FR2806858B1 (fr) * 2000-03-22 2002-05-03 France Telecom Procede cryptographique de protection contre la fraude
US6691491B2 (en) * 2000-08-18 2004-02-17 Pacmac, Inc. Vertical form, fill and seal packaging machine
FR2826531B1 (fr) * 2001-06-26 2003-10-24 France Telecom Procede cryptographique pour la protection d'une puce electronique contre la fraude
FR2828780B1 (fr) * 2001-08-20 2004-01-16 France Telecom Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
GB0127205D0 (en) 2001-11-13 2002-01-02 Ibm Method and system for authentication of a user
US7062043B1 (en) * 2002-06-28 2006-06-13 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using coefficient splitting
US7724898B2 (en) * 2002-10-17 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Cryptography using finite fields of odd characteristic on binary hardware
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330470A (ja) * 1999-03-15 2000-11-30 Matsushita Electric Ind Co Ltd べき乗演算装置、べき乗剰余演算装置、楕円べき倍点演算装置、並びのそれらの方法、記録媒体
JP2003535538A (ja) * 2000-05-31 2003-11-25 フランス テレコム スマートカード用暗号化方法と装置、及び超小型回路を有するスマートカード
JP2002207429A (ja) * 2000-11-21 2002-07-26 Matsushita Electric Ind Co Ltd 効率的な冪乗法および装置

Also Published As

Publication number Publication date
EP1721246A2 (fr) 2006-11-15
KR20060132923A (ko) 2006-12-22
EP1721246B1 (fr) 2008-12-31
US7822199B2 (en) 2010-10-26
CN100561422C (zh) 2009-11-18
US20080137844A1 (en) 2008-06-12
WO2005096135A8 (fr) 2005-12-08
DE602005012060D1 (de) 2009-02-12
WO2005096135A3 (fr) 2006-04-06
FR2867289A1 (fr) 2005-09-09
WO2005096135A2 (fr) 2005-10-13
CN1926508A (zh) 2007-03-07
KR101117680B1 (ko) 2012-04-02
ATE419577T1 (de) 2009-01-15
JP2007526703A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
JP4659149B2 (ja) 電子チップの不正行為に対する保護の非対称暗号通信法
US8374345B2 (en) Data processing system and data processing method
US9258296B2 (en) System and method for generating a strong multi factor personalized server key from a simple user password
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
EP2063375B1 (en) Authentication system and method using electronic tags
CN113765657A (zh) 一种密钥数据处理方法、装置及服务器
US20120210406A1 (en) Forming credentials
US7000110B1 (en) One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device
JP4772775B2 (ja) 暗号演算を行うための方法及び装置
US20060143450A1 (en) Method and apparatus for authenticating a password
Mana et al. An efficient software protection scheme
JP2002208925A (ja) 可変認証情報を用いる資格認証方法
Buccafurri et al. Implementing disposable credit card numbers by mobile phones
JP4841790B2 (ja) 不正行為に対する保護のための暗号通信方法
KR20010024912A (ko) 컴퓨터용 타원 곡선 암호화 방법 및 장치
JP2004531163A (ja) 不正行為に対する電子チップの保護のための暗号通信方法
EP1331753A2 (en) Method and apparatus for simultaneously establishing user identity and group membership
EP1269431A1 (fr) Procede de protection d'une puce electronique contre la fraude
Lim A PingPong One-Time-Password system in Java application

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

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: 20110525

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110622

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4772775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250