JP2004526387A - 環ベースの署名スキーム - Google Patents
環ベースの署名スキーム Download PDFInfo
- Publication number
- JP2004526387A JP2004526387A JP2002588007A JP2002588007A JP2004526387A JP 2004526387 A JP2004526387 A JP 2004526387A JP 2002588007 A JP2002588007 A JP 2002588007A JP 2002588007 A JP2002588007 A JP 2002588007A JP 2004526387 A JP2004526387 A JP 2004526387A
- Authority
- JP
- Japan
- Prior art keywords
- digital signature
- polynomial
- polynomials
- message
- secret key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
【0001】
出願人は、米国特許法第119条(e)に基づき、2001年5月4日出願された米国仮特許出願第60/288,841号の優先権を主張するものであり、当該仮特許出願は引用によって本願に組み込まれる。
【発明の背景】
【0002】
本発明は、一般に、暗号法、及び、コンピュータネットワークを介したまたは他のタイプのシステムならびに装置を介した安全な(秘密保護の)通信、に関しており、より特別には、環ベースの多項式代数を用いたデジタル署名の生成及び検証に関している。
【0003】
デジタル署名は、安全な通信において、認証、データ保護及び否認防止を含む、様々な機能を果たしている。典型的には、デジタル署名は、送信すべきメッセージの内容と、署名者のIDと、の両方に施される。公開鍵暗号システムにおいて、デジタル署名は、典型的には、署名者のみに知られる秘密鍵と、署名すべきメッセージと、を用いて生成される。誰にでも知られ得る公開鍵は、続いて、当該署名を検証するために用いられる。
【0004】
デジタル署名は、署名されたメッセージの受領者が、前記署名者が前記秘密鍵を保有していることを確信するというように、検証可能でなければならない。例えば、メッセージの受領者は、署名者のデジタル署名が真正であることを検証するために、署名者の公開鍵を用いることが可能でなければならない。加えて、デジタル署名の偽造は、実行不能でなければならない。最後に、署名者の秘密鍵を危機にさらすことを避けるために、デジタル署名は秘密鍵に関する有用な情報を漏洩してはならない。
【0005】
デジタル署名を生成し検証するための様々な手法及びシステムが知られており、コンピュータネットワークや他の通信システム、例えば携帯電話ネットワーク、の中で利用されてきた。高速で効率的な署名の生成及び検証を提供するデジタル署名スキームの設計は、特別に強調されてきた。例えば、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は、相当に短く容易に生成される鍵を用いており、高速で、かつ、メモリー要求が少ない。
【0006】
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)し得る。
【0007】
偏差(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暗号解析文献」という。
【0008】
結果的に、高速で、効率的でかつ安全なデジタル署名システムへの要求は残存している。従って、本発明の目的は、攻撃者がデジタル署名の偽造を生成することが不可能な、高速で、効率的でかつ安全なデジタル署名システムを提供することである。署名者の秘密鍵についての有用な情報を漏洩しないデジタル署名の生成を可能とすることもまた、本発明の目的である。
【好適な実施の形態の簡単な要約】
【0009】
本発明によれば、高速で、効率的でかつ安全なデジタル署名の生成及び検証を可能にし、署名の偽造を不可能にし、また、署名者の秘密鍵についての有用な情報を漏洩しない署名を提供する、というデジタル署名の方法及びシステムが記述される。
【0010】
本発明の一つの特徴によれば、メッセージのデジタル署名を生成して検証する方法が提供されている。前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。環Rの二つの互いに素なイデアルp及びqが選択される。秘密鍵は、前記環Rの一つ以上の秘密鍵多項式を含むように選択される。公開鍵は、前記秘密鍵及び前記第二イデアルqを用いて生成される。前記メッセージを用いて、一つ以上のメッセージ多項式が生成される。デジタル署名は、続いて、少なくとも以下の要素:(a)前記メッセージ多項式の少なくとも一つ(前記メッセージ多項式群の中の少なくとも一つの多項式)、(b)前記秘密鍵多項式の少なくとも一つ(前記秘密鍵多項式群の中の少なくとも一つの多項式)、及び、(c)前記イデアルp及びqの少なくとも一つ、を用いて、未規約化状態での前記デジタル署名多項式が前記環R上の前記秘密鍵多項式の倍数ではないというように、生成される。前記デジタル署名は続いて、少なくとも、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことを確認することにより、検証され得る。
【0011】
本発明の別の特徴によれば、あるいは、前述の検証プロセスとの組み合わせによれば、前記デジタル署名はまた、少なくとも、前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを確認することにより、検証され得る。
【0012】
本発明の別の特徴によれば、メッセージのデジタル署名を生成して検証する方法が提供されている。前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。環Rの二つの互いに素なイデアルp及びqが、選択される。秘密鍵は、前記環Rの一つ以上の秘密鍵多項式を含むように選択される。公開鍵は、前記秘密鍵及び前記第二イデアルqを用いて生成される。補助的な多重利用秘密情報が、選択される。前記メッセージを用いて、一つ以上のメッセージ多項式が生成される。デジタル署名は、続いて、少なくとも以下の要素:(a)前記メッセージ多項式の少なくとも一つ、(b)前記秘密鍵多項式の少なくとも一つ、(c)前記イデアルp及びqの少なくとも一つ、及び、(d)前記補助的な多重利用秘密情報、を用いて生成される。前記デジタル署名は続いて、少なくとも、前記デジタル署名多項式及び前記公開鍵が予め定められた関係を満たすことを確認することにより、検証され得る。
【0013】
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する方法が提供されている。ここで、前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでいる。環R=Z[X]/(XN−1)の二つの互いに素なイデアルp及びqが、選択される。ここで、Nは1より大きい整数である。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
【数1】
として計算される。第一及び第二中間秘密多項式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)の閾値よりも小さいことと、を確認することにより検証される。
【0014】
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する別の方法が提供されている。ここで、前記デジタル署名は、二つのデジタル署名多項式u及びvを含んでいる。環R=Z[X]/(XN−1)の二つのイデアルp及びqが、選択される。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
【数2】
として計算される。ランダム多項式rが選択されて、第一中間多項式tは、t=r*h(mod q)として計算される。第二の中間多項式aは、aが
【数3】
のオーダーのユークリッドノルムを有して、メッセージ多項式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)の閾値よりも小さいことと、を確認することにより検証される。
【0015】
本発明の別の実施の形態によれば、メッセージmのデジタル署名を生成して検証する方法が提供されている。ここで、前記デジタル署名は、四つのデジタル署名多項式u1、v1、u2及びv2を含んでいる。環R=Z[X]/(XN−1)の二つのイデアルp及びqが、選択される。秘密鍵が、前記環Rの二つの秘密鍵多項式f及びgを含むように選択される。公開鍵hが、
【数4】
として計算される。ワンタイム秘密鍵eが、前記環Rのワンタイム秘密鍵多項式eを含むように選択される。二つのワンタイム公開鍵多項式h1及びh2が、h1=f−1*e(mod q)及びh2=g−1*e(mod q)として生成される。第一ランダム多項式r1が、続いて選択される。次に、第一中間多項式t1が、t1=r1*h1(mod q)として計算され、第二中間多項式a1が、a1のユークリッドノルムが
【数5】
のオーダーであってメッセージ多項式の一つ(メッセージ多項式群のうちの一つの多項式)mと量 t1+a1*e(mod q) との間の偏差(deviation)の数を最小化する、というように選択される。第一デジタル署名多項式u1は、続いて、u1=r1+a1*f(mod q)として計算され、第二デジタル署名多項式v1は、v1=t1+a1*e(mod q)として計算される。第二ランダム多項式r2がまた選択されて、第三中間多項式t2が、t2=r2*h2(mod q)として計算され、第四中間多項式a2が、a2のユークリッドノルムが
【数6】
のオーダーであってメッセージ多項式の一つmと量 t2+a2*e(mod q) との間の偏差(deviation)の数を最小化する、というように選択される。第三デジタル署名多項式u2は、続いて、u2=r2+a2*g(mod q)として計算され、第四デジタル署名多項式v2は、v2=t2+a2*e(mod q)として計算される。最後に、デジタル署名は、少なくとも、第一及び第三デジタル署名多項式u1及びu2の各々のユークリッドノルムがNのオーダーであることと、メッセージmと第二及び第四デジタル署名多項式v1及びv2の各々との間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことと、を確認することにより検証される。
【0016】
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つとを用いて未規約化状態でのデジタル署名多項式が環R上の前記秘密鍵多項式の倍数ではないというようにデジタル署名多項式を生成するように、及び、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差(deviation)の閾値よりも小さいことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
【0017】
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つとを用いてデジタル署名多項式を生成するように、及び、前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
【0018】
本発明の別の実施の形態によれば、メッセージのデジタル署名を生成して検証するための装置が提供されている。ここで、前記デジタル署名は、一つ以上のデジタル署名多項式を含んでいる。前記装置は、環Rのイデアルp及びqと、環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、補助的な多重利用の秘密情報と、を記憶するためのメモリーを含んでいる。前記装置はまた、前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つとイデアルp及びqの少なくとも一つと補助的な多重利用秘密情報とを用いてデジタル署名多項式を生成するように、及び、前記デジタル署名多項式と前記公開鍵との間の偏差(deviation)が予め定められた関係を満たすことを少なくとも確認することによりデジタル署名を検証するように、機能し得るプロセッサーを含んでいる。
【0019】
引き続いての本発明の好適な実施の形態の記述は、添付の図面を参照している。
【0020】
図1は、本発明の一つの現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【0021】
図2は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【0022】
図3は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【0023】
図4は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【0024】
図5は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【0025】
図6は、本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証するためのシステムを表すブロック図を示している。
【好適な実施の形態の詳細な説明】
【0026】
添付の図面を参照して、図1は、本発明の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。デジタル署名の生成における第一ステップ102は、環Rのイデアルp及びqの選択である。好適には、pを法とした全ての操作は(−p/2,p/2]の範囲で実施され、qを法とした全ての操作は(−q/2,q/2]の範囲で実施される。一つの好適な環RはZ[X]/(XN−1)である。ここで、Zは整数環であり、Nは1より大きい整数である。ステップ104において、秘密暗号鍵が選択される。前記秘密鍵は、前記環Rの一つ以上の多項式を含んでいる。好適には、前記秘密鍵は、前記環Rの二つの多項式f及びgを含んでいる。前記秘密鍵多項式は、また、行ベクトルとしても記述され得る:
【数7】
【0027】
パラメータN、p及びqは、公知である。好適には、p及びqは、互いに素な整数で、N/3<q<2N/3 かつ p<<q である。例えば、(N,p,q)=(251,3,128)が、公開パラメータ値の一つの好適な選択である。付加的な公開パラメータは、SfとSg(秘密鍵f及びgとして許容し得る多項式の空間)及びSr(署名手続きの間に署名者が使用する中間多項式の空間)を含んでいる。これらの空間は、関連する多項式を(一様分布により選ばれたZq Nからのランダムベクトルと比べて)比較的短いユークリッド長を持つベクトルへと制約するよう設計されている。例えば、
【数8】
のオーダーのユークリッドノルムを有する多項式を短いといい、Nのオーダーのユークリッドノルムを有する多項式をやや短いという。従って、二つの短い多項式の重畳(convolution)は、典型的には一つのやや短い多項式を生成する。好適には、短い及びやや短い多項式が、前記空間Sf、Sg及びSrに含まれている。
【0028】
本発明の様々な実施の形態において使用され得る秘密鍵には、三つのタイプがある。第一の鍵のタイプ(これを鍵タイプAとする)によれば、f及びgの両方が短い多項式である。第二の鍵のタイプ(これを鍵タイプBとする)によれば、f及びgの両方が短い多項式であり、ある多項式kに対してf≡g≡k(mod p)である(即ち、f、g及びkの係数群がpを法として一致している)。第三の鍵のタイプは、ワンタイム秘密鍵eに主として用いられ、これを鍵タイプCとする。鍵タイプCによれば、eは短い多項式であるが、係数e0はやや大きい(例えば、q/2p)。
【0029】
前記秘密鍵の選択の後、ステップ106において公開鍵が生成される。好適には、公開鍵は、一つ以上の公開鍵多項式を含んでいる。例えば、秘密鍵が多項式f及びgを含んでいる場合、適切な公開鍵多項式hは、次の式を用いて生成され得る:
【数9】
式2の多項式
【数10】
は、Rq=Zq[X]/(XN−1)における多項式fの逆元を示す。「*」は、Z[X]/(XN−1)における、標準的な重畳(convolution)または多項式の積、を示す。
【数11】
一つ一つの署名のために新たな秘密鍵及び公開鍵を生成する必要はない。むしろ、秘密鍵が侵害されないかぎり、同一の秘密鍵及び公開鍵が多数のデジタル署名を生成し検証するために繰り返し用いられ得る。従って、秘密鍵多項式f及びg、並びに公開鍵多項式hは、多重利用鍵であるといい得る。
【0030】
選択的に、ステップ108において、補助的な多重利用秘密情報が選択される。補助的な多重利用秘密情報は、環Rの一つ以上の補助的な秘密多項式を含み得て、秘密鍵を補助するが、それ自身は秘密鍵に直接的に関係していない。前記補助的な多重利用秘密情報は、デジタル署名の生成において、当該署名が秘密鍵に関する有用な情報を漏洩するのを防ぐために利用され得る。このことは、秘密鍵に関する有用な情報を漏洩する署名の脆弱性を利用した二次の平均化攻撃(averaging attack)に対する防御を提供する。
【0031】
NSS署名に対する平均化攻撃(averaging attack)の使用は、NSS暗号解析文献に記述されている。端的には、平均化攻撃(averaging attack)は、秘密鍵を、当該秘密鍵で署名された多数のデジタル署名の収束を解析することにより決定する。秘密鍵自身以外のデジタル署名の生成に用いられる要素は、ランダム又は公知であるであるため、同一の秘密鍵を用いて生成された一連の署名は当該秘密鍵に関連した値へと収束する。例えば、前記公知の要素はある公知の平均値へと収束し、前記ランダムの要素は多数の署名のサンプルにより予測可能となる。一連のデジタル署名多項式をそれらの逆多項式で乗算することにより、前記公知の平均値を取り除き得て、f*frevを分離し得る。f*frevは、当該秘密鍵に直接関係する情報を提供する。このようなタイプの、ある特定の秘密鍵を用いて作られた署名の複写(transcript)の解析により、秘密鍵についての情報を抽出し得て、究極的には、当該秘密鍵そのものを判定(決定)し得る。
【0032】
本発明は、このようなタイプの平均化攻撃(averaging attack)への多重の防御を提供する。例えば、一つの防御は、ある一連の署名の収束値を操作することにより平均化攻撃(averaging attack)を欺くことに関連している。例えば、短いまたはやや短い多項式rが、ある固定の短いf’に対して、r=a’*f’というようにランダムに生成され得る。前記ベクトルf’は、秘密鍵の補完としての補助的な多重利用秘密情報であるが、秘密鍵又は公開鍵のいずれとも関連する必要が無く、好適には関連しない。従って、ある攻撃者が例えばr+a*fの形式の署名多項式の複写(transcript)に平均化攻撃(averaging attack)を実行した場合、当該攻撃者は、有用な値f*frevではなく、f*frev+f’*f’revに関連する無用な値のみを復元し得る。
【0033】
本発明による平均化攻撃(averaging attack)に対する防御のためのもう一つの方法は、適当な時間内で平均化攻撃(averaging attack)が収束しないようにすることである。例えば、ある中間秘密多項式
【数12】
が計算され得る。ここで、dは、もう一つのランダムで非常に短い多項式である。d多項式は、f*frevの収束を遅延させるノイズとしての役割を果たす。しかしながら、このような態様でのd多項式の使用は、関連するデジタル署名多項式により多くの偏差(deviation)をもたらす。従って、本アプローチは、好適には、以下により完全に記述されるように、偏差(deviation)の制約よりもユークリッドノルムの制約を用いてテストされる署名多項式に対して使用される。
【0034】
図1に示した方法に戻って、一つ以上のメッセージ多項式がステップ110で生成される。本ステップは、メッセージ依存であって、新規のデジタル署名毎に繰り返されなければならない。好適には、メッセージ多項式は環R上にあり、このことは、秘密鍵及び公開鍵の多項式と関連したメッセージ多項式の便宜的な操作を可能とする。メッセージ多項式は、一つ以上のハッシュ関数を用いる公知の方法により生成され得る。
【0035】
一つのワンタイム秘密鍵が、ステップ112において選択され得る。多重利用の秘密鍵と異なり、当該ワンタイム秘密鍵は、ただ一つの署名を生成するために用いられる。次の署名の生成には、新たなワンタイム秘密鍵が選択される。ワンタイム秘密鍵の選択は任意であるが、以下により完全に記述されるように、特に平均化攻撃(averaging attack)に関連して、デジタル署名のセキュリティを向上するために用いられ得る。
【0036】
デジタル署名の生成は、ステップ114において実施される。好適には、デジタル署名は、メッセージ多項式及び秘密鍵多項式に基づき生成される一つ以上のデジタル署名多項式を含んでいる。デジタル署名は、選択的には、メッセージ多項式及び秘密鍵多項式に加えて、補助的な多重利用秘密情報及び/またはワンタイム秘密鍵を用いて生成され得る。
【0037】
デジタル署名が生成されると、署名者は前記デジタル署名を伴ったメッセージを意図された受領者へと伝送する。当該受領者は、ステップ116において、前記デジタル署名を検証し得る。当該検証は、メッセージ、デジタル署名及び公開鍵の間の、一つ以上のタイプの比較を含み得る。ここで、前記公開鍵は、好適には、検証者に知られている。例えば、検証者は、デジタル署名多項式と公開鍵多項式との間において、予め定められた関係を確認し得る。加えて、検証者は、デジタル署名多項式とメッセージ多項式との間の偏差(deviation)が予め定められた偏差閾値と比べて小さいまたは等しいことを確認し得る。a,b∈Zq[X]/(XN−1)に対して、aとbとの間の偏差(deviation)は次のように示される:
Dev(a,b)=#{i:fi≠gi(mod p)} (4)
検証者は、また、一つ以上のデジタル署名多項式のノルムが、予め定められたノルム閾値と比べて小さいまたは等しいことを確認し得る。様々なノルム、例えばL1ノルム、L2(またはユークリッド)ノルムまたはより高次元のLpノルムのいずれかを含む、がデジタル署名多項式を制約するために使用され得る。便宜性のためには、ユークリッドノルムが好ましい。
【0038】
ある署名を検証する過程で、検証者は、一般に、これらの比較のタイプのうち、二つの組み合わせまたは三つ全てを使用する。例えば、前記署名は、一般に、デジタル署名と公開鍵との間の予め定められた関係を確認すべきである。この第一のテストに加えて、前記検証者は、一般に、デジタル署名多項式に関して少なくとももう一つの別の比較(即ち、偏差(deviation)の制約及び/またはノルムの制約)を確認すべきである。本発明の様々な署名生成及び検証の手続きが、続いて、図2乃至図5に関連してより詳細に記述される。
【0039】
図2は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ202において、一つの秘密鍵が選択される。好適には、前記秘密鍵は、鍵タイプBであって、環Rの二つの短い多項式f及びgを含んでいる。ここで、ある多項式kについてf≡g≡k(mod p)である。前記秘密鍵に基づいて、一つの公開鍵が、ステップ204において生成される。前記公開鍵は、好適には、式2に従って計算される公開鍵多項式hを含んでいる。
【0040】
一つ以上のメッセージ多項式mが、続いて、署名されるべきメッセージに基づいて、ステップ206において生成される。例えば、あるメッセージ多項式mは、好適には、あるハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュ、H1(m)及びH2(m)、を含み得る。また、前記ハッシュ関数にランダム性が加えられ得る。例えば、あるメッセージ多項式が、H(m,c)として計算され得る。ここで、cは、署名の一部となるランダム値である。
【0041】
選択的に、ステップ208において、一つのランダム秘密多項式rが、空間Srから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との間の適正な関係を実現する一つの好適な方法を提供する。
【0042】
第三の中間秘密多項式aが、ステップ214において、次の式に従って計算される:
【数13】
一般に、第三の中間多項式aは、aが小さい多項式であって、かつ、メッセージ多項式mとデジタル署名多項式u及び式9において計算されるvとの間の偏差(deviation)を最小化するというように、選択されるべきである。式7は、ある適切な第三の中間多項式aを計算する一つの好適な方法を提供する。
【0043】
三つの中間秘密多項式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を用いて直列的に修正され得る。
【0044】
三つの中間秘密多項式が与えられると、第一のデジタル署名多項式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は、環Rq上で秘密鍵多項式f及びgにより除算されたとき、それぞれ、やや短いまたはより大きい多項式を生じる。本発明の他の実施の形態は、中間秘密多項式を同じ態様で用いる。
【0045】
mまたはH(m)の代わりに二つのハッシュH1(m)及びH2(m)が署名を生成するために用いられる場合、式5における項prは、H1(m)−H2(m)(mod p) と一致する短いまたはやや短いランダム秘密多項式rに置換されるべきであって、aは、式7の次の修正版に従って計算されるべきである:
【数14】
【0046】
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u及びvの一つまたは両方を、意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ220において、少なくとも二つの比較を実施することにより、前記デジタル署名を検証し得る。集合的に、前記二つの比較を条件Aという。第一の比較において、前記検証者は、前記デジタル署名多項式と前記署名者の公開鍵とが予め定められた関係 v=u*h(mod q) を満たすことを確認する。あるいは、前記署名者が前記デジタル署名多項式のうち一つのみ、例えばu、を伝送した場合、前記検証者は他のデジタル署名多項式vを前述の予め定められた関係に従って計算し得る。この代替の方法は、一般に本発明の様々な実施の形態に適応されるが、伝送されるデジタル署名のサイズを削減することによって伝送効率を向上させる。いずれの場合にも、前記検証者は、条件Aを完全に満たすべく第二の比較を実施することを要求される。
【0047】
第二の比較において、前記検証者は、前記メッセージ多項式mと第一及び第二のデジタル署名多項式u及びvの各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。二つの異なるハッシュH1(m)及びH2(m)が署名多項式を生成するために用いられる場合、uはH1(m)からの偏差(deviation)のために調査されるべきであり、vはH2(m)からの偏差(deviation)のために調査されるべきである。例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値、が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。比較の両方が満たされた場合、前記検証者は、署名が真正であると判断する。
【0048】
セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、本発明のこの特別な実施の形態が、N/8未満の偏差(deviation)(即ち、N=251に対して31未満の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。本発明の他の実施の形態は、前記偏差閾値の更なる低減を考慮する。そのような他の実施の形態の一つが、図3に関連して記述される。
【0049】
図3は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ302において、一つの秘密鍵が選択される。好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。鍵タイプAの多項式は、鍵タイプBの多項式よりも短く(即ち、ユークリッドノルムがより小さく)なり得ることに留意されたい。これは、鍵タイプBの多項式が、互いに等しくあってはならず、かつ同時に、pを法として一致していなければならない、からである。結果として、鍵タイプBの秘密鍵多項式の一つは、必然的に、より大きい大きさの係数を有さなくてはならない。このことは、鍵タイプAの多項式には要求されない。鍵タイプAのより短い秘密鍵多項式は、従って、qを法とした規約化によってより少ない影響を受けて、故に、鍵タイプAの多項式から生成されたデジタル署名多項式は、結局、メッセージ多項式との間により少ない偏差(deviation)を有する。
【0050】
ステップ304において、一つの公開鍵が生成される。前述の実施の形態のように、前記公開鍵は、好適には、式2によって計算される公開鍵多項式hを含んでいる。一つ以上のメッセージ多項式mが、続いて、ステップ306において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、ハッシュ関数H(m)を用いて計算される。あるいは、前記メッセージ多項式は、二つの別々のハッシュH1(m)及びH2(m)を含み得る。更に、前記ハッシュ関数にはランダム性が付加され得る。例えば、メッセージ多項式mは、H(m,c)として計算され得る。ここで、cは、当該署名の一部となるランダム値である。
【0051】
ステップ308において、一つのランダム秘密多項式rが空間Srから選択される。好適には、前記多項式rは短いまたはやや短い。ステップ310において、第一の中間秘密多項式tは次の式に従って計算される:
t=r*h(mod q) (11)
【0052】
ステップ312において、第二の中間秘密多項式aが、続いて、次の式に従って計算される:
【数15】
後述される検証条件と一致して、第二の中間秘密多項式aは、短くあるように計算され、二つの中間秘密多項式t及びaの計算は、式14に従って計算される第二のデジタル署名多項式vとメッセージ多項式mとの間の偏差(deviation)を可能な限り小さくするように意図されている。
【0053】
前記二つの中間秘密多項式が与えられると、第一のデジタル署名多項式uが、ステップ314において次の式に従って生成される:
u=r+a*f(mod q) (13)
第二のデジタル署名多項式vは、続いて、ステップ316において次の式に従って生成される:
v=t+a*g(mod q) (14)
前記多項式のペア(u,v)が、前記メッセージの署名である。前記署名を生成するために、二つのハッシュH1(m)及びH2(m)がmの代わりに用いられた場合、aは、式12の次の修正版に従って計算されるべきである:
【数16】
【0054】
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u及びvを意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ318において、三つの比較を実施することにより、前記デジタル署名を検証し得る。集合的に、前記三つの比較を条件Bという。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の公開鍵とが予め定められた関係 v=u*h(mod q) を満たすことを確認する。第二に、前記検証者は、前記第一のデジタル署名多項式uがやや短いということを確認する。第三に、前記検証者は、前記メッセージ多項式mと第二のデジタル署名多項式vとの間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。三つの比較の各々が満たされた場合、前記検証者は、署名が真正であると判断する。
【0055】
二つの異なるハッシュH1(m)及びH2(m)が署名多項式を生成するために用いられる場合、vはH2(m)からの偏差(deviation)のために調査されるべきであり、uについてのユークリッドノルムの制約が、微分多項式 d=u−H1(m) がやや短いことを確認することにより、調査されるべきである。
【0056】
本実施の形態によると、第二のデジタル署名多項式vのみが、メッセージ多項式mに対する偏差(deviation)の条件を満たさなければならない、ということに留意されたい。これは、第一のデジタル署名多項式uが、単独で、uがやや短いことを要求する第二の比較によって制約されているからである。このように、条件Bは条件Aと比較して、その偏差閾値が局所的基準であることから、より厳密な基準のセットである。それは、攻撃者に多数の係数位置を無視することを許容する。前記ユークリッドノルム閾値は、反対に、大局的基準であり、それは全ての係数によって強く影響される。
【0057】
前述の実施の形態のように、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、本発明のこの特別な実施の形態が、N/12以下の偏差(deviation)(即ち、N=251に対して20以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。図4を参照して記述される次の実施の形態は、同様に、安全な署名を実現することが可能である。
【0058】
図4は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ402において、一つの秘密鍵が選択される。前述の実施の形態と同様に、好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。一つのワンタイム秘密鍵多項式eが、続いて、ステップ404において生成される。f、g及びeを与えられると、ワンタイム公開鍵多項式h1及びh2の一つのペアが、好適には、ステップ406において次の式に従って生成される:
h1=f−1*e(mod q) (16)
h2=g−1*e(mod q) (17)
あるいは、h1及びh2は、次の式に従って生成され得る:
h1=e−1*f(mod q) (18)
h2=e−1*g(mod q) (19)
式18及び式19は、h1及びh2の適切な多項式を算出するが、途中でワンタイム秘密鍵の逆元e−1(mod q)の計算を要求する。加えて、式18及び式19の利用は、後述の式21乃至式23及び式25乃至式27と同様のe、f及びgの代入を要求する。
【0059】
本実施の形態による署名の生成に使用される前記ワンタイム公開鍵多項式h1及びh2は、各々の新たな署名ごとに異なるが、前記署名の検証に用いられる多重利用の公開鍵多項式hは同一なままである。
【0060】
一つ以上のメッセージ多項式mが、続いて、ステップ408において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、一つのハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュ、H1(m)及びH2(m)、を含み得る。また、前記ハッシュ関数にランダム性が加えられ得る。例えば、あるメッセージ多項式mが、H(m,c)として計算され得る。ここで、cは、署名の一部となるランダム値である。
【0061】
ステップ410において、第一のランダム秘密多項式r1が空間Srから選択される。好適には、多項式r1は、短いかまたはやや短い。ステップ412において、第一の中間秘密多項式t1が、次の式に従って計算される:
t1=r1*h1(mod q) (20)
続いて、ステップ414において、第二の中間秘密多項式a1が、次の式に従って計算される:
【数17】
【0062】
初めの二つの中間秘密多項式を与えられると、第一のデジタル署名多項式u1が、ステップ416において、次の式に従って生成される:
u1=r1+a1*f(mod q) (22)
第二のデジタル署名多項式v1が、続いて、ステップ418において、次の式に従って生成される:
v1=t1+a1*e(mod q) (23)
【0063】
ステップ420において、第二のランダム秘密多項式r2が空間Srから選択される。好適には、多項式r2は、短いかまたはやや短い。ステップ422において、第三の中間秘密多項式t2が、次の式に従って計算される:
t2=r2*h2(mod q) (24)
ステップ424において、第四の中間秘密多項式a2が、次の式に従って計算される:
【数18】
前述四個の中間秘密多項式t1、t2、a1及びa2の計算は、メッセージ多項式mからできるだけ少ない偏差(deviation)を生成するように意図されている。
【0064】
第三及び第四の中間秘密多項式を与えられると、第三のデジタル署名多項式u2が、ステップ426において、次の式に従って生成される:
u2=r2+a2*g(mod q) (26)
第四のデジタル署名多項式v2が、続いて、ステップ428において、次の式に従って生成される:
v2=t2+a2*e(mod q) (27)
集合的に、四つのデジタル署名多項式(u1,u2,v1,v2)が当該メッセージの署名を構成する。
【0065】
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u1、u2、v1及びv2を意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ430において、前述の実施の形態において記述された3つの条件Bの比較の修正版を実施することにより、前記デジタル署名を検証し得る。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の多重利用の公開鍵とが予め定められた関係
【数19】
を満たすことを確認する。第二に、前記検証者は、前記第一及び第三のデジタル署名多項式u1及びu2の各々がやや短いということを確認する。第三に、前記検証者は、前記メッセージ多項式mと第二及び第四のデジタル署名多項式v1及びv2の各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。二つの異なるハッシュH1(m)及びH2(m)が署名多項式を生成するために用いられる場合、v1はH1(m)からの偏差(deviation)を調査されるべきであり、v2はH2(m)からの偏差(deviation)を調査されるべきである。前記の三つの比較の各々が満たされた場合、前記検証者は、署名が真正であると判断する。
【0066】
本実施の形態によると、第二及び第四のデジタル署名多項式v1及びv2のみが、メッセージ多項式mとの間の偏差(deviation)のために比較される必要がある、ということに留意されたい。これは、前述の実施の形態と同様に、第一及び第三のデジタル署名多項式u1及びu2が、単独で、第二の比較によって制約されているからである。前記第二の比較は、より厳密なユークリッドノルム閾値であって、u1及びu2の両方がやや短いことを要求する。加えて、本実施の形態におけるワンタイム秘密鍵の利用は、前記デジタル署名を平均化攻撃(averaging attack)から防御する。前記平均化攻撃は、NSS署名の秘密鍵を明かすのに利用されてきた。前記ワンタイム秘密鍵は、平均化攻撃(averaging attack)を未然に防ぐように設計されている。前記v多項式はワンタイム(一度限り利用の)秘密鍵のみに関連していることから、これらの多項式に関する平均化攻撃(averaging attack)は、有用な暗号解析情報を何も明かさない。平均化攻撃(averaging attack)は、必然的に、前記u多項式の暗号解析に限定される。
【0067】
前記u多項式への平均化攻撃(averaging attack)に対する更なる防御のために、デジタル署名多項式の生成において、補助的な多重利用秘密多項式f’及びg’が含まれ得る。特に、r1はr1=a1’*f’として計算され得て、r2はr2=a2’*g’として計算され得る。前述のように、補助的な多重利用秘密多項式f’及びg’の利用は、デジタル署名多項式の複写(transcript)の収束値を操作し、平均化攻撃(averaging attack)を用いて秘密鍵多項式f及びgに関する有用な情報を取得することを顕著に困難にする。更なる防御の手段として、一つより多い補助的な多重利用秘密多項式が、各々のデジタル署名多項式を生成するために使用され得る。例えば、r1はr1=a1’*f’+a1’’*f’’として計算され得て、r2はr2=a2’*g’+a2’’*g’’として計算され得る。
【0068】
偏差(deviation)の制約に関して、前述の実施の形態のように、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。実験結果は、前述の実施の形態と同様に、本発明のこの実施の形態が、N/12以下の偏差(deviation)(即ち、N=251に対して20以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。図5を参照して記述される次の実施の形態は、許容可能な偏差(deviation)の数を更に削減することにより、更に高い程度の安全性を提供する。
【0069】
図5は、本発明の他の一つの現時点での好適な実施の形態に係る、デジタル署名を生成し検証する方法を示すフロー図を示している。ステップ502において、一つの秘密鍵が選択される。前述の実施の形態と同様に、好適には、前記秘密鍵は、鍵タイプAであって、二つの短い多項式f及びgを含んでいる。好適には鍵タイプCの一つのワンタイム秘密鍵多項式eが、続いて、好適には第一の係数e0がやや大きい(例えば、q/2p)というように、ステップ504において生成される。f、g及びeを与えられると、公開鍵多項式h1及びh2の一つのペアが、好適には、ステップ506において、式16及び式17に従って生成される。一方、h1及びh2はまた、式18及び式19に従っても生成され得る。
【0070】
前述の実施の形態に関連して記述されたように、署名の生成に使用されるワンタイム公開鍵多項式h1及びh2は各々の新たな署名ごとに異なるが、前記署名の検証に用いられる多重利用の公開鍵多項式hは同一なままである。
【0071】
一つ以上のメッセージ多項式mが、続いて、ステップ508において署名されるべきメッセージに基づいて生成される。例えば、前述のように、メッセージ多項式mは、好適には、一つのハッシュ関数H(m)を用いて計算される。ここで、Hは、安全なハッシュ関数(セキュアハッシュ関数)である。あるいは、前記メッセージ多項式は、二つの別々のハッシュH1(m)及びH2(m)を含み得る。更に、前記ハッシュ関数にはランダム性が付加され得る。例えば、あるメッセージ多項式mは、H(m,c)として計算され得る。ここで、cは、当該署名の一部となるランダム値である。
【0072】
ステップ510において、第一のランダム秘密多項式r1が空間Srから選択される。好適には、前記多項式r1は短いまたはやや短い。ステップ512において、第一の中間秘密多項式t1が次の式に従って計算される:
t1=r1*h1(mod q) (28)
ステップ514において、第二の中間秘密多項式a1が、短くあるべきであるが、量 t1+a1*e(mod q) のメッセージmからの偏差(deviation)が少ないまたはない、というように選択される。より具体的には、a1の係数群は、式30を用いて後記のように計算されるv1がpを法としてのメッセージ多項式mからの偏差(deviation)を少なく有するまたは全く有しない、というように選択される。加えて、ワンタイム秘密鍵eのやや大きい係数e0は、量 t1+a1*e(mod q) の係数群が区間 (−q/2,q/2) の中心に近い、というように選択され得る。このことは、これらの係数群がqを法とした操作において規約化されることを防ぐことを助け、それによって更に、pを法とした偏差(deviation)の可能性も低減する。
【0073】
初めの二つの中間秘密多項式t1及びa1を与えられると、第一のデジタル署名多項式u1が、ステップ516において、次の式に従って生成される:
u1=r1+a1*f(mod q) (29)
第二のデジタル署名多項式v1が、続いて、ステップ518において、次の式に従って生成される:
v1=t1+a1*e(mod q) (30)
【0074】
ステップ520において、第二のランダム秘密多項式r2が空間Srから選択される。好適には、多項式r2は、短いかまたはやや短い。続いてステップ522において、第三の中間秘密多項式t2が、次の式に従って計算される:
t2=r2*h2(mod q) (31)
ステップ524において、第四の中間秘密多項式a2が、短くあるべきであるが、量 t2+a2*e(mod q) のメッセージmからの偏差(deviation)が少ないまたはない、というように選択される。これは、ステップ514においてa1に関連して記述されたものと同様の態様で達成される。多項式a1及びa2並びに係数e0の値の選択において、第二及び第四のデジタル署名多項式v1及びv2の偏差(deviation)を防ぐことに主眼が置かれる。u1及びu2がやや短いことを保証するためにa1及びa2は短い多項式であらなければならないが、u1及びu2の検証の制約はそれらのmからの偏差(deviation)よりむしろそれらのユークリッドノルムに依存するため、u1またはu2の偏差を防ぐ必要性はない。このことは、多項式v1及びv2の係数の極めて正確な操作を見込み、v1及びv2の偏差を効果的に防ぐことを可能とする。
【0075】
第三及び第四の中間秘密多項式を与えられると、第三のデジタル署名多項式u2が、ステップ526において、次の式に従って生成される:
u2=r2+a2*f(mod q) (32)
第四のデジタル署名多項式v2が、続いて、ステップ528において、次の式に従って生成される:
v2=t2+a2*e(mod q) (33)
集合的に、四つのデジタル署名多項式(u1,u2,v1,v2)が当該メッセージの署名を構成する。
【0076】
前述のようにデジタル署名を生成した後、前記署名者は、前記メッセージ、前記メッセージ多項式m並びに前記デジタル署名多項式u1、u2、v1及びv2を意図された受領者へと伝送する。前記受領検証者は、続いて、ステップ530において、前述の実施の形態において用いられたものと同一の3つの修正された条件Bの比較を実施することにより、前記デジタル署名を検証し得る。第一に、前記検証者は、前記デジタル署名多項式と前記署名者の多重利用の公開鍵とが予め定められた関係
【数20】
を満たすことを確認する。第二に、前記検証者は、前記第一及び第三のデジタル署名多項式u1及びu2の各々がやや短いということを確認する。第三に、前記検証者は、前記メッセージmと第二及び第四のデジタル署名多項式v1及びv2の各々との間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する。三つの比較の全てが満たされた場合、前記検証者は、署名が真正であると判断する。
【0077】
本実施の形態によると、第二及び第四のデジタル署名多項式v1及びv2のみが、メッセージとの間の偏差(deviation)のために比較される必要がある、ということに留意されたい。これは、前述の実施の形態と同様に、第一及び第三のデジタル署名多項式u1及びu2が、単独で、第二の比較によって制約されているからである。前記第二の比較は、より厳密なユークリッドノルム閾値であって、u1及びu2の両方がやや短いことを要求する。加えて、本実施の形態におけるワンタイム秘密鍵eの利用は、前述の実施の形態に関連してより完全に記述されたように、それを平均化攻撃(averaging attack)から防御する。
【0078】
平均化攻撃(averaging attack)に対する更なる防御のために、前述の実施の形態と同様に、デジタル署名多項式の生成において、補助的な多重利用秘密多項式f’及びg’が含まれ得る。特に、r1はr1=a1’*f’として計算され得て、r2はr2=a2’*g’として計算され得る。前述のように、補助的な多重利用秘密多項式f’及びg’の利用は、デジタル署名多項式の複写(transcript)の収束値を操作し、平均化攻撃(averaging attack)を用いて秘密鍵多項式f及びgに関する有用な情報を取得することを顕著に困難にする。更なる防御の手段として、一つより多い補助的な多重利用秘密多項式が、各々のデジタル署名多項式を生成するために使用され得る。例えば、r1はr1=a1’*f’+a1’’*f’’として計算され得て、r2はr2=a2’*g’+a2’’*g’’として計算され得る。
【0079】
前述の実施の形態と同様に、例えば多項式あたりN/5の係数(即ち、N=251に対して約50の偏差(deviation))という偏差閾値が、前述のようにNSS署名を偽造するのに成功していた偽造攻撃の可能性を顕著に削減するために、選択され得る。セキュリティを更に向上するために、前記偏差閾値は、更に低く設定され得る。多項式a1及びa2並びに係数e0の正確な制御が可能であることに大きく起因して、実験結果は、本発明のこの実施の形態が、N/100以下の偏差(deviation)(即ち、N=251に対して2以下の偏差(deviation))のデジタル署名を、署名者の秘密鍵に関する有用な情報を漏洩することなく、確実に生成可能であることを示している。実際に、本実施の形態において注意深くa1、a2及びe0を選択することによって、署名者は、全く偏差(deviation)のないデジタル署名を、それでもなお秘密鍵に関する有用な情報を漏洩することなく、確実に生成し得る。
【0080】
本発明によるデジタル署名を生成し検証する様々な方法が記述されてきた。これらの方法を本発明の別の実施の形態に従って実践するためのシステムが、図6に関連して記述される。このシステムは、複数の利用者602、604、606、608を含んでいる。前記利用者の各々は、署名者及び/または検証者の役割を果たし得る。各々の利用者は、メモリー612と双方向に通信するプロセッサー610を含んでいる。前記プロセッサー610は、前述の手続きを実施するために、また、別の利用者へ伝送すべき情報を生成するために、適切なプログラムコードを実行する。適切なプログラムコードは、公知の方法によって作成され得る。メモリー612は、プログラムコードのみでなく、中間結果や、デジタル署名の生成及び検証の手続きの実施の間に使用される他の情報を記憶する。
【0081】
通信ネットワーク620が提供され、利用者は当該通信ネットワーク上で通信し得る。通信ネットワーク620は、例えば、適切な通信ネットワークを提供する、LANコンピュータネットワーク、WANコンピュータネットワーク及び/または携帯電話ネットワークを含む、様々な一般的な形態であり得る。
【0082】
本発明によると、利用者602は、デジタル署名を生成し通信ネットワーク620を介して利用者608へと伝送し得る。利用者608は、続いて、利用者602の署名を前述の手続きに従って検証し得る。利用者604及び利用者606は、通信ネットワーク620を介して同様の態様で通信し得る。加えて、利用者604及び利用者606は、図6に示されるように適切な直接の通信リンクを介してお互いに直接的に通信し得る。
【0083】
信頼される認証局630が、様々な利用者602、604、606、608と関連付けられた公開鍵を記憶及び分配するために設けられる。例えば、利用者608からの署名を検証する前に、利用者602は、前述の検証手続きにおいて使用される利用者608の公開鍵のコピーを提供することを、認証局630へ要求し得る。
【0084】
本発明は、特に好適な実施の形態及び例図に関連して詳細に記述されてきたが、本発明の趣旨及び範囲内において変形や修正が行われ得ることが理解される。
【図面の簡単な説明】
【0085】
【図1】本発明の一つの現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【図2】本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【図3】本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【図4】本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【図5】本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証する方法を示すフロー図を示している。
【図6】本発明の別の現時点での好適な実施の形態に係るデジタル署名を生成し検証するためのシステムを表すブロック図を示している。
Claims (57)
- メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は一つ以上のデジタル署名多項式を含んでおり、
環Rの互いに素なイデアルp及びqを選択する工程と、
前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵を選択する工程と、
前記秘密鍵及び前記第二イデアルqを用いて公開鍵を生成する工程と、
前記メッセージに基づいて一つ以上のメッセージ多項式を生成する工程と、
前記デジタル署名多項式を、少なくとも以下の要素
(a)前記メッセージ多項式の少なくとも一つ
(b)前記秘密鍵多項式の少なくとも一つ
(c)前記イデアルp及びqの少なくとも一つ
を用いて、未規約化状態での前記デジタル署名多項式が前記環Rの前記秘密鍵多項式の倍数ではないというように、生成する工程と、
前記デジタル署名を、少なくとも、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差閾値よりも小さいことを確認することにより、検証する工程と、
を備えた方法。 - 前記環Rは、R=Z[X]/(XN−1)であって、Nは1より大きい整数である
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、N/5以下である
ことを特徴とする請求項2に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、ゼロに等しい
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式は、前記メッセージに一つ以上のハッシュ関数を施すことにより生成される
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の生成は、更に、
(d)一つ以上のランダム秘密多項式
を用いることを含む
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - ワンタイム秘密鍵を選択する工程を更に備えると共に、
前記デジタル署名多項式の生成は、更に、
(d)前記ワンタイム秘密鍵
を用いることを含む
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記検証は、前記デジタル署名多項式と前記公開鍵とが予め定められた関係を満たすことを確認する工程を更に有する
ことを特徴とする請求項1に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は一つ以上のデジタル署名多項式を含んでおり、
環Rの互いに素なイデアルp及びqを選択する工程と、
前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵を選択する工程と、
前記秘密鍵及び前記第二イデアルqを用いて公開鍵を生成する工程と、
前記メッセージに基づいて一つ以上のメッセージ多項式を生成する工程と、
前記デジタル署名多項式を、少なくとも以下の要素
(a)前記メッセージ多項式の少なくとも一つ
(b)前記秘密鍵多項式の少なくとも一つ
(c)前記イデアルp及びqの少なくとも一つ
を用いて生成する工程と、
前記デジタル署名を、少なくとも、前記デジタル署名多項式の少なくとも一つと関連付けられたノルムが予め定められたノルム閾値よりも小さいことを確認することにより、検証する工程と、
を備えた方法。 - 前記環Rは、R=Z[X]/(XN−1)であって、Nは1より大きい整数である
ことを特徴とする請求項9に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の少なくとも一つと関連付けられたノルムは、少なくとも一つのデジタル署名多項式のノルムである
ことを特徴とする請求項10に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式の一つを前記デジタル署名多項式の一つから差し引くことにより微分多項式を計算する工程を更に備えると共に、
前記少なくとも一つのデジタル署名多項式に関連付けられたノルムは、前記微分多項式のノルムである
ことを特徴とする請求項10に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記ノルムは、ユークリッドノルムであり、
前記予め定められたノルム閾値は、Nのオーダーである
ことを特徴とする請求項10に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式は、前記メッセージに一つ以上のハッシュ関数を施すことにより生成される
ことを特徴とする請求項9に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の生成は、更に、
(d)一つ以上のランダム秘密多項式
を用いることを含む
ことを特徴とする請求項9に記載のメッセージのデジタル署名を生成して検証する方法。 - ワンタイム秘密鍵を選択する工程を更に備えると共に、
前記デジタル署名多項式の生成は、更に、
(d)前記ワンタイム秘密鍵
を用いることを含む
ことを特徴とする請求項9に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記検証は、前記デジタル署名多項式と前記公開鍵とが予め定められた関係を満たすことを確認する工程を更に有する
ことを特徴とする請求項9に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は一つ以上のデジタル署名多項式を含んでおり、
環Rのイデアルp及びqを選択する工程と、
前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵を選択する工程と、
前記秘密鍵及び前記第二イデアルqを用いて公開鍵を生成する工程と、
前記メッセージに基づいて一つ以上のメッセージ多項式を生成する工程と、
補助的な多重利用秘密情報を選択する工程と、
前記デジタル署名多項式を、少なくとも以下の要素
(a)前記メッセージ多項式の少なくとも一つ
(b)前記秘密鍵多項式の少なくとも一つ
(c)前記イデアルp及びqの少なくとも一つ
(d)前記補助的な多重利用秘密情報
を用いて生成する工程と、
前記デジタル署名を、少なくとも、前記デジタル署名多項式と前記公開鍵とが予め定められた関係を満たすことを確認することにより、検証する工程と、
を備えた方法。 - 前記環Rは、R=Z[X]/(XN−1)であって、Nは1より大きい整数である
ことを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記補助的な多重利用秘密情報は、前記環Rの一つ以上の補助的な秘密鍵多項式を含む
ことを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の生成は、
前記デジタル署名多項式への二次の平均化攻撃(averaging attack)が前記補助的な秘密鍵多項式に依存した値に収束するというように、前記補助的な秘密鍵多項式を用いて一つ以上の前記デジタル署名多項式を調整する工程
を更に有することを特徴とする請求項20に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の検証は、
前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が、予め定められた偏差閾値よりも小さいことを確認する工程
を更に有することを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の検証は、
前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを確認する工程
を更に有することを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式は、前記メッセージに一つ以上のハッシュ関数を施すことにより生成される
ことを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名多項式の生成は、更に、
(e)一つ以上のランダム秘密多項式
を用いることを含む
ことを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - ワンタイム秘密鍵を選択する工程を更に備えると共に、
前記デジタル署名多項式の生成は、更に、
(e)前記ワンタイム秘密鍵
を用いることを含む
ことを特徴とする請求項18に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は二つのデジタル署名多項式u及びvを含んでおり、
Nが1より大きい整数であるとして、環R=Z[X]/(XN−1)の互いに素なイデアルp及びqを選択する工程と、
前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択する工程と、
前記メッセージを用いて一つ以上のメッセージ多項式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)が予め定められた偏差閾値よりも小さいことと、を確認することにより、検証する工程と、
を備えた方法。 - 前記環Rのランダム多項式rを選択する工程を更に備えると共に、
第一中間秘密多項式sの選択は、s=pr*(1−h)−1(mod q)の計算を含み、
第二中間秘密多項式tの選択は、t=s*h(mod q)の計算を含み、
第三中間秘密多項式aの選択は、a=fp −1*(m−s)(mod p)の計算を含んでいる
ことを特徴とする請求項27に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記ランダム多項式rは、Nまたはより小さいオーダーのユークリッドノルムを有する
ことを特徴とする請求項29に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、N/8以下である
ことを特徴とする請求項29に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名の検証は、u*h=v(mod q)であることを確認する工程を更に有する
ことを特徴とする請求項27に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式mは、一つ以上の安全なハッシュ関数H(m)を用いて生成される
ことを特徴とする請求項27に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記ランダム多項式rは、r(1)=0というように選択される
ことを特徴とする請求項27に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は二つのデジタル署名多項式u及びvを含んでおり、
Nが1より大きい整数であるとして、環R=Z[X]/(XN−1)の互いに素なイデアルp及びqを選択する工程と、
前記環Rの二つの秘密鍵多項式f及びgを含む秘密鍵を選択する工程と、
前記メッセージを用いて一つ以上のメッセージ多項式mを生成する工程と、
ランダム多項式rを選択する工程と、
第一中間多項式t=r*h(mod q)を計算する工程と、
第二中間多項式aを、
前記第一デジタル署名多項式u=r+a*f(mod q)を計算する工程と、
前記第二デジタル署名多項式v=t+a*g(mod q)を計算する工程と、
前記デジタル署名を、少なくとも、前記第一デジタル署名多項式uのユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二デジタル署名多項式vとの間の偏差(deviation)が予め定められた偏差閾値以下であることと、を確認することにより検証する工程と、
を備えた方法。 - 前記ランダム多項式rは、Nまたはより小さいオーダーのユークリッドノルムを有する
ことを特徴とする請求項35に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、N/12以下である
ことを特徴とする請求項38に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記デジタル署名の検証は、u*h=v(mod q)であることを確認すること
を更に含む
ことを特徴とする請求項35に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式mは、一つ以上の安全なハッシュ関数H(m)を用いて生成される
ことを特徴とする請求項35に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証する方法であって、前記デジタル署名は四つのデジタル署名多項式u1、v1、u2及びv2を含んでおり、
Nが1より大きい整数であるとして、環R=Z[X]/(XN−1)の互いに素なイデアルp及びqを選択する工程と、
前記環Rのワンタイム秘密鍵多項式eを含むワンタイム秘密鍵を選択する工程と、
ワンタイム公開鍵多項式h1及びh2の一つのペアを、h1=f−1*e(mod q)及びh2=g−1*e(mod q)のように生成する工程と、
第一ランダム多項式r1を選択する工程と、
第一中間多項式t1=r1*h1(mod q)を計算する工程と、
第二中間多項式a1を、a1のユークリッドノルムが
前記第一デジタル署名多項式u1=r1+a1*f(mod q)を計算する工程と、
前記第二デジタル署名多項式v1=t1+a1*e(mod q)を計算する工程と、
第二ランダム多項式r2を選択する工程と、
第三中間多項式t2=r2*h2(mod q)を計算する工程と、
第二中間多項式a1を、a2のユークリッドノルムが
前記第三デジタル署名多項式u2=r2+a2*g(mod q)を計算する工程と、
前記第四デジタル署名多項式v2=t2+a2*e(mod q)を計算する工程と、
前記デジタル署名を、少なくとも、前記第一及び第三のデジタル署名多項式u1及びu2の各々のユークリッドノルムがNのオーダーであることと、前記メッセージmと前記第二及び第四のデジタル署名多項式v1及びv2の各々との間の偏差(deviation)が予め定められた偏差閾値以下であることと、を確認することにより検証する工程と、
を備えた方法。 - 前記ランダム多項式r1及びr2は、各々、Nまたはより小さいオーダーのユークリッドノルムを有する
ことを特徴とする請求項42に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、N/12以下である
ことを特徴とする請求項45に記載のメッセージのデジタル署名を生成して検証する方法。 - ワンタイム秘密鍵多項式eを含むワンタイム秘密鍵の選択は、eの第一係数e0をq/2pのオーダーとなるよう選択することを更に含む
ことを特徴とする請求項42に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、N/100以下である
ことを特徴とする請求項47に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記予め定められた偏差閾値は、ゼロである
ことを特徴とする請求項47に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記第一ランダム多項式r1及び前記第二ランダム多項式r1の選択は、r1及びr2を計算するための一つ以上の補助的な多重利用秘密多項式を用いることを更に含む
ことを特徴とする請求項42に記載のメッセージのデジタル署名を生成して検証する方法。 - 第一ランダム多項式r1の選択は、a1’が第一のランダムな短い多項式でありf’が第一の補助的な多重利用秘密多項式であるとして、r1=a1’*f’を計算する工程を更に含み、
第二ランダム多項式r2の選択は、a2’が第二のランダムな短い多項式でありg’が第二の補助的な多重利用多項式であるとして、r2=a2’*g’を計算する工程を更に含む
ことを特徴とする請求項50に記載のメッセージのデジタル署名を生成して検証する方法。 - 第一ランダム多項式r1の選択は、a1’及びa1’’が第一及び第二のランダムな短い多項式でありf’及びf’’が第一及び第二の補助的な多重利用秘密多項式であるとして、r1=a1’*f’+a1’’*f’’を計算する工程を更に含み、
第二ランダム多項式r2の選択は、a2’及びa2’’が第三及び第四のランダムな短い多項式でありg’及びg’’が第三及び第四の補助的な多重利用秘密多項式であるとして、r2=a2’*g’ +a2’’*g’’を計算する工程を更に含む
ことを特徴とする請求項50に記載のメッセージのデジタル署名を生成して検証する方法。 - 前記メッセージ多項式mは、一つ以上の安全なハッシュ関数H(m)を用いて生成される
ことを特徴とする請求項42に記載のメッセージのデジタル署名を生成して検証する方法。 - メッセージのデジタル署名を生成して検証するための装置であって、
前記デジタル署名は、一つ以上のデジタル署名多項式を含むことを特徴としており、
環Rのイデアルp及びqと、前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーと、
前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つと前記イデアルp及びqの少なくとも一つとを用いて未規約化状態での前記デジタル署名多項式が前記環R上の前記秘密鍵多項式の倍数ではないというように前記デジタル署名多項式を生成するように、及び、前記メッセージ多項式の少なくとも一つと前記デジタル署名多項式の少なくとも一つとの間の偏差(deviation)が予め定められた偏差閾値よりも小さいことを少なくとも確認することにより前記デジタル署名を検証するように、機能し得るプロセッサーと、
を備えた装置。 - メッセージのデジタル署名を生成して検証するための装置であって、
前記デジタル署名は、一つ以上のデジタル署名多項式を含むことを特徴としており、
環Rのイデアルp及びqと、前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、を記憶するためのメモリーと、
前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つと前記イデアルp及びqの少なくとも一つとを用いて前記デジタル署名多項式を生成するように、及び、前記デジタル署名多項式の少なくとも一つのノルムが予め定められたノルム閾値よりも小さいことを少なくとも確認することにより前記デジタル署名を検証するように、機能し得るプロセッサーと、
を備えた装置。 - メッセージのデジタル署名を生成して検証するための装置であって、
前記デジタル署名は、一つ以上のデジタル署名多項式を含むことを特徴としており、
環Rのイデアルp及びqと、前記環Rの一つ以上の秘密鍵多項式を含む秘密鍵と、前記秘密鍵と関連しない補助的な多重利用秘密情報と、を記憶するためのメモリーと、
前記メッセージに基づいた一つ以上のメッセージ多項式を生成するように、前記メッセージ多項式の少なくとも一つと前記秘密鍵多項式の少なくとも一つと前記イデアルp及びqの少なくとも一つと補助的な多重利用秘密情報とを用いて前記デジタル署名多項式を生成するように、及び、前記デジタル署名多項式と前記公開鍵とが予め定められた関係を満たすことを少なくとも確認することにより前記デジタル署名を検証するように、機能し得るプロセッサーと、
を備えた装置。
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 true JP2004526387A (ja) | 2004-08-26 |
JP2004526387A5 JP2004526387A5 (ja) | 2005-12-22 |
JP4053431B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452975B2 (en) | 2008-04-09 | 2013-05-28 | Panasonic Corporation | Signature and verification method, signature generation device, and signature verification device |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1954547B (zh) * | 2005-04-18 | 2010-09-15 | 松下电器产业株式会社 | 签名生成装置和签名验证装置 |
WO2006115021A1 (ja) * | 2005-04-18 | 2006-11-02 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置及び署名検証装置 |
CN102006165B (zh) * | 2010-11-11 | 2012-11-07 | 西安理工大学 | 基于多变量公钥密码对消息匿名环签名的方法 |
JP5790319B2 (ja) * | 2011-08-29 | 2015-10-07 | ソニー株式会社 | 署名検証装置、署名検証方法、プログラム、及び記録媒体 |
US20160149708A1 (en) * | 2013-07-12 | 2016-05-26 | 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)
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 |
DE69737097T2 (de) * | 1996-08-19 | 2007-07-12 | Ntru Cryptosystems, Inc. | Kryptographisches verfahren und vorrichtung mit öffentlichem schlüssel |
-
2002
- 2002-05-03 JP JP2002588007A patent/JP4053431B2/ja not_active Expired - Fee Related
- 2002-05-03 WO PCT/US2002/014099 patent/WO2002091664A1/en active Application Filing
- 2002-05-03 CN CN 02801519 patent/CN1268086C/zh not_active Expired - Fee Related
- 2002-05-03 EP EP02731656A patent/EP1397884A4/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452975B2 (en) | 2008-04-09 | 2013-05-28 | Panasonic Corporation | Signature and verification method, signature generation device, and signature verification device |
Also Published As
Publication number | Publication date |
---|---|
JP4053431B2 (ja) | 2008-02-27 |
WO2002091664A1 (en) | 2002-11-14 |
EP1397884A4 (en) | 2006-02-15 |
EP1397884A1 (en) | 2004-03-17 |
CN1268086C (zh) | 2006-08-02 |
CN1462520A (zh) | 2003-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989050B (zh) | 一种无证书数字签名方法 | |
MacKenzie et al. | Networked cryptographic devices resilient to capture | |
US20180359097A1 (en) | Digital signing by utilizing multiple distinct signing keys, distributed between two parties | |
Mironov | Hash functions: Theory, attacks, and applications | |
US9160530B2 (en) | Method and apparatus for verifiable generation of public keys | |
CN111342976B (zh) | 一种可验证的理想格上门限代理重加密方法及系统 | |
JP4687465B2 (ja) | ミックスネットシステム | |
US8661240B2 (en) | Joint encryption of data | |
US8116451B2 (en) | Key validation scheme | |
US20040151309A1 (en) | Ring-based signature scheme | |
JP6041864B2 (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
CN115208586B (zh) | 一种基于秘密分享的数字签名方法及系统 | |
JP4053431B2 (ja) | 環ベースの署名スキーム | |
CN111565108B (zh) | 签名处理方法、装置及系统 | |
KR20010013155A (ko) | 자동 복구가능하고 자동 증명가능한 암호체계들 | |
Mu et al. | Delegated decryption | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
Hall et al. | Manifesting Unobtainable Secrets: Threshold Elliptic Curve Key Generation using Nested Shamir Secret Sharing | |
Pacheco et al. | Secure Dynamic Data Storage with Third Party Arbitration in Cloud | |
EP1796308A2 (en) | Ring-based signature scheme | |
Safavi-Naini et al. | Non-interactive conference key distribution and its applications | |
JP2003173139A (ja) | 公開検証可能暗号化装置、その復号装置、暗号化プログラムおよび復号プログラム | |
CN115174101A (zh) | 一种基于sm2算法的可否认环签名生成方法及系统 | |
CN117176329A (zh) | 会话密钥的生成方法、装置、处理器及电子设备 | |
CN116346363A (zh) | 一种基于协同ecc的数字签名方法 |
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 |