JP2019020717A - 向上した通信セキュリティー - Google Patents

向上した通信セキュリティー Download PDF

Info

Publication number
JP2019020717A
JP2019020717A JP2018125704A JP2018125704A JP2019020717A JP 2019020717 A JP2019020717 A JP 2019020717A JP 2018125704 A JP2018125704 A JP 2018125704A JP 2018125704 A JP2018125704 A JP 2018125704A JP 2019020717 A JP2019020717 A JP 2019020717A
Authority
JP
Japan
Prior art keywords
computing device
rounding
public key
key component
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018125704A
Other languages
English (en)
Other versions
JP7200515B2 (ja
Inventor
モンゴメリー・ハート
Hart MONTGOMERY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2019020717A publication Critical patent/JP2019020717A/ja
Application granted granted Critical
Publication of JP7200515B2 publication Critical patent/JP7200515B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】向上した通信セキュリティーを備えるシステムを提供する。【解決手段】システムは、ネットワークを通じて通信するよう構成された通信装置と、一つまたは複数のプロセッサと、一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでいる、一つまたは複数の非一時的なコンピュータ可読媒体とを含む。動作は、ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する。暗号学的処理は確率的な丸めを含む。動作はまた、通信装置を介して、一つまたは複数のパケットを使って、ネットワークを通じてコンピューティング装置と通信する。【選択図】図3

Description

本開示で論じられる実施形態は、向上した通信セキュリティーに関する。
コンピュータ・ネットワークの普及により、コンピュータ・ネットワークを通じて通信される情報にアクセスしようとする多様な悪意ある行為者も登場している。コンピュータ・ネットワークを通じた安全な通信を提供するために努力が払われてきた。
本開示で請求される主題は、何らかの欠点を解決するまたは上記のような環境でのみ動作する実施形態に限定されるものではない。むしろ、この背景は、本開示で記載されるいくつかの実施形態が実施されうる一つの例示的な技術領域を示すために与えられているだけである。
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
本開示の一つまたは複数の実施形態は、ネットワークを通じて通信するよう構成された通信装置と、一つまたは複数のプロセッサと、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでいる、一つまたは複数の非一時的なコンピュータ可読媒体とを含むシステムを含んでいてもよい。前記動作は、前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行することを含んでいてもよい。前記暗号学的処理は確率的な丸めを含む。前記動作はまた、前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信することをも含んでいてもよい。
実施形態の目的および利点は、少なくとも請求項において具体的に指摘される要素、特徴および組み合わせによって実現され、達成されるであろう。
上記の一般的な記述および下記の詳細な説明はいずれも単に例であり、説明するものであり、特許請求される発明を制約するものではないことは理解される。
例示的実施形態が、付属の図面を使うことを通じて、追加的な具体性および詳細さをもって記述され、説明される。
向上した通信セキュリティーに関係する例示的環境を示す図である。 Aは確率的丸めの例示的方法のフローチャートであり、Bは確率的丸めのもう一つの例示的方法のフローチャートである。 通信セキュリティーを向上させるために確率的丸めを利用する例示的方法のフローチャートである。 確率的丸めを利用してパケットを暗号化する例示的方法のフローチャートである。 通信セキュリティーを向上させるために確率的丸めを利用するもう一つの例示的方法のフローチャートの前半である。 通信セキュリティーを向上させるために確率的丸めを利用するもう一つの例示的方法のフローチャートの後半である。 例示的なコンピューティング・システムを示す図である。
本開示は向上した通信セキュリティーに関する。現在のセキュリティー施策を考える仕方を変えてしまいうる量子コンピュータが開発中である。たとえば、現在のコンピュータでは十分でありうる典型的なセキュリティー施策は、量子コンピュータを使った攻撃には弱いことがありうる。これは量子コンピュータが利用可能になったときのセキュリティー・プロトコルにとっての問題を呈するばかりでなく、前方安全性(forward security)の問題も呈する。たとえば、敵が今は解読可能でないかもしれない暗号化データを捕捉することがあるが、量子コンピュータが利用可能になったとき、以前に捕捉されたデータが量子コンピュータを使って解読されることがありうる。このように、通信が量子コンピュータからの攻撃に対してでも安全であるよう安全な通信を改善するために、改善された暗号学的技法が有益でありうる状況がありうる。
本開示のいくつかの実施形態では、通信セキュリティーは、暗号学的処理における確率的丸めの使用によって向上されうる。確率的丸めとは、値がいくつかの状況においては丸められるが他の状況では丸められない任意の数学的演算を指しうる。いくつかの実施形態では、確率的丸めは、値が丸め境界から閾値距離以内であるかどうかを判定してもよい。値が閾値距離以内であれば、値は破棄されてもよく、あるいは追加的なランダムさが値に導入されてもよい。いくつかの実施形態では、確率的丸めは、データ・パケットの暗号化において、あるいは鍵もしくは鍵成分の生成において使われてもよい。いくつかの実施形態では、確率的丸めは法の丸めを利用してもよい。
確率的丸めの使用は、コンピュータそのものの動作、データを通信するネットワークおよび通信セキュリティーの関係分野にいくつかの恩恵を提供しうる。コンピュータそのものについては、確率的丸めは、他の暗号学的技法に対して効率性を稼ぐことができる。たとえば、丸めの使用は、ある種の暗号学的処理が実行されるレートを単純化し、高速化しうる。プロセスを高速化することによって、暗号学的処理を実行しているコンピュータそのものがそのパフォーマンスを改善しうる。このように、本開示の実施形態は、コンピュータそのもののパフォーマンスを改善しうる。
ネットワークの動作を改善することについては、確率的丸めは暗号化されたデータのサイズを小さくでき、低下したネットワーク帯域幅要求を許容しうる。こうして、貴重なネットワーク資源が節約される。例として、数が10,678,994から10,679,000に丸められる場合、末尾の三つの0はネットワークを通じて送信される必要はなく、数は受信装置においてかさ上げ〔リフト〕されてもよい。たとえば、10,678,994から10,679,000に丸めるとき、値10,679がネットワークを通じて転送されてもよく、受信装置は値10,679をかさ上げしてもとの10,679,000にしうる。このように、本開示の実施形態は、ネットワーク資源を節約することによって、ネットワークの機能を改善しうる。さらに、この例では典型的な数値が使われているが、数値の二進表現が使われてもよい。
通信セキュリティーの関係分野を改善することについては、確率的丸めは、典型的な暗号学的技法に対して、通信のセキュリティーを高めることができる。たとえば、値を破棄する、あるいは丸め境界から閾値距離以内にある値にランダム性を加えることによって、いくつかの状況では、それらの値を観察する敵はそれらの値を真にランダムな値から区別できないことがありうる。このように、本開示の実施形態は、通信セキュリティーの関係分野を改善しうる。
本開示の実施形態について、付属の図面を参照して説明する。
図1は、本開示の一つまたは複数の実施形態に基づく、向上された通信セキュリティーに関係した例示的環境100を示している。いくつかの実施形態では、環境100は、ネットワーク130を通じて通信する第一のコンピューティング装置110および第二のコンピューティング装置120を含んでいてもよい。第一のコンピューティング装置110および第二のコンピューティング装置120は安全な仕方で通信することを試みてもよく、一方、敵140が第一のコンピューティング装置110と第二のコンピューティング装置120の間の通信のセキュリティーを破ることを試みることがありうる。
いくつかの実施形態では、第一のコンピューティング装置110および/または第二のコンピューティング装置120は、第一のコンピューティング装置110と第二のコンピューティング装置120の間の安全な通信を容易にするために、一つまたは複数の暗号学的技法を利用してもよい。たとえば、第一のコンピューティング装置110が第二のコンピューティング装置120と鍵成分を交換してもよく、それにより、両方のコンピューティング装置が共有される鍵を生成しうる。追加的な例として、第一のコンピューティング装置110が公開鍵および秘密鍵を生成して、公開鍵のほうを共有してもよく、それにより、第二のコンピューティング装置120は該公開鍵にアクセスして、該公開鍵を使ってデータを暗号化してもよく、第一のコンピューティング装置110は、暗号化されたデータを、秘密鍵を使って解読してもよい。これらおよび他の実施形態において、第一のコンピューティング装置110および/または第二のコンピューティング装置120は、前記一つまたは複数の暗号学的技法を実行する際に、確率的丸めを利用してもよい。確率的丸めの二つの例が図2のAおよびBを参照して記述される。
暗号学的技法の例としての鍵交換を参照するに、いくつかの実施形態では、第一のコンピューティング装置110は第一の公開鍵成分および第一の秘密情報を生成してもよい。第一のコンピューティング装置110は第一の公開鍵成分をネットワーク130を通じて第二のコンピューティング装置120に送ってもよい。第一の公開鍵成分を使って第二のコンピューティング装置は第二の公開鍵成分および第二の秘密情報を生成してもよい。第二のコンピューティング装置120は第二の公開鍵成分を第一のコンピューティング装置110に送信してもよい。第一のコンピューティング装置110は、前記第一の秘密情報および前記第一および第二の公開鍵成分の一つまたは複数を使って、共有される鍵を導出してもよく、第二のコンピューティング装置120は、前記第二の秘密情報および前記第一および第二の公開鍵成分の一つまたは複数を使って、前記共有される鍵を導出してもよい。前記共有される鍵を使って、第一のコンピューティング装置110および/または第二のコンピューティング装置120は、第一のコンピューティング装置110と第二のコンピューティング装置120の間で行ったり来たり伝送されるデータを暗号化したり、あるいは他の仕方で保護したりしてもよい。追加的または代替的に、第一のコンピューティング装置110および/または第二のコンピューティング装置120は、前記共有される鍵を含むまたは前記共有される鍵に基づく制約されたコンテンツに対する要求を提出してもよい。いくつかの実施形態では、敵140が前記第一の公開鍵成分および前記第二の公開鍵成分をそれらが交換される際に観察するまたは見ることがありうる。しかしながら、敵140は前記第一および第二の公開鍵成分だけに基づいて前記共有される鍵を導出することはできない。
暗号学的技法の別の例としての公開鍵暗号化を参照するに、第一のコンピューティング装置110が公開鍵および秘密鍵を生成してもよい。第一のコンピューティング装置110は公開鍵を第二のコンピューティング装置120に送ってもよい。第二のコンピューティング装置は公開鍵を使ってメッセージを暗号化してもよく、暗号化されたメッセージを第一のコンピューティング装置110に送ってもよい。第一のコンピューティング装置110は秘密鍵を使ってそのメッセージを解読してもよい。敵140が公開鍵を観察することがあり、暗号化されたメッセージを観察することがありうる。しかしながら、敵140は単に公開鍵を用いてメッセージを解読することはできないし、暗号化されたメッセージをランダムな値から区別することができないこともありうる。
いくつかの実施形態では、第一のコンピューティング装置110および/または第二のコンピューティング装置120は、第一のコンピューティング装置110と第二のコンピューティング装置120の間の通信のセキュリティーを改善するために、確率的な丸めを利用してもよい。たとえば、いくつかの実施形態では、確率的丸めは、パケットの暗号化において利用されてもよい。パケットを暗号化するために確率的丸めを利用することの例は、図3および/または図4に関して記述される。もう一つの例として、いくつかの実施形態では、確率的丸めは、公開鍵成分の生成において利用されてもよい。公開鍵成分の生成に関して確率的丸めを利用することの例は、図5Aおよび図5Bに関して記述される。
第一のコンピューティング装置110および第二のコンピューティング装置120は、ネットワーク130を通じて通信するよう構成された任意のコンピューティング装置として実装されうる。たとえば図6に関して記述されるコンピューティング・システムである。
ネットワーク130は、通常型ネットワーク、有線もしくは無線ネットワークとして実装されてもよく、および/または数多くの異なる構成またはそれらの組み合わせの任意のものをもちうる。さらに、ネットワーク130はローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)(たとえばインターネット)または他の相互接続されたデータ経路であって、それを通じて複数の装置および/またはエンティティが通信しうるものを含んでいてもよい。いくつかの実施形態では、ネットワーク130は、ピアツーピア・ネットワークを含んでいてもよい。ネットワーク130は、多様な異なる通信プロトコルでデータを送るために遠隔通信ネットワークの諸部分に結合されていてもよく、あるいは該諸部分を含んでいてもよい。いくつかの実施形態では、ネットワーク130は、通信および/またはデータを送受信するためにブルートゥース(登録商標)通信ネットワークまたはセルラー通信ネットワークを含んでいてもよい。そのような送受信は、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージング・サービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、無線アプリケーション・プロトコル(WAP)、電子メールおよび/またはその他のアプローチを介してのものを含む。ネットワーク130は、第三世代(3G)、第四世代(4G)、ロングタームエボリューション(LTE)、ロングタームエボリューションアドバンスト(LTE-A)、LTEを通じた音声(「VoLTE」)または他の任意のモバイル・データ・ネットワークもしくは諸モバイル・データ・ネットワークの組み合わせを含んでいてもよい。
本開示の範囲から外れることなく、環境100に修正、追加または省略がなされてもよい。たとえば、環境100は、任意の仕方で接続される任意の数のコンピューティング装置を含んでいてもよい。多くの場合、環境100は、図示したよりも多くのコンピューティング装置を含んでいてもよい。
整数p≦qについて、法の丸めを数学的に記述するとき、法の丸め〔モジュラー丸め(modular rounding)〕は数学的に次のように記述されてもよい。
Figure 2019020717
たとえば、pが10,000であり、qが100,000である場合、法の丸め関数は10,000/100,000(すなわち1/10)に関心対象の値を乗算して、結果を四捨五入してもよい。そのような丸めは、丸められた結果から不必要な0を除去しうる。行列またはベクトルに適用されるとき、そのような丸めはZq上で座標ごとに拡張されうる。
いくつかの実施形態では、通信を安全にするために使われる一つの数学的手法は、LWE(Learning With Errors)問題と称されることがある。LWE問題は、整数nおよびq、Zq上の何らかの分布ψならびにいずれもZq n上の分布である分布KおよびTを参照して記述されうる。記号Zq nはqを法とした整数(たとえば、0からq−1までの実数)のベクトルを表わし、n個の整数をもつ。(q,n,ψ,K,T)を含むLWE問題は、未指定のチャレンジ・オラクルOLWEを参照して記述されてもよい。これは、分布Kからサンプリングされた、何らかの一定のランダムな秘密鍵s∈Zq nを担持する、ノイズのある擬似ランダム・サンプラーOs LWE、あるいは真にランダムなサンプラーO$ LWEであり、それらの挙動はそれぞれ次のようになる。
OS LWE
Figure 2019020717
の形のサンプルを出力。ここで、s∈Zq nは分布Kからサンプリングされた諸呼び出しを通じて不変な持続値を含み、δi∈Zqは分布ψからのフレッシュなサンプルを含み、ai∈Zq nはTからランダムにサンプリングされた値を含む。
O$ LWE
Figure 2019020717
の形のサンプルを出力。ここで、ベクトルai∈Zq nはTからランダムにサンプリングされた値を含み、riはZqからの一様にランダムなサンプルを含む。変数$はオラクルが真にランダムであることを示す。
(q,n,ψ,K,T)を含むLWE問題は、チャレンジ・オラクルOLWEへの反復される問い合わせを許容する。アルゴリズムAは、Kからランダムに適切に選択されたベクトルsについて
Figure 2019020717
が無視できない場合に、LWE問題を決定しうる。ここで、Advはベクトルsの値を決定することにおける有利さの指示を表わしていてもよく、Prはその事象が生起する確率を決定するための関数を表わしていてもよい(たとえば、
Figure 2019020717
は、アルゴリズムAがOS LWEについて正しい値を推定する確率を表わしうる)。
いくつかの実施形態では、通信を安全にするために使われる別の数学的手法が、LWR(Learning With Rounding)と称されることがある。LWR問題は、p≦qであるとして整数n、pおよびq、Zq上の何らかの分布ψならびにいずれもZq n上の分布である分布KおよびTを参照して記述されうる。(q,p,n,ψ,K,T)を含むLWR問題は、未指定のチャレンジ・オラクルOLWRを参照して記述されてもよい。これは、分布Kからサンプリングされた、何らかの一定のランダムな秘密鍵s∈Zq nを担持する、ノイズのある擬似ランダム・サンプラーOs LWR、あるいは真にランダムなサンプラーO$ LWRであり、それらの挙動はそれぞれ次のようになる。
OS LWR
Figure 2019020717
の形のサンプルを出力。ここで、s∈Zq nは分布Kからサンプリングされた諸呼び出しを通じて不変な持続値を含み、ai∈Zq nはTからランダムにサンプリングされた値を含む。
O$ LWR
Figure 2019020717
の形のサンプルを出力。ここで、ai∈Zq nはTからランダムにサンプリングされた値を含み、riはZqからの一様にランダムなサンプルを含む。変数$はオラクルが真にランダムであることを示す。
(q,p,n,ψ,K,T)を含むLWR問題は、チャレンジ・オラクルOLWRへの反復される問い合わせを許容する。アルゴリズムAは、Kからランダムに適切に選択されたベクトルsについて
Figure 2019020717
が無視できない場合に、LWR問題を決定しうる。
いくつかの実施形態では、法の丸め後、整数はかさ上げ〔リフト〕されてもとのオーダーに戻されてもよい。かさ上げは、法の丸めでの場合と同様の意味をもつpおよびqに関して数学的に記述されうる。かさ上げは、数学的には
Figure 2019020717
と記述されてもよい。ここで、Rは実数を表わしてもよく、Zは整数を表わしてもよい。このようにして、かさ上げは、オーダーを低下させたモジュラー丸め関数を逆にしうるものであり、丸められた値をもとのオーダーに戻すかさ上げをするためのものである。いくつかの実施形態では、かさ上げは次のように表わされるよう拡張されうる。
Figure 2019020717
いくつかの実施形態では、丸める前に数がどのくらい丸め境界に近いことがありうるかを判別するために、境界Bが含められてもよい。たとえば、分布の属ψ∈{ψn}n∈Nについて、分布が−BとB内にはいる確率が1であれば、あるいは数学的には
Figure 2019020717
であれば、分布はBを境界として有界であると考えられてもよい。
いくつかの実施形態では、通信を安全にするために使われる数学的手法は、境界消去のある確率的丸めを含む確率的丸めを含んでいてもよい。そのような実施形態では、法の丸めは、数値が丸め境界Bからある閾値量以内でない限り、該数値に対して実行されてもよい。境界消去のある確率的丸めは、数学的には
Figure 2019020717
と書かれてもよい。ここで、pおよびqはp≦qの整数であってもよく、Bは丸め境界を指してもよく、B∈Z<(q/p)/2によって表わされてもよい。ψは、B有界な誤差分布であるZq上の分布を含んでいてもよい。境界消去のある確率的丸めを入力x∈Zqに適用することは、次のように進みうる。
Figure 2019020717
ここで、δは分布ψからサンプリングされる値であり、⊥は値xが破棄されることを表わす。このように、丸められるべき法のもとでの値が境界Bから閾値以内にある状況では、その値は破棄されてもよく、そうでない場合には、その値は法のもとで丸められてもよい。境界消去のある確率的丸めは、LWE問題および/またはLWR問題と同じくらい安全でありえ、LWE問題および/またはLWR問題よりも効率的でありうる。
いくつかの実施形態では、通信を安全にするために使われる数学的手法は、境界消去のある偽の丸めを含む確率的丸めを含んでいてもよい。そのような実施形態では、法の丸めは、数値が丸め境界Bからある閾値量以内でない限り、該数値に対して実行されてもよく、その場合、追加的なランダムさが値に加えられてもよい。境界消去のある偽の丸めは、数学的には
Figure 2019020717
と書かれてもよい。ここで、pおよびqはp≦qの整数であってもよく、Bは丸め境界を指してもよく、B∈Z<(q/p)/4によって表わされてもよい。ψは、B有界な誤差分布であるZq上の分布を含んでいてもよい。いくつかの実施形態では、境界消去のある偽の丸めは、誤差累積分布関数(CDF: cumulative distribution function)ΨB,x→{0,1}を利用してもよい。誤差CDFは、所与のxおよびψについて、次のように分布させられてもよい。
Figure 2019020717
境界消去のある偽の丸めを入力x∈Zqに適用することは、次のように進みうる。
Figure 2019020717
ここで、zは値xがどのくらい境界に近いかを示しうる、分布誤差CDF分布ΨB,xからサンプリングされた値であり(たとえばzが1であれば、それは値xが境界Bに近いことを示しうるので、追加的なランダムさが加えられる)、bは丸められた値に追加的なランダムさを加えるために選択される値である。このように、丸められるべき値が境界Bから閾値以内にある状況では、その値は追加的なランダムさを加えられてもよく、そうでない場合には、その値は法のもとで丸められてもよい。さらに、境界消去のある偽の丸めは、境界消去のある確率的丸めと同様であってもよく、変異は、丸められるべき値が境界に近いときに、破棄されるのではなく、追加的なランダムさがその値に加えられるということである。
図2のAおよびBは、本開示の一つまたは複数の実施形態に基づく、確率的丸めの例示的方法200aおよび200bのフローチャートを示している。方法200aは、境界消去のある偽の丸めの例を示しており、方法200bは境界消去のある確率的丸めの例を示している。方法200aおよび200bは、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図1の第一または第二のコンピューティング装置110/120または他のシステムまたは装置が、方法200aおよび/または200bのいずれかに関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法200aおよび200bのブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。
図2のAを参照するに、ブロック210において、エントリーが丸め境界から閾値量以内であるかどうかについて判定がなされてもよい。たとえば、コンピューティング装置(たとえば図1の第一のコンピューティング装置110)が、暗号学的処理との関連で法の丸め関数を実行していてもよく、エントリーが境界Bにどのくらい近いかを判別してもよい。これらおよび他の実施形態において、エントリーは単独の値を含んでいてもよく、あるいはベクトルまたは行列内の要素を含んでいてもよい。エントリーが閾値量以内であると判定することに応答して、方法200aはブロック220に進んでもよい。エントリーが閾値量の外側であると判定することに応答して、方法200aはブロック230に進んでもよい。ブロック210の数学的動作は次を含んでいてもよい。
Figure 2019020717
ブロック220では、エントリーに追加的な変動性が導入されてもよい。たとえば、コンピューティング装置は、エントリーを真にランダムな値から区別するのが一層難しくなるよう、エントリーについての変動性を増大させてもよい。たとえば、いくつかの値については、法の丸め演算の結果が追加的な1または0を加えられてもよく、他の値については、法の丸め演算の結果は追加的な1または0を減算されてもよい。ブロック220の数学的動作は次を含んでいてもよい。
Figure 2019020717
ブロック230では、エントリーは丸められてもよい。たとえば、コンピューティング装置はエントリーに対して法の丸め演算を実行してもよい。ブロック230の数学的動作の例は次を含んでいてもよい。
Figure 2019020717
図2のBを参照するに、ブロック240において、エントリーが丸め境界から閾値量以内であるかどうかについて判定がなされてもよい。ブロック240は図2のAのブロック210と同様または類似であってもよい。エントリーが閾値量以内であると判定することに応答して、方法200bはブロック260に進んでもよい。エントリーが閾値量の外側であると判定することに応答して、方法200bはブロック270に進んでもよい。ブロック240の数学的動作は次を含んでいてもよい。
Figure 2019020717
ブロック260では、エントリーは破棄されてもよい。たとえば、ブロック240のエントリーが境界から閾値以内であれば、コンピューティング装置(たとえば第一のコンピューティング装置110)は、そのエントリーが暗号学的処理の間に含められないよう、破棄してもよい。ブロック260の数学的動作は次を含んでいてもよい。
Figure 2019020717
ブロック270では、エントリーは丸められてもよい。ブロック270は図2のAのブロック230と同様または類似であってもよい。ブロック270の数学的動作の例は次を含んでいてもよい。
Figure 2019020717
よって、方法200aおよび200bは、確率的丸めを実行するために使用されうる。本開示の範囲から外れることなく、方法200aおよび/または200bに修正、追加または省略がなされてもよい。たとえば、方法200aおよび/または200bの動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
図3は、本開示の一つまたは複数の実施形態に基づく、通信セキュリティーを向上させるために確率的丸めを利用する例示的方法300のフローチャートを示している。方法300は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図1の第一または第二のコンピューティング装置110/120または他のシステムまたは装置が、方法300に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法300のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。いくつかの実施形態では、方法300は、確率的丸めを利用する公開鍵交換の例を実装する。
ブロック310では、秘密鍵が生成されてもよい。たとえば、第一のコンピューティング装置(たとえば図1の第一のコンピューティング装置110)が暗号学的動作の一部として秘密鍵を生成してもよい。秘密鍵は、他のコンピューティング装置から受領されるデータ・パケットを復号するために第一のコンピューティング装置によって利用されうる数学的な値または演算子を含みうる。ブロック310の数学的動作の例は、整数m、n、hs、hr、l、t、pおよびqを使うKeyGen演算を含んでいてもよい。ここで、hs<n、hr<mであり、t|p|qである。ここで、|は整除演算子を表わす(たとえば、tをpまたはqで割ったときに余りがなく、pをqで割ったときに余りがない)。
KeyGen演算は、公開鍵pkおよび秘密鍵skを出力しうる。たとえば、
Figure 2019020717
たとえば、Aは、空間Zqからのランダムな値をもつ、次元mかけるnの行列であってもよい。
Figure 2019020717
たとえば、Sはハミング重み分布HWTnに基づいて導出される秘密のベクトルの行列であってもよい。
Figure 2019020717
たとえば、EはSの秘匿性を保護するためにランダムさを導入するための行列であってもよく、B有界の誤差分布ψ:{・}→Zqから選択される要素をもつ、次元mかけるlのものであってもよい。
Figure 2019020717
たとえば、BはA、SおよびEを組み合わせた行列であってもよい。
このように、公開鍵は、AとBの連結を含んでいてもよく、秘密鍵はSであってもよい。
ブロック320では、公開鍵が第一のコンピューティング装置において生成されてもよい。たとえば、第一のコンピューティング装置(たとえば図1の第一のコンピューティング装置110)は暗号学的動作の一部として公開鍵を生成してもよい。公開鍵は、第一のコンピューティング装置への通信のために一つまたは複数のデータ・パケットを暗号化するために一つまたは複数の他のコンピューティング装置によって利用されうる数学的な値または演算子を含みうる。ブロック320の数学的動作の例は、pkを生成するためにブロック310に関して述べたものを含みうる。
ブロック330では、公開鍵が第一のコンピューティング装置から第二のコンピューティング装置に送信されてもよい。たとえば、第一のコンピューティング装置は、公開鍵を含む一つまたは複数のデータ・パケットを生成して、該データ・パケットをネットワークを通じて第二のコンピューティング装置(たとえば図1の第二のコンピューティング装置120)に送信してもよい。
ブロック340では、第二のコンピューティング装置において、公開鍵を使って、一つまたは複数のデータ・パケットが暗号化されてもよい。データ・パケット暗号化は、前記一つまたは複数の暗号化されたデータ・パケットを生成することにおいて使われる入力の少なくとも一つに対して、確率的丸めを利用してもよい。たとえば、第二のコンピューティング装置は、第一のコンピューティング装置のために意図されたデータ・パケットを暗号化するために、確率的丸めを利用してもよい。ブロック340に関連する数学的動作の例は、下記のようなEncpk(m∈Zt l)を使って、メッセージmを公開鍵pkを使って暗号化して、暗号化されたメッセージcにすることを含んでいてもよい。
Figure 2019020717
ここで、rは、ハミング重み分布に基づく要素をもつ、ランダムさを導入するための値のベクトルであり、a'およびb'はそれぞれAおよびBの転置とrとの組み合わせのベクトルである。暗号化されたメッセージcは二つの成分aおよびbを含んでいてもよい。aは空間Zpにおけるa'の確率的丸め(上記では確率的な境界消去のある偽の丸めで示されている)に対応してもよい。bはb'の確率的丸め(上記では確率的な境界消去のある偽の丸めで示されている)と、メッセージmをより上の桁のビットにシフトさせるためにp/tを乗算された秘密のメッセージとに対応してもよい。上記では確率的な境界消去のある偽の丸めを使って例示されているが、境界消去のある確率的丸めが使われてもよい。確率的丸めを利用して一つまたは複数のデータ・パケットを暗号化するもう一つの例は、図4を参照して記述される。
ブロック350では、ブロック340で暗号化された前記一つまたは複数のパケットは、第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。
ブロック360では、第一のコンピューティング装置は秘密鍵を使って前記一つまたは複数のパケットを復号してもよい。たとえば、第一のコンピューティング装置は、暗号化されたメッセージに対して秘密鍵を使ってDecsk演算を実行して、メッセージm'を導出してもよい。Decsk演算の例は次を含んでいてもよい。
Figure 2019020717
ここで、tはZt lのもとのメッセージの法を表わす。Decsk演算は、暗号化されたメッセージcからa'およびb'を除去して、もとのメッセージを導出しうる。
このように、方法300は、確率的丸めを使って、セキュリティー保護された通信を向上させるために使われうる。本開示の範囲から外れることなく、方法300に修正、追加または省略がなされてもよい。たとえば、方法300の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
図4は、本開示の一つまたは複数の実施形態に基づく、確率的丸めを利用してパケットを暗号化する例示的方法400のフローチャートを示している。方法400は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図1の第一または第二のコンピューティング装置110/120または他のシステムまたは装置が、方法400に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法400のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。方法400の記述は、図3のブロック340を参照して使われたのと同様の意味をもつ一つまたは複数の同様の変数を利用することがある。
ブロック410では、ハミング重みに基づいて第一のベクトルまたは行列が生成されてもよい。たとえば、第一のコンピューティング装置(たとえば図1の第一のコンピューティング装置110)がベクトルrを生成してもよい。いくつかの実施形態では、rはr←HWTm(hr)に従って生成されうる。
ブロック420では、公開鍵の第一の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第二のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルa'を生成してもよい。いくつかの実施形態では、ベクトルa'は'←ATrに従って生成されてもよい。
ブロック430では、公開鍵の第二の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第三のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルb'を生成してもよい。いくつかの実施形態では、ベクトルb'は'←BTrに従って生成されてもよい。
ブロック440では、第二のベクトルの各エントリーを確率的に丸めることに基づいて、第四のベクトルが生成されてもよい。たとえば、第一のコンピューティング装置がベクトルaを生成してもよい。いくつかの実施形態では、ベクトルaは
Figure 2019020717
に従って生成されてもよい。確率的丸めの一つの実施形態(境界消去のある偽の丸め)を使って示されているが、境界消去のある偽の丸めのような他の実施形態も利用されうる。
ブロック450では、第三のベクトルの各エントリーを確率的に丸め、暗号化されるべきメッセージを表わす値の倍数を加えることに基づいて、第五のベクトルが生成されてもよい。いくつかの実施形態では、前記値は複数の値のベクトルを含んでいてもよい。たとえば、第一のコンピューティング装置がベクトルbを生成してもよい。いくつかの実施形態では、ベクトルbは
Figure 2019020717
に従って生成されてもよい。確率的丸めの一つの実施形態(境界消去のある偽の丸め)を使って示されているが、境界消去のある偽の丸めのような他の実施形態も利用されうる。
ブロック460では、第四および第五のベクトルの組み合わせとして、暗号化されたメッセージが出力されうる。たとえば、第一のコンピューティング装置が暗号化されたメッセージcを出力してもよい。いくつかの実施形態では、暗号化されたメッセージcは、
Figure 2019020717
に従って生成されてもよい。
このように、方法400は、確率的丸めを使って、パケットを暗号化するために使われうる。本開示の範囲から外れることなく、方法400に修正、追加または省略がなされてもよい。たとえば、方法400の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
図5Aおよび図5Bは、本開示の一つまたは複数の実施形態に基づく、確率的丸めを利用して通信セキュリティーを向上させる例示的方法500のフローチャートを示している。方法500は、いかなる好適なシステム、装置またはデバイスによって実行されてもよい。たとえば、図1の第一または第二のコンピューティング装置110/120または他のシステムまたは装置が、方法500に関連する動作の一つまたは複数を実行してもよい。離散的なブロックで図示されているが、方法500のブロックの一つまたは複数の関連する段階および動作は、所望される実装に依存して、追加的なブロックに分割されたり、より少数のブロックに組み合わされたり、あるいはなくされたりしてもよい。いくつかの実施形態では、方法500は、
確率的丸めを利用した鍵交換の例を示していてもよい。
図5Aを参照するに、ブロック505において、第一の秘密情報が第一のコンピューティング装置において生成されてもよい。たとえば、第一のコンピューティング装置(たとえば図1の第一のコンピューティング装置110)は第一の秘密情報を、暗号学的処理の一部として生成してもよい。ブロック505の数学的演算の一例は:
Figure 2019020717
を含んでいてもよい。ここで、ψは、B有界な誤差分布であるZq上の分布を含んでいてもよく、qおよびBは上記と同じであり、nおよび ̄付きのnは行列Sの次元を表わしていてもよい。
ブロック510において、第一の秘密情報に基づく第一の公開鍵成分が第一のコンピューティング装置において生成されてもよい。いくつかの実施形態では、第一の公開鍵成分は二つの成分seedAおよびBを含んでいてもよい。いくつかの実施形態では、第一の公開鍵成分としてAではなくseedAを利用することは、seedAはAよりも小さいことがありうるので、ネットワーク帯域幅を節約しうる。第一の公開鍵成分seedAおよびBを導出するためのブロック510の数学的演算の例は、次を含んでいてもよい。
Figure 2019020717
ここで、seedは長さSの0および1の一様にランダムなストリングであり、Gen()はseedAに対して実行されたときに予測可能な結果Aを与えるための既知の関数を表わしていてもよく、nは行列Aの次元を表わしていてもよく、ψはB有界な誤差分布であるZq上の分布を含んでいてもよく、p、qおよびBは上記と同じである。いくつかの実施形態では、第一の鍵成分は確率的丸めを使って生成されてもよい。確率的丸めの一つの実施形態とを使うこととして例解されているが、境界消去をもつ偽の丸めのような他の実施形態が利用されてもよい。
ブロック515では、第一の公開鍵成分が、第一のコンピューティング装置から第二のコンピューティング装置(たとえば図1の第二のコンピューティング装置120)に送信されてもよい。
ブロック520では、第二の秘密情報が第二のコンピューティング装置において生成されてもよい。ブロック520はブロック505と同様または類似であってもよいが、動作は第二のコンピューティング装置によって実行されてもよい。第二の秘密情報S'を導出するためのブロック520の数学的演算の一例は:
Figure 2019020717
を含んでいてもよい。ここで、 ̄付きのmは行列S'の次元を表わしていてもよく、他の変数は上記と同じであってもよい。
ブロック525では、第二の公開鍵成分が第二のコンピューティング装置において、確率的丸めを使って生成されてもよい。いくつかの実施形態では、第二の公開鍵成分は第二の秘密情報および/または第一の公開鍵成分に基づいていてもよい。第二の公開鍵成分は行列B'およびCを含んでいてもよい。ブロック530の数学的演算の例は、次を含んでいてもよい。
Figure 2019020717
ここで、nおよびmはAの次元の整数であり、B'は第二の秘密情報S'および行列Aの確率的に丸められた組み合わせである行列を含んでいてもよく、Vは、第二の秘密情報S'およびかさ上げされた行列Bの法の丸めをされた組み合わせである行列を含んでいてもよい。いくつかの実施形態では、B'の確率的に丸められたバージョンを使うことは、B'は末尾の0を担持する必要がないことがあるので、ネットワーク帯域幅の節約を提供しうる。
ブロック530では、第二の公開鍵成分が第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。
図5Bを参照するに、ブロック535では、相互丸め(cross-rounding)ビットが第二のコンピューティング装置から第一のコンピューティング装置に送信されてもよい。たとえば、第二のコンピューティング装置は、第二のコンピューティング装置および第一のコンピューティング装置が両コンピューティング装置の間の丸めが一貫して実行されていることを検証しうるよう、ある種の丸め演算がどのように実行されうるかを示す一つまたは複数のビットを生成してもよい。相互丸めビットを導出するためのブロック535の数学的演算の例は、相互丸め関数を含んでいてもよい。2の冪p(たとえば整数kについてp=2k)についてのそのような相互丸め関数は、数学的に次のように記述されうる。
Figure 2019020717
ここで、pはq以下であり、modは法の演算であり、この関数の出力は一つまたは複数のビットである。第二のコンピューティング装置における数学的記述を続けると、前記一つまたは複数の相互丸めビットCは
Figure 2019020717
によって生成されうる。ここで、2βは相互丸め関数におけるpを表わす。いくつかの実施形態では、前記一つまたは複数の相互丸めビットは、ブロック525において生成されブロック530において送信される第二の公開鍵成分の一部として含められてもよい。
ブロック540では、第二の公開鍵成分の少なくとも一つの丸められた要素が、第一のコンピューティング装置によってかさ上げされてもよい。たとえば、第一のコンピューティング装置は行列B'をかさ上げしてもよい。いくつかの実施形態では、第二のコンピューティング装置が一つまたは複数のかさ上げ動作を実行してもよい。
ブロック545では、共有される鍵が、第二の公開鍵成分に基づいて、第一のコンピューティング装置によって導出されてもよい。たとえば、第一のコンピューティング装置は、行列B'のかさ上げされたバージョン、第一の秘密情報Sおよび相互丸めビットCに対して数学的演算を実行してもよい。そのような数学的演算は、非特許文献1に記載されているものと同様または類似であってもよい。同文献の開示全体は参照によって組み込まれる。共有される鍵Kを導出するためのブロック545の数学的演算の例は次を含んでいてもよい。
Figure 2019020717
ブロック550では、前記共有される鍵が、第二のコンピューティング装置によって、第二の公開鍵成分に基づいて導出されてもよい。たとえば、第二のコンピューティング装置は、共有される鍵を生成するために行列Vに対して法の丸め演算を実行してもよい。いくつかの実施形態では、丸めは、前記相互丸めビットにおいて利用されるまたは前記相互丸めビットによって通信される情報に基づいて実行される。共有される鍵Kを導出するためのブロック550の数学的演算の例は次を含んでいてもよい。
Figure 2019020717
ブロック555では、制約されたコンテンツへのアクセスを要求するために、第二のコンピューティング装置から第一のコンピューティング装置に要求が送信されてもよい。要求は、共有される鍵に基づいていてもよい。たとえば、要求は共有される鍵を含んでいてもよく、あるいは共有される鍵を使ってエンコードまたは暗号化されてもよい。
ブロック560は、前記要求に基づいて制約されたコンテンツへのアクセスが承認されてもよい。たとえば、第一のコンピューティング装置は、前記要求の、前記共有される鍵に基づく一つまたは複数の側面を比較し、それらを前記共有される鍵と比較してもよい。マッチに基づいて、あるいは第二のコンピューティング装置が前記共有される鍵をもつことに基づいて、第一のコンピューティング装置は第二のコンピューティング装置に、前記制約されたコンテンツへのアクセスを承認してもよい。
よって、方法500は、確率的丸めを使ってパケットを暗号化するために使われてもよい。本開示の範囲から外れることなく、方法500に修正、追加または省略がなされてもよい。たとえば、方法400の動作は、異なる順序で実装されてもよい。追加的または代替的に、二つ以上の動作が同時に実行されてもよい。さらに、概説された動作およびアクションは例として与えられており、開示される実施形態の本質を損なうことなく、それらの動作およびアクションの一部は任意的であったり、より少数の動作およびアクションに組み合わされたり、追加的な動作およびアクションに展開されたりしてもよい。
図6は、本開示に記載される少なくとも一つの実施形態に基づく例示的なコンピューティング・システム600を示している。システム600は、ネットワークを通じて通信するいかなる好適なシステム、装置またはデバイスを含んでいてもよい。コンピューティング・システム600は、プロセッサ610、メモリ620、データ記憶部630および通信ユニット640を含んでいてもよく、これらはみな通信上結合されていてもよい。データ記憶部630はさまざまな型のデータ、たとえば確率的丸めを使うことなどによって通信セキュリティーを向上させるためのプロトコルまたは手順を含んでいてもよい。
一般に、プロセッサ610は、さまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含むいかなる好適な特殊目的または汎用のコンピュータ、コンピューティング・エンティティまたは処理装置を含んでいてもよく、いかなる適用可能なコンピュータ可読記憶媒体に記憶された命令を実行するよう構成されていてもよい。たとえば、プロセッサ610は、プログラム命令を解釈および/または実行するおよび/またはデータを処理するよう構成された、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)または他の任意のデジタルもしくはアナログ回路を含んでいてもよい。
図6では単一のプロセッサとして図示されているが、プロセッサ610は、個々にまたは集団的に、本開示において記述される任意の数の動作を実行するよう構成された、任意の数のネットワークもしくは物理的一に分散されていてもよい任意の数のプロセッサを含んでいてもよい。いくつかの実施形態では、プロセッサ610は、メモリ620、データ記憶630またはメモリ6202およびデータ記憶630に記憶されたデータを処理することおよび/またはプログラム命令を解釈および/または実行することを行なってもよい。いくつかの実施形態では、プロセッサ610は、データ記憶630からプログラム命令を取ってきて、該プログラム命令をメモリ620にロードしてもよい。
プログラム命令がメモリ620にロードされたのち、プロセッサ610はプログラム命令、たとえば図2のA、B、図3、図4および図5Aと図5Bのそれぞれ方法200a、200b、300、400または500を実行するための命令を実行してもよい。たとえば、プロセッサ610は、一つまたは複数の鍵を生成することまたはデータ・パケットを暗号化することに関する命令を取得してもよい。
メモリ620およびデータ記憶部630は、コンピュータ実行可能命令またはデータ構造を担持または記憶しているコンピュータ可読記憶メディアまたは一つまたは複数のコンピュータ可読記憶媒体を含んでいてもよい。そのようなコンピュータ可読記憶メディアは、プロセッサ610のような汎用または特殊目的のコンピュータによってアクセスされうるいかなる利用可能な媒体を含んでいてもよい。いくつかの実施形態では、コンピューティング・システム600は、メモリ620およびデータ記憶部630のいずれも、含んでいてもいなくてもよい。
限定ではなく例として、そのようなコンピュータ可読記憶メディアは、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能型読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス、フラッシュメモリ・デバイス(たとえば半導体メモリ・デバイス)またはコンピュータ実行可能命令もしくはデータ構造の形で所望されるプログラム・コードを担持または記憶するために使用でき、汎用もしくは特殊目的コンピュータによってアクセスされうる他の任意の記憶媒体を含む、非一時的なコンピュータ可読記憶媒体を含んでいてもよい。上記の組み合わせもコンピュータ可読記憶媒体の範囲内に含まれてもよい。コンピュータ実行可能命令は、たとえば、プロセッサ610にある種の動作または一群の動作を実行させるよう構成された命令およびデータを含んでいてもよい。
通信ユニット640は、ネットワークを通じて情報を送信または受信するよう構成されている任意のコンポーネント、デバイス、システムまたはそれらの組み合わせを含んでいてもよい。いくつかの実施形態では、通信ユニット640は他の位置、同じ位置における他の装置と、あるいはさらには同じシステム内の他のコンポーネントと通信してもよい。たとえば、通信ユニット640はモデム、ネットワーク・カード(無線または有線)、光通信デバイス、赤外線通信デバイス、無線通信デバイス(たとえばアンテナ)および/またはチップセット(たとえばブルートゥース装置、802.6装置(たとえば都市圏ネットワーク(MAN))、Wi-Fi装置、WiMax装置、セルラー通信設備など)および/またはその他を含んでいてもよい。通信ユニット640は、本開示に記載されるネットワークおよび/または他の任意の装置またはシステムとデータが交換されることを許容しうる。たとえば、通信ユニット640は、システム600が他のシステム、たとえばコンピューティング装置および/または他のネットワークと通信することを許容しうる。
本開示の範囲から外れることなく、システム600に修正、追加または省略がなされてもよい。たとえば、データ記憶部630は、複数の位置に位置しており、ネットワークを通じてプロセッサ610によってアクセスされる複数の異なる記憶媒体であってもよい。
上記のように、本開示に記載される実施形態は、下記でより詳細に論じられる、さまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含む特殊目的または汎用のコンピュータ(たとえば図6のプロセッサ610)の使用を含んでいてもよい。さらに、上記のように、本開示に記載される実施形態は、コンピュータ実行可能命令またはデータ構造を担持または記憶しているコンピュータ可読媒体(たとえば図6のメモリ620またはデータ記憶部630)を使って実装されてもよい。
本開示での用法では、用語「モジュール」または「コンポーネント」は、該モジュールまたはコンポーネントの動作を実行するよう構成された特定のハードウェア実装および/またはコンピューティング・システムの汎用ハードウェア(たとえばコンピュータ可読媒体、処理装置または他の何らかのハードウェア)に記憶および/または実行さうれるソフトウェア・オブジェクトまたはソフトウェア・ルーチンを指しうる。いくつかの実施形態では、本開示に記載される種々のコンポーネント、モジュール、エンジンおよびサービスは、(たとえば別個のスレッドとして)コンピューティング・システム上で実行されるオブジェクトまたはプロセスとして実装されてもよい。本開示に記載されるシステムおよび方法のいくつかは、一般に、(汎用ハードウェアに記憶および/または実行される)ソフトウェアで実装されるものとして記述されるが、個別のハードウェア実装またはソフトウェアと個別のハードウェア実装の組み合わせも可能であり、考えられている。本稿において、「コンピューティング・エンティティ」は、本開示で先に定義したような任意のコンピューティング・システムまたはコンピューティング・システム上で走る任意のモジュールもしくはモジュールの組み合わせでありうる。
慣用に従い、図面に示されるさまざまな特徴は同縮尺で描かれていないことがある。本開示に呈示される図は、いかなる特定の装置(たとえばデバイス、システムなど)または方法の実際のビューであることも意図されておらず、単に、本開示のさまざまな実施形態を記述するために用いられる理想化された表現である。よって、さまざまな特徴の寸法は、明確のために任意に拡大または縮小されることがある。さらに、図面のいくつかは明確のために単純化されてもよい。このように、図面は、所与の装置(たとえばデバイス)のコンポーネントの全部または特定の方法の全部の動作を描いていないことがある。
本開示および特に付属の請求項(たとえば付属の請求項の本文)において使われる用語は一般に「オープン」な用語として意図されている(たとえば、用語「含む」は「含むがそれに限られない」と解釈されるべきであり、用語「もつ」は「少なくとも…をもつ」と解釈されるべきであり、用語「含む」は「含むがそれに限られない」と解釈されるべきであるなど)。
さらに、導入される請求項の記載の特定の数が意図される場合、そのような意図は請求項において明示的に記載される。そのような記載のない場合には、そのような意図はない。たとえば、理解の助けとして、以下の付属の請求項は、請求項の記載を導入するために「少なくとも一つの」および「一つまたは複数の」という導入句の使用を含むことがありうる。
さらに、たとえ導入される請求項の記載の特定の数が明示的に記載される場合であっても、当業者は、そのような記載は少なくともその記載された数を意味すると解釈されるべきであることを認識するであろう(たとえば、他の修飾語なしで単に「二つの記載」という記載は、少なくとも二つの記載または二つ以上の記載を意味する)。さらに、「A、BおよびCなどのうちの少なくとも一つ」または「A、BおよびCなどの一つまたは複数」に類似する慣用句が使われる事例においては、一般に、そのような構文はAだけ、Bだけ、Cだけ、AおよびB両方、AおよびC両方、BおよびC両方またはA、BおよびC全部などを含むことが意図される。
さらに、明細書であれ請求項であれ図面であれ、二つ以上の代替的な用語を呈示するあらゆる選言的な語句は、該用語の一つを含む、該用語のいずれかを含むまたは該用語の両方を含む可能性を考えているものと理解されるべきである。たとえば、「AまたはB」という句は、「A」または「B」または「AおよびB」の可能性を含むと理解されるべきである。
しかしながら、たとえ同じ請求項が導入句「一つまたは複数の」または「少なくとも一つの」および「a」または「an」のような不定冠詞を含むときでも、そのような句の使用は、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入された請求項の記載を含む何らかの特定の請求項を、そのような記載を一つだけ含む実施形態に限定することを含意していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも一つの」または「一つまたは複数の」を意味するものと解釈されるべきである)。同じことは、請求項の記載を導入する定冠詞の使用についても成り立つ。
さらに、用語「第一」、「第二」、「第三」などの使用は、本稿では必ずしも、要素の特定の順序または数を含意するために使われるのではない。一般に、用語「第一」、「第二」、「第三」などは、一般的な識別子として、異なる要素の間で区別をするために使われる。用語「第一」、「第二」、「第三」などが特定の順序を示すことを含意することを示すものがなければ、これらの用語は、特定の順序を含意するものと理解されるべきではない。さらに、用語「第一」、「第二」、「第三」などが特定の数を示すことを含意することを示すものがなければ、これらの用語は、要素の特定の数を含意するものと理解されるべきではない。たとえば、第一のウィジェットが第一のサイドをもつと記載され、第二のウィジェットが第二のサイドをもつと記載されることがありうる。第二のウィジェットに関する用語「第二のサイド」の使用は、第二のウィジェットのかかるサイドを第一のウィジェットの「第一のサイド」から区別するためのものであって、第二のウィジェットが二つのサイドをもつことは含意しないことがありうる。
本開示において記載されるすべての例および条件付きの言辞は、本発明および発明者によって当技術分野の発展のために寄与される概念の理解において読者を助ける教育目的を意図されており、そのような特定的に記載される例および条件に限定することなく解釈されるものとする。本開示の実施形態について詳細に述べてきたが、本開示の精神および範囲から外れることなく、これにさまざまな変化、代替および変更をなすことができることは理解しておくべきである。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークを通じて通信するよう構成された通信装置と;
一つまたは複数のプロセッサと;
一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記コンピュータ可読媒体は、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでおり、前記動作は:
前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信する段階とを含む、
システム。
(付記2)
前記暗号学的処理が:
前記コンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
前記第一の公開鍵成分を当該システムから前記コンピューティング装置に送信する段階と;
前記コンピューティング装置から当該システムにおいて第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記1記載のシステム。
(付記3)
前記暗号学的処理が:
前記コンピューティング装置から公開鍵を受信する段階と;
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のパケットを暗号化して、データの暗号化された一つまたは複数のパケットにする段階と;
前記暗号化された一つまたは複数のパケットを前記コンピューティング装置に送信する段階とを含む、
付記1記載のシステム。
(付記4)
前記確率的丸めが、確率的な境界消去のある丸めを含む、付記1記載のシステム。
(付記5)
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、付記1記載のシステム。
(付記6)
確率的な境界消去のある前記偽の丸めが:
前記暗号学的処理に関連する値が丸め境界から閾値量以内であるかどうかを判定し;
前記値が丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
付記5記載のシステム。
(付記7)
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
方法。
(付記8)
前記暗号学的処理が:
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と;
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記7記載の方法。
(付記9)
前記第一のコンピューティング装置によって、前記第二のコンピューティング装置が制約されたコンテンツにアクセスする要求を受信する段階であって、前記要求は前記共有される鍵を含む、段階と;
前記要求に基づいて、前記制約されるコンテンツへのアクセスを、前記第二のコンピューティング装置に承認する段階とを含む、
付記8記載の方法。
(付記10)
前記第二の公開鍵成分の少なくとも一つの丸められた要素をかさ上げする段階をさらに含む、付記8記載の方法。
(付記11)
前記第二のコンピューティング装置から少なくとも一つの相互丸めビットを受信する段階をさらに含み、前記共有される鍵の導出がさらに、前記少なくとも一つの相互丸めビットに基づく、付記8記載の方法。
(付記12)
前記暗号学的処理が:
前記第二のコンピューティング装置から公開鍵を受信する段階と;
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と;
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
付記7記載の方法。
(付記13)
前記一つまたは複数のデータ・パケットを暗号化することが:
前記公開鍵に関連する第一の行列の各要素に対して確率的丸めを実行して、第一のデータを生成し;
前記公開鍵に関連する第二の行列の各要素に対して確率的丸めを実行し;
前記パケットのメッセージを、前記確率的丸めを実行された第二の行列に加えて、第二のデータを生成し;
前記第一のデータおよび前記第二のデータの組み合わせを前記暗号化されたパケットとして出力することを含む、
付記12記載の方法。
(付記14)
前記確率的丸めが、確率的な境界消去のある丸めを含む、付記7記載の方法。
(付記15)
前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、付記7記載の方法。
(付記16)
確率的な境界消去のある前記偽の丸めが:
前記暗号学的処理に関連するエントリーが丸め境界から閾値量以内であるかどうかを判定し;
前記エントリーが丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
付記15記載の方法。
(付記17)
確率的な境界消去のある前記偽の丸めがさらに、前記エントリーが前記丸め境界から前記閾値量より外側であることに応答して、そのエントリーを丸めることを含む、付記16記載の方法。
(付記18)
一つまたは複数のプロセッサによって実行されることに応答して動作を実行する命令を含んでいる非一時的なコンピュータ可読媒体であって、前記動作は:
ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
コンピュータ可読媒体。
(付記19)
前記暗号学的処理が:
前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と;
前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
付記18記載のコンピュータ可読媒体。
(付記20)
前記暗号学的処理が:
前記第二のコンピューティング装置から公開鍵を受信する段階と;
一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と;
前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
付記18記載のコンピュータ可読媒体。
210 エントリーが丸め境界から閾値量以内であるかどうかを判定
220 エントリーに追加的な変動性を導入
230 エントリーを丸め
240 エントリーが丸め境界から閾値量以内であるかどうかを判定
260 エントリーを破棄
270 エントリーを丸め

310 第一のコンピューティング装置において秘密鍵を生成
320 第一のコンピューティング装置において公開鍵を生成
330 公開鍵を第一のコンピューティング装置から第二のコンピューティング装置に送信
340 第二のコンピューティング装置において、公開鍵を使って、かつ一つまたは複数の入力を確率的に丸めることによって、パケットを暗号化して、暗号化パケットにする
350 暗号化パケットを、第二のコンピューティング装置から第一のコンピューティング装置に送信
360 第一のコンピューティング装置において、秘密鍵を使ってパケットを復号

410 ハミング重みに基づいて第一のベクトルを生成
420 公開鍵の第一の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第二のベクトルを生成
430 公開鍵の第二の部分の転置と前記第一のベクトルとを組み合わせることに基づいて、第三のベクトルを生成
440 第二のベクトルの各エントリーを確率的に丸めることに基づいて、第四のベクトルを生成
450 第三のベクトルの各エントリーを確率的に丸め、暗号化されるべきメッセージを表わす値の倍数を加えることに基づいて、第五のベクトルを生成
460 第四のベクトルおよび第五のベクトルの組み合わせを、暗号化されたメッセージとして出力

505 第一の秘密情報を第一のコンピューティング装置において生成
510 確率的丸めを使って、第一の秘密情報に基づいて、第一のコンピューティング装置において第一の鍵成分を生成
515 第一の鍵成分を第一のコンピューティング装置から第二のコンピューティング装置に送信
520 第二の秘密情報を第二のコンピューティング装置において生成
525 第二の鍵成分を第二のコンピューティング装置において、確率的丸めを使って、第二の秘密情報および第一の鍵成分に基づいていて生成
530 第二の鍵成分を第二のコンピューティング装置から第一のコンピューティング装置に送信
535 相互丸めビットを第二のコンピューティング装置から第一のコンピューティング装置に送信
540 第二の鍵成分の少なくとも一つの丸められた要素を、第一のコンピューティング装置によってかさ上げ
545 共有される鍵を、第二の鍵成分に基づいて、第一のコンピューティング装置によって導出
550 前記共有される鍵を、第二のコンピューティング装置によって、第二の鍵成分に基づいて導出
555 制約されたコンテンツにアクセスするために、第二のコンピューティング装置から第一のコンピューティング装置に、前記共有される鍵に基づく要求を送信
560 前記要求に基づいて、制約されたコンテンツへのアクセスを承認

Claims (20)

  1. ネットワークを通じて通信するよう構成された通信装置と;
    一つまたは複数のプロセッサと;
    一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記コンピュータ可読媒体は、前記一つまたは複数のプロセッサによって実行されたときに当該システムに一つまたは複数の動作を実行させる命令を含んでおり、前記動作は:
    前記ネットワークを通じた当該システムとコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のパケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
    前記通信装置を介して、前記一つまたは複数のパケットを使って、前記ネットワークを通じて前記コンピューティング装置と通信する段階とを含む、
    システム。
  2. 前記暗号学的処理が:
    前記コンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
    前記第一の公開鍵成分を当該システムから前記コンピューティング装置に送信する段階と;
    前記コンピューティング装置から当該システムにおいて第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
    前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
    請求項1記載のシステム。
  3. 前記暗号学的処理が:
    前記コンピューティング装置から公開鍵を受信する段階と;
    一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のパケットを暗号化して、データの暗号化された一つまたは複数のパケットにする段階と;
    前記暗号化された一つまたは複数のパケットを前記コンピューティング装置に送信する段階とを含む、
    請求項1記載のシステム。
  4. 前記確率的丸めが、確率的な境界消去のある丸めを含む、請求項1記載のシステム。
  5. 前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、請求項1記載のシステム。
  6. 確率的な境界消去のある前記偽の丸めが:
    前記暗号学的処理に関連する値が丸め境界から閾値量以内であるかどうかを判定し;
    前記値が丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
    請求項5記載のシステム。
  7. ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
    前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
    方法。
  8. 前記暗号学的処理が:
    前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
    前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と;
    前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
    前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
    請求項7記載の方法。
  9. 前記第一のコンピューティング装置によって、前記第二のコンピューティング装置が制約されたコンテンツにアクセスする要求を受信する段階であって、前記要求は前記共有される鍵を含む、段階と;
    前記要求に基づいて、前記制約されるコンテンツへのアクセスを、前記第二のコンピューティング装置に承認する段階とを含む、
    請求項8記載の方法。
  10. 前記第二の公開鍵成分の少なくとも一つの丸められた要素をかさ上げする段階をさらに含む、請求項8記載の方法。
  11. 前記第二のコンピューティング装置から少なくとも一つの相互丸めビットを受信する段階をさらに含み、前記共有される鍵の導出がさらに、前記少なくとも一つの相互丸めビットに基づく、請求項8記載の方法。
  12. 前記暗号学的処理が:
    前記第二のコンピューティング装置から公開鍵を受信する段階と;
    一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と;
    前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
    請求項7記載の方法。
  13. 前記一つまたは複数のデータ・パケットを暗号化することが:
    前記公開鍵に関連する第一の行列の各要素に対して確率的丸めを実行して、第一のデータを生成し;
    前記公開鍵に関連する第二の行列の各要素に対して確率的丸めを実行し;
    前記パケットのメッセージを、前記確率的丸めを実行された第二の行列に加えて、第二のデータを生成し;
    前記第一のデータおよび前記第二のデータの組み合わせを前記暗号化されたパケットとして出力することを含む、
    請求項12記載の方法。
  14. 前記確率的丸めが、確率的な境界消去のある丸めを含む、請求項7記載の方法。
  15. 前記確率的丸めが、確率的な境界消去のある偽の丸めを含む、請求項7記載の方法。
  16. 確率的な境界消去のある前記偽の丸めが:
    前記暗号学的処理に関連するエントリーが丸め境界から閾値量以内であるかどうかを判定し;
    前記エントリーが丸め境界から閾値量以内であることに応答して、そのエントリーに追加的な変動性を導入することを含む、
    請求項15記載の方法。
  17. 確率的な境界消去のある前記偽の丸めがさらに、前記エントリーが前記丸め境界から前記閾値量より外側であることに応答して、そのエントリーを丸めることを含む、請求項16記載の方法。
  18. 一つまたは複数のプロセッサによって実行されることに応答して動作を実行する命令を含んでいる非一時的なコンピュータ可読媒体であって、前記動作は:
    ネットワークを通じた第一のコンピューティング装置と第二のコンピューティング装置との間の安全な通信を容易にするために一つまたは複数のデータ・パケットに対して暗号学的処理を実行する段階であって、前記暗号学的処理は確率的丸めを含む、段階と;
    前記第一のコンピューティング装置の通信装置を介して、前記一つまたは複数のデータ・パケットを使って、前記ネットワークを通じて前記第二のコンピューティング装置と通信する段階とを含む、
    コンピュータ可読媒体。
  19. 前記暗号学的処理が:
    前記第二のコンピューティング装置に送信する第一の公開鍵成分を生成する段階であって、前記第一の公開鍵成分への少なくとも一つの入力は確率的に丸められ、第一の秘密情報に基づく、段階と;
    前記第一の公開鍵成分を前記第一のコンピューティング装置から前記第二のコンピューティング装置に送信する段階と;
    前記第二のコンピューティング装置から前記第一のコンピューティング装置において第二の公開鍵成分を受信する段階であって、前記第二の公開鍵成分への少なくとも一つの入力は確率的に丸められる、段階と;
    前記第二の公開鍵成分および前記第一の秘密情報に基づいて、共有される鍵を導出する段階とを含む、
    請求項18記載のコンピュータ可読媒体。
  20. 前記暗号学的処理が:
    前記第二のコンピューティング装置から公開鍵を受信する段階と;
    一つまたは複数の入力を確率的に丸めることによって、前記公開鍵を使って、前記一つまたは複数のデータ・パケットを暗号化して、暗号化された一つまたは複数のデータ・パケットにする段階と;
    前記暗号化された一つまたは複数のデータ・パケットを前記第二のコンピューティング装置に送信する段階とを含む、
    請求項18記載のコンピュータ可読媒体。
JP2018125704A 2017-07-15 2018-07-02 向上した通信セキュリティー Active JP7200515B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/650,901 US10567354B2 (en) 2017-07-15 2017-07-15 Enhanced communication security
US15/650,901 2017-07-15

Publications (2)

Publication Number Publication Date
JP2019020717A true JP2019020717A (ja) 2019-02-07
JP7200515B2 JP7200515B2 (ja) 2023-01-10

Family

ID=62062958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018125704A Active JP7200515B2 (ja) 2017-07-15 2018-07-02 向上した通信セキュリティー

Country Status (3)

Country Link
US (1) US10567354B2 (ja)
EP (1) EP3429159B1 (ja)
JP (1) JP7200515B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9635011B1 (en) * 2014-08-27 2017-04-25 Jonetix Corporation Encryption and decryption techniques using shuffle function
KR20230058685A (ko) * 2020-08-31 2023-05-03 메사추세츠 인스티튜트 오브 테크놀로지 네트워크 코딩 기반 보안 통신

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524277A (ja) * 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 双一次形式に関する効率的な準同形暗号方式のためのコンピュータ読み取り可能記憶媒体および装置
JP2014099752A (ja) * 2012-11-14 2014-05-29 Fujitsu Ltd 通信装置、通信システム、及び通信システムにおける暗号アルゴリズム実行方法
US9673977B1 (en) * 2016-09-15 2017-06-06 ISARA Corporation Refreshing public parameters in lattice-based cryptographic protocols

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311218B2 (en) * 2009-06-30 2012-11-13 Cisco Technology, Inc. Rounding for security

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524277A (ja) * 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 双一次形式に関する効率的な準同形暗号方式のためのコンピュータ読み取り可能記憶媒体および装置
JP2014099752A (ja) * 2012-11-14 2014-05-29 Fujitsu Ltd 通信装置、通信システム、及び通信システムにおける暗号アルゴリズム実行方法
US9673977B1 (en) * 2016-09-15 2017-06-06 ISARA Corporation Refreshing public parameters in lattice-based cryptographic protocols

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALWEN, J. ET AL.: "Learning with Rounding, Revisited: New Reduction, Properties and Applications", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2013/098, JPN6022003610, February 2013 (2013-02-01), pages 1 - 18, ISSN: 0004695387 *
SINGH, V. AND CHOPRA, A.: "Even More Practical Key Exchanges for the Internet using Lattice Cryptography", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2015/1120, Ver. 20151222:163745, JPN6022003607, December 2015 (2015-12-01), pages 1 - 20, XP061019861, ISSN: 0004695386 *

Also Published As

Publication number Publication date
EP3429159B1 (en) 2021-01-20
EP3429159A1 (en) 2019-01-16
JP7200515B2 (ja) 2023-01-10
US10567354B2 (en) 2020-02-18
US20190020634A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
CN111552978B (zh) 基于DH加密和Hash表的隐私保护集合求交集方法
US11171934B2 (en) Dynamically hiding information in noise
US9674189B1 (en) Relational encryption
Mandal et al. Symmetric key image encryption using chaotic Rossler system
US10360395B2 (en) Hiding information in noise
US10938547B2 (en) Method and system for providing encrypted data
KR102520502B1 (ko) 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템
KR20220054746A (ko) 유사군 연산을 사용하여 암호화된 데이터에 대해 동등성 및 미만 연산을 수행하기 위한 시스템 및 방법
WO2016187432A1 (en) Hiding a public key exchange in noise
EP4158837A1 (en) Key generation affine masking for lattice encryption schemes
JP7200515B2 (ja) 向上した通信セキュリティー
US20150071435A1 (en) Identity based encryption
Mi et al. A post-quantum light weight 1-out-n oblivious transfer protocol
Yang [Retracted] Application of Hybrid Encryption Algorithm in Hardware Encryption Interface Card
Gao et al. Comparison analysis and efficient implementation of reconciliation-based RLWE key exchange protocol
Srinivasan et al. Android-Stego: a novel service provider imperceptible MMS Steganography technique robust to message loss
Peng et al. On the security of fully homomorphic encryption for data privacy in Internet of Things
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
JP5932709B2 (ja) 送信側装置および受信側装置
Taka Secure Communication by combined Diffe-Hellman key exchange Based AES Encryption and Arabic Text Steganography.
Adedeji et al. Improved image encryption for real-time application over wireless communication networks using hybrid cryptography technique
Al-Doori et al. Securing IoT Networks with NTRU Cryptosystem: A Practical Approach on ARM-based Devices for Edge and Fog Layer Integration.
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质
Srinivasan et al. Secure android covert channel with robust survivability to service provider restrictions
WO2023046294A1 (en) Method and device for establishing password based secure channel

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221019

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221019

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221031

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R150 Certificate of patent or registration of utility model

Ref document number: 7200515

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150