(57)【要約】      （修正有）【課題】向上した通信セキュリティーを備えるシステムを提供する。【解決手段】システムは、ネットワークを通じて通信するよう構成された通信装置と、一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでいる、一つまたは複数の非一時的なコンピュータ可読媒体とを含む。動作は、ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する。暗号学的処理は確率的な丸めを含む。動作はまた、通信装置を介して、一つまたは複数のパケットを使って、ネットワークを通じてコンピューティング装置と通信する。【選択図】図３
2019020717.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて通信するよう構成された通信装置と；
一つまたは複数のプロセッサと；
一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記コンピュータ可読媒体は、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでおり、前記動作は：
前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信する段階とを含む、
システム。
【請求項２】
前記暗号学的処理が：
前記コンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を当該システムから前記コンピューティング装置に送信する段階と；
前記コンピューティング装置から当該システムにおいて第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
請求項１記載のシステム。
【請求項３】
前記暗号学的処理が：
前記コンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のパケットを暗号化して、データの暗号化された一つまたは複数のパケットにする段階と；
前記暗号化された一つまたは複数のパケットを前記コンピューティング装置に送信する段階とを含む、
請求項１記載のシステム。
【請求項４】
前記確率的丸めが、確率的な境界消去のある丸めを含む、請求項１記載のシステム。
【請求項５】
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、請求項１記載のシステム。
【請求項６】
確率的な境界消去のある前記偽の丸めが：
前記暗号学的処理に関連する値が丸め境界から閾値量以内であるかどうかを判定し；
前記値が丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
請求項５記載のシステム。
【請求項７】
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
方法。
【請求項８】
前記暗号学的処理が：
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と；
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
請求項７記載の方法。
【請求項９】
前記第一のコンピューティング装置によって、前記第二のコンピューティング装置が制約されたコンテンツにアクセスする要求を受信する段階であって、前記要求は前記共有される鍵を含む、段階と；
前記要求に基づいて、前記制約されるコンテンツへのアクセスを、前記第二のコンピューティング装置に承認する段階とを含む、
請求項８記載の方法。
【請求項１０】
前記第二の公開鍵成分の少なくとも一つの丸められた要素をかさ上げする段階をさらに含む、請求項８記載の方法。
【請求項１１】
前記第二のコンピューティング装置から少なくとも一つの相互丸めビットを受信する段階をさらに含み、前記共有される鍵の導出がさらに、前記少なくとも一つの相互丸めビットに基づく、請求項８記載の方法。
【請求項１２】
前記暗号学的処理が：
前記第二のコンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と；
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
請求項７記載の方法。
【請求項１３】
前記一つまたは複数のデータ・パケットを暗号化することが：
前記公開鍵に関連する第一の行列の各要素に対して確率的丸めを実行して、第一のデータを生成し；
前記公開鍵に関連する第二の行列の各要素に対して確率的丸めを実行し；
前記パケットのメッセージを、前記確率的丸めを実行された第二の行列に加えて、第二のデータを生成し；
前記第一のデータおよび前記第二のデータの組み合わせを前記暗号化されたパケットとして出力することを含む、
請求項１２記載の方法。
【請求項１４】
前記確率的丸めが、確率的な境界消去のある丸めを含む、請求項７記載の方法。
【請求項１５】
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、請求項７記載の方法。
【請求項１６】
確率的な境界消去のある前記偽の丸めが：
前記暗号学的処理に関連するエントリーが丸め境界から閾値量以内であるかどうかを判定し；
前記エントリーが丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
請求項１５記載の方法。
【請求項１７】
確率的な境界消去のある前記偽の丸めがさらに、前記エントリーが前記丸め境界から前記閾値量より外側であることに応答して、そのエントリーを丸めることを含む、請求項１６記載の方法。
【請求項１８】
一つまたは複数のプロセッサによって実行されることに応答して動作を実行する命令を含んでいる非一時的なコンピュータ可読媒体であって、前記動作は：
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
コンピュータ可読媒体。
【請求項１９】
前記暗号学的処理が：
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と；
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
請求項１８記載のコンピュータ可読媒体。
【請求項２０】
前記暗号学的処理が：
前記第二のコンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と；
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
請求項１８記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示で論じられる実施形態は、向上した通信セキュリティーに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークの普及により、コンピュータ・ネットワークを通じて通信される情報にアクセスしようとする多様な悪意ある行為者も登場している。コンピュータ・ネットワークを通じた安全な通信を提供するために努力が払われてきた。
【０００３】
本開示で請求される主題は、何らかの欠点を解決するまたは上記のような環境でのみ動作する実施形態に限定されるものではない。むしろ、この背景は、本開示で記載されるいくつかの実施形態が実施されうる一つの例示的な技術領域を示すために与えられているだけである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Andrej  Bogdanov  et  al.、"On  the  Hardness  of  Learning  With  Rounding  Over  Small  Modulus"、TCC  2016-A:  14th  Theory  of  Cryptography  Conference,  Part  I,  Vol.  9562  of  Lecture  Notes  in  Computer  Science,  pp.209-224,  Tel  Aviv,  Israel,  Jan,  10-13,  2016,  Springer
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示の一つまたは複数の実施形態は、ネットワークを通じて通信するよう構成された通信装置と、一つまたは複数のプロセッサと、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでいる、一つまたは複数の非一時的なコンピュータ可読媒体とを含むシステムを含んでいてもよい。前記動作は、前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行することを含んでいてもよい。前記暗号学的処理は確率的な丸めを含む。前記動作はまた、前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信することをも含んでいてもよい。
【０００６】
実施形態の目的および利点は、少なくとも請求項において具体的に指摘される要素、特徴および組み合わせによって実現され、達成されるであろう。
【０００７】
上記の一般的な記述および下記の詳細な説明はいずれも単に例であり、説明するものであり、特許請求される発明を制約するものではないことは理解される。
【図面の簡単な説明】
【０００８】
例示的実施形態が、付属の図面を使うことを通じて、追加的な具体性および詳細さをもって記述され、説明される。
【図１】向上した通信セキュリティーに関係する例示的環境を示す図である。
【図２】Ａは確率的丸めの例示的方法のフローチャートであり、Ｂは確率的丸めのもう一つの例示的方法のフローチャートである。
【図３】通信セキュリティーを向上させるために確率的丸めを利用する例示的方法のフローチャートである。
【図４】確率的丸めを利用してパケットを暗号化する例示的方法のフローチャートである。
【図５Ａ】通信セキュリティーを向上させるために確率的丸めを利用するもう一つの例示的方法のフローチャートの前半である。
【図５Ｂ】通信セキュリティーを向上させるために確率的丸めを利用するもう一つの例示的方法のフローチャートの後半である。
【図６】例示的なコンピューティング・システムを示す図である。
【発明を実施するための形態】
【０００９】
本開示は向上した通信セキュリティーに関する。現在のセキュリティー施策を考える仕方を変えてしまいうる量子コンピュータが開発中である。たとえば、現在のコンピュータでは十分でありうる典型的なセキュリティー施策は、量子コンピュータを使った攻撃には弱いことがありうる。これは量子コンピュータが利用可能になったときのセキュリティー・プロトコルにとっての問題を呈するばかりでなく、前方安全性（forward  security）の問題も呈する。たとえば、敵が今は解読可能でないかもしれない暗号化データを捕捉することがあるが、量子コンピュータが利用可能になったとき、以前に捕捉されたデータが量子コンピュータを使って解読されることがありうる。このように、通信が量子コンピュータからの攻撃に対してでも安全であるよう安全な通信を改善するために、改善された暗号学的技法が有益でありうる状況がありうる。
【００１０】
本開示のいくつかの実施形態では、通信セキュリティーは、暗号学的処理における確率的丸めの使用によって向上されうる。確率的丸めとは、値がいくつかの状況においては丸められるが他の状況では丸められない任意の数学的演算を指しうる。いくつかの実施形態では、確率的丸めは、値が丸め境界から閾値距離以内であるかどうかを判定してもよい。値が閾値距離以内であれば、値は破棄されてもよく、あるいは追加的なランダムさが値に導入されてもよい。いくつかの実施形態では、確率的丸めは、データ・パケットの暗号化において、あるいは鍵もしくは鍵成分の生成において使われてもよい。いくつかの実施形態では、確率的丸めは法の丸めを利用してもよい。
【００１１】
確率的丸めの使用は、コンピュータそのものの動作、データを通信するネットワークおよび通信セキュリティーの関係分野にいくつかの恩恵を提供しうる。コンピュータそのものについては、確率的丸めは、他の暗号学的技法に対して効率性を稼ぐことができる。たとえば、丸めの使用は、ある種の暗号学的処理が実行されるレートを単純化し、高速化しうる。プロセスを高速化することによって、暗号学的処理を実行しているコンピュータそのものがそのパフォーマンスを改善しうる。このように、本開示の実施形態は、コンピュータそのもののパフォーマンスを改善しうる。
【００１２】
ネットワークの動作を改善することについては、確率的丸めは暗号化されたデータのサイズを小さくでき、低下したネットワーク帯域幅要求を許容しうる。こうして、貴重なネットワーク資源が節約される。例として、数が10,678,994から10,679,000に丸められる場合、末尾の三つの0はネットワークを通じて送信される必要はなく、数は受信装置においてかさ上げ〔リフト〕されてもよい。たとえば、10,678,994から10,679,000に丸めるとき、値10,679がネットワークを通じて転送されてもよく、受信装置は値10,679をかさ上げしてもとの10,679,000にしうる。このように、本開示の実施形態は、ネットワーク資源を節約することによって、ネットワークの機能を改善しうる。さらに、この例では典型的な数値が使われているが、数値の二進表現が使われてもよい。
【００１３】
通信セキュリティーの関係分野を改善することについては、確率的丸めは、典型的な暗号学的技法に対して、通信のセキュリティーを高めることができる。たとえば、値を破棄する、あるいは丸め境界から閾値距離以内にある値にランダム性を加えることによって、いくつかの状況では、それらの値を観察する敵はそれらの値を真にランダムな値から区別できないことがありうる。このように、本開示の実施形態は、通信セキュリティーの関係分野を改善しうる。
【００１４】
本開示の実施形態について、付属の図面を参照して説明する。
【００１５】
図１は、本開示の一つまたは複数の実施形態に基づく、向上された通信セキュリティーに関係した例示的環境１００を示している。いくつかの実施形態では、環境１００は、ネットワーク１３０を通じて通信する第一のコンピューティング装置１１０および第二のコンピューティング装置１２０を含んでいてもよい。第一のコンピューティング装置１１０および第二のコンピューティング装置１２０は安全な仕方で通信することを試みてもよく、一方、敵１４０が第一のコンピューティング装置１１０と第二のコンピューティング装置１２０の間の通信のセキュリティーを破ることを試みることがありうる。
【００１６】
いくつかの実施形態では、第一のコンピューティング装置１１０および／または第二のコンピューティング装置１２０は、第一のコンピューティング装置１１０と第二のコンピューティング装置１２０の間の安全な通信を容易にするために、一つまたは複数の暗号学的技法を利用してもよい。たとえば、第一のコンピューティング装置１１０が第二のコンピューティング装置１２０と鍵成分を交換してもよく、それにより、両方のコンピューティング装置が共有される鍵を生成しうる。追加的な例として、第一のコンピューティング装置１１０が公開鍵および秘密鍵を生成して、公開鍵のほうを共有してもよく、それにより、第二のコンピューティング装置１２０は該公開鍵にアクセスして、該公開鍵を使ってデータを暗号化してもよく、第一のコンピューティング装置１１０は、暗号化されたデータを、秘密鍵を使って解読してもよい。これらおよび他の実施形態において、第一のコンピューティング装置１１０および／または第二のコンピューティング装置１２０は、前記一つまたは複数の暗号学的技法を実行する際に、確率的丸めを利用してもよい。確率的丸めの二つの例が図２のＡおよびＢを参照して記述される。
【００１７】
暗号学的技法の例としての鍵交換を参照するに、いくつかの実施形態では、第一のコンピューティング装置１１０は第一の公開鍵成分および第一の秘密情報を生成してもよい。第一のコンピューティング装置１１０は第一の公開鍵成分をネットワーク１３０を通じて第二のコンピューティング装置１２０に送ってもよい。第一の公開鍵成分を使って第二のコンピューティング装置は第二の公開鍵成分および第二の秘密情報を生成してもよい。第二のコンピューティング装置１２０は第二の公開鍵成分を第一のコンピューティング装置１１０に送信してもよい。第一のコンピューティング装置１１０は、前記第一の秘密情報および前記第一および第二の公開鍵成分の一つまたは複数を使って、共有される鍵を導出してもよく、第二のコンピューティング装置１２０は、前記第二の秘密情報および前記第一および第二の公開鍵成分の一つまたは複数を使って、前記共有される鍵を導出してもよい。前記共有される鍵を使って、第一のコンピューティング装置１１０および／または第二のコンピューティング装置１２０は、第一のコンピューティング装置１１０と第二のコンピューティング装置１２０の間で行ったり来たり伝送されるデータを暗号化したり、あるいは他の仕方で保護したりしてもよい。追加的または代替的に、第一のコンピューティング装置１１０および／または第二のコンピューティング装置１２０は、前記共有される鍵を含むまたは前記共有される鍵に基づく制約されたコンテンツに対する要求を提出してもよい。いくつかの実施形態では、敵１４０が前記第一の公開鍵成分および前記第二の公開鍵成分をそれらが交換される際に観察するまたは見ることがありうる。しかしながら、敵１４０は前記第一および第二の公開鍵成分だけに基づいて前記共有される鍵を導出することはできない。
【００１８】
暗号学的技法の別の例としての公開鍵暗号化を参照するに、第一のコンピューティング装置１１０が公開鍵および秘密鍵を生成してもよい。第一のコンピューティング装置１１０は公開鍵を第二のコンピューティング装置１２０に送ってもよい。第二のコンピューティング装置は公開鍵を使ってメッセージを暗号化してもよく、暗号化されたメッセージを第一のコンピューティング装置１１０に送ってもよい。第一のコンピューティング装置１１０は秘密鍵を使ってそのメッセージを解読してもよい。敵１４０が公開鍵を観察することがあり、暗号化されたメッセージを観察することがありうる。しかしながら、敵１４０は単に公開鍵を用いてメッセージを解読することはできないし、暗号化されたメッセージをランダムな値から区別することができないこともありうる。
【００１９】
いくつかの実施形態では、第一のコンピューティング装置１１０および／または第二のコンピューティング装置１２０は、第一のコンピューティング装置１１０と第二のコンピューティング装置１２０の間の通信のセキュリティーを改善するために、確率的な丸めを利用してもよい。たとえば、いくつかの実施形態では、確率的丸めは、パケットの暗号化において利用されてもよい。パケットを暗号化するために確率的丸めを利用することの例は、図３および／または図４に関して記述される。もう一つの例として、いくつかの実施形態では、確率的丸めは、公開鍵成分の生成において利用されてもよい。公開鍵成分の生成に関して確率的丸めを利用することの例は、図５Ａおよび図５Ｂに関して記述される。
【００２０】
第一のコンピューティング装置１１０および第二のコンピューティング装置１２０は、ネットワーク１３０を通じて通信するよう構成された任意のコンピューティング装置として実装されうる。たとえば図６に関して記述されるコンピューティング・システムである。
【００２１】
ネットワーク１３０は、通常型ネットワーク、有線もしくは無線ネットワークとして実装されてもよく、および／または数多くの異なる構成またはそれらの組み合わせの任意のものをもちうる。さらに、ネットワーク１３０はローカル・エリア・ネットワーク（LAN）、広域ネットワーク（WAN）（たとえばインターネット）または他の相互接続されたデータ経路であって、それを通じて複数の装置および／またはエンティティが通信しうるものを含んでいてもよい。いくつかの実施形態では、ネットワーク１３０は、ピアツーピア・ネットワークを含んでいてもよい。ネットワーク１３０は、多様な異なる通信プロトコルでデータを送るために遠隔通信ネットワークの諸部分に結合されていてもよく、あるいは該諸部分を含んでいてもよい。いくつかの実施形態では、ネットワーク１３０は、通信および／またはデータを送受信するためにブルートゥース（登録商標）通信ネットワークまたはセルラー通信ネットワークを含んでいてもよい。そのような送受信は、ショート・メッセージ・サービス（SMS）、マルチメディア・メッセージング・サービス（MMS）、ハイパーテキスト転送プロトコル（HTTP）、直接データ接続、無線アプリケーション・プロトコル（WAP）、電子メールおよび／またはその他のアプローチを介してのものを含む。ネットワーク１３０は、第三世代（3G）、第四世代（4G）、ロングタームエボリューション（LTE）、ロングタームエボリューションアドバンスト（LTE-A）、LTEを通じた音声（「VoLTE」）または他の任意のモバイル・データ・ネットワークもしくは諸モバイル・データ・ネットワークの組み合わせを含んでいてもよい。
【００２２】
本開示の範囲から外れることなく、環境１００に修正、追加または省略がなされてもよい。たとえば、環境１００は、任意の仕方で接続される任意の数のコンピューティング装置を含んでいてもよい。多くの場合、環境１００は、図示したよりも多くのコンピューティング装置を含んでいてもよい。
【００２３】
整数p≦qについて、法の丸めを数学的に記述するとき、法の丸め〔モジュラー丸め（modular  rounding）〕は数学的に次のように記述されてもよい。
【数１】
2019020717.tif 000003
たとえば、pが10,000であり、qが100,000である場合、法の丸め関数は10,000/100,000（すなわち1/10）に関心対象の値を乗算して、結果を四捨五入してもよい。そのような丸めは、丸められた結果から不必要な0を除去しうる。行列またはベクトルに適用されるとき、そのような丸めはZq上で座標ごとに拡張されうる。
【００２４】
いくつかの実施形態では、通信を安全にするために使われる一つの数学的手法は、LWE（Learning  With  Errors）問題と称されることがある。LWE問題は、整数nおよびq、Zq上の何らかの分布ψならびにいずれもZqn上の分布である分布KおよびTを参照して記述されうる。記号Zqnはqを法とした整数（たとえば、0からq−1までの実数）のベクトルを表わし、n個の整数をもつ。(q,n,ψ,K,T)を含むLWE問題は、未指定のチャレンジ・オラクルOLWEを参照して記述されてもよい。これは、分布Kからサンプリングされた、何らかの一定のランダムな秘密鍵s∈Zqnを担持する、ノイズのある擬似ランダム・サンプラーOsLWE、あるいは真にランダムなサンプラーO$LWEであり、それらの挙動はそれぞれ次のようになる。
【００２５】
OSLWE：
【数２】
2019020717.tif 000004
の形のサンプルを出力。ここで、s∈Zqnは分布Kからサンプリングされた諸呼び出しを通じて不変な持続値を含み、δi∈Zqは分布ψからのフレッシュなサンプルを含み、ai∈ZqnはTからランダムにサンプリングされた値を含む。
【００２６】
O$LWE；
【数３】
2019020717.tif 000005
の形のサンプルを出力。ここで、ベクトルai∈ZqnはTからランダムにサンプリングされた値を含み、riはZqからの一様にランダムなサンプルを含む。変数$はオラクルが真にランダムであることを示す。
【００２７】
(q,n,ψ,K,T)を含むLWE問題は、チャレンジ・オラクルOLWEへの反復される問い合わせを許容する。アルゴリズムAは、Kからランダムに適切に選択されたベクトルsについて
【数４】
2019020717.tif 000006
が無視できない場合に、LWE問題を決定しうる。ここで、Advはベクトルsの値を決定することにおける有利さの指示を表わしていてもよく、Prはその事象が生起する確率を決定するための関数を表わしていてもよい（たとえば、
【数５】
2019020717.tif 000007
は、アルゴリズムAがOSLWEについて正しい値を推定する確率を表わしうる）。
【００２８】
いくつかの実施形態では、通信を安全にするために使われる別の数学的手法が、LWR（Learning  With  Rounding）と称されることがある。LWR問題は、p≦qであるとして整数n、pおよびq、Zq上の何らかの分布ψならびにいずれもZqn上の分布である分布KおよびTを参照して記述されうる。(q,p,n,ψ,K,T)を含むLWR問題は、未指定のチャレンジ・オラクルOLWRを参照して記述されてもよい。これは、分布Kからサンプリングされた、何らかの一定のランダムな秘密鍵s∈Zqnを担持する、ノイズのある擬似ランダム・サンプラーOsLWR、あるいは真にランダムなサンプラーO$LWRであり、それらの挙動はそれぞれ次のようになる。
【００２９】
OSLWR：
【数６】
2019020717.tif 000008
の形のサンプルを出力。ここで、s∈Zqnは分布Kからサンプリングされた諸呼び出しを通じて不変な持続値を含み、ai∈ZqnはTからランダムにサンプリングされた値を含む。
【００３０】
O$LWR；
【数７】
2019020717.tif 000009
の形のサンプルを出力。ここで、ai∈ZqnはTからランダムにサンプリングされた値を含み、riはZqからの一様にランダムなサンプルを含む。変数$はオラクルが真にランダムであることを示す。
【００３１】
(q,p,n,ψ,K,T)を含むLWR問題は、チャレンジ・オラクルOLWRへの反復される問い合わせを許容する。アルゴリズムAは、Kからランダムに適切に選択されたベクトルsについて
【数８】
2019020717.tif 000010
が無視できない場合に、LWR問題を決定しうる。
【００３２】
いくつかの実施形態では、法の丸め後、整数はかさ上げ〔リフト〕されてもとのオーダーに戻されてもよい。かさ上げは、法の丸めでの場合と同様の意味をもつpおよびqに関して数学的に記述されうる。かさ上げは、数学的には
【数９】
2019020717.tif 000011
と記述されてもよい。ここで、Rは実数を表わしてもよく、Zは整数を表わしてもよい。このようにして、かさ上げは、オーダーを低下させたモジュラー丸め関数を逆にしうるものであり、丸められた値をもとのオーダーに戻すかさ上げをするためのものである。いくつかの実施形態では、かさ上げは次のように表わされるよう拡張されうる。
【数１０】
2019020717.tif 000012
【００３３】
いくつかの実施形態では、丸める前に数がどのくらい丸め境界に近いことがありうるかを判別するために、境界Bが含められてもよい。たとえば、分布の属ψ∈{ψn}n∈Nについて、分布が−BとB内にはいる確率が1であれば、あるいは数学的には
【数１１】
2019020717.tif 000013
であれば、分布はBを境界として有界であると考えられてもよい。
【００３４】
いくつかの実施形態では、通信を安全にするために使われる数学的手法は、境界消去のある確率的丸めを含む確率的丸めを含んでいてもよい。そのような実施形態では、法の丸めは、数値が丸め境界Bからある閾値量以内でない限り、該数値に対して実行されてもよい。境界消去のある確率的丸めは、数学的には
【数１２】
2019020717.tif 000014
と書かれてもよい。ここで、pおよびqはp≦qの整数であってもよく、Bは丸め境界を指してもよく、B∈Z＜(q/p)/2によって表わされてもよい。ψは、B有界な誤差分布であるZq上の分布を含んでいてもよい。境界消去のある確率的丸めを入力x∈Zqに適用することは、次のように進みうる。
【表１】
2019020717.tif 000015
ここで、δは分布ψからサンプリングされる値であり、⊥は値xが破棄されることを表わす。このように、丸められるべき法のもとでの値が境界Bから閾値以内にある状況では、その値は破棄されてもよく、そうでない場合には、その値は法のもとで丸められてもよい。境界消去のある確率的丸めは、LWE問題および／またはLWR問題と同じくらい安全でありえ、LWE問題および／またはLWR問題よりも効率的でありうる。
【００３５】
いくつかの実施形態では、通信を安全にするために使われる数学的手法は、境界消去のある偽の丸めを含む確率的丸めを含んでいてもよい。そのような実施形態では、法の丸めは、数値が丸め境界Bからある閾値量以内でない限り、該数値に対して実行されてもよく、その場合、追加的なランダムさが値に加えられてもよい。境界消去のある偽の丸めは、数学的には
【数１３】
2019020717.tif 000016
と書かれてもよい。ここで、pおよびqはp≦qの整数であってもよく、Bは丸め境界を指してもよく、B∈Z＜(q/p)/4によって表わされてもよい。ψは、B有界な誤差分布であるZq上の分布を含んでいてもよい。いくつかの実施形態では、境界消去のある偽の丸めは、誤差累積分布関数（CDF:  cumulative  distribution  function）ΨB,x→{0,1}を利用してもよい。誤差CDFは、所与のxおよびψについて、次のように分布させられてもよい。
【表２】
2019020717.tif 000017
【００３６】
境界消去のある偽の丸めを入力x∈Zqに適用することは、次のように進みうる。
【表３】
2019020717.tif 000018
ここで、zは値xがどのくらい境界に近いかを示しうる、分布誤差CDF分布ΨB,xからサンプリングされた値であり（たとえばzが1であれば、それは値xが境界Bに近いことを示しうるので、追加的なランダムさが加えられる）、bは丸められた値に追加的なランダムさを加えるために選択される値である。このように、丸められるべき値が境界Bから閾値以内にある状況では、その値は追加的なランダムさを加えられてもよく、そうでない場合には、その値は法のもとで丸められてもよい。さらに、境界消去のある偽の丸めは、境界消去のある確率的丸めと同様であってもよく、変異は、丸められるべき値が境界に近いときに、破棄されるのではなく、追加的なランダムさがその値に加えられるということである。
【００３７】
図２のＡおよびＢは、本開示の一つまたは複数の実施形態に基づく、確率的丸めの例示的方法２００ａおよび２００ｂのフローチャートを示している。方法２００ａは、境界消去のある偽の丸めの例を示しており、方法２００ｂは境界消去のある確率的丸めの例を示している。方法２００ａおよび２００ｂは、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図１の第一または第二のコンピューティング装置１１０／１２０または他のシステムまたは装置が、方法２００ａおよび／または２００ｂのいずれかに関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法２００ａおよび２００ｂのブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。
【００３８】
図２のＡを参照するに、ブロック２１０において、エントリーが丸め境界から閾値量以内であるかどうかについて判定がなされてもよい。たとえば、コンピューティング装置（たとえば図１の第一のコンピューティング装置１１０）が、暗号学的処理との関連で法の丸め関数を実行していてもよく、エントリーが境界Bにどのくらい近いかを判別してもよい。これらおよび他の実施形態において、エントリーは単独の値を含んでいてもよく、あるいはベクトルまたは行列内の要素を含んでいてもよい。エントリーが閾値量以内であると判定することに応答して、方法２００ａはブロック２２０に進んでもよい。エントリーが閾値量の外側であると判定することに応答して、方法２００ａはブロック２３０に進んでもよい。ブロック２１０の数学的動作は次を含んでいてもよい。
【表４】
2019020717.tif 000019
【００３９】
ブロック２２０では、エントリーに追加的な変動性が導入されてもよい。たとえば、コンピューティング装置は、エントリーを真にランダムな値から区別するのが一層難しくなるよう、エントリーについての変動性を増大させてもよい。たとえば、いくつかの値については、法の丸め演算の結果が追加的な1または0を加えられてもよく、他の値については、法の丸め演算の結果は追加的な1または0を減算されてもよい。ブロック２２０の数学的動作は次を含んでいてもよい。
【表５】
2019020717.tif 000020
【００４０】
ブロック２３０では、エントリーは丸められてもよい。たとえば、コンピューティング装置はエントリーに対して法の丸め演算を実行してもよい。ブロック２３０の数学的動作の例は次を含んでいてもよい。
【表６】
2019020717.tif 000021
【００４１】
図２のＢを参照するに、ブロック２４０において、エントリーが丸め境界から閾値量以内であるかどうかについて判定がなされてもよい。ブロック２４０は図２のＡのブロック２１０と同様または類似であってもよい。エントリーが閾値量以内であると判定することに応答して、方法２００ｂはブロック２６０に進んでもよい。エントリーが閾値量の外側であると判定することに応答して、方法２００ｂはブロック２７０に進んでもよい。ブロック２４０の数学的動作は次を含んでいてもよい。
【表７】
2019020717.tif 000022
【００４２】
ブロック２６０では、エントリーは破棄されてもよい。たとえば、ブロック２４０のエントリーが境界から閾値以内であれば、コンピューティング装置（たとえば第一のコンピューティング装置１１０）は、そのエントリーが暗号学的処理の間に含められないよう、破棄してもよい。ブロック２６０の数学的動作は次を含んでいてもよい。
【表８】
2019020717.tif 000023
【００４３】
ブロック２７０では、エントリーは丸められてもよい。ブロック２７０は図２のＡのブロック２３０と同様または類似であってもよい。ブロック２７０の数学的動作の例は次を含んでいてもよい。
【表９】
2019020717.tif 000024
【００４４】
よって、方法２００ａおよび２００ｂは、確率的丸めを実行するために使用されうる。本開示の範囲から外れることなく、方法２００ａおよび／または２００ｂに修正、追加または省略がなされてもよい。たとえば、方法２００ａおよび／または２００ｂの動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
【００４５】
図３は、本開示の一つまたは複数の実施形態に基づく、通信セキュリティーを向上させるために確率的丸めを利用する例示的方法３００のフローチャートを示している。方法３００は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図１の第一または第二のコンピューティング装置１１０／１２０または他のシステムまたは装置が、方法３００に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法３００のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。いくつかの実施形態では、方法３００は、確率的丸めを利用する公開鍵交換の例を実装する。
【００４６】
ブロック３１０では、秘密鍵が生成されてもよい。たとえば、第一のコンピューティング装置（たとえば図１の第一のコンピューティング装置１１０）が暗号学的動作の一部として秘密鍵を生成してもよい。秘密鍵は、他のコンピューティング装置から受領されるデータ・パケットを復号するために第一のコンピューティング装置によって利用されうる数学的な値または演算子を含みうる。ブロック３１０の数学的動作の例は、整数m、n、hs、hr、l、t、pおよびqを使うKeyGen演算を含んでいてもよい。ここで、hs＜n、hr＜mであり、t|p|qである。ここで、|は整除演算子を表わす（たとえば、tをpまたはqで割ったときに余りがなく、pをqで割ったときに余りがない）。
【００４７】
KeyGen演算は、公開鍵pkおよび秘密鍵skを出力しうる。たとえば、
【数１４】
2019020717.tif 000025
たとえば、Aは、空間Zqからのランダムな値をもつ、次元mかけるnの行列であってもよい。
【数１５】
2019020717.tif 000026
たとえば、Sはハミング重み分布HWTnに基づいて導出される秘密のベクトルの行列であってもよい。
【数１６】
2019020717.tif 000027
たとえば、EはSの秘匿性を保護するためにランダムさを導入するための行列であってもよく、B有界の誤差分布ψ:{・}→Zqから選択される要素をもつ、次元mかけるlのものであってもよい。
【数１７】
2019020717.tif 000028
たとえば、BはA、SおよびEを組み合わせた行列であってもよい。
このように、公開鍵は、AとBの連結を含んでいてもよく、秘密鍵はSであってもよい。
【００４８】
ブロック３２０では、公開鍵が第一のコンピューティング装置において生成されてもよい。たとえば、第一のコンピューティング装置（たとえば図１の第一のコンピューティング装置１１０）は暗号学的動作の一部として公開鍵を生成してもよい。公開鍵は、第一のコンピューティング装置への通信のために一つまたは複数のデータ・パケットを暗号化するために一つまたは複数の他のコンピューティング装置によって利用されうる数学的な値または演算子を含みうる。ブロック３２０の数学的動作の例は、pkを生成するためにブロック３１０に関して述べたものを含みうる。
【００４９】
ブロック３３０では、公開鍵が第一のコンピューティング装置から第二のコンピューティング装置に送信されてもよい。たとえば、第一のコンピューティング装置は、公開鍵を含む一つまたは複数のデータ・パケットを生成して、該データ・パケットをネットワークを通じて第二のコンピューティング装置（たとえば図１の第二のコンピューティング装置１２０）に送信してもよい。
【００５０】
ブロック３４０では、第二のコンピューティング装置において、公開鍵を使って、一つまたは複数のデータ・パケットが暗号化されてもよい。データ・パケット暗号化は、前記一つまたは複数の暗号化されたデータ・パケットを生成することにおいて使われる入力の少なくとも一つに対して、確率的丸めを利用してもよい。たとえば、第二のコンピューティング装置は、第一のコンピューティング装置のために意図されたデータ・パケットを暗号化するために、確率的丸めを利用してもよい。ブロック３４０に関連する数学的動作の例は、下記のようなEncpk(m∈Ztl)を使って、メッセージmを公開鍵pkを使って暗号化して、暗号化されたメッセージcにすることを含んでいてもよい。
【数１８】
2019020717.tif 000029
ここで、rは、ハミング重み分布に基づく要素をもつ、ランダムさを導入するための値のベクトルであり、a'およびb'はそれぞれAおよびBの転置とrとの組み合わせのベクトルである。暗号化されたメッセージcは二つの成分aおよびbを含んでいてもよい。aは空間Zpにおけるa'の確率的丸め（上記では確率的な境界消去のある偽の丸めで示されている）に対応してもよい。bはb'の確率的丸め（上記では確率的な境界消去のある偽の丸めで示されている）と、メッセージmをより上の桁のビットにシフトさせるためにp/tを乗算された秘密のメッセージとに対応してもよい。上記では確率的な境界消去のある偽の丸めを使って例示されているが、境界消去のある確率的丸めが使われてもよい。確率的丸めを利用して一つまたは複数のデータ・パケットを暗号化するもう一つの例は、図４を参照して記述される。
【００５１】
ブロック３５０では、ブロック３４０で暗号化された前記一つまたは複数のパケットは、第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。
【００５２】
ブロック３６０では、第一のコンピューティング装置は秘密鍵を使って前記一つまたは複数のパケットを復号してもよい。たとえば、第一のコンピューティング装置は、暗号化されたメッセージに対して秘密鍵を使ってDecsk演算を実行して、メッセージm'を導出してもよい。Decsk演算の例は次を含んでいてもよい。
【数１９】
2019020717.tif 000030
ここで、tはZtlのもとのメッセージの法を表わす。Decsk演算は、暗号化されたメッセージcからa'およびb'を除去して、もとのメッセージを導出しうる。
【００５３】
このように、方法３００は、確率的丸めを使って、セキュリティー保護された通信を向上させるために使われうる。本開示の範囲から外れることなく、方法３００に修正、追加または省略がなされてもよい。たとえば、方法３００の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
【００５４】
図４は、本開示の一つまたは複数の実施形態に基づく、確率的丸めを利用してパケットを暗号化する例示的方法４００のフローチャートを示している。方法４００は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図１の第一または第二のコンピューティング装置１１０／１２０または他のシステムまたは装置が、方法４００に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法４００のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。方法４００の記述は、図３のブロック３４０を参照して使われたのと同様の意味をもつ一つまたは複数の同様の変数を利用することがある。
【００５５】
ブロック４１０では、ハミング重みに基づいて第一のベクトルまたは行列が生成されてもよい。たとえば、第一のコンピューティング装置（たとえば図１の第一のコンピューティング装置１１０）がベクトルrを生成してもよい。いくつかの実施形態では、rはr←HWTm(hr)に従って生成されうる。
【００５６】
ブロック４２０では、公開鍵の第一の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第二のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルa'を生成してもよい。いくつかの実施形態では、ベクトルa'は'←ATrに従って生成されてもよい。
【００５７】
ブロック４３０では、公開鍵の第二の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第三のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルb'を生成してもよい。いくつかの実施形態では、ベクトルb'は'←BTrに従って生成されてもよい。
【００５８】
ブロック４４０では、第二のベクトルの各エントリーを確率的に丸めることに基づいて、第四のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルaを生成してもよい。いくつかの実施形態では、ベクトルaは
【数２０】
2019020717.tif 000031
に従って生成されてもよい。確率的丸めの一つの実施形態（境界消去のある偽の丸め）を使って示されているが、境界消去のある偽の丸めのような他の実施形態も利用されうる。
【００５９】
ブロック４５０では、第三のベクトルの各エントリーを確率的に丸め、暗号化されるべきメッセージを表わす値の倍数を加えることに基づいて、第五のベクトルが生成されてもよい。いくつかの実施形態では、前記値は複数の値のベクトルを含んでいてもよい。たとえば、第一のコンピューティング装置がベクトルbを生成してもよい。いくつかの実施形態では、ベクトルbは
【数２１】
2019020717.tif 000032
に従って生成されてもよい。確率的丸めの一つの実施形態（境界消去のある偽の丸め）を使って示されているが、境界消去のある偽の丸めのような他の実施形態も利用されうる。
【００６０】
ブロック４６０では、第四および第五のベクトルの組み合わせとして、暗号化されたメッセージが出力されうる。たとえば、第一のコンピューティング装置が暗号化されたメッセージcを出力してもよい。いくつかの実施形態では、暗号化されたメッセージcは、
【数２２】
2019020717.tif 000033
に従って生成されてもよい。
【００６１】
このように、方法４００は、確率的丸めを使って、パケットを暗号化するために使われうる。本開示の範囲から外れることなく、方法４００に修正、追加または省略がなされてもよい。たとえば、方法４００の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
【００６２】
図５Ａおよび図５Ｂは、本開示の一つまたは複数の実施形態に基づく、確率的丸めを利用して通信セキュリティーを向上させる例示的方法５００のフローチャートを示している。方法５００は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図１の第一または第二のコンピューティング装置１１０／１２０または他のシステムまたは装置が、方法５００に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法５００のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。いくつかの実施形態では、方法５００は、
確率的丸めを利用した鍵交換の例を示していてもよい。
【００６３】
図５Ａを参照するに、ブロック５０５において、第一の秘密情報が第一のコンピューティング装置において生成されてもよい。たとえば、第一のコンピューティング装置（たとえば図１の第一のコンピューティング装置１１０）は第一の秘密情報を、暗号学的処理の一部として生成してもよい。ブロック５０５の数学的演算の一例は：
【数２３】
2019020717.tif 000034
を含んでいてもよい。ここで、ψは、B有界な誤差分布であるZq上の分布を含んでいてもよく、qおよびBは上記と同じであり、nおよび￣付きのnは行列Sの次元を表わしていてもよい。
【００６４】
ブロック５１０において、第一の秘密情報に基づく第一の公開鍵成分が第一のコンピューティング装置において生成されてもよい。いくつかの実施形態では、第一の公開鍵成分は二つの成分seedAおよびBを含んでいてもよい。いくつかの実施形態では、第一の公開鍵成分としてAではなくseedAを利用することは、seedAはAよりも小さいことがありうるので、ネットワーク帯域幅を節約しうる。第一の公開鍵成分seedAおよびBを導出するためのブロック５１０の数学的演算の例は、次を含んでいてもよい。
【表１０】
2019020717.tif 000035
ここで、seedは長さSの0および1の一様にランダムなストリングであり、Gen()はseedAに対して実行されたときに予測可能な結果Aを与えるための既知の関数を表わしていてもよく、nは行列Aの次元を表わしていてもよく、ψはB有界な誤差分布であるZq上の分布を含んでいてもよく、p、qおよびBは上記と同じである。いくつかの実施形態では、第一の鍵成分は確率的丸めを使って生成されてもよい。確率的丸めの一つの実施形態とを使うこととして例解されているが、境界消去をもつ偽の丸めのような他の実施形態が利用されてもよい。
【００６５】
ブロック５１５では、第一の公開鍵成分が、第一のコンピューティング装置から第二のコンピューティング装置（たとえば図１の第二のコンピューティング装置１２０）に送信されてもよい。
【００６６】
ブロック５２０では、第二の秘密情報が第二のコンピューティング装置において生成されてもよい。ブロック５２０はブロック５０５と同様または類似であってもよいが、動作は第二のコンピューティング装置によって実行されてもよい。第二の秘密情報S'を導出するためのブロック５２０の数学的演算の一例は：
【数２４】
2019020717.tif 000036
を含んでいてもよい。ここで、￣付きのmは行列S'の次元を表わしていてもよく、他の変数は上記と同じであってもよい。
【００６７】
ブロック５２５では、第二の公開鍵成分が第二のコンピューティング装置において、確率的丸めを使って生成されてもよい。いくつかの実施形態では、第二の公開鍵成分は第二の秘密情報および／または第一の公開鍵成分に基づいていてもよい。第二の公開鍵成分は行列B'およびCを含んでいてもよい。ブロック５３０の数学的演算の例は、次を含んでいてもよい。
【表１１】
2019020717.tif 000037
ここで、nおよびmはAの次元の整数であり、B'は第二の秘密情報S'および行列Aの確率的に丸められた組み合わせである行列を含んでいてもよく、Vは、第二の秘密情報S'およびかさ上げされた行列Bの法の丸めをされた組み合わせである行列を含んでいてもよい。いくつかの実施形態では、B'の確率的に丸められたバージョンを使うことは、B'は末尾の0を担持する必要がないことがあるので、ネットワーク帯域幅の節約を提供しうる。
【００６８】
ブロック５３０では、第二の公開鍵成分が第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。
【００６９】
図５Ｂを参照するに、ブロック５３５では、相互丸め（cross-rounding）ビットが第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。たとえば、第二のコンピューティング装置は、第二のコンピューティング装置および第一のコンピューティング装置が両コンピューティング装置の間の丸めが一貫して実行されていることを検証しうるよう、ある種の丸め演算がどのように実行されうるかを示す一つまたは複数のビットを生成してもよい。相互丸めビットを導出するためのブロック５３５の数学的演算の例は、相互丸め関数を含んでいてもよい。2の冪p（たとえば整数kについてp＝2k）についてのそのような相互丸め関数は、数学的に次のように記述されうる。
【数２５】
2019020717.tif 000038
ここで、pはq以下であり、modは法の演算であり、この関数の出力は一つまたは複数のビットである。第二のコンピューティング装置における数学的記述を続けると、前記一つまたは複数の相互丸めビットCは
【数２６】
2019020717.tif 000039
によって生成されうる。ここで、2βは相互丸め関数におけるpを表わす。いくつかの実施形態では、前記一つまたは複数の相互丸めビットは、ブロック５２５において生成されブロック５３０において送信される第二の公開鍵成分の一部として含められてもよい。
【００７０】
ブロック５４０では、第二の公開鍵成分の少なくとも一つの丸められた要素が、第一のコンピューティング装置によってかさ上げされてもよい。たとえば、第一のコンピューティング装置は行列B'をかさ上げしてもよい。いくつかの実施形態では、第二のコンピューティング装置が一つまたは複数のかさ上げ動作を実行してもよい。
【００７１】
ブロック５４５では、共有される鍵が、第二の公開鍵成分に基づいて、第一のコンピューティング装置によって導出されてもよい。たとえば、第一のコンピューティング装置は、行列B'のかさ上げされたバージョン、第一の秘密情報Sおよび相互丸めビットCに対して数学的演算を実行してもよい。そのような数学的演算は、非特許文献１に記載されているものと同様または類似であってもよい。同文献の開示全体は参照によって組み込まれる。共有される鍵Kを導出するためのブロック５４５の数学的演算の例は次を含んでいてもよい。
【数２７】
2019020717.tif 000040
【００７２】
ブロック５５０では、前記共有される鍵が、第二のコンピューティング装置によって、第二の公開鍵成分に基づいて導出されてもよい。たとえば、第二のコンピューティング装置は、共有される鍵を生成するために行列Vに対して法の丸め演算を実行してもよい。いくつかの実施形態では、丸めは、前記相互丸めビットにおいて利用されるまたは前記相互丸めビットによって通信される情報に基づいて実行される。共有される鍵Kを導出するためのブロック５５０の数学的演算の例は次を含んでいてもよい。
【数２８】
2019020717.tif 000041
【００７３】
ブロック５５５では、制約されたコンテンツへのアクセスを要求するために、第二のコンピューティング装置から第一のコンピューティング装置に要求が送信されてもよい。要求は、共有される鍵に基づいていてもよい。たとえば、要求は共有される鍵を含んでいてもよく、あるいは共有される鍵を使ってエンコードまたは暗号化されてもよい。
【００７４】
ブロック５６０は、前記要求に基づいて制約されたコンテンツへのアクセスが承認されてもよい。たとえば、第一のコンピューティング装置は、前記要求の、前記共有される鍵に基づく一つまたは複数の側面を比較し、それらを前記共有される鍵と比較してもよい。マッチに基づいて、あるいは第二のコンピューティング装置が前記共有される鍵をもつことに基づいて、第一のコンピューティング装置は第二のコンピューティング装置に、前記制約されたコンテンツへのアクセスを承認してもよい。
【００７５】
よって、方法５００は、確率的丸めを使ってパケットを暗号化するために使われてもよい。本開示の範囲から外れることなく、方法５００に修正、追加または省略がなされてもよい。たとえば、方法４００の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
【００７６】
図６は、本開示に記載される少なくとも一つの実施形態に基づく例示的なコンピューティング・システム６００を示している。システム６００は、ネットワークを通じて通信するいかなる好適なシステム、装置またはデバイスを含んでいてもよい。コンピューティング・システム６００は、プロセッサ６１０、メモリ６２０、データ記憶部６３０および通信ユニット６４０を含んでいてもよく、これらはみな通信上結合されていてもよい。データ記憶部６３０はさまざまな型のデータ、たとえば確率的丸めを使うことなどによって通信セキュリティーを向上させるためのプロトコルまたは手順を含んでいてもよい。
【００７７】
一般に、プロセッサ６１０は、さまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含むいかなる好適な特殊目的または汎用のコンピュータ、コンピューティング・エンティティまたは処理装置を含んでいてもよく、いかなる適用可能なコンピュータ可読記憶媒体に記憶された命令を実行するよう構成されていてもよい。たとえば、プロセッサ６１０は、プログラム命令を解釈および／または実行するおよび／またはデータを処理するよう構成された、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）または他の任意のデジタルもしくはアナログ回路を含んでいてもよい。
【００７８】
図６では単一のプロセッサとして図示されているが、プロセッサ６１０は、個々にまたは集団的に、本開示において記述される任意の数の動作を実行するよう構成された、任意の数のネットワークもしくは物理的一に分散されていてもよい任意の数のプロセッサを含んでいてもよい。いくつかの実施形態では、プロセッサ６１０は、メモリ６２０、データ記憶６３０またはメモリ６２０２およびデータ記憶６３０に記憶されたデータを処理することおよび／またはプログラム命令を解釈および／または実行することを行なってもよい。いくつかの実施形態では、プロセッサ６１０は、データ記憶６３０からプログラム命令を取ってきて、該プログラム命令をメモリ６２０にロードしてもよい。
【００７９】
プログラム命令がメモリ６２０にロードされたのち、プロセッサ６１０はプログラム命令、たとえば図２のＡ、Ｂ、図３、図４および図５Ａと図５Ｂのそれぞれ方法２００ａ、２００ｂ、３００、４００または５００を実行するための命令を実行してもよい。たとえば、プロセッサ６１０は、一つまたは複数の鍵を生成することまたはデータ・パケットを暗号化することに関する命令を取得してもよい。
【００８０】
メモリ６２０およびデータ記憶部６３０は、コンピュータ実行可能命令またはデータ構造を担持または記憶しているコンピュータ可読記憶メディアまたは一つまたは複数のコンピュータ可読記憶媒体を含んでいてもよい。そのようなコンピュータ可読記憶メディアは、プロセッサ６１０のような汎用または特殊目的のコンピュータによってアクセスされうるいかなる利用可能な媒体を含んでいてもよい。いくつかの実施形態では、コンピューティング・システム６００は、メモリ６２０およびデータ記憶部６３０のいずれも、含んでいてもいなくてもよい。
【００８１】
限定ではなく例として、そのようなコンピュータ可読記憶メディアは、ランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）、電気的に消去可能なプログラム可能型読み出し専用メモリ（EEPROM）、コンパクトディスク読み出し専用メモリ（CD-ROM）または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス、フラッシュメモリ・デバイス（たとえば半導体メモリ・デバイス）またはコンピュータ実行可能命令もしくはデータ構造の形で所望されるプログラム・コードを担持または記憶するために使用でき、汎用もしくは特殊目的コンピュータによってアクセスされうる他の任意の記憶媒体を含む、非一時的なコンピュータ可読記憶媒体を含んでいてもよい。上記の組み合わせもコンピュータ可読記憶媒体の範囲内に含まれてもよい。コンピュータ実行可能命令は、たとえば、プロセッサ６１０にある種の動作または一群の動作を実行させるよう構成された命令およびデータを含んでいてもよい。
【００８２】
通信ユニット６４０は、ネットワークを通じて情報を送信または受信するよう構成されている任意のコンポーネント、デバイス、システムまたはそれらの組み合わせを含んでいてもよい。いくつかの実施形態では、通信ユニット６４０は他の位置、同じ位置における他の装置と、あるいはさらには同じシステム内の他のコンポーネントと通信してもよい。たとえば、通信ユニット６４０はモデム、ネットワーク・カード（無線または有線）、光通信デバイス、赤外線通信デバイス、無線通信デバイス（たとえばアンテナ）および／またはチップセット（たとえばブルートゥース装置、802.6装置（たとえば都市圏ネットワーク（MAN））、Wi-Fi装置、WiMax装置、セルラー通信設備など）および／またはその他を含んでいてもよい。通信ユニット６４０は、本開示に記載されるネットワークおよび／または他の任意の装置またはシステムとデータが交換されることを許容しうる。たとえば、通信ユニット６４０は、システム６００が他のシステム、たとえばコンピューティング装置および／または他のネットワークと通信することを許容しうる。
【００８３】
本開示の範囲から外れることなく、システム６００に修正、追加または省略がなされてもよい。たとえば、データ記憶部６３０は、複数の位置に位置しており、ネットワークを通じてプロセッサ６１０によってアクセスされる複数の異なる記憶媒体であってもよい。
【００８４】
上記のように、本開示に記載される実施形態は、下記でより詳細に論じられる、さまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含む特殊目的または汎用のコンピュータ（たとえば図６のプロセッサ６１０）の使用を含んでいてもよい。さらに、上記のように、本開示に記載される実施形態は、コンピュータ実行可能命令またはデータ構造を担持または記憶しているコンピュータ可読媒体（たとえば図６のメモリ６２０またはデータ記憶部６３０）を使って実装されてもよい。
【００８５】
本開示での用法では、用語「モジュール」または「コンポーネント」は、該モジュールまたはコンポーネントの動作を実行するよう構成された特定のハードウェア実装および／またはコンピューティング・システムの汎用ハードウェア（たとえばコンピュータ可読媒体、処理装置または他の何らかのハードウェア）に記憶および／または実行さうれるソフトウェア・オブジェクトまたはソフトウェア・ルーチンを指しうる。いくつかの実施形態では、本開示に記載される種々のコンポーネント、モジュール、エンジンおよびサービスは、（たとえば別個のスレッドとして）コンピューティング・システム上で実行されるオブジェクトまたはプロセスとして実装されてもよい。本開示に記載されるシステムおよび方法のいくつかは、一般に、（汎用ハードウェアに記憶および／または実行される）ソフトウェアで実装されるものとして記述されるが、個別のハードウェア実装またはソフトウェアと個別のハードウェア実装の組み合わせも可能であり、考えられている。本稿において、「コンピューティング・エンティティ」は、本開示で先に定義したような任意のコンピューティング・システムまたはコンピューティング・システム上で走る任意のモジュールもしくはモジュールの組み合わせでありうる。
【００８６】
慣用に従い、図面に示されるさまざまな特徴は同縮尺で描かれていないことがある。本開示に呈示される図は、いかなる特定の装置（たとえばデバイス、システムなど）または方法の実際のビューであることも意図されておらず、単に、本開示のさまざまな実施形態を記述するために用いられる理想化された表現である。よって、さまざまな特徴の寸法は、明確のために任意に拡大または縮小されることがある。さらに、図面のいくつかは明確のために単純化されてもよい。このように、図面は、所与の装置（たとえばデバイス）のコンポーネントの全部または特定の方法の全部の動作を描いていないことがある。
【００８７】
本開示および特に付属の請求項（たとえば付属の請求項の本文）において使われる用語は一般に「オープン」な用語として意図されている（たとえば、用語「含む」は「含むがそれに限られない」と解釈されるべきであり、用語「もつ」は「少なくとも…をもつ」と解釈されるべきであり、用語「含む」は「含むがそれに限られない」と解釈されるべきであるなど）。
【００８８】
さらに、導入される請求項の記載の特定の数が意図される場合、そのような意図は請求項において明示的に記載される。そのような記載のない場合には、そのような意図はない。たとえば、理解の助けとして、以下の付属の請求項は、請求項の記載を導入するために「少なくとも一つの」および「一つまたは複数の」という導入句の使用を含むことがありうる。
【００８９】
さらに、たとえ導入される請求項の記載の特定の数が明示的に記載される場合であっても、当業者は、そのような記載は少なくともその記載された数を意味すると解釈されるべきであることを認識するであろう（たとえば、他の修飾語なしで単に「二つの記載」という記載は、少なくとも二つの記載または二つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣなどのうちの少なくとも一つ」または「Ａ、ＢおよびＣなどの一つまたは複数」に類似する慣用句が使われる事例においては、一般に、そのような構文はＡだけ、Ｂだけ、Ｃだけ、ＡおよびＢ両方、ＡおよびＣ両方、ＢおよびＣ両方またはＡ、ＢおよびＣ全部などを含むことが意図される。
【００９０】
さらに、明細書であれ請求項であれ図面であれ、二つ以上の代替的な用語を呈示するあらゆる選言的な語句は、該用語の一つを含む、該用語のいずれかを含むまたは該用語の両方を含む可能性を考えているものと理解されるべきである。たとえば、「ＡまたはＢ」という句は、「Ａ」または「Ｂ」または「ＡおよびＢ」の可能性を含むと理解されるべきである。
【００９１】
しかしながら、たとえ同じ請求項が導入句「一つまたは複数の」または「少なくとも一つの」および「a」または「an」のような不定冠詞を含むときでも、そのような句の使用は、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入された請求項の記載を含む何らかの特定の請求項を、そのような記載を一つだけ含む実施形態に限定することを含意していると解釈されるべきではない（たとえば、「a」および／または「an」は、「少なくとも一つの」または「一つまたは複数の」を意味するものと解釈されるべきである）。同じことは、請求項の記載を導入する定冠詞の使用についても成り立つ。
【００９２】
さらに、用語「第一」、「第二」、「第三」などの使用は、本稿では必ずしも、要素の特定の順序または数を含意するために使われるのではない。一般に、用語「第一」、「第二」、「第三」などは、一般的な識別子として、異なる要素の間で区別をするために使われる。用語「第一」、「第二」、「第三」などが特定の順序を示すことを含意することを示すものがなければ、これらの用語は、特定の順序を含意するものと理解されるべきではない。さらに、用語「第一」、「第二」、「第三」などが特定の数を示すことを含意することを示すものがなければ、これらの用語は、要素の特定の数を含意するものと理解されるべきではない。たとえば、第一のウィジェットが第一のサイドをもつと記載され、第二のウィジェットが第二のサイドをもつと記載されることがありうる。第二のウィジェットに関する用語「第二のサイド」の使用は、第二のウィジェットのかかるサイドを第一のウィジェットの「第一のサイド」から区別するためのものであって、第二のウィジェットが二つのサイドをもつことは含意しないことがありうる。
【００９３】
本開示において記載されるすべての例および条件付きの言辞は、本発明および発明者によって当技術分野の発展のために寄与される概念の理解において読者を助ける教育目的を意図されており、そのような特定的に記載される例および条件に限定することなく解釈されるものとする。本開示の実施形態について詳細に述べてきたが、本開示の精神および範囲から外れることなく、これにさまざまな変化、代替および変更をなすことができることは理解しておくべきである。
【００９４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
ネットワークを通じて通信するよう構成された通信装置と；
一つまたは複数のプロセッサと；
一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記コンピュータ可読媒体は、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでおり、前記動作は：
前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信する段階とを含む、
システム。
（付記２）
前記暗号学的処理が：
前記コンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を当該システムから前記コンピューティング装置に送信する段階と；
前記コンピューティング装置から当該システムにおいて第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記１記載のシステム。
（付記３）
前記暗号学的処理が：
前記コンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のパケットを暗号化して、データの暗号化された一つまたは複数のパケットにする段階と；
前記暗号化された一つまたは複数のパケットを前記コンピューティング装置に送信する段階とを含む、
付記１記載のシステム。
（付記４）
前記確率的丸めが、確率的な境界消去のある丸めを含む、付記１記載のシステム。
（付記５）
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、付記１記載のシステム。
（付記６）
確率的な境界消去のある前記偽の丸めが：
前記暗号学的処理に関連する値が丸め境界から閾値量以内であるかどうかを判定し；
前記値が丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
付記５記載のシステム。
（付記７）
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
方法。
（付記８）
前記暗号学的処理が：
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と；
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記７記載の方法。
（付記９）
前記第一のコンピューティング装置によって、前記第二のコンピューティング装置が制約されたコンテンツにアクセスする要求を受信する段階であって、前記要求は前記共有される鍵を含む、段階と；
前記要求に基づいて、前記制約されるコンテンツへのアクセスを、前記第二のコンピューティング装置に承認する段階とを含む、
付記８記載の方法。
（付記１０）
前記第二の公開鍵成分の少なくとも一つの丸められた要素をかさ上げする段階をさらに含む、付記８記載の方法。
（付記１１）
前記第二のコンピューティング装置から少なくとも一つの相互丸めビットを受信する段階をさらに含み、前記共有される鍵の導出がさらに、前記少なくとも一つの相互丸めビットに基づく、付記８記載の方法。
（付記１２）
前記暗号学的処理が：
前記第二のコンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と；
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
付記７記載の方法。
（付記１３）
前記一つまたは複数のデータ・パケットを暗号化することが：
前記公開鍵に関連する第一の行列の各要素に対して確率的丸めを実行して、第一のデータを生成し；
前記公開鍵に関連する第二の行列の各要素に対して確率的丸めを実行し；
前記パケットのメッセージを、前記確率的丸めを実行された第二の行列に加えて、第二のデータを生成し；
前記第一のデータおよび前記第二のデータの組み合わせを前記暗号化されたパケットとして出力することを含む、
付記１２記載の方法。
（付記１４）
前記確率的丸めが、確率的な境界消去のある丸めを含む、付記７記載の方法。
（付記１５）
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、付記７記載の方法。
（付記１６）
確率的な境界消去のある前記偽の丸めが：
前記暗号学的処理に関連するエントリーが丸め境界から閾値量以内であるかどうかを判定し；
前記エントリーが丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
付記１５記載の方法。
（付記１７）
確率的な境界消去のある前記偽の丸めがさらに、前記エントリーが前記丸め境界から前記閾値量より外側であることに応答して、そのエントリーを丸めることを含む、付記１６記載の方法。
（付記１８）
一つまたは複数のプロセッサによって実行されることに応答して動作を実行する命令を含んでいる非一時的なコンピュータ可読媒体であって、前記動作は：
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と；
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
コンピュータ可読媒体。
（付記１９）
前記暗号学的処理が：
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と；
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と；
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と；
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記１８記載のコンピュータ可読媒体。
（付記２０）
前記暗号学的処理が：
前記第二のコンピューティング装置から公開鍵を受信する段階と；
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と；
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
付記１８記載のコンピュータ可読媒体。
【符号の説明】
【００９５】
２１０  エントリーが丸め境界から閾値量以内であるかどうかを判定
２２０  エントリーに追加的な変動性を導入
２３０  エントリーを丸め
２４０  エントリーが丸め境界から閾値量以内であるかどうかを判定
２６０  エントリーを破棄
２７０  エントリーを丸め
３１０  第一のコンピューティング装置において秘密鍵を生成
３２０  第一のコンピューティング装置において公開鍵を生成
３３０  公開鍵を第一のコンピューティング装置から第二のコンピューティング装置に送信
３４０  第二のコンピューティング装置において、公開鍵を使って、かつ一つまたは複数の入力を確率的に丸めることによって、パケットを暗号化して、暗号化パケットにする
３５０  暗号化パケットを、第二のコンピューティング装置から第一のコンピューティング装置に送信
３６０  第一のコンピューティング装置において、秘密鍵を使ってパケットを復号
４１０  ハミング重みに基づいて第一のベクトルを生成
４２０  公開鍵の第一の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第二のベクトルを生成
４３０  公開鍵の第二の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第三のベクトルを生成
４４０  第二のベクトルの各エントリーを確率的に丸めることに基づいて、第四のベクトルを生成
４５０  第三のベクトルの各エントリーを確率的に丸め、暗号化されるべきメッセージを表わす値の倍数を加えることに基づいて、第五のベクトルを生成
４６０  第四のベクトルおよび第五のベクトルの組み合わせを、暗号化されたメッセージとして出力
５０５  第一の秘密情報を第一のコンピューティング装置において生成
５１０  確率的丸めを使って、第一の秘密情報に基づいて、第一のコンピューティング装置において第一の鍵成分を生成
５１５  第一の鍵成分を第一のコンピューティング装置から第二のコンピューティング装置に送信
５２０  第二の秘密情報を第二のコンピューティング装置において生成
５２５  第二の鍵成分を第二のコンピューティング装置において、確率的丸めを使って、第二の秘密情報および第一の鍵成分に基づいていて生成
５３０  第二の鍵成分を第二のコンピューティング装置から第一のコンピューティング装置に送信
５３５  相互丸めビットを第二のコンピューティング装置から第一のコンピューティング装置に送信
５４０  第二の鍵成分の少なくとも一つの丸められた要素を、第一のコンピューティング装置によってかさ上げ
５４５  共有される鍵を、第二の鍵成分に基づいて、第一のコンピューティング装置によって導出
５５０  前記共有される鍵を、第二のコンピューティング装置によって、第二の鍵成分に基づいて導出
５５５  制約されたコンテンツにアクセスするために、第二のコンピューティング装置から第一のコンピューティング装置に、前記共有される鍵に基づく要求を送信
５６０  前記要求に基づいて、制約されたコンテンツへのアクセスを承認
【図１】
2019020717.tif 000042
【図２】
2019020717.tif 000043
【図３】
2019020717.tif 000044
【図４】
2019020717.tif 000045
【図５Ａ】
2019020717.tif 000046
【図５Ｂ】
2019020717.tif 000047
【図６】
2019020717.tif 000048