(57)【要約】ＥＣＤＳＡ署名を圧縮する改善された圧縮スキームが提供される。そのスキームは、署名（ｒ，ｓ）における整数をより小さな値ｃによって代替する。値ｃは、ｓおよび別の値ｄから導かれ、ｄは、ｃがｓより小さくなるよう十分に小さい。圧縮された署名（ｒ，ｃ）は、ｒと、メッセージｍのハッシュであるｅとを用いて、および値ｄを導くためにｒから復元された値Ｒとともにこの値を用いて、値を計算することによって検証される。次いで値ｓは、復元され得、完全な署名が、復元、検証され得る。
2010509623.tif 000002
【特許請求の範囲】
【請求項１】
メッセージのデジタル署名を圧縮する方法であって、該署名は、一対の署名成分ｒ、ｓを含み、該方法は、
数学的にｓに関連した一対の値ｃ、ｄを獲得することであって、該一対の値のうちの一つは、ｓよりも小さい、ことと、
該デジタル署名における該署名成分ｓを該一つの値で代替することと、
該署名を受取人に送ることと
を含む、方法。
【請求項２】
前記値ｃ、ｄの両方は、予め決定された基準を満たす、請求項１に記載の方法。
【請求項３】
前記ｄの値は、予め決定された境界内に収まることを要求される、請求項２に記載の方法。
【請求項４】
前記値ｃは、前記成分ｓより小さい、請求項３に記載の方法。
【請求項５】
前記成分ｒ、ｓは、ＥＣＤＳＡ署名を表す、請求項４に記載の方法。
【請求項６】
ｓ、ｃ、およびｄは、ｓ＝ｃ／ｄ  ｍｏｄ  ｎの関係にある、請求項１に記載の方法。
【請求項７】
前記値ｃ、ｄは、予め決定された基準を満たすように獲得される、請求項６に記載の方法。
【請求項８】
前記値ｃ、ｄは、拡張されたユークリッドの互除法のアルゴリズムの適用によって獲得され、前記予め決定された基準が満たされたときに該アルゴリズムの反復が終了される、請求項７に記載の方法。
【請求項９】
前記一つの値は、ｃに対応する、請求項６に記載の方法。
【請求項１０】
前記一つの値は、ｄに対応する、請求項６に記載の方法。
【請求項１１】
前記署名から前記値のうちのもう一方の値に等しい値を復元することと、定義された基準を満たすか否かを決定することとによって、請求項１に従って生成された署名を検証する方法。
【請求項１２】
前記もう一方の値の復元は、前記署名成分を組み合わせることから獲得される、請求項１１に記載の方法。
【請求項１３】
中間的な値は、前記メッセージから獲得され、前記もう一方の値を復元するために前記署名成分から獲得された値と組み合わされる、請求項１２に記載の方法。
【請求項１４】
前記もう一方の値は、定義された境界内に収まることを要求される、請求項１１に記載の方法。
【請求項１５】
前記もう一方の値が前記予め定義された基準を満たさない場合には、前記署名を拒絶するステップを含む、請求項１１に記載の方法。
【請求項１６】
前記もう一方の値が前記予め定義された基準を満たす場合には、前記署名を承認するステップを含む、請求項１１に記載の方法。
【請求項１７】
さらなる検証は、前記一つの値の適用から獲得されたオリジナルの署名と、前記受取人によって受け取られた前記署名に該受取人によって復元される前記もう一方の値とに対して実行される、請求項１６に記載の方法。
【請求項１８】
一対の署名成分ｒ、ｓから圧縮された署名を生成する暗号システムであって、該システムは、該成分ｓと数学的に関連した一対の値ｃ、ｄを提供するための演算ユニットと、該署名ｓを該値のうちの一つの値で代替するための署名生成装置とを有する、システム。
【請求項１９】
前記値のうちのもう一方の値を復元し、該もう一方の値を予め定義された基準と比較するための演算ユニットを含む請求項１８に記載のシステムを用いて、送付者から受け取られた署名ｒ、ｃを検証する暗号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（本発明の分野）
本発明は、暗号スキームに関し、デジタル署名アルゴリズムにおいて特定の有用性を有する。
【背景技術】
【０００２】
（先行技術の説明）
メッセージのデジタル署名は、署名者にのみ知られた何らかの秘密に、さらには、署名されるメッセージの内容に依存する数である。署名は、検証可能であるように意図される。（自分が実際に作成した署名を否認しようとする署名者か、または不正な請求者のいずれかによって引き起こされる）関係者が文書に署名したか否かに関して争いが生じる場合には、バイアスのかかっていない第三者が、署名者の秘密情報（例えば、秘密鍵）へのアクセスを要求することなく、公正に問題を解決し得るべきである。
【０００３】
デジタル署名は、特に、それらが暗号スキームにおいて用いられているので、情報安全性において多くの用途を有する。一部の用途は、認証、データ統合性、および非否認（ｎｏｎ−ｒｅｐｕｄｉａｔｉｏｎ）を含む。デジタル署名の一つの特に有意義な用途は、大規模ネットワークにおける公開鍵の認証である。認証は、信頼される第三者が使用者の識別を公開鍵と結びつけ、その結果、しばらく後の時点で他の主体が信頼される第三者の支援なしで公開鍵を認証し得るための手段である。
【０００４】
デジタル署名アルゴリズム（ＤＳＡ）として知られている暗号スキームは、周知のしばしば論じられる離散対数問題の難しさ（ｉｎｔｒａｃｔａｂｉｌｉｙ）に基づいている。ＤＳＡは、米国標準技術局（ＮＩＳＴ）によって１９９１年に提案され、デジタル署名標準（ＤＳＳ）と呼ばれる米国連邦情報処理規格（ＦＩＰＳ  １８６）となっている。そのアルゴリズムは、周知のＥｌＧａｍａｌ署名スキームの変形であり、付属物を有するデジタル署名（すなわち、カスタマイズされた冗長関数（ｒｅｄｕｎｄａｎｃｙ  ｆｕｎｃｔｉｏｎ）よりも暗号ハッシュ関数に依存するデジタル署名）として分類され得る。
【０００５】
楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）は、楕円曲線暗号システムにおいて用いられ得る、ＤＳＡに類似した属性を有する署名スキームである。ＥＣＤＳＡは、概して最も広く標準化された楕円曲線をベースにした署名スキームと見なされ、ＡＮＳＩ  Ｘ９．６２、ＦＩＰＳ  １８６−２、ＩＥＥＥ  １３６３−２０００およびＩＳＯ／ＩＥＣ  １５９４６−２の規格、およびいくつかの草案の規格に見られる。
【０００６】
ＥＣＤＳＡ署名生成は、いくつかの領域パラメーター、秘密鍵ｄ、およびメッセージｍに対して機能する。出力は、署名（ｒ，ｓ）であり、署名の成分ｒおよびｓは、整数であり、以下のように進められる。
１．任意の整数
【０００７】
【数１】
2010509623.tif 000003
【０００８】
を選ぶ。ｎは、領域パラメーターのうちの一つである。
２．ｋＰ＝（ｘ１，ｙ１）を計算し、ｘ１を整数
【０００９】
【数２】
2010509623.tif 000004
【００１０】
に変換する。Ｐは、楕円曲線Ｅ上の点であり、領域パラメーターのうちの一つである。
３．
【００１１】
【数３】
2010509623.tif 000005
【００１２】
を計算する。ｒ＝０の場合には、ステップ１に戻る。
４．ｅ＝Ｈ（ｍ）を計算する。Ｈは、出力がｎのビット長さを超えないビット長さを有する、暗号ハッシュ関数を示す（この条件が満たされない場合、Ｈの出力は切り捨て（ｔｒｕｎｃａｔｅ）られ得る）。
５．ｓ＝ｋ−１（ｅ＋αｒ）  ｍｏｄ  ｎを計算する。αは、署名者の長期の秘密鍵である。
ｓ＝０の場合には、ステップ１に戻る。
６．メッセージｍのＥＣＤＳＡ署名として対（ｒ，ｓ）を出力する。
【００１３】
ＥＣＤＳＡ署名検証は、いくつかの領域パラメーター、Ｑ＝αＰである長期の公開鍵Ｑ、メッセージｍ、および上記で導かれた署名（ｒ，ｓ）に対して機能する。ＥＣＤＳＡ署名検証は、署名の拒絶または承認を出力し、以下のように進められる。
１．ｒおよびｓが区間[１，ｎ−１]にある整数であることを検証する。すべての検証が失敗する場合には、拒絶が返される。
２．ｅ＝Ｈ（ｍ）を計算する。
３．ｗ＝ｓ−１  ｍｏｄ  ｎを計算する。
４．ｕ１＝ｅｗ  ｍｏｄ  ｎおよびｕ２＝ｒｗ  ｍｏｄ  ｎを計算する。
５．Ｒ＝ｕ１Ｐ＋ｕ２Ｑ＝ｓ−１（ｅＰ＋ｒＱ）を計算する。（上記の３および４から）
６．Ｒ＝∞の場合には、署名は、拒絶される。
７．Ｒのｘ座標ｘ１を整数
【００１４】
【数４】
2010509623.tif 000006
【００１５】
に変換する。
【００１６】
【数５】
2010509623.tif 000007
【００１７】
を計算する。
８．ν＝ｒの場合には、署名は、承認される。そうでない場合には、署名は、拒絶される。
【００１８】
ＥＣＤＳＡ署名検証の効率性を高めるために、ｓの反転を含む上記の具体的なステップ５において、ＥＣＤＳＡ署名は、２ｂビットを省略することでｓを切り捨てることによって圧縮されることが知られてきた。そのような圧縮は、付加的な検証ステップを代償として払い、その付加的な検証ステップは、検証者に約２２ｂの追加の楕円曲線群操作を代償として行わせることが知られてきた。
【００１９】
署名の圧縮は、帯域幅の節約が最も重要な暗号用途において特に望ましく、付加的な暗号操作が、検証者によって容易に扱われ得る。一例は、帯域幅が非常に限られた二次元バーコードであるが、検証者のプロセッサーは高速であり得る。別の例は、データを送信するために無線周波数の場からの電力を必要とする無線自動識別（ＲＦＩＤ）タグであり、したがって低い送信帯域幅が非常に望まれる。
【発明の概要】
【発明が解決しようとする課題】
【００２０】
そのような以前の圧縮スキームよりも検証者に払わせる代償が小さいＥＣＤＳＡ署名圧縮のスキームが必要とされている。
【００２１】
したがって、上記の不利な点のうちの少なくとも一つを除去または軽減することが、本発明の目的である。
【課題を解決するための手段】
【００２２】
一つの局面において、メッセージのデジタル署名を圧縮する方法が提供され、署名は、一対の署名成分ｒ、ｓを含み、その方法は、数学的にｓに関連した一対の値ｃ、ｄを獲得することであって、その一対の値のうちの一つは、ｓよりも小さいことと、デジタル署名における署名成分ｓをその一つの値で代替することと、署名を受取人に送ることとを含む。
【００２３】
別の局面において、一対の署名成分ｒ、ｓから圧縮された署名を生成する暗号システムが提供され、そのシステムは、成分ｓと数学的に関連した一対の値ｃ、ｄを提供するための演算ユニットと、署名ｓをその値のうちの一つの値で代替するための署名生成装置とを有する。
【００２４】
さらに別の局面において、上記の値のうちのもう一方の値を復元し、そのもう一方の値を予め定義された基準と比較するための演算ユニットを含む上記で定義されたシステムを用いて、送付者から受け取られた署名ｒ、ｃを検証する暗号システムが提供されている。
【００２５】
さらに別の局面において、値ｓをより小さな値ｃで代替するステップであって、値ｃは、ｓおよび別の値ｄから導かれ、別の値ｄは、ｃがｓより小さくなるよう十分に小さい、ステップと、圧縮された署名（ｒ，ｃ）を獲得するために値ｓを値ｃで代替するステップとを含む、デジタル署名（ｒ，ｓ）を圧縮する方法が提供される。
【００２６】
さらに別の局面において、圧縮された署名を検証する方法が提供され、圧縮された署名は、完全な署名（ｒ，ｓ）のうちの値ｓを代替した値ｃを含み、その方法は、圧縮された署名およびメッセージのパラメーターを用いて値ｄを計算するステップであって、値ｃは、値ｄおよび値ｓから導かれる、ステップと、ｄの値が予め決定された基準に従って発見され得る場合には、圧縮された署名を検証するステップとを含む方法が提供される。
【図面の簡単な説明】
【００２７】
本発明の一実施形態が、ここで、添付された図面を参照して単に例として説明される。
【図１】図１は、暗号通信システムである。
【図２】図２は、署名圧縮スキームおよび圧縮された署名の署名検証スキームの一実施形態を図示するフローチャートである。
【図３】図３は、署名圧縮スキームおよび圧縮された署名の署名検証スキームの別の実施形態を図示するフローチャートである。
【発明を実施するための形態】
【００２８】
(本発明の詳細な説明）
したがって、図１を参照すると、暗号通信システムが、数字１０によって一般的に示されている。システム１０は、通信チャネル１６を介して互いに通信し得る第一の通信者１２および第二の通信者１４を有する。通信チャネル１６は、安全であり得るか、または、安全でないこともあり得る。各通信者は、暗号化操作を実行するために、暗号モジュール１８および暗号モジュール２０をそれぞれ有する。
【００２９】
暗号モジュール１８および暗号モジュール２０はそれぞれ、ＥＣＤＳＡ署名生成のような楕円曲線の暗号化操作と、体
【００３０】
【数６】
2010509623.tif 000008
【００３１】
上で定義される楕円曲線Ｅ上で機能する検証スキームとを実行し得る。本明細書で説明される実施形態は、特にＥＣＤＳＡアルゴリズムに適しており、例えば、署名（ｒ，ｓ）における整数ｓは、検証者が付加的な暗号化操作を行う必要があるという代償を払って圧縮され得る。
【００３２】
図２に例示された第一の実施形態において、通信者１２は、「署名者」として参照され得、通信者１４は、「検証者」として参照され得る。署名者１２によってメッセージｍのために生成されるＥＣＤＳＡ署名（ｒ，ｓ）は、上記で説明されたように生成される。帯域幅を狭くするために、署名は、例えばｓをより小さな値ｃにより代替することによって圧縮され得る。この例における値ｓおよび値ｃは、式
【００３３】
【数７】
2010509623.tif 000009
【００３４】
によって関連づけられ、ｄの値は、ｃがｓよりも小さい値になるように選ばれる。ｄの値または「境界」の可能な範囲は、システムパラメーターの一部であり、復元されたｄが承認可能か否かを決定する検証ステップにおいて用いられる。
【００３５】
ｃおよびｄの値は、拡張されたユークリッドの互除法の変形を用い、ｄｓ＋ｕｎ＝ｃの形の等式を解くことによって獲得され得る。より正確には、拡張されたユークリッドの互除法における中間ステップは、ｘｓ＋ｙｎ＝ｚとなるような値ｘ、ｙ、ｚを計算する。通常、拡張されたユークリッドの互除法は、小さなｘおよびｙ（０または１の値）および大きなｚ（ｎまたはｓと同じくらい大きい）で始まり、大きなｘおよびｙ（それぞれおよそｎおよびｓの大きさ）および小さなｚで終わる（ＥＣＤＳＡにおけるｎおよびｓの選択に対しては生じないであろう、ｎおよびｓが公約数を有する場合を除き、通常は１）。本実施形態において、拡張されたユークリッドの互除法は、大きさが中間的であってｄおよびｃそれぞれの要求を満たすｘおよびｙの値を入手するために途中で止められる。
【００３６】
獲得されたｃの値は、圧縮された署名（ｒ，ｃ）を提供するために、署名におけるｓの代替とされる。次いで、これは、署名者から受取人へ送られる。
【００３７】
圧縮された署名（ｒ，ｃ）は、点Ｒを計算することによって受取人により検証され得、Ｒは、ｒから復元され得る。ｒからＲを復元することは、Ｒに対するいくつかの候補を提供し得、その場合に、以下の検証スキームが、各々のそのようなＲについて検証者１４によって試みられ得る。代わりに、候補の値のうちのどれがＲに対する正しい選択であるかを示すために、追加の情報が、署名またはメッセージｍとともに送られ得るか、または署名またはメッセージｍの中に埋め込まれ得る。これは、例えば、Ｒのｙ座標の値の最初のビット（ｆｉｒｓｔ  ｂｉｔ）または類似の技術であり得る。各々のそのようなＲについて、完全な署名（ｒ，ｓ）は、定義により、Ｒ＝ｓ−１（ｅＰ＋ｒＱ）の場合およびその場合にのみ、妥当であり、Ｒ＝ｓ−１（ｅＰ＋ｒＱ）は、上記の表記法に従えば、ｃＲ＝ｄ（ｅＰ＋ｒＱ）に等しい。
【００３８】
署名（ｒ，ｃ）を検証するために、検証者１４は、受取人にとって利用可能な公的情報を用いて行われ得るＷ＝ｅＰ＋ｒＱを最初に計算する。上記で論じられたように、ｅは、概してメッセージｍのハッシュとして、例えばｅ＝Ｈ（ｍ）として計算される。次いで、検証者１４は、署名圧縮という目的のために署名者と検証者とによって合意された予め決定された境界よりもｄが小さいという知識を用いて、ｄ＝ｌｏｇｗ（ｃＲ）を計算しようと試みる。そのようなｄが境界内に発見され得ない場合には、圧縮された署名（ｒ，ｃ）は妥当でないとして拒絶される。同様に、合意された境界を満たすｄの値が獲得される場合には、署名は、検証されたとみなされ得る。そのような離散対数アルゴリズムは、概して、
【００３９】
【数８】
2010509623.tif 000010
【００４０】
に比例する時間を要する。
【００４１】
【数９】
2010509623.tif 000011
【００４２】
が十分に小さい場合には、そのようなアルゴリズムを用いることは、検証者１４にとって非常に実用的である。いったん（および仮に）ｄが検証者１４によって獲得されると、完全な署名（ｒ，ｓ）は、ｓ＝ｃ／ｄ  ｍｏｄ  ｎを計算することによって復元され得、検証者１４が望む場合には、検証者１４がまた完全な署名を用いる、または検証することも可能にし得る。
【００４３】
図３に示される別の実施形態において、圧縮された署名は、（ｒ，ｄ）であり得、ｄは、上記の表記法において用いられる値であり、この場合において、ｃの復元された値は、特定の範囲の大きさを満たすこと、すなわち「十分に小さい」ことが要求される。
【００４４】
上記の実施形態と同様に、値Ｗ＝ｅＰ＋ｒＱが最初に計算され、次いで、検証者１４は、Ｒを選ぶために任意の適切な方法を用いてｃ＝ｌｏｇＲ（ｄＷ）を計算しようと試み、上記の計算は、ｃが十分に小さい場合に行われ得る。そのようなｃが発見され得ない場合には、圧縮された署名（ｒ，ｄ）は、妥当でないとして拒絶される。いったん（および仮に）ｃが獲得されると、署名は検証されたとみなされ得るが、検証者１４が完全な署名（ｒ，ｓ）を用いるまたは検証することを望む場合には、完全な署名（ｒ，ｓ）は、ｓ＝ｃ／ｄ  ｍｏｄ  ｎを計算することによって復元され得る。
【００４５】
多くの実用的な用途において、Ｒの選択は、しばしば二つの値の間に、例えばｒのみが与えられる場合にはＲと−Ｒとの間の選択に狭められ得る。一般に、Ｒとある点Ｗとの間の離散対数を解くアルゴリズムはまた、−ＲとＷとの間の対数を求める。なぜならば最初の対数が例えばｕである場合、もう一方は−ｕだからである。典型的には、−ｕが十分に小さいことをチェックするのは容易なので、候補の対（Ｒ，−Ｒ）につき一つの離散対数を計算すれば、概して十分である。
【００４６】
上記の圧縮スキームは、検証者１４が追加の２ｂの楕円曲線群操作を実行するという代償を払って、２ｂビットの除去によりＥＣＤＳＡ署名を効果的に圧縮し得、ｂは、署名者によって選ばれた予め決定された値である。公知の圧縮技術によって、２ｂビットを節減することの代償は、２２ｂの追加の署名検証であったが、その追加の署名検証は、適度な大きさのｂに対して、より多くの相当なコストがかかる。
【００４７】
ＥＣＤＳＡ署名（ｒ，ｓ）の検証、圧縮および解凍が秘密鍵を用いないで行われ得ることは、留意されるべきである。安全性の観点から、このことは、秘密鍵が完全な署名を圧縮または解凍する必要がないので、圧縮されたＥＣＤＳＡ署名が完全な署名と同じように安全であることが大いに保証されることを意味する。実用的な観点から、このことは、圧縮された署名を検証するために、第三者が上記で説明されたスキームを含み得る方法を用いてサービスを提供し得ることを意味する。例えば、ＣＡは、署名者によって作成された署名を圧縮し、それらが検証され得る受取人にそれらを送るための媒介として機能し得る。
【００４８】
本発明は、所定の具体的な実施形態を参照して説明されてきたが、それらの多様な修正は、本明細書に添付された特許請求の範囲に概略が述べられている本発明の精神および範囲から逸脱することなく、当業者にとって明らかであろう。例えば、本技術は、第一の署名コンポーネントを生成するために短期の秘密鍵が用いられる他の離散対数署名アルゴリズムとともに用いられ得、第一の署名コンポーネントは、次いで第二の署名コンポーネントを生成するためにメッセージおよび署名者の長期の秘密鍵と結びつけられる。
【図１】
2010509623.tif 000012
【図２】
2010509623.tif 000013
【図３】
2010509623.tif 000014
【国際調査報告】
2010509623.tif 000015
2010509623.tif 000016
2010509623.tif 000017