[0006] 本発明の好ましい態様及び実施形態の例が、添付の独立請求項及び従属請求項に記載されている。
[0007] 本発明の概要は、発明を実施するための形態において以下で更に説明される概念の抜粋を簡略化した形式で紹介するために提供される。本発明の概要は、請求項記載の主題の重要な特徴又は本質的な特徴を特定することを意図しておらず、また請求項記載の主題の範囲を限定するために使用されることも意図していない。
[0008] タイムスタンプ付与デバイスにおいてアイテムにタイムスタンプ付与する方法が提供される。タイムスタンプ付与デバイスは、古典コンピューティングデバイスと量子コンピューティングデバイスとを備える。本方法は、古典コンピューティングデバイスにおいて、タイムスタンプ付与されるアイテムを取得することと、受信されたアイテムに基づいて入力トークンを決定することと、を備える。本方法は更に、量子コンピューティングデバイスにおいて、検証者から量子チャネルを介して、ランダムに生成された量子状態を受信することと、ここにおいて、ランダムに生成された量子状態は、時間tにおいて受信され、時間tに関連付けられたタイムスタンプ証明トークンを作り出すように、ランダムに生成された量子状態を入力トークンと組み合わせるためにタイムスタンプ付与デバイスを使用することと、を備える。
[0009] ランダムに生成された状態は、クローン禁止定理(no-cloning theorem)に起因して複製することができず、量子状態からのすべての情報を測定によって抽出することはできないので、受信されたランダムに生成された量子状態をコピーすることは可能でない。したがって、上記方法は、信頼できないタイムスタンプ付与デバイスが、受信されたランダムに生成された量子状態を後続のタイムスタンプのために再利用することができないので、タイムスタンプ付与デバイスが、アイテムを第三者に送る必要なくアイテムにタイムスタンプ付与することを可能にする。
[0010] いくつかの例では、ランダムに生成された量子状態を入力トークンと組み合わせるためにタイムスタンプ付与デバイスを使用することは、量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行することを備え、ランダムに生成された量子状態に対して量子演算を実行することは、時間tに関連付けられたタイムスタンプ証明トークンを取得するために、ランダムに生成された量子状態を測定することを備える。入力トークンに関係付けられた量子演算を使用することによって、強化されたセキュリティが与えられる。
[0011] いくつかの例では、量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行することは、ランダムに生成された量子状態を測定するための測定基底のシーケンスを決定するために入力トークンを使用することによって、入力トークンに基づくタイムスタンプ証明トークンを取得するために量子状態を測定することを備える。タイムスタンプ付与デバイスと検証者の両方が、入力トークンから測定基底がどのように選択されるかの規則を知っていてよい。古典コンピューティングデバイスは、入力トークンから測定基底のセットを決定するために使用されてよく、量子コンピューティングデバイスは、次いで、決定された基底で測定を実装し得る。量子状態の測定基底を変更することは、例えば、位相符号化フォトニック量子ビットの場合には干渉計の状態を変更すること、又は偏光ビームスプリッタの向きを変更することを備えることができる。したがって、これにより、タイムスタンプ証明トークンを入力トークンに依存させることが可能になる。
[0012] 他の例では、本方法は更に、古典コンピューティングデバイスにおいて、入力トークンから入力量子状態を決定することと、量子コンピューティングデバイスにおいて、入力量子状態における量子レジスタを準備することと、を備える。量子演算の少なくともいくつかが入力トークンに関係付けられるように、検証者から受信されたランダムに生成された量子状態に対して量子演算を実行することは、ランダムに生成された量子状態を測定する前に、入力量子状態とランダムに生成された量子状態とを混合するために量子ゲートのシーケンスを使用することを更に備える。入力量子状態とランダムに生成された量子状態とを混合することは、2つの量子状態をエンタングルすることを備え得る。他の例では、入力量子状態とランダムに生成された量子状態とを混合することは、2つの量子状態間の非古典的相関を生成すること(例えば、エンタングルメント又は量子不調和を作成すること)を備え得る。いくつかの例では、ゲートのシーケンスは、タイムスタンプ付与デバイスと検証者の両方に知られているゲートの予め決定されたシーケンスである。他の例では、量子ゲートのシーケンスは、入力トークンの一部を使用するなどの、(例えば、タイムスタンプ付与デバイスと検証者の両方に知られている)既知のパターンにしたがって選択され得る。入力量子状態とランダムに生成された量子状態との間の相関を混合/エンタングル/生成するために量子ゲートを使用することは、ランダムに生成された量子状態の知識なしに古典的に偽造することが難しい様式で量子演算を入力状態に関係付けさせる/依存させる方法を提供する。
[0013] 他の例では、量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行することは、古典コンピューティングデバイスにおいて、入力トークンに基づいて量子演算のシーケンスを決定することと、量子コンピューティングデバイスにおいて、ランダムに生成された量子状態を測定する前に、ランダムに生成された量子状態に対して決定された量子演算のシーケンスを実装することと、を備える。入力トークンに基づいて量子演算のシーケンスを決定する方法は、タイムスタンプ付与デバイスと検証者の両方に知られていてよい。決定された量子演算のシーケンスを実装することは、量子コンピューティングデバイスに、ランダムに生成された量子状態に対して演算を適用又は実行させることを備え得る。ここでもまた、入力トークンに依存する演算を使用することは、ランダムに生成された量子状態の知識なしに古典的に偽造することが難しい様式で量子演算を入力状態に依存させる方法を提供する。
[0014] いくつかの例では、本方法は更に、タイムスタンプ証明トークンを取得する閾値時間期間内に、タイムスタンプ証明トークン、並びにタイムスタンプ付与されるアイテム及び/又は入力トークンを、検証者に送ることを備える。本方法はまた、タイムスタンプ証明トークンを検証者に送ることに応答して、タイムスタンプ証明トークンの有効性及び/又は受信の確認を受信することを備え得る。これにより、検証者が、送られたランダムに生成された量子状態の各々が、時間tに近い時間に使用され、後の時間に記憶されないことを保証することが可能になる。
[0015] いくつかの例では、本方法は更に、タイムスタンプ証明トークンの少なくとも一部分を求める要求を検証者から受信することを備える。本方法は、次いで、要求に応答して、タイムスタンプ証明トークンの少なくとも一部分、並びにタイムスタンプ付与されるアイテム及び/又は入力トークンを検証者に提供することを備える。タイムスタンプ証明トークンの一部分は、タイムスタンプ証明トークンの全体を備え得る。しかしながら、他の例では、タイムスタンプ証明トークンの一部分は、検証者がタイムスタンプ証明トークンを検証することができるようにタイムスタンプ証明トークンの一部であり得る。検証者にタイムスタンプ証明トークンをランダムに要求させることによって、タイムスタンプ付与デバイスは、任意の時間にランダムに生成された量子状態からのタイムスタンプ証明トークンを検証者に送るように要求され得るので、そのランダムに生成された量子状態を後で使用するために記憶することがより難しくなる。
[0016] いくつかの例では、受信されたアイテムに基づいて入力トークンを決定することは、タイムスタンプ付与されるアイテム又は入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して入力トークンを決定することを備える。入力トークンは、タイムスタンプ付与されるアイテムに基づくので、これは、入力トークンが以前のタイムスタンプ証明トークンに基づくことを意味する。これは、以前のランダムに生成された量子状態が使用され、後で使用するために記憶されなかったことの証明として作用する。
[0017] いくつかの例では、タイムスタンプ付与されるアイテム又は入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して入力トークンを決定することは、以前のタイムスタンプ証明トークンの少なくとも一部分をハッシュすることと、以前のタイムスタンプ証明トークンの少なくとも一部分のハッシュをタイムスタンプ付与されるアイテム又は入力トークンに組み込むことと、を備える。これは、現在のタイムスタンプ付与されるアイテム/入力トークン内の以前のタイムスタンプ証明トークンを明らかにすることなく、以前のタイムスタンプ証明トークンの一部分を組み込む方法を提供する。これはまた、以前のタイムスタンプ証明トークンがタイムスタンプ付与されるアイテム/入力トークンを長くする程度を制限する。
[0018] いくつかの例では、本方法は更に、タイムスタンプ証明トークンをブロックチェーンなどの分散型台帳に記憶することを備える。場合によっては、入力トークンは、タイムスタンプ付与されるアイテム又は入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して決定され、分散型台帳の以前のエントリ又は記録(例えば、ブロックチェーンの以前のブロック)をタイムスタンプ付与されるアイテム又は入力トークンに組み込むことを備える。これは、以前のタイムスタンプ証明トークンを記憶し、それにアクセスする便利な方法を提供し、以前のタイムスタンプ証明トークンが検証者と共有されることも可能にし得る。
[0019] いくつかの例では、タイムスタンプ付与されるアイテムを取得することは、タイムスタンプ付与されるアイテムを時間tより前に受信すること、又はタイムスタンプ付与されるアイテムが時間tまでに受信されていないときに、タイムスタンプ付与されるアイテムとして、予め決定された値を取得することを備える。他の例では、時間tまでに取得された他のタイムスタンプ付与されるアイテムがない場合、予め決定されたファイル又はアイテムがタイムスタンプ付与されるアイテムとして使用され得る。これは、タイムスタンプ付与される必要があるアイテムがない場合でも、タイムスタンプ付与デバイスが、ランダムに生成された量子状態を使用してタイムスタンプ付与動作を実行することを保証する。これにより、タイムスタンプ付与デバイスは、ランダムに生成された量子状態が使用されており、記憶されていないことを検証者に確認することが可能になる。
[0020] いくつかの例では、ランダムに生成された量子状態を検証者から受信することは、検証者の第1のソースから第1のランダムに生成された量子状態を受信することを備える。次いで、本方法は更に、量子コンピューティングデバイスにおいて、量子チャネルを介して検証者の第2のソースから第2のランダムに生成された量子状態を受信することを備え、第2のランダムに生成された量子状態は、時間tにおいて受信される。量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行することは、量子演算の少なくともいくつかが入力トークンに関係付けられるように、第1のランダムに生成された量子状態及び第2のランダムに生成された量子状態に対して量子演算を実行することを備える。検証者の第1のソース及び第2のソースは、タイムスタンプ付与デバイスの周りに空間的に分散されている。更なる例では、第3の量子状態も、検証者の第3のソースから時間tにおいて量子チャネルを介して受信される。量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行することは、量子演算の少なくともいくつかが入力トークンに関係付けられるように、第1、第2、及び第3のランダムに生成された量子状態に対して量子演算を実行することを備える。検証者の第1、第2、及び第3のソースは、タイムスタンプ付与デバイスの周りに空間的に分散されている。これは、タイムスタンプ付与デバイスが、検証者に近づいて又は検証者から離れて、ランダムに生成された量子状態を受信する時間を変更することによって不正確なタイムスタンプを与えることを防止する。
[0021] 検証者において実行される、ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供する方法が提供される。検証者は、古典コンピューティングデバイスと量子コンピューティングデバイスとを備える。検証者において実行される方法は、量子コンピューティングデバイスにおいて、ランダムに生成された量子状態を準備することと、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送ることとを備える。検証者によって実行される方法は更に、古典コンピューティングデバイスにおいて、ランダムに生成された量子状態の表現を記録することと、ランダムに生成された量子状態がタイムスタンプ付与デバイスに送られた時間t’を記録することとを備える。検証者にランダムに生成された量子状態をセキュアに準備させることは、タイムスタンプ付与デバイスがランダムに生成された量子状態を知らないということを意味する。これは、タイムスタンプ付与デバイスが、その演算の任意の古典シミュレーションを実行すること、又はランダムに生成された量子状態の複数のコピーを生成することを防止する。
[0022] いくつかの例では、検証者によって実行される方法は更に、タイムスタンプを検証することを備える。したがって、本方法は更に、検証者の古典コンピューティングデバイスにおいて、時間tのインジケーション、時間tに関連付けられたタイムスタンプ証明トークン、並びにタイムスタンプ付与されるアイテム及び/又は入力トークンを受信することと、時間tに基づいて時間t”を決定することと、ここにおいて、時間t”は、時間tにおいてタイムスタンプ付与デバイスにおいて受信されたランダムに生成された量子状態が検証者から送られたであろう時間を表し、時間t”に関連付けられたランダムに生成された量子状態の古典的表現をルックアップすることと、タイムスタンプ付与デバイスによって実行された量子演算の古典シミュレーションを実行することと、古典シミュレーションの結果に基づいて、時間t”が時間t’と一致することを検証することと、を備え得る。検証者は、ランダムに生成された量子状態の古典的表現と、入力トークンを量子演算に変えるための、又は量子演算をランダムに生成された量子状態及び入力量子状態に作用させるための規則とを知っているので、実行された演算の古典シミュレーションを実行することができる。これにより、検証者は、タイムスタンプ証明トークンが、ランダムに生成された量子状態と、タイムスタンプ付与されるアイテムによって生成された入力トークンとから取得された可能性が高いことを検証することが可能になる。
いくつかの例では、本出願は、タイムスタンプ付与デバイスによって実行される方法と検証者によって実行される方法の両方に関する。一例では、タイムスタンプ付与デバイス及び検証者を使用して実行される方法があり、本方法は、タイムスタンプ付与デバイスの古典コンピューティングデバイスにおいて、タイムスタンプ付与されるアイテムを取得することと、取得されたアイテムに基づいて入力トークンを決定することと、タイムスタンプ付与デバイスの量子コンピューティングデバイスにおいて、検証者から量子チャネルを介して、ランダムに生成された量子状態を受信することと、を備え、ここにおいて、ランダムに生成された量子状態は、時間tにおいて受信され、本方法は、時間tに関連付けられたタイムスタンプ証明トークンを作り出すように、ランダムに生成された量子状態を入力トークンと組み合わせるためにタイムスタンプ付与デバイスを使用することと、ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供するために、検証者の量子コンピューティングデバイスにおいて、ランダムに生成された量子状態を準備することと、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送ることと、検証者の古典コンピューティングデバイスにおいて、ランダムに生成された量子状態の表現を記録することと、ランダムに生成された量子状態がタイムスタンプ付与デバイスに送られた時間t’を記録することと、によって検証者を使用することと、を備える。
[0023] アイテムにタイムスタンプ付与するためのタイムスタンプ付与デバイスが提供される。タイムスタンプ付与デバイスは、タイムスタンプ付与されるアイテムを取得し、取得されたアイテムに基づいて入力トークンを決定するように構成された古典コンピューティングデバイスを備える。本システムは更に、検証者から量子チャネルを介して、ランダムに生成された量子状態を受信するように構成された量子コンピューティングデバイスを備え、ランダムに生成された量子状態は、時間tにおいて受信され、タイムスタンプ付与デバイスは、時間tに関連付けられたタイムスタンプ証明トークンを作り出すようにランダムに生成された量子状態を入力トークンと組み合わせるように構成される。このように、タイムスタンプ付与デバイスに関して定義された上記方法を実行するように構成されたタイムスタンプ付与デバイスが提供される。
[0024] ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供するための検証者も提供される。検証者は、ランダムに生成された量子状態を準備し、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送るように構成された量子コンピューティングデバイスを備える。検証者は更に、ランダムに生成された量子状態と、ランダムに生成された量子状態がタイムスタンプ付与デバイスに送られた時間t’との表現を記録するように構成された古典コンピューティングデバイスを備える。このように、検証者に関して定義された上記方法を実行するように構成された検証者が提供される。
[0025] いくつかの例では、検証者は、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送るためのレイテンシを決定するためにリンク・レイテンシ較正を実施し、リンク・レイテンシ較正をランダムに繰り返すように構成される。
いくつかの例では、上述のタイムスタンプ付与デバイスと検証者の両方を備えるシステムが提供される。例示的なシステムは、アイテムにタイムスタンプ付与するためのタイムスタンプ付与デバイスと、ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供するための検証者とを備え、タイムスタンプ付与デバイスは、タイムスタンプ付与されるアイテムを取得し、取得されたアイテムに基づいて入力トークンを決定するように構成された古典コンピューティングデバイスを備える。タイムスタンプ付与デバイスは、検証者から量子チャネルを介して、ランダムに生成された量子状態を受信するように構成された量子コンピューティングデバイスを有し、ランダムに生成された量子状態は、時間tにおいて受信され、タイムスタンプ付与デバイスは、時間tに関連付けられたタイムスタンプ証明トークンを作り出すようにランダムに生成された量子状態を入力トークンと組み合わせるように構成される。検証者は、ランダムに生成された量子状態を準備することと、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送ることと、を行うように構成された量子コンピューティングデバイスと、ランダムに生成された量子状態と、ランダムに生成された量子状態がタイムスタンプ付与デバイスに送られた時間t’との表現を記録することを行うように構成された古典コンピューティングデバイスと、を備える。
[0026] また、示された開示された技術の態様のうちの1つのコンテキストにおいて好ましいものとして上で示された好ましい特徴のうちのいくつかが、開示された技術の好ましい態様のうちの他のものの1つ又は複数の好ましい特徴に置き代わり得ることも、当業者には明らかとなる。そのような明らかな組み合わせは、簡潔にするために、そのような可能な追加の各態様の下で上記に明示的に列挙されていない。
[0027] 開示された技術の原理を例として例示する図面と併せて考慮すると、他の例が以下の詳細な説明から明らかとなる。
[0028] 本発明の実施形態について、以下の図面を参照して、例として説明する。
[0042] 添付の図面は、様々な例を例示する。当業者は、図面中の例示された要素境界(例えば、ボックス、ボックスのグループ、又は他の形状)が境界の1つの例を表すことを理解するであろう。いくつかの例では、1つの要素が複数の要素として設計されてもよいし、又は複数の要素が1つの要素として設計されてもよいことであり得る。必要に応じて、同様の特徴を示すために、共通の参照番号が図全体を通して使用される。
[0043] 以下の説明は、本技術の一般原理を例示する目的で行われ、本明細書において請求項記載の発明概念を限定することを意図するものではない。当業者には明らかになるように、一実施形態のコンテキストで本明細書に記載された特定の特徴の1つ又は複数又はすべてが、いくつかの他の実施形態(単数又は複数)にも存在し、及び/又はいくつかの他の実施形態(単数又は複数)では様々な可能な組み合わせ及び置換において、他の記載された特徴と組み合わせて使用することができる。
[0044] 本明細書に記載の古典的方法は、有形の記憶媒体上の機械可読形式のソフトウェアによって、例えば、プログラムがコンピュータ上で実行されたとき、及びコンピュータプログラムがコンピュータ可読媒体上に具現化され得る場合に本明細書に記載の方法のいずれかのすべてのステップを実行するように適応されたコンピュータプログラムコード手段を備えるコンピュータプログラムの形式で実行されてよい。有形(又は非一時的)記憶媒体の例は、ディスク、サムドライブ、メモリカードなどを含み、伝搬信号を含まない。ソフトウェアは、方法ステップが任意の好適な順序で、又は同時に実施され得るように、並列プロセッサ又は直列プロセッサ上での実行に好適であり得る。
[0045] これは、ファームウェア及びソフトウェアが、価値があり、別個に取引可能な商品であり得ることを認める。所望の機能を実施するために、「ダム(dumb)」又は標準ハードウェア上で実行されるか又はそれを制御するソフトウェアを包含することを意図する。また、所望の機能を実施するために、シリコンチップを設計するため、又は汎用プログラマブルチップを構成するために使用されるような、HDL(ハードウェア記述言語)ソフトウェアなどの、ハードウェアの構成を「記述する」又は定義するソフトウェアを包含することも意図される。
[0046] 本開示は、タイムスタンプ付与デバイス又はタイムスタンプ付与エンティティが、検証のためにアイテムを第三者に送る必要なく、アイテムにタイムスタンプ付与することができるように、検証者から受信されたランダムに生成された量子状態を、アイテムにタイムスタンプ付与するために使用することに関する。
[0047] 図1aaは、検証者1002及びタイムスタンプ付与デバイス1004を概略的に示す。タイムスタンプ付与デバイス1004内には、タイムスタンプ付与デバイス1004によって実施される例示的な方法の概略図がある。例示的な方法によれば、タイムスタンプ付与デバイスは、タイムスタンプ付与されるアイテムを取得する112。そのようなアイテムの例の非網羅的なリストについては、図1aを参照して後述する。タイムスタンプ付与デバイス1004は、取得されたアイテムに基づいて入力トークンを決定する114。
[0048] タイムスタンプ付与デバイスは、ランダムに生成された量子状態を検証者1002から受信する122。ランダムに生成された量子状態は、タイムスタンプ付与デバイス1004によって時間tにおいて受信される。
[0049] タイムスタンプ付与デバイスは、ランダムに生成された量子状態を入力トークンと組み合わせ1000、その際にタイムスタンプ証明トークンを作成する。タイムスタンプ付与デバイス1004は、タイムスタンプ証明トークンを出力する126。検証者は、タイムスタンプ証明トークンが、請求された時間の許容可能なマージン内で作り出された可能性が統計的に高いことを検証することができる。
[0050] 一例では、検証者1002は、量子ビット/量子ディットのランダムストリームを準備し、ストリームの記録を非公開で記憶する。検証者1002は、例えば時間的制約付きアクションを実行することができるタイムスタンプ付与デバイス1004に、量子チャネルを介してストリームを送る。タイムスタンプ付与デバイスは、検証者から受信された量子ビット/量子ディットストリームの最新の部分を、一例ではアクションIDである入力トークンと組み合わせる。アクションIDは、タイムスタンプ付与を望む最新のアクションを識別する一連のビットである。組み合わせる動作1000は、アクションIDとアクションを求めるタイムスタンプ請求と共に検証のために検証者に送られ得るトークンを作り出す。検証者は、タイムスタンプ証明トークンを作り出すために使用されたプロトコルと、量子ビット/量子ディットのストリームを通信するために使用された量子チャネル及びタイムスタンプ証明トークンを通信するために使用されたチャネルのレイテンシとを知っており、したがって、これらをその記憶されたストリーム記録と共に使用して、タイムスタンプ証明トークンが請求された時間の許容可能なマージン内で作り出された可能性が統計的に高いことを検証することができる。
[0051] 動作1000において組み合わせることを達成することができる様々な方法がある。場合によっては、組み合わせる動作1000は、ランダムに生成された量子状態に対して量子演算を実行することを備え、量子演算の少なくともいくつかが、入力トークンに関係付けられている。
[0052] 図1a及び図1bは、本開示に係る方法を示すフローチャートである。図1aは、別名、時間証明エンティティとして知られ得る、タイムスタンプ付与デバイスによって実行される方法を示す。図1bは、別名、検証エンティティとして知られ得る、検証者によって実行される方法を示す。
[0053] タイムスタンプ付与デバイス/タイムスタンプ付与エンティティは、古典コンピューティングデバイス110と量子コンピューティングデバイス120とを備える。ステップ112において、タイムスタンプ付与デバイスの古典コンピューティングデバイス110は、タイムスタンプ付与されるアイテムを取得する。タイムスタンプ付与されるアイテムは、トランザクション、ファイル、写真、予め決定された値若しくはヌルアイテム/ファイル、又は任意の他の好適なアイテムであり得る。タイムスタンプ付与されるアイテムは、タイムスタンプ付与デバイスによって生成されることによって、第三者から受信されることによって、タイムスタンプ付与デバイス上のストレージから取得されることによって、又は他の任意の好適な方法で取得され得る。
[0054] タイムスタンプ付与されるアイテムが受信されると、本方法は、ステップ114において、取得されたアイテムに基づいて入力トークンを決定することを備える。入力トークンは、タイムスタンプ付与されるアイテムから導出された古典的なビット値のトークンである。入力トークンは、任意の好適な方法で導出され得る。しかしながら、1つの例では、入力トークンは、ハッシュ関数を使用して算出され得る。いくつかの例では、入力トークンは、タイムスタンプ付与されるアイテムにハッシュ関数を適用することによって取得されたビットのすべてを使用する。しかしながら、他の例では、ハッシュ関数の結果は切り捨てられて、入力トークンが形成される。次いで、入力トークンは、タイムスタンプ付与中に、ランダムに生成された量子状態と共に使用され得る。
[0055] ステップ122において、タイムスタンプ付与デバイス又はタイムスタンプ付与エンティティの量子コンピューティングデバイスは、ランダムに生成された量子状態を検証者/時間証明エンティティから受信する。ランダムに生成された量子状態は、時間tにおいて受信される。ランダムに生成された量子状態は、複数の量子ビット又は複数の量子ディットに符号化されていてよい。ランダムに生成された量子状態は、量子ビット/量子ディットのストリームとして徐々に受信されてもよいし、又は、量子ビット/量子ディットのすべてが、例えば、異なる波長を有する光量子ビット/量子ディットを使用することによって、若しくは空間的に分離された経路上で量子ビット/量子ディットを受信することによって、並列に受信されてもよい。
[0056] ステップ124において、タイムスタンプ付与デバイスの量子コンピューティングデバイスは、ランダムに生成された量子状態に対して量子演算を実行し、ここにおいて、量子演算は、入力トークンに関係付けられている/依存するか、又はそうでなければ入力トークンによって決定される。量子演算は、ランダムに生成された量子状態の少なくとも測定を含み、この測定は、ランダムに生成された量子状態が別の量子状態とエンタングルされた後、及び/又は量子ゲートによって作用された後に行われ得る。図2及び図3に関して詳述されるように、量子演算は、複数の異なる方法で入力トークンに関係付けられ得る。
[0057] 1つの例では、入力トークンは量子状態の測定基底を決定するために使用されるので、量子状態に適用される演算は入力トークンに関係付けられる。例えば、入力トークンは、ランダムに生成された量子状態の各量子ビットが、計算/標準/Zベース基底(例えば、|0>、|1>基底)で測定されるべきか、それとも回転/X基底(例えば、
基底)で測定されるべきかを決定するために使用され得る。当業者であれば、基底の他の対又はグループが、必要に応じて測定に使用され得ることを理解する。ランダムに生成された量子状態の量子ビット/量子ディットは、次いで、ステップ126に示されるように、決定された基底にしたがって測定され得る。これにより、タイムスタンプ証明トークンと見なすことができる古典的なビットストリングの形態の出力がもたらされる。入力トークンが使用されて測定基底を決定するとき、タイムスタンプ付与デバイスと検証者の両方は、測定基底を決定するために使用される規則を知っていてよい。このために、1つの例では、規則は、固定された又は予め決定された規則であり得る。いくつかの例では、これらの規則は、入力トークンの全体又は一部の特定の定義されたシーケンスを取り出し、それを暗号ハッシュ関数などの関数を使用して変換し、結果として得られたトークンをビットのグループで取り入れ、ビットのグループからの何らかのマッピングを適用することによって、結果として得られたトークンを測定基底シーケンスに変えることであり得る。これは、規則が、行われる必要がある測定の数に対して十分な基底を生成するように取り決められていてよい。ハッシュ関数は、任意の長さの入力ストリングに対して固定長の出力を提供することができるので、ここでも助けになり得る。
[0058] 別の例では、入力トークンは、結果として得られる量子状態を形成するように量子ビット/量子ディットに適用される量子演算のセットを決定するために使用され得る。1つの例では、入力トークンのビット値は、量子ゲートのセット上にマッピングされてよく、その量子ゲートのセットは、ランダムに生成された量子状態に適用され得る。例えば、7と0との間の数を決定するためにビット値のトリオが使用されてよく、その数は、X、Y、Z、H、I、S、T、及びCNOTのセットからの量子ゲート上にマッピングされることができ、
である。X、Y、Z、H、I、S、及びTは、単一量子ビットゲートであるが、CNOTは、2量子ビットゲートである。したがって、入力トークンが特定の量子ビットに対してCNOTを必要とする場合、CNOTは、特定の実装形態に依存して、その量子ビットと前の量子ビット又は後の量子ビットとの間にあり得る。このCNOTは、例えば、集積フォトニクスにおいて、量子ビット伝送速度の半分のスイッチ周波数を有する光スイッチと、スイッチの出力のうちの1つと2量子ビットゲートへの入力との間の遅延線とを使用して実装され得る。量子ゲートの他のセットも使用することができる。量子ゲートをビット値上にマッピングする他の方法も可能であり、例えば、X、Y、Z、及びHからのゲート又は別のセットのゲートの選択を決定するために2つのビットが使用され得る。例えば、実装形態の規則にしたがって、組み合わせ量子回路が、2入力量子ビットであって入力量子ビットの各対がランダム量子ストリームから引き出されたものである2入力量子ビットと2出力量子ビットとを有することが予め決定されている場合、量子トークンの連続ビット値にしたがって行われるゲートの選択は、回路の左から右に、及び(1量子ビットゲートが選択される場合には)上から下に交互に置かれ得る。他の例では、入力トークンは、量子ゲートのセットを決定するために使用される前に、ハッシュ関数又は他の変換などの前処理を受け得る。ランダムに生成された量子状態が量子ゲートのセットによって作用されると、ステップ126に示されるように、結果が測定されて、タイムスタンプ証明トークンの形態の古典的ビットストリングを取得することができる。いくつかの例では、結果として得られた量子状態は、固定された基底、例えば計算基底又は回転基底で測定され得る。しかしながら、他の例では、結果として得られた量子状態の各量子ビット/量子ディットの基底は、上述のように決定され得る。タイムスタンプ付与デバイスと検証者の両方は、入力トークンを量子ゲートのセットに変換するために使用される規則をわかっていてよい。これは、検証者がタイムスタンプ付与デバイスによって実行された演算を再現することができることを保証する。このために、1つの例では、規則は、固定された又は予め決定された規則であり得る。
[0059] また更なる例では、演算は、入力トークンが入力量子状態と呼ばれる量子状態に変換され得るという点で、入力トークンに関係付けられている。例えば、タイムスタンプ付与デバイスの古典コンピューティングデバイス110は、入力トークンに基づいて入力量子状態の形態を決定することができる。これは、古典コンピューティングデバイス110が入力量子状態の古典的表現を決定することを伴い得る。次いで、量子コンピューティングデバイス120は、入力量子状態における量子レジスタを準備するために使用され得る。いくつかの例では、入力トークンは、ビット値のストリングを備え得る。次いで、これらのビット値が使用されて、計算基底又は回転基底において同じビット値を有する量子状態が形成され得る。代替として、入力トークンは、ビット値の対に分割され得る。各対からの一方のビットは、入力量子状態の量子ビットが準備されるべき基底(例えば、量子ビットが計算基底で準備されるべきか、それとも回転基底で準備されるべきか)を決定するために使用されることができ、各対からの他方のビットは、準備された状態(例えば、計算基底が使用されたときに、状態が|0>であるか、それとも|1>であるか、又は回転基底が使用されたときに、状態が|+>であるか、それとも|->であるか)を決定するために使用され得る。当業者であれば、基底の他の対又はグループが、必要に応じて使用され得ることを理解するであろう。入力トークンに関係付けられた量子演算を実行することは、次いで、結果として得られた量子状態を生成するために、入力量子状態とランダムに生成された量子状態との間で量子演算をエンタングル又は他の混合することを実行することを備える。いくつかの例では、実行される量子演算は固定されている。他の例では、入力トークンの第1の部分が、入力量子状態を決定するために使用されてよく、入力トークンの第2の部分が、実行される量子ゲートを決定するために使用されてよい。例えば、入力トークンの第2の部分は、入力トークンの第2の部分のビット値上にゲートをマッピングすることによって、入力量子状態及びランダムに生成された量子状態のビットが、制御ノットゲート(CNOTゲート)
を使用してエンタングルされるべきか、それとも制御位相ゲート(CZゲート)
を使用してエンタングルされるべきかを決定するために使用され得る。上記は、エンタングルゲートに関して説明されているが、入力量子状態とランダムに生成された量子状態とを混合する他の方法、例えば、量子不調和に基づく演算を使用することが可能であり、量子不調和は、例えば、ベルの不等式に違反するが必ずしも量子エンタングルメントと同じ程度ではない量子ビット間の非古典的相関を記述する。タイムスタンプ付与デバイスと検証者の両方が、入力トークンから入力量子ゲートを決定するために使用される任意の規則を知っていてよい。これは、検証者がタイムスタンプ付与デバイスによって実行された任意の演算を再現することができることを保証する。このために、1つの例では、規則は、固定された又は予め決定された規則であり得る。結果として得られた量子状態が取得されると、ステップ126に示されるように、それは測定されて、タイムスタンプ証明トークンの形態の古典的ビットストリングが取得される。いくつかの例では、結果として得られた量子状態は、固定された基底、例えば計算基底又は回転基底で測定され得る。しかしながら、他の例では、結果として得られた量子状態の各量子ビット/量子ディットの基底は、入力トークンの第2/第3の部分に基づいて、上述のように決定され得る。
[0060] 上述したように、量子演算は、量子演算が複数の異なる方法で入力トークンに関係付けられるように実行され得る。例えば、入力トークンは、測定基底、実行される演算を決定するために使用されてもよいし、又はランダムに生成された量子状態と次にエンタングルされる(又はそうでないければ非古典的相関により混合される)入力量子状態を形成するために使用されてもよい。上記の選択肢の各々は別個に使用することができるが、それらは組み合わせて使用することもできる。したがって、入力トークンは、複数の部分に分割され、入力トークンの異なる部分が異なる目的のために使用され得る。例えば、入力トークンの第1の部分が、測定基底のセットを決定するために使用され、第2の部分が、演算のセットを決定するために使用されてもよいし、又は第1の部分が、測定基底のセットを決定するために使用され、第2の部分が、ランダムに生成された量子状態と相互作用する入力量子状態を形成するために使用されてもよい。別の例では、入力トークンの第1の部分が、演算のセットを決定するために使用され、第2の部分が、ランダムに生成された量子状態を相互作用させる入力量子状態を決定するために使用されることができる。この例では、入力トークンの第1の部分によって決定される演算のセットは、入力量子状態及びランダムに生成された量子状態をエンタングルするために使用されることになる一連のエンタングルゲートを備え得る。代替として、演算のセットは、混合/エンタングル演算の前又は後のいずれかに、ランダムに生成された量子状態、入力量子状態、又は2つの相互作用の結果に対して実行される一連の量子ゲートを備え得る。更なる例では、入力トークンは、少なくとも3つの部分を備えてよく、測定基底のセットを決定するために使用される第1の部分と、量子演算のシーケンスを決定するために使用される第2の部分と、入力量子状態を決定するために使用される第3の部分とを有し得る。したがって、上記の例をすべて、本出願の1つの実装形態において組み合わせてもよい。
[0061] ステップ224において、タイムスタンプ付与デバイスの古典コンピューティングデバイス110は、ステップ126における量子状態の測定の結果を取得する。これは、次いで、タイムスタンプ付与デバイスの量子コンピューティングデバイス120がランダムに生成された量子状態を受信した時間tに関連付けられたタイムスタンプ証明トークンとして使用される。タイムスタンプ付与デバイスの古典コンピューティングデバイス110は、タイムスタンプ付与されるアイテム及びタイムスタンプに関連付けられた時間tと共に、タイムスタンプ証明トークンを記憶することができる。タイムスタンプ証明トークンは、次いで、後述するようにタイムスタンプを検証するために使用され得る。
[0062] 上記の方法は、デバイスが、偽造するのが困難な方法でそれ自体のアイテムにタイムスタンプ付与するための方法を提供する。これは、タイムスタンプ付与されるアイテムが、アイテムがタイムスタンプ付与される前に第三者に送られる必要がないことを意味する。これにより、タイムスタンプ付与される前に、タイムスタンプ付与されるアイテムを秘密にしておくことが可能となる。偽造が困難であることに関して、クローン禁止定理を考えると、タイムスタンプ付与デバイスは、受信されたランダムに生成された量子状態を複製し、それを使用して複数のトランザクションにタイムスタンプ付与することはできない。更に、量子状態を測定し、その状態についてのすべての情報を取得することが可能でないことを考えると、タイムスタンプ付与デバイスは、(ランダムに生成された量子状態の表現の形態で正確な入力を有さないので)古典シミュレーションを使用して演算の成果を予測することはできない。更に、正確かつ確実な長期量子メモリを形成することが困難であることにより、タイムスタンプ付与デバイスが量子状態を長期に記憶することが難しくなる。メモリがあるときにセキュリティを保証する他の方法について、以下で説明する。
[0063] 図1bは、検証者/検証エンティティによって実行される方法を示す。検証者/検証エンティティは、古典コンピューティングデバイス130と量子コンピューティングデバイス140とを備える。検証者/検証エンティティは、セキュアデバイスであり得る。例えば、検証者/検証エンティティの古典コンピューティングデバイス130は、例えば、暗号手法又は任意の他のセキュリティプロトコルの使用を通じてセキュアに情報を記憶して、情報にアクセスすることができる第三者(又はタイムスタンプ付与デバイス)がないことを保証する、セキュアデバイスであり得る。
[0064] ステップ142において、検証者の量子コンピューティングデバイス140は、ランダムに生成された量子状態を生成し、それをタイムスタンプ付与デバイスに送る。ランダムに生成された量子状態は、任意の既知の方法で生成され得る。例えば、ランダムに生成された量子状態は、古典コンピューティングデバイス130に、ランダムに生成された量子状態の各量子ビット/量子ディットについての基底及び状態をランダムに/擬似ランダムに選択させることによって生成され得る。次いで、本方法は、量子レジスタ又は量子ビット/量子ディットの他の集合を選択された基底及び状態へと準備するために、量子コンピューティングデバイス140を使用することを備える。例えば、量子ビットが使用されるとき、古典コンピューティングデバイス130は、ランダムに生成された量子状態の各量子ビットが計算基底で準備されるべきか、それとも回転基底で準備されるべきかをランダムに(又は擬似ランダムに)選択し得る。特定の量子ビットについて計算基底が選択された場合、古典コンピューティングデバイス130は、量子ビットを状態|0>で準備すべきか、それとも状態|1>で準備すべきかをランダムに(又は擬似ランダムに)選択する。対照的に、特定の量子ビットについて回転基底が選択された場合、古典コンピューティングデバイス130は、量子ビットを状態|+>で準備すべきか、それとも|->で準備すべきかをランダムに(又は擬似ランダムに)選択する。基底の他の対又はグループも使用され得る。更に、量子ディットが使用されるとき、各基底は2つより多くの状態を備え得る。古典コンピューティングデバイス130は、基底及び/又は状態を決定するために、古典的乱数生成器若しくは擬似乱数生成器、又は別のランダム/擬似ランダムプロセスを使用し得る。代替として、古典コンピューティングデバイス130は、各量子ビットについての基底/状態を決定するために、乱数を生成するための量子乱数生成器(量子コンピューティングデバイス140の一部を形成し得る)とインターフェースし得る。ランダムに生成された量子状態がフォトニック量子ビットの形態で準備されているとき、ランダムに生成された量子状態を準備することは、量子ビットを生成するために単一光子源又はレーザ/減衰器を使用することと、量子ビットが正しい状態にあることを保証するために偏光制御を使用することとを備え得る。
[0065] ステップ132において、ランダムに生成された量子状態の古典的表現が、古典コンピューティングデバイス130において記録/記憶される。この古典的表現は、各量子ビット/量子ディットを準備するために使用された基底及び状態の記録/ログ又は他のレジスタであり得る。したがって、ランダムに生成された量子状態を生成するプロセスでは、古典的表現が使用され得る。ランダムに生成された量子状態が使用されることになることを考えると、この古典的表現は、ランダムに生成された量子状態の直接的な測定値ではないことに留意されたい。しかしながら、いくつかの例では、エンタングルされた光子の対が検証者の量子コンピューティングデバイス140において生成され、その対のうちの一方がタイムスタンプ付与デバイスの量子コンピューティングデバイス120に送られる。他方は、検証者の量子コンピューティングデバイス140によって測定され、その値が記録される。このようにして、検証者は、タイムスタンプ付与デバイスに送られたエンタングルされた光子のランダムに生成された量子状態に関する情報を得て、これは古典的表現として使用され得る。古典的表現は、基底及び状態のリスト、各量子ビット/量子ディットのための行列のセット、量子状態におけるすべての量子ビット/量子ディットを表す行列、ディラック記法での量子状態の表現等を含む、複数の形態で記憶され得る。いくつかの実装形態では、検証者の古典コンピューティングデバイス130における記憶空間を節約するために、及び、ランダム量子状態を生成するプロセスにおいて古典的表現が使用されるとき、古典的表現は、値のシーケンス/ビットストリングを備え得る。この値のシーケンス/ビットストリングは、決定論的関数擬似乱数生成器を使用して生成され得る。これにより、シード及び関数を記憶する限り(その両方を秘密にしておくべきである)、値が検証者の古典コンピューティングデバイス130によって再生成されることが可能になる。したがって、ランダムに生成された量子状態の古典的表現を記録/記憶することは、シード及び関数を記憶することを備えることができる。
[0066] ステップ144において、量子コンピューティングデバイス140は、量子チャネルを使用して、ランダムに生成された量子状態をタイムスタンプ付与デバイスに送る。量子チャネルは、光ファイバ又は自由空間(例えば空気)であり得るが、量子ビット/量子ディットの形態に依存して、他の形態の量子チャネルが使用され得る。量子コンピューティングデバイス140は、ランダムに生成された量子状態を時間t’においてタイムスタンプ付与デバイスに送り、ここにおいて、t’=t-ttであり、ttは、ランダムに生成された量子状態が検証者とタイムスタンプ付与デバイスとの間で移送されるのに要する時間である。検証者とタイムスタンプ付与デバイスとの間の量子チャネルを通して量子状態を移送するのに要する時間ttは、検証者とタイムスタンプ付与デバイスとの間の距離に基づいて、及び/又は較正プロセスを使用することによって決定され得る。
[0067] いくつかの例では、量子状態は、量子ビット/量子ディットのストリームが分離されている場合には徐々に量子ビット/量子ディットのストリームとして送られ得る。他の例では、量子ビット/量子ディットは並列に送られ得る。例えば、量子ビット/量子ディットは、光量子ビット/量子ディットであってよく、各量子ビット/量子ディットに異なる波長を有させることによって並列に送られてもよいし、又は空間的に分離されたチャネルを通して送られてもよい。量子ビット/量子ディットを並列に送るために、例えば、各々が異なる放出波長を有する単一光子エミッタのアレイの前にあるマッハツェンダ(MZ)変調器のアレイを使用して状態を準備することによって、量子ビット/量子ディットを異なるチャネルにスタックすることができる。代替として、量子ビット/量子ディットは、例えば、フォトニック量子ビット/量子ディットの場合に、自由空間においてオフセットされたマルチコアファイバ又は量子チャネルを使用することによって、空間的に分離された量子チャネルを使用して並列に送られ得る。量子ビット/量子ディット及びチャネルの形態に依存して、量子ビット/量子ディットを並列に送る他の方法も可能であり得る。
[0068] ステップ134において、検証者の古典コンピューティングデバイス130は、ランダムに生成された量子状態が送信された時間を、ランダムに生成された量子状態の古典的表現の記録/記憶に関連付けて記録/記憶する。これは、ランダムに生成された量子状態がタイムスタンプ付与デバイスに送られた時間の記録があることを保証する。
[0069] 検証者/検証エンティティ/時間証明エンティティによって実行される方法は、ランダムに生成された量子状態をタイムスタンプ付与デバイスに、知られている時間に提供する。これにより、タイムスタンプ付与デバイスが、ランダムに生成された量子状態を使用してタイムスタンプを形成することが可能になる。
[0070] 検証者/検証エンティティ/時間証明エンティティは、図1cに示すように、タイムスタンプ付与デバイスからのタイムスタンプを検証するために使用され得る。この点に関して、タイムスタンプ付与デバイスは、時間tに関連付けられたタイムスタンプ証明トークンのコピーと、時間tのインジケーションと、検証されるアイテム(例えば、タイムスタンプ付与されるアイテム)のコピー及び/又は入力トークンのコピーのいずれかと、を提供する。いくつかの例では、タイムスタンプ付与デバイスは、認証自体を要求してもよく、その場合、タイムスタンプ証明トークン、時間tのインジケーション、及び検証されるアイテム及び/又は入力トークンのいずれかのコピーを検証者に直接提供することができる。他の例では、第三者がタイムスタンプの検証を求めている場合があり、したがって、検証者に情報を提供する者であり得る。いくつかの例では、タイムスタンプ付与デバイスによって提供される情報は、タイムスタンプ付与デバイスによって保持される古典的なプライベート鍵を使用して生成され、かつPKI(公開鍵基盤)認証局に対して検証され得るデジタル署名などの標準的な古典的技法を使用して認証され得る。
[0071] いずれの場合でも、ステップ131において、情報が、検証者の古典コンピューティングデバイス130によって受信される。
[0072] ステップ133において、検証者の古典コンピューティングデバイス130は、時間tに関連付けられた時間t”を決定する。上述のように、ランダムに生成された量子状態は、量子チャネルを通して移送されるのに時間ttを要し得る。この時間は、検証者とタイムスタンプ付与デバイスとの間の距離に基づいて知られていてよい。場合によっては、時間ttは、初期較正プロセス(リンク・レイテンシ較正と呼ばれる)により経験的に見出され、このプロセスは、任意選択で、無害なチャネル変動を補正するために継続的に繰り返される。場合によっては、較正の繰り返しは、別の検証者を加える必要なく、検証者に近づくタイムスタンプ付与デバイスの不正な移動を捕捉するようにランダムな間隔で行われる。したがって、初期リンク・レイテンシ較正の後に、検証者に近づくタイムスタンプ付与デバイスの不正な移動の試みを阻止するために、いくつかの例は、リンク・レイテンシ較正をランダムに繰り返す。検証者の古典コンピューティングデバイス130は、ランダムに生成された量子状態が受信された時間tに基づいて、移送に要する時間を時間tから減算することによって、ランダムに生成された量子状態が送られた時間t”を決定することができ、例えば、t”=t-ttである。
[0073] ステップ135において、検証者の古典コンピューティングデバイス130は、時間t”に関連付けられたランダムに生成された量子状態の古典的表現をルックアップする。上述のように、ステップ132及び134において、ランダムに生成された量子状態の古典的表現が、時間t’の記録に関連付けて記憶されている。ステップ135において、検証者の古典コンピューティングデバイス130は、この記憶された情報を調べて、時間tに関連付けられたランダムに生成された量子状態の古典的表現を決定することができる。
[0074] ステップ137において、検証者の古典コンピューティングデバイス130は、タイムスタンプ付与を実行するときにタイムスタンプ付与デバイスの量子コンピューティングデバイス120によって実行された演算をシミュレートするために、ランダムに生成された量子状態の発見された古典的表現と、検証されるアイテム/入力トークンとを使用する。検証されるアイテムが提供された場合、このステップは、最初に、タイムスタンプ付与デバイスの古典コンピューティングデバイス110と同じように、検証されるアイテムから入力トークンを取得することを伴い得る。例えば、これは、検証されるアイテムに同じハッシュ関数を適用することを伴い得る。タイムスタンプ付与が固定されたプロトコルに従うことを考えると、検証者とタイムスタンプ付与デバイスの両方は、入力トークンを取得するために古典コンピューティングデバイス110によって実行された演算、例えばハッシュがわかることになる。そのため、検証者の古典コンピューティングデバイス130は、これらの演算を再現することができる。検証されるアイテムと入力トークンの両方が提供された場合、検証者は、提供された入力トークンが、それが演算を繰り返すことから取得した入力トークンと一致することを検証し得る。以下で詳述するように、いくつかの例では、入力トークンの算出(又は入力トークン自体)は、以前のタイムスタンプ証明トークンを組み込み得る。この場合、検証者の古典コンピューティングデバイス130にも、このタイムスタンプ証明トークンが提供され得る。いくつかの例では、検証者の古典コンピューティングデバイス130は、関連する時間t及びタイムスタンプ付与されるアイテムを使用して、以前のタイムスタンプ証明トークン又は更にはすべての以前のタイムスタンプ証明トークンの有効性をチェックし得る。これは、タイムスタンプ付与デバイスがランダムに生成された量子状態を記憶することができないことを保証する、より詳細なレベルの検証を提供する。
[0075] 古典コンピューティングデバイス130が、入力トークン及びランダムに生成された量子状態の古典的表現を有すると、次いでステップ137において、それは、ランダムに生成された量子状態に対して実行された量子演算の古典シミュレーションを実行する。タイムスタンプ付与デバイス及び検証者は、演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態に対して量子演算を実行するための、上述の方法などの、事前に合意された又はそうでなければ固定された方法を有することになる。そのため、検証者の古典コンピューティングデバイス130は、タイムスタンプ付与デバイスの量子コンピューティングデバイス120によって実行された演算の古典シミュレーションを実行することができる。検証者の古典コンピューティングデバイス130は、ランダムに生成された量子状態の古典的表現へのアクセスを有し、したがってタイムスタンプ付与デバイスの量子コンピューティングデバイス120への入力をすべて知っているので、検証者の古典コンピューティングデバイス130は、タイムスタンプ付与デバイスの古典コンピューティングデバイス110が古典シミュレーションを実行することができないときに、古典シミュレーションを実行することができることに留意されたい。上述のように、タイムスタンプ付与デバイスの古典コンピューティングデバイス110は、ランダムに生成された量子状態のこの古典的表現へのアクセスを有しておらず、また、ランダムに生成された量子状態の1つの(又はごく少数の)コピーしか提供されないので、ランダムに生成された量子状態からそのような古典的表現を取得することはできないはずである。古典シミュレーションの結果は、選択された測定基底に対応する基底における状態ベクトルであり得る。この状態ベクトルは、測定を実行するために使用されたタイムスタンプ付与デバイスの量子コンピューティングデバイス120の各検出器における成果の確率を与える。確率は、状態ベクトルが測定基底で表現されているとき、状態ベクトルの振幅の二乗であり、各行は所与の検出器に対応する。代替として、当業者には周知のような異なる基底が使用された場合、それは、異なる基底で表現された、状態ベクトルと検出器に対応する基底との間の内積(ブラ・ケット)射影の二乗として算出され得る。特定の状態の検出の確率が状態ベクトルにしたがってゼロであるが、その状態の検出が測定された場合、証明トークンのその部分について非準拠が記録され得る。
[0076] ステップ139において、検証者の古典コンピューティングデバイス130は、時間t”が時間t’と一致すること、例えば、t”が時間t’の閾値内にあることを検証する。したがって、古典コンピューティングデバイス130は、提供されたタイムスタンプ証明トークンが、ランダムに生成された量子状態に対して実行された入力トークンに関係付けられた量子演算の出力である可能性が高いかどうかを決定することができる。これは、例えば、古典シミュレーションからの値をタイムスタンプ証明トークンからの値と比較し、タイムスタンプ証明トークン内の測定値と、ランダムに生成された量子状態に対して実行されたであろう測定値との互換性をチェックすることによって行われ得る。検証者の古典コンピューティングデバイス130は、非準拠測定値(例えば、ランダムに生成された量子状態に対して量子演算を実行することから取得できなかったタイムスタンプ証明トークン内の測定値)の割合を、すべての測定値の分数として算出することができる。加えて又は代替として、検証者の古典コンピューティングデバイス130は、宣言又は導出された入力トークンを与えられたタイムスタンプ証明トークン内の測定値を取得する確率を算出することができる。検証者の古典コンピューティングデバイス130は、タイムスタンプ証明トークン内の測定値を取得する確率が閾値を下回る、及び/又は非準拠測定値の割合が閾値を上回る場合、タイムスタンプ証明トークンを拒否し得る。非準拠測定値の閾値及び/又は測定値を取得する確率は、チャネル上の予想される許容ノイズの上限を反映することができる。タイムスタンプ証明トークンが可能性の高い出力である場合、検証者は、タイムスタンプ証明トークンを確認/有効性検査/検証することができる。対照的に、タイムスタンプ証明トークンが可能性の高い出力でない場合、検証者は、タイムスタンプ証明トークンを確認/有効性検査/検証することができない。
[0077] 上記の方法は、検証者がタイムスタンプ証明トークンを検証するための方法を提供する。いくつかの例では、検証者は、タイムスタンプ付与されるアイテムを使用する。しかしながら、他の例では、検証者は入力トークンしか必要とせず、そのため、検証者がタイムスタンプ付与されるアイテムを受信することさえなく、タイムスタンプを検証することが可能である。これにより、よりセキュアな秘密のタイムスタンプ付与が可能になる。例えば、タイムスタンプ付与デバイスは、タイムスタンプを第三者に提供することを望む場合がある。タイムスタンプ付与デバイスは第三者に、時間t、タイムスタンプ証明トークン、及びタイムスタンプ付与されるアイテムを提供し得る。第三者は、タイムスタンプ付与されるアイテムから入力トークンを決定し、次いで、入力トークン、時間t、及びタイムスタンプ証明トークンを検証者に転送し得る。そのため、第三者は、タイムスタンプ付与されるアイテムを検証者と共有する必要なく、タイムスタンプを完全に検証することができる。
[0078] 図2は、量子チャネル220を介して接続された検証者210とタイムスタンプ付与デバイス230とを備えるシステム200を示す。非限定的な例では、タイムスタンプ付与デバイス230は、ユーザデバイスであり、検証者210は、現在のタイムスタンプ付与サーバと同様の役割を果たす中央デバイス/サーバである。上述のように、検証者210は、ランダムに生成された量子状態215を生成し、それを量子チャネル220を介してタイムスタンプ付与デバイス230に送る。タイムスタンプ付与デバイスの量子コンピューティングデバイスは、ランダムに生成された量子状態を時間tにおいて受信する。タイムスタンプ付与デバイス230の古典コンピューティングデバイスは、検証されるアイテムから入力トークン235を生成する。タイムスタンプ付与デバイス230の量子コンピューティングデバイスは、ランダムに生成された量子状態215に対して量子演算を実行し、ここにおいて、量子演算の少なくとも1つが、入力トークン235に関係付けられている。図2に示す例では、ランダムに生成された量子状態215に対して実行される量子演算は、入力トークン235が量子演算の少なくともいくつかを決定するために使用されるという点で、入力トークン235に関係付けられる。例えば、上述のように、量子ゲートのセットがランダムに生成された量子状態215に適用されてよく、ここにおいて、量子ゲートのセットは入力トークン235に基づいて選択される。加えて又は代替として、ランダムに生成された量子状態215が測定されることになる基底は、入力トークン235に基づいて決定される。例えば、入力トークンのビット値は、測定が計算基底で実行されるか、それとも回転基底で実行されるかを決定するために使用され得る。上述のように、いくつかの例では、入力トークン235の第1の部分は、量子演算のシーケンスを決定するために使用されてよく、入力トークン235の第2の部分は、測定のための基底を決定するために使用されてよい。任意の(非測定)量子演算がランダムに生成された量子状態215に適用された後に、ランダムに生成された量子状態215が測定される。上述のように、いくつかの例では、ランダムに生成された量子状態の各量子ビット/量子ディットの測定のための基底は、入力トークンに基づいて決定され得る。他の例では、各量子ビット/量子ディットの測定の基底は固定されている。ランダムに生成された量子状態の測定の古典的な結果は、タイムスタンプ証明トークン240と見なすことができる古典的なビットストリングであり、タイムスタンプ証明トークン240は、次いで、タイムスタンプの証明として作用するように、時間t及び検証されるアイテムに関連付けて記憶され得る。基底及び量子演算を決定するための任意の規則は、タイムスタンプ付与デバイス230と検証者210の両方が、使用されることになる規則を知っているように、固定/事前に合意されているか、又はそうでなければ予め決定されていてよい。
[0079] 図3は、量子チャネル320を介して接続された検証者310とタイムスタンプ付与デバイス330とを備えるシステム300を示す。検証者310は、ランダムに生成された量子状態315を生成し、それをタイムスタンプ付与デバイス330に送る。タイムスタンプ付与デバイス330の量子コンピュータは、ランダムに生成された量子状態を時間tにおいて受信する。タイムスタンプ付与デバイス330の古典コンピュータは、タイムスタンプ付与されるアイテムから入力トークンを取得する。この入力トークンは、次いで、入力量子状態335として準備される。これは、タイムスタンプ付与デバイス330と検証者310の両方に知られているように固定された/予め取り決められた又はそうでなければ予め決定された様式で行われ得る。量子回路333に、ランダムに生成された量子状態315及び入力量子状態335に対して作用させ、例えば、(CNOT又は制御位相ゲートなどの)エンタングルゲートの使用を通じて、又は他の非古典的相関により、それらを混合させることによって、量子回路333は、量子演算の少なくともいくつかが入力トークンに関係付けられるように、ランダムに生成された量子状態315に対して量子演算を実行する。いくつかの例では、実行される演算は、検証者310とタイムスタンプ付与デバイス330の両方に知られている演算の知られた固定セットであり得る。他の例では、演算のセットは、検証者310とタイムスタンプ付与デバイス330の両方に知られている様式で、入力トークンの一部に基づいて決定され得る。量子回路333の実装後、結果として得られた量子状態が測定される。測定の基底は、予め決定されており、検証者310とタイムスタンプ付与デバイス330の両方に知られているか、又は検証者310とタイムスタンプ付与デバイス330の両方に知られている様式で入力トークンの一部分に基づいて決定されるかのいずれかであり得る。測定により、タイムスタンプ付与されるアイテム及び時間tのインジケーションと共に、タイムスタンプ証明トークンとして記憶され得る古典的なビットストリングがもたらされる。
[0080] 上述のように、いくつかの例では、量子メモリを実装することが困難であることに起因して、タイムスタンプは、偽造することが困難であり得る。タイムスタンプ付与デバイスが量子メモリへのアクセスを有さないとき、ランダムに生成された量子状態は直ちに使用され、量子状態が受信された時間をタイムスタンプが反映することを保証する。しかしながら、上記の方法は、強化された量子メモリを踏まえても機能することを保証するようにも適応され得る。
[0081] 1つの例示的な技法では、タイムスタンプ付与デバイス230、330は、ランダムに生成された量子状態215、315を受信してから閾値時間期間内に、少なくともタイムスタンプ証明トークン240、340、並びに入力トークン235、335及び/又はタイムスタンプ付与されるアイテムを検証者210、310に送り得る。検証者210、310は、次いで、上述したような方法を使用してタイムスタンプ証明トークン240、340を検証することができる。そのような例では、タイムスタンプ付与デバイス230、330は、タイムスタンプ証明トークンに関連付けられた時間tのインジケーションも提供し得る。しかしながら、これは、検証者210、310が、ランダムに生成された量子状態が使用されるたびに検証している場合、検証者210、310は、タイムスタンプ証明トークン240、340、並びに入力トークン及び/又はスタンプ付与されるアイテムの受信時間/順序に基づいて時間tを予測することができ得るので、必要でなくてもよい。検証者は、タイムスタンプ証明トークン240、340の受信の確認及び/又は有効性のインジケーションを提供することによって応答し得る。
[0082] 別の例では、タイムスタンプ付与デバイス230、330にすべてのタイムスタンプ証明トークン240、340を提供させるのではなくむしろ、検証者210、310が、ランダムな間隔又は時間ギャップで、時間tに関連付けられたタイムスタンプ証明トークンを要求し得る。そのような要求に応答して、タイムスタンプ付与デバイス230、330は、入力トークン及び/又はタイムスタンプ付与されるアイテムと共に、時間tに関連付けられたタイムスタンプ証明トークンを提供することができる。検証者210、310は、次いで、上述した様式でタイムスタンプ証明トークン240、340を検証することができる。いくつかの例では、検証者は、タイムスタンプ証明トークン240、340の受信の確認及び/又は有効性のインジケーションを提供し得る。
[0083] 上記の2つの技法は、ランダムに生成された量子状態215、315がタイムスタンプ付与デバイス230、330によって使用されることを保証し、タイムスタンプ付与デバイス230、330がランダムに生成された量子状態215、315を、後の時間に使用するために保存することを防止する。更に、ランダムに生成された量子状態215、315は、クローン禁止定理に起因して複製されることができず、測定を介して、ランダムに生成された量子状態215、315の完全な詳細を決定することは可能でない。そのため、ランダムに生成された量子状態を使用することは、検証者210、310が、タイムスタンプ付与デバイス230、330がもはや後の使用のためにその状態にアクセスできないことを合理的に確信することができることを意味する。
[0084] タイムスタンプ付与される各アイテムを、以前のタイムスタンプ付与されるアイテムに依存させることによって、更なるセキュリティを提供することができる。この点に関して、以前のタイムスタンプ証明トークン240、340の少なくとも一部分が、タイムスタンプ付与されるアイテム又は入力トークンのいずれかに組み込まれ得る。1つの例では、入力トークンに関係付けられた量子演算がランダムに生成された量子状態215、315に適用される前に、以前のタイムスタンプ証明トークン240、340の全体又は一部分のいずれかが、タイムスタンプ付与されるアイテム又は入力トークンのいずれかに(例えば、連結によって)加えられ得る。これは、次のタイムスタンプ証明トークン240、340を取得するために、以前に送られたランダムに生成された量子状態215、315のすべてがタイムスタンプ証明トークン240、340を生成するために使用される必要があることを意味し得る。1つの例では、以前のタイムスタンプ証明トークン240、340自体を使用する代わりに、以前のタイムスタンプ証明トークン240、340のハッシュが使用されてよく、このハッシュは、タイムスタンプ付与されるアイテム又は入力トークンに組み込まれ得る。別の例では、タイムスタンプ証明トークン240、340は、ハッシュされた形式又はハッシュされていない形式のいずれかでブロックチェーンに記憶され得る。以前のタイムスタンプ証明トークン240、340の少なくとも一部分をタイムスタンプ付与されるアイテム又は入力トークンに組み込むことは、この場合、ブロックチェーンの以前のブロックをタイムスタンプ付与されるアイテム又は入力トークンに組み込むことを備えることができる。これにより、検証者210、310が、以前のタイムスタンプ証明トークン240、340に容易にアクセスすることが可能になる。タイムスタンプ付与されるアイテム又は入力トークンを以前のタイムスタンプ証明トークン240、340に依存させることによって、検証者210、310は、以前のランダムに生成された量子状態215、315のすべてが使用されており、受信時間tに対応しない時間での使用のために記憶されたものがないことを確認することができる。
[0085] 上記の一例は、図4に見ることができる。ボックス710において、以前のタイムスタンプ証明トークン及び時間tが、入力トークン235、335を形成するための入力として提供される。いくつかの例では、直前のタイムスタンプ証明トークン240、340及び時間tを単に使用するのではなく、以前のn個のタイムスタンプ証明トークン240、340及び時間tを使用することができる。この例では、nは、プロトコルにおいて予め決定されていてよい。ボックス720において、新たなタイムスタンプ付与されるアイテムも入力として提供される。ボックス730において、以前のタイムスタンプ証明トークン240、340及び時間t(又は以前のn個のタイムスタンプ証明トークン240、340及び時間t)と、新たなタイムスタンプ付与されるアイテムとが連結され、暗号ハッシュ関数を使用してハッシュされる。連結とハッシュ関数の両方は、プロトコル内で固定されていてよい。ボックス740において、この結果、新たな入力トークン235、335が形成される。ボックス750は、この新たな入力トークン235、335を入力として受信する。更に、ボックス750は、ランダムに生成された量子状態215、315をボックス770から入力として受信する。ボックス750は、次いで、ランダムに生成された量子状態215、315に対して測定を含む量子演算を実行し、ここにおいて、演算のうちの少なくとも1つは、入力トークン235、335に関係付けられている。これにより、タイムスタンプ証明トークン240、340がもたらされる。いくつかの例では、タイムスタンプ証明トークン240、340は、測定値を備える。タイムスタンプ証明トークン240、340は、次いで、以前のタイムスタンプ証明トークン240、340及び時間t(又は以前のn個のタイムスタンプ証明トークン240、340及び時間t)を表すメタデータと共に記憶される。他の例では、タイムスタンプ証明トークン240、340は、以前のタイムスタンプ証明トークン240、340及び時間t(又は以前のn個のタイムスタンプ証明トークン240、340及び時間t)を表すメタデータと組み合わされた測定値を備える。いずれの場合も、ボックス760において、入力トークン235、335及びタイムスタンプ証明トークン240、340は、存在する場合にはメタデータと共にブロックチェーンに書き込まれ得る。いくつかの例では、タイムスタンプ付与されるアイテム又はタイムスタンプ付与されるアイテムのIDもまた、入力トークン235、335、タイムスタンプ証明トークン240、340、及び存在する場合にはメタデータと共にブロックチェーンに書き込まれ得る。
[0086] 上記の例では、タイムスタンプ付与デバイス230、330は、受信されたランダムに生成された量子状態215、315の各々を使用しなければならない。しかしながら、いくつかの例では、タイムスタンプ付与デバイス230、330は、ランダムに生成された量子状態215、315が受信されるたびに、タイムスタンプ付与されるアイテムを有さない場合がある。そのような場合では、タイムスタンプ付与されるアイテムは、時間tまでに取得/受信されない場合がある。そのような場合、予め決定された値又はビットストリングが入力トークンとして使用されてもよいし、又は設定/固定/予め決定されたファイル若しくは他の文書が、タイムスタンプ付与されるヌルアイテムとして使用されてもよい。設定されたファイル又は文書が使用されるとき、これは、入力トークンを正常と決定するために使用され得る。次いで、タイムスタンプ付与プロセスが、通常通り、ランダムに生成された量子状態215、315に対して入力トークンを使用して実行され得る。これは、ランダムに生成された量子状態215、315の受信時にタイムスタンプ付与されるアイテムの要求がない場合でも、ランダムに生成された量子状態215、315のすべてを使用することができることを保証する。これは更に、次の入力トークンの算出に組み込むことができる新たな最近のタイムスタンプ証明トークンが常にあることを保証する。
[0087] 上述のように、検証者210、310は、ランダムに生成された量子状態215、315を送った時間t’から、ランダムに生成された量子状態215、315の受信時間tを推定する。この推定は、ランダムに生成された量子状態215、315を量子チャネル220、320を通して送信するのに要する時間に基づいて実行され得る。タイムスタンプ付与デバイス230、330が検証者210、310に近づいた場合、量子状態はより早く受信され、タイムスタンプを実際よりも後の時間に現れさせる場合があり、同様に、タイムスタンプ付与デバイス230、330が検証者210、310から離れた場合、量子状態はより遅く受信され、タイムスタンプを実際よりも前の時間に現れさせる場合がある。これを克服する1つの方法は、タイムスタンプ付与デバイス230、330に、検証者210、310の複数のソースから複数のランダムに生成された量子状態を受信させることであり、ここにおいて、複数のソースは、タイムスタンプ付与デバイス230、330の周りに空間的に分散されている。1つの例では、ランダムに生成された量子状態215、315を各々が提供する2つのソースが使用され得る。2つのソースは、タイムスタンプ付与デバイス230、330が一方のソースに近づいた場合に、他方のソースから離れるように分散されていてよい。別の例では、ランダムに生成された量子状態215、315を各々が提供する3つのソースが使用され、これらのソースは、ソースのうちの1つに近づくことが、タイムスタンプ付与デバイス230、330が他のソースのうちの少なくとも1つから離れることを意味するように分散されていてよい。次いで、すべてのランダムに生成された量子状態215、315が、タイムスタンプ付与のために使用され得る。1つの例では、3つの量子状態215、315は、入力トークンに関係付けられた演算を実行する前に、非古典的相関によりエンタングルされ又はそうでなければ混合され得る。他の例では、ランダムに生成された量子状態215、315は、スワップ演算で混合され又は結合されて、量子状態を形成することができ、量子状態は、次いで、入力トークンに関係付けられた量子演算によって作用される。更なる例では、入力トークンに関係付けられた量子演算自体は、ランダムに生成された量子状態がどのように入力トークンと組み合わされ、任意の結合演算を定義するかを定義する。すべての場合において、複数のランダムに生成された量子状態を入力として使用することができ、検証者210、310は、時間tに関連付けられたすべてのランダムに生成された量子状態をわかることができる。これは、検証者210、310が、タイムスタンプ付与デバイス230、330が時間tに関連付けられたタイムスタンプを装うために移動していないことを確認することができることを保証する。
[0088] 上述の例では、検証者210、310は、量子チャネル220、320を通して、タイムスタンプ付与デバイス230、330にランダムに生成された量子状態215、315を提供する。システムはまた、検証者210、310に、ランダムに生成された量子状態215、315に加えて古典的クロック信号をタイムスタンプ付与デバイス230、330に提供させ得る。このクロック信号は、セキュアな古典チャネルを介して送られ得る。これは、検証者210、310及びタイムスタンプ付与デバイス230、330が共通のクロックを有することを保証し、タイムスタンプ付与デバイス230、330が時間tの正しいインジケーションを提供することを意味する。量子ビットの測定のためにソースと受信機との間に共通クロックを確立するための方法、及びどの量子ビットが受信されており、所与のタイムビンに対応するかの識別は、例えば、量子鍵配送の分野から周知である。更に、量子状態215、315が、例えば、いくつかのタイムビンで受信されるいくつかの量子ビット/量子ディットの形態で、ある時間期間にわたって受信される場合、セキュアな共有クロック信号は、検証者210、310及びタイムスタンプ付与デバイス230、330がすべてのタイムビンを検証することができることを意味する。量子状態215、315がある時間期間にわたって受信されるとき、時間tは、その時間期間の終わりであってもよいし、又は量子状態の各部分(例えば、各量子ビット又は量子ディット)が受信された時間を反映する複数の時間/タイムビンであってもよい。これは、検証者210、310が、どの量子ビット/量子ディットがランダムに生成された量子状態215、315の一部としてタイムスタンプ付与デバイス230、330によって使用されたかを解明することを可能にすることができる。したがって、ランダムに生成された量子状態215、315は、検証者210、310から送られた量子ビット/量子ディットのセットを備えてよく、検証者210、310は、タイムスタンプ付与デバイス230、330から量子ビット/量子ディットのためのタイムビンを受信するまで、どの量子ビット/量子ディットがランダムに生成された量子状態215、315を形成したかを知らない場合がある。ランダムに生成された量子状態の古典的表現は、完全な古典的表現を形成するように次に組み合わされる各量子ビット/量子ディットの古典的表現を備え得る。他の例では、検証者210、310は、複数のタイムビンで量子ビット/量子ディットのセットを送り、それらがすべてタイムスタンプ付与デバイス230、330によって受信されるという仮定に基づいて働き得る。この場合、いくつかの例では、最後に受信された量子ビット/量子ディットに関連付けられた時間のみが、ランダムに生成された量子状態215、315の受信時間についての時間tとして使用される。更なる例では、量子状態を形成する量子ビット/量子ディットは、単一の時間に送られてよく、時間tは、すべての量子ビット/量子ディットがタイムスタンプ付与デバイス230、330によって受信された時間を反映し得る。
[0089] 上述した例では、検証者210、310及びタイムスタンプ付与デバイス230、330は、任意の通信の前に互いを検証し得る。例えば、検証者210、310及びタイムスタンプ付与デバイス230、330は、古典的なハンドシェイクなどの標準的な古典的検証手順を実行するために古典チャネルを使用し得る。加えて又は代替として、検証者210、310及びタイムスタンプ付与デバイス230、330は、それらが通信を開始する前に量子検証手順を実行するために量子チャネルを使用し得る。
[0090] フォトニック量子ビットが使用されるとき、タイムスタンプ証明トークン240、240を作成することは、1つ又は複数の測定サイクルを使用することができ、その測定サイクルでは、検証者210、310からのランダムに生成された量子状態215、315が入力トークン235、335からの情報と組み合わされ、結果として得られた量子状態が測定され(固定された基底でのときもあるし、入力トークンから導出された値にしたがうときもある)、これらの測定値は、各測定値を所与のタイムビン及び検出器又はチャネルに関連付けることができるように、固定又は構造化されたフォーマットを使用してタイムスタンプ証明トークン240、340に記憶される。しかしながら、(フォトニック)量子チャネル220、320上の損失に起因して、検証者210、310からのすべての入力が、正常にタイムスタンプ付与デバイス230、330に到着するとは限らない。これは、測定されている量子状態が、ランダムに生成された量子状態215、315の失われた光子からの入力を含まないことになることを意味し、この影響は、測定126を実行するときに、タイムスタンプ付与デバイス230、330の量子コンピューティングデバイス120のすべての検出器が起動するわけではないということである。これは、光子が失われなかった場合よりも少ない数の検出、例えば、2つではなく1つの検出が各測定サイクルで行われることを意味する。この損失に対処するいくつかの方法がある。
[0091] 1つの例では、不十分な数の測定値が記録された測定サイクルを破棄することによって、損失に対処することができる。これは、損失が低い実装形態に好適である。この例では、破棄された測定サイクルは、そのサイクルで取得されたタイムスタンプ証明トークン240、340内に記録される。
[0092] 別の例では、非測定値をヌル値で置き換えることによって損失に対処することができる。測定段階126中に取得された量子ビット/量子ディットの測定値がないとき、タイムスタンプ証明トークン240、340内の測定値が通常では位置付けられるはずの場所に単にヌル値が記録され得る。検証するとき、ヌル測定値が完全には検証できない測定サイクルであることが、検証者210、310の古典コンピューティングデバイス130によって理解される。しかしながら、測定サイクル中にタイムスタンプ証明トークン240、340において利用可能な部分的な測定値がある場合、それらの入力トークン235、335との互換性を検証することが依然として可能である。
[0093] 更なる例では、ランダム量子ビット/量子ディットを搬送する光子が、その中に保持された量子情報を乱すことなく到着したか否かを確立することが可能である。例えば、量子チャネル220、320は、量子ビット/量子ディットが検証者210、310から送られる、いくつかの別個のチャネル(空間チャネル又は周波数チャネル)を備え得る。量子非破壊(QND)測定が各タイムビン内の各チャネルに対して使用され、光スイッチが使用されて、到着に成功した光子を、ランダムに生成された量子状態215、315の一部としてタイムスタンプ付与デバイス230、330の量子コンピューティングデバイス120によって使用されるように方向付ける。光子を取得するために使用されたチャネルは、タイムスタンプ付与デバイス230、330の古典コンピューティングデバイス110によって、タイムスタンプ証明トークン240、340に関連付けられたメタデータとして記録される。メタデータ及びタイムスタンプ証明トークン240、340の両方が検証者210、310に提供され、その結果、入力(ランダム)ストリームからのどの量子ビット/量子ディットが、ランダムに生成された量子状態215、315のこの部分、したがってタイムスタンプ証明トークン240、340を作成するために使用されたかを後で識別することができる。いくつかの例では、メタデータは、タイムスタンプ証明トークン240、340と共に記憶されるのではなくむしろ、タイムスタンプ証明トークン240、340に組み込まれる。
[0094] 次に図5を参照すると、本開示に係る特定の方法400を概説するフローチャートが記載されている。検証者410は、古典的タイムスタンプ405とランダムに生成された量子状態415とを生成し、それらの両方をタイムスタンプ付与デバイスに送る。タイムスタンプ付与デバイスは、タイムスタンプ付与されるアイテム401を取得し、これを、入力トークン435を取得するために使用する。次いで、入力トークンの第1の部分が使用されて、入力量子状態の量子ビットのセットが準備される437。入力トークンの第2の部分が使用されて、ランダムに生成された量子状態415及び入力量子状態に作用する量子回路433が決定される。入力トークン435の第3の部分が使用されて、量子回路433の出力を測定する450ための基底が設定される。ランダムに生成された量子状態415が受信されると、量子回路433は、例えば、2つの量子状態からの量子ビットをエンタングルするか又はそうでなければ(例えばスワップ演算により)混合することによって、ランダムに生成された量子状態及び量子ビット準備437からの量子ビットに作用する。量子回路の出力は、入力トークン435の第3の部分によって決定された基底で量子ビットを測定する測定装置450によって作用される。これにより、タイムスタンプ証明トークンの形態の古典的出力がもたらされる。ボックス440において、タイムスタンプ証明トークンは、タイムスタンプに対応する時間tのインジケーションを提供する古典的タイムスタンプ405及びタイムスタンプ付与されるアイテム401と共に記録される。したがって、図5は、入力トークン435が上述したすべての方法で使用される、タイムスタンプ付与デバイスにおけるタイムスタンプ付与の方法を概説する。
[0095] 図6aは、検証者210、310、410などの検証者510の一例を示す。図6aには、検証者510の量子構成要素と古典構成要素の両方が示されている。検証者は、セキュアな筐体570に収容されていてよい。これは、セキュアな不正開封防止筐体であり得る。検証者510は、古典的カウンタ/クロック572を駆動する古典的クロック発振器571を備え得る。古典的カウンタ/クロック572は、タイムスタンプ付与デバイス又は任意の他のエンティティに古典的タイムスタンプ580を提供する。検証者510は、ランダムトークン生成器573も備える。このランダムトークン生成器573は、古典的なもの、例えば、古典乱数生成器であってもよいし、又は量子的なもの、例えば、量子乱数生成器であってもよい。ランダムトークン生成器573が量子的なものであるときでも、その出力は古典的なものであり得る。ランダムトークン生成器573は、量子状態の古典的表現576を出力し得る。ランダムトークン生成器573及びカウンタ/クロック572の出力は、量子状態プリペアラー575によって、ランダムトークン生成器573のランダム出力に基づいてランダムに生成された量子状態515を準備するために使用され得る。これは、上述の方法を使用して行われ得る。いくつかの例では、ランダムトークン生成器573及びカウンタ/クロック572の出力が量子状態プリペアラー575に提供される前にそれらに署名するために、古典的デジタル署名生成器574が使用され得る。しかしながら、他の例では、古典的デジタル署名生成器574は含まれていなくてよく、タイムスタンプ付与デバイス230、330は、検証者510が異なるデバイスに置き換えられていないことを信頼する。他の例では、検証者510が変化のない場所に依然として存在し、したがっておそらく依然として信頼できることを満たすために、量子チャネル220、320の長さ及び損失特性の周期的測定を(例えば、光時間領域反射率測定の標準的な方法を使用して)実施することで十分である。更なる例では、量子チャネル220、320の何らかの認証を提供する方法は、検証者510が追加の量子ビットを算出して送ることである。これらの追加の量子ビットが、タイムスタンプ付与デバイス230、330において、例えば、CNOTゲート(入力を同期させるために必要である場合には遅延線を有する)を使用して、他のランダム量子ビットと組み合わされると、それらは、決定論的測定値のシーケンスを提供する。これらの決定論的測定値は、ストリングのデジタル署名、例えば、検証者510に知られているプライベート鍵を使用して形成される検証者510のデジタル署名を形成し、このプライベート鍵は、例えば、署名をチェックするために使用することができる対応する公開鍵を保持する認証局を使用して識別可能である。タイムスタンプ付与デバイス230、330においてこの署名を生成することは、タイムスタンプ付与ではなくむしろ認証の目的でランダム入力ストリームからの量子ビットのブロックを使用することを選択することを意味するが、タイムスタンプ付与デバイス230、330は、検証者510を認証するために不規則で予測不可能な間隔でこれを行うことを選択することができる。
[0096] また更なる例では、光物理的クローン不可関数(PUF)が、検証者510とタイムスタンプ付与デバイス230、330との間の光量子チャネル220、320上で使用される。これはパルスの形態でチャレンジに認証を提供するために使用され、それは、周波数/運動量で形作られ、検証者510におけるレーザから光量子チャネル220、320を介してPUFを通して送られ、検証者510において受信される反射と共に戻り光量子チャネル上に戻され得る。レーザは、光量子チャネル220、320に切り替えられてよく、タイムスタンプ付与デバイス230、330と検証者510との間の他の通信と干渉することを防止するために、時間領域多重化又は周波数領域多重化を使用し得る。周波数、位相、及び/又は偏光の関数としての分散及び反射電力のパターンは、PUFに一意に関連付けられ、認識可能な指紋として使用されてよく、その結果、検証者510は、タイムスタンプ付与デバイス230、330に保持された認識可能なPUFにより、タイムスタンプ付与デバイス230、330を認識することができ、逆に、タイムスタンプ付与デバイス230、330は、検証者510に保持された認識可能なPUF署名により、検証者510を認識することができる。ランダムに生成された量子ビット/量子ディットの送信に使用されるのと同じ量子チャネル220、320が、PUFを使用する識別チャレンジのために使用される。このために、検証者510及びタイムスタンプ付与デバイス230、330は、双方向の古典チャネルを所有してよく、これは、例えばTLS(トランスポート層セキュリティ)プロトコルを使用して、2つのデバイス間のセキュアな暗号化及び認証されたリンクを提供するために使用され得る。このリンクを介して、PUFを使用するアイデンティティ検証などの補完モードにいつ切り替わるべきかが合意され得る。検証者510は、チャレンジパルスがタイムスタンプ付与デバイス230、330によって送られる前にPUFの測定を提供するために、タイムスタンプ付与デバイス230、330と検証者510との間の往復経路へとPUFを切り替えるために使用される1つ又は複数の光スイッチを制御し得る。
[0097] 量子状態プリペアラー575は、次いで、ランダムに生成された量子状態515をタイムスタンプ付与デバイスに送り得る。いくつかの実装形態では、ランダムトークン生成器573の出力は、量子的かつ同期的なものであってよく、その場合、それは、量子状態プリペアラー575の機能も提供することができる。しかしながら、検証者510は、送られた各ランダム量子ビット/量子ディットのコピー又は表現をとっておいてよく、これは、それが送られたタイムビン及びチャネルにしたがって識別され得る。これは、ランダムトークン生成器573から古典的ランダム状態(量子乱数生成器の古典的出力であり得る)を取得し、量子状態プリペアラー575を使用して、ランダムに生成された量子状態515を準備することによって達成することができる。1つの例では、計算基底における0と回転基底における0との間で選択するために、単一のビットが使用され得る。より一般には、計算基底又は回転基底における0又は1の量子ビット間で選択するために、2ランダム古典的ビットが使用されてよく、より高次元の量子ディット状態が実装形態において使用される場合、状態を選択するためにより多数の古典的ビットが使用され得る。
[0098] 上記の例は、検証者210、310、410、510が単一のタイムスタンプ付与デバイス230、330にサービス提供することを想定しているが、これは決して必要ではない。図6bは、検証者510と複数のタイムスタンプ付与デバイス530a~530dとを備えるシステム500を示す。図6bは4つのタイムスタンプ付与デバイス530a~530dを示しているが、別の数のタイムスタンプ付与デバイスが使用されてもよい。図6bでは、量子状態は、フォトニック量子ビット/量子ディットに符号化される。図6bは、ビームスプリッタ590を使用してフォトニック量子チャネル520をどのように分割して、複数のタイムスタンプ付与デバイス530a~530d間で量子チャネル520を分割することができるかを示す。古典的タイムスタンプ580の使用は、各タイムスタンプ付与デバイス530a~530dが、いつ量子ビット/量子ディットを受信したかを知ることを保証し、検証者510が、受信された量子ビット/量子ディットに基づいて、各タイムスタンプ付与デバイス530a~530dによって受信されたランダム量子状態を推定することを可能にする。いくつかの実装形態では、タイムスタンプ付与デバイス530a~530dは、入力トークンと組み合わせて使用されてタイムスタンプ証明トークンを形成するのに十分な量子ビット/量子ディットを有するまで、受信された量子ビット/量子ディットをバッファし得る。1つの例示的な実装形態は、各タイムスタンプ証明トークンを形成するために10~1000個の受信された量子ビットを使用し、より多数の量子ビットを使用することは、対応するタイムスタンプ証明トークンと依然として互換性のある異なる入力トークンをタイムスタンプ付与デバイスが偽造することができる閾値確率が低くなることに対応し得る。実装形態が量子ビットではなく量子ディットを使用する場合、タイムスタンプ証明トークンの算出及び測定に入力される量子ディットの必要数は、より少なくなり得る。バッファリングが使用される場合、バッファリングに関連付けられた時間遅延は、チャネルの損失にスプリッタの損失を足した関数であってよく、ランダム量子状態のストリームのソースにおける時間とタイムスタンプ付与デバイスにおける時間との間の遅延を算出する際に考慮され得る。量子非破壊測定は、光子が到着したか否かを検出し、それらをバッファメモリに向かって方向付けるために使用され得る。ビームスプリッタ590は、受動的であり、準備された量子ビット/量子ディットの公平な分割を提供する。ビームスプリッタ590は、2方向ビームスプリッタのアセンブリから形成された多段ビームスプリッタであり得る。他の例では、検証者510は、複数の量子チャネル520を有してよく、1つ又は複数の量子チャネルの各々が、異なるタイムスタンプ付与デバイス530a~530dに接続する。これは損失を低減し、そのためバッファリングの必要性を低減することができるが、余分な量子チャネルを必要とするという代償で成り立つ。
[0099] 次に図7aを参照すると、上述の方法を実装するために使用され得る装置の一例がわかる。上述の方法は、タイムスタンプ付与デバイス630と検証者610とを備えるシステム600において実装され得る。タイムスタンプ付与デバイス630は、古典コンピューティングデバイス110と量子コンピューティングデバイス120とを備え得る。同様に、検証者610は、古典コンピューティングデバイス130と量子コンピューティングデバイス140とを備え得る。古典コンピューティングデバイス110及び130は、古典チャネル601を介して接続されてよく、量子コンピューティングデバイス120及び140は、量子チャネル602を介して接続されてよい。古典コンピューティングデバイス110は、量子コンピューティングデバイス120と相互作用するか、又は量子コンピューティングデバイス120を制御するように構成され得る。同様に、古典コンピューティングデバイス130は、量子コンピューティングデバイス140を制御するか、又は量子コンピューティングデバイス140と相互作用するように構成され得る。
[00100] 図7bに示すように、量子コンピューティングデバイス120及び140は、量子コンピューティングデバイス800の形態をとり得る。量子コンピューティングデバイス800は、量子状態に対して量子演算を実装することができる量子プロセッサ802と、場合によっては、量子プロセッサ802によって生成された、又は量子プロセッサ802によって演算される量子状態を記憶する量子メモリ808とを備える。量子コンピュータはまた、量子メモリ808に記憶された、又は量子プロセッサ802によって生成された量子状態に対して量子測定を実行することができる測定デバイス812も備えることができる。量子プロセッサ802、量子メモリ808、及び量子測定デバイス812はすべて、古典コンピューティングデバイス840と相互作用することができる。古典コンピューティングデバイス840は、好適な回路を提供すること、又はそうでなければ量子ゲートを実装するために量子プロセッサ802が実行する演算を示すことのいずれかによって、量子プロセッサ802によって実行される演算を制御することができる。古典コンピューティングデバイス840はまた、量子メモリ808と相互作用し、メモリ808が量子状態を読み込むか又は読み出すときを制御することができる。古典コンピューティングデバイス840はまた、測定回路812と相互作用し、量子状態を測定するように測定回路812を駆動することができる。古典コンピューティングデバイスはまた、量子プロセッサ802及び/又は量子メモリ808に、量子誤り訂正を実装させることができ、その結果、例えば、量子ゲートは、改善された量子ゲートとして振る舞う。
[00101] 図7cに示すように、古典コンピューティングデバイス110及び130は、古典コンピューティングベースのデバイス900の形態をとり得る。コンピューティングベースのデバイス900は、1つ又は複数のプロセッサ902を備え、プロセッサ902は、マイクロプロセッサ、コントローラ、又は上述の方法の古典的動作を実装するためにデバイスの演算を制御するようにコンピュータ実行可能命令を処理するための他の任意の好適なタイプのプロセッサであり得る。いくつかの例では、例えば、システムオンチップアーキテクチャが使用される場合、プロセッサ902は、(ソフトウェア又はファームウェアというよりむしろ)ハードウェアにおいて古典的な方法の一部を実装する1つ又は複数の固定機能ブロック(アクセラレータとも呼ばれる)を含み得る。オペレーティングシステム904を備えるプラットフォームソフトウェア又は他の任意の好適なプラットフォームソフトウェアが、コンピューティングベースのデバイスに提供されて、アプリケーションソフトウェア906をデバイス上で実行することを可能にし得る。
[00102] コンピュータ実行可能命令は、コンピューティングベースのデバイス900によってアクセス可能な任意のコンピュータ可読媒体を使用して提供され得る。コンピュータ可読媒体は、例えば、メモリ908などのコンピュータ記憶媒体及び通信媒体を含み得る。メモリ908などのコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される揮発性及び不揮発性、取外し可能及び取外し不可能媒体を含む。コンピュータ記憶媒体は、これらに限定されないが、RAM、ROM、EPROM、EEPROM(登録商標)、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶デバイス若しくは他の磁気記憶デバイス、又はコンピューティングデバイスによるアクセスのための情報を記憶するために使用され得る任意の他の非伝送媒体を含む。対照的に、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波などの変調データ信号、又は他の移送機構で具現化し得る。本明細書で定義されるように、コンピュータ記憶媒体は通信媒体を含まない。コンピュータ記憶媒体(メモリ908)は、コンピューティングベースのデバイス900内に示されているが、ストレージは、分散されていてもよいし、又は遠隔に位置していてもよく、ネットワーク若しくは他の通信リンクを介して(例えば、通信インターフェース910を使用して)アクセスされ得ることが理解される。
[00103] コンピューティングベースのデバイス900は、コンピューティングベースのデバイス900とは別個又は一体であり得るディスプレイデバイス914に表示情報を出力するように配置された入力/出力インターフェース912も備える。表示情報は、グラフィカルユーザインターフェースを提供し得る。入力/出力インターフェース916はまた、ユーザ入力デバイス916(例えば、マウス又はキーボード)などの1つ又は複数のデバイス、並びに量子コンピューティングデバイス120及び140などの量子コンピューティングデバイスからの入力を受信及び処理するように配置されている。一例では、ディスプレイデバイス914は、タッチセンシティブディスプレイデバイスである場合、ユーザ入力デバイス916としても作用し得る。入力/出力インターフェース912はまた、ディスプレイデバイス以外のデバイス、例えば、ローカルに接続された印刷デバイス(図7cには図示せず)、又は量子コンピューティングデバイス120及び140などの量子コンピューティングデバイスにデータを出力し得る。
[00104] 本明細書に開示される方法は、任意選択で、信頼できる検証者がタイムスタンプ付与デバイスとの同期チャネル上に位置する状態だが、タイムスタンプの値に関心がある第三者が非同期(又は同期性の低い)チャネル上に位置する(例えば、複数のインターネットホップを介して接続された)状態で実行され得る。このシナリオは、第三者が位置する(例えば、インターネット上の)より高いレイテンシリンクを介して発行され得る正確な同期コミットメントを提供する。
[00105] 信頼できる検証者がランダムに生成された量子状態の表現を無期限に保有することは必要ではなく、この情報は、代わりに、検証者がタイムスタンプの検証を確認及び発行したら破棄され得ることに留意されたい。代替として、タイムキーピングデバイスは、コミットメントトランザクション及びコミットメントトークンを不変の方法で(例えば、ブロックチェーンのようなデジタル台帳上で)発行することができ、次いで検証者は、コミットメントトークン値をチェックするために1つ又は複数の独立した検証者が使用するために、関連付けられた秘密量子ビットストリーム値を不変のデータストア(例えば、同じブロックチェーン)に発行し得る。
[00106] 更に、検証者が、ランダムに生成された量子状態の表現のサンプルのみを保有することで十分である。これは、タイムキーピングデバイスが、どのサンプルが保有されるかを予測することができず、したがって、いくつかの情報がチェック可能ではないということを利用することができないためである。
[00107] 「コンピュータ」という用語は、本明細書では、命令を実行することができるような処理能力を有する任意のデバイスを指すために使用される。当業者は、そのような処理能力が多くの異なるデバイスに組み込まれ、したがって、「コンピュータ」という用語がPC、サーバ、携帯電話、携帯情報端末、及び多くの他のデバイスを含むことを理解するであろう。
[00108] 当業者は、プログラム命令を記憶するために利用される記憶デバイスがネットワークにわたって分散され得ることを理解するであろう。例えば、リモートコンピュータは、ソフトウェアとして説明されたプロセスの一例を記憶し得る。ローカル又は端末コンピュータは、リモートコンピュータにアクセスし、プログラムを実行するためにソフトウェアの一部又は全部をダウンロードし得る。代替として、ローカルコンピュータは、必要に応じてソフトウェアの一部をダウンロードしてもよいし、又はローカル端末でいくつかのソフトウェア命令を実行し、リモートコンピュータ(又はコンピュータネットワーク)でいくつかのソフトウェア命令を実行してもよい。当業者は、当業者に知られている従来の技法を利用することによって、ソフトウェア命令の全部又は一部分が、例えば、DSP又はプログラマブル論理アレイなどの専用回路によって実施され得ることも理解するであろう。
[00109] 「1つの(an)」アイテムへの言及は、それらのアイテムのうちの1つ又は複数を指す。「備える(comprising)」という用語は、本明細書では、識別された方法ブロック又は要素を含むことを意味するために使用されるが、そのようなブロック又は要素は排他的なリストを備えず、装置は追加のブロック又は要素を含んでよく、方法は追加の動作又は要素を含んでよい。更に、ブロック、要素、及び動作は、それ自体が暗黙的に閉じられているわけではない。
[00110] 本明細書に記載の方法のステップは、任意の好適な順序で、又は必要に応じて同時に実施され得る。図中のボックス間の矢印は、方法ステップの1つの例示的なシーケンスを示すが、他のシーケンス又は並行した複数のステップの実行を除外することを意図していない。更に、個々のブロックは、本明細書に記載の主題の要旨及び範囲から逸脱することなく、方法のいずれかから削除され得る。上述の例のうちのいずれかの態様は、求められる効果を失うことなく、更なる例を形成するために、記載の他の例のうちのいずれかの態様と組み合わされ得る。図の要素が矢印によって接続されて示されている場合、これらの矢印は、要素間の通信(データ及び制御メッセージを含む)の流れの1つの例を示すにすぎないことが理解されよう。要素間の流れは、いずれかの方向又は両方向であり得る。
[00111] 説明が、いくつかの個々の特徴を切り離して明示的に開示している場合、2つ以上のそのような特徴の任意の明らかな組み合わせについても、そのような特徴又は特徴の組み合わせが本明細書に開示された任意の問題を解決するかどうかにかかわらず、そのような特徴又は組み合わせが明らかであり、当業者の共通の一般知識を踏まえて本明細書全体に基づいて実施されることが可能である限り、開示されているとみなされる。前述の説明を踏まえて、本発明の範囲内で様々な修正が行われ得ることが当業者には明らかであろう。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
古典コンピューティングデバイスと量子コンピューティングデバイスとを備えるタイムスタンプ付与デバイスにおいてアイテムにタイムスタンプ付与する方法であって、
前記古典コンピューティングデバイスにおいて、
前記タイムスタンプ付与されるアイテムを取得することと、
前記取得されたアイテムに基づいて入力トークンを決定することと、
前記量子コンピューティングデバイスにおいて、
検証者から量子チャネルを介して、ランダムに生成された量子状態を受信することと、ここにおいて、前記ランダムに生成された量子状態は、時間tにおいて受信される、
を備え、
前記方法は、前記時間tに関連付けられたタイムスタンプ証明トークンを作り出すように、前記ランダムに生成された量子状態を前記入力トークンと組み合わせるために前記タイムスタンプ付与デバイスを使用することを備える、方法。
[C2]
前記ランダムに生成された量子状態を前記入力トークンと組み合わせるために前記タイムスタンプ付与デバイスを使用することは、量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記ランダムに生成された量子状態に対して前記量子演算を実行することを備え、前記ランダムに生成された量子状態に対して量子演算を実行することは、前記時間tに関連付けられた前記タイムスタンプ証明トークンを取得するために前記ランダムに生成された量子状態を測定することを備える、C1に記載の方法。
[C3]
量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記ランダムに生成された量子状態に対して前記量子演算を実行することは、
前記ランダムに生成された量子状態を測定するための測定基底のシーケンスを決定するために前記入力トークンを使用することによって、前記入力トークンに基づく前記タイムスタンプ証明トークンを取得するために前記ランダムに生成された量子状態を測定することを備える、
C2に記載の方法。
[C4]
前記古典コンピューティングデバイスにおいて、前記入力トークンから入力量子状態を決定することと、
前記量子コンピューティングデバイスにおいて、前記入力量子状態における量子レジスタを準備することと、
を更に備え、
量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記検証者から受信された前記ランダムに生成された量子状態に対して前記量子演算を前記実行することは、前記ランダムに生成された量子状態を測定する前に、前記入力量子状態と前記ランダムに生成された量子状態とを混合するために量子ゲートのシーケンスを使用することを更に備える、
C2又は3に記載の方法。
[C5]
量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記ランダムに生成された量子状態に対して前記量子演算を実行することは、
前記古典コンピューティングデバイスにおいて、前記入力トークンに基づいて量子演算のシーケンスを決定することと、
前記量子コンピューティングデバイスにおいて、前記ランダムに生成された量子状態を測定する前に、前記ランダムに生成された量子状態に対して前記決定された量子演算のシーケンスを実装することと、
を備える、C2~4のいずれか一項に記載の方法。
[C6]
前記タイムスタンプ証明トークンを取得する閾値時間期間内に、
前記タイムスタンプ証明トークン、並びに、
前記タイムスタンプ付与されるアイテム及び/又は前記入力トークン
を前記検証者に送ることと、
前記タイムスタンプ証明トークンを前記検証者に送ることに応答して、前記タイムスタンプ証明トークンの有効性及び/又は受信の確認を受信することと、
を更に備える、C1~5のいずれか一項に記載の方法。
[C7]
前記タイムスタンプ証明トークンの少なくとも一部分を求める要求を前記検証者から受信することと、
前記要求に応答して、
前記タイムスタンプ証明トークンの前記少なくとも一部分、並びに、
前記タイムスタンプ付与されるアイテム及び/又は前記入力トークン
を前記検証者に提供することと、
を更に備える、C1~6のいずれか一項に記載の方法。
[C8]
前記取得されたアイテムに基づいて入力トークンを決定することは、
前記タイムスタンプ付与されるアイテム又は前記入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して前記入力トークンを決定することを備える、
C1~7のいずれか一項に記載の方法。
[C9]
前記タイムスタンプ付与されるアイテム又は前記入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して前記入力トークンを決定することは、
前記以前のタイムスタンプ証明トークンの前記少なくとも一部分をハッシュすることと、
前記以前のタイムスタンプ証明トークンの前記少なくとも一部分の前記ハッシュを前記タイムスタンプ付与されるアイテム又は前記入力トークンに組み込むことと、
を備える、C8に記載の方法。
[C10]
前記タイムスタンプ証明トークンを分散型台帳に記憶することを更に備え、
前記タイムスタンプ付与されるアイテム又は前記入力トークン内の以前のタイムスタンプ証明トークンの少なくとも一部分に依存して前記入力トークンを決定することは、前記分散型台帳の以前のエントリを前記タイムスタンプ付与されるアイテム又は前記入力トークンに組み込むことを備える、
C8又は9に記載の方法。
[C11]
前記タイムスタンプ付与されるアイテムを取得することは、
タイムスタンプ付与されるアイテムを時間tより前に受信すること、又は、
タイムスタンプ付与されるアイテムが時間tまでに受信されていないとき、前記タイムスタンプ付与されるアイテムとして、予め決定された値を取得すること、
を備える、C1~10のいずれか一項に記載の方法。
[C12]
ランダムに生成された量子状態を検証者から受信することは、前記検証者の第1のソースから第1のランダムに生成された量子状態を受信することを備え、前記方法は、
前記量子コンピューティングデバイスにおいて、
量子チャネルを介して前記検証者の第2のソースから第2のランダムに生成された量子状態を受信することと、ここにおいて、前記第2のランダムに生成された量子状態は、時間tにおいて受信される、
を更に備え、
量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記ランダムに生成された量子状態に対して前記量子演算を実行することは、量子演算の少なくともいくつかが前記入力トークンに関係付けられるように、前記第1のランダムに生成された量子状態及び前記第2のランダムに生成された量子状態に対して前記量子演算を実行することを備え、
前記検証者の前記第1のソース及び前記第2のソースは、前記タイムスタンプ付与デバイスの周りに空間的に分散されている、
C2~11のいずれか一項に記載の方法。
[C13]
検証者において実行される、ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供する方法であって、前記検証者は、古典コンピューティングデバイスと量子コンピューティングデバイスとを備え、前記方法は
前記量子コンピューティングデバイスにおいて、
前記ランダムに生成された量子状態を準備することと、
前記ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに送ることと、
前記古典コンピューティングデバイスにおいて、
前記ランダムに生成された量子状態の表現を記録することと、
前記ランダムに生成された量子状態が前記タイムスタンプ付与デバイスに送られた時間t’を記録することと、
を備える、方法。
[C14]
前記検証者の前記古典コンピューティングデバイスにおいて、
時間tのインジケーション、前記時間tに関連付けられたタイムスタンプ証明トークン、並びにタイムスタンプ付与されるアイテム及び/又は入力トークンを受信することと、
前記時間tに基づいて時間t”を決定することと、ここにおいて、前記時間t”は、前記時間tにおいて前記タイムスタンプ付与デバイスにおいて受信されたランダムに生成された量子状態が前記検証者から送られたであろう時間を表し、
前記時間t”に関連付けられたランダムに生成された量子状態の古典的表現をルックアップすることと、
前記タイムスタンプ付与デバイスによって実行された量子演算の古典シミュレーションを実行することと、
前記古典シミュレーションの結果に基づいて、時間t”が時間t’と一致することを検証することと、
を更に備える、C13に記載の方法。
[C15]
アイテムにタイムスタンプ付与するためのタイムスタンプ付与デバイスであって、
タイムスタンプ付与される前記アイテムを取得することと、
前記取得されたアイテムに基づいて入力トークンを決定することと、
を行うように構成された古典コンピューティングデバイスと、
検証者から量子チャネルを介して、ランダムに生成された量子状態を受信すること、
を行うように構成された量子コンピューティングデバイスと、ここにおいて、前記ランダムに生成された量子状態は、時間tにおいて受信される、
を備え、
前記タイムスタンプ付与デバイスは、前記時間tに関連付けられたタイムスタンプ証明トークンを作り出すために、前記ランダムに生成された量子状態を前記入力トークンと組み合わせるように構成されている、タイムスタンプ付与デバイス。
[C16]
ランダムに生成された量子状態をタイムスタンプ付与デバイスに提供するための検証者であって、
前記ランダムに生成された量子状態を準備することと、
前記ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに送ることと、
を行うように構成された量子コンピューティングデバイスと、
前記ランダムに生成された量子状態と、前記ランダムに生成された量子状態が前記タイムスタンプ付与デバイスに送られた時間t’との表現を記録すること、
を行うように構成された古典コンピューティングデバイスと、
備える、検証者。
[C17]
前記ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに送るためのレイテンシを決定するためにリンク・レイテンシ較正を実施し、前記リンク・レイテンシ較正をランダムに繰り返すように構成された、C16に記載の検証者。
[C18]
アイテムにタイムスタンプ付与するためのタイムスタンプ付与デバイスと、
ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに提供するための検証者と、
を備え、
前記タイムスタンプ付与デバイスは、
前記タイムスタンプ付与されるアイテムを取得することと、
前記取得されたアイテムに基づいて入力トークンを決定することと、
を行うように構成された古典コンピューティングデバイスと、
前記検証者から量子チャネルを介して、前記ランダムに生成された量子状態を受信すること、
を行うように構成された量子コンピューティングデバイスと、ここにおいて、前記ランダムに生成された量子状態は、時間tにおいて受信される、
を備え、
前記タイムスタンプ付与デバイスは、前記時間tに関連付けられたタイムスタンプ証明トークンを作り出すために、前記ランダムに生成された量子状態を前記入力トークンと組み合わせるように構成されており、
前記検証者は、
前記ランダムに生成された量子状態を準備することと、
前記ランダムに生成された量子状態をタイムスタンプ付与デバイスに送ることと、
を行うように構成された量子コンピューティングデバイスと、
前記ランダムに生成された量子状態と、前記ランダムに生成された量子状態が前記タイムスタンプ付与デバイスに送られた時間t’との表現を記録すること、
を行うように構成された古典コンピューティングデバイスと、
備える、システム。
[C19]
タイムスタンプ付与デバイス及び検証者を使用して実行される方法であって、
前記タイムスタンプ付与デバイスの古典コンピューティングデバイスにおいて、
タイムスタンプ付与されるアイテムを取得することと、
前記取得されたアイテムに基づいて入力トークンを決定することと、
前記タイムスタンプ付与デバイスの量子コンピューティングデバイスにおいて、
前記検証者から量子チャネルを介して、ランダムに生成された量子状態を受信することと、ここにおいて、前記ランダムに生成された量子状態は、時間tにおいて受信される、
を備え、
前記方法は、前記時間tに関連付けられたタイムスタンプ証明トークンを作り出すように、前記ランダムに生成された量子状態を前記入力トークンと組み合わせるために前記タイムスタンプ付与デバイスを使用することと、
前記ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに提供するために、
前記検証者の量子コンピューティングデバイスにおいて、
前記ランダムに生成された量子状態を準備することと、
前記ランダムに生成された量子状態を前記タイムスタンプ付与デバイスに送ることと、
前記検証者の古典コンピューティングデバイスにおいて、
前記ランダムに生成された量子状態の表現を記録することと、
前記ランダムに生成された量子状態が前記タイムスタンプ付与デバイスに送られた時間t’を記録することと、
によって前記検証者を使用することと、を備える、方法。