JP4053431B2 - 環ベースの署名スキーム - Google Patents

環ベースの署名スキーム Download PDF

Info

Publication number
JP4053431B2
JP4053431B2 JP2002588007A JP2002588007A JP4053431B2 JP 4053431 B2 JP4053431 B2 JP 4053431B2 JP 2002588007 A JP2002588007 A JP 2002588007A JP 2002588007 A JP2002588007 A JP 2002588007A JP 4053431 B2 JP4053431 B2 JP 4053431B2
Authority
JP
Japan
Prior art keywords
polynomial
digital signature
mod
polynomials
message
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.)
Expired - Fee Related
Application number
JP2002588007A
Other languages
English (en)
Other versions
JP2004526387A (ja
JP2004526387A5 (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2004526387A publication Critical patent/JP2004526387A/ja
Publication of JP2004526387A5 publication Critical patent/JP2004526387A5/ja
Application granted granted Critical
Publication of JP4053431B2 publication Critical patent/JP4053431B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

関連する出願
出願人は、米国特許法第119条(e)に基づき、2001年5月4日出願された米国仮特許出願第60/288,841号の優先権を主張するものであり、当該仮特許出願は引用によって本願に組み込まれる。
発明の背景
本発明は、一般に、暗号法、及び、コンピュータネットワークを介したまたは他のタイプのシステムならびに装置を介した安全な(秘密保護の)通信、に関しており、より特別には、環ベースの多項式代数を用いたデジタル署名の生成及び検証に関している。
デジタル署名は、安全な通信において、認証、データ保護及び否認防止を含む、様々な機能を果たしている。典型的には、デジタル署名は、送信すべきメッセージの内容と、署名者のIDと、の両方に施される。公開鍵暗号システムにおいて、デジタル署名は、典型的には、署名者のみに知られる秘密鍵と、署名すべきメッセージと、を用いて生成される。誰にでも知られ得る公開鍵は、続いて、当該署名を検証するために用いられる。
デジタル署名は、署名されたメッセージの受領者が、前記署名者が前記秘密鍵を保有していることを確信するというように、検証可能でなければならない。例えば、メッセージの受領者は、署名者のデジタル署名が真正であることを検証するために、署名者の公開鍵を用いることが可能でなければならない。加えて、デジタル署名の偽造は、実行不能でなければならない。最後に、署名者の秘密鍵を危機にさらすことを避けるために、デジタル署名は秘密鍵に関する有用な情報を漏洩してはならない。
デジタル署名を生成し検証するための様々な手法及びシステムが知られており、コンピュータネットワークや他の通信システム、例えば携帯電話ネットワーク、の中で利用されてきた。高速で効率的な署名の生成及び検証を提供するデジタル署名スキームの設計は、特別に強調されてきた。例えば、NTRU署名スキーム(「NSS」)と呼ばれるデジタル署名スキームが、NTRU公開鍵暗号システムと関連して提案された。NSSは、J. Hoffstein, J. Pipher, J.H. Silverman著の「NSS: The NTRU Signature Scheme」(PROC. OF EUROCRYPT ’01, LNCS, 第2045巻, 211乃至228頁, Springer-Verlag, 2001年)に記述された。多項式代数に基づいて、NSSは、相当に短く容易に生成される鍵を用いており、高速で、かつ、メモリー要求が少ない。
NSSは、一つの秘密鍵と署名されるべきメッセージとを用いた署名の生成に関連している。秘密鍵、メッセージ及び署名は、それぞれ、一つ以上の多項式として表される。署名生成の過程の間、署名多項式の係数群は、pまたはqを法として規約化される。ここで、前記p及び前記qは固定の整数である。ある署名が生成されると、署名多項式とメッセージ多項式との偏差(deviation)を割り出すことにより、当該署名は部分的に検証され得る。二つの多項式aとbとの偏差(deviation)は、pを法とした、a(mod q)とb(mod q)とで異なる係数の数、として定義される。NSSは、署名の生成をより効率的に行うために、及び、署名が秘密鍵についての有用な情報を漏洩するであろう可能性を減少させるために、署名多項式とメッセージ多項式との間にある程度の偏差(deviation)を見込むように設計されている。例えば、各多項式が251個の係数を有するとき(N=251)、NSSは、1多項式あたり55と87との間の係数の署名の偏差(deviation)を許容する。従って、NSSにおける真正な署名は、元となるメッセージから3分のNより多く偏差(deviate)し得る。
偏差(deviation)の高い許容性のために、NSSは、深刻なセキュリティの欠陥を含んでいる。多数の暗号解析が、NSS署名は署名の係数の確率的操作により比較的容易に偽造され得るということを、実証してきた。例えば、一度の攻撃で、多項式(N=251)あたりたった56の係数の偏差(deviation)しか有さない偽造が、署名者の秘密鍵の知識無くして、生成された。加えて、これらの解析は、高い割合の偏差(deviation)にもかかわらず、NSS署名はそれでもなお攻撃者が署名者の秘密鍵を入手することを可能とするのに十分に有用な情報を漏洩することを証明した。そのような解析の一つの結果は、C. Gentry, J. Jonsson, J. Stern, M. Szydlo著の「Cryptanalysis of the NTRU Signature Scheme(NSS) from Eurocrypt 2001」(PROC. OF ASIACRYPT’01, LNCS, 第2248号, 1乃至20頁, Springer-Verlag, 2001年)において公開されている。C. Gentry, M. Szydlo著の「Cryptanalysis of the Revised NTRU Signature Scheme」(ADVANCES IN CRYPTOLOGY-Eurocrypt’02, LECTURE NOTES IN COMPUTER SCIENCE, Springer-Verlag, 2002年)もまた、参照されたい。両文献の内容は、引用によって本願に組み込まれ、本願中以下「NSS暗号解析文献」という。
結果的に、高速で、効率的でかつ安全なデジタル署名システムへの要求は残存している。従って、本発明の目的は、攻撃者がデジタル署名の偽造を生成することが不可能な、高速で、効率的でかつ安全なデジタル署名システムを提供することである。署名者の秘密鍵についての有用な情報を漏洩しないデジタル署名の生成を可能とすることもまた、本発明の目的である。
好適な実施の形態の簡単な要約
本発明によれば、高速で、効率的でかつ安全なデジタル署名の生成及び検証を可能にし、署名の偽造を不可能にし、また、署名者の秘密鍵についての有用な情報を漏洩しない署名を提供する、というデジタル署名の方法及びシステムが記述される。
本発明の一つの特徴によれば、メッセージのデジタル署名を生成して検証する方法が提供されている。前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。環Rの二つの互いに素なイデアルp及びqが選択される。秘密鍵は、前記環Rの一つ以上の秘密鍵多項式を含むように選択される。公開鍵は、前記秘密鍵及び前記第二イデアルqを用いて生成される。前記メッセージを用いて、一つ以上のメッセージ多項式が生成される。デジタル署名は、続いて、少なくとも以下の要素:(a)前記メッセージ多項式の少なくとも一つ(前記メッセージ多項式群の中の少なくとも一つの多項式)、(b)前記秘密鍵多項式の少なくとも一つ(前記秘密鍵多項式群の中の少なくとも一つの多項式)、及び、(c)前記イデアルp及びqの少なくとも一つ、を用いて、未規約化状態での前記デジタル署名多項式が前記環R上の前記秘密鍵多項式の倍数ではないというように、生成される。前記デジタル署名は続いて、少なくとも、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことを確認することにより、検証され得る。
本発明の別の特徴によれば、あるいは、前述の検証プロセスとの組み合わせによれば、前記デジタル署名はまた、少なくとも、前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを確認することにより、検証され得る。
本発明の別の特徴によれば、メッセージのデジタル署名を生成して検証する方法が提供されている。前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。環Rの二つの互いに素なイデアルp及びqが、選択される。秘密鍵は、前記環Rの一つ以上の秘密鍵多項式を含むように選択される。公開鍵は、前記秘密鍵及び前記第二イデアルqを用いて生成される。補助的な多重利用秘密情報が、選択される。前記メッセージを用いて、一つ以上のメッセージ多項式が生成される。デジタル署名は、続いて、少なくとも以下の要素:(a)前記メッセージ多項式の少なくとも一つ、(b)前記秘密鍵多項式の少なくとも一つ、(c)前記イデアルp及びqの少なくとも一つ、及び、(d)前記補助的な多重利用秘密情報、を用いて生成される。前記デジタル署名は続いて、少なくとも、前記デジタル署名多項式及び前記公開鍵が予め定められた関係を満たすことを確認することにより、検証され得る。
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する方法が提供されている。ここで、前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでいる。環R=Z[X]/(X−1)の二つの互いに素なイデアルp及びqが、選択される。ここで、Nは1より大きい整数である。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
Figure 0004053431

として計算される。第一及び第二中間秘密多項式s及びtが、s*h=tであるように、また、s及びtがpを法として実質的に一致するように、選択される。第三の中間秘密多項式aは、メッセージ多項式の一つmと量 t+a*g(mod q) との間の偏差(deviation)の数を最小化するように、選択される。第一デジタル署名多項式uは、続いて、u=s+a*f(mod q)として計算され、第二デジタル署名多項式vは、v=t+a*g(mod q)として計算される。最後に、デジタル署名は、mとuとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことと、mとvとの間の偏差(deviation)もまた予め定められた偏差(deviation)の閾値よりも小さいことと、を確認することにより検証される。
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する別の方法が提供されている。ここで、前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでいる。環R=Z[X]/(X−1)の二つのイデアルp及びqが、選択される。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
Figure 0004053431
として計算される。ランダム多項式rが選択されて、第一中間多項式tは、t=r*h(mod q)として計算される。第二の中間多項式aは、aが
Figure 0004053431
のオーダーのユークリッドノルムを有して、メッセージ多項式mと量 t+a*g(mod q) との間の偏差(deviation)の数を最小化するように、選択される。第一デジタル署名多項式uは、続いて、u=r+a*f(mod q)として計算され、第二デジタル署名多項式vは、v=t+a*g(mod q)として計算される。最後に、デジタル署名は、第一デジタル署名多項式uに関連付けられたユークリッドノルムがNのオーダーであることと、メッセージmと第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことと、を確認することにより検証される。
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する方法が提供されている。ここで、前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含んでいる。環R=Z[X]/(X−1)の二つのイデアルp及びqが、選択される。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
Figure 0004053431
として計算される。ワンタイム秘密鍵eが、前記環Rのワンタイム秘密鍵多項式eを含むように選択される。二つのワンタイム公開鍵多項式h及びhが、h=f−1*e(mod q)及びh=g−1*e(mod q)として生成される。第一ランダム多項式rが、続いて選択される。次に、第一中間多項式tが、t=r*h(mod q)として計算され、第二中間多項式aが、aのユークリッドノルムが
Figure 0004053431
のオーダーであってメッセージ多項式の一つ(メッセージ多項式群のうちの一つの多項式)mと量 t+a*e(mod q) との間の偏差(deviation)の数を最小化する、というように選択される。第一デジタル署名多項式uは、続いて、u=r+a*f(mod q)として計算され、第二デジタル署名多項式vは、v=t+a*e(mod q)として計算される。第二ランダム多項式rがまた選択されて、第三中間多項式tが、t=r*h(mod q)として計算され、第四中間多項式aが、aのユークリッドノルムが
Figure 0004053431
のオーダーであってメッセージ多項式の一つmと量 t+a*e(mod q) との間の偏差(deviation)の数を最小化する、というように選択される。第三デジタル署名多項式uは、続いて、u=r+a*g(mod q)として計算され、第四デジタル署名多項式vは、v=t+a*e(mod q)として計算される。最後に、デジタル署名は、少なくとも、第一及び第三デジタル署名多項式u及びuの各々のユークリッドノルムがNのオーダーであることと、メッセージmと第二及び第四デジタル署名多項式v及びvの各々との間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことと、を確認することにより検証される。
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つとを用いて未規約化状態でのデジタル署名多項式が環R上の前記秘密鍵多項式の倍数ではないというようにデジタル署名多項式を生成するように、及び、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つとを用いてデジタル署名多項式を生成するように、及び、前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、補助的な多重利用の秘密情報と、前記秘密鍵及び前記第二イデアルqを用いて生成される公開鍵と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つと補助的な多重利用秘密情報とを用いてデジタル署名多項式を生成するように、及び、前記デジタル署名多項式と前記公開鍵とが予め定められた関係を満たすことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
引き続いての本発明の好適な実施の形態の記述は、添付の図面を参照している。
図1は、本発明の一つの現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
図2は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
図3は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
図4は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
図5は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
図6は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証するためのシステムを表すブロック図を示している。
好適な実施の形態の詳細な説明
添付の図面を参照して、図1は、本発明の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。デジタル署名の生成における第一ステップ102は、環Rのイデアルp及びqの選択である。好適には、pを法とした全ての操作は(−p/2,p/2]の範囲で実施され、qを法とした全ての操作は(−q/2,q/2]の範囲で実施される。一つの好適な環RはZ[X]/(X−1)である。ここで、Zは整数環であり、Nは1より大きい整数である。ステップ104において、秘密暗号鍵が選択される。前記秘密鍵は、前記環Rの一つ以上の多項式を含んでいる。好適には、前記秘密鍵は、前記環Rの二つの多項式f及びgを含んでいる。前記秘密鍵多項式は、また、行ベクトルとしても記述され得る:
Figure 0004053431
パラメータN、p及びqは、公知である。好適には、p及びqは、互いに素な整数で、N/3<q<2N/3 かつ p<<q である。例えば、(N,p,q)=(251,3,128)が、公開パラメータ値の一つの好適な選択である。付加的な公開パラメータは、SとS(秘密鍵f及びgとして許容し得る多項式の空間)及びS(署名手続きの間に署名者が使用する中間多項式の空間)を含んでいる。これらの空間は、関連する多項式を(一様分布により選ばれたZ からのランダムベクトルと比べて)比較的短いユークリッド長を持つベクトルへと制約するよう設計されている。例えば、
Figure 0004053431
のオーダーのユークリッドノルムを有する多項式を短いといい、Nのオーダーのユークリッドノルムを有する多項式をやや短いという。従って、二つの短い多項式の重畳(convolution)は、典型的には一つのやや短い多項式を生成する。好適には、短い及びやや短い多項式が、前記空間S、S及びSに含まれている。
本発明の様々な実施の形態において使用され得る秘密鍵には、三つのタイプがある。第一の鍵のタイプ(これを鍵タイプAとする)によれば、f及びgの両方が短い多項式である。第二の鍵のタイプ(これを鍵タイプBとする)によれば、f及びgの両方が短い多項式であり、ある多項式kに対してf≡g≡k(mod p)である(即ち、f、g及びkの係数群がpを法として一致している)。第三の鍵のタイプは、ワンタイム秘密鍵eに主として用いられ、これを鍵タイプCとする。鍵タイプCによれば、eは短い多項式であるが、係数eはやや大きい(例えば、q/2p)。
前記秘密鍵の選択の後、ステップ106において公開鍵が生成される。好適には、公開鍵は、一つ以上の公開鍵多項式を含んでいる。例えば、秘密鍵が多項式f及びgを含んでいる場合、適切な公開鍵多項式hは、次の式を用いて生成され得る:
Figure 0004053431
式2の多項式
Figure 0004053431
は、R=Z[X]/(X−1)における多項式fの逆元を示す。「*」は、Z[X]/(X−1)における、標準的な重畳(convolution)または多項式の積、を示す。
Figure 0004053431
一つ一つの署名のために新たな秘密鍵及び公開鍵を生成する必要はない。むしろ、秘密鍵が侵害されないかぎり、同一の秘密鍵及び公開鍵が多数のデジタル署名を生成し検証するために繰り返し用いられ得る。従って、秘密鍵多項式f及びg、並びに公開鍵多項式hは、多重利用鍵であるといい得る。
選択的に、ステップ108において、補助的な多重利用秘密情報が選択される。補助的な多重利用秘密情報は、環Rの一つ以上の補助的な秘密多項式を含み得て、秘密鍵を補助するが、それ自身は秘密鍵に直接的に関係していない。前記補助的な多重利用秘密情報は、デジタル署名の生成において、当該署名が秘密鍵に関する有用な情報を漏洩するのを防ぐために利用され得る。このことは、秘密鍵に関する有用な情報を漏洩する署名の脆弱性を利用した二次の平均化攻撃(averaging attack)に対する防御を提供する。
NSS署名に対する平均化攻撃(averaging attack)の使用は、NSS暗号解析文献に記述されている。端的には、平均化攻撃(averaging attack)は、秘密鍵を、当該秘密鍵で署名された多数のデジタル署名の収束を解析することにより決定する。秘密鍵自身以外のデジタル署名の生成に用いられる要素は、ランダム又は公知であるであるため、同一の秘密鍵を用いて生成された一連の署名は当該秘密鍵に関連した値へと収束する。例えば、前記公知の要素はある公知の平均値へと収束し、前記ランダムの要素は多数の署名のサンプルにより予測可能となる。一連のデジタル署名多項式をそれらの逆多項式で乗算することにより、前記公知の平均値を取り除き得て、f*frevを分離し得る。f*frevは、当該秘密鍵に直接関係する情報を提供する。このようなタイプの、ある特定の秘密鍵を用いて作られた署名の複写(transcript)の解析により、秘密鍵についての情報を抽出し得て、究極的には、当該秘密鍵そのものを判定(決定)し得る。
本発明は、このようなタイプの平均化攻撃(averaging attack)への多重の防御を提供する。例えば、一つの防御は、ある一連の署名の収束値を操作することにより平均化攻撃(averaging attack)を欺くことに関連している。例えば、短いまたはやや短い多項式rが、ある固定の短いf’に対して、r=a’*f’というようにランダムに生成され得る。前記ベクトルf’は、秘密鍵の補完としての補助的な多重利用秘密情報であるが、秘密鍵又は公開鍵のいずれとも関連する必要が無く、好適には関連しない。従って、ある攻撃者が例えばr+a*fの形式の署名多項式の複写(transcript)に平均化攻撃(averaging attack)を実行した場合、当該攻撃者は、有用な値f*frevではなく、f*frev+f’*f’revに関連する無用な値のみを復元し得る。
本発明による平均化攻撃(averaging attack)に対する防御のためのもう一つの方法は、適当な時間内で平均化攻撃(averaging attack)が収束しないようにすることである。例えば、ある中間秘密多項式
Figure 0004053431
が計算され得る。ここで、dは、もう一つのランダムで非常に短い多項式である。d多項式は、f*frevの収束を遅延させるノイズとしての役割を果たす。しかしながら、このような態様でのd多項式の使用は、関連するデジタル署名多項式により多くの偏差(deviation)をもたらす。従って、本アプローチは、好適には、以下により完全に記述されるように、偏差(deviation)の制約よりもユークリッドノルムの制約を用いてテストされる署名多項式に対して使用される。
図1に示した方法に戻って、一つ以上のメッセージ多項式がステップ110で生成される。本ステップは、メッセージ依存であって、新規のデジタル署名毎に繰り返されなければならない。好適には、メッセージ多項式は環R上にあり、このことは、秘密鍵及び公開鍵の多項式と関連したメッセージ多項式の便宜的な操作を可能とする。メッセージ多項式は、一つ以上のハッシュ関数を用いる公知の方法により生成され得る。
一つのワンタイム秘密鍵が、ステップ112において選択され得る。多重利用の秘密鍵と異なり、当該ワンタイム秘密鍵は、ただ一つの署名を生成するために用いられる。次の署名の生成には、新たなワンタイム秘密鍵が選択される。ワンタイム秘密鍵の選択は任意であるが、以下により完全に記述されるように、特に平均化攻撃(averaging attack)に関連して、デジタル署名のセキュリティを向上するために用いられ得る。
デジタル署名の生成は、ステップ114において実施される。好適には、デジタル署名は、メッセージ多項式及び秘密鍵多項式に基づき生成される一つ以上のデジタル署名多項式を含んでいる。デジタル署名は、選択的には、メッセージ多項式及び秘密鍵多項式に加えて、補助的な多重利用秘密情報及び/またはワンタイム秘密鍵を用いて生成され得る。
デジタル署名が生成されると、署名者は前記デジタル署名を伴ったメッセージを意図された受領者へと伝送する。当該受領者は、ステップ116において、前記デジタル署名を検証し得る。当該検証は、メッセージ、デジタル署名及び公開鍵の間の、一つ以上のタイプの比較を含み得る。ここで、前記公開鍵は、好適には、検証者に知られている。例えば、検証者は、デジタル署名多項式と公開鍵多項式との間において、予め定められた関係を確認し得る。加えて、検証者は、デジタル署名多項式とメッセージ多項式との間の偏差(deviation)が予め定められた偏差閾値と比べて小さいまたは等しいことを確認し得る。a,b∈Z[X]/(X−1)に対して、aとbとの間の偏差(deviation)は次のように示される:
Dev(a,b)=#{i:a≠b(mod p)} (4)
検証者は、また、一つ以上のデジタル署名多項式のノルムが、予め定められたノルム閾値と比べて小さいまたは等しいことを確認し得る。様々なノルム、例えばL1ノルム、L2(またはユークリッド)ノルムまたはより高次元のLpノルムのいずれかを含む、がデジタル署名多項式を制約するために使用され得る。便宜性のためには、ユークリッドノルムが好ましい。
ある署名を検証する過程で、検証者は、一般に、これらの比較のタイプのうち、二つの組み合わせまたは三つ全てを使用する。例えば、前記署名は、一般に、デジタル署名と公開鍵との間の予め定められた関係を確認すべきである。この第一のテストに加えて、前記検証者は、一般に、デジタル署名多項式に関して少なくとももう一つの別の比較(即ち、偏差(deviation)の制約及び/またはノルムの制約)を確認すべきである。本発明の様々な署名生成及び検証の手続きが、続いて、図2乃至図5に関連してより詳細に記述される。
図2は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ202において、一つの秘密鍵が選択される。好適には、前記秘密鍵は、鍵タイプBであって、環Rの二つの短い多項式f及びgを含んでいる。ここで、ある多項式kについてf≡g≡k(mod p)である。前記秘密鍵に基づいて、一つの公開鍵が、ステップ204において生成される。前記公開鍵は、好適には、式2に従って計算される公開鍵多項式hを含んでいる。
一つ以上のメッセージ多項式mが、続いて、署名されるべきメッセージに基づいて、ステップ206において生成される。例えば、あるメッセージ多項式mは、好適には、あるハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュ、H(m)及びH(m)、を含み得る。また、前記ハッシュ関数にランダム性が加えられ得る。例えば、あるメッセージ多項式が、H(m,c)として計算され得る。ここで、cは、署名の一部となるランダム値である。
選択的に、ステップ208において、一つのランダム秘密多項式rが、空間Sからr(1)=0というように選択される。rをr(1)=0というように選択することは必須ではないが、以下に説明する理由により好ましい。好適には、rはまた、短いまたはやや短い多項式であるべきである。ステップ208において一つのランダム秘密鍵rが選択された場合、続いてステップ210において、第一の中間秘密多項式sが次の式に従って計算される:
s=pr*(1−h)−1(mod q) (5)
効率のため、パラメータ (1−h)−1 は、事前に計算されてs’として記憶され得る。ステップ212において、第二の中間秘密多項式tが次の式に従って計算される:
t=s*h(mod q) (6)
一般に、s及びtは、s*h=tであるように、かつ、s及びtがpを法として実質的に一致するように、選択されるべきである。これは、式8及び式9で計算されるデジタル署名多項式u及びvの間の適正な公開鍵の関係を保持して、メッセージ多項式mとデジタル署名多項式u及びvとの間の偏差(deviation)の数を最小化するのを補助する。式5及び式6は、sとtとの間の適正な関係を実現する一つの好適な方法を提供する。
第三の中間秘密多項式aが、ステップ214において、次の式に従って計算される:
Figure 0004053431
一般に、第三の中間多項式aは、aが小さい多項式であって、かつ、メッセージ多項式mとデジタル署名多項式u及び式9において計算されるvとの間の偏差(deviation)を最小化するというように、選択されるべきである。式7は、ある適切な第三の中間多項式aを計算する一つの好適な方法を提供する。
三つの中間秘密多項式s、t及びaの計算は、メッセージ多項式mからできるだけ少ない偏差(deviation)を生成するように意図されている。r(1)=0というようなランダム秘密多項式rの選択は、前述のように、sと t=s*h(mod q)=s−pr(mod q) とがほぼ同じように偏差(deviate)する(即ち、s及びtが同一の係数の位置において偏差(deviate)している)ことを保証する。s及びtが同じように偏差(deviate)するならば、それらの偏差(deviation)は、式7に従って計算される中間秘密多項式aを用いて直列的に修正され得る。
三つの中間秘密多項式が与えられると、第一のデジタル署名多項式uが、ステップ216において、次の式に従って生成される:
u=s+a*f(mod q) (8)
第二のデジタル署名多項式vが、続いて、ステップ218において、次の式に従って生成される:
v=t+a*g(mod q) (9)
多項式のペア(u,v)が、当該メッセージの署名である。デジタル署名多項式u及びvの生成における秘密中間多項式s及びtの付加は、本発明がNSSにおいて見られたセキュリティの欠陥の一つを克服する態様の一つである。これは、NSS署名が単純にqを法として規約化された秘密鍵多項式の積:(s,t)=(f*w,g*w)(mod q) であるからである。ここで、wは、ある短い乗数多項式である。結果として、NSS署名は、NSS暗号解析文献においてより詳細に記述されているように、攻撃者が秘密鍵f及びgを知ることを許容する成功的な攻撃にさらされてきた。署名多項式u及びvへ秘密中間多項式s及びtを付加することにより、本発明の本実施の形態は、u及びvが、未規約化状態(即ち、qを法とした規約化の前)において、環R上の秘密鍵多項式の積ではないことを、保証している。換言すれば、u及びvは、環R上で秘密鍵多項式f及びgにより除算されたとき、それぞれ、やや短いまたはより大きい多項式を生じる。本発明の他の実施の形態は、中間秘密多項式を同じ態様で用いる。
mまたはH(m)の代わりに二つのハッシュH(m)及びH(m)が署名を生成するために用いられる場合、式5における項prは、H(m)−H(m)(mod p) と一致する短いまたはやや短いランダム秘密多項式rに置換されるべきであって、aは、式7の次の修正版に従って計算されるべきである:
Figure 0004053431
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u及びvの一つまたは両方を、意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ220において、少なくとも二つの比較を実施することにより、前記デジタル署名を検証し得る。集合的に、前記二つの比較を条件Aという。第一の比較において、前記検証者は、前記デジタル署名多項式と前記署名者の公開鍵とが予め定められた関係 v=u*h(mod q) を満たすことを確認する。あるいは、前記署名者が前記デジタル署名多項式のうち一つのみ、例えばu、を伝送した場合、前記検証者は他のデジタル署名多項式vを前述の予め定められた関係に従って計算し得る。この代替の方法は、一般に本発明の様々な実施の形態に適応されるが、伝送されるデジタル署名のサイズを削減することによって伝送効率を向上させる。いずれの場合にも、前記検証者は、条件Aを完全に満たすべく第二の比較を実施することを要求される。
第二の比較において、前記検証者は、前記メッセージ多項式mと第一及び第二のデジタル署名多項式u及びvの各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。二つの異なるハッシュH(m)及びH(m)が署名多項式を生成するために用いられる場合、uはH(m)からの偏差(deviation)のために調査されるべきであり、vはH(m)からの偏差(deviation)のために調査されるべきである。例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値、が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。比較の両方が満たされた場合、前記検証者は、署名が真正であると判断する。
セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、本発明のこの特別な実施の形態が、N/8未満の偏差(deviation)(即ち、N=251に対して31未満の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。本発明の他の実施の形態は、前記偏差閾値の更なる低減を考慮する。そのような他の実施の形態の一つが、図3に関連して記述される。
図3は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ302において、一つの秘密鍵が選択される。好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。鍵タイプAの多項式は、鍵タイプBの多項式よりも短く(即ち、ユークリッドノルムがより小さく)なり得ることに留意されたい。これは、鍵タイプBの多項式が、互いに等しくあってはならず、かつ同時に、pを法として一致していなければならない、からである。結果として、鍵タイプBの秘密鍵多項式の一つは、必然的に、より大きい大きさの係数を有さなくてはならない。このことは、鍵タイプAの多項式には要求されない。鍵タイプAのより短い秘密鍵多項式は、従って、qを法とした規約化によってより少ない影響を受けて、故に、鍵タイプAの多項式から生成されたデジタル署名多項式は、結局、メッセージ多項式との間により少ない偏差(deviation)を有する。
ステップ304において、一つの公開鍵が生成される。前述の実施の形態のように、前記公開鍵は、好適には、式2によって計算される公開鍵多項式hを含んでいる。一つ以上のメッセージ多項式mが、続いて、ステップ306において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、ハッシュ関数H(m)を用いて計算される。あるいは、前記メッセージ多項式は、二つの別々のハッシュH(m)及びH(m)を含み得る。更に、前記ハッシュ関数にはランダム性が付加され得る。例えば、メッセージ多項式mは、H(m,c)として計算され得る。ここで、cは、当該署名の一部となるランダム値である。
ステップ308において、一つのランダム秘密多項式rが空間Sから選択される。好適には、前記多項式rは短いまたはやや短い。ステップ310において、第一の中間秘密多項式tは次の式に従って計算される:
t=r*h(mod q) (11)
ステップ312において、第二の中間秘密多項式aが、続いて、次の式に従って計算される:
Figure 0004053431
後述される検証条件と一致して、第二の中間秘密多項式aは、短くあるように計算され、二つの中間秘密多項式t及びaの計算は、式14に従って計算される第二のデジタル署名多項式vとメッセージ多項式mとの間の偏差(deviation)を可能な限り小さくするように意図されている。
前記二つの中間秘密多項式が与えられると、第一のデジタル署名多項式uが、ステップ314において次の式に従って生成される:
u=r+a*f(mod q) (13)
第二のデジタル署名多項式vは、続いて、ステップ316において次の式に従って生成される:
v=t+a*g(mod q) (14)
前記多項式のペア(u,v)が、前記メッセージの署名である。前記署名を生成するために、二つのハッシュH(m)及びH(m)がmの代わりに用いられた場合、aは、式12の次の修正版に従って計算されるべきである:
Figure 0004053431
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u及びvを意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ318において、三つの比較を実施することにより、前記デジタル署名を検証し得る。集合的に、前記三つの比較を条件Bという。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の公開鍵とが予め定められた関係 v=u*h(mod q) を満たすことを確認する。第二に、前記検証者は、前記第一のデジタル署名多項式uがやや短いということを確認する。第三に、前記検証者は、前記メッセージ多項式mと第二のデジタル署名多項式vとの間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。三つの比較の各々が満たされた場合、前記検証者は、署名が真正であると判断する。
二つの異なるハッシュH(m)及びH(m)が署名多項式を生成するために用いられる場合、vはH(m)からの偏差(deviation)のために調査されるべきであり、uについてのユークリッドノルムの制約が、微分多項式 d=u−H(m) がやや短いことを確認することにより、調査されるべきである。
本実施の形態によると、第二のデジタル署名多項式vのみが、メッセージ多項式mに対する偏差(deviation)の条件を満たさなければならない、ということに留意されたい。これは、第一のデジタル署名多項式uが、単独で、uがやや短いことを要求する第二の比較によって制約されているからである。このように、条件Bは条件Aと比較して、その偏差閾値が局所的基準であることから、より厳密な基準のセットである。それは、攻撃者に多数の係数位置を無視することを許容する。前記ユークリッドノルム閾値は、反対に、大局的基準であり、それは全ての係数によって強く影響される。
前述の実施の形態のように、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、本発明のこの特別な実施の形態が、N/12以下の偏差(deviation)(即ち、N=251に対して20以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。図4を参照して記述される次の実施の形態は、同様に、安全な署名を実現することが可能である。
図4は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ402において、一つの秘密鍵が選択される。前述の実施の形態と同様に、好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。一つのワンタイム秘密鍵多項式eが、続いて、ステップ404において生成される。f、g及びeを与えられると、ワンタイム公開鍵多項式h及びhの一つのペアが、好適には、ステップ406において次の式に従って生成される:
=f−1*e(mod q) (16)
=g−1*e(mod q) (17)
あるいは、h及びhは、次の式に従って生成され得る:
=e−1*f(mod q) (18)
=e−1*g(mod q) (19)
式18及び式19は、h及びhの適切な多項式を算出するが、途中でワンタイム秘密鍵の逆元e−1(mod q)の計算を要求する。加えて、式18及び式19の利用は、後述の式21乃至式23及び式25乃至式27と同様のe、f及びgの代入を要求する。
本実施の形態による署名の生成に使用される前記ワンタイム公開鍵多項式h及びhは、各々の新たな署名ごとに異なるが、前記署名の検証に用いられる多重利用の公開鍵多項式hは同一なままである。
一つ以上のメッセージ多項式mが、続いて、ステップ408において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、一つのハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュ、H(m)及びH(m)、を含み得る。また、前記ハッシュ関数にランダム性が加えられ得る。例えば、あるメッセージ多項式mが、H(m,c)として計算され得る。ここで、cは、署名の一部となるランダム値である。
ステップ410において、第一のランダム秘密多項式rが空間Sから選択される。好適には、多項式rは、短いかまたはやや短い。ステップ412において、第一の中間秘密多項式tが、次の式に従って計算される:
=r*h(mod q) (20)
続いて、ステップ414において、第二の中間秘密多項式aが、次の式に従って計算される:
Figure 0004053431
初めの二つの中間秘密多項式を与えられると、第一のデジタル署名多項式uが、ステップ416において、次の式に従って生成される:
=r+a*f(mod q) (22)
第二のデジタル署名多項式vが、続いて、ステップ418において、次の式に従って生成される:
=t+a*e(mod q) (23)
ステップ420において、第二のランダム秘密多項式rが空間Sから選択される。好適には、多項式rは、短いかまたはやや短い。ステップ422において、第三の中間秘密多項式tが、次の式に従って計算される:
=r*h(mod q) (24)
ステップ424において、第四の中間秘密多項式aが、次の式に従って計算される:
Figure 0004053431
前述四個の中間秘密多項式t、t、a及びaの計算は、メッセージ多項式mからできるだけ少ない偏差(deviation)を生成するように意図されている。
第三及び第四の中間秘密多項式を与えられると、第三のデジタル署名多項式uが、ステップ426において、次の式に従って生成される:
=r+a*g(mod q) (26)
第四のデジタル署名多項式vが、続いて、ステップ428において、次の式に従って生成される:
=t+a*e(mod q) (27)
集合的に、四つのデジタル署名多項式(u,u,v,v)が当該メッセージの署名を構成する。
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u、u、v及びvを意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ430において、前述の実施の形態において記述された3つの条件Bの比較の修正版を実施することにより、前記デジタル署名を検証し得る。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の多重利用の公開鍵とが予め定められた関係
Figure 0004053431
を満たすことを確認する。第二に、前記検証者は、前記第一及び第三のデジタル署名多項式u及びuの各々がやや短いということを確認する。第三に、前記検証者は、前記メッセージ多項式mと第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。二つの異なるハッシュH(m)及びH(m)が署名多項式を生成するために用いられる場合、vはH(m)からの偏差(deviation)を調査されるべきであり、vはH(m)からの偏差(deviation)を調査されるべきである。前記の三つの比較の各々が満たされた場合、前記検証者は、署名が真正であると判断する。
本実施の形態によると、第二及び第四のデジタル署名多項式v及びvのみが、メッセージ多項式mとの間の偏差(deviation)のために比較される必要がある、ということに留意されたい。これは、前述の実施の形態と同様に、第一及び第三のデジタル署名多項式u及びuが、単独で、第二の比較によって制約されているからである。前記第二の比較は、より厳密なユークリッドノルム閾値であって、u及びuの両方がやや短いことを要求する。加えて、本実施の形態におけるワンタイム秘密鍵の利用は、前記デジタル署名を平均化攻撃(averaging attack)から防御する。前記平均化攻撃は、NSS署名の秘密鍵を明かすのに利用されてきた。前記ワンタイム秘密鍵は、平均化攻撃(averaging attack)を未然に防ぐように設計されている。前記v多項式はワンタイム(一度限り利用の)秘密鍵のみに関連していることから、これらの多項式に関する平均化攻撃(averaging attack)は、有用な暗号解析情報を何も明かさない。平均化攻撃(averaging attack)は、必然的に、前記u多項式の暗号解析に限定される。
前記u多項式への平均化攻撃(averaging attack)に対する更なる防御のために、デジタル署名多項式の生成において、補助的な多重利用秘密多項式f’及びg’が含まれ得る。特に、rはr=a’*f’として計算され得て、rはr=a’*g’として計算され得る。前述のように、補助的な多重利用秘密多項式f’及びg’の利用は、デジタル署名多項式の複写(transcript)の収束値を操作し、平均化攻撃(averaging attack)を用いて秘密鍵多項式f及びgに関する有用な情報を取得することを顕著に困難にする。更なる防御の手段として、一つより多い補助的な多重利用秘密多項式が、各々のデジタル署名多項式を生成するために使用され得る。例えば、rはr=a’*f’+a’’*f’’として計算され得て、rはr=a’*g’+a’’*g’’として計算され得る。
偏差(deviation)の制約に関して、前述の実施の形態のように、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、前述の実施の形態と同様に、本発明のこの実施の形態が、N/12以下の偏差(deviation)(即ち、N=251に対して20以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。図5を参照して記述される次の実施の形態は、許容可能な偏差(deviation)の数を更に削減することにより、更に高い程度の安全性を提供する。
図5は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ502において、一つの秘密鍵が選択される。前述の実施の形態と同様に、好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。好適には鍵タイプCの一つのワンタイム秘密鍵多項式eが、続いて、好適には第一の係数eがやや大きい(例えば、q/2p)というように、ステップ504において生成される。f、g及びeを与えられると、公開鍵多項式h及びhの一つのペアが、好適には、ステップ506において、式16及び式17に従って生成される。一方、h及びhはまた、式18及び式19に従っても生成され得る。
前述の実施の形態に関連して記述されたように、署名の生成に使用されるワンタイム公開鍵多項式h及びhは各々の新たな署名ごとに異なるが、前記署名の検証に用いられる多重利用の公開鍵多項式hは同一なままである。
一つ以上のメッセージ多項式mが、続いて、ステップ508において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、一つのハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュH(m)及びH(m)を含み得る。更に、前記ハッシュ関数にはランダム性が付加され得る。例えば、あるメッセージ多項式mは、H(m,c)として計算され得る。ここで、cは、当該署名の一部となるランダム値である。
ステップ510において、第一のランダム秘密多項式rが空間Sから選択される。好適には、前記多項式rは短いまたはやや短い。ステップ512において、第一の中間秘密多項式tが次の式に従って計算される:
=r*h(mod q) (28)
ステップ514において、第二の中間秘密多項式aが、短くあるべきであるが、量 t+a*e(mod q) のメッセージmからの偏差(deviation)が少ないまたはない、というように選択される。より具体的には、aの係数群は、式30を用いて後記のように計算されるvがpを法としてのメッセージ多項式mからの偏差(deviation)を少なく有するまたは全く有しない、というように選択される。加えて、ワンタイム秘密鍵eのやや大きい係数eは、量 t+a*e(mod q) の係数群が区間 (−q/2,q/2) の中心に近い、というように選択され得る。このことは、これらの係数群がqを法とした操作において規約化されることを防ぐことを助け、それによって更に、pを法とした偏差(deviation)の可能性も低減する。
初めの二つの中間秘密多項式t及びaを与えられると、第一のデジタル署名多項式uが、ステップ516において、次の式に従って生成される:
=r+a*f(mod q) (29)
第二のデジタル署名多項式vが、続いて、ステップ518において、次の式に従って生成される:
=t+a*e(mod q) (30)
ステップ520において、第二のランダム秘密多項式rが空間Sから選択される。好適には、多項式rは、短いかまたはやや短い。続いてステップ522において、第三の中間秘密多項式tが、次の式に従って計算される:
=r*h(mod q) (31)
ステップ524において、第四の中間秘密多項式aが、短くあるべきであるが、量 t+a*e(mod q) のメッセージmからの偏差(deviation)が少ないまたはない、というように選択される。これは、ステップ514においてaに関連して記述されたものと同様の態様で達成される。多項式a及びa並びに係数eの値の選択において、第二及び第四のデジタル署名多項式v及びvの偏差(deviation)を防ぐことに主眼が置かれる。u及びuがやや短いことを保証するためにa及びaは短い多項式であらなければならないが、u及びuの検証の制約はそれらのmからの偏差(deviation)よりむしろそれらのユークリッドノルムに依存するため、uまたはuの偏差を防ぐ必要性はない。このことは、多項式v及びvの係数の極めて正確な操作を見込み、v及びvの偏差を効果的に防ぐことを可能とする。
第三及び第四の中間秘密多項式を与えられると、第三のデジタル署名多項式uが、ステップ526において、次の式に従って生成される:
=r+a*f(mod q) (32)
第四のデジタル署名多項式vが、続いて、ステップ528において、次の式に従って生成される:
=t+a*e(mod q) (33)
集合的に、四つのデジタル署名多項式(u,u,v,v)が当該メッセージの署名を構成する。
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u、u、v及びvを意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ530において、前述の実施の形態において用いられたものと同一の3つの修正された条件Bの比較を実施することにより、前記デジタル署名を検証し得る。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の多重利用の公開鍵とが予め定められた関係
Figure 0004053431
を満たすことを確認する。第二に、前記検証者は、前記第一及び第三のデジタル署名多項式u及びuの各々がやや短いということを確認する。第三に、前記検証者は、前記メッセージmと第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。三つの比較の全てが満たされた場合、前記検証者は、署名が真正であると判断する。
本実施の形態によると、第二及び第四のデジタル署名多項式v及びvのみが、メッセージとの間の偏差(deviation)のために比較される必要がある、ということに留意されたい。これは、前述の実施の形態と同様に、第一及び第三のデジタル署名多項式u及びuが、単独で、第二の比較によって制約されているからである。前記第二の比較は、より厳密なユークリッドノルム閾値であって、u及びuの両方がやや短いことを要求する。加えて、本実施の形態におけるワンタイム秘密鍵eの利用は、前述の実施の形態に関連してより完全に記述されたように、それを平均化攻撃(averaging attack)から防御する。
平均化攻撃(averaging attack)に対する更なる防御のために、前述の実施の形態と同様に、デジタル署名多項式の生成において、補助的な多重利用秘密多項式f’及びg’が含まれ得る。特に、rはr=a’*f’として計算され得て、rはr=a’*g’として計算され得る。前述のように、補助的な多重利用秘密多項式f’及びg’の利用は、デジタル署名多項式の複写(transcript)の収束値を操作し、平均化攻撃(averaging attack)を用いて秘密鍵多項式f及びgに関する有用な情報を取得することを顕著に困難にする。更なる防御の手段として、一つより多い補助的な多重利用秘密多項式が、各々のデジタル署名多項式を生成するために使用され得る。例えば、rはr=a’*f’+a’’*f’’として計算され得て、rはr=a’*g’+a’’*g’’として計算され得る。
前述の実施の形態と同様に、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。多項式a及びa並びに係数eの正確な制御が可能であることに大きく起因して、実験結果は、本発明のこの実施の形態が、N/100以下の偏差(deviation)(即ち、N=251に対して2以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。実際に、本実施の形態において注意深くa、a及びeを選択することによって、署名者は、全く偏差(deviation)のないデジタル署名を、それでもなお秘密鍵に関する有用な情報を漏洩することなく、確実に生成し得る。
本発明によるデジタル署名を生成し検証する様々な方法が記述されてきた。これらの方法を本発明の別の実施の形態に従って実践するためのシステムが、図6に関連して記述される。このシステムは、複数の利用者602、604、606、608を含んでいる。前記利用者の各々は、署名者及び/または検証者の役割を果たし得る。各々の利用者は、メモリー612と双方向に通信するプロセッサー610を含んでいる。前記プロセッサー610は、前述の手続きを実施するために、また、別の利用者へ伝送すべき情報を生成するために、適切なプログラムコードを実行する。適切なプログラムコードは、公知の方法によって作成され得る。メモリー612は、プログラムコードのみでなく、中間結果や、デジタル署名の生成及び検証の手続きの実施の間に使用される他の情報を記憶する。
通信ネットワーク620が提供され、利用者は当該通信ネットワーク上で通信し得る。通信ネットワーク620は、例えば、適切な通信ネットワークを提供する、LANコンピュータネットワーク、WANコンピュータネットワーク及び/または携帯電話ネットワークを含む、様々な一般的な形態であり得る。
本発明によると、利用者602は、デジタル署名を生成し通信ネットワーク620を介して利用者608へと伝送し得る。利用者608は、続いて、利用者602の署名を前述の手続きに従って検証し得る。利用者604及び利用者606は、通信ネットワーク620を介して同様の態様で通信し得る。加えて、利用者604及び利用者606は、図6に示されるように適切な直接の通信リンクを介してお互いに直接的に通信し得る。
信頼される認証局630が、様々な利用者602、604、606、608と関連付けられた公開鍵を記憶及び分配するために設けられる。例えば、利用者608からの署名を検証する前に、利用者602は、前述の検証手続きにおいて使用される利用者608の公開鍵のコピーを提供することを、認証局630へ要求し得る。
本発明は、特に好適な実施の形態及び例図に関連して詳細に記述されてきたが、本発明の趣旨及び範囲内において変形や修正が行われ得ることが理解される。
本発明の一つの現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。 本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。 本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。 本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。 本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。 本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証するためのシステムを表すブロック図を示している。

Claims (36)

  1. 通信装置において、メッセージのデジタル署名を生成して検証する方法であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでおり、
    Nが1より大きい整数であるとして、プロセッサーが、メモリーに記憶されている環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択する工程と、
    前記プロセッサーが、前記メモリーに記憶されている前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択する工程と、
    Figure 0004053431
    を計算する工程と、
    前記プロセッサーが、前記メッセージを用いて一つ以上のメッセージ多項式mを生成する工程と、
    前記プロセッサーが、第一中間秘密多項式s及び第二中間秘密多項式tを、s*h=tであるように、また、s及びtがpを法として実質的に一致するように、選択する工程と、
    前記プロセッサーが、第三の中間秘密多項式aを、前記メッセージ多項式mの一つと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように、選択する工程と、
    前記プロセッサーが、前記第一デジタル署名多項式u=s+a*f(mod q)を計算する工程と、
    前記プロセッサーが、前記第二デジタル署名多項式v=t+a*g(mod q)を計算する工程と、
    前記プロセッサーが、前記デジタル署名を、少なくとも、前記メッセージ多項式mの一つ以上と前記第一デジタル署名多項式uとの間の第一偏差(deviation)が予め定められた偏差閾値よりも小さいことと、前記メッセージ多項式mの一つ以上と前記第二デジタル署名多項式vとの間の第二偏差(deviation)が予め定められた偏差閾値よりも小さいこととを確認することにより、検証する工程とを備えることを特徴とする方法。
  2. 前記秘密鍵多項式f及びgは、各々、pを法として前記環Rの多項式kと一致しており、
    前記秘密鍵多項式f及びgの各々は、
    Figure 0004053431
    のオーダーのユークリッドノルムを有していることを特徴とする請求項1に記載の方法。
  3. 前記プロセッサーが、前記環Rのランダム多項式rを選択する工程を更に備えると共に、
    第一中間秘密多項式sの選択は、s=pr*(1−h)−1(mod q)の計算を含み、
    第二中間秘密多項式tの選択は、t=s*h(mod q)の計算を含み、
    第三中間秘密多項式aの選択は、a=f −1*(m−s)(mod p)の計算を含んでいることを特徴とする請求項3に記載の方法。
  4. 前記予め定められた偏差閾値は、N/8以下であることを特徴とする請求項1に記載の方法。
  5. 前記ランダム多項式rは、r(1)=0というように選択されることを特徴とする請求項1に記載の方法。
  6. 通信装置において、メッセージのデジタル署名を生成して検証する方法であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでおり、
    Nが1より大きい整数であるとして、プロセッサーが、メモリーに記憶されている環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択する工程と、
    前記プロセッサーが、前記メモリーに記憶されている前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択する工程と、
    前記プロセッサーが、
    Figure 0004053431
    を計算する工程と、
    前記プロセッサーが、前記メッセージを用いて、一つ以上のメッセージ多項式mを生成する工程と、
    前記プロセッサーが、ランダム多項式rを選択する工程と、
    前記プロセッサーが、第一中間多項式t=r*h(mod q)を計算する工程と、
    前記プロセッサーが、第二中間多項式aを、
    Figure 0004053431
    のオーダーのユークリッドノルムを有して、メッセージ多項式mと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択する工程と、
    前記プロセッサーが、前記第一デジタル署名多項式u=r+a*f(mod q)を計算する工程と、
    前記プロセッサーが、前記第二デジタル署名多項式v=t+a*g(mod q)を計算する工程と、
    前記プロセッサーが、前記デジタル署名を、少なくとも、前記第一デジタル署名多項式uのユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証する工程とを備えることを特徴とする方法。
  7. 前記ランダム多項式rは、Nまたはより小さいオーダーのユークリッドノルムを有することを特徴とする請求項3又は6に記載の方法。
  8. 第二中間多項式aの選択は、
    Figure 0004053431
    を計算することを含むことを特徴とする請求項6に記載の方法。
  9. 前記予め定められた偏差閾値は、N/12以下であることを特徴とする請求項8に記載の方法。
  10. 前記デジタル署名の検証は、u*h=v(mod q)であることを確認することを更に含むことを特徴とする請求項1又は6に記載の方法。
  11. 通信装置において、メッセージのデジタル署名を生成して検証する方法であって、
    前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含んでおり、
    Nが1より大きい整数であるとして、プロセッサーが、メモリーに記憶されている環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択する工程と、
    前記プロセッサーが、前記メモリーに記憶されている前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択する工程と、
    前記プロセッサーが、
    Figure 0004053431
    を計算する工程と、
    前記プロセッサーが、前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵を選択する工程と、
    前記プロセッサーが、ワンタイム公開鍵多項式h及びhの一つのペアを、h=f−1*e(mod q)及びh=g−1*e(mod q)のように生成する工程と、
    前記プロセッサーが、第一ランダム多項式rを選択する工程と、
    前記プロセッサーが、第一中間多項式t=r*h(mod q)を計算する工程と、
    前記プロセッサーが、第二中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択する工程と、
    前記プロセッサーが、前記第一デジタル署名多項式u=r+a*f(mod q)を計算する工程と、
    前記プロセッサーが、前記第二デジタル署名多項式v=t+a*e(mod q)を計算する工程と、
    前記プロセッサーが、第二ランダム多項式rを選択する工程と、
    前記プロセッサーが、第三中間多項式t=r*h(mod q)を計算する工程と、
    前記プロセッサーが、第四中間多項式aを、aのユークリッドノルムが、
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択する工程と、
    前記プロセッサーが、前記第三デジタル署名多項式u=r+a*g(mod q)を計算する工程と、
    前記プロセッサーが、前記第四デジタル署名多項式v=t+a*e(mod q)を計算する工程と、
    前記プロセッサーが、前記デジタル署名を、少なくとも、前記第一及び第三のデジタル署名多項式u及びuの各々のユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証する工程とを備えることを特徴とする方法。
  12. 前記秘密鍵多項式f及びgの各々は、
    Figure 0004053431
    のオーダーのユークリッドノルムを有することを特徴とする請求項6又は11に記載の方法。
  13. 前記ランダム多項式r及びrは、各々、Nまたはより小さいオーダーのユークリッドノルムを有することを特徴とする請求項11に記載の方法。
  14. 第二中間多項式aの選択は、
    Figure 0004053431
    を計算することを含み、
    第四中間多項式aの選択は、
    Figure 0004053431
    を計算することを含むことを特徴とする請求項11に記載の方法。
  15. 前記予め定められた偏差閾値は、N/12以下であることを特徴とする請求項14に記載の方法。
  16. ワンタイム秘密鍵多項式eを含むワンタイム秘密鍵の選択は、eの第一係数eをq/2pのオーダーとなるよう選択することを更に含むことを特徴とする請求項11に記載の方法。
  17. 前記予め定められた偏差閾値は、N/100以下であることを特徴とする請求項16に記載の方法。
  18. 前記予め定められた偏差閾値は、ゼロであることを特徴とする請求項16に記載の方法。
  19. 前記第一ランダム多項式r及び前記第二ランダム多項式rの選択は、r及びrを計算するための一つ以上の補助的な多重利用秘密多項式を用いることを更に含むことを特徴とする請求項11に記載の方法。
  20. 第一ランダム多項式rの選択は、a’が第一のランダムな短い多項式であり、f’が第一の補助的な多重利用秘密多項式であるとして、r=a’*f’を計算する工程を更に含み、
    第二ランダム多項式rの選択は、a’が第二のランダムな短い多項式であり、g’が第二の補助的な多重利用多項式であるとして、r=a’*g’を計算する工程を更に含むことを特徴とする請求項19に記載の方法。
  21. 第一ランダム多項式rの選択は、a’及びa’’が第一及び第二のランダムな短い多項式であり、f’及びf’’が第一及び第二の補助的な多重利用秘密多項式であるとして、r=a’*f’+a’’*f’’を計算する工程を更に含み、
    第二ランダム多項式rの選択は、a’及びa’’が第三及び第四のランダムな短い多項式であり、g’及びg’’が第三及び第四の補助的な多重利用秘密多項式であるとして、r=a’*g’+a’’*g’’を計算する工程を更に含むことを特徴とする請求項19に記載の方法。
  22. 前記デジタル署名を検証する工程は、
    Figure 0004053431
    であることを確認する工程を更に含んでいることを特徴とする請求項11に記載の方法。
  23. 前記メッセージ多項式mは、一つ以上の安全なハッシュ関数H(m)を用いて生成されることを特徴とする請求項1、6又は11に記載の方法。
  24. メッセージのデジタル署名を生成して検証するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記メッセージを用いて、一つ以上のメッセージ多項式mを生成し、
    第一中間秘密多項式s及び第二中間秘密多項式tを、s*h=tであるように、また、s及びtがpを法として実質的に一致するように、選択し、
    第三の中間秘密多項式aを、前記メッセージ多項式mの一つと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように、選択し、
    前記第一デジタル署名多項式u=s+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*g(mod q)を計算し、
    前記デジタル署名を、少なくとも、前記メッセージ多項式mの一つ以上と前記第一デジタル署名多項式uとの間の第一偏差(deviation)が予め定められた偏差閾値よりも小さいことと、前記メッセージ多項式mの一つ以上と前記第二デジタル署名多項式vとの間の第二偏差(deviation)が予め定められた偏差閾値よりも小さいこととを確認することにより検証するように機能し得るプロセッサーとを備えることを特徴とする装置。
  25. メッセージのデジタル署名を生成して検証するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記メッセージを用いて、一つ以上のメッセージ多項式mを生成し、
    ランダム多項式rを選択し、
    第一中間多項式t=r*h(mod q)を計算し、
    第二中間多項式aを、
    Figure 0004053431
    のオーダーのユークリッドノルムを有して、メッセージ多項式mと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第一デジタル署名多項式u=r+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*g(mod q)を計算し、
    前記デジタル署名を、少なくとも、前記第一デジタル署名多項式uのユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証するように機能し得るプロセッサーとを備えることを特徴とする装置。
  26. メッセージのデジタル署名を生成して検証するための装置であって、
    前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵を選択し、
    ワンタイム公開鍵多項式h及びhの一つのペアを、h=f−1*e(mod q)及びh=g−1*e(mod q)のように生成し、
    第一ランダム多項式rを選択し、
    第一中間多項式t=r*h(mod q)を計算し、
    第二中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第一デジタル署名多項式u=r+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*e(mod q)を計算し、
    第二ランダム多項式rを選択し、
    第三中間多項式t=r*h(mod q)を計算し、
    第四中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第三デジタル署名多項式u=r+a*g(mod q)を計算し、
    前記第四デジタル署名多項式v=t+a*e(mod q)を計算し、
    前記デジタル署名を、少なくとも、前記第一及び第三のデジタル署名多項式u及びuの各々のユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が予め定められた偏差閾値以下であることと、を確認することにより検証するように、機能し得るプロセッサーとを備えることを特徴とする装置。
  27. メッセージのデジタル署名を生成するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記メッセージを用いて、一つ以上のメッセージ多項式mを生成し、
    第一中間秘密多項式s及び第二中間秘密多項式tを、s*h=tであるように、また、s及びtがpを法として実質的に一致するように、選択し、
    第三の中間秘密多項式aを、前記メッセージ多項式mの一つと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように、選択し、
    前記第一デジタル署名多項式u=s+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*g(mod q)を計算するように機能し得るプロセッサーとを備えることを特徴とする装置。
  28. メッセージのデジタル署名を生成するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記メッセージを用いて、一つ以上のメッセージ多項式mを生成し、
    ランダム多項式rを選択し、
    第一中間多項式t=r*h(mod q)を計算し、
    第二中間多項式aを、
    Figure 0004053431
    のオーダーのユークリッドノルムを有して、メッセージ多項式mと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第一デジタル署名多項式u=r+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*g(mod q)を計算するように機能し得るプロセッサーとを備えることを特徴とする装置。
  29. メッセージのデジタル署名を生成するための装置であって、
    前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含むことを特徴としており、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とを記憶するためのメモリーと、
    Figure 0004053431
    を計算し、
    前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵を選択し、
    ワンタイム公開鍵多項式h及びhの一つのペアを、h=f−1*e(mod q)及びh=g−1*e(mod q)のように生成し、
    第一ランダム多項式rを選択し、
    第一中間多項式t=r*h(mod q)を計算し、
    第二中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第一デジタル署名多項式u=r+a*f(mod q)を計算し、
    前記第二デジタル署名多項式v=t+a*e(mod q)を計算し、
    第二ランダム多項式rを選択し、
    第三中間多項式t=r*h(mod q)を計算し、
    第四中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択し、
    前記第三デジタル署名多項式u=r+a*g(mod q)を計算し、
    前記第四デジタル署名多項式v=t+a*e(mod q)を計算するように機能し得るプロセッサーとを備えることを特徴とする装置。
  30. メッセージのデジタル署名を検証するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含み、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とから計算される
    Figure 0004053431
    に対して、第一中間秘密多項式s及び第二中間秘密多項式tが、s*h=tであるように、また、s及びtがpを法として実質的に一致するように、選択されており、
    前記メッセージを用いて一つ以上のメッセージ多項式mが生成されており、
    第三の中間秘密多項式aが、前記メッセージ多項式mの一つと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択されており
    前記第一デジタル署名多項式u=s+a*f(mod q)が計算され、
    前記第二デジタル署名多項式v=t+a*g(mod q)が計算されていることを特徴としており、
    前記デジタル署名を、少なくとも、前記メッセージ多項式mの一つ以上と前記第一デジタル署名多項式uとの間の第一偏差(deviation)が予め定められた偏差閾値よりも小さいことと、前記メッセージ多項式mの一つ以上と前記第二デジタル署名多項式vとの間の第二偏差(deviation)が予め定められた偏差閾値よりも小さいこととを確認することにより検証するように機能し得るプロセッサーを備えることを特徴とする装置。
  31. メッセージのデジタル署名を生成して検証するための装置であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含み、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とから計算される
    Figure 0004053431
    に対して、第一中間多項式t=r*h(mod q)が計算され、
    前記メッセージを用いて一つ以上のメッセージ多項式mが生成されており、
    ランダム多項式rが選択され、
    第二中間多項式aが、
    Figure 0004053431
    のオーダーのユークリッドノルムを有して、メッセージ多項式mと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択されており、
    前記第一デジタル署名多項式u=r+a*f(mod q)が計算され、
    前記第二デジタル署名多項式v=t+a*g(mod q)が計算されていることを特徴としており、
    前記デジタル署名を、少なくとも、前記第一デジタル署名多項式uのユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証するように、機能し得るプロセッサーを備えることを特徴とする装置。
  32. メッセージのデジタル署名を検証するための装置であって、
    前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含み、
    Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqと、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵とに基づいて、
    Figure 0004053431
    が計算され、
    前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵が選択され、
    ワンタイム公開鍵多項式h及びhの一つのペアが、h=f−1*e(mod q)及びh=g−1*e(mod q)のように生成され、
    第一ランダム多項式rが選択され、
    第一中間多項式t=r*h(mod q)が計算され、
    第二中間多項式aを、aのユークリッドノルムが、
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択され、
    前記第一デジタル署名多項式u=r+a*f(mod q)が計算され、
    前記第二デジタル署名多項式v=t+a*e(mod q)が計算され、
    第二ランダム多項式rが選択され、
    第三中間多項式t=r*h(mod q)が計算され、
    第四中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択され、
    前記第三デジタル署名多項式u=r+a*g(mod q)が計算され、
    前記第四デジタル署名多項式v=t+a*e(mod q)が計算されていることを特徴としており、
    前記デジタル署名を、少なくとも、前記第一及び第三のデジタル署名多項式u及びuの各々のユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証するように機能し得るプロセッサーを備えることを特徴とする装置。
  33. 少なくとも1台のプロセッサーにより実行されて、請求項24乃至32のいずれか一項に記載の装置を実現させるプログラム。
  34. 通信装置に、メッセージのデジタル署名を生成させて検証させる方法であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでおり、
    第1通信装置に、Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択させる工程と、
    前記第1通信装置に、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択させる工程と、
    Figure 0004053431
    を前記第1通信装置に計算させる工程と、
    前記第1通信装置に、前記メッセージを用いて、一つ以上のメッセージ多項式mを生成させる工程と、
    前記第1通信装置に、第一中間秘密多項式s及び第二中間秘密多項式tを、s*h=tであるように、また、s及びtがpを法として実質的に一致するように選択させる工程と、
    前記第1通信装置に、第三の中間秘密多項式aを、前記メッセージ多項式mの一つと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択させる工程と、
    前記第1通信装置に、前記第一デジタル署名多項式u=s+a*f(mod q)を計算させる工程と、
    前記第1通信装置に、前記第二デジタル署名多項式v=t+a*g(mod q)を計算させる工程と、
    第2通信装置に、前記デジタル署名を、少なくとも、前記メッセージ多項式mの一つ以上と前記第一デジタル署名多項式uとの間の第一偏差(deviation)が予め定められた偏差閾値よりも小さいことと、前記メッセージ多項式mの一つ以上と前記第二デジタル署名多項式vとの間の第二偏差(deviation)が予め定められた偏差閾値よりも小さいこととを確認することにより検証させる工程とを備えることを特徴とする方法。
  35. 通信装置に、メッセージのデジタル署名を生成させて検証させる方法であって、
    前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでおり、
    第1通信装置に、Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択させる工程と、
    前記第1通信装置に、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択させる工程と、
    Figure 0004053431
    を前記第1通信装置に計算させる工程と、
    前記第1通信装置に、前記メッセージを用いて、一つ以上のメッセージ多項式mを生成させる工程と、
    前記第1通信装置に、ランダム多項式rを選択させる工程と、
    前記第1通信装置に、第一中間多項式t=r*h(mod q)を計算させる工程と、
    前記第1通信装置に、第二中間多項式aを、
    Figure 0004053431
    のオーダーのユークリッドノルムを有して、メッセージ多項式mと量t+a*g(mod q)との間の偏差(deviation)の数を最小化するように選択させる工程と、
    前記第1通信装置に、前記第一デジタル署名多項式u=r+a*f(mod q)を計算させる工程と、
    前記第1通信装置に、前記第二デジタル署名多項式v=t+a*g(mod q)を計算させる工程と、
    第2通信装置に、前記デジタル署名を、少なくとも、前記第一デジタル署名多項式uのユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証させる工程とを備えることを特徴とする方法。
  36. 通信装置に、メッセージのデジタル署名を生成させて検証する方法であって、
    前記デジタル署名は、四つのデジタル署名多項式u、v、u及びvを含んでおり、
    第1通信装置に、Nが1より大きい整数であるとして、環R=Z[X]/(X−1)の互いに素なイデアルp及びqを選択させる工程と、
    前記第1通信装置に、前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択させる工程と、
    Figure 0004053431
    を前記第1通信装置に計算させる工程と、
    前記第1通信装置に、前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵を選択させる工程と、
    前記第1通信装置に、ワンタイム公開鍵多項式h及びhの一つのペアを、h=f−1*e(mod q)及びh=g−1*e(mod q)のように生成させる工程と、
    前記第1通信装置に、第一ランダム多項式rを選択させる工程と、
    前記第1通信装置に、第一中間多項式t=r*h(mod q)を計算させる工程と、
    前記第1通信装置に、第二中間多項式aを、aのユークリッドノルムが
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択させる工程と、
    前記第1通信装置に、前記第一デジタル署名多項式u=r+a*f(mod q)を計算させる工程と、
    前記第1通信装置に、前記第二デジタル署名多項式v=t+a*e(mod q)を計算させる工程と、
    前記第1通信装置に、第二ランダム多項式rを選択させる工程と、
    前記第1通信装置に、第三中間多項式t=r*h(mod q)を計算させる工程と、
    前記第1通信装置に、第四中間多項式aを、aのユークリッドノルムが、
    Figure 0004053431
    のオーダーであって、メッセージ多項式mの一つと量t+a*e(mod q)との間の偏差(deviation)の数を最小化するように選択させる工程と、
    前記第1通信装置に、前記第三デジタル署名多項式u=r+a*g(mod q)を計算させる工程と、
    前記第1通信装置に、前記第四デジタル署名多項式v=t+a*e(mod q)を計算させる工程と、
    第2通信装置に、前記デジタル署名を、少なくとも、前記第一及び第三のデジタル署名多項式u及びuの各々のユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二及び第四のデジタル署名多項式v及びvの各々との間の偏差(deviation)が予め定められた偏差閾値以下であることとを確認することにより検証させる工程とを備えることを特徴とする方法。
JP2002588007A 2001-05-04 2002-05-03 環ベースの署名スキーム Expired - Fee Related JP4053431B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28884101P 2001-05-04 2001-05-04
PCT/US2002/014099 WO2002091664A1 (en) 2001-05-04 2002-05-03 Ring-based signature scheme

Publications (3)

Publication Number Publication Date
JP2004526387A JP2004526387A (ja) 2004-08-26
JP2004526387A5 JP2004526387A5 (ja) 2005-12-22
JP4053431B2 true JP4053431B2 (ja) 2008-02-27

Family

ID=23108876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002588007A Expired - Fee Related JP4053431B2 (ja) 2001-05-04 2002-05-03 環ベースの署名スキーム

Country Status (4)

Country Link
EP (1) EP1397884A4 (ja)
JP (1) JP4053431B2 (ja)
CN (1) CN1268086C (ja)
WO (1) WO2002091664A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1873965A1 (en) * 2005-04-18 2008-01-02 Matsushita Electric Industrial Co., Ltd. Signature generation device and signature verification device
JPWO2006114948A1 (ja) * 2005-04-18 2008-12-18 松下電器産業株式会社 署名生成装置および署名検証装置
CN101965711B (zh) 2008-04-09 2014-12-03 松下电器产业株式会社 签名及验证方法、签名生成装置及签名验证装置
CN102006165B (zh) * 2010-11-11 2012-11-07 西安理工大学 基于多变量公钥密码对消息匿名环签名的方法
JP5790319B2 (ja) * 2011-08-29 2015-10-07 ソニー株式会社 署名検証装置、署名検証方法、プログラム、及び記録媒体
WO2015004065A1 (en) * 2013-07-12 2015-01-15 Koninklijke Philips N.V. Electronic signature system
WO2020000254A1 (zh) * 2018-06-27 2020-01-02 深圳大学 一种标准模型下的紧凑环签名方法及系统
CN109743181B (zh) * 2019-01-14 2022-04-19 深圳大学 一种邮件隐私保护方法、装置及终端设备
CN112003707A (zh) * 2020-08-25 2020-11-27 湖南宸瀚信息科技有限责任公司 一种抗量子计算攻击的区块链数字签名加密方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
US5375170A (en) * 1992-11-13 1994-12-20 Yeda Research & Development Co., Ltd. Efficient signature scheme based on birational permutations
US5740250A (en) * 1995-12-15 1998-04-14 Moh; Tzuong-Tsieng Tame automorphism public key system
CA2263588C (en) * 1996-08-19 2005-01-18 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus

Also Published As

Publication number Publication date
EP1397884A1 (en) 2004-03-17
CN1462520A (zh) 2003-12-17
CN1268086C (zh) 2006-08-02
WO2002091664A1 (en) 2002-11-14
JP2004526387A (ja) 2004-08-26
EP1397884A4 (en) 2006-02-15

Similar Documents

Publication Publication Date Title
Moriarty et al. PKCS# 1: RSA cryptography specifications version 2.2
Mironov Hash functions: Theory, attacks, and applications
US20040151309A1 (en) Ring-based signature scheme
JP4687465B2 (ja) ミックスネットシステム
US9160530B2 (en) Method and apparatus for verifiable generation of public keys
US8116451B2 (en) Key validation scheme
RU2340108C2 (ru) Эффективное шифрование и аутентификация для систем обработки данных
Unger et al. Improved strongly deniable authenticated key exchanges for secure messaging
US8661240B2 (en) Joint encryption of data
CN111342976B (zh) 一种可验证的理想格上门限代理重加密方法及系统
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
JP4053431B2 (ja) 環ベースの署名スキーム
CN111565108B (zh) 签名处理方法、装置及系统
KR20010013155A (ko) 자동 복구가능하고 자동 증명가능한 암호체계들
CN115336224A (zh) 自适应抗攻击分布式对称加密
EP1796308A2 (en) Ring-based signature scheme
Hall et al. Manifesting Unobtainable Secrets: Threshold Elliptic Curve Key Generation using Nested Shamir Secret Sharing
Duc et al. DiAE: Re-rolling the DiSE
Pacheco et al. Secure Dynamic Data Storage with Third Party Arbitration in Cloud
Pajčin et al. Analysis of software realized DSA algorithm for digital signature
WO2023237894A1 (en) Blind signature system and method using lattice-based cryptography
van Oorschot et al. Cryptographic Building Blocks
Izu et al. Analysis on Bleichenbacher's forgery attack
CN115174101A (zh) 一种基于sm2算法的可否认环签名生成方法及系统
Miller A hash-chain based method for full or partial authentication of communication in a real-time wireless environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050221

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071205

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees