JP7312293B2 - デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 - Google Patents

デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 Download PDF

Info

Publication number
JP7312293B2
JP7312293B2 JP2022064716A JP2022064716A JP7312293B2 JP 7312293 B2 JP7312293 B2 JP 7312293B2 JP 2022064716 A JP2022064716 A JP 2022064716A JP 2022064716 A JP2022064716 A JP 2022064716A JP 7312293 B2 JP7312293 B2 JP 7312293B2
Authority
JP
Japan
Prior art keywords
compressed data
data
target
hash
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022064716A
Other languages
English (en)
Other versions
JP2022095852A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022095852A publication Critical patent/JP2022095852A/ja
Application granted granted Critical
Publication of JP7312293B2 publication Critical patent/JP7312293B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding

Landscapes

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

Description

本開示は、量子計算の技術分野に関し、特に、量子計算における情報セキュリティの分野に関し、具体的には、デジタル署名方法、署名情報の検証方法、関連装置及び電子機器に関する。
デジタル署名は、基本的な公開鍵暗号学におけるタスクであり、公開鍵暗号学は、暗号スキームに公開鍵及び秘密鍵を含み、公開鍵を開示することができ、それにより2つのユーザが通信を確立しない前提で暗号化と復号及び身元認証を行うことができる。デジタル署名のターゲットは、ファイルの送信者の身元認証を行うことにより、ファイルの送信者が真実であることを確保し、これは電子商取引及びインターネットプロトコルにおいて基礎的な重要性を有する。
現在、インターネット通信において、一般的に使用されるデジタル署名スキームは大きい整数の分解及び離散対数に基づく困難性であり、例えばディフィーヘルマン鍵交換(Diffie-Hellman key exchange)に基づく非対称暗号化アルゴリズムである。
本開示は、デジタル署名方法、署名情報の検証方法、関連装置及び電子機器を提供する。
本開示の第1の態様によれば、デジタル署名方法を提供し、前記方法は、第1の電子機器に応用され、
送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列(Invertible matrix)を含む秘密鍵と、次数が2より大きくランダムに生成された第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得するステップと、
前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成するステップと、
ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得るステップと、
前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築するステップと、
前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成するステップとを含む。
本開示の第2の態様によれば、署名情報の検証方法を提供し、前記方法は、第2の電子機器に応用され、
送信対象ファイルと、前記送信対象ファイルの署名情報と、前記第2の電子機器の署名情報の検証に用いられる公開鍵とを取得するステップと、
ここで、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及びN個の構築データの前記ハッシュツリーのルートノードに対する認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルであり、
前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成するステップと、
前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成するステップと、
前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得るステップと、
前記第2の文字列に基づいて前記署名情報を検証するステップとを含む。
本開示の第3の態様によれば、デジタル署名装置を提供し、前記装置は、第1の電子機器に応用され、
送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列を含む秘密鍵と、次数が2より大きくランダムに生成された第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得するための第1の取得モジュールと、
前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成するための第1の生成モジュールと、
ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得るための第1のデジタル署名モジュールと、
前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築するための構築モジュールと、
前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成するための第2の生成モジュールとを含む。
本開示の第4の態様によれば、署名情報の検証装置を提供し、前記装置は、第2の電子機器に応用され、
送信対象ファイルと、前記送信対象ファイルの署名情報と、前記第2の電子機器の署名情報の検証に用いられる公開鍵とを取得する第2の取得モジュールと、
ここで、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及びN個の構築データの前記ハッシュツリーのルートノードに対する認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルであり、
前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成するための第4の生成モジュールと、
前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成するための行列乗算処理モジュールと、
前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得るための第2のデジタル署名モジュールと、
前記第2の文字列に基づいて前記署名情報を検証するための検証モジュールとを含む。
本開示の第5の態様によれば、電子機器を提供し、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサと通信接続されたメモリとを含み、ここで
メモリは、少なくとも1つのプロセッサにより実行可能で、少なくとも1つのプロセッサにより実行されることにより、少なくとも1つのプロセッサが第1の態様のいずれか1つの方法を実行できるか、又は第2の態様のいずれか1つの方法を実行できる命令が記憶される。
本開示の第6の態様によれば、コンピュータが第1の態様のいずれか1つの方法を実行できるか、又は第2の態様のいずれか1つの方法を実行できるためのコンピュータ命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体を提供する。
本開示の第7の態様によれば、プロセッサにより実行されるときに第1の態様のいずれか1つの方法を実行するか、又は第2の態様のいずれか1つの方法を実行するコンピュータプログラムを含む、コンピュータプログラム製品を提供する。
本開示の技術は、デジタル署名の安全性が低いという課題を解決し、デジタル署名の安全性を向上させる。
本部分に記載の内容は、本開示の実施例の重要又は必須の特徴を識別することを意図するものではなく、本開示の範囲を限定するものではない。本開示の他の特徴については、以下の明細書の記載から容易に理解されるであろう。
図面は本解決手段をよりよく理解するために用いられ、本開示を限定するものではない。
本開示の第1の実施例に係るデジタル署名方法のフローチャートである。 構築データのハッシュツリーのルートノードに対する認証パスの計算実現概略図である。 本開示の第2の実施例に係る署名情報の検証方法のフローチャートである。 本開示の第3の実施例に係るデジタル署名装置の構造概略図である。 本開示の第4の実施例に係る署名情報の検証装置の構造概略図である。 本開示の実施例を実施するために使用され得る例示的な電子機器の概略ブロック図である。
以下に図面を参照しながら、本開示の例示的な実施例を説明し、理解を容易にするために本開示の実施例の様々な詳細を含み、それらを例示的なものに過ぎないと考えられるべきである。したがって、当業者であれば、本開示の範囲及び精神から逸脱することなく、ここで説明された実施例に対して様々な変更及び補正を行うことができることを理解すべきである。同様に、明確かつ簡潔にするために、以下の説明において公知の機能及び構造に対する説明を省略する。
第1の実施例
図1に示すように、本開示は、デジタル署名方法を提供し、前記方法は、第1の電子機器に応用され、以下のステップS101~S105を含む。
ステップS101では、送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列を含む秘密鍵と、第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得し、第1の対称テンソルは、次数が2より大きく、ランダムに生成されたものである。
本実施例では、デジタル署名方法は、量子計算の技術分野に関し、特に、量子計算に関連する情報セキュリティの分野に関し、それは電子商取引、身元認証及びソフトウェア配信などの多くのシーンに広く応用することができる。
例えば、身元認証の応用シーンにおいて、第1の関係者はファイルを第2の関係者に送信する必要があると設定し、第2の関係者はこのファイルが確かに他人ではなく、第1の関係者から送信することを検証する必要がある。このとき、第1の関係者はこのファイルに対してデジタル署名を行うことができ、第2の関係者はファイル及び対応する署名情報を受信し、かつ第1の関係者により公開されて放送された公開鍵を取得した後、このファイルの送信側が確かに第1の関係者であることを検証することができる。
また、例えば、ソフトウェア配信の応用シーンにおいて、取得されたソフトウェアに対して配信者の身元認証を行うことにより、該ソフトウェアのソースを決定することができる。
実際に使用する場合、本開示の実施例のデジタル署名方法は、本開示の実施例に係るデジタル署名装置により実行することができる。本開示の実施例のデジタル署名装置は、任意の第1の電子機器に配置されてもよく、それにより本開示の実施例のデジタル署名方法を実行する。第1の電子機器はサーバであってもよく、端末であってもよく、ここで具体的に限定しない。
前記第1の電子機器は通信の送信側として、他の電子機器と通信することにより、ファイルを送信することができる。ファイルを送信する前に、他の電子機器は受信したファイルが確かに第1の電子機器により送信されることを検証し、かつ送信者の真実性を検証するために、第1の電子機器はデジタル署名技術を用いて送信対象ファイルに対してデジタル署名を行うことができる。
前記送信対象ファイルは前記第1の電子機器が他の電子機器に送信する必要があるファイルを指し、そのタイプはテキスト、圧縮パケット又はオーディオビデオなどであってもよい。
前記秘密鍵は前記第1の電子機器に予め記憶することができ、かつ第1の電子機器の送信対象ファイルに対して暗号化及びデジタル署名を行うためのパラメータである。前記秘密鍵は公開鍵に対応することができ、秘密鍵と公開鍵の組み合わせは鍵ペアと呼ばれてもよく、かつ前記公開鍵は一般的に第1の電子機器により他の電子機器に開示されることにより、他の電子機器は該公開鍵を用いて前記第1の電子機器の署名情報を検証することができる。
公開鍵暗号学におけるタスクとして、デジタル署名スキームはあるアルゴリズム問題の困難性に基づいて、デジタル署名の安全性を保証する必要がある。量子コンピュータの発展に伴い、従来のデジタル署名スキームの基礎となるアルゴリズム問題は一般的に量子コンピュータにとって困難ではない可能性があり、すなわち、基礎となるアルゴリズム問題は量子攻撃に対抗できない可能性があり、したがって、デジタル署名の安全性が脅威される。
ここで、上記言及した困難性は微妙な概念である。まず、一般的に最悪の意味での困難とは異なり、ここで平均的な意味での困難であり、すなわち大部分の入力に対していずれも有効なアルゴリズムが存在しない。次に、全ての困難な問題はいずれも適切なデジタル署名プロトコルに対応するものではないため、該問題に基づいて対応するプロトコルを設計する必要がある。最後に、量子アルゴリズム設計の観点から該問題の後量子暗号学の範囲内での利用可能性を検討する必要があり、例えば大きい整数の分解の問題は、古典的なコンピュータの観点から見ると困難であるが、量子計算の観点から見ると容易である。
計算複雑性の観点から、テンソル同型問題は同型タイプの問題における困難な問題と考えられ、以下にテンソル同型問題を説明することができる。
pを素数に設定し、GF(p)はモジュールpドメインを表し、GL(n,p)によりGF(p)での大きさn×nの可逆行列の集合を表す。GF(p)での多次行列(Multi-order matrix)は1つのテンソルと呼ぶことができ、ここで、テンソルの次数は一般的に2より大きい。
テンソルが3次行列(Three-order matrix)であることを例として、テンソルをn×n×nの行列と呼ぶことができ、n×n×n個の成分を有し、nをテンソルの次元数と呼ぶことができる。1つのテンソルをAとし、A=(aijk)で表し、もう1つのテンソルをBとし、B=(bijk)で表す場合、各次のデータの長さはいずれもnであり、すなわちテンソルの下付き文字i、j及びkはそれぞれ1~nを取ることができ、
Figure 0007312293000001
で示し、
Figure 0007312293000002
はそれぞれ2つのテンソルの第iスライス、第j行及び第k列の要素であり、これらの要素を羅列すれば、テンソル(aijk)及び(bijk)を構成することができる。テンソル同型問題は、すなわち、
Figure 0007312293000003
とするように
Figure 0007312293000004
で表す可逆行列が存在するか否かを解くことである。すなわち、テンソル同型問題は、2つのテンソルが同型テンソルであるか否かを決定し、かつ2つのテンソルが同型のテンソルである場合、この2つのテンソルが互いに変換する可逆行列を解くことである。
ここで、式
Figure 0007312293000005
は、テンソルの3方向からそれぞれ3つの行列を乗算することを表し、すなわち、テンソルの3方向に同時に3つの行列を乗算することを表し、3つの行列は、同じ可逆行列Cであってもよい。その乗算後の結果も1つのテンソルであり、B’で表すことができる。ここで、B’=(b'ijk)、b'ijkはテンソルB’の下付き文字の対応する位置の数である。
Figure 0007312293000006
対称テンソル同型問題はテンソル同型問題に対する定義を継続し、テンソル同型問題と異なることは、同型のテンソルが対称テンソルであり、すなわち
Figure 0007312293000007
において、テンソルA及びテンソルBがいずれも対称テンソルであり、対称テンソルの定義が以下のとおりである。
Figure 0007312293000008
を満たすテンソルAを設定する。
量子計算の観点から、テンソル同型問題の求解困難性のため、テンソル同型問題を用いて設計されたデジタル署名は量子アルゴリズム観点での安全性を保障する。
Figure 0007312293000009
などのアルゴリズムを採用してこの二種類の問題をそれぞれ解くとき、一方で対称テンソルのデータ対称性及び関係性が他のテンソルよりも高いため、他方で攻撃アルゴリズム精度の問題のため、2つの対称テンソルが同型テンソルであるか否かを解き、かつ2つの対称テンソルが同型テンソルである場合、この2つの対称テンソルが相互に変換する可逆行列を解き、対称テンソル同型問題はテンソル同型問題よりも、その演算時の収束速度がより遅い。
これは、基礎となるアルゴリズム問題として、対称テンソル同型問題を採用してデジタル署名の設計を行うことは、テンソル同型問題を採用してデジタル署名の設計を行うことに対して、デジタル署名の安全性がより高いことを表明する。したがって、本開示の実施例では、基礎となるアルゴリズム問題は対称テンソル同型問題を採用することができ、大部分のコンピュータ(量子コンピュータを含む)の観点からの対称テンソル同型問題の求解困難性を利用して、デジタル署名の設計を行う。
なお、対称テンソルがより高次の行列である場合、対称テンソル同型問題はより高次行列の対称テンソルにまで広がることができ、すなわち、より高次行列の対称テンソル同型問題は3次行列の対称テンソル同型問題に基づいて類推することができる。例えば、2つの4次行列の対称テンソルに対して、それぞれA=(aijkl)及びB=(bijkl)で表すことができ、対称テンソル同型問題は、すなわち
Figure 0007312293000010
とするように可逆行列Cが存在するか否かを指す。
対称テンソル同型問題の前提で、2つの対称テンソルが同型のテンソルであることを知っても、この2つの対称テンソルが互いに変換する可逆行列を解くことが困難であり、したがって、デジタル署名の安全性を保証するために、前記第1の電子機器のデジタル署名に用いられる秘密鍵を行列形式に設定することにより、秘密鍵が解読される困難性を保証することができる。
具体的には、前記秘密鍵は第1の可逆行列を含み、公開鍵を対称テンソルの圧縮形式に設定し、かつ公開鍵を公開することができる。このように、他の電子機器は、第1の電子機器の送信対象ファイルに対する署名情報を偽造する必要がある場合、公開鍵に基づいて解読して秘密鍵を取得する必要があり、これは他の電子機器が対称テンソル同型問題を解く必要があることに相当する。対称テンソル同型問題の求解困難性のため、他の電子機器は公開鍵解読に基づいて第1の電子機器の秘密鍵を取得しにくく、このように、他の電子機器は第1の電子機器の署名を偽造しにくく、それによりデジタル署名の安全性を保証することができる。
実際の応用において、対称テンソル同型問題に基づいて、古典的な図同型問題の零知識対話プロトコルを採用して身元認証プロトコルを構築することができる。必要な安全性に応じて、該プロトコルの何回かの構築を行い、各回の構築において複数の対称テンソルを生成することができる。該身元認証プロトコルに基づいて、古典的な身元識別プロトコルFiat-Shamir変換過程を使用してデジタル署名スキームを構築することができる。
デジタル署名スキームにおいて、重要なパラメータは署名の長さ、公開鍵の長さ、及び鍵の生成、署名生成及び署名検証の実行時間を含むことができる。プロトコルにおける主なパラメータ(例えば、nは対称テンソルの次元数、すなわち、対称テンソルの規模であり、pはドメインの大きさ、すなわち、数ドメインの規模であり、rはラウンド数、すなわち、署名の長さのパラメータであり、λは安全性パラメータであり、sはハッシュツリーの深さであり、t=2とし、それはハッシュツリーのリーフノードの数であり、公開鍵の生成に係る対称テンソル数である)、及び対称テンソル同型問題に対する最適なアルゴリズムの実行時間の理解に基づいて、適切なパラメータ選択を行うことにより必要なデジタル署名の安全性を達成し、例えば、128bit又は256bitの安全性を達成することができる。同時に、プロトコルに対してプロトタイプ実現を行うことにより、鍵の生成、署名の生成及び署名の実際の実行時間の検証をテストすることができる。
様々な方式で前記送信対象ファイルを取得することができ、例えば、予め記憶されたファイルから送信対象ファイルを取得することができ、また、例えば、送信対象ファイルを能動的に生成することができる。
前記秘密鍵は、第1の電子機器により予め生成されかつデータベースに記憶されてもよく、開発者により予め設定されかつデータベースに記憶されてもよく、ここで具体的に限定されない。
前記秘密鍵は第1の電子機器により予め生成されかつデータベースに記憶されることを例として、前記第1の電子機器は少なくとも1つの第1の可逆行列をランダムに生成する。例えば、t-1個の第1の可逆行列をランダムに生成し、
Figure 0007312293000011
で表し、ここで、tは実際の状況に応じて設定され、2以上である。前記第1の電子機器の秘密鍵は、複数の可逆行列を含み、それぞれC,C,…,Ct-1とすることができ、ここで、Cは、大きさがnの単位行列である。
前記第1の圧縮データは第1の対称テンソルの圧縮データであってもよい。3次行列の対称テンソル同型問題を採用してデジタル署名スキームの設計を行うことを例として、第1の電子機器の秘密鍵及び公開鍵を構築する場合、第1の対称テンソルをランダムに生成することができ、Aで表すことができ、第1の対称テンソルが
Figure 0007312293000012
であり、該第1の対称テンソルを初期対称テンソルとして対称テンソル同型を行うことが
できる。ここで、第1の対称テンソルにおけるデータに対称関係
Figure 0007312293000013
が存在する。
第1の対称テンソルを圧縮して、第1の圧縮データを取得することができ、ここで、第1の圧縮データにおけるデータ量は第1の対称テンソルにおけるデータ量より小さい。すなわち、第1の対称テンソルの圧縮とは、第1の対称テンソルにおける一部又は全部の冗長データを除去し、第1の圧縮データを取得する。該第1の圧縮データに基づいて第1の対称テンソルを正確に復元することができる。
選択可能な実施形態では、第1の対称テンソルの対称性のため、i≦j≦kを満たすaijkの値を除去するか、又はi>j又はj>kを満たすaijkの値を除去することができ、すなわち、対称関係が存在する半分のデータを保留し、他の半分のデータを対称関係に基づいて取得することができる。
例えば、aijk(i≦j≦k)のデータを保留する場合、ajkiの値を呼び出す必要があれば、jkiを再ソートしてijkを得え、aijk=jkiの対称関係に基づいて、第1の圧縮データからajkiの値を得ることができる。例を挙げて説明すると、i=1、j=2、k=3とすると、a231の値を呼び出す必要がある場合、再ソートを行い、a123=231の対称関係に基づいて、第1の圧縮データからa231の値を得ることができる。
該第1の圧縮データの全体は第1の対称テンソルの圧縮表現と呼ぶことができ、特定のデータ構造を採用して第1の対称テンソルの圧縮表現を記憶することができ、例えば、キー値key-コンテンツvalueのデータ構造であり、keyはデータの下付き文字、すなわち、ijkを記憶するために用いられ、valueは、下付き文字に対応する値を記憶するために用いられ、このようにして本来同じ値を繰り返して記憶することを回避することができ、それにより第1の電子機器の記憶空間を大幅に減少させることができる。
ステップ102では、前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成する。
第1の電子機器は、第1の圧縮データ及び秘密鍵における前記第1の可逆行列に基づいて、第1の対称テンソルと同型の対称テンソルの圧縮データを生成することができ、その構築式は以下のとおりである。
Figure 0007312293000014
、最終的にL個の第2の対称テンソルのL個の第2の圧縮データを得て、前記L個の第2の対称テンソルは第1の対称テンソルを含み、さらに、第1の対称テンソルと同型の対称テンソルも含む。
具体的には、第1の圧縮データに基づいて、第1の対称テンソルにおける前記第1の圧縮データ以外の他のデータを構築することができ、第1の圧縮データ及び他のデータは第1の対称テンソルを構築することができ、その後、第1の可逆行列と第1の対称テンソルに対して行列乗算を行い、第2の対称テンソルの第2の圧縮データを得ることができ、すなわち、第2の対称テンソルの一部のデータのみを計算し、例えばi≦j≦kを満たすaijkの値のみを計算し、これにより計算量を減少させ、デジタル署名の処理速度を向上させることができる。
第1の可逆行列と第1の対称テンソルに対して行列乗算を行って、第1の対称テンソルにおける他のデータを呼び出す必要がある場合、他のデータと第1の圧縮データとの対称関係に基づいて、第1の圧縮データから対応するデータを得て計算に代入し、最終的に第2の対称テンソルの第2の圧縮データを得ることもできる。
実際の応用において、Lの値はtであってもよい。前記L個の第2の圧縮データを公開鍵として他の電子機器に送信することができる。しかし、前記L個の第2の圧縮データを公開鍵として他の電子機器に送信する最大の問題は公開鍵の長さが大きいことであり、公開鍵の相互作用が必要なシーンで応用の効率に大きな影響を与える。したがって、L個の第2の圧縮データに基づいて変換された文字列を公開鍵として他の機器に送信することができ、かつ該文字列はテンソルに基づいて設定されたハッシュ値であってもよく、以下にこれを詳細に説明し、ここで具体的に限定しない。
ステップS103では、ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得る。
ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、ハッシュ関数を用いて前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得ることができる。
具体的には、ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、第1の署名データを生成し、該第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を取得することができる。ここで、第1の署名データは、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである。
実際の応用において、
Figure 0007312293000015
に対して、rは正の整数であってもよく、第1の電子機器は少なくとも1つの第2の可逆行列をランダムに生成することができ、この少なくとも1つの第2の可逆行列は
Figure 0007312293000016
で表すことができる。すなわち、ランダムに生成された第2の可逆行列及び第1の圧縮データに基づいて、第1の署名データを構築することができ、該第1の署名データは第1の対称テンソルと同型の少なくとも1つの第3の対称テンソルであってもよく、又は少なくとも1つの第3の対称テンソルの第3の圧縮データであってもよく、その構成式は
Figure 0007312293000017
であってもよい。その構築方式は、第2の圧縮データの構築方式と類似し、ここでは説明を省略する。
その後、ハッシュ関数(Hで表す)を用いて、前記送信対象ファイル(Mで表す)に対してデジタル署名を行うことができ、具体的には、送信対象ファイルMと第1の署名データを文字列として直列接続し、直列接続された文字列に対してハッシュ演算を行い、第1の文字列を得ることができる。
第1の署名データが第3の対称テンソルである場合、送信対象ファイルMと第3の対称テンソルB1、…、Bを文字列として直列接続することができ、その後、直列接続された文字列に対してハッシュ演算を行い、H(M|B|…|B)で表される第1の文字列を得て、M|B|…|Bは送信対象ファイルMと第2の対称テンソルB、…、Bを文字列として直列接続することを表す。ここで、送信対象ファイルMと第3の対称テンソルB、…、Bを文字列として直列接続した後にハッシュ演算を行うことにより、データ量を増加させることができ、ハッシュ関数により生成された第1の文字列の安全性を向上させることができる。
第1の署名データが第3の圧縮データである場合、送信対象ファイルMと第3の圧縮データを文字列として直列接続することができ、その後、直列接続された文字列に対してハッシュ演算を行い、第1の文字列を得る。ここで、送信対象ファイルMと第3の圧縮データを文字列として直列接続した後にハッシュ演算を行う場合に、その演算速度が速い。
第1の文字列はバイナリ文字列、すなわち01文字列であってもよく、その長さはr×sであってもよく、パラメータsは身元認証プロトコルのパラメータであり、パラメータsとパラメータtはt=2を満たす。Hはハッシュ関数であり、任意の長さの文字列を入力し、長さがr×sの01文字列を出力する。
ステップS104では、前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築する。
該ステップでは、暗号学及びコンピュータ科学において、ハッシュツリーはツリー型データ構造であり、それは多層を含むことができ、各層は少なくとも1つのノードで構成され、各ノードはいずれもデータブロックのハッシュをラベルとし、リーフノード以外のノードはそのサブノードラベルの暗号化ハッシュをラベルとする。
L個の構築データに基づいて、ハッシュ関数を用いてハッシュツリーのルートノードのハッシュ値を構築することができる。直接にL個の構築データに基づいてハッシュツリーを構築してもよく、L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいてハッシュツリーを構築してもよい。
ここで、1つの構築データは1つの第2の対称テンソルであってもよく、1つの第2の圧縮データであってもよく、ここで具体的に限定しない。なお、ハッシュツリーを構築する場合、構築データのタイプを一致にする必要があり、すなわち第2の対称テンソルに基づいてハッシュツリーの全てのリーフノードのハッシュ値を直接構築するか、又は第2の圧縮データに基づいてハッシュツリーの全てのリーフノードのハッシュ値を直接構築する。
L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいてハッシュツリーを構築することを例とし、具体的には、MerkleKeyで表される第1のターゲット文字列をランダムに生成することができ、具体的には、uniform又はrandomなどのランダム関数に基づいてMerkleKeyを生成することができる。
ここで、MerkleKeyは長さがλの01文字列であってもよく、λは安全性パラメータであってもよく、すなわちデジタル署名の所望の安全性に基づいて、λを設定することができ、例えばデジタル署名が128bitの安全性を達成する必要があれば、λを128に設定することができる。
L個の構築データに基づいてハッシュツリーのリーフノードを構築することができ、具体的には、ハッシュ関数Hを用いてハッシュツリーの第s層、すなわち、リーフノードに対応する層を構築することができる。構築データが第2の対称テンソルである場合、式hs,i=H(A|(2+i)|MerkleKey)を用いてハッシュツリーの第s層におけるリーフノードのハッシュ値を計算することができ、ここで、0≦i≦t-1、hs,iはリーフノードに対応する層、すなわち、第s層の第i個のリーフノードのハッシュ値であり、記号|は文字列の接続を表す。これにより、データ量を増加させることができ、ハッシュ関数が生成した第1の文字列の安全性を向上させることができる。
構築データが第2の圧縮データである場合、式hs,i=H(A|(2+i)|MerkleKey)におけるAを第2の圧縮データに置き換える。その計算速度が相対的に速い。
ハッシュ関数Hを使用してハッシュツリーの他の内部ノードを構築し続ける場合に、式hk,i=H(hk+1,2i|hk+1,2i+1|(2+i)|MerkleKey)を用い、ここで、0≦k<s、0≦i<2、hk,iは、第k層の第i個のノードのハッシュ値であり、hk+1,2i及びhk+1,2i+1はそれぞれ該ノードの2つのサブノードのハッシュ値であり、該ノードはこの2つのサブノードの親ノードと呼ぶことができる。これによりハッシュツリーの全ての要素を構築することができ、全ての要素は、前記ハッシュツリーのh0,0で表されるルートノードも含む。h0,0のハッシュ値を公開鍵の一部とすることができる。
ステップS105では、前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成する。
前記署名情報は第1の文字列、第1の文字列、第1の可逆行列及び第2の可逆行列で生成されたターゲット行列、前記第1の文字列に基づいて前記L個の第2の圧縮データから選択されたN個の第2の圧縮データ、及び前記N個の第2の圧縮データの各々に対応する認証パスを含むことができる。該認証パスは前記ハッシュツリーのルートノードに対する構築データの認証パスである。ここで、前記ハッシュツリーのルートノードに対する構築データの認証パスは一連のハッシュ値、すなわち、構築データからハッシュツリーにおけるルートノードのハッシュ値まで計算することに必要な全ての情報を含む。
選択可能な実施形態では、署名情報は、第1の文字列が分割された複数の文字列、この複数の文字列、第1の可逆行列及び第2の可逆行列で生成されたターゲット行列、N個の第2の圧縮データ及び第2の圧縮データの各々に対応する認証パスを含むことができる。
本実施例では、対称テンソル同型問題をハッシュツリーと合わせてデジタル署名を行うことにより、他の電子機器が第1の電子機器の送信対象ファイルに対する署名情報を偽造する場合、公開鍵(同型の対称テンソルの圧縮データ又は同型の対称テンソルの圧縮データに基づいて生成されたハッシュ値を含む)に基づいて解読して秘密鍵を得る必要があり、これは他の電子機器がハッシュツリーの復号問題及び対称テンソル同型問題を解く必要があることに相当し、他の機器が秘密鍵を知らない場合、公開鍵により秘密鍵を偽造することが非常に困難であり、それによりデジタル署名を偽造することが非常に困難であり、さらにデジタル署名の安全性を向上させることができる。
また、
Figure 0007312293000018
などのアルゴリズムを採用してテンソル同型問題及び対称テンソル同型問題をそれぞれ解くとき、一方で対称テンソルのデータ対称性及び関係性が他のテンソルよりも高いため、他方で攻撃アルゴリズム精度の問題のため、2つの対称テンソルが同型テンソルであるか否かを解き、かつ2つの対称テンソルが同型テンソルである場合、この2つの対称テンソルが相互に変換する可逆行列を解く。対称テンソル同型問題はテンソル同型問題よりも、演算時の収束速度がより遅い。したがって、基礎となるアルゴリズム問題は、対称テンソル同型問題を採用してデジタル署名の設計を行う。テンソル同型問題を採用してデジタル署名の設計を行うことに対して、そのデジタル署名の安全性がより高い。
表1は、
Figure 0007312293000019
を採用して異なるデジタル署名スキームを攻撃する解読時間表であり、各デジタル署名スキームの基礎となるアルゴリズムはそれぞれ対称テンソル同型問題及びテンソル同型問題であり、ここで、表1におけるN/Aは解読できないことを表す。以下の表1に示すように、プロトコルにおける異なるパラメータで、対称テンソル同型問題はテンソル同型問題よりも、解くことの難しさがより高い。
表1
Figure 0007312293000020
を採用して異なるデジタル署名スキームを攻撃する解読時間表
Figure 0007312293000021
好ましくは、前記ステップS105は、具体的には、
前記第1の文字列を分割し、1より大きい正の整数であるP個の文字列を得ることと、
前記P個の文字列に基づいて、前記第1の可逆行列の逆行列と前記第2の可逆行列に対して行列乗算処理を行うことにより、ターゲット行列を生成することと、
前記P個の文字列に基づいて、前記L個の第2の圧縮データから、正の整数であるN個の第2の圧縮データを選択することと、
前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記ハッシュツリーのルートノードに対する前記構築データの認証パスである前記第2の圧縮データに対応する認証パスを決定することとを含み、
ここで、前記署名情報は、前記P個の文字列、前記ターゲット行列、前記N個の第2の圧縮データ及び前記N個の第2の圧縮データに対応する認証パスを含む。
本実施形態では、第1の文字列を分割し、複数の文字列を得ることができ、例えば、r個の長さがsの01文字列を得て、このr個の文字列をそれぞれf,…,fで表すことができ、このとき、rが1より大きく、かつこのr個の文字列の十進数がいずれも0~t-1の間にあり、Pの値がrに等しい。
P個の文字列、第1の可逆行列及び第2の可逆行列に基づいて、ターゲット行列を生成することができ、具体的には、
Figure 0007312293000022
に対して、第1の可逆行列中から下付き文字がfの第1の可逆行列を取得し、その後、第1の電子機器は、式
Figure 0007312293000023
を用いてターゲット行列を計算することができる。ここで、Eはターゲット行列であり、その数は複数であってもよく、
Figure 0007312293000024
は秘密鍵における第f個の第1の可逆行列の逆行列を示し、例えば、01文字列fが1である場合、
Figure 0007312293000025
は秘密鍵における第1の可逆行列Cの逆行列であり、すなわち、ターゲット行列は、第2の可逆行列Dと秘密鍵における第1の可逆行列Cfiの逆行列に基づいて行列乗算を行って得られる。
その後、P個の文字列に基づいて、L個の第2の圧縮データからN個の第2の圧縮データを選択することができ、具体的には、第2の対称テンソルA,A,…,At-1の第2の圧縮データからN個の第2の圧縮データを選択することができる。ここで、Af1,…,Afrの第2の圧縮データであり、Nは、rに等しい。
Figure 0007312293000026
に対して、第2の対称テンソルAfiの第2の圧縮データと前記ハッシュツリーのルートノードのハッシュ値に基づいて、第2の圧縮データに対応するpathで表される認証パスを計算し、該認証パスは前記ハッシュツリーのルートノードに対する構築データ(第2の圧縮データ又は第2の対称テンソル)の認証パスであってもよい。それは一連のハッシュ値、すなわちデータ構築から前記ハッシュ値のルートノードのハッシュ値まで計算することに必要な全ての情報を含む。
つまり、構築データが第2の対称テンソルである場合、構築データに基づいて計算したpathは、path(Af)=h0,0とすることができ、ここで、上記式はAfiからh0,0までの計算過程の略語であり、Afi及び認証パスにおけるハッシュ値に基づいて、前記ハッシュツリーのルートノードのハッシュ値を得るまで、ハッシュ関数を繰り返して呼び出すことを表す。換言すれば、その本質は、第2の対称テンソルAfiに基づいてハッシュツリー内の対応するリーフノードhs,fiを得るとともに、リーフノードhs,fiからハッシュツリーのルートノードh0,0に巡回することにより、ハッシュツリーのルートノードのハッシュ値を得るように、認証パスpathに基づいてハッシュツリーを巡回するものである。構築データが第2の圧縮データである場合、path(Afi)=h0,0におけるAfiを第2の圧縮データに置き換えればよい。
最終的に、このr個の文字列、複数のターゲット行列、N個の第2の圧縮データ及び各第2の圧縮データに対応する認証パスに基づいて、第1の電子機器の送信対象ファイルに対する署名情報を決定することができ、署名情報は、(f,…,f,E,…,E,Vf1,…,Vfr,path,…,path)であり、ここで、Vf1,…,Vfrはそれぞれ第2の対称テンソルAf1,…,Afrの第2の圧縮データであり、すなわち第2の対称テンソルの圧縮表現である。
第3の電子機器のような他の電子機器が第1の電子機器を偽装し、送信対象ファイルMに対して署名を生成する場合、第3の電子機器が秘密鍵を持っていないので、秘密鍵に基づいてターゲット行列を生成できず、すなわち、式
Figure 0007312293000027
でターゲット行列E,…,Eを生成することができない。秘密鍵を解読するために対称テンソル同型問題を解く必要がああるので、第3の電子機器は第1の電子機器の秘密鍵を取得しにくい。同時に、前記第3の電子機器が取得した公開鍵は、同型の対称テンソルの基にハッシュツリーに合わせて生成されたものであり、ハッシュツリーのルートノードのハッシュ値を含む。このように、第3の電子機器が署名を偽造しようとすると、ハッシュツリーを解読する必要があり、ハッシュ関数原像の設計困難性に基づいて、署名情報を偽造することは非常に困難である。
また、第3の電子機器のプロトコルへの直接的な攻撃方法はいずれも以下のような問題に帰結する。
Figure 0007312293000028
を計算した後にH(M|B|…|B)を計算して得られたf,…,fがf=g
Figure 0007312293000029
となることを満たすように、
Figure 0007312293000030
で表される複数の01文字列を生成する方法を探し出す必要がある。ハッシュ関数の性質に基づいて、このような攻撃成功の確率は著しく1/2rs超えない。
したがって、上記2つの点に基づいて、第3の電子機器は第1の電子機器の署名情報を偽造することが非常に困難である。
さらに、128bitの安全性を達成するために、プロトコルにおけるパラメータの組み合わせは以下のように設定することができ、以下の表2に示すとおりである。
表2 128bit安全性を達成するためのいくつかのパラメータの組み合わせ
Figure 0007312293000031
ここで、上の表2において、公開鍵の長さ及び署名の長さの単位はBytesである。
本実施形態では、前記第1の文字列を分割し、P個の文字列を得て、前記P個の文字列に基づいて、前記第1の可逆行列の逆行列と前記第2の可逆行列に対して行列乗算処理を行うことにより、ターゲット行列を生成し、前記P個の文字列に基づいて、前記L個の第2の圧縮データからN個の第2の圧縮データを選択し、前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値と前記第2の圧縮データに基づいて、前記第2の圧縮データに対応する認証パスであって、前記ハッシュツリーのルートノードに対する前記構築データの認証パスを決定する。ここで、前記署名情報は、前記P個の文字列、前記ターゲット行列、前記N個の第2の圧縮データ、及び前記N個の第2の圧縮データに対応する認証パスを含む。このように、他の電子機器が秘密鍵を知らない場合に、対称テンソル同型問題をハッシュツリーと合わせて生成された公開鍵により、その間の可逆行列を偽造し、すなわち、秘密鍵を偽造することが非常に困難であり、そして、ハッシュツリーのルートノードに基づいてハッシュツリーを解読することも非常に困難であり、デジタル署名を偽造することが非常に困難であり、さらにデジタル署名の安全性を向上させることができる。
好ましくは、前記N個の第2の圧縮データは、ターゲット圧縮データを含み、前記ターゲット圧縮データは、前記N個の第2の圧縮データのうちのいずれかの一つであり、前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記第2の圧縮データに対応する認証パスを決定することは、
前記ハッシュツリーにおけるターゲットデータに対応するリーフノードのハッシュ値と前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードのターゲットハッシュ値を決定することを含み、
ここで、前記ターゲットデータは、前記ターゲット圧縮データに対応する前記構築データであり、前記ハッシュツリーのルートノードに対する前記ターゲットデータの認証パスは、前記ターゲットハッシュ値と、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードの前記ハッシュツリーにおける位置とを含む。
本実施形態は、前記ハッシュツリーのルートノードに対するターゲットデータの認証パスを具体的に説明した。該ターゲットデータはターゲット圧縮データに対応する構築データであってもよい。ハッシュツリーを構築するとき、ハッシュツリー内の各ノードはいずれもハッシュ関数の値、すなわち、ハッシュ値を記憶する。例えばノードAに記憶されたハッシュ値は、その下方の2つのサブノードのハッシュ値だけであり、その所在位置と第1のターゲット文字列MerkleKeyの関数である。したがって、2つのサブノードのハッシュ値、ノードAの位置及びMerkleKeyが分かれば、ハッシュ関数Hを利用してノードAに記憶されたハッシュ値を計算することができる。認証パスは、通過したノードの計算に必要な全ての情報であり、ルートノードのハッシュ値を計算することができる。なお、第1の電子機器の署名過程と第2の電子機器の署名検証過程において採用したハッシュ関数は一致すべきである。
図2を参照すると、図2はターゲット圧縮データに対応する構築データのハッシュツリーのルートノードに対する認証パスの計算実現概略図であり、図2に示すとおり、まず、ターゲット圧縮データに対応する構築データ(該構築データは、ターゲット圧縮データ又はターゲット圧縮データに対応する第2の対称テンソルであってもよい)に基づいて、ハッシュ関数を呼び出してハッシュツリーにおけるターゲットデータに対応するリーフノード201のハッシュ値を決定する。リーフノード201からルートノード202までの巡回において、リーフノード203、ノード204及びノード205を通過する必要がある。
リーフノード201からルートノード202までの巡回において通過したノードとハッシュツリーにおける他のノード、例えば、ノード206との区別は、ノード206がリーフノード201及びリーフノード203のハッシュ値に基づいて計算して得ることができるが、通過したノードがその位置に基づいてハッシュツリーにおけるノードのハッシュ値を得る必要があることである。これらの通過したノードのハッシュ値は、ターゲットデータに合わせてハッシュツリーのルートノードのハッシュ値を計算することに用いることができる。
ここで、リーフノード201のハッシュ値までを取得した場合、リーフノード203の位置及びハッシュ値を取得することができ、例えば、リーフノード203は、リーフノード201の左側にあり、それに応じてリーフノード201の左側に隣接するリーフノード203のハッシュ値を取得し、ハッシュツリールートノードに対する前記ターゲットデータの認証パスは、リーフノード203の位置及びハッシュ値を含む。
その後、リーフノード201のハッシュ値及びリーフノード203のハッシュ値に基づいて、ハッシュ関数を呼び出してその親ノードのハッシュ値を取得することができ、それに応じて、通過したノードがその親ノードの右側にあるノード204を含み、それに応じて、ハッシュツリーにおける該位置のノード204のハッシュ値を取得することができ、ハッシュツリールートノードに対する前記ターゲットデータの認証パスは、ノード204の位置及びハッシュ値を含む。
ノード205のハッシュ値の取得方式はノード204のハッシュ値の取得方式と類似し、ここでは説明を省略する。最終的に、ハッシュツリーのルートノードのハッシュ値に等しいように、ノード204の親ノードのハッシュ値及びノード205のハッシュ値に基づいてハッシュ値を計算することができる。ハッシュツリーのルートノードに対するターゲットデータの認証パスはノード203の位置及びハッシュ値、ノード204の位置及びハッシュ値、及びノード205の位置及びハッシュ値を含む。
本実施形態では、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードのハッシュ値及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまでのノードのターゲットハッシュ値を決定することにより、ハッシュツリーのルートノードに対するターゲットデータの認証パスを取得することができ、さらに、該認証パスに基づいて第1の電子機器のデジタル署名を実現することができる。
好ましくは、前記ステップ103は、具体的には、
前記第1の圧縮データ及びランダムに生成された第2の可逆行列に基づいて、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである第1の署名データを生成することと、
前記第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を取得することとを含む。
本実施形態では、
Figure 0007312293000032
に対して、rは正の整数であり、第1の電子機器は少なくとも1つの第2の可逆行列をランダムに生成することができ、この少なくとも1つの第2の可逆行列は
Figure 0007312293000033
で表すことができる。すなわち、ランダムに生成された第2の可逆行列及び第1の圧縮データに基づいて、第1の署名データを構成することができ、該第1の署名データは第1の対称テンソルと同型の少なくとも1つの第3の対称テンソルであってもよく、又は少なくとも1つの第3の対称テンソルの第3の圧縮データであってもよく、その構築式は
Figure 0007312293000034
である。その構築方式は、第2の圧縮データの構築方式と類似し、ここでは説明を省略する。
その後、ハッシュ関数(Hで表す)を用いて、前記送信対象ファイル(Mで表す)に対してデジタル署名を行うことができ、具体的には、送信対象ファイルMと第1の署名データを文字列として直列接続し、直列接続された文字列に対してハッシュ演算を行い、第1の文字列を得ることができる。
第1の署名データが第3の対称テンソルである場合、送信対象ファイルMと第3の対称テンソルB、…、Bを文字列として直列接続し、直列接続された文字列に対してハッシュ演算を行い、H(M|B|…|B)で表される第1の文字列を得ることができる。M|B|…|Bは送信対象ファイルMと第2の対称テンソルB、…、Bを文字列として直列接続することを表す。ここで、送信対象ファイルMと第3の対称テンソルB、…、Bを文字列として直列接続した後にハッシュ演算を行い、データ量を増加させることができ、それによりハッシュ関数により生成された第1の文字列の安全性を向上させることができる。
第1の署名データが第3の圧縮データである場合、送信対象ファイルMと第3の圧縮データを文字列として直列接続し、直列接続された文字列に対してハッシュ演算を行い、第1の文字列を得ることができる。ここで、送信対象ファイルMと第3の圧縮データを文字列として直列接続した後にハッシュ演算を行う場合に、計算速度が速い。
第1の文字列はバイナリ文字列、すなわち01文字列であってもよく、その長さはr×sであってもよく、パラメータsは身元認証プロトコルのパラメータである。パラメータsとパラメータtはt=2を満たす。Hはハッシュ関数であり、任意の長さの文字列を入力し、長さがr×sの01文字列を出力する。
本実施形態では、前記第1の圧縮データ及びランダムに生成された第2の可逆行列に基づいて、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである第1の署名データを生成し、前記第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得ることにより、デジタル署名を実現することができる。
好ましくは、前記ステップS104は、具体的には、
前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいて、ハッシュツリーのリーフノードのハッシュ値を構築することと、
前記ハッシュツリーのリーフノードのハッシュ値及び前記第1のターゲット文字列に基づいて、前記ハッシュツリーのノードのうちの、前記リーフノード以外の他のノードのハッシュ値を構築することとを含む。ここで、前記他のノードは、前記ハッシュツリーのルートノードを含む。
本実施形態は前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいてハッシュツリーを構築する具体的な過程を説明する。
MerkleKeyで表される第1のターゲット文字列をランダムに生成することができ、具体的には、uniform又はrandomなどのランダム関数に基づいてMerkleKeyを生成することができる。
ここで、MerkleKeyは長さがλの01文字列であってもよく、λは安全性パラメータであってもよく、すなわち必要なデジタル署名の安全性に基づいて、λを設定することができ、例えばデジタル署名が128bitの安全性を達成する必要があれば、λを128に設定することができる。
L個の構築データに基づいてハッシュツリーのリーフノードを構築することができ、具体的には、ハッシュ関数Hを用いてハッシュツリーの第s層、すなわち、リーフノードに対応する層を構築することができ、構築データが第2の対称テンソルである場合、式hs,i=H(A|(2+i)|MerkleKey)を用いてハッシュツリーの第s層におけるリーフノードのハッシュ値を計算することができ、ここで、0≦i≦t-1、hs,iはリーフノードに対応する層、すなわち、第s層の第i個のリーフノードのハッシュ値であり、記号|は文字列の接続を表す。
構築データが第2の圧縮データである場合、式hs,i=H(A|(2+i)|MerkleKey)におけるAを第2の圧縮データに置き換えることができる。
ハッシュ関数Hを使用してハッシュツリーの他の内部ノードを構築し続ける場合に、hk,i=H(hk+1,2i|hk+1,2i+1|(2+i)|MerkleKey)を用い、0≦k<s、0≦i<2、hk,iは、第k層の第i個のノードのハッシュ値であり、hk+1,2i及びhk+1,2i+1はそれぞれ該ノードの2つのサブノードのハッシュ値であり、該ノードはこの2つのサブノードの親ノードと呼ぶことができる。これによりハッシュツリーのh0,0で表されるルートノードを含む全ての要素を構築することができ、h0,0のハッシュ値を公開鍵の一部とすることができる。
本実施形態では、前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいて、ハッシュツリーのルートノードのハッシュ値を構築し、このように、ハッシュツリーの解読難度を向上させることができ、さらにデジタル署名の安全性をさらに向上させることができる。
好ましくは、前記ステップS101の前に、
前記第1のターゲット文字列及びハッシュツリーのルートノードのハッシュ値を含み、前記秘密鍵に対応する公開鍵を生成することと、
前記公開鍵を公開することとを含む。
本実施形態は、秘密鍵に基づいて公開鍵を生成する過程であり、他の電子機器が前記第1の電子機器から送信された署名情報及び送信対象ファイルを受信する場合、送信対象ファイルの送信側、すなわち、第1の電子機器に対して身元認証を行うことができるように、秘密鍵に対応する公開鍵を公開する必要がある。
前記秘密鍵は、第1の可逆行列
Figure 0007312293000035
及び大きさがnの単位行列Cを含む。前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルと同型の対称テンソルの圧縮データを生成することができ、最終的にL個の第2の圧縮データを取得し、Lはtに等しくてもよく、
Figure 0007312293000036
で表すことができる。
第1のターゲット文字列MerkleKeyをランダムに生成し、MerkleKey及び前記L個の構築データに基づいて、ハッシュ関数を用いてハッシュツリーのリーフノードのハッシュ値を構築し、その構築過程は上記に既に詳細に説明され、ここでそれを繰り返して説明しない。なお、第1の電子機器の署名過程及び第2の電子機器の署名検証過程において、採用する第1のターゲット文字列は一致すべきである。
リーフノードのハッシュ値及びMerkleKeyに基づいて、ハッシュ関数を用いてハッシュツリーにおける他のノードのハッシュ値を構築し、最終的にハッシュツリーのルートノードのハッシュ値を構築することができる。ここで、前記秘密鍵に対応する公開鍵は前記第1のターゲット文字列及びハッシュツリーのルートノードのハッシュ値を含む。
その後、生成された前記公開鍵を公開することができ、他の電子機器は前記第1の電子機器の公開鍵を得ることができる。
本実施形態では、秘密鍵及びランダムに生成された初期対称テンソルの第1の圧縮データにより該初期対称テンソルと同型の対称テンソルの第2の圧縮データを構築し、L個の第2の圧縮データを取得し、前記L個の第2の圧縮データ及び第1のターゲット文字列に基づいて、ハッシュツリーのルートノードのハッシュ値を構築し、ハッシュツリーのルートノードのハッシュ値及び第1のターゲット文字列を第1の電子機器の公開鍵として公開する。このように、公開鍵の長さを大幅に減少させることができ、それにより公開鍵の相互作用が必要なシーンでの応用効率を向上させることができる。
第2の実施例
図3に示すように、本開示は署名情報の検証方法を提供し、前記方法は第2の電子機器に応用され、以下のステップS301~S305を含む。
ステップS301では、送信対象ファイルと、前記送信対象ファイルの署名情報、前記第2の電子機器の署名情報の検証に用いられる公開鍵とを取得し、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及び前記ハッシュツリーのルートノードに対するN個の構築データの認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルである。
ステップS302では、前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成する。
ステップS303では、前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成する。
ステップS304では、前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得る。
ステップS305では、前記第2の文字列に基づいて前記署名情報を検証する。
本実施例では、前記第2の電子機器は送信対象ファイルを受信する電子機器であり、第1の電子機器は送信対象ファイル及び前記送信対象ファイルの署名情報を第2の電子機器に送信することができ、それに応じて、第2の電子機器は前記送信対象ファイル、送信対象ファイルの署名情報を受信することができる。
前記第1の電子機器は送信対象ファイル及び前記送信対象ファイルの署名情報を送信する前に、その身元を検証するための公開鍵を公開し、第2の電子機器は前記第1の電子機器から公開した公開鍵を取得することができる。
前記公開鍵は前記署名情報に関連する秘密鍵に対応し、すなわち、前記公開鍵と前記署名情報を生成する秘密鍵は鍵ペアであり、前記公開鍵はハッシュツリーのルートノードのハッシュ値を含み、さらに第1のターゲット文字列を含んでもよい。
署名情報はN個の第2の対称テンソルのN個の第2の圧縮データと前記ハッシュツリーのルートノードに対するN個の構築データの認証パスを含むことができ、1つの構築データは1つの第2の圧縮データ又は1つの第2の圧縮データに対応する第2の対称テンソルである。ここで、署名情報の署名検証過程及びデジタル署名過程において、ハッシュツリーにおけるノードのハッシュ値を構築するために用いられる構築データのタイプは一致すべきである。
すなわち、デジタル署名過程において、第2の圧縮データを用いてハッシュツリーにおけるノードのハッシュ値を構成する場合、署名情報の署名検証過程も第2の圧縮データを直接的に用いてQ個の第2のターゲット文字列を生成すべきである。デジタル署名過程において、第2の対称テンソルを用いてハッシュツリーにおけるノードのハッシュ値を構築する場合、署名情報の署名検証過程は第2の圧縮データを第2の対称テンソルに復元し、その後に第2の対称テンソルを用いてQ個の第2のターゲット文字列を生成する。
具体的には、構築データを第2の対称テンソルとして説明し、
Figure 0007312293000037
に対して、第2の圧縮データを第2の対称テンソルに復元することができる。第2の対称テンソルAfi及びその認証パスに基づいて、式path(Afi)=h0,0を用い、1つの第2のターゲット文字列を得るまでハッシュ関数を繰り返して呼び出す。署名情報が偽造ではない場合、第2の対称テンソル及びその認証パスpathに基づいて、ハッシュツリーのルートノードのハッシュ値を得ることができる。したがって、該第2のターゲット文字列とハッシュツリーのルートノードのハッシュ値が同じであるか否かを比較して、署名情報の初検証を行うことができる。
構築データが第2の圧縮データである場合、類似の計算方式を採用し、path(Afi)=h0,0中のAfiを第2の圧縮データに直接的に置き換えるpathは前記ハッシュツリーのルートノードに対する第2の圧縮データの認証パスである。
このように、署名情報における第2の圧縮データ及び前記ハッシュツリーのルートノードに対する構築データの認証パスにより、ハッシュ関数を繰り返して呼び出して第2のターゲット文字列を得て、該第2のターゲット文字列とハッシュツリーのルートノードのハッシュ値とを比較することにより、署名情報の初検証を実現することができる。
各第2のターゲット文字列がいずれも公開鍵における前記ハッシュツリーのルートノードのハッシュ値と同じである場合、初検証に合格する。初検証に合格した場合、再検証を行う。そうでなければ、少なくとも1つの第2のターゲット文字列がハッシュツリーのルートノードのハッシュ値と異なる場合、検証に失敗する。
再検証において、N個の第2の圧縮データに基づいて、署名情報とN個の第2の対称テンソルに対して行列乗算処理を行うことにより、第2の署名データを生成することができる。具体的には、式
Figure 0007312293000038
を用いて、第2の署名データを生成することができ、該第2の署名データは少なくとも1つの第4の対称テンソルであってもよく、又は、該少なくとも1つの第4の対称テンソルの第4の圧縮データであってもよく、B’は第4の対称テンソルを表し、Eはターゲット行列である。
具体的には、N個の第2の圧縮データに基づいて、署名情報におけるターゲット行列とN個の第2の対称テンソルに対して行列乗算処理を行うことにより、第2の署名データを生成することができる。ここで、第2の署名データの生成方式は第1の署名データの生成方式と類似し、ここで具体的に説明しない。
その後、第2の署名データに基づいて、ハッシュ関数を用いて前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を取得することができる。ここで、第2の文字列の生成方式は第1の文字列の生成方式と類似し、ここで具体的に限定せず、デジタル署名過程においてデジタル署名を行うハッシュ関数は署名検証過程においてデジタル署名を行うハッシュ関数と同じである。
第2の文字列はバイナリ文字列、すなわち01文字列であってもよく、その長さはr×sであってもよい。
最後に、前記第2の文字列に基づいて前記署名情報を検証することができ、前記第2の文字列と前記署名情報中の文字列が全て同じである場合、前記署名情報の検証が成功し、すなわち前記送信対象ファイルが確かに前記第1の電子機器から送信されたものである。前記第2の文字列と前記署名情報中の文字列が完全に同じではない場合、前記署名情報の検証が失敗し、すなわち前記送信対象ファイルは第1の電子機器ではなく他の電子機器から送信されたものである。このように第2の電子機器は署名情報を二重検証することにより、検証の正確性を保証する。
本実施例では、第2の電子機器は第1の電子機器から公開した公開鍵を取得した場合、公開鍵及び受信した送信対象ファイル及び前記送信対象ファイルの署名情報に基づいて、署名情報を非常に容易に検証することにより、送信対象ファイルの送信者の身元を検証することができる。同時に、署名情報に対して二重検証を行い、さらに検証の正確性を保証することができる。
好ましくは、前記第2の署名データのタイプは第1の署名データのタイプに対応し、前記第1の署名データは第1の対称テンソルと同型の第3の対称テンソル又は前記第3の対称テンソルの第3の圧縮データであり、前記第1の署名データは前記送信対象ファイルに対してデジタル署名を行うことに用いられる。
本実施形態では、第2のターゲットデータのタイプが第1のターゲットデータのタイプに対応することは、第1の署名データが対称テンソルの形式である場合、第2の署名データも対称テンソルの形式であるべきであるが、第1の署名データが対称テンソルの圧縮表現である場合、第2の署名データも対称テンソルの圧縮表現であるべきである。このように、ハッシュ関数によるデジタル署名及び署名検証の一致性を保証できる。
好ましくは、前記署名情報はP個の文字列を含み、Pは1より大きい正の整数であり、前記ステップS305は、具体的には、
前記第2の文字列を分割し、pに等しいK個の文字列を得ることと、
前記P個の文字列がそれぞれ前記K個の文字列と同じである場合、前記署名情報の検証が成功したと決定するか、又は前記P個の文字列における第3のターゲット文字列が前記K個の文字列における第4のターゲット文字列と異なる場合、前記署名情報の検証が失敗したと決定することとを含み、
ここで、前記第3のターゲット文字列の前記P個の文字列での位置は、前記第4のターゲット文字列の前記K個の文字列での位置に対応し、前記第3のターゲット文字列は、前記P個の文字列のうちのいずれかの一つである。
本実施形態では、第2の文字列を分割し、複数の文字列を得ることができ、例えば、長さがsの01文字列をr個得る。このr個の文字列はそれぞれf’,…,f’で表すことができる。
Figure 0007312293000039
に対して、いずれもfi=f’があれば、前記署名情報の検証が成功し、そうでなければ前記署名情報の検証が失敗する。
本実施形態では、第2の文字列を分割することにより、複数の文字列を得て、この複数の文字列を署名情報における複数の文字列と一対一に照合し、いずれも同じである場合、前記署名情報の検証が成功し、少なくとも1つの文字列が異なる場合、署名情報の検証が失敗し、このように、署名情報を非常に便利に検証することができる。
本開示の実施例におけるデジタル署名方法及び署名情報の検証方法の利点を検証するために、実行時間、公開鍵の長さ及び署名の長さなどの方面から本開示の実施例の解決手段及び他の解決手段を比較する。本開示の実施例の解決手段は、2.4GHzのプロセッサを採用し、対称テンソル同型(ハッシュツリー技術を加える)に基づくスキームであり、他の解決手段は、3.3GHzのプロセッサを採用し、格問題に基づく署名スキームFalconと、2.4GHzのプロセッサを採用し、対称テンソル同型に基づく署名スキームと、及び3.5GHzのプロセッサを採用し、ハッシュ関数に基づく署名スキームSPHINCS+を含む。
本開示の実施例の解決手段は、プログラミング言語Pythonプロトタイプに基づいて実現され、各解決手段の実行スケジュールは以下の表3に示すとおりであり、各スキームの公開鍵の長さ及び署名の長さの表は以下の表4に示すとおりである。
表3 各スキームの実行時間
Figure 0007312293000040
表4 各スキームの公開鍵の長さと署名の長さ
Figure 0007312293000041
表3から分かるように、他の解決手段に比べて、本解決手段は実行時間にいずれも明らかに改善され、表4から分かるように、他の解決手段に比べて、本解決手段は公開鍵の長さを大幅に低減することができる。
第3の実施例
図4に示すように、本開示は、第1の電子機器に応用されるデジタル署名装置400を提供する。
送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列を含む秘密鍵と、次数が2より大きくランダムに生成された第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得するための第1の取得モジュール401と、
前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成するための第1の生成モジュール402と、
ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得るための第1のデジタル署名モジュール403と、
前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築するための構築モジュール404と、
前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成するための第2の生成モジュール405とを含む。
好ましくは、前記第2の生成モジュール405は、
前記第1の文字列を分割し、1より大きい正の整数であるP個の文字列を取得するための分割ユニットと、
前記P個の文字列に基づいて、前記第1の可逆行列の逆行列と前記第2の可逆行列に対して行列乗算処理を行うことにより、ターゲット行列を生成するための処理ユニットと、
前記P個の文字列に基づいて、前記L個の第2の圧縮データから、正の整数であるN個の第2の圧縮データを選択するための選択ユニットと、
前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記ハッシュツリーのルートノードに対する前記構築データの認証パスであって、前記第2の圧縮データに対応する認証パスを決定するための決定ユニットとを含み、
ここで、前記署名情報は、前記P個の文字列、前記ターゲット行列、前記N個の第2の圧縮データ及び前記N個の第2の圧縮データに対応する認証パスを含む。
前記N個の第2の圧縮データは、ターゲット圧縮データを含み、前記ターゲット圧縮データは、前記N個の第2の圧縮データのうちのいずれかの一つであり、
前記決定ユニットは、具体的には、
前記ハッシュツリーにおけるターゲットデータに対応するリーフノードのハッシュ値と前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードのターゲットハッシュ値を決定することに用いられ、
ここで、前記ターゲットデータは、前記ターゲット圧縮データに対応する前記構築データであり、前記ハッシュツリーのルートノードに対する前記ターゲットデータの認証パスは、前記ターゲットハッシュ値と、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードの前記ハッシュツリーにおける位置とを含む。
好ましくは、前記第1のデジタル署名モジュール403は、具体的には、
前記第1の圧縮データ及びランダムに生成された第2の可逆行列に基づいて、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである第1の署名データを生成することに用いられ、
前記第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得ることに用いられる。
好ましくは、前記構築モジュール404は、具体的には、
前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいて、ハッシュツリーのリーフノードのハッシュ値を構築することと、
前記ハッシュツリーのリーフノードのハッシュ値及び前記第1のターゲット文字列に基づいて、前記ハッシュツリーのノードのうちの前記リーフノード以外の、前記ハッシュツリーのルートノードを含む他のノードのハッシュ値を構築することとに用いられる。
好ましくは、前記装置は、
前記第1のターゲット文字列及びハッシュツリーのルートノードのハッシュ値を含み、前記秘密鍵に対応する公開鍵を生成するための第3の生成モジュールと、
前記公開鍵を公開するための公開モジュールとをさらに含む。
本開示の提供するデジタル署名装置400は、デジタル署名方法の実施例の実現する各過程を実現することができ、かつ同じ有益な効果を達成することができ、重複を回避するために、ここでは説明を省略する。
第4の実施例
図5に示すように、本開示は第2の電子機器に応用される署名情報検証装置500を提供する。
送信対象ファイルと、前記送信対象ファイルの署名情報と、前記第2の電子機器の署名情報の検証に用いられる公開鍵とを取得する第2の取得モジュール501と、
ここで、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及び前記ハッシュツリーのルートノードに対するN個の構築データの認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルであり、
前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成するための第4の生成モジュール502と、
前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成するための行列乗算処理モジュール503と、
前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得るための第2のデジタル署名モジュール504と、
前記第2の文字列に基づいて前記署名情報を検証するための検証モジュール505とを含む。
好ましくは、前記第2の署名データのタイプは第1の署名データのタイプに対応し、前記第1の署名データは第1の対称テンソルと同型の第3の対称テンソル又は前記第3の対称テンソルの第3の圧縮データであり、前記第1の署名データは前記送信対象ファイルに対してデジタル署名を行うことに用いられる。
好ましくは、前記署名情報はP個の文字列を含み、Pは1より大きい正の整数であり、前記検証モジュール505は、具体的には、
前記第2の文字列を分割し、pに等しいK個の文字列を得ることと、
前記P個の文字列がそれぞれ前記K個の文字列と同じである場合、前記署名情報の検証が成功したと決定するか、又は前記P個の文字列における第3のターゲット文字列が前記K個の文字列における第4のターゲット文字列と異なる場合、前記署名情報の検証が失敗したと決定することとに用いられ、
ここで、前記第3のターゲット文字列の前記P個の文字列での位置は、前記第4のターゲット文字列の前記K個の文字列での位置に対応し、前記第3のターゲット文字列は、前記P個の文字列のうちのいずれかの一つである。
本開示の提供する署名情報の検証装置500は署名情報の検証方法の実施例の実現する各過程を実現することができ、かつ同じ有益な効果を達成することができ、重複を回避するために、ここでは説明を省略する。
本開示の技術的解決手段において、関連するユーザの個人情報の取得、記憶及び応用などは、いずれも関連する法令の規定に合致し、かつ公序良俗に違反しない。
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体及びコンピュータプログラム製品をさらに提供する。
図6は、本開示の実施例を実施するために使用され得る例示的な電子機器600の概略ブロック図である。電子機器は、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、作業台、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータを表すことを目的とする。電子機器は、さらに、様々な形式の移動装置、例えば、パーソナルデジタル処理、携帯電話、スマートフォン、着用可能な装置及び他の類似する計算装置を表すことができる。本明細書に示された部材、それらの接続及び関係、並びにそれらの機能は単なる例示であり、本明細書に記載された及び/又は要求された本開示の実現を制限することを意図しない。
図6に示すように、機器600はコンピューティングユニット601を含み、それは読み出し専用メモリ(ROM)602に記憶されたコンピュータプログラム又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムに基づいて、様々な適切な動作及び処理を実行することができる。RAM603において、さらに機器600の操作に必要な様々なプログラム及びデータを記憶することができる。コンピューティングユニット601、ROM602、及びRAM603は、バス604を介して相互に接続されている。バス604には、さらに、入/出力(I/O)インタフェース605が接続されている。
機器600における複数の部品はI/Oインタフェース605に接続され、例えばキーボード、マウスなどである入力ユニット606、例えば様々なタイプのディスプレイ、スピーカなどである出力ユニット607、例えば磁気ディスク、光ディスクなどである記憶ユニット608、及び例えばネットワークカード、モデム、無線通信トランシーバなどである通信ユニット609を含む。通信ユニット609は、インターネットなどのコンピュータネットワーク及び/又は各種の通信網を介して、機器600が他の機器との間で情報/データの送受信を行うことを可能にする。
コンピューティングユニット601は、処理及び演算能力を有する各種の汎用又は専用の処理コンポーネントであってよい。コンピューティングユニット601のいくつかの例には、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、各種の専用な人工知能(AI)コンピューティングチップ、機械学習モデルアルゴリズムを実行する様々なコンピューティングユニット、デジタル信号プロセッサ(DSP)、及び適切なプロセッサ、コントローラ、マイクロコンピュータが含まれるが、これらに限定されない。コンピューティングユニット601は以上に説明した各方法及び処理、例えばデジタル署名方法又は署名情報の検証方法を実行する。例えば、いくつかの実施例では、デジタル署名方法又は署名情報の検証方法は、コンピュータソフトウェアプログラムとして実現することができ、記憶ユニット608などの機械読み取り可能な媒体上に具体的に含まれる。いくつかの実施形態では、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を介して機器600にロード及び/又はインストールされ得る。コンピュータプログラムがRAM603にロードされ、かつコンピューティングユニット601により実行される場合、上記説明されたデジタル署名方法又は署名情報の検証方法の1つ又は複数のステップを実行することができる。代替的に、他の実施例では、コンピューティングユニット601は他の任意の適切な方式(例えば、ファームウェアを利用する)によりデジタル署名方法又は署名情報の検証方法を実行するように構成されてもよい。
ここで説明したシステム及び技術の様々な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、チップオンシステムのシステム(SOC)、ロードプログラマブルロジック装置(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、特定用途向け又は汎用のプログラマブルプロセッサであり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈できる、1つ又は複数のコンピュータプログラムで実施され、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、かつデータ及び命令を該記憶システム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができることを含む。
本開示の方法を実施するためのプログラムコードは1つ又は複数のプログラミング言語の任意の組み合わせを用いてプログラミングすることができる。これらのプログラムコードは汎用コンピュータ、特定用途向けコンピュータ又は他のプログラム可能なデータ処理装置のプロセッサ又はコントローラに提供することができることにより、プログラムコードはプロセッサ又はコントローラにより実行されるときにフローチャート及び/又はブロック図に規定された機能/操作が実施される。プログラムコードは完全に機械で実行され、部分的に機械で実行されてもよく、独立したソフトウェアパッケージとして部分的に機械で実行され、かつ部分的に遠隔機械で実行されるか又は完全に遠隔機械又はサーバで実行される。
本開示のコンテキストにおいて、機械読み取り可能な媒体は有形の媒体であってもよく、それは命令実行システム、装置又は機器が使用するか又は命令実行システム、装置又は機器と組み合わせて使用するためのプログラムを含むか又は記憶することができる。機械読み取り可能な媒体は機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は電子的、磁性的、光学的、電磁的、赤外線的、又は半導体システム、装置又は機器、又は上記内容の任意の適切な組み合わせを含むがこれらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は1つ又は複数の線に基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能な読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記内容の任意の適切な組み合わせを含む。
ユーザとの対話を提供するために、コンピュータでここで説明されたシステム及び技術を実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)、キーボード及びポインティング装置(例えば、マウス又はトラックボール)を有し、ユーザは、該キーボード及び該ポインティング装置により入力をコンピュータに提供することができる。他の種類の装置は、さらに、ユーザとの対話を提供するために用いられ、例えば、ユーザに提供されたフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、かつ任意の形式(音声入力、音声入力又は触覚入力を含む)でユーザからの入力を受信することができる。
ここで説明されたシステム及び技術をバックグラウンド部材を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア部材を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド部材を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ウェブブラウザを介してここで説明されたシステム及び技術の実施形態と対話することができる)、又はこのようなバックグラウンド部材、ミドルウェア部材、又はフロントエンド部材の任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によりシステムの部品を互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットを含む。
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアントとサーバは、一般的に、互いに離れ、かつ一般的に通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生成される。サーバはクラウドサーバであってもよく、分散システムのサーバであってもよく、又はブロックチェーンと組み合わせたサーバであってもよい。
以上に示した様々な形式のフローを使用して、ステップを改めて並べ替えたり、追加したり、削除したりできることを理解すべきである。例えば、本開示に記載の各ステップは並列的に実行されてもよく、順序的に実行されてもよく、異なる順序で実行されてもよく、本開示の技術的解決手段の所望の結果を実現することができれば、本明細書では限定されない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件及び他の要因に応じて、様々な補正、組み合わせ、サブ組み合わせ及び置換を行うことができることを理解すべきである。任意の本開示の精神及び原則内で行われた補正、同等置換及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。

Claims (21)

  1. 送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列を含む秘密鍵と、次数が2より大きくランダムに生成された第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得するステップと、
    前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成するステップと、
    ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得るステップと、
    前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築するステップと、
    前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成するステップとを含む、第1の電子機器に応用されるデジタル署名方法。
  2. 前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記送信対象ファイルに対する前記第1の電子機器の署名情報を生成するステップは、
    前記第1の文字列を分割し、1より大きい正の整数であるP個の文字列を得ることと、
    前記P個の文字列に基づいて、前記第1の可逆行列の逆行列と前記第2の可逆行列に対して行列乗算処理を行うことにより、ターゲット行列を生成することと、
    前記P個の文字列に基づいて、前記L個の第2の圧縮データから、正の整数であるN個の第2の圧縮データを選択することと、
    前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記ハッシュツリーのルートノードに対する前記構築データの認証パスであって前記第2の圧縮データに対応する認証パスを決定することとを含み、
    ここで、前記署名情報は、前記P個の文字列、前記ターゲット行列、前記N個の第2の圧縮データ及び前記N個の第2の圧縮データに対応する認証パスを含む、請求項1に記載の方法。
  3. 前記N個の第2の圧縮データは、ターゲット圧縮データを含み、前記ターゲット圧縮データは、前記N個の第2の圧縮データのうちのいずれかの一つであり、前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記第2の圧縮データに対応する認証パスを決定する前記ステップは、
    前記ハッシュツリーにおけるターゲットデータに対応するリーフノードのハッシュ値と前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードのターゲットハッシュ値を決定することを含み、
    ここで、前記ターゲットデータは、前記ターゲット圧縮データに対応する前記構築データであり、前記ハッシュツリーのルートノードに対する前記ターゲットデータの認証パスは、前記ターゲットハッシュ値と、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードの前記ハッシュツリーにおける位置とを含む、請求項2に記載の方法。
  4. ランダムに生成された前記第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得る前記ステップは、
    前記第1の圧縮データ及びランダムに生成された第2の可逆行列に基づいて、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである第1の署名データを生成することと、
    前記第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得ることとを含む、請求項1に記載の方法。
  5. L個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築する前記ステップは、
    前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいて、ハッシュツリーのリーフノードのハッシュ値を構築することと、
    前記ハッシュツリーのリーフノードのハッシュ値及び前記第1のターゲット文字列に基づいて、前記ハッシュツリーのノードのうちの前記リーフノード以外の、前記ハッシュツリーのルートノードを含む他のノードのハッシュ値を構築することとを含む、請求項1に記載の方法。
  6. 前記送信対象ファイルと、デジタル署名に用いられる前記第1の電子機器の秘密鍵と、第1の圧縮データとを取得する前記ステップの前に、
    前記第1のターゲット文字列及びハッシュツリーのルートノードのハッシュ値を含み、前記秘密鍵に対応する公開鍵を生成することと、
    前記公開鍵を公開することとを含む、請求項5に記載の方法。
  7. 送信対象ファイルと、前記送信対象ファイルの署名情報と、第2の電子機器の署名情報の検証に用いられる公開鍵とを取得するステップと、ここで、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及びハッシュツリーのルートノードに対するN個の構築データの認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルであり、
    前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成するステップと、
    前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成するステップと、
    前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得るステップと、
    前記第2の文字列に基づいて前記署名情報を検証するステップとを含む、第2の電子機器に応用される署名情報検証方法。
  8. 前記第2の署名データのタイプは第1の署名データのタイプに対応し、前記第1の署名データは第1の対称テンソルと同型の第3の対称テンソル又は前記第3の対称テンソルの第3の圧縮データであり、前記第1の署名データは前記送信対象ファイルに対してデジタル署名を行うことに用いられる、請求項7に記載の方法。
  9. 前記署名情報は、P個の文字列を含み、Pは1より大きい正の整数であり、前記第2の文字列に基づいて前記署名情報を検証する前記ステップは、
    前記第2の文字列を分割し、pに等しいK個の文字列を得ることと、
    前記P個の文字列がそれぞれ前記K個の文字列と同じである場合、前記署名情報の検証が成功したと決定するか、又は前記P個の文字列における第3のターゲット文字列が前記K個の文字列における第4のターゲット文字列と異なる場合、前記署名情報の検証が失敗したと決定することとを含み、
    ここで、前記第3のターゲット文字列の前記P個の文字列での位置は、前記第4のターゲット文字列の前記K個の文字列での位置に対応し、前記第3のターゲット文字列は、前記P個の文字列のうちのいずれかの一つである、請求項7に記載の方法。
  10. 送信対象ファイルと、第1の電子機器のデジタル署名に用いられる第1の可逆行列を含む秘密鍵と、次数が2より大きくランダムに生成された第1の対称テンソルに基づいて圧縮して得られた第1の圧縮データとを取得するための第1の取得モジュールと、
    前記第1の可逆行列及び前記第1の圧縮データに基づいて、前記第1の対称テンソルのほかに前記第1の対称テンソルと同型の対称テンソルをさらに含み、1より大きい正の整数であるL個の第2の対称テンソルのL個の第2の圧縮データを生成するための生成モジュールと、
    ランダムに生成された第2の可逆行列及び前記第1の圧縮データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得るための第1のデジタル署名モジュールと、
    前記L個の第2の圧縮データ又は前記L個の第2の対称テンソルであるL個の構築データに基づいて、ハッシュツリーのルートノードのハッシュ値を構築するための構築モジュールと、
    前記第1の文字列、第1の可逆行列、第2の可逆行列、L個の第2の圧縮データ及び前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記第1の電子機器の前記送信対象ファイルに対する署名情報を生成するための第2の生成モジュールとを含む、第1の電子機器に応用されるデジタル署名装置。
  11. 前記第2の生成モジュールは、
    前記第1の文字列を分割し、1より大きい正の整数であるP個の文字列を取得するための分割ユニットと、
    前記P個の文字列に基づいて、前記第1の可逆行列の逆行列と前記第2の可逆行列に対して行列乗算処理を行うことにより、ターゲット行列を生成するための処理ユニットと、
    前記P個の文字列に基づいて、前記L個の第2の圧縮データから、正の整数であるN個の第2の圧縮データを選択するための選択ユニットと、
    前記N個の第2の圧縮データの各々に対して、前記ハッシュツリーのルートノードのハッシュ値及び前記第2の圧縮データに基づいて、前記ハッシュツリーのルートノードに対する前記構築データの認証パスであって前記第2の圧縮データに対応する認証パスを決定するための決定ユニットとを含み、
    ここで、前記署名情報は、前記P個の文字列、前記ターゲット行列、前記N個の第2の圧縮データ及び前記N個の第2の圧縮データに対応する認証パスを含む、請求項10に記載の装置。
  12. 前記N個の第2の圧縮データは、ターゲット圧縮データを含み、前記ターゲット圧縮データは、前記N個の第2の圧縮データのうちのいずれかの一つであり、
    前記決定ユニットは、具体的には、
    前記ハッシュツリーにおけるターゲットデータに対応するリーフノードのハッシュ値と前記ハッシュツリーのルートノードのハッシュ値に基づいて、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードのターゲットハッシュ値を決定することに用いられ、
    ここで、前記ターゲットデータは、前記ターゲット圧縮データに対応する前記構築データであり、前記ハッシュツリーのルートノードに対する前記ターゲットデータの認証パスは、前記ターゲットハッシュ値と、前記ハッシュツリーにおける前記ターゲットデータに対応するリーフノードからルートノードまで通過したノードの前記ハッシュツリーにおける位置とを含む、請求項11に記載の装置。
  13. 前記第1のデジタル署名モジュールは、具体的には、
    前記第1の圧縮データ及びランダムに生成された第2の可逆行列に基づいて、前記第1の対称テンソルと同型の第3の対称テンソル、又は、前記第3の対称テンソルの第3の圧縮データである第1の署名データを生成することと、
    前記第1の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第1の文字列を得ることとに用いられる、請求項10に記載の装置。
  14. 前記構築モジュールは、具体的には、
    前記L個の構築データ及びランダムに生成された第1のターゲット文字列に基づいて、ハッシュツリーのリーフノードのハッシュ値を構築することと、
    前記ハッシュツリーのリーフノードのハッシュ値及び前記第1のターゲット文字列に基づいて、前記ハッシュツリーのノードのうちの前記リーフノード以外の、前記ハッシュツリーのルートノードを含む他のノードのハッシュ値を構築することとに用いられる、請求項10に記載の装置
  15. 前記第1のターゲット文字列及びハッシュツリーのルートノードのハッシュ値を含み、前記秘密鍵に対応する公開鍵を生成するための第3の生成モジュールと、
    前記公開鍵を公開するための公開モジュールとをさらに含む、請求項14に記載の装置。
  16. 送信対象ファイルと、前記送信対象ファイルの署名情報と、第2の電子機器の署名情報の検証に用いられる公開鍵とを取得する第2の取得モジュールと、
    ここで、前記公開鍵は、N個の第2の対称テンソルのN個の第2の圧縮データ及びハッシュツリーのルートノードに対するN個の構築データの認証パスを含む前記署名情報に関連する秘密鍵に対応し、ハッシュツリーのルートノードのハッシュ値を含み、一つの構築データは、一つの第2の圧縮データ又は一つの第2の圧縮データに対応する第2の対称テンソルであり、
    前記N個の第2の圧縮データ及び前記認証パスに基づいて、正の整数であるQ個の第2のターゲット文字列を生成するための第4の生成モジュールと、
    前記ハッシュツリーのルートノードのハッシュ値が各第2のターゲット文字列と同じである場合、前記N個の第2の圧縮データに基づいて、前記署名情報と前記N個の第2の対称テンソルに対して行列乗算処理を行うことにより、前記N個の第2の対称テンソルと同型の第4の対称テンソル又は前記第4の対称テンソルの第4の圧縮データである第2の署名データを生成するための行列乗算処理モジュールと、
    前記第2の署名データに基づいて、前記送信対象ファイルに対してデジタル署名を行い、第2の文字列を得るための第2のデジタル署名モジュールと、
    前記第2の文字列に基づいて前記署名情報を検証するための検証モジュールとを含む、第2の電子機器に応用される署名情報の検証装置。
  17. 前記第2の署名データのタイプは第1の署名データのタイプに対応し、前記第1の署名データは第1の対称テンソルと同型の第3の対称テンソル又は前記第3の対称テンソルの第3の圧縮データであり、前記第1の署名データは前記送信対象ファイルに対してデジタル署名を行うことに用いられる、請求項16に記載の装置。
  18. 前記署名情報は、1より大きい正の整数であるP個の文字列を含み、前記検証モジュールは、具体的には、
    前記第2の文字列を分割し、pに等しいK個の文字列を得ることと、
    前記P個の文字列がそれぞれ前記K個の文字列と同じである場合、前記署名情報の検証が成功したと決定するか、又は前記P個の文字列における第3のターゲット文字列が前記K個の文字列における第4のターゲット文字列と異なる場合、前記署名情報の検証が失敗したと決定することとに用いられ、
    ここで、前記第3のターゲット文字列の前記P個の文字列での位置は、前記第4のターゲット文字列の前記K個の文字列での位置に対応し、前記第3のターゲット文字列は、前記P個の文字列のうちのいずれかの一つである、請求項16に記載の装置。
  19. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信接続されたメモリとを含み、ここで
    前記メモリは、前記少なくとも1つのプロセッサにより実行可能で、前記少なくとも1つのプロセッサにより実行されることにより、前記少なくとも1つのプロセッサが請求項1~6のいずれか一項に記載の方法を実行できるか、又は請求項7~9のいずれか一項に記載の方法を実行できる命令が記憶される、電子機器。
  20. コンピュータが請求項1~6のいずれか一項に記載の方法を実行するか、又は請求項7~9のいずれか一項に記載の方法を実行するためのコンピュータ命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体。
  21. プロセッサにより実行されるときに請求項1~6のいずれか一項に記載の方法を実行するか、又は請求項7~9のいずれか一項に記載の方法を実行するコンピュータプログラム
JP2022064716A 2021-07-20 2022-04-08 デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 Active JP7312293B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110819116.8 2021-07-20
CN202110819116.8A CN113407976B (zh) 2021-07-20 2021-07-20 数字签名方法、签名信息的验证方法、相关装置及电子设备

Publications (2)

Publication Number Publication Date
JP2022095852A JP2022095852A (ja) 2022-06-28
JP7312293B2 true JP7312293B2 (ja) 2023-07-20

Family

ID=77686985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022064716A Active JP7312293B2 (ja) 2021-07-20 2022-04-08 デジタル署名方法、署名情報の検証方法、関連装置及び電子機器

Country Status (4)

Country Link
US (1) US20220263663A1 (ja)
JP (1) JP7312293B2 (ja)
CN (1) CN113407976B (ja)
AU (1) AU2022203199A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115085939B (zh) * 2022-07-04 2023-04-07 长春吉大正元信息技术股份有限公司 抗量子签名方法、签名证书、验签方法及电子设备
CN117240477B (zh) * 2023-11-13 2024-02-23 泉州信息工程学院 一种基于rsa算法的数字签名方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185602A (ja) 2018-04-16 2019-10-24 富士通株式会社 最適化装置及び最適化装置の制御方法
CN112560091A (zh) 2020-12-17 2021-03-26 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN113098691A (zh) 2021-03-25 2021-07-09 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3129118C (en) * 2019-02-08 2023-07-11 Visa International Service Association More efficient post-quantum signatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185602A (ja) 2018-04-16 2019-10-24 富士通株式会社 最適化装置及び最適化装置の制御方法
CN112560091A (zh) 2020-12-17 2021-03-26 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN113098691A (zh) 2021-03-25 2021-07-09 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JI, Z. et al.,General Linear Group Action on Tensors: A Candidate for Post-Quantum Cryptography,Cryptology ePrint Archive,[online],2019年06月,pp.1-38,<URL:https://eprint.iacr.org/2019/20190611:082735>

Also Published As

Publication number Publication date
JP2022095852A (ja) 2022-06-28
CN113407976B (zh) 2022-08-02
US20220263663A1 (en) 2022-08-18
AU2022203199A1 (en) 2023-02-09
CN113407976A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
US11757656B2 (en) Efficient post-quantum anonymous attestation with signature-based join protocol and unlimited signatures
JP7164672B2 (ja) デジタル署名方法、署名情報検証方法、関連装置及び電子機器
JP7209431B2 (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
JP7312293B2 (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
US8891766B2 (en) Input consistency verification for two-party secure function evaluation
EP3871365B1 (en) Computer implemented system and method for distributing shares of digitally signed data
Chen et al. Data dynamics for remote data possession checking in cloud storage
El Kassem et al. More efficient, provably-secure direct anonymous attestation from lattices
KR102599406B1 (ko) 영지식 증명을 위한 암호문 처리 방법 및 장치
JP7492508B2 (ja) コンピュータにより実施される、デジタル署名されたデータのシェアを分配するシステム及び方法
JP6261493B2 (ja) ゼロ知識証明システム及び方法、証明者装置、検証者装置並びにプログラム
Yin et al. Smart contract receipt based on virtual iterative function
Frolov et al. Modeling Cryptographic Protocols Using the Algebraic Processor
CN113407975A (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
Sivasubramanian A comparative analysis of Post-Quantum Hash-based Signature Algorithm
Liu et al. Privacy-preserving dynamic auditing for regenerating code-based storage in cloud-fog-assisted IIoT
Zhang et al. Efficient Non-Interactive Polynomial Commitment Scheme in the Discrete Logarithm Setting
Song et al. General construction of compressive integrity auditing protocol from strong homomorphic encryption scheme
WO2023055582A1 (en) Round optimal oblivious transfers from isogenies
CN116827628A (zh) 一种基于ipfs的抗量子攻击的区块链交易方法及系统
CN116305286A (zh) 信息处理方法、装置及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230707

R150 Certificate of patent or registration of utility model

Ref document number: 7312293

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150