IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アーキット リミテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-15
(54)【発明の名称】鍵交換プロトコル
(51)【国際特許分類】
   H04L 9/12 20060101AFI20230807BHJP
【FI】
H04L9/12
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023504227
(86)(22)【出願日】2021-07-20
(85)【翻訳文提出日】2023-03-15
(86)【国際出願番号】 GB2021051863
(87)【国際公開番号】W WO2022018432
(87)【国際公開日】2022-01-27
(31)【優先権主張番号】2011219.9
(32)【優先日】2020-07-20
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】522181326
【氏名又は名称】アーキット リミテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】バーンズ ダリル
(72)【発明者】
【氏名】チャイルド バリー
(72)【発明者】
【氏名】ウィリアムズ デイヴィッド
(57)【要約】
方法、装置、及びシステムが、送信側デバイスと受信側デバイスとの間で安全な通信を実行するために提供される。これは、送信側デバイスによって、ポスト量子暗号アルゴリズム、及び受信側デバイスによる量子鍵QK配送から導出される量子鍵(QK)マテリアルを使用してメッセージをカプセル化又は暗号化することを含む。送信側デバイスによって、カプセル化又は暗号化されたメッセージにノイズが追加される。送信側デバイスは、ノイズを含むカプセル化/暗号化されたメッセージを受信側デバイスに送信する。送信側デバイスからノイズを含むカプセル化又は暗号化されたメッセージを受信すると、受信側デバイスは、送信側デバイスによって使用されている対応するQKを使用して受信メッセージをカプセル化解除又は復号化する。受信側デバイスは、送信側によって使用されている対応するポスト量子暗号アルゴリズムを使用して、QKカプセル化解除/復号化されたメッセージをカプセル化解除又は復号化し、受信側デバイスは、送信側によって送信されているメッセージを出力又は使用する。
【選択図】図2
【特許請求の範囲】
【請求項1】
送信側デバイスのための安全な通信のコンピュータ実装方法であって、
ポスト量子暗号アルゴリズム、及び受信側デバイスによる量子鍵(QK)配送から導出される量子鍵(QK)マテリアルを使用して、メッセージをカプセル化又は暗号化することと、
前記カプセル化又は暗号化されたメッセージにノイズを追加することと、
前記ノイズを含むカプセル化又は暗号化されたメッセージを前記受信側デバイスに送信することと、を含む、コンピュータ実装方法。
【請求項2】
ランダムソースを使用して長さLのランダムメッセージMを生成することを更に含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記メッセージをカプセル化又は暗号化することが、公開されている公開鍵及び前記QKマテリアルを使用して前記メッセージを符号化してコードワードを生成することを含み、前記公開されている公開鍵が、前記受信側デバイスによって公開されている、先行請求項のいずれか一項に記載のコンピュータ実装方法。
【請求項4】
前記メッセージをカプセル化又は暗号化することが、前記QKマテリアルを使用して、前記QKマテリアルと前記コードワードとの排他的論理和(XOR)を計算することによってQKコードワードを生成することを含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記カプセル化又は暗号化されたメッセージにノイズを追加することが、暗号文を生成することを含み、前記暗号文の一部が、前記QKコードワードのランダムビットを破壊するか又は反転させることによって生成され、
前記ノイズを含むカプセル化又は暗号化されたメッセージを前記受信側デバイスに送信することが、前記暗号文を前記受信側デバイスに送信することを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
受信側デバイスのための安全な通信のコンピュータ実装方法であって、
送信側デバイスからノイズを含むカプセル化又は暗号化されたメッセージを受信することであって、前記ノイズを含むカプセル化又は暗号化されたメッセージは、ポスト量子暗号アルゴリズム、及び前記送信側デバイスによって量子鍵(QK)配送から導出されている量子鍵(QK)マテリアルを使用してカプセル化又は暗号化されている、受信することと、
前記送信側デバイスによって使用されている前記対応するQKを使用して、前記受信メッセージをカプセル化解除又は復号化することと、
前記送信側によって使用されている前記対応するポスト量子暗号アルゴリズムを使用して、前記QKカプセル化解除又は復号化されたメッセージをカプセル化解除又は復号化することと、
前記受信側デバイスによって使用するために前記メッセージを出力することと、を含む、コンピュータ実装方法。
【請求項7】
秘密を選択することと、公開鍵を公開することと、を更に含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記受信メッセージが、ランダムソースを使用して前記送信側デバイスによって生成されている長さLのランダムメッセージMである、請求項7に記載のコンピュータ実装方法。
【請求項9】
前記受信メッセージが、コードワードを含み、前記コードワードが、前記公開されている公開鍵を使用して前記メッセージを符号化することによって生成される、請求項7又は8に記載のコンピュータ実装方法。
【請求項10】
前記受信メッセージが、暗号文を含み、前記暗号文の一部が、QKコードワードのランダムビットを破壊するか又は反転させることによって生成され、前記QKコードワードが、前記量子鍵マテリアルを使用して、前記QKマテリアルと前記コードワードとの排他的論理和(XOR)を計算することによって生成される、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記ノイズを含むカプセル化又は暗号化されたメッセージを受信することが、前記送信側デバイスから前記暗号文を受信することを含み、
前記送信側デバイスによって使用されている前記対応するQKを使用して、前記受信メッセージをカプセル化解除又は復号化することが、前記QKマテリアルを使用して前記暗号文の前記一部をカプセル化解除又は復号化することを含み、
前記対応するポスト量子暗号アルゴリズムを使用して、前記QK復号化されたメッセージをカプセル化解除又は復号化することが、前記ポスト量子暗号アルゴリズムを使用して前記暗号文の前記一部を更にカプセル化解除復号化することを含む、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記QKマテリアルと前記暗号文の前記一部との排他的論理和(XOR)を計算することに基づいて、ノイズを含むコードワードを生成することと、
エラー復号アルゴリズムを適用して、前記符号化されたメッセージを復元することによって、前記ノイズを含むコードワードをカプセル化解除又は復号化することと、を更に含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
送信側デバイスと受信側デバイスとの間の安全な通信のコンピュータ実装方法であって、
前記送信側デバイスによって、ポスト量子暗号アルゴリズム、及び前記受信側デバイスによる量子鍵(QK)配送から導出されている量子鍵(QK)マテリアルを使用して、メッセージをカプセル化又は暗号化することと、
前記送信側デバイスによって、前記カプセル化又は暗号化されたメッセージにノイズを追加することと、
前記送信側デバイスによって、前記ノイズを含むカプセル化又は暗号化されたメッセージを前記受信側デバイスに送信することと、
前記受信側デバイスによって、前記送信側デバイスから前記ノイズを含むカプセル化又は暗号化されたメッセージを受信することと、
前記送信側デバイスによって使用されている前記対応するQKを使用して、前記受信側デバイスによって、前記受信メッセージをカプセル化解除又は復号化することと、
前記送信側によって使用されている前記対応するポスト量子暗号アルゴリズムを使用して、前記受信側デバイスによって、前記QKカプセル化解除/復号化されたメッセージをカプセル化解除又は復号化することと、
前記受信側デバイスによって、前記メッセージを出力することと、を含む、コンピュータ実装方法。
【請求項14】
前記受信側デバイスによって、秘密を選択することと、
前記受信側デバイスによって、公開鍵を公開することと、を更に含む、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記送信側デバイスによって、ランダムソースを使用して長さLのランダムメッセージMを生成することを更に含む、請求項13又は14に記載のコンピュータ実装方法。
【請求項16】
前記メッセージをカプセル化又は暗号化することが、前記送信側デバイスによって、前記公開されている公開鍵及び前記QKマテリアルを使用して前記メッセージを符号化してコードワードを生成することを含む、請求項14又は15に記載のコンピュータ実装方法。
【請求項17】
前記メッセージをカプセル化又は暗号化することが、前記送信側デバイスによって、前記量子鍵マテリアルを使用して、前記QKマテリアルと前記コードワードとの排他的論理和(XOR)を計算することによってQKコードワードを生成することを含む、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記カプセル化又は暗号化されたメッセージにノイズを追加することが、前記送信側デバイスによって、暗号文を生成することを含み、前記暗号文の一部が、前記QKコードワードのランダムビットを破壊するか又は反転させることによって生成され、
前記ノイズを含むカプセル化又は暗号化されたメッセージを前記受信側デバイスに送信することが、前記送信側デバイスによって、前記暗号文を前記受信側デバイスに送信することを含む、請求項17に記載のコンピュータ実装方法。
【請求項19】
前記ノイズを含むカプセル化又は暗号化されたメッセージを受信することが、前記受信側デバイスによって、前記送信側デバイスから前記暗号文を受信することを含み、
前記送信側デバイスによって使用されている前記対応するQKを使用して、前記受信メッセージをカプセル化解除又は復号化することが、前記受信側デバイスによって、前記QKマテリアルを使用して前記暗号文の前記一部をカプセル化解除又は復号化することを含み、
前記対応するポスト量子暗号アルゴリズムを使用して前記QKカプセル解除又は復号化されたメッセージをカプセル化解除又は復号化することが、前記受信側デバイスによって、前記ポスト量子暗号アルゴリズムを使用して前記暗号文の前記一部をカプセル化解除又は復号化することを更に含む、請求項18に記載のコンピュータ実装方法。
【請求項20】
前記受信側デバイスによって、前記QKマテリアルと前記暗号文の前記受信部分との排他的論理和(XOR)を計算することに基づいて、ノイズを含むコードワードを生成することと、
前記受信側デバイスによって、エラー復号アルゴリズムを適用して、前記符号化されたメッセージを復元することによって、前記ノイズを含むコードワードをカプセル化解除又は復号化することと、を更に含む、請求項19に記載のコンピュータ実装方法。
【請求項21】
前記エラー復号アルゴリズムが、中密度パリティチェックコード(MDPC)復号アルゴリズムである、請求項12又は20に記載のコンピュータ実装方法。
【請求項22】
前記ポスト暗号アルゴリズムが、ビット反転鍵カプセル化(BIKE)、ポスト量子鍵カプセル化(KEM)、暗号アルゴリズムに基づく、先行請求項のいずれか一項に記載のコンピュータ実装方法。
【請求項23】
送信側装置であって、
プロセッサユニットと、
メモリユニットと、
通信インターフェースと、を備え、
前記プロセッサユニットが、前記メモリユニット及び前記通信インターフェースに接続されており、
前記プロセッサユニット、メモリユニット、及び通信インターフェースが、請求項1~5、又は請求項1~5のいずれか一項に従属する場合の請求項22のいずれか一項に記載のコンピュータ実装方法を実装するように適合されている、送信側装置。
【請求項24】
受信側装置であって、
プロセッサユニットと、
メモリユニットと、
通信インターフェースと、を備え、
前記プロセッサユニットが、前記メモリユニット及び前記通信インターフェースに接続されており、
前記プロセッサユニット、メモリユニット、及び通信インターフェースが、請求項6~12、又は請求項12に従属する場合の請求項21、又は請求項6~12のいずれか一項に従属する場合の請求項22のいずれか一項に記載のコンピュータ実装方法を実装するように適合されている、受信側装置。
【請求項25】
システムであって、
請求項23に記載の送信側装置と、
請求項24に記載の受信側装置と、を備え、
前記送信側装置及び前記受信側装置は、請求項13~20、又は請求項20に従属する場合の請求項21、又は請求項13~20のいずれか一項に従属する場合の請求項22のいずれか一項に記載のコンピュータ実装方法に従って互いに通信するように構成されている、システム。
【請求項26】
コンピュータ可読媒体であって、そこに記憶されているコンピュータコード又は命令を含み、前記コンピュータコード又は命令が、プロセッサ上で実行されると、前記プロセッサに、請求項1~22のいずれか一項に記載のコンピュータ実装方法を実行させる、コンピュータ可読媒体。
【請求項27】
命令を含むコンピュータプログラム製品であって、前記命令は、前記プログラムがコンピュータによって実行されると、前記コンピュータに、請求項1~22のいずれか一項に記載の方法を実行させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、量子鍵交換/配送プロトコル及びポスト量子暗号に基づく安全な通信のためのシステム、装置、及び方法、並びにそれらへの応用に関する。
【背景技術】
【0002】
量子鍵配送(QKD)は、暗号鍵を配送するための量子力学の成分を伴う暗号QKDプロトコルを実装する安全な通信方法である。これにより、2つのパーティが、自分達だけが知っている共有ランダム秘密鍵又は暗号鍵を生成することができ、これらを使用して、メッセージを暗号化及び復号化することができる。大規模な量子コンピュータの出現後、鍵合意のための古典的な(例えば、因数分解及び離散対数ベースの)鍵交換方法は脆弱になり、セキュリティを提供できなくなる。ポスト量子アルゴリズムは代替手段を提供するが、その基盤に対するまだ発見されていない数学的攻撃の可能性に悩まされている。QKDは、最初の量の共有秘密マテリアルを所有する2つのパーティ間で無条件に安全な鍵の合意を提供するが、物理的な実装に依存しているため、誤動作又は物理的な攻撃の可能性が残る。
【0003】
より安全な方法でQKD及びポスト量子暗号アルゴリズムを利用することができる、より改善された安全な通信が望まれている。
【0004】
以下に記載の実施形態は、上に記載の既知のアプローチの欠点のいずれか又はすべてを解決する実装形態に限定されるものではない。
【発明の概要】
【0005】
本発明は、添付の特許請求の範囲において定義される。
【0006】
本概要は、以下の詳細な説明で更に記載される概念の選択を簡略化した形態で紹介するために提供されるものである。本概要は、特許請求される主題の主要な特徴又は本質的な特徴を識別することを意図せず、特許請求される主題の範囲を決定するために使用されることも意図しておらず、本発明の働きを容易にし、かつ/又は実質的に同様の技術的効果を達成するために機能する変形例及び代替的特徴は、本明細書に開示される本発明の範囲内に収まるとみなされるべきである。
【0007】
本開示は、ポスト量子暗号アルゴリズム及び量子鍵配送(QKD)のコンポーネントの使用の組合せに基づくハイブリッドメカニズム又はアルゴリズムを使用して、結果として得られるアルゴリズムがこれらのコンポーネントの強度の合計によって決定されるセキュリティを提供することを可能にする方法、装置及びシステムを提供する。ポスト量子暗号アルゴリズム及びQKDコンポーネントを含むハイブリッドメカニズム又はアルゴリズムは、限定されるものではないが、例えば、ハイブリッドメカニズム/アルゴリズムのQKDコンポーネントへの攻撃が成功しても、ポスト量子暗号アルゴリズムコンポーネント(例えば、少なくとも2つのパーティ間で交換及び使用される暗号鍵)をも侵害することはできないために共有鍵を復元するには不十分であるように、ハイブリッドメカニズム/アルゴリズムのポスト量子暗号アルゴリズムコンポーネントへの攻撃が成功しても、QKDコンポーネントをも侵害することはできないために共有鍵を復元するには不十分であるように、認証目的で最初の共有秘密マテリアルを保持する少なくとも2つのパーティが、安全でないパブリックチャネルを介して追加の共有マテリアルに同意することを可能にするように適合されている。ハイブリッドメカニズム/アルゴリズム、装置、方法及び/又はシステムは、QKDをビット反転鍵カプセル化(BIKE)ポスト量子鍵カプセル化(KEM)暗号アルゴリズムへの修正と組み合わせるように構成されている。
【0008】
第1の態様では、本開示は、送信側デバイスのための安全な通信のコンピュータ実装方法であって、ポスト量子暗号アルゴリズム、及び、受信側デバイスによる量子鍵(QK)配送から導出される量子鍵(QK)マテリアルを使用してメッセージをカプセル化及び/又は暗号化することと、カプセル化又は暗号化されたメッセージにノイズを追加することと、ノイズを含むカプセル化及び/又は暗号化メッセージを受信側デバイスに送信することと、を含む、コンピュータ実装方法を提供する。
【0009】
第2の態様では、本開示は、受信側デバイスのための安全な通信のコンピュータ実装方法であって、送信側デバイスからノイズを含むカプセル化及び/又は暗号化メッセージを受信することであって、ノイズを含むカプセル化及び/又は暗号化されたメッセージは、ポスト量子暗号アルゴリズム、及び、送信側デバイスによって量子鍵(QK)配送から導出されている量子鍵(QK)マテリアルを使用してカプセル化及び/又は暗号化されている、受信することと、送信側デバイスによって使用されている対応するQKを使用して、受信メッセージをカプセル化解除及び/又は復号化することと、送信側によって使用されている対応するポスト量子暗号アルゴリズムを使用して、QKカプセル化解除/復号化されたメッセージをカプセル化解除及び/又は復号化することと、受信側デバイスによって使用するためにメッセージを出力することと、を含む、コンピュータ実装方法を提供する。
【0010】
第2の態様のノイズを含むカプセル化及び/又は暗号化メッセージは、上で概説した第1の態様に従って生成されたものであってもよい。
【0011】
第3の態様では、本開示は、送信側デバイスと受信側デバイスとの間の安全な通信のコンピュータ実装方法であって、送信側デバイスによって、ポスト量子暗号アルゴリズム、及び、受信側デバイスによる量子鍵(QK)配送から導出されている量子鍵(QK)マテリアルを使用して、メッセージをカプセル化及び/又は暗号化することと、送信側デバイスによって、カプセル化及び/又は暗号化されたメッセージにノイズを追加することと、送信側デバイスによって、ノイズを含むカプセル化及び/又は暗号化メッセージを受信側デバイスに送信することと、受信側デバイスによって、送信側デバイスからノイズを含むカプセル化及び/又は暗号化メッセージを受信することと、送信側デバイスによって使用されている対応するQKを使用して、受信側デバイスによって、受信メッセージをカプセル化解除及び/又は復号化することと、送信側によって使用されている対応するポスト量子暗号アルゴリズムを使用して、受信側デバイスによって、QKカプセル化解除/復号化されたメッセージをカプセル化解除及び/又は復号化することと、受信側デバイスによって、メッセージを出力することと、を含む、コンピュータ実装方法を提供する。
【0012】
オプションとして、受信側デバイスが秘密を選択し、公開鍵を公開することを更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。別のオプションとして、送信側デバイスがランダムソースを使用して長さLのランダムメッセージMを生成することを更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。更なるオプションとして、送信側デバイスが、公開されている公開鍵及びQKマテリアルを使用してメッセージMの符号化を実行することを更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0013】
オプションとして、送信側デバイスが、公開されている公開鍵によって符号化されているメッセージを表すコードワードによってQKマテリアルの排他的論理和(XOR)を計算するために、受信側デバイスによって知られている量子鍵マテリアルを使用することによってQKコードワードを生成するステップと、QKコードワードのランダムビットを破壊するか又は反転させることによって、第1の暗号文部分c_0及び第2の暗号文部分c_1を含む暗号文を生成するステップと、暗号文を受信側デバイスに送信するステップと、を更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0014】
更なるオプションとして、受信側デバイスが、送信側デバイスから暗号文c_1及びc_0を受信するステップと、送信側デバイスと受信側デバイスとの間のQKDプロセスに基づいて、送信側デバイスによって使用されており、受信側デバイスによって知られているQKマテリアルを使用して、第1の暗号文部分c_0を復号化及び/又はカプセル化解除するステップと、ポスト量子暗号アルゴリズムを使用して更に復号化又はカプセル化解除するステップと、を更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0015】
別のオプションとして、受信側デバイスが、QKマテリアルの、暗号文の受信部分c_0との排他的論理和(XOR)に基づいて、ノイズを含むコードワードを生成するステップと、符号化されたメッセージを復元するためにエラー復号アルゴリズムを適用することによって、ノイズを含むコードワードを復号化及び/又はカプセル化解除するステップと、を更に含む、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0016】
別のオプションとして、ポスト暗号アルゴリズムが、ビット反転鍵カプセル化(BIKE)、ポスト量子鍵カプセル化メカニズム(KEM)、暗号アルゴリズムに基づく、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0017】
別のオプションとして、エラー復号アルゴリズムが、中密度パリティチェックコード(MDPC)復号アルゴリズムである、第1の態様、第2の態様、及び/又は第3の態様のいずれかによるコンピュータ実装方法。
【0018】
第4の態様では、本開示は、送信側装置であって、プロセッサユニットと、メモリユニットと、通信インターフェースと、を備え、プロセッサユニットが、メモリユニット及び通信インターフェースに接続されており、プロセッサユニット、メモリユニット、及び通信インターフェースが、第1の態様のいずれかのコンピュータ実装方法を実装するように適合されている、送信側装置を提供する。
【0019】
第5の態様では、本開示は、受信側装置であって、プロセッサユニットと、メモリユニットと、通信インターフェースと、を備え、プロセッサユニットが、メモリユニット及び通信インターフェースに接続されており、プロセッサユニット、メモリユニット、及び通信インターフェースが、第2の態様のいずれかのコンピュータ実装方法を実装するように適合されている、樹信側装置を提供する。
【0020】
第6の態様では、本開示は、システムであって、第4の態様による装置を含む送信側デバイスと、第5の態様による装置を含む受信側デバイスと、を備え、送信側デバイス及び受信側デバイスは、互いに通信し、第3の態様のコンピュータ実装方法を実装するように構成されている、システムを提供する。
【0021】
第7の態様では、本開示は、コンピュータ可読媒体であって、そこに記憶されているコンピュータコード又は命令を含み、コンピュータコード又は命令が、プロセッサユニット上で実行されると、プロセッサユニットに、第1の態様に記載のコンピュータ実装方法を実行させる、コンピュータ可読媒体を提供する。
【0022】
第8の態様では、本開示は、コンピュータ可読媒体であって、そこに記憶されているコンピュータコード又は命令を含み、コンピュータコード又は命令が、プロセッサユニット上で実行されると、プロセッサユニットに、第2の態様に記載のコンピュータ実装方法を実行させる、コンピュータ可読媒体を提供する。
【0023】
第9の態様では、本開示は、コンピュータ可読媒体であって、そこに記憶されているコンピュータコード又は命令を含み、コンピュータコード又は命令が、プロセッサユニット上で実行されると、プロセッサユニットに、第3の態様に記載のコンピュータ実装方法を実行させる、コンピュータ可読媒体を提供する。
【0024】
第10の態様では、本開示は、命令を含むコンピュータプログラム製品であって、命令が、プログラムがコンピュータによって実行されると、コンピュータに、第1の態様に記載の方法を実行させる、コンピュータプログラム製品を提供する。
【0025】
オプションとして、コンピュータプログラム製品は、コンピュータ又はシステムオンチッププロセッサによって実行されてもよい。システムオンチップ(SOC)は、コンピュータ又は他の電子システムのすべての機能を1つのマイクロチップに組み合わせた集積回路である。スマートフォン、ワイヤレスルータ、タブレット、ウェアラブル技術において一般的に見られるSOCは、多くの小型デバイスのますます複雑化するコンピューティング需要を処理する。
【0026】
第11の態様では、本開示は、命令を含むコンピュータプログラム製品であって、命令が、プログラムがコンピュータによって実行されると、コンピュータに、第2の態様に記載の方法を実行させる、コンピュータプログラム製品を提供する。
【0027】
第12の態様では、本開示は、命令を含むコンピュータプログラム製品であって、命令が、プログラムが1つ以上のコンピュータによって実行されると、コンピュータに、第3の態様に記載の方法を実行させる、コンピュータプログラム製品を提供する。
【0028】
本明細書に記載された方法及び/又はプロセスは、例えば、プログラムがコンピュータ上で実行され、コンピュータプログラムがコンピュータ可読媒体上に具現化されている場合に、本明細書に記載された方法のすべてのステップを実行するように適合されたコンピュータプログラムコード手段を含むコンピュータプログラムの形態で、有形記憶媒体上の機械可読形態のソフトウェアによって実行され得る。有形(又は非一時的)記憶媒体の例には、ディスク、サムドライブ、メモリカードなどが含まれ、伝播信号は含まれない。ソフトウェアは、方法のステップを任意の好適な順序で、又は同時に実行され得るように、並列プロセッサ若しくは直列プロセッサ又はシステムオンチップソリューションでの実行に好適であり得る。
【0029】
本出願は、ファームウェア及びソフトウェアが価値を有し、個別に取引可能な商品である可能性があることを認めている。「ダム」又は標準ハードウェアで実行又は制御するソフトウェアを包含して、目的の機能を実行することを目的としている。また、シリコンチップの設計又はユニバーサルプログラマブルチップの構成に使用されるHDL(ハードウェア記述言語)ソフトウェアなどのハードウェアの構成を「記載」又は定義して、目的の機能を実行するソフトウェアも包含することも目的としている。
【0030】
好ましい特徴は、当業者にとって明らかであるように、適切に組み合わせられ得、本発明の任意の態様と組み合わせられ得る。
【0031】
本発明の実施形態は、例として、以下の図面を参照して記載される。
【図面の簡単な説明】
【0032】
図1a】本発明のいくつかの実施形態に従って使用するための例示的なBIKEカプセル化/暗号化プロセスを示す概略図である。
図1b】本発明のいくつかの実施形態による、図1aで使用するための別の例示的なBIKEカプセル化解除/復号化プロセスを示す概略図である。
図2a】本発明のいくつかの実施形態による例示的なカプセル化/暗号化及びカプセル化解除/復号化ハイブリッドプロセスを示す流れ図である。
図2b】本発明のいくつかの実施形態による例示的なカプセル化/暗号化及びカプセル化解除/復号化ハイブリッドプロセスを示す流れ図である。
図2c】本発明のいくつかの実施形態による、更なる例示的なカプセル化/暗号化及びカプセル化解除/復号ハイブリッドプロセスを示す更なる概略図である。
図2d】本発明のいくつかの実施形態による、更なる例示的なカプセル化/暗号化及びカプセル化解除/復号ハイブリッドプロセスを示す更なる概略図である。
図3】本発明のいくつかの実施形態による例示的なコンピューティングシステム、デバイス、又は装置を示す概略図である。
【0033】
共通の参照符号は、同様の特徴を示すために図面全体を通して使用される。
【発明を実施するための形態】
【0034】
本発明の実施形態は、例としてのみ以下に記載される。これらの例は、本発明を達成することができる唯一の方法ではないが、出願人にとって現在既知の本発明を実施する最良の方法を表す。本明細書は、例の機能と、例を構築及び操作するための一連のステップを説明する。しかしながら、同じ又は同等の機能及び配列は、異なる例によって達成され得る。
【0035】
本開示は、ポスト量子暗号アルゴリズム及び量子鍵配送(QKD)のコンポーネントの使用の組合せに基づく量子鍵配送マテリアル及びポスト量子暗号アルゴリズムの使用に基づくハイブリッドメカニズム又はアルゴリズムを使用して、結果として得られるアルゴリズムがこれらのコンポーネントの強度の合計によって決定されるセキュリティを提供することを可能にする、送信側デバイスと受信側デバイスとの間の安全な通信のための方法、装置及びシステムを提供する。ポスト量子暗号アルゴリズム及びQKDコンポーネントを含むハイブリッドメカニズム又はアルゴリズムは、限定されるものではないが、例えば、ハイブリッドメカニズム/アルゴリズムのQKDコンポーネントへの攻撃が成功しても、ポスト量子暗号アルゴリズムコンポーネント(例えば、少なくとも2つのパーティ間で交換及び使用される暗号鍵)をも侵害することはできないために共有鍵を復元するには不十分であるように、ハイブリッドメカニズム/アルゴリズムのポスト量子暗号アルゴリズムコンポーネントへの攻撃が成功しても、QKDコンポーネントをも侵害することはできないために共有鍵を復元するには不十分であるように、認証目的で最初の共有秘密マテリアルを保持する少なくとも2つのパーティが、安全でないパブリックチャネルを介して追加の共有マテリアルに同意することを可能にするように適合されている。ハイブリッドメカニズム/アルゴリズム、装置、方法及び/又はシステムは、QKDをビット反転鍵カプセル化(BIKE)ポスト量子鍵カプセル化(KEM)暗号アルゴリズムへの修正と組み合わせるように構成されている。
【0036】
例えば、ハイブリッドメカニズム/アルゴリズム、装置、方法、及び/又はシステムが、送信側デバイスと受信側デバイスとの間で安全な通信を実行するために提供される。これは、送信側デバイスによって、ポスト量子暗号アルゴリズム、及び受信側デバイスによる量子鍵(QK)配送から導出される量子鍵(QK)マテリアルを使用してメッセージをカプセル化又は暗号化することを含む。送信側デバイスによって、カプセル化又は暗号化されたメッセージにノイズが追加される。送信側デバイスは、ノイズを含むカプセル化/暗号化されたメッセージを受信側デバイスに送信する。送信側デバイスからノイズを含むカプセル化又は暗号化されたメッセージを受信すると、受信側デバイスは、送信側デバイスによって使用されている対応するQKを使用して受信メッセージをカプセル化解除又は復号化する。受信側デバイスは、送信側によって使用されている対応するポスト量子暗号アルゴリズムを使用して、QKカプセル化解除/復号化メッセージをカプセル化解除又は復号化し、受信側デバイスは、送信側によって送信されているメッセージを出力又は使用する。ポスト量子暗号アルゴリズムはBIKEアルゴリズムであり、これは、中密度パリティチェックコード(MDPC)復号アルゴリズムを使用し得る。送信側及び受信側は、それぞれ送信側デバイス及び受信側デバイスであってもよい。送信側デバイス及び/又は受信側デバイスは各々、互いに通信することができ、QKマテリアルが送信側及び受信側に分かるように、量子鍵マテリアルを互いに交換するためのポスト量子暗号及び量子鍵配送を実行することができる任意のデバイス又は通信デバイスであってもよい。本明細書に記載のハイブリッドメカニズム/アルゴリズム、装置、方法及び/又はシステムは、限定されるものではないが、例えば、受信側及び送信側/送信機との間の通信、並びに、クラウドサービス及び/又はトランザクションなどを保護するために使用することができる。
【0037】
ポスト量子アルゴリズムは従来の暗号化アルゴリズムに対する代替手段を提供するが、その基盤に対するまだ発見されていない数学的攻撃の可能性に悩まされている。一方、量子鍵配送は、最初の量の共有秘密マテリアルを所有する2つのパーティ間で無条件に安全な鍵の合意を提供するが、物理的な実装に依存しているため、誤動作又は物理的な攻撃の可能性が残る。
【0038】
本明細書で説明するハイブリッドメカニズム又はアルゴリズムは、結果として得られるハイブリッドアルゴリズムがコンポーネントの強度の合計によって決定されるセキュリティを提供できるようにするこれら2つの技術の組み合わせを提供する。実際には、本発明は、ハイブリッドアルゴリズムのQKDコンポーネントへの攻撃が成功しても、ポスト量子暗号アルゴリズムコンポーネントをも侵害することはできないために共有鍵を復元するには不十分であるように、また、ハイブリッドアルゴリズムのポスト量子アルゴリズムコンポーネントへの攻撃が成功しても、QKDコンポーネントをも侵害することはできないために共有鍵を復元するには不十分であるように、認証目的で最初の共有秘密マテリアル(例えば、量子鍵配送マテリアル)を保持する2つのパーティが、安全でないパブリックチャネルを介して追加の共有マテリアルに同意することを可能にする。特に、ポスト量子アルゴリズムコンポーネント及びQKDコンポーネントの各々の強度が、他方の脆弱性を補償して、より堅牢で安全なシステムを提供する。
【0039】
ハイブリッドアルゴリズム/メカニズムの例は、単なる例として説明されており、QKDとBIKE(ビット反転鍵カプセル化)ポスト量子鍵カプセル化メカニズム(KEM)アルゴリズムとの組み合わせに限定されない。
【0040】
図1aは、本発明のいくつかの実施形態で使用する鍵を符号化するためのBIKEカプセル化(暗号化)アルゴリズム100の例を示す概略図である。一般に、BIKEアルゴリズムは、秘密鍵、又はランダムに生成されたビットのメッセージMを符号化する送信側(例えばアリス)に依拠し、受信側(例えばボブ)に送信する前に、符号化された鍵のいくつかのランダムに選択されたビット位置を破壊する。注:BIKE「ファミリー」のアルゴリズムは、単一のパラメータ化された変形例を含み、以前のバージョンのBIKEには追加の変形例が含まれていた。受信側は、破壊されたコードワードを効率的に復号し、符号化秘密鍵を復元できるようにする部外秘情報(例えば秘密鍵)を所有している。BIKEカプセル化(暗号化)アルゴリズム100は、以下のステップに基づいている。ステップ102では、ボブ(受信側)が秘密(p,q)を選択し、p/qモジュロ商多項式に基づいて公開鍵を巡回符号として公開する。ステップ104において、アリス(送信側)が、この例では、ランダムソース105を使用して、長さL(例えば、L=256)のランダムメッセージMによって表される暗号鍵を生成する。ステップ106において、アリスは、ボブの公開鍵を使用してメッセージMを符号化し、c_0及びc_1から成る暗号文を生成するためにノイズ(例えばE_0)が追加される(例えば、排他的論理和(XOR)演算、E_0 XOR E1*hを使用して追加される)コードワード(例えばE1*h)を生成する。c_0は、反転又は破壊された約sqrt(n)ビットを特徴とする「ノイズを含む」コードワードを表す。暗号文c_0及びc_1がボブに送信される。
【0041】
図1bは、本発明のいくつかの実施形態で使用するために、図1aのアリスから送信されたメッセージM又は鍵を復号するためのBIKEカプセル化解除アルゴリズム110の例を示す概略図である。BIKEカプセル化解除アルゴリズム110は、以下のステップを含む:ステップ112において、ボブはアリスから暗号文c_0及びc_1を受信する。ステップ114において、ボブは、自分の秘密鍵(図11aのステップ102で公開された、公開されている公開鍵に対応する)を使用して、中密度パリティチェック(MDPC)復号アルゴリズムを利用してノイズを含むコードワードc_0をアリスによって選択されたメッセージMに分解する。ボブは、限定されるものではないが、例えば、ボブとアリスの間及びその逆の通信を暗号化するために、メッセージMを使用することができる。
【0042】
従来のQKDは以下のステップを含む:1)アリス及びボブは、アリス及びボブのみが知っている一定量の秘密鍵マテリアルを事前に保有する、2)アリス及びボブは、プロセス認証に自身の既存の共有鍵マテリアルを使用し、自身が保持する共有鍵マテリアルの量を徐々に拡大することを可能にするいくつのQKD「ラウンド」に関与する、3)余剰の共有鍵マテリアル(将来のQKDラウンドを維持するために必要な量を超える)が、従来の通信の安全を確保するために利用可能にされる。
【0043】
BIKEカプセル化(暗号化)アルゴリズム100及びBIKEカプセル化解除(復号化)は、アリスからボブへの暗号鍵の送信に関連して説明されているが、これは単なる例であり、本発明はそのように限定されない。当業者には、アリスによって生成されるランダムメッセージMが代わりに、アリスがボブに送信することを所望するメッセージMであってもよく、メッセージMが生成された暗号化鍵によって暗号化されていることが諒解されよう。例えば、ステップ104において、ランダムソースが、アリスがメッセージMを生成するために送信することを所望する情報と排他的論理和をとることのできる暗号鍵を生成することができる。したがって、アリスは、コードワードC_0及びC_1を使用して、図1aのメッセージMを表す暗号文を送信する。ボブはその後、図1bにおいてこれを復号化/カプセル化解除する。
【0044】
図2aは、本発明のいくつかの実施形態による、送信側と受信側との間の例示的なハイブリッドカプセル化(暗号化)プロセス200を示す概略図である。図2bは、本発明のいくつかの実施形態による、図2aのハイブリッドカプセル化(暗号化)プロセス200とともに使用するための例示的なハイブリッドカプセル化解除(復号化)プロセス210の例を示す概略図である。ハイブリッドカプセル化プロセス200は、QKDマテリアル又は量子鍵(QK)マテリアルと、例えば、図1a及び1bを参照して説明したBIKEアルゴリズム、それらの組み合わせ、それらへの修正など及び/又は用途が必要とするものといった、ポスト量子暗号コンポーネントとの組み合わせを使用する。送信側及び受信側は、それぞれ送信側デバイス及び受信側デバイスであってもよい。送信側デバイス及び/又は受信側デバイスは各々、互いに通信することができ、量子鍵マテリアルを互いに交換するためのポスト量子暗号及び量子鍵配送を実行することができる任意のデバイス又は通信デバイスであってもよい。
【0045】
ハイブリッドカプセル化(暗号化)プロセス200は、以下のステップを含む:ステップ202において、送信側が、BIKEアルゴリズムを使用してメッセージを暗号化することができる。ステップ204において、送信側が、量子鍵(QK)マテリアル(例えば、QKワンタイムパッド(OTP)マテリアル)を使用して更に暗号化することができる。ステップ206において、送信側が、BIKE及びQK暗号化されたメッセージに雑音を追加する。ノイズを追加するプロセスは、図1aに関して上述したように実行することができる。BIKE及びQK暗号化されたメッセージは、送信側から受信側に送信することができる。図2bを参照すると、送信側からBIKE及びQK暗号化されたメッセージを受信すると、受信側は以下のステップに基づいてハイブリッドカプセル化解除プロセス210を実行することができる:ステップ212において、量子鍵(QK)マテリアル(例えば、QKワンタイムパッド(OTP)マテリアル)を使用して復号化する、ステップ214において、ノイズを除去し、BIKEアルゴリズムを使用して復号化する。
【0046】
例えば、送信側と受信側によって使用されるQKワンタイムパッド(OTP)マテリアルは、QKDプロトコルなどを使用して送信側と受信側との間で以前に共有されていてもよい。したがって、基本的に、QKマテリアルは送信側及び受信側に知られているとみなすことができる。
【0047】
したがって、QKマテリアルを使用して復号化する前にノイズを除去する代わりに、ハイブリッドカプセル化/カプセル化解除(暗号化/復号化)プロセス200及び210は、最初にQKDマテリアルを使用して復号化し、次にBIKEアルゴリズムを使用してノイズを除去する。したがって、ノイズ除去手順は逆になる。これは、BIKEの性質、及び、QKDソースのマテリアルを使用したワンタイムパッド暗号化との互換性によって可能になる。セキュリティ面では、これによって、攻撃者がBIKE暗号化(カプセル化)を破ることができたとしても、QKDワンタイムパッド暗号化を最初に破らなければ、この能力を(部分的な意味でも)活用することはできないという利点がもたらされる。
【0048】
図2c及び2dは、ハイブリッドカプセル化/カプセル化解除(暗号化/復号化)プロセス220及び230の更なる例を示す更なる概略図であり、本発明のいくつかの実施形態による図2a及び図2bを参照して説明したハイブリッドカプセル化/カプセル化解除(暗号化/復号化)プロセス200及び210を更に修正したものである。図2cを参照すると、ハイブリッドカプセル化(暗号化)アルゴリズム220は、以下のステップを含む:ステップ222において、ボブ(受信側)が秘密(p,q)を選択し、p/qモジュロ商多項式に基づいて公開鍵を巡回符号として公開する。ステップ224において、アリス(送信側)が、この例では、ランダムソース225を使用して、長さL(例えば、L=256)のランダムメッセージMによって表される暗号鍵を生成する。ステップ226において、アリスが、ボブの公開鍵(例えばE1*h)を使用してメッセージMを符号化し、また量子鍵マテリアル227を使用してコードワード(例えばE1*h)を符号化する。アリスは、量子鍵マテリアル227(ボブだけが知っている)を取得し、この量子鍵マテリアル227とコードワード(例えば、E1*h)の排他的論理和(XOR)を計算して、QKコードワード(例えば、QKコードワード=[QKD_OTP XOR (E1*h)])。次に、QKコードワードから、アリスはc_0(例えば、QKコードワードXOR(E_0(ノイズ))及びc_1から成る暗号文を生成する。c_0は、反転又は破壊された約sqrt(n)ビットを特徴とする「ノイズを含む」コードワードを表する(例えば、E_0(ノイズ))。オプションとして、アリスは、結果得られる値の約sqrt(n)ビットを破壊するか又は反転させ、その結果をノンスとともにボブに送信することができる。ステップ228において、アリスがc_0及びc_1をボブ(受信側)に送信する。
【0049】
図2dを参照すると、図2cのハイブリッドカプセル化(暗号化)プロセス220の最後に送信されたアリスからのc_0及びc_1暗号文を受信する際に、受信側(例えばボブ)によってハイブリッドカプセル化解除(復号化)プロセス230が使用される。ハイブリッドカプセル化解除(復号化)アルゴリズム230は、以下のステップを含む:ステップ232において、ボブはアリスから暗号文(例えばc_0及びc_1)を受信する。ステップ234において、アリスから暗号文c_0及びc_1を受信すると、ボブは、最初にQKマテリアルを使用して暗号文c_0を復号化又はカプセル化解除し、その後、ポスト量子暗号アルゴリズム(例えば、BIKEカプセル化解除/復号化)を使用して復号化又はカプセル化解除する。ステップ234aにおいて、ボブ(例えば、受信側)は、量子鍵(QK)マテリアル227(例えば、QKD OTP)(アリスによっても知られている)を使用し、これとノイズを含むコードワードとの排他的論理和をとって(例えば、c_0 XOR QKD OTP)、QKコードワードを、ノイズを含むコードワードに復号化する。ステップ234bにおいて、このノイズを含むコードワードが、MDPC復号アルゴリズムを適用することによって復号化/カプセル化解除されて、符号化されたメッセージM(又は秘密)が復元される。これは、ステップ236において出力される。
【0050】
図2c及び2dを参照して説明したようなハイブリッドカプセル化(暗号化)アルゴリズム220及びハイブリッドカプセル化解除(復号化)アルゴリズム230は、アリスからボブへの暗号鍵(又はランダムメッセージM)の送信に関連して説明されているが、これは単なる例であり、本発明はそのように限定されない。当業者には、アリスによって生成されるランダムメッセージMが代わりに、アリスがボブに送信することを所望するメッセージMであってもよく、メッセージMが生成された暗号化鍵によって暗号化されていることが諒解されよう。例えば、ステップ224において、ランダムソースが、アリスがメッセージMを生成するために送信することを所望する情報と排他的論理和をとることのできる暗号鍵を生成することができる。したがって、アリスは、コードワードc_0及びc_1を使用して、図2cのメッセージMを表す暗号文を送信する。ボブはその後、図2dにおいてこれを復号化/カプセル化解除する。
【0051】
更に、量子鍵(QK)マテリアルは、ハッシュ関数が解読不能であり、ノンスが十分なサイズであることを条件として、再利用することができる。ノンスを使用する場合、セキュリティ上の目的又は1つ以上の使用事例のために、それらは、決して複数回使用してはならず、ランダムで独立していなければならない。ただし、この制限は、使用事例及び/又は適用の要求に応じて緩和される場合がある。
【0052】
本発明のいくつかの実施形態に従って、図2a~図2cのハイブリッドカプセル化及び/又はカプセル化解除プロセス200、210、220、及び/又は230に、更なる修正及び/又は代替アプリケーションが適用されてもよい。量子鍵(QK)マテリアル(又は量子鍵)をポスト量子暗号アルゴリズム暗号文(例えばBIKE)とともに使用及び/又は組み合わせる種々の方法が存在し得る。例えば、第1の使用事例は、直接使用されるQKDソースのワンタイムパッド鍵を含んでもよい。これは非常に安全であるが、実際には不足する場合があるワンタイムパッドマテリアルの消費につながるという欠点を有する。同様に、ポスト暗号アルゴリズム(例えば、BIKE)は、暗号化ごとに、そのようなワンタイムパッドマテリアルを、限定されるものではないが、例えば、25,000ビット程度消費する)。代替又は第2の使用事例では、暗号的に安全なマスク生成関数が、ステップ226においてノンス(1回だけ使用される数)とともに利用されてもよく、結果、ワンタイムパッド鍵がノンス、及び、ステップ224の結果との排他的論理和をとるために必要な長さのビットのシーケンスを生成するために使用されるマスク生成関数と連結される。その後、ノンスは、ステップ228において結果として得られる暗号文に付随し、受信側のボブがステップ234においてマスク値を再作成することを可能にする。この最適化により、暗号的に安全なマスク生成機能のセキュリティに依拠することと引き替えに、QKD導出ワンタイムパッドマテリアルを安全に再利用できる。
【0053】
QKDを介して鍵を確立するプロセス中に、自然なプロセス及び潜在的な盗聴の試みによって、一定レベルのエラーが発生することが予想される。通常の使用では、これらのエラーは特定され、削除される。これらのエラーは、BIKEによって生成されたコードワードの約sqrt(n)ビットのビット反転破壊への入力として代わりに使用され得、外部プロセスからこのランダム性をソーシングする必要がなくなる可能性がある。
【0054】
BIKEアルゴリズムでは、第2の暗号文コンポーネントはc_1で示され、SHA384ハッシュ関数が安全であると仮定すると、必ずしもハイブリッドカプセル化/カプセル化解除プロセス200、210、220、及び/又は240においてワンタイムパッドマテリアルを使用する保護を必要とするとは限らないことに留意されたい。オプションとして、QKD導出ワンタイムパッドマテリアルを使用したc_1値の追加の保護は、ワンタイムパッド(OTP)消費の増加を犠牲にして、セキュリティを更に強化するのに役立つ可能性がある。
【0055】
図3aは、本発明の態様によるハイブリッドカプセル化/カプセル化解除メカニズム/プロセスを実装及び/又は実行する際に使用するための例示的なコンピューティングシステム300の概略図である。コンピューティングシステム300を使用して、システム、装置、方法、プロセス、デバイス、並びに/又は図1a~図2dを参照して記載される使用事例、本明細書に記載され、かつ/又は用途に応じるなどしたそれらの組み合わせ、それらの修正態様、のうちの1つ以上の態様を実装し得る。コンピューティングシステム300は、コンピューティングデバイス又は装置302(例えば、送信機、受信機、送信側デバイス又は受信側デバイスなど)を含む。コンピューティングデバイス又は装置は、1つ以上のプロセッサユニット304、メモリユニット306、及び通信インターフェース308を含む。コンピューティングデバイス又は装置はまた、限定されるものではないが、例えば、第1の従来の通信インターフェース308a及び/又は第2の量子通信インターフェース308b、ランダムシンボル/乱数生成器310を含むことができる。例えば、第1の従来の通信インターフェース308aは、従来の通信ネットワークを介して通信するように適合されてもよく、第2の量子通信インターフェース308bは、量子通信チャネルを介して通信するように適合されてもよい。これらは、ポスト量子暗号、鍵交換、及び/又はQKDプロセスなどを実行するために使用され得る。1つ以上のプロセッサユニット304は、メモリユニット306、通信インターフェース308(例えば、第1の通信インターフェース308a及び第2の量子通信インターフェース308b)、及び/又はランダムシンボル/乱数生成器310に接続されている。通信インターフェース308は、コンピューティングデバイス又は装置302を、1つ以上の他のコンピューティングデバイス及び/又は装置(例えば、中間デバイス、第1のデバイス及び/又は第2のデバイス)(図示せず)と接続することができる。メモリユニット306は、例として、限定されるものではないが、コンピューティングデバイス302を動作させるためのオペレーティングシステム306a、及び1つ以上のハイブリッドカプセル化/カプセル化解除(暗号化/復号化)メカニズム/システム及び/又はプロセス、本発明によるハイブリッドカプセル化/カプセル化解除(暗号化/復号化)プロセス/装置を実行するQKDプロトコルと関連付けられた機能性、及び/又は1つ以上の機能若しくは機能性、図1a~図2dの少なくともいずれか1つを参照して本明細書に記載される通りなどのそれらの組み合わせ、それらの修正態様を実装することと関連付けられたコンピュータプログラム命令、実行可能なコード、コード及び/又はコンポーネントを記憶するためのデータストア306bなどの、1つ以上のプログラム命令、コード、又はコンポーネントを記憶し得る。
【0056】
上述した実施形態では、サーバは、単一のサーバ又はサーバのネットワークを含むことができる。いくつかの例では、サーバの機能は、サーバの世界的な分散ネットワークなどの地理的領域全体に分散されたサーバのネットワークによって提供されてもよく、ユーザは、ユーザロケーションに基づいてサーバのネットワークのうちの1つの適切なサーバに接続されてもよい。
【0057】
上述した説明は、明確にするために単一のユーザを参照して本発明の実施形態を記載している。実際には、システムは、複数のユーザによって共有されてもよく、非常に多数のユーザによって同時に共有される可能性があることが理解されよう。
【0058】
上述した実施形態は、完全に自動である。いくつかの例では、システムのユーザ又はオペレータは、実行される方法のいくつかのステップを手作業で指示することができる。
【0059】
本発明の説明されている実施形態では、システムは、任意の形態のコンピューティングデバイス及び/又は電子デバイスとして実装されることができる。そのようなデバイスは、ルーティング情報を収集及び記録するためにデバイスの動作を制御するコンピュータ実行可能命令を処理するためのマイクロプロセッサ、コントローラ又は任意の他の好適なタイプのプロセッサであり得る1つ以上のプロセッサを含むことができる。いくつかの例では、例えば、システムオンチップアーキテクチャが使用される場合、プロセッサは、方法の一部をハードウェア(ソフトウェア又はファームウェアではなく)で実装する1つ以上の固定機能ブロック(アクセラレータとも称される)を含んでもよい。オペレーティングシステム又は任意の他の好適なプラットフォームソフトウェアを含むプラットフォームソフトウェアは、アプリケーションソフトウェアがデバイス上で実行されることを可能にするために、コンピューティングベースのデバイスに提供されてもよい。
【0060】
本明細書で説明される様々な機能は、ハードウェア、ソフトウェア、又はそれらの任意の組み合わせで実装されてもよい。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つ以上の命令又はコードに記憶又は送信されることができる。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するための任意の方法又は技術で実装される揮発性又は不揮発性、取り外し可能又は取り外し不可能媒体を含むことができる。コンピュータ可読記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な記憶媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリデバイス、CD-ROM若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又は命令若しくはデータ構造の形態で所望のプログラムコードを担持又は記憶するために使用されることができ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。本明細書で使用されるディスク(disc)及びディスク(disk)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、及びブルーレイディスク(BD)を含む。更に、伝播された信号は、コンピュータ可読記憶媒体の範囲内には含まれない。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体も含む。例えば、接続は、通信媒体とすることができる。例えば、ソフトウェアがウェブサイト、サーバ、又は他のリモートソースから伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、ラジオ、マイクロ波などの無線技術を使用することが、通信媒体の定義に含まれる。上記の組み合わせもコンピュータ可読媒体の範囲内に含まれるべきである。
【0061】
代替的に、又は追加して、本明細書で説明される機能は、少なくとも部分的に、1つ以上のハードウェア論理コンポーネントによって実行されることができる。例えば、限定されるものではないが、使用され得るハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途プログラム向け集積回路(ASIC)、特定用途プログラム向け標準製品(ASSP)、システムオンチップ(SOC)、複合プログラマブルロジックデバイス(CPLD)などを含み得る。
【0062】
単一のシステムとして示されているが、コンピューティングデバイスは、分散システムとすることができることを理解されたい。したがって、例えば、いくつかのデバイスは、ネットワーク接続を介して通信してもよく、コンピューティングデバイスによって実行されるものとして記載されているタスクを集合的に実行してもよい。
【0063】
ローカルデバイスとして例示されているが、コンピューティングデバイスは、リモートに配置され、ネットワーク又は他の通信リンクを介して(例えば、通信インターフェースを使用して)アクセスされることができることが認識されよう。
【0064】
「コンピュータ」という用語は、本明細書では、命令を実行することができるような処理能力を備えた任意のデバイスを指すために使用される。当業者は、そのような処理能力が多くの異なるデバイスに組み込まれ、したがって「コンピュータ」という用語がPC、サーバ、携帯電話、携帯情報端末、及び他の多くのデバイスを含むことを理解するであろう。
【0065】
当業者は、プログラム命令を記憶するために利用されるストレージデバイスがネットワークにわたって分散されることができることを認識するであろう。例えば、リモートコンピュータは、ソフトウェアとして説明されたプロセスの例を記憶することができる。ローカル又はターミナルコンピュータは、リモートコンピュータにアクセスし、プログラムを実行するためにソフトウェアの一部又はすべてをダウンロードすることができる。代替的に、ローカルコンピュータは、必要に応じてソフトウェアの一部をダウンロードするか、ローカル端末でいくつかのソフトウェア命令を実行し、リモートコンピュータ(又はコンピュータネットワーク)でいくつかを実行することができる。当業者はまた、当業者に知られている従来の技術を利用することにより、ソフトウェア命令のすべて又は一部分がDSP、プログラマブルロジックアレイなどの専用回路によって実行されてもよいことを認識するであろう。
【0066】
上述の利益及び利点は、一実施形態に関係する場合もあれば、いくつかの実施形態に関係する場合もあることが理解されよう。実施形態は、述べられた課題のいずれか又はすべてを解決するもの、又は述べられた利益及び利点のいずれか又はすべてを有するものに限定されるものではない。変形例は、本発明の範囲に含まれるとみなされるべきである。
【0067】
「an」という項目への任意の言及は、それらの項目の1つ以上を指す。「含む/備える(comprising)」という用語は、本明細書では、識別された方法ステップ又は要素を含むことを意味するために使用されるが、そのようなステップ又は要素は、排他的リストを含まず、方法又は装置は、追加のステップ又は要素を含むことができる。
【0068】
本明細書で使用される場合、「コンポーネント」及び「システム」という用語は、プロセッサによって実行されたときに特定の機能を実行させるコンピュータ実行可能命令を有して構成されているコンピュータ可読データストレージを包含するものとする。コンピュータ実行可能命令は、ルーチン、関数などを含むことができる。また、コンポーネント又はシステムは、単一のデバイスにローカライズすることも、いくつかのデバイスに分散させることもできることを理解されたい。
【0069】
更に、本明細書で使用される場合、「例示的」という用語は、「何らかの例証又は例示としての役割を果たす」ことを意味することを意図している。
【0070】
更に、「含む(includes)」という用語が詳細な説明又は特許請求の範囲のいずれかで使用されている限り、そのような用語は、「含む/備える(comprising)」が請求項の中で移行語として用いられた場合に解釈される「含む/備える(comprising)」という用語と同様の様式で包含的であることが意図されている。
【0071】
図は、例示的な方法を示している。これらの方法は、特定の配列で実行される一連の動作として示され、記載されているが、これらの方法は、配列の順序によって限定されないことを理解及び認識されたい。例えば、いくつかの動作は、本明細書に記載されているものとは異なる順序で発生する可能性がある。追加して、ある動作は、別の動作と同時に発生する可能性がある。更に、いくつかの例では、本明細書で説明される方法を実施するためにすべての動作が必要とされるわけではない場合がある。
【0072】
更に、本明細書に記載される動作は、1つ以上のプロセッサによって実装され、かつ/又は1つ以上のコンピュータ可読媒体に記憶されることができるコンピュータ実行可能命令を含むことができる。コンピュータ実行可能命令は、ルーチン、サブルーチン、プログラム、実行スレッドなどを含むことができる。更に、方法の動作の結果は、コンピュータ可読媒体に記憶され、表示デバイスに表示され、かつ/又は同様のものとすることができる。
【0073】
本明細書に記載される方法のステップの順序は例示的なものであるが、これらのステップは、任意の好適な順序で、又は必要に応じて同時に実行されてもよい。追加的に、本明細書に記載される主題の範囲から逸脱することなく、ステップを追加又は置換することができ、又は個々のステップを、これらの方法のいずれかから削除することができる。上述した例のいずれかの態様を、記載された他の例のいずれかの態様と組み合わせて、求められる効果を失うことなく、更なる例を形成することができる。
【0074】
好ましい実施形態の上記の説明は、例としてのみ与えられており、当業者によって様々な変更が行われることができることが理解されるであろう。上記で説明したものは、1つ以上の実施形態の例を含む。もちろん、前述の態様を記載する目的で、上記のデバイス又は方法の考えられるすべての変更及び代替を記載することは不可能であるが、当業者は、様々な態様の多くの更なる変更及び置換が可能であることを認識することができる。したがって、記載される態様は、添付の特許請求の範囲の範囲内に含まれるそのようなすべての変更、修正、及び変形を包含することが意図されている。
図1a
図1b
図2a
図2b
図2c
図2d
図3
【国際調査報告】