JP2005508514A - 公開鍵を用いた暗号化タスク実行方法 - Google Patents

公開鍵を用いた暗号化タスク実行方法 Download PDF

Info

Publication number
JP2005508514A
JP2005508514A JP2003514741A JP2003514741A JP2005508514A JP 2005508514 A JP2005508514 A JP 2005508514A JP 2003514741 A JP2003514741 A JP 2003514741A JP 2003514741 A JP2003514741 A JP 2003514741A JP 2005508514 A JP2005508514 A JP 2005508514A
Authority
JP
Japan
Prior art keywords
integer
entity
public key
digital processing
power
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
Application number
JP2003514741A
Other languages
English (en)
Other versions
JP4354808B2 (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 JP2005508514A publication Critical patent/JP2005508514A/ja
Application granted granted Critical
Publication of JP4354808B2 publication Critical patent/JP4354808B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

検証プロトコルにおいてベリファイアのタスクを軽減すること。本発明は、公開鍵を用いた暗号化タスクの実行方法に関する。本発明の方法は、メッセージ認証、識別または電子サインメカニズムを組み込む安全な電子トランザクションにおいて、エンティティBを具備し、ベリファイアの計算負荷を軽減するために使用することができる。前記方法は、検証ステップに関するベリファイアの確信レベルを減じることなく、必ずしも信頼できない外部のエンティティCに計算の一部を委任することにある。更に具体的には、本方法は、少なくともステップ6が外部のエンティティCによって実行できるように、検証タスクを少なくとも二つのステップ6および8に分けることにある。特に、本方法は、RSA電子サインシステムに適合すると共に、別々のアルゴリズムに基づくメッセージ認証プロトコルに適合する。

Description

【技術分野】
【0001】
本発明の技術分野は暗号化の分野である。暗号化は、2又はそれ以上のエンティティ(entities)間のトランザクションを保護することにおいてアプリケーションを見出す。これらのアプリケーションの中から、メッセージ暗号化方法、識別(identification)方法、電子サイン(electronic signing)方法、あるいはメッセージ認証方法が見出される。暗号化方法は、本来、受信者のみが解読できるような方法でメッセージを暗号化することにある。識別方法は、本来、送信エンティティ(sending entity)の身元(identity)を検証することにある。電子サイン方法は、本来、メッセージがそのメッセージを生成したエンティティによってサインされたというようなものであることを検証することにある。メッセージ認証方法は、本来、受信されたメッセージが既知の身元の送信エンティティによって実際に送信されたことを検証することにある。
【0002】
さらに詳しくは、本発明の技術分野は、いわゆる公開鍵(public key)暗号化の分野である。暗号化方法は、多くの場合プローバ(prover)と呼ばれる第1エンティティが、公開鍵が関連づけられた秘密鍵(private key)を用いて第1デジタル操作を秘密に実行する例で知られている。これらの操作の1又はそれ以上の実行結果は、多くの場合ベリファイア(verifier)と呼ばれる第2エンティティに伝送される。そして、ベリファイアは、第1操作が秘密鍵を用いて実際に実行されたことを検証する第2操作を、公開鍵を用いて実行する。これらの方法は、メッセージを認証またはサインするため、または他に第1エンティティを認証するために有用であり、後の例では識別(identification)について述べる。逆に、暗号化方法はまた、第2エンティティが公開鍵を用いてメッセージを暗号化することから始めることで知られている。そして、関連づけられた秘密鍵を保持する第1エンティティのみがそのメッセージを解読することができる。
【0003】
いわゆるゼロ知識暗号化方法(zero knowledge cryptographic methods)において、検証は、立証された方法で且つ科学団体によって完全に妥当であると認知された前提の下で、プロトコルに従って進行し、秘密鍵については一切明らかにしない。
本発明がアプリケーションを見出すことに関する公知の方法のうち、RSA(Rivest, Shamir, Adleman)アルゴリズムまたはいわゆる離散対数問題(discrete logarithm problem)に基づくものについて述べられるであろう。
【背景技術】
【0004】
公開鍵暗号化は、とりわけ、例えばバンクカード(bank card)または電子財布(electronic purse)による電子決済(electronic payment)に有用である。近接決済(proximity payment)の場合においては、決済端末は全く同時刻に公共の場に設置されていなければならならず、従って公開鍵暗号化方法の使用を促し、そして、安価でなければならないことにより、限られた計算能力を有するチップの使用を促す。オンライン決済の場合においては、業者のサーバまたは決済サーバ(または他に仲介サーバ)は、或る時刻に大量の検証(verification)を同時に実行させられる可能性がある。双方の場合において、検証タスク(verification task)、即ち公開鍵を使用する暗号化タスクを軽減することを可能にする解決策を見つけることが望ましい。
【0005】
公知の方法において、公開鍵暗号化は、極めて大きな整数の取り扱いから逆関数を取り出すことにおける整数の理論による困難性に基づいている。欠点は、十分なセキュリティを保証するために、公開鍵の使用が通常大きな数による相当量のユークリッド除算および相当量の乗算を必要とすることであり、その演算(operation)は対応する量の計算資源を消費する。
【0006】
ベリファイア(verifier)のより大きな又はより小さな作業負荷の評価のような様々な評価基準の関数に従って検証(verification)のレベルを調節することを考えることは可能である。この解決策に関する問題は、この検証(verification)に合うかもしれない確信(conviction)が同じ割合で修正されることである。しかしながら、あるアプリケーションは、強い確信(strong conviction)を検証(verification)に合わせる能力を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の第1の目的は、送信エンティティ及びまたはこのエンティティによって送信されたデータの信憑性について後(the latter)の確信のレベルを減じることなく、実行されるべき計算量を低減することにより、検証プロトコル(verification protocols)においてベリファイアのタスクを軽減することである。
【0008】
本発明の第2の目的は、限られた計算能力を有する超小型回路を用いて、削減された時間で伝送を実行することを可能にすることである。
【課題を解決するための手段】
【0009】
これを達成するため、本発明は、秘密鍵を与えられた第1エンティティと第2エンティティとの間で交換される少なくとも一つのデジタルデータアイテムに関する公開鍵を用いて暗号化タスクを実行する方法に関する。本方法は、上記暗号化タスクが、少なくとも、
前記データアイテムの部分的イメージを得るために前記公開鍵の全部または一部を用いてオープンデジタル処理に前記データアイテムを委ねる仲介エンティティによって実行される第1ステップと、
前記データアイテムに関する前記暗号化タスクを達成するような方法で前記公開鍵の全部または一部を用いてパブリックデジタル処理に前記部分的イメージを委ねる第2エンティティによって実行される第2ステップと、
の二つのステップに分けられることで特徴づけられる。
【0010】
本方法は、第2エンティティからなるベリファイアが、その一部を仲介エンティティに委任することによってそれ自身の作業負荷を低減するために、ベリファイアに利用可能なものよりも多くの計算手段を与えられるか、ベリファイアよりも少ないトランザクションに参加することを可能にする。
【0011】
デジタル処理は、自由にアクセス可能である点においてオープンである。後のエンティティのエンティティ(the latter entity)が公開鍵を用いた暗号化タスクにおいて部分的に介在し、そしてもし仲介エンティティが部分的イメージを害したとすれば、暗号化タスクの失敗をもたらし、第2エンティティが暗号化タスクを終了するので、仲介エンティティは、ベリファイアが関係している限り、信頼できるエンティティである必要はない。暗号化タスクが検証(verification)である場合、検証が承認(confirm)されたか拒否(deny)されたかどうかによって、yesまたはnoで終了する。この場合、仲介エンティティは、noをyesに変えることはできない。第1ステップが公開鍵の全部または一部を用いて実行され、そしてオープンデジタル処理に委ねられたデータアイテムがまた第1エンティティにより秘密デジタル処理に委ねられるので、仲介エンティティとのやりとりはオープンワールド(open world)内でなされてもよい。
【0012】
有利に、本方法は、第2エンティティが駐在する物理装置とは別個の物理装置に仲介エンティティが駐在することで特徴づけられる。
【0013】
そして第2エンティティは、第1エンティティから受信したデータアイテムを、仲介エンティティを受け入れる任意のパワフルな計算装置に伝送する。計算装置は部分的イメージを第2エンティティに返す。オープンネットワーク上では、仲介エンティティは、第1エンティティから直接的にデータアイテムを受信する委任されたサーバ(プロキシサーバ)で受け入れられる。
【0014】
さらに有利に、第2エンティティが、多くの第1エンティティに関して多くの暗号化タスクを実行するために適用される場合、本方法は、第1エンティティが駐在する物理装置に仲介エンティティが駐在することで特徴づけられる。
【0015】
セキュリティ特性(security properties)を損なうことなく作業負荷の一部をベリファイア(verifier)からプローバ(prover)に移すことは、初期プロトコル(initial protocol)の特別な変形を特定することに等しい。
【0016】
さらに詳しくは、本発明は、前記暗号化タスクが、第2エンティティによる第1エンティティの識別(identification)を含み、第1整数であって第1エンティティにおける秘密デジタル処理に委ねられる前記デジタルデータアイテムが、伝送される第2整数を与え、且つ、第2整数を受信した第2エンティティから受信した第3整数を用い且つ秘密鍵を用いて第4の整数を与えることで特徴づけられ、且つ、この処理において、
オープンデジタル処理は、本質的に、公開鍵の第1部分を用いて前記第4整数を第5整数に変換することにあり、
パブリックデジタル処理は、本質的に、前記第1エンティティの識別に有利に完結する値が前記第2整数に等しい場合に、前記第1エンティティの識別に有利に完結する値を得るために、前記公開鍵の第2部分を用いて前記第5整数を変換することにあることで特徴づけられる。
【0017】
別に、本発明は、さらに詳しくは、前記暗号化タスクが、電子サイン(electronic signature)の検証(verification)を含み、秘密鍵を用いて第1エンティティにおける秘密デジタル処理に委ねられる数である前記デジタルデータアイテムがサイン(signature)を与えることで特徴づけられ、且つ、
オープンデジタル処理は、本質的に、前記公開鍵の第1部分を用いて前記サインをサイン部分イメージ(signature partial image)に変換することにあり、
パブリックデジタル処置は、本質的に、正当なサイン(valid signature)に有利に完結する値が前記数に等しい場合に、正当なサイン(valid signature)に有利に完結する前記値を得るために、前記公開鍵の第2部分を用いて前記サイン部分イメージを変換することにあることで特徴づけられる。
【0018】
さらに別に、本方法は、さらに詳しくは、前記暗号化タスクが、第2エンティティによるメッセージ認証を含み、第1エンティティによって伝送されたメッセージを含み、第1エンティティにおける秘密デジタル処理に委ねられる第1整数である前記デジタルデータアイテムが、第3整数を得るためにメッセージと組み合わせてハッシュ関数(hush function)に委ねられる第2整数と、伝送される第3整数およびメッセージと、第3整数を受信した第2エンティティから受信した第4整数を用い且つ秘密鍵を用いて第1エンティティにおける秘密デジタル処理に委ねられて第5の整数を与える第1整数とを与え、且つ、
オープンデジタル処理は、本質的に、公開鍵の全部または一部を用いて前記第5整数を第6整数に変換することにあり、
パブリックデジタル処理は、本質的に、メッセージと組み合わせてハッシュ関数(hush function)に委ねられる第1値を得るために公開鍵の全部または一部を用いて前記第6整数を変換することにあり、正当なメッセージ認証(valid message authentication)に有利に完結する第2値が前記第3整数に等しい場合に、正当なメッセージ認証(valid message authentication)に有利に完結する前記第2値を与えることで特徴づけられる。
【0019】
本発明の他の詳細および利点は、添付図面を参照して次に述べられる本発明の実施から一層よく理解されるであろう。その添付図面において、図1は、電子サイン方法における本発明の代表的実施を示し、図2から4は、識別方法における本発明の代表的実施を示し、図5は、認証方法における本発明の代表的実施を示す。
【発明を実施するための最良の形態】
【0020】
図1は、電子サイン(electronic signing)方法における本発明の第1の代表的実施を示す。電子サインの本方法は、例えば、Rivert、ShamirおよびAdlemanにより説明されたRSAサインアルゴリズム(“A method for obtaining digital signatures and public-key cryptosystems”, CACM, Vol.21 No.2, Feb. 1978, pp.120-126)を使用する。公知の方法において、RSAアルゴリズムは、ペア(n,v)からなる公開鍵(public key)の使用および秘密鍵(private key)sの使用を基にしている。ここで、nは、通常、秘密が保持された二つの素数pおよびqの積(product)であり、vは、積(p−1)(q−1)についての素数である。
【0021】
デジタル形式において、2進法の文字列(binary string)からなるメッセージmは、この点について整数と考えられる。メッセージmに電子的にサインするためのステップ1において、通常、第1エンティティ(first entity)Aは、nよりも小さな整数mを得るために、ハッシュ関数Hをメッセージmに適用し、それからハッシュ関数の結果のフォーマッティング(formatting)をする。このフォーマッティングは、通常、数nを符号化するビット数に等しいビット数で整数がコード化されるような方法で、ハッシュ関数の結果として生じる2進数ワード(binary word)に全てゼロではないビットを付け加わえる。
【0022】
エンティティAは、次に、整数mの累乗sモジューロnに等しい電子サイン(electronic signature)zを生成する。電子サインzは、従って累乗sに増加された整数mを数nによりユークリッド除算した余りに等しい。数nは極めて大きく且つエンティティAのみが値sを知っているので、実際にはA以外のエンティティが次の式を満足する整数zを生成することは不可能である。
z=(m(modulo n)
ステップ1は、メッセージmおよびその電子サインzを送信して終了する。
【0023】
第2エンティティ(second entity)によるメッセージmおよびその電子サインの受信は、ステップ3を起動するトランジション(transition)2を有効にする。ステップ3では、エンティティBは、数m*を局所的に再取得するために、ハッシュ関数Hをメッセージmに適用する。
【0024】
本発明によれば、ステップ4は、公開鍵の値vを次の形式に分解する。
a・b+c=v
ここで、整数aおよびbは1よりも厳密に大きい。整数cは例えば余りであり、もしそれが存在すれば、vをbでユークリッド除算したものである。
【0025】
仲介エンティティCによるサインzの受信は、ステップ6を起動するトランジション5を有効にする。ステップ6において、エンティティCは、サインzモジューロnのa乗に等しいサイン部分値(signature partial value)z’を生成する。ステップ6は、サイン部分値z’を送信して終了し、そして必要であれば、整数bおよびcの値を送信して終了する。
【0026】
エンティティBによるサイン部分値z’の受信並びに値bおよびcの受信は、ステップ8を起動するトランジション7を有効にする。ステップ8において、エンティティBは、c乗に増加されたサイン値zと、b乗に増加(rise)されたサイン部分値z’のプロダクトモジューロnに等しい整数z”を生成する。ここで、通例の慣習は、1に等しいゼロイクスポーネント(zero exponent)を用いて累乗(power)を定義する。
【0027】
次に、エンティティBは、整数z”が整数mに等しいかどうかをステップ8においてテストする。この場合、受信されたメッセージmは、実際にエンティティAによってサインされたものである。
【0028】
具体的に言うと、二つの整数のnによる除算の二つの余りの積のnによる除算の余りが、これら二つの整数の積のnによる除算の余りに等しいとすれば、次のことが得られる。
Figure 2005508514
【0029】
セキュリティがステップ6により減少される可能性が少ないか又はないので、仲介エンティティCは、信頼のあるエンティティである必要はない。具体的に言うと、mの値について、累乗aモジューロnにサイン値zを増加(rise)することによる以外に、mに等しいz”の値を計算することを可能にする累乗bにそれを増加するような数z’を見つけ出すことは実際には不可能である。
【0030】
図1を参照して述べた代表的な実施において、エンティティBのチャージ(charge)の下での暗号化タスクは、受信されたメッセージmが実際にエンティティAによってサインされたという事実の検証である。もしサインzモジューロnの累乗vへの増加が数mに等しければ、この検証は肯定的(positive)である。累乗vへの増加のための計算時間は、実質的にビットにおけるvのサイズに比例する。この暗号化タスク、さらに詳しくは累乗vへの増加の計算は、本明細書ではステップ6および8に割り当てられている。
【0031】
仲介エンティティCは、サインzの累乗vへの増加の計算のパートであるステップ6において実行する。エンティティBは、サインzの累乗vへの増加の計算の相補的パートであるステップ8において実行する。エンティティBにより実行される計算時間は、実質的にb+cに比例する。従って、エンティティBに必要とされる計算能力は、実質的にファクタaで除算することにより低減される。エンティティBに必要とされる計算能力はまた、もし数cがゼロであれば低減される。これは、数vを二つの整数aおよびbの積に分解することが可能であるような場合である。
【0032】
図1に表されたエンティティCは、ステップ4を実行し、そしてトランジション5を有効にした後にステップ6を実行する。ステップ4は、メッセージmをそのサインzと共にそれぞれ送信して実行される必要はない。vの与えられた値について、もしcがゼロでなければ、数a,b,cが、エンティティA,B,Cとは関係なく、ただ一度だけ計算される。そしてエンティティCは、単に番号aを知ることを要するのみである。そしてエンティティBは、もしcがゼロでなければ、単に数bおよび数cを知ることを要するのみである。この場合、数bおよびcは、ステップ6で送信されず、そしてサイン部分値z’のトランジション7の簡単な受信により有効(enable)とされる。
【0033】
有利に、エンティティCはエンティティBが駐在する装置とは別個の物理装置に駐在する。従って、エンティティBが駐在する物理装置は、エンティティBが暗号化タスクの全体を実行するとすれば備えるであろうものと比較して、低減された計算手段を備えることができる。
【0034】
エンティティCは、エンティティAが駐在するものとは別個の物理装置、またはエンティティAと同じ物理装置に駐在することができる。
【0035】
エンティティAおよびCが一つの又は同じ物理装置に駐在する場合には、数a,bあるいはcは、この物理装置に保存される。もしcがゼロでなければ、エンティティAおよびCが駐在する物理装置は、メッセージm、サインz、部分的サインz’、および数b,cを送信する。もしcがゼロであれば、エンティティAおよびCが駐在する物理装置は、メッセージm、部分的サインz’、および数bを送信する。
【0036】
図1を参照してまさに説明した代表的実施は、任意のエンティティによってサインされた任意のメッセージの検証に適合する。
【0037】
プローバの(n,v)を証明(certificate)する公開鍵の検証を促進することも同様に有利である。証明(certificate)は、証明機関によって計算された電子的サインであり、プローバの公開鍵および身元(identity)に関係し、従って後者(the latter)が証明機関の公開検証を保持するという条件で、任意の他のエンティティによって検証されるかもしれない方法でそれらを関連づけている。
【0038】
この証明もまたRSAアルゴリズムを用いて計算されれば、証明を検証するために暗号化タスクの上述した分解(decomposition)は、証明を受け取るエンティティBにおける検証計算の促進を可能にする。さらに一般に、もし証明が本発明が適合するサインスキームを用いて計算すれば、電子サインを検証するためにこの証明を使用するベリファイア(verifier)による証明の検証に本発明を適用することは有益である。
【0039】
図2は、識別(identification)の方法における本発明の第2の代表的実施を示す。本識別方法は、例えば1995年8月11および1998年2月6日にそれぞれ公開された特許出願FR2716058およびFR2752122で述べられているような個々のアルゴリズムに基づくゼロ知識プロトコル(zero knowledge protocol)を使用する。個々のアルゴリズムは、整数sからなる秘密鍵と、三つの整数(n,v,g)からなる公開鍵とを使用することに基づいている。秘密鍵sは、身元を証明しなければならないエンティティAによって秘密に保持される。公開鍵(n,v,g)は、エネィティAの身元を検証しなければならない任意のエンティティに伝送される。公開鍵の伝送は、例えば、本発明による方法を用いて予め有利に検証される証明を用いて実行される。公開鍵において、モジュラス(modulus)と呼ばれる整数nは、因数分解アルゴリズムを存在させることを考慮して、実際には不可能な因数分解を与えるのに十分に大きな素数の積である。ベース(base)と呼ばれる整数gは、xが区間[0,n−1]を通るとき、数gモジューロnからなるセットのようなものであり、この区間の後のサイズ(consequent size of this interval)のサブセットである。整数vは、次の関係を満足するセキュリティパラメータである。
V = g-s(modulo n)
この関係は、v,gおよびnが分かっても、sの値を得ることは実際には可能でないようなものである。
【0040】
それ自体を識別するために、エンティティAはステップ9を起動する。ステップ9において、エンティティAは、数sよりも極めて大きなランダムまたは擬似ランダム数rを生成する。続いて、エンティティAは、gの累乗rモジューロnに等しい整数xを生成する。ステップは、この整数xを送信して終了する。
【0041】
エンティティBによる数xの受信は、ステップ11を起動するトランジション1
を有効にする。
ステップ11において、エンティティBは、区間[0,u−1]から整数eを生成し、それからその数eを送信する。
エンティティAによる数eの受信は、ステップ13を起動するトランジション12を有効にする。
【0042】
ステップ13において、エンティティAは、数sと数eとの積と数rとの和に等しい数yを生成する。続いて、エンティティAは、数yを、数r,s,eとは異なる整数の一次結合(linear combination)の形式に分解する。例えば、エンティティAは、1よりも厳密に大きな整数bによる数yの除算を実行する。商aおよび余りcは、次の一次結合を得ることを可能にする。
y = a・b+c
そしてエンティティAは、整数a,b,cを送信する。
【0043】
除算は、例えば、ユークリッド除算である。数bは、通常、数aによって定まる商が1よりも厳密に大きくなるように選ばれる。数yの除算は、必ずしもエンティティAにおいて行われる必要ななく、例えばエンティティC又はエンティティBのような他の場所において行われてもよい。
【0044】
仲介エンティティCによる数aの受信は、ステップ15を起動するトランジション14を有効にする。
ステップ15において、エンティティCは、ベースgを累乗モジューロモジュラスnに増加し、且つそのイクスポーネントを整数aとすることにより、数yの部分イメージ(partial image)、即ち数y’を生成する。そしてエンティティCは、整数y’を送信する。
エンティティBによる整数bおよびcの受信および整数y’の受信はステップ17を起動するトランジション16を有効にする。
【0045】
ステップ17において、エンティティBは、数y’をイクスポーネント累乗bに増加し、ベースgをイクスポーネント累乗cに増加し、セキュリティパラメータvをイクスポーネント累乗eに増加し、そして整数y”を生成するために得られた三つの累乗のプロダクトモジューロnを計算する。プロダクトモジューロnの項が、それぞれモジューロnを考慮したこれらの項のプロダクトモジューロnに等しいという事実を使用することは可能である。
【0046】
そしてエンティティBは、数y”が予め受信された数xに等しいかどうかを検証する。もし等しければ、エンティティBは、数xを確かに送信した存在としてエンティティAを識別する。
具体的に言えば、もしエンティティAが数xを送信したものであれば、
Figure 2005508514
である。
【0047】
エンティティAによって秘密に保持されている秘密鍵が対応する因数分解を知ることなく、y’・g・v(modulo n)がxに等しくなるようなn,v,g,およびcおよび数y’を見つけ出すことは実際には不可能であるので、必ずしも信頼できるエンティティではない外部のエンティティによってステップ15が実行されることによって、セキュリティは損なわれない。
【0048】
整数を符号化するためのビットの標準的な量k、すなわち2進ベースで整数を分解するのに必要とされるビットの最小量を考慮すると、イクスポーネントがこの整数であるところの累乗モジューロnに増加するための通常知られる手順は、ビット数kに比例する量の乗算モジューロn(a quantity of multiplications modulo n)を実行する。
【0049】
仲介エンティティCを用いることなく、エンティティBは、次の式を通じてy”を計算するためにr+s・eに等しい数yを受信する。
y”=gy・ve (modulo n)
gを累乗yに増加するためにエンティティBによって実行される乗算モジューロnの量は、標準の形式で数r+s・eを符号化するのに必要とされるビット数に比例し、即ちa・b+cである。
【0050】
エンティティCにおいて多くの乗算モジューロnを実行し、そしてそれは標準の形式で数aを符号化するために必要とされるビット数に比例することにより、エンティティBは、標準の形式で数bを符号化するために必要とされるビット数に比例する量の乗算モジューロnだけ行えばよく、そしてそれには、おそらく、標準の形式で数cを符号化するために必要とされるビット数に比例する量の乗算モジューロnが付け加えられる。このようにエンティティBにおいて達成される乗算モジューロnの節約(saving)は、エンティティBにおける身元(identity)の検証(verification)を促進することを可能にする。
【0051】
図3は、エンティティBにおける暗号化タスクの実行をさらに促進するために、図2を参照して述べた方法の変形を示す。
エンティティBによる数bおよびcの受信は、ステップを起動するトランジション18を有効にする。
ステップ19において、エンティティBは、イクスポーネントとして数cを有するベースgの累乗のプロダクトモジューロn、およびイクスポーネントとして数eを有するセキュリティパラメータvの累乗のプロダクトモジューロnに等しい数zを生成する。
【0052】
そしてトランジション16は、数y’の受信により有効にされる。ステップ17において、エンティティBは、イクスポーネントとして数bを有する数y’の累乗のz倍のプロダクトモジューロnに等しい数y”を生成する。
数y’を受信する以前のステップ19の実行は、ステップ15および19の実行の並列化を可能にする。
【0053】
図4は、図2を参照して述べられた方法の他の変形を示し、エンティティBが多くのエンティティAを識別しなければならないときに特に有用である。そしてエンティティCは、エンティティAと全く同一の物理装置に駐在する。これは、エンティティAにステップ13に続いてステップ15を直ちに実行させることを意味する。ステップ13において、エンティティAは、数bおよびcを外部に送信する。ステップ15において、エンティティAは数y’を直ちに送信する。
【0054】
図5は、メッセージ認証の方法における本発明の第3の代表的な実施を表す。このメッセージ認証の方法は、例えば、図2から4を参照して述べられた方法に使用されるものに類似したプロトコルを使用する。
メッセージMがエンティティAによって送信された真正のメッセージであることを検証することができるようにメッセージMをエンティティBに送信するために、エンティティAはステップ20を有効にする。
【0055】
ステップ20において、エンティティAは、数sよりも非常に大きなランダムまたは擬似ランダム数を生成する。整数rは、エンティティAによって秘密に保持される。エンティティAは、gの累乗rモジューロnに等しい整数xを生成する。エンティティAは、整数mを得るために、整数xのハッシュ関数およびメッセージMのハッシュ関数に等しい数mを生成する。そしてエンティティAは、整数mおよびメッセージMを送信する。
【0056】
エンティティBによる数mおよびメッセージMの受信は、ステップ11を起動するトランジション21を有効にする。本方法は、図2から4を参照して述べられたそれらの一つと同じ方法で作動(run)して実行(execute)するステップおよびトランジション11〜16の列(string)を具備する。
【0057】
そしてトランジション16が有効になると、ステップ22が起動する。ステップ22において、エンティティBは、図2〜4の一つを参照して述べられたステップ17と同じ方法で整数y”を生成する。そしてエンティティBは、数y”のハッシュ関数およびメセージMのハッシュ関数に等しい数x’を生成し、それから数x’を数mと比較する。H(x,M)がH(y”,M)に等しくなるようにy”に等しい数xを生成することはエンティティAのみが可能であるので、数x’および数mが等しいということは、メッセージMを伝送したのは確かにエンティティAであることをエンティティBに保証する。
【0058】
要約すると、本方法は、識別または電子サインの、メッセージ認証のメカニズムを組み込む安全な電子トランザクションにおいて、エンティティBから構成されるベリファイアの計算負荷を減少させることを可能にする。
【0059】
それは、ベリファイアが検証(verification)ステップに由来しているという確信を減じることなく、必ずしも信頼できない外部のエンティティCにこれらの計算の一部を委任することにある。さらに正確には、それは、少なくともステップ(6,15)が外部のエンティティCによって実行できるような方法で、検証(verification)タスクを少なくとも二つのステップ(6,15)および(8,17)に分けることにある。本方法は、特に、RSA(Rivest, Shamir, Adleman)電子サインスキームに適合すると共に、別々のアルゴリズムに基づくメッセージ認証プロトコルに適合する。
【図面の簡単な説明】
【0060】
【図1】電子サイン方法における本発明の代表的実施を示す図である。
【図2】識別方法における本発明の代表的実施を示す図である。
【図3】識別方法における本発明の代表的実施を示す図である。
【図4】識別方法における本発明の代表的実施を示す図である。
【図5】認証方法における本発明の代表的実施を示す図である。
【符号の説明】
【0061】
1,3,4,6,8,9,11,13,15,17,19,20,22 ステップ
2,5,7,10,12,14,16,18,21 トランジション

Claims (9)

  1. 秘密鍵を与えられた第1エンティティ(A)と第2エンティティ(B)との間で交換される少なくとも一つのデジタルデータアイテムに関する公開鍵を用いて暗号化タスクを実行するための方法であって、
    前記暗号化タスクは、少なくとも、
    前記データアイテムの部分的イメージを得るために前記公開鍵の全部または一部を用いてオープンデジタル処理に前記データアイテムを委ねる仲介エンティティ(C)によって実行される第1ステップ(6,15)と、
    前記データアイテムに関する前記暗号化タスクを達成するような方法で前記公開鍵の全部または一部を用いてパブリックデジタル処理に前記部分的イメージを委ねる第2エンティティ(B)によって実行される第2ステップ(8,17)と、
    の二つのステップに分けられることを特徴とする方法。
  2. 前記仲介エンティティ(C)は、前記第2エンティティ(B)が駐在する物理装置とは別の物理装置に駐在することを特徴とする請求項1に記載された暗号化タスクを実行する方法。
  3. 前記仲介エンティティ(C)は、前記第1エンティティ(A)が駐在する物理装置に駐在することを特徴とする請求項1または2の何れか1項に記載された暗号化タスクを実行する方法。
  4. 前記暗号化タスクが、第2エンティティ(B)による第1エンティティ(A)の識別を含み、第1整数(r)であって第1エンティティ(A)における秘密デジタル処理に委ねられる前記デジタルデータアイテムが、伝送される第2整数(x)を与え、且つ、第2整数(x)を受信した第2エンティティ(B)から受信した第3整数(e)を用い且つ秘密鍵を用いて第4の整数(y)を与え、且つ、
    オープンデジタル処理は、本質的に、公開鍵の全部または一部を用いて前記第4整数(y)を第5整数(y’)に変換することにあり、
    パブリックデジタル処理は、本質的に、前記第1エンティティ(A)の識別に有利に完結する値(y”)が前記第2整数(x)に等しい場合に、前記第1エンティティ(A)の識別に有利に完結する前記値(y”)を得るために、前記公開鍵の全部または一部を用いて前記第5整数(y’)を変換することにあることを特徴とする請求項1ないし3の何れか1項に記載された暗号化タスクを実行する方法。
  5. 前記公開鍵が、モジュラス(n)、ベース(g)、セキュリティパラメータ(v)から構成される三つの整数のトリプル(triple)であり、且つ秘密鍵が第6整数(s)であり、秘密デジタル処理が、ベース(g)を、公開鍵の第1累乗(r)モジューロモジュラス(n)に増加させ、そして第4整数(y)を得るために第3整数(e)に第6整数(s)を乗じた積を第1整数(r)に加算するとしたときに、
    第2累乗(a)モジューロモジュラス(n)にベース(g)を増加させるために、1よりも厳密に大きな第7整数(b)で除算された第4整数(y)の整数商(a)がオープンデジタル処理において使用され、
    ベース(g)の第4累乗(e)モジューロモジュラス(n)が乗算された第3累乗(b)に前記第5整数(y’)を増加させるために、前記第7整数(b)がパブリックデジタル処理において使用されることを特徴とする請求項4に記載された暗号化タスクを実行する方法。
  6. 前記暗号化タスクが、電子サインの検証を含み、秘密鍵を用いて第1エンティティ(A)における秘密デジタル処理に委ねられる数(m)である前記デジタルデータアイテムがサイン(z)を与え、且つ、
    オープンデジタル処理は、本質的に、前記公開鍵の第1部分を用いて前記サイン(z)をサイン部分イメージ(z’)に変換することにあり、
    パブリックデジタル処置は、本質的に、正当なサインに有利に完結する値(z”)が前記数(m)に等しい場合に、正当なサインに有利に完結する前記値(z”)を得るために、前記公開鍵の第2部分を用いて前記サイン部分イメージ(z’)を変換することにあることを特徴とする請求項1ないし3の何れか1項に記載された暗号化タスクを実行する方法。
  7. 前記公開鍵が整数(n,v)のペアであると共に、前記秘密鍵が第3整数(s)であり、前記秘密デジタル処理が、前記公開鍵の第1累乗(s)モジューロ第1整数(n)に前記数(m)を増加させることにあるとしたときに、
    第2累乗(a)モジューロ第1整数(n)に前記サイン(z)を増加させるために、前記公開鍵の第2整数(v)よりも厳密に小さく且つ1よりも厳密に大きな第4整数(a)がオープンデジタル処理において使用され、
    前第3累乗(b)モジューロ第1整数(n)に前記サイン部分イメージ(z’)を増加させるために、記第4整数(a)による前記第2整数(v)のユークリッド除算の商に等しい第5整数(b)がパブリックデジタル処理において使用されることを特徴とする請求項6に記載された暗号化タスクを実行する方法。
  8. 前記暗号化タスクが、第2エンティティ(B)による認証を含み、第1エンティティ(A)によって伝送されたメッセージを含み、第1エンティティ(A)における秘密デジタル処理に委ねられる第1整数(r)である前記デジタルデータアイテムが、第3整数(m)を得るためにメッセージ(M)と組み合わせてハッシュ関数(H)に委ねられる第2整数(x)と、伝送される第3整数(m)およびメッセージ(M)と、第3整数(m)を受信した第2エンティティ(B)から受信した第4整数(e)を用い且つ秘密鍵を用いて第1エンティティ(A)における秘密デジタル処理に委ねられて第5の整数(y)を与える第1整数(r)とを与え、且つ、
    オープンデジタル処理は、本質的に、公開鍵の全部または一部を用いて前記第5整数(y)を第6整数(y’)に変換することにあり、
    パブリックデジタル処理は、本質的に、メッセージ(M)と組み合わせてハッシュ関数(H)に委ねられる第1値(y”)を得るために公開鍵の全部または一部を用いて前記第6整数(y’)を変換することにあり、正当なメッセージ認証に有利に完結する第2値(x’)が前記第3整数に等しい場合に、正当なメッセージ認証に有利に完結する前記第2値(x’)を与えることを特徴とする請求項1ないし3の何れか1項に記載された暗号化タスクを実行する方法。
  9. 前記公開鍵が、モジュラス(n)、ベース(g)、セキュリティパラメータ(v)から構成される三つの整数のトリプルであり、且つ秘密鍵が第7整数(s)であり、秘密デジタル処理が、ベース(g)を、公開鍵の第1累乗(r)モジューロモジュラス(n)に増加させ、そして第5整数(y)を得るために第4整数(e)に第7整数(s)を乗じた積を第1整数(r)に加算するとしたときに、
    第2累乗(a)モジューロモジュラス(n)にベース(g)を増加させるために、1よりも厳密に大きな第8整数(b)で除算された第5整数(y)の整数商(a)がオープンデジタル処理において使用され、
    ベース(g)の第4累乗(e)モジューロモジュラス(n)が乗算された第3累乗(b)に前記第6整数(y’)を増加させるために、前記第8整数(b)がパブリックデジタル処理において使用されることを特徴とする請求項8に記載された暗号化タスクを実行する方法。
JP2003514741A 2001-07-18 2002-07-02 公開鍵を用いた暗号化タスク実行方法 Expired - Lifetime JP4354808B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0109611A FR2827723B1 (fr) 2001-07-18 2001-07-18 Procede pour effectuer une tache cryptographique au moyen d'une cle publique
PCT/FR2002/002302 WO2003009522A1 (fr) 2001-07-18 2002-07-02 Procede pour effectuer une tache cryptographique au moyen d'une cle publique

Publications (2)

Publication Number Publication Date
JP2005508514A true JP2005508514A (ja) 2005-03-31
JP4354808B2 JP4354808B2 (ja) 2009-10-28

Family

ID=8865668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003514741A Expired - Lifetime JP4354808B2 (ja) 2001-07-18 2002-07-02 公開鍵を用いた暗号化タスク実行方法

Country Status (9)

Country Link
EP (1) EP1407575B1 (ja)
JP (1) JP4354808B2 (ja)
KR (1) KR100899020B1 (ja)
AT (1) ATE366008T1 (ja)
DE (1) DE60220918T2 (ja)
ES (1) ES2289147T3 (ja)
FR (1) FR2827723B1 (ja)
HK (1) HK1064826A1 (ja)
WO (1) WO2003009522A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1670172A1 (fr) * 2004-12-10 2006-06-14 Nagra France Sarl Procédé et système d'encryption par un proxy.
WO2007006798A1 (fr) * 2005-07-13 2007-01-18 Gemplus Procede et systeme d'authentification de puces electroniques
GB2444286B (en) 2006-12-01 2011-06-08 Advanced Risc Mach Ltd Improving processing efficiency on secure systems having a host processor and smart card
US8594329B2 (en) 2010-12-17 2013-11-26 Microsoft Corporation Non-interactive verifiable, delegated computation
FR3013477B1 (fr) * 2013-11-21 2017-06-09 Oberthur Technologies Procede et systeme pour la verification de la validite d'une signature numerique de message

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100340102B1 (ko) * 2000-11-30 2002-06-10 조휘갑 알에스에이 공개키 암호 고속화 장치 및 방법

Also Published As

Publication number Publication date
ATE366008T1 (de) 2007-07-15
HK1064826A1 (en) 2005-02-04
DE60220918D1 (de) 2007-08-09
KR20040013152A (ko) 2004-02-11
KR100899020B1 (ko) 2009-05-27
DE60220918T2 (de) 2008-02-28
JP4354808B2 (ja) 2009-10-28
FR2827723A1 (fr) 2003-01-24
EP1407575A1 (fr) 2004-04-14
ES2289147T3 (es) 2008-02-01
EP1407575B1 (fr) 2007-06-27
FR2827723B1 (fr) 2003-10-10
WO2003009522A1 (fr) 2003-01-30

Similar Documents

Publication Publication Date Title
US7139910B1 (en) Systems and methods for obtaining digital signatures on a single authoritative copy of an original electronic record
Camenisch Better privacy for trusted computing platforms
US9882890B2 (en) Reissue of cryptographic credentials
US9800418B2 (en) Signature protocol
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
Chande et al. An improvement of a elliptic curve digital signature algorithm
JP4354808B2 (ja) 公開鍵を用いた暗号化タスク実行方法
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
KR100971038B1 (ko) 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법
Bindel et al. The need for being explicit: Failed attempts to construct implicit certificates from lattices
JP4494965B2 (ja) 処理中の計算を容易にするための暗号化方法、及び装置
Dong et al. Two extensions of the ring signature scheme of Rivest–Shamir–Taumann
Shi et al. Fair exchange of valuable information: A generalised framework
Salome et al. Pairing free identity-based blind signature scheme with message recovery
JP3331328B2 (ja) 多重デジタル署名方法、そのシステム、その装置及びそのプログラム記録媒体
JP3435472B2 (ja) 秘密保持認証方法及びシステム
JP2002072873A (ja) 二次体に基づく否認不可署名方式
Jain Digital signature algorithm
Tripathi et al. An Extension to Modified Harn Digital Signature Scheme with the Feature of Message Recovery
Foster Study and Implementation of Algorithms for Digital Signatures in Network Security
Hsu A group digital signature technique for authentication
Pandey et al. Detection of Blind Signature Using Recursive Sum
CA2892318C (en) Signature protocol
Kumar et al. Research Article Cryptanalysis and Performance Evaluation of Enhanced Threshold Proxy Signature Scheme Based on RSA for Known Signers
Chen et al. A server-aided Paillier's signature generation scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090325

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4354808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

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

EXPY Cancellation because of completion of term