JP7019730B2 - キー交換デバイス及び方法 - Google Patents

キー交換デバイス及び方法 Download PDF

Info

Publication number
JP7019730B2
JP7019730B2 JP2019565064A JP2019565064A JP7019730B2 JP 7019730 B2 JP7019730 B2 JP 7019730B2 JP 2019565064 A JP2019565064 A JP 2019565064A JP 2019565064 A JP2019565064 A JP 2019565064A JP 7019730 B2 JP7019730 B2 JP 7019730B2
Authority
JP
Japan
Prior art keywords
matrix
network node
key
shared
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019565064A
Other languages
English (en)
Other versions
JP2020508021A5 (ja
JP2020508021A (ja
Inventor
サウヴィク バタチャリア
モーション オスカー ガルシア
ルドヴィクス マリヌス ジェラルダス マリア トルフィツェン
ロナルド リートマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of JP2020508021A publication Critical patent/JP2020508021A/ja
Publication of JP2020508021A5 publication Critical patent/JP2020508021A5/ja
Application granted granted Critical
Publication of JP7019730B2 publication Critical patent/JP7019730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークノード、キー合意方法及びコンピュータ可読媒体に関するものである。
暗号手法では、キー合意プロトコルは、まだ共通キーを共有していない2つ以上のパーティがそのようなキーに合意することができるようにするプロトコルである。どちらのパーティもキーの選択を強要することができないように、両方のパーティが結果に影響を及ぼすことができるのが望ましい。2つのパーティ間のすべての通信を盗聴する攻撃者が、キーについて何かを学習できてはならない。さらに、パーティは自分たちの共有キーを導出することができるが、同一の通信を調べる攻撃者は何も学習することができず、できたとしても僅かである。
たとえば通信を確実にするために、たとえばパーティのメッセージを暗号化し且つ/又は認証するのに、キー合意プロトコルは有用である。
実用的なキー合意プロトコルは、1976年にWhitfield Diffie及びMartin Hellmanがパブリックキー暗号作成法の概念を導入したとき導入された。2つのパーティ間のキー合意のための提案されたシステムは、q個の要素を有する有限フィールドGF(q)にわたって対数を計算するという明らかな難点を利用するものであった。2人のユーザが、このシステムを使用して、対称キーに基づいて合意することができる。次いで、対称キーは、たとえば2つのパーティ間の暗号化された通信に使用される。
パーティ間にまだDiffie-Hellmanのキー合意方法などの共有秘密がないとき適用可能な現行のキー合意方法では、大量のリソースを消費する数学的演算が必要となる。たとえば、Diffie-Hellmanのキー合意方法は、有限フィールドにわたる指数演算を遂行する必要がある。指数とフィールド長とが、どちらも大きくなりがちである。このため、キー合意プロトコルは、少ないリソースのデバイス向けにはあまり適切ではない。他方では、リソースを抑制されたデバイスではキー合意プロトコルが非常に有用であろう。たとえば、モノのインターネット、アドホック無線ネットワークなどの応用分野では、デバイス間のリンクを保護するためにキー合意が使用され得る。別の例には、たとえばカードリーダとスマートカードといったリーダと電子タグとの間の通信、又はタグリーダと例えばRFIDタグ若しくはNFCタグといったタグとの間の通信がある。2つのパーティのうち少なくとも1つすなわち電子タグの負荷が小さいキー合意プロトコルが有利であろう。
パーティ間の安全な通信を容易にするために、キー合意プロトコルが、暗号化キー交換(KEX)方式と暗号化キーカプセル化(KEM)方式とに、さらに細分されることがある。暗号化キーカプセル化(KEM)方式は、2つのパーティ間の共有秘密を確立するために、それぞれのパーティ向けに、公的に知られた値(たとえばパブリックキー)及び秘密裡に所有された値(たとえば秘密キー)を使用する、非対称の暗号手法を使用する。
KEX方式は各パーティによるパブリックキーの交換を包含しており、次いで、パブリックキーが、共通の共有秘密を計算するために、他方のパーティによってそれ自体の秘密キーとともに独立して使用される。KEX方式のよく知られている例には、前述のDiffie-Hellmanのキー交換があり、そのセキュリティは離散対数問題を解くことに基づくものである。いくつかのKEX方式の興味深い特徴には、実際の最終的な共有秘密が、暗号化された形式でさえパーティ間で交換されるのではなく、各エンドにおいて2つのパーティによって別個に計算されることがある。これによって、将来、攻撃者によってパーティの長期秘密キーが漏洩しても、過去に交換された、暗号化されたメッセージの秘密通信方式が漏洩しないことを保証する、フォワード秘密通信方式として知られている望ましい特徴がもたらされる。
KEM方式は、通常は通信のイニシエータである一方のパーティが、非対称の暗号手法を使用して(他方のパーティのパブリックキーを使用して)暗号化し、2つのエンティティ又はパーティ間の共有秘密を確立して、レスポンダとして知られている他方のパーティに共有秘密を送信し、次いで、レスポンダが(自身の秘密キーを使用して)共有秘密を解読することができ、そこで、イニシエータパーティと安全に通信するために使用することができる。パーティの過去のセッションの秘密キーを漏洩してそのセッションにおいてパーティ間で交換されたすべてのメッセージを記録した何らかの攻撃者は、特別なそのセッションに関する共有秘密を再生することができるので、KEM方式はフォワード秘密通信方式を達成することができない。
モノのインターネットにおけるセキュリティの必要性が増しているので、キー交換方式は、高効率(すなわち最小量の通信要件又は帯域幅要件)を達成する必要があり、また典型的な敵対者ならびに量子対応の敵対者に対して安全なままである必要もある。
キー交換プロトコル用の電子的ネットワークノードが提供される。このネットワークノードは、これと通信する第2のネットワークノードと区別するために第1のネットワークノードと称される。
第1のネットワークノードは、
第2のネットワークノードとのデジタル通信用に構成された通信インターフェースと、
プロセッサ回路とを備え、プロセッサ回路は、
通信インターフェースを介して第2のネットワークノードと共有される共有マトリクスを取得することであって、共有マトリクスAのエントリが第1の係数qを法として選択される、取得することと、
プライベートキーマトリクスを生成することであって、プライベートキーマトリクスのエントリが、限界によって絶対値を制限された整数である、生成することと、
パブリックキーマトリクスを生成することであって、
マトリクス積を取得する第1の係数を法として、共有マトリクスとプライベートキーマトリクスとの間のマトリクス積を計算することと、
マトリクス積のエントリを第2の係数までスケールダウンすることであって、スケーリングされたエントリが、スケーリング前のエントリに第2の係数を掛け、第1の係数で割ってから、最近隣数に丸めたものに等しく、第2の係数が第1の係数よりも小さく、上記の限界が最大でも第2の係数である、スケールダウンすることとによって、生成することと、
第1のネットワークノードのパブリックキーマトリクスを第2のネットワークノードに送信することと、
第2のネットワークノードのパブリックキーマトリクスを受信することと、
第2の係数を法とする、第2のノードの受信されたパブリックキーと第1のネットワークノードのプライベートキーマトリクスとの間のマトリクス積として、生キーを計算することとを行うように構成される。
プライベートキーマトリクスが制限され、パブリックキーマトリクスがスケールダウンされるので、キー合意の計算及び通信のオーバヘッドが低減される。一致データを使用すると、第1のネットワークノード及び第2のネットワークノードにおいて計算された生キーマトリクス間の差が克服される。ノードの一方が一致データを計算して、他方がそれを使用する。たとえば、第1のネットワークノードのプロセッサ回路は、
第2のネットワークノードの一致データを受信し、
受信した一致データ及び生キーに対して一致関数を適用して共有キーを計算するように構成されており、或いは
生キーから共有キー及び一致データを取得して、
一致データを第2のネットワークノードに送信するように構成されている。
ネットワークノードは電子デバイスである。たとえば、ネットワークノードは、携帯電話、タブレット、又はスマートカード、コンピュータなどのモバイル電子デバイスである。ネットワークノードは、セットトップボックス、コンピュータ、テレビなどである。本明細書で説明されたキー合意の方法は、広範囲の実用的な用途に適用される。そのような実用的な用途は、(モノの)インターネットにおけるセキュリティを含む。プロトコルは、IKE、TLS、SSHなどのプロトコルに適用され得る。一般に、提案された方式は、一般的なインターネットの使用事例とリソースを抑制された環境との両方のためのポスト量子セキュアである。キー合意は、2つのノード間の安全な、たとえば機密の通信が必要とされるときは常に使用される。これはセンサネットワークにおけるものであるが、たとえば金融取引を安全にするためでもある。
本発明による方法は、コンピュータで実施される方法として、コンピュータ上で、専用ハードウェアにおいて、又は両方の組合せで実施される。本発明による方法に関する実行可能コードは、コンピュータプログラム製品に記憶される。コンピュータプログラム製品の例は、記憶デバイス、光学記憶デバイス、集積回路、サーバ、オンラインソフトウェアなどを含む。好ましくは、コンピュータプログラム製品は、コンピュータ上で実行されたとき、本発明による方法を遂行するための、コンピュータ可読媒体に記憶された非一時的プログラムコードを含む。
好ましい実施形態では、コンピュータプログラムが含むコンピュータプログラムコードは、コンピュータプログラムがコンピュータ上で実行されたとき本発明による方法のすべてのステップを遂行するように適合されている。好ましくは、コンピュータプログラムはコンピュータ可読媒体上に具現される。
本発明の別の態様は、コンピュータプログラムをダウンロード可能にする方法を提供するものである。この態様は、コンピュータプログラムが、たとえばApple社のApp Store、Google社のPlay Store、又はMicrosoft社のWindows Storeにアップロードされていて、そのような店舗からダウンロード可能なとき使用される。
本発明のさらなる詳細、態様、及び実施形態を、図面を参照しながら、例としてのみ説明する。図における要素は簡単さ及び明瞭さのために示されており、必ずしも原寸に比例しない。図では、既に説明された要素に対応する要素は同一の参照番号を有する。
キー合意ネットワークの一実施形態の一例を示す概略図である。 生キーの一実施形態の一例を示す概略図である。 電子キー交換方法の一実施形態の一例を示す概略図である。 一実施形態による、コンピュータプログラムを含む書込み可能部分を有するコンピュータ可読媒体を示す概略図である。 一実施形態によるプロセッサシステムの表現を示す概略図である。
以下は図1~図2における参照番号のリストである。
100 キー合意ネットワーク
110 イニシエータタイプのネットワークノード
120 通信インターフェース
130 共有マトリクスユニット
140 プライベートキーマトリクスユニット
150 パブリックキーマトリクスユニット
160 共有キーユニット
162 生キー
164 一致データ(h)
166 共有キー
210 レスポンダタイプのネットワークノード
220 通信インターフェース
230 共有マトリクスユニット
240 プライベートキーマトリクスユニット
250 パブリックキーマトリクスユニット
260 共有キーユニット
262 生キー
264 一致データ(h)
266 共有キー
300 生キー
301 最上位部分
302 中位部分
303 最下位部分
この発明は多くの異なる形式における実施形態の余地があるが、1つ又は複数の特定の実施形態が図面に示されて本明細書で詳細に説明され、本開示は、本発明の原理の例示と見なされるべきであり、本発明を、示されて説明された特定の実施形態に限定するように意図されたものではないという理解を伴う。
以下では、理解のために、実施形態の要素が動作において説明される。しかしながら、それぞれの要素が、遂行すると説明されている機能を遂行するように構成されていることは明らかであろう。
さらに、本発明は、実施形態に限定されることなく、本明細書で説明されるあらゆる斬新な特徴若しくは特徴の組合せにあり、又は互いに異なる従属請求項において詳述される。
図1は、キー合意ネットワーク100の一実施形態の一例を概略的に示すものである。
図1には、イニシエータタイプのネットワークノード110及びレスポンダタイプのネットワークノード210といった、システムにおける2つのネットワークノードが示されている。キー合意システムの実施形態ではノードの数が多く、2つよりもはるかに多いことさえあり、たとえば1000ノードよりも多く、たとえば10以上のノードである場合もある。
イニシエータタイプのネットワークノードとレスポンダタイプのネットワークノードとの間の違いは、一致データを処理するやり方にある。イニシエータタイプのネットワークノードは、一致データを受信して、共有キーを取得するために適用するが、レスポンダタイプのネットワークノードは、一致データを生成してイニシエータタイプのネットワークノードに送信する。レスポンダタイプのネットワークノードは、共有キーを取得するのに一致データを必要としない。一般的には、イニシエータタイプは、2つのネットワークノード間で実行される丸めの数を低減し得るので、2つのネットワークノード間のキー合意プロトコルも起動することになる。しかしながら、レスポンダタイプのネットワークノードもキー合意プロトコルを起動し得ることは、必須ではない。
その上、ネットワークノードの一実施形態では、ネットワークノードはイニシエータモード及びレスポンダモードに従って動作するように構成されている。たとえば、ネットワークノードは、キー合意を起動する場合、たとえばキー合意プロトコルの開始をシグナリングするメッセージを別のネットワークノードに送信して、イニシエータモードに切り換わる。ネットワークノードは、たとえばキー合意プロトコルの開始をシグナリングする別のネットワークノードからのメッセージを受信してキー合意に応答する場合には、レスポンダモードに切り換わる。これは実際には便利であるが、また、この選択肢は厳密に必須ではなく、たとえば、キー合意システムでは、いくつかのノードのみがイニシエータノードとして構成され、いくつかのノードのみがレスポンダノードとして構成される。この結果、いくつかのノードは、共有キーに対して一緒に合意することはできないはずである。このことは、たとえばアドホックネットワーク又はアドホック無線グリッドなどのいくつかのネットワークについては、十分に多くの対のネットワークノードが通信して共有キーに合意することができる限り、問題にはならない。
イニシエータノード110は通信インターフェース120を備える。レスポンダノード210は通信インターフェース220を備える。通信インターフェースは、キー合意システムにおける他のノードとのデジタル通信用に構成される。しかし、システムにおけるすべてのノードが常に連絡される必要はない。
通信インターフェース120及び220はデジタル通信用に構成されている。たとえば、通信インターフェースは、コンピュータネットワークにわたって通信するように構成される。たとえば、通信インターフェースは、たとえばWi-Fi(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)などの無線通信用及び/又はたとえばイーサネット(登録商標)、USBなどの有線通信用に構成される。ノード110と210との間の通信は、有線接続と無線接続との組合せでもよい。たとえば、ノード110及び120を含むシステム100のノードは、システム100の内部のノードを一意的に識別する通信識別子を含有している電子記憶機構を備える。たとえば、通信識別子は、たとえばメッセージをアドレス指定するためにノード110と210との間で交換されるデジタルメッセージに含まれる。たとえば、通信識別子は、IPアドレス、MACアドレスなどである。
電子ネットワークノードは、キー交換(KEX)プロトコル用に構成されている。KEXプロトコルは、通信インターフェース120及び220にわたってノード110と210との間でメッセージを交換することと、たとえば他のノードから受信されたデータに対して計算を遂行することとを包含する。キー合意プロトコルはプロセッサ回路において実行され、その例を以下に示す。図1が示す機能ユニットはプロセッサ回路の機能ユニットである。たとえば、図1は、プロセッサ回路の可能な機能組織のブループリントとして使用される。プロセッサ回路は、図1のユニットから分離して示されてはいない。たとえば、図1に示された機能ユニットはまた、ネットワークノードのマイクロプロセッサが実行可能な、ネットワークノードに記憶されたコンピュータ命令で、全体的又は部分的に実施される。
イニシエータノード110及びレスポンダノード210はキー交換(KEX)プロトコル用に構成されている。KEX方式は、各パーティによる、多くの場合パブリックキーと称されるパブリックデータの交換を包含しており、交換されたパブリックデータは、他方のパーティによって、多くの場合秘密キーと称されるそれらのプライベートデータとともに、共通の共有秘密を計算するために別個に使用される。いくつかの実施形態の興味深い特徴には、実際の最終的な共有秘密が、暗号化された形式でさえパーティ間で交換されるのではなく、各エンドにおいて2つのパーティによって別個に計算される。これによって、将来、攻撃者によってパーティの長期秘密キーが漏洩しても、過去に交換された、暗号化されたメッセージの秘密が漏洩しないことを保証する、フォワード秘密通信方式として知られている望ましい特徴がもたらされる。
本発明の実施形態は、信頼されたサードパーティによる秘密情報の提供に頼ることがない。通信インターフェース120と220との間の通信チャネルは、必ずしも安全なチャネルでなくてもよい。攻撃者が通信チャネルを盗聴する可能性がある。盗聴されても、ノード110と210との間で合意したキーは安全である。通信チャネルが改造に対して保護されていれば、チャネルによってもたらされるものである限り、ある程度の認証が取得される。しかしながら、通信インターフェース120と220との間のチャネルが改造に対して保護されていなければ、KEX方式は認証しないことになる。認証を取得するために、実施形態は、たとえば保証されたパブリックキーを使用する明示的認証機構、又はたとえばデジタル署名を使用する暗示的認証機構といった、何らかの知られている認証機構と組み合わされる。
KEX方式のよく知られている例には、Diffie-Hellmanのキー交換があり、そのセキュリティは離散対数問題を解くことに基づくものである。本発明で定義されるキー交換機構の困難さは、いわゆるLearning with Rounding(LWR)問題に基づくものである。LWEインスタンスの数が制限されるとき、LWR問題の困難さは、いわゆるLearning with Errors(LWE)問題の困難さに基づくものと想定される。LWE問題の平均的な場合の困難さは、量子コンピュータにとって解くのが困難な特定の関連する格子ベースの問題の最悪の場合の困難さに基づくものであるため、このキー交換方式は、ポスト量子の安全なキー合意プロトコルである。
Learning with Errors(LWE)問題は数学的に困難な問題であり、その推定された難点のために量子コンピュータに対してさえポスト量子の暗号方式を生じさせる、よく理解されているセキュリティである。しかしながら、LWE問題から生じる方式は、一般的には計算複雑度及び通信複雑度の両方に関して、性能上の負荷が重い。Learning with Errors(LWE)問題は以下のように説明され得る。
n次元のベクトルs∈Z 及びZにわたる誤差分布χに関して、
Figure 0007019730000001
にわたるLWE分布
Figure 0007019730000002
は、
Figure 0007019730000003
及びχからの誤差eからベクトルaを一様且つランダムに選択して、
Figure 0007019730000004
を出力することよって取得される。
探索LWE問題は、
Figure 0007019730000005
から多くの独立したサンプル(ai、bi)を任意に与えられて
Figure 0007019730000006
を見いだすことである。
LWEn,q,χ(D)によって表される決定LWE問題は、分布
Figure 0007019730000007
を、
Figure 0007019730000008
にわたる均一分布から識別することであり、一定のs←Dについて無視できない利益がある。
LWR問題は、LWE問題の、秘密情報を隠すために誤差を挿入する代わりに係数「p」を用いる丸めを使用し、次いで、Z(qは元のLWE係数である)からZpにスケールダウンして決定論的な誤差を導入することによって「非ランダム化された」バージョンである。
n次元のベクトル
Figure 0007019730000009
について、
Figure 0007019730000010
にわたるLWR分布
Figure 0007019730000011
は、
Figure 0007019730000012
から、ベクトルaを一様且つランダムに選択して、
Figure 0007019730000013
を出力することによって取得される。
ここで、
Figure 0007019730000014
はxに最も近い整数を表す。探索LWR問題は、探索LWE問題と正確に類似している秘密sを見いだすことに関して定義される。決定LWR問題は、分布
Figure 0007019730000015
を、
Figure 0007019730000016
にわたる均一な分布から識別することであり、一定のs←Dについてm個のインスタンスがある。探索LWR問題及び決定LWR問題は、2mBp/q(BはLWE問題における誤差の限界である)が一定であるようにmが制限されるとき、対応するLWE問題と少なくとも同じくらい困難であることが示されている。
LWE問題に基づくポスト量子キー交換方式は、LWE問題のよく理解されているセキュリティのために、広範囲にわたる信頼を享受する。しかしながら、リソースを抑制された環境において使用され得る、性能上の負荷が軽いLWEベースのキー交換方式はない。既存のアルゴリズムは、qを法とするマトリクス乗算、ガウス分布などの確率分布からのサンプリング、大きなエントリを伴うマトリクスの計算又は伝送など、リソースを制限されたデバイス上では遅くなる様々な演算を含む。
本発明では、2つのパーティが、正確に等しいわけではないがほぼ等しい2つのマトリクスを生成する。正確に合意するために、いくつかの一致データが送信される。こうするための方式は、2016年11月4日に同一の出願人がヨーロッパ特許庁に出願した「REACHING AGREEMENT ON A SECRET VALUE」という名称の特許出願(出願番号16197277.3)に説明されており、たとえば、7~10頁の方法は、本発明による実施形態における一致に使用され得る。引用された特許出願の他のところに開示された変形形態も採用され得る。
この出願では、以下の3つの関数に関して以下の表記法を使用する。
1.丸め関数
Figure 0007019730000017
:q,b,B∈Z、b≧1、B<logq-b、について、
Figure 0007019730000018
とする。その場合、
Figure 0007019730000019
となる。直観的に、
Figure 0007019730000020
は、
Figure 0007019730000021
のB個の最上位ビットを抽出し、ここで、第2の要素は、バイアスがない丸め誤差を保証するための丸め係数である。
2.相互丸め関数
Figure 0007019730000022
:q,b,B∈Z、b>1、B<logq-b、について、
Figure 0007019730000023
とする。その場合、
Figure 0007019730000024
となる。直観的に、
Figure 0007019730000025
は、vの(B+b)個の最上位ビットのうちb個の最下位ビットを抽出する。
3.一致関数rec(w,b):
Figure 0007019730000026
について、
Figure 0007019730000027
である。ここで、vはwに最も近い要素であり、
Figure 0007019730000028
となる。
上記で引用された一致関数は、本明細書で一例として使用される。前述のように、上記で引用された出願における調整法も使用され得る。図2は丸め関数及び相互丸め関数の概略図である。例として、図2は生キー300を示す。生キー300は、左側に最上位ビットがあって右側に最下位ビットがあるビットストリングとして示される。直観的に、生キーに適用される丸め関数は最上位部分301におけるB個のビットに対応し、相互丸め関数は中間部分302における次のb個のビットに対応する。最下位のlogq-B-b個は棄却される。
イニシエータノード110は共有マトリクスユニット130を備える。レスポンダノード210は共有マトリクスユニット230を備える。共有マトリクスユニット130及び230は、2つのノード間で共有される共有マトリクス(A)を取得するように構成されている。共有マトリクスAにおけるエントリは、第1の係数qを法として選択された整数である。マトリクスAがノード110及び210に必ずしも秘密に保たれないという事実を特に所与として、ノード110と210との間で同一のマトリクスが共有されることを保証するための多くのやり方がある。
たとえばノードの一方である、たとえば共有マトリクスユニット130のイニシエータノード110が、マトリクスAを、たとえばqを法とする要素を用いてランダムに選択する。次いで、エントリが、通信ユニットを通じて、たとえば共有マトリクスユニット230といった他方のノードに送信される。この場合、後者の共有マトリクスユニット230は、単にマトリクスAを受信して記憶することになる。マトリクスAは、代わりに、レスポンダノード210によって選択されてイニシエータノード110に送信されてもよい。
マトリクスAを選択するのに2つのノードが協働してもよい。たとえば、各ノードがエントリのうちいくつかを選択して他方に送信する。たとえば、イニシエータノードが奇数のエントリを選択し、レスポンダノードが偶数のエントリを選択する、などである。このようにして、2つのノードのどれも、最終的なマトリクスAを制御することはない。たとえば、2つのノードのそれぞれが、完全なマトリクスAを選択して他方へ通信することができる。この後に、2つのマトリクスがqを法として加算される。最後のノードにマトリクスを送信する有利な立場を与えるのを避けるために、まず、最後のノードが、選択されたマトリクスに関するコミットメントを送信する。
完全なマトリクスAの送信のオーバヘッドを低減するための興味深いやり方には、ランダムシードを生成して、通信チャネルを通じて方のノードに送信するものがある。ランダムシードを受信した後、第1のネットワークノード及び第2のネットワークノードは、受信したランダムシードを使用して、上記のやり方のうち任意のものでマトリクスAを生成する。同一のランダムシードが、決定論的擬似乱数発生器のシードを設定するために使用され、擬似乱数発生器の出力からマトリクス(A)が生成される。上記のように、各ノードが、たとえばAの異なる部分を生成するためのシードを送信することができ、又は、2つのシードが、たとえば加算若しくは排他的論理和などによって組み合わされて、Aを生成するために使用される。
シードは、たとえば、真の乱数発生器といったさらなる乱数発生器から選択される。ノードは、たとえば生産において乱数のリストを伴って構成される。この場合、ノードは、新規のキー合意のために新規のマトリクスAが生成されるたびにリストから次の乱数を選択する。乱数のリストが使い尽くされると、信頼されたソースから補充される。
一実施形態では、マトリクスAは次元n×nの正方マトリクスである。これは厳密に必須ではなく、プロトコルの他の要素の次元は、非正方マトリクスAを考慮に入れるように適合されてよい。しかしながら、正方マトリクスAを選択することが最も便利であり、全体にわたって想定される。
イニシエータノード110はプライベートキーマトリクスユニット140を備える。レスポンダノード210はプライベートキーマトリクスユニット240を備える。プライベートキーマトリクスユニット140はプライベートキーマトリクスSを生成するように構成されており、プライベートキーマトリクスユニット240はプライベートキーマトリクスSを生成するように構成されている。プライベートキーマトリクスのエントリは、絶対値においてsという限界のある整数である。たとえば、プライベートキーマトリクスのエントリは-s~s(境界値を含む)の間で選択される。
意外にも、小さい限界を選択すると、プライベートキーマトリクスとのマトリクス乗算がより高速になり、両側で計算される生キー間の距離が小さくなる(下記を参照されたい)、といった2重の利点があることが分かった。後者の利点は、必要な一致データが少なくなること、及び/又は異なるキーについて合意するノードが少なくなるため、プロトコルにおける失敗の可能性が低下することを意味する。限界sは、最大でも第2の係数、たとえば第2の係数以下に選択される。後にpを法とする乗算があるので、この選択は有利である。Sにおける符号付きエントリを可能にすれば、sは第2の係数の2分の1(p/2)以下(又はp/2未満)に制限され得る。
限界は第2の係数又は第2の係数の2分の1よりも小さく、実際には、それよりも、一般的にははるかに小さく選択される。一実施形態では、プライベートキーマトリクス(S、S)におけるエントリの絶対値に対する限界sは2である(s=2)。すなわち、プライベートキーマトリクスにおけるすべてのエントリが、-2、-1、0、1、又は2のいずれかである。マトリクスAにプライベートキーマトリクスを掛けるために必要なのは、加算、減算及び1ビットにわたるシフトのみである。したがって、そのようなマトリクス乗算は非常に効率的に実施され得る。
実装形態の見地からすれば、限界を1に選択する(s=1)ことによって最善の結果が達成される。すなわち、プライベートキーマトリクスのエントリの値は、-1、0及び1のみである。これは「符号付き2進数」とも称される。符号付き2進数におけるマトリクスとのマトリクス乗算に包含されるのは加算及び減算のみである。p又はqを法とする乗算には、乗算ユニットは不要である。
sに関する他の小さい数も可能であり、たとえばs=3であれば、可能なエントリは0、1、-1、2、-2、3、-3である。これらの数を掛けるための乗算ルーチンはノードに含まれる。たとえば、+1、-1は加算器/減算器によって処理され、-2、+2はシフトとそれに続く加算器/減算器とによって処理され、+3、-3はシフトされた数とシフトされていない数の両方の加算/減算によって処理される。
一実施形態では、プライベートキーマトリクスが含むエントリは、掛けるのが容易な0、2の累乗、及び任意選択の2の負の累乗のみである。
一実施形態では、プライベートキーマトリクスは正の数と負の数の両方を含有している。しかしながら、プライベートキーマトリクスを0以上の数に制限することもさらに可能である。たとえば、プライベートキーマトリクスのエントリは0~sの間にある(境界値を含む)。たとえば、後者の場合においてs=1に選択することより、乗算及び減算の両方の演算が回避される。
プライベートキーマトリクスは、マトリクスAを掛けられ得るように、次元を選択される。たとえば、Aがn×nのマトリクスであれば、イニシエータノードのプライベートキーマトリクスはn×
Figure 0007019730000029
のマトリクスとなり、レスポンダノードのプライベートキーマトリクスはn×
Figure 0007019730000030
のマトリクスとなる。
Figure 0007019730000031
及び
Figure 0007019730000032
の大きさは、共有キーにおける十分なビット数と十分に高いセキュリティレベルとを取得するように十分に大きく選択される。
プライベートキーマトリクスのエントリの大きさを制限することに加えて、非ゼロ要素の数を制限することによってさらなる利益が取得される。マトリクスの列又は行のハミング重みを、マトリクスの非ゼロエントリの数と称することにする。
プライベートキーマトリクスのハミング重みを制限するための異なるやり方を調査した。一般に、プライベートキーマトリクスに対してマトリクスAを左に掛けるのか右に掛けるのかということに依拠して、ハミング重みを列又は行のいずれかに制限すれば十分である。たとえば、マトリクスAの右にプライベートキーマトリクスを掛ける(たとえばAS)場合には、ハミング重みをプライベートキーマトリクスの列に制限すれば十分である。
たとえば、プライベートキーマトリクスの列及び/又は行のハミング重みに関して上限が選択される。上限は、すべての列及び/又は行に対して同一でよい。一実施形態では、プライベートキーマトリクス(S、S)の列及び/又は行は、同一の一定のハミング重みを有する。
プライベートキーマトリクスが、たとえばエントリに対する限界と列又は行におけるハミング重みとに関して選択された要件を満たすマトリクスからの候補のプライベートキーマトリクスから一様ランダムに選択されるという条件が与えられると、セキュリティが改善される。たとえば、各列のハミング重みが50であるという条件を強制する場合には、各列について50のハミング重みを有する正確な次元を伴うすべてのマトリクスのセットからプライベートキーマトリクスを選択するのが有利である。任意の所望のハミング重みの一様ランダムなビットストリングを選択するための効率的なアルゴリズムが知られている。
プライベートキーマトリクスのハミング重みを制限するための異なるやり方には、確率分布からプライベートキーマトリクス(S、S)の列及び/又は行を選択するものがある。たとえば、プライベートキーマトリクス(S、S)のエントリは、ゼロエントリの確率が非ゼロエントリの確率よりも大きい非一様な確率分布から選択される。一実施形態では、確率分布は、列及び/又は行に対して所定の予期されたハミング重みを与えるように選択される。たとえば、長さnの列と予期されるハミング重みhとを選択するために、各エントリを、確率h/nを伴う非ゼロとして選択する。非ゼロエントリは、たとえば等確率で1又は-1に選択される。
小さすぎる列又は行におけるハミング重みはセキュリティに影響を与える可能性がある。たとえば、符号付きバイナリの場合には、ハミング重みhは、
Figure 0007019730000033
が少なくとも127になるように、より好ましくは少なくとも255になるように選択される。理由は、プライベートキーマトリクスにわたってループすることによるブルートフォースアタックを実行不可能にするためである。一実施形態では、ハミング重みhは、上記の制限を満たす、できるだけ小さいものである。
イニシエータノード110はパブリックキーマトリクスユニット150を備える。レスポンダノード210はパブリックキーマトリクス250を備える。パブリックキーマトリクスユニットは、マトリクスA及びプライベートキーマトリクスSからパブリックキーマトリクスを計算する。
パブリックやプライベートという用語は、パブリック情報の知見だけでは、すなわちいくつかのプライベート情報の知見なしでは、共有キーを取得することができないということを示唆するように意図されている。そのパブリック情報はアクティブに共有されるが、要件はない。たとえば、キー合意プロトコルは、盗聴者からパブリックキーを安全に保つ(推定された)安全なチャネルにわたって実行され得る。この場合、キー合意プロトコルは、チャネルのセキュリティが突破されるとセキュリティの追加層をもたらす。
パブリックキーマトリクスユニットは、第1の係数(q)を法として共有マトリクス(A)とプライベートキーマトリクス(それぞれS又はS)との間のマトリクス積を計算することにより、パブリックキーマトリクスP(イニシエータ用のP及びレスポンダ用のP)を計算してマトリクス積を取得し、結果をスケールダウンする。
しかしながら、この中間のマトリクス乗算は明らかにされない。プライベートキーは、共有マトリクスAの逆マトリクスを求めることによって計算されるので、共有マトリクスAの知見及びこのマトリクス乗算の結果によって明らかになる。この選択肢は、パブリックキーマトリクスユニットによって遂行されたスケーリングのステップによって阻止される。パブリックキーマトリクスユニットは、マトリクス積のエントリを第2の係数pまでスケールダウンする。第2の係数pは第1の係数qよりも小さい。スケーリングされたエントリは、スケーリング前のエントリに第2の係数(p)を掛けてから第1の係数(q)で割って、最近隣数に丸めたものと等しい。たとえば、xが、マトリクス積におけるqを法とするスケーリングの前のエントリである場合、スケーリングされたエントリは、
Figure 0007019730000034
として選択され、この式で
Figure 0007019730000035
は最近隣数を表す。スケーリング演算の後は、単純にパブリックキー及びマトリクスAからプライベートキーを計算することはもはや不可能である。
パブリックキーマトリクスのエントリは、区間[0,p-1]における整数として表される。プライベートキーマトリクスのエントリも、区間[0,p-1]における整数として表される。エントリを、区間
Figure 0007019730000036
において選択すると、それに続く乗算のための整数が小さくなるという利益がある。上記で指摘されたように、プライベートキーマトリクスは、区間[-s,s]において、さらには区間[0,s]において選択されたエントリを有し得る。
マトリクスAとプライベートキーマトリクスSとの乗算は、第1の係数qを法として行われる。このために、ネットワークノードは、モジューロqを減少するためのモジュラー減少ユニットを含む。プライベートキーマトリクスSのエントリが、たとえば1に制限されて、又は絶対値において1に制限されて、小さい場合には、モジュラー減少が簡単になり、マトリクス乗算中に、エントリがqよりも大きくなるか又は0未満になるたびに、qを差し引くか又は加算することにより、結果が0~q-1の区間へ戻される。
イニシエータノード及びレスポンダノードの両方が、たとえば通信インターフェース120及び220を使用して、それらのパブリックキーマトリクスを他方のノードに送信する。マトリクス積をスケールダウンすることによって実現される少なくとも3つの利益が見いだされた。まず第1に、マトリクス積へのノイズの発生及び明示的加算が回避される。ノイズの導入は、たとえばガウス分布といった確率分布の計算を必要とする。これらはかなり計算集約的である。第2に、通信の要件が低減される。第2の係数pが第1の係数qよりも小さいので、パブリックキーマトリクスのエントリを表すために必要なビット数は、プライベートキーマトリクスのエントリを表すために必要なビット数よりも少ない。第3に、パブリックキーマトリクスを包含する計算は、包含する数が少ないので、より小さい。驚くべきことに、1つの方策によって同時に3つの利益がもたらされる。
第2の係数pが第1の係数qを分割することが強く望まれる。興味深いことに、第1の係数及び第2の係数のどちらも、素数である必要はないことが分かった。実際には、第2の係数(p)及び/又は第1の係数(q)を2の累乗に選択すると、パブリックキー及びプライベートキーが均一に分布するという利点があることが分かった。一実施形態では、第1の係数と第2の係数の両方が2の累乗である。
一実施形態では、2の累乗である係数p及びqに加えて、
Figure 0007019730000037
がさらに必要とされる。これによって、一致データが観測されても、均一な共有キーがもたらされる。Bは、生キーの1つのエントリについて抽出される共有キーのビット数である。
係数はあまり大きくなくてよい。たとえば、一実施形態では、第2の係数が12以上のビットサイズを有し、且つ/又は第1の係数が8以上のビットサイズを有する。セキュリティ要件に依拠して、より大きいサイズ又はより小さいサイズが可能である。一実施形態では、qは212~215の範囲にあり、pは2~2の範囲にある(境界値を含む)。p及びqの値は、セキュリティ要求の規定に従って、より大きく、又はより小さく選択される。
イニシエータノード110は共有キーユニット160を備える。レスポンダノード210は共有キーユニット260を備える。共有キーユニットは、一致データを、生成して伝送するものと、受信して適用するものとで、異なる。
共有キーユニット160と共有キーユニット260の両方が、受信した他方のノードのパブリックキーとネットワークノード自体のプライベートキーマトリクスとの間で、第2の係数(p)を法とするマトリクス積として、生キー162、262を計算するように構成されている。マトリクスの次元及びマトリクスの乗算は、スケーリング演算が省略された場合には両方のパーティが同一の生キーを計算するように選択される。すなわち、スケーリングがなければ同一のキーがもたらされ、すべての計算はqを法として行われる。しかしながら、両方の生キーのスケーリングが同一である必要がない。生キーの計算はpを法として行われる。ネットワークノードは、pを法とした乗算の結果を低減するためのモジュラーユニットを備える。
レスポンダノード210の共有キーユニット260は、共有キー266及び生キー262から一致データ264を取得してイニシエータネットワークノード110に送信するように構成されている。一致データは、生キーにおける1つ又は複数のビットという形をとる。一致データとして選択されたビットは、キーを生成する目的では無視される。
共有キーユニット260は、生キーのエントリからいくつかのビットを選択してキーを形成する。たとえば、選択されたビットが連結される。一実施形態では、選択されたビットは、たとえば暗号のハッシュ関数といったキー導出関数(KDF)に入力される。KDFの一例は、たとえば、CMLA Technical Specification、Version:V1.43-20131218からのCMLA_KDF、又は「DRM specification」、OMA-TS-DRM-DRM-V2_0_2-20080723-A、Open Mobile Alliance(商標)、Version 2.0.2、7.1.2節で定義されているKDF関数で与えられる。キー導出関数は、たとえば連結の後にたとえば丸め関数によって、又は、たとえばこれも連結の後に一致関数の出力から取得されて、生キーにおけるキービットのエントリに適用される。
キービットとして選択されないいくつかのビットが一致データとして選択される。最後に、いくつかのビットがすべて棄却される。一実施形態では、キービットは生キーエントリのMSB部分から選択され、一致データは生キーエントリの中間部分から選択され、生キーの最下位部分は棄却される。たとえば、キービットは、生キーのエントリに丸め関数を適用することによって取得され、一致ビットは、生キーのエントリに相互丸め関数を適用することによって取得される。
共有キーユニット260によって生キーから得られたキー一致データは、イニシエータノード110に送信される。
共有キーユニット160は、第2のネットワークノードの一致データ164(h)を受信し、受信した一致データに一致関数を適用することにより、生キーマトリクス162及び共有キーを計算するように構成されている。たとえば、一致関数は、生キー162のエントリ及び一致データの対応する部分のエントリの各々に適用される。たとえば、一致データ164がレスポンダユニット210によって生成された生キーの一部分であれば、イニシエータノードは、ノード210によって取得されている、受信された一致データと互換性のある(たとえば、受信されたものと同一の中間ビットを有する)生キーを選択する。こうするためのやり方の1つには、上記で定義された一致関数を使用するものがある。その結果、ノード210が共有キーを生成するために使用したものと同一のビットが回復される。これらのビットを、同様に連結することにより、又は同一のKDFへ入力することにより、同一の共有キー166が取得される。一実施形態では、共有キーは対称キーである。
多くの一致データは必要ではなく、1ビットで十分である。しかしながら、一致ビットの数を2ビット以上に増加するとプロトコルの失敗確率が低下するので有利であることが観測された。
B及びbの標準値は1又は2である。ここでは、Bは生キーのエントリごとに抽出されるキービットの数であり、bは生キーエントリごとの一致ビットの数である。
Figure 0007019730000038
及び
Figure 0007019730000039
の大きさは、
Figure 0007019730000040
が十分に大きくなるように選択され、たとえば
Figure 0007019730000041
となる。たとえば、
Figure 0007019730000042

Figure 0007019730000043
とはほぼ同一に選択される。これらは、オーバヘッドを小さく保つために、
Figure 0007019730000044
として選択される。
キー合意プロトコルを複数回の実行するために、マトリクスA及びプライベートキーマトリクスのうち1つを再利用することができる(両方が同一であれば同一の共有キーが取得されるはずである)。こうすると、特にマトリクスAが再利用される場合には、通信のオーバヘッドが低減される。しかしながら、マトリクスA及びプライベートキーマトリクスは、認証が接続されていないので、再利用する必要性はないことが理解される。好ましい実施形態では、それぞれの新規のキー交換のために新規のマトリクスA及び新規のプライベートキーマトリクスが取得される。これには、攻撃者がプロトコルの複数回の実行を観測してもオブザーバの付加的情報への選択肢を得られないという利点がある。その上に、フォワード秘密通信方式が改善される。
プロトコルが完成し、両方のノードが共有キーを計算した後に、ノードの一方が、同一のキーに対する両者の合意を検証するために、他方のノードへキー確認メッセージを送信する。たとえば、キー確認メッセージは、共有キーのハッシュ、固定値の暗号化のハッシュ、ランダムな値に加えたランダムな値の暗号化のハッシュである。チャレンジレスポンスプロトコルを使用してキー確認も遂行され得る。キー確認を省略することも選択され得る。各パーティが異なる共有キーを取得した場合には、それに続く両者の間の通信は失敗することになる。たとえば、共有キーは、たとえばデジタルメッセージといったさらなる通信を暗号化するため、及び/又は認証するために使用される。それらが異なる共有キーで到達すると復号化及び/又は検証は失敗する。
以下で、さらなる具体的且つ有利な実施形態を説明する。この発明を表す基本システムは、今後キー交換(KEX)方式という名で呼ばれるプロトコルであり、今後イニシエータ及びレスポンダという名で呼ばれる2つのエンティティ又はパーティによって、両者の間で第3者に知られない共有秘密を確立するために実行されるものである。この目的のために、イニシエータ及びレスポンダは、KEX方式を実行する前に合意する必要がある複数の共通のシステムパラメータと、今後秘密キーという名で呼ばれて各々に所有されるいくつかのプライベート情報と、今後パブリックキーという名で呼ばれて各々に所有されるいくつかの公開情報とを使用する。KEX方式のセキュリティは、そのセキュリティがLearning with Errors(LWE)問題に基づくLearning with Rounding(LWR)問題に基づくものであり、共有秘密の秘密通信方式と、イニシエータの秘密通信方式及びレスポンダの秘密キーの秘密通信方式とを保護する。以下の例では、プライベートキーマトリクスは符号付き2進数である。
KEX方式の一実施形態は以下の3つの段階を含む。
1. セットアップ:
イニシエータとレスポンダは、正整数である以下のシステムパラメータに関する共通値について合意する。
i. q:LWR問題の係数。
ii. n:LWR問題の次元。LWR問題のパブリックパラメータであるマトリクス
Figure 0007019730000045
の次元も表す。
iii. h:h<nとなるような、符号付き2進数(すなわち3進数)ストリングの分布における各ストリングのハミング重み。
iv.
Figure 0007019730000046
:KEXプロトコル中にイニシエータによって生成されるLWR問題のインスタンス又はサンプルの数。
v.
Figure 0007019730000047
:KEXプロトコル中にレスポンダによって生成されるLWR問題のインスタンス又はサンプルの数。
vi. B:最後の共有秘密又はキーを生成する一方で、2つのパーティの生キーの1つの係数当たりの抽出されるビット数。
vii. b:一致データを生成する一方で、2つのパーティの生キーの1つの係数当たりの抽出されるビット数。
viii. p:LWR問題の丸め係数。
Figure 0007019730000048
の整数倍数であり、p|qを満たすものである。2の累乗としてのpの要件により、より高速でより効率的な実装形態が可能になることに留意されたい。
その上に、2つのパーティはパブリックマトリクスに関して合意する。
i.
Figure 0007019730000049
:このマトリクスの新規のインスタンスが各KEXセッション用に選択される。
特定のパラメータが所与の識別子にマッピングされる場合には、共通パラメータの選択は、TLS又はIKEなどのプロトコルに組み込まれ得る。たとえば、共通パラメータを符号化するために、たとえばTLSでは暗号スイート要素であるプロトコル識別子が使用される。パブリックマトリクスは、たとえばハッシュ関数によってシードからも導出され得る。異なる解決策では、イニシエータが、レスポンダに送信されるいくつかのパラメータを決定する。
2. キー生成:
イニシエータは、hのハミング重みを有する{0,±1}の均一なベクトルの分布を表す分布HWT(h)から
Figure 0007019730000050
回サンプリングすることによって新規の秘密キー
Figure 0007019730000051
を生成する。
イニシエータは、それ自体のパブリックキー
Figure 0007019730000052
を生成する。
レスポンダは、hのハミング重みを有する{0,±1}の均一なベクトルの分布を表す分布HWT(h)から
Figure 0007019730000053
回サンプリングすることによって新規の秘密キー
Figure 0007019730000054
を生成する。
レスポンダは、それ自体のパブリックキー
Figure 0007019730000055
を生成する。
3. キー交換:
表1:丸めと、3進のエントリを含有している秘密のスパースマトリクスとを利用する、イニシエータIとレスポンダRとの間のキー交換であり、IとRとの間の共有秘密Kを確立する。中間の列は、イニシエータとレスポンダとの間で交換されるメッセージの一例を示す。
Figure 0007019730000056
セキュリティを改善するためにパラメータに課される4つの要件が見いだされた。4つの要件は以下の通りである。
1. 最小のキー長さ:共有秘密が、少なくとも、目標とされたビット数を含有することを保証するために、イニシエータのパラメータ
Figure 0007019730000057
、レスポンダのパラメータ
Figure 0007019730000058
、及びシステムのパラメータBは、次式を満たすべきである。
Figure 0007019730000059
2. 秘密キーの全数探索攻撃に対する防衛手段:S(ポスト量子)及び2S(古典的)のビットの目標とされたセキュリティレベルを想定する。秘密キーのエントリを推定するための秘密キーの全数ブルートフォース探索の作業負荷が十分に大きくなることを保証するために、(それぞれがハミング重みhを有する)秘密キーベクトルにおける秘密の数は
Figure 0007019730000060
を満たすべきであり、ここで、22SはGroverの量子探索アルゴリズムの実行回数であり、2Sは古典的探索アルゴリズムの実行回数である。たとえば、Sは128又は256などである。この限界は、プライベートキーマトリクスのエントリの絶対値に対する限界が1である場合に関するものであることに留意されたい。より大きな限界sに関して、類似の限界が確立される。
3. 成功確率:イニシエータ及びレスポンダが同一の最終的な共有秘密に到達しない確率が高くてもpfailであることを保証するために、パラメータ
Figure 0007019730000061

Figure 0007019730000062
、h及び定数ξの値は、
Figure 0007019730000063
となるように選択されるべきであり、
Figure 0007019730000064
である。
4. セキュリティ分析:BKZ格子基底縮小アルゴリズムの時間計算量が少なくとも2128であることを保証して、128ビットポスト量子のセキュリティを保証するために、LWRの次元nは、BKZ Root-Hermite係数δ(BKZアルゴリズムのパラメータ)、丸め係数p及びスパース度θ=h/nによって表現された次式の下限以上でなくてはならない。
Figure 0007019730000065
BKZ Root-Hermite係数δはBKZアルゴリズムの精度の指示である。たとえば、古典的セキュリティについては、BKZブロックサイズ=409でδ=1.003922を想定し、ポスト量子暗号については、BKZブロックサイズ=450でδ=1.00367を想定し、ポスト量子暗号の向上したセキュリティについては、BKZブロックサイズ=573でδ=1.00309を想定する。
プライベートキーマトリクスは確率論を使用して選択される。確率的な秘密キー発生により、実装形態が簡単になる。秘密キー
Figure 0007019730000066
及び
Figure 0007019730000067
を生成する一方で、秘密キーの1つの列当たりh個の非ゼロエントリを生成する代わりに、この実施形態におけるそれぞれの(i,j)番目の秘密キーエントリsk(i,j)は、以下の式のように生成される。
Figure 0007019730000068

Figure 0007019730000069

Figure 0007019730000070
あるいは、決定論的に生成される場合には、標準的且つ安全なPRFを使用して以下の処理が行われる。n個の位置のベクトルにh個の非ゼロ要素(1又は-1)がある場合には、PRFの出力は、PRFが異なるロケーションにおいてh個の非ゼロ要素を選択するまで、列におけるランダムな位置を、ランダムな+1又は-1の値とともに選択する。たとえば、PRF出力は
Figure 0007019730000071
ビットのブロックに分割され、このブロックの最初の
Figure 0007019730000072
ビットが非ゼロ要素の位置を識別し、ブロックの最終ビットは、この要素が1なのかそれとも-1なのかということを決定する。
提案されたキー交換にはいくつかの利点がある。
計算の複雑さ:秘密キーマトリクスがスパースであってエントリ0、1及び-1を有するので、この方式におけるqを法とする計算は高速である。具体的には、(たとえばパブリックキー及び生キーの生成中の)高次元のマトリクスを包含する乗算が高度に最適化される。提案されたキー交換方式の計算上の性能が次の表に定量化されており、Intel社のXeon Quad-core 3.2GHzのプロセッサで実行するとき、キー交換方式の各段階について必要なCPUクロックサイクルを与える。
表2:3つのセキュリティレベルについてキー生成及び全体のキー交換に関する必要なCPUクロックサイクルを示す、提案された方式の計算上の性能。選択された最終的なキービットの数(すなわちB)は第6列に示されている。
Figure 0007019730000073
ケースIは、たとえば古典的セキュリティ向けの中間セキュリティ用に選択される。ケースIIはポスト量子セキュリティ用に選択される。ケースIIIはケースIIよりも安全である。
通信の複雑さ:より小さい係数への丸めが使用されるので、パブリックキー及び生キーの各エントリの大きさが低減され、帯域幅要件が大幅に低下する。このことは、以下2つの表に定量化されており、提案された方式の帯域幅要件が(それぞれ丸め使用の有無について)明示されている。実施形態は、J.Bos、C.Costello、L.Ducas、I.Mironov、M.Naehrig、V.Nikolaenko、A.Raghunathan、D. Stebilaによる「Frodo: Take off the ring! Practical, Quantum-Secure Key Exchange from LWE」が説明するLWEベースのプロトコルと比較されている。
帯域幅は、交換されるキー交換メッセージ(すなわちパブリックキー及び一致データ)の合計サイズとして計算され、パブリックマトリクスAの交換は含まない。
表3:現況技術のLWEベースのキー交換方式Frodoに対する帯域幅要件における改善を示す、提案された方式の通信性能(最終的なキービットの数B=2、一致データビットの数b=2)
Figure 0007019730000074
LWEと、スパース且つ小さい秘密とを使用する帯域幅利得:
表4:丸めと組み合わせることなく、スパースで小さい秘密のみ使用したときの、提案された方式の通信性能(最終的なキービットの数B=2、一致データビットの数b=2)
Figure 0007019730000075
表3のスパースLWR(スパース且つ小さい秘密と組み合わせて使用された丸め)の帯域幅利得は、以下の理由により、表4の(スパース且つ小さい秘密のみ使用された)スパースLWEよりも望ましいものである。スパースLWE問題の次元nの最小値が、スパースLWR問題の次元nの最小値と比較して、より大きい。これは、スパースLWE問題の次元nの最小値が、スパースLWR問題(nの最小値の限界が、比
Figure 0007019730000076
によって制御される)の場合よりも厳密な最小値の限界をnに強いるガウス誤差分布の分散によって決定されるからである。スパースLWRにおける帯域幅は、(スパースLWEの場合の)logqよりも小さいlogpによって制御される。
様々な実施形態において、通信インターフェースは様々な選択肢から選択される。たとえば、通信インターフェースは、ローカルエリアネットワーク又は広域ネットワークに対するネットワークインターフェースであり、たとえばインターネット、内部又は外部のデータ記憶機構に対する記憶機構インターフェース、キーボードなどである。
ネットワークノードは、たとえばマトリクスA、パブリックキーマトリクス及びプライベートキーマトリクス、及び共有キーなどの中間データを記憶するための電子記憶機構を備える。記憶機構は、たとえばフラッシュメモリといった電子メモリ、又はたとえばハードディスクなどの磁気記憶装置として実施される。記憶機構が備える複数の離散記憶装置が、ともに記憶機構を構成する。記憶機構は、たとえばRAMといった一時的メモリでもよい。一時的記憶機構の場合には、使用前に共通パラメータを取得するために、たとえば任意選択のネットワーク接続(別個には示されていない)を通じて取得することにより、いくつかの手段を使用する。
一般的には、デバイス110及び210は、デバイス110及び210に記憶された適切なソフトウェアを実行するマイクロプロセッサ(図1には別個には示されていない)をそれぞれ備え、たとえば、そのソフトウェアは、たとえばRAMなどの揮発性メモリ又はフラッシュメモリなどの不揮発性メモリ(別個には示されていない)といった対応する記憶装置にダウンロードされ、且つ/又は記憶されている。あるいは、デバイス110及び210は、全体又は一部において、たとえばフィールドプログラマブルゲートアレイ(FPGA)としてプログラマブルロジックで実施される。デバイス110及び210は、全体又は一部において、いわゆる特定用途向け集積回路(ASIC)すなわち特別な用途向けにカスタマイズされた集積回路(IC)として実施される。たとえば、回路は、たとえばVerilog、VHDLなどのハードウェア記述言語を使用してCMOSで実施される。
一実施形態では、ネットワークノードは、通信用インターフェース回路、共有マトリクス回路、プライベートキーマトリクス回路、パブリックキーマトリクス回路、及び共有キー回路を備える。これらの回路は、本明細書で説明された対応するユニットを実施する。これらの回路はプロセッサ回路及び記憶回路であり、プロセッサ回路は、記憶回路において電子的に表現された命令を実行する。
プロセッサ回路は、たとえば複数のサブプロセッサ回路として分散型のやり方で実施される。記憶機構は、複数の分散型サブ記憶機構にわたって分散している。記憶装置の一部又はすべてが、電子メモリ、磁気記憶装置などである。たとえば、記憶機構は揮発性の部分及び不揮発性の部分を有する。記憶機構の一部は読取り専用である。回路は、FPGA、ASICなどでもよい。
図3は、電子キー交換方法の一実施形態の一例を概略的に示すものである。この方法は、イニシエータノード110又はレスポンダノード210などの第1の電子的ネットワークノードによって実行される。
方法400は、
第1のネットワークノードと第2のネットワークノードとの間にデジタル通信を確立するステップ(410)と、
デジタル通信を介して第2のネットワークノードと共有される共有マトリクス(A)を取得するステップ(420)であって、共有マトリクスAのエントリが第1の係数qを法として選択される、取得するステップ(420)と、
プライベートキーマトリクス(S)を生成するステップ(430)であって、プライベートキーマトリクスのエントリが絶対値において限界(s)によって制限される、生成するステップ(430)と、
パブリックキーマトリクス(P)を生成するステップ(440)であって、
マトリクス積を取得する第1の係数(q)を法として、共有マトリクス(A)とプライベートキーマトリクス(S)との間のマトリクス積を計算するステップ(442)と、
マトリクス積のエントリを第2の係数(p)までスケールダウンするステップ(444)であって、スケールダウンされたエントリが、スケールダウン前のエントリに第2の係数(p)を掛けてから第1の係数(q)で割って最近隣数に丸めたものと等しく、第2の係数(p)は第1の係数(q)よりも小さく、限界(s)は最大でも第2の係数(p)である、スケールダウンするステップ(444)とによって、生成するステップ(440)と、
第1のネットワークノードのパブリックキーマトリクスを第2のネットワークノードに送信するステップ(452)と、
第2のネットワークノードのパブリックキーマトリクス(P)を受信するステップ(454)と、
第2の係数(p)を法とする、第2のノードの受信されたパブリックキーと第1のネットワークノードのプライベートキーマトリクスとの間のマトリクス積として、生キーを計算するステップ(460)とを有する。
第1のネットワークノードがイニシエータモードによって動作している場合、第1のネットワークノードは、
第2のネットワークノードの一致データ(h)を受信すること(472)と、
受信された一致データ及び生キーに対して一致関数(rec)を適用することにより、共有キーを計算すること(482)とをさらに遂行する。
第1のネットワークノードがレスポンダモードによって動作している場合、第1のネットワークノードは、
生キーから共有キー及び一致データを取得すること(474)と、
一致データを第1のネットワークノードに送信すること(484)とをさらに遂行する。
当業者には明らかなように、方法を実行する様々なやり方が可能である。たとえば、ステップの順序を変えることができ、又はいくつかのステップを並行して実行することができる。その上に、ステップの間に、他の方法のステップが挿入され得る。挿入されるステップは、本明細書で説明された方法などの改善を表現するものでよく、又は方法とは無関係でもよい。たとえば、所与のステップは、次のステップが開始される前に完了していなくてもよい。
本発明による方法は、プロセッサシステムに方法400を遂行させるための命令を含むソフトウェアを使用して実行される。ソフトウェアは、システムの特定のサブエンティティによって採用されたステップのみ含めばよい。ソフトウェアは、ハードディスク、フロッピーディスク、メモリ、光ディスクなどの適切な記憶媒体に記憶される。ソフトウェアは、ワイヤに沿った信号、無線、又はたとえばインターネットといったデータネットワークを使用して送られる。ソフトウェアは、ダウンロードして使用されるように、且つ/又はサーバ上にあって遠隔で利用されるように作成される。本発明による方法は、本方法を遂行するための、たとえばフィールドプログラマブルゲートアレイ(FPGA)といったプログラマブルロジックを構築するように構成されたビットストリームを使用して実行される。
本発明は、本発明を実行するように適合されたコンピュータプログラム、特にキャリア上のコンピュータプログラム又はキャリアにおけるコンピュータプログラムにも及ぶことが理解されよう。プログラムは、ソースコード、オブジェクトコード、コードの中間のソース、及び部分的にコンパイルされた形式などのオブジェクトコードの形式、又は本発明による方法の実装形態において使用するのに適した任意の他の形式でよい。コンピュータプログラム製品に関する一実施形態は、説明された方法の少なくとも1つの処理ステップの各々に対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分され、並びに/或いは静的又は動的にリンクされる1つ若しくは複数のファイルに記憶される。コンピュータプログラム製品に関する別の実施形態は、説明されたシステム及び/又は製品のうち少なくとも1つの手段の各々に対応するコンピュータ実行可能命令を含む。
図4aは、コンピュータプログラム1020を含む書込み可能な部分1010を有するコンピュータ可読媒体1000を示すものであり、コンピュータプログラム1020は、プロセッサシステムに、一実施形態によるキー合意方法を遂行させるための命令を含む。コンピュータプログラム1020は、コンピュータ可読媒体1000上の物理マークとして、又はコンピュータ可読媒体1000を磁化することにより、具現される。しかしながら、任意の他の適切な実施形態も同様に考えられる。その上、コンピュータ媒体1000は、ここでは光ディスクとして示されているが、ハードディスク、ソリッドステートメモリ、フラッシュメモリなどの任意の適切なコンピュータ可読媒体でよく、記録不可能でも記録可能でもよいことが理解されよう。コンピュータプログラム1020は、プロセッサシステムに、前記キー合意方法400を遂行させるための命令を含む。
図4bは、一実施形態によるプロセッサシステム1140を概略的に示すものである。プロセッサシステムは1つ又は複数の集積回路1110を備える。図4bには1つ又は複数の集積回路1110の構造が概略的に示されている。回路1110は、一実施形態による方法を実行するため、及び/又はそのモジュール若しくはユニットを実施するためのコンピュータプログラムコンポーネントを走らせるための、たとえばCPUである処理ユニット1120を備える。回路1110は、プログラムコード、データなどを記憶するためのメモリ1122を備える。メモリ1122の一部は読取り専用である。回路1110は、たとえばアンテナ、コネクタ、又は両方などの通信要素1126を備える。回路1110は、方法において定義された処理の一部分又はすべてを遂行するための専用の集積回路1124を備えてよい。プロセッサ1120と、メモリ1122と、専用のIC 1124と、通信要素1126とは、たとえばバスである相互接続1130を介して互いに接続されている。プロセッサシステム1110は、コネクタを使用する接触型通信用、及び/又はアンテナを使用する非接触型通信用に構成されている。
たとえば、一実施形態では、ネットワークノードはプロセッサ回路及びメモリ回路を備え、プロセッサはメモリ回路に記憶されたソフトウェアを実行するように構成されている。たとえば、プロセッサ回路は、Intel社のCore i7プロセッサ、ARM社のCortex-R8などである。一実施形態では、プロセッサ回路はARM社のCortex M0である。メモリ回路は、ROM回路、すなわち、たとえばフラッシュメモリといった不揮発性メモリである。メモリ回路は、たとえばSRAMメモリである揮発性メモリである。後者の場合には、検証デバイスは、たとえばハードディスク、ネットワークインターフェースなど、ソフトウェアを供給するように構成される、不揮発性のソフトウェアインターフェースを備える。
前述の実施形態は、本発明を限定するのではなく、当業者が、多くの代替実施形態を設計することを可能にするように説明するものであることに留意されたい。
特許請求の範囲では、括弧の間のいかなる参照符号も、特許請求の範囲を限定するものとして解釈されないものとする。動詞「備える」及びその語形変化の使用は、特許請求の範囲において明示されたもの以外の要素又はステップの存在を排除するものではない。要素の前の冠詞「1つの(a)」又は「1つの(an)」は、そのような要素が複数存在すること排除するものではない。本発明は、いくつかの別個の要素を含むハードウェアと、適切にプログラムされたコンピュータとによって実施される。いくつかの手段を列挙しているデバイスの請求項では、これらの手段のいくつかは、ハードウェアの同一の品目によって具現され得る。特定の方策が互いに異なる従属請求項において詳述されるという単なる事実は、これらの方策の組合せが有利に使用され得ないことを指示するわけではない。
特許請求の範囲では、括弧の中の参照は、実施形態を例示する図面における参照符号又は実施形態の式を参照するものであり、したがって特許請求の範囲における理解し易さが向上する。これらの参照は、特許請求の範囲を限定するものとして解釈されることはないものとする。

Claims (16)

  1. キー交換プロトコル用の第1の電子的ネットワークノードであって、前記第1の電子的ネットワークノードが、
    第2のネットワークノードとのデジタル通信用の通信インターフェースと、
    プロセッサ回路とを備え、前記プロセッサ回路は、
    前記通信インターフェースを介して前記第2のネットワークノードと共有される共有マトリクスを取得することであって、前記共有マトリクスのエントリが第1の係数を法として選択される、取得することと、
    プライベートキーマトリクスを生成することであって、前記プライベートキーマトリクスのエントリが絶対値において限界によって制限される、生成することと、
    パブリックキーマトリクスを生成することであって、
    マトリクス積を取得する前記第1の係数を法として、前記共有マトリクスと前記プライベートキーマトリクスとの間のマトリクス積を計算することと、
    前記マトリクス積のエントリを第2の係数までスケールダウンすることであって、スケーリングされたエントリが、スケーリング前の前記エントリに前記第2の係数を掛け、前記第1の係数で割ってから、最近隣数に丸めたものに等しく、前記第2の係数が前記第1の係数よりも小さく、前記限界が最大でも前記第2の係数である、スケールダウンすることとによって、生成することと、
    前記第1の電子的ネットワークノードの前記パブリックキーマトリクスを前記第2のネットワークノードに送信することと、
    前記第2のネットワークノードのパブリックキーマトリクスを受信することと、
    前記第2の係数を法とする、前記第2のネットワークノードの受信された前記パブリックキーマトリクスと前記第1の電子的ネットワークノードの前記プライベートキーマトリクスとの間のマトリクス積として、生キーを計算することとを行い、
    前記第1の電子的ネットワークノードが、
    前記第2のネットワークノードの一致データを受信することと、
    受信した前記一致データ及び前記生キーに対して一致関数を適用して共有キーを計算することとをさらに行うか、又は
    前記第1の電子的ネットワークノードが、
    前記生キーから前記共有キー及び一致データを取得することと、
    前記一致データを前記第2のネットワークノードに送信することとをさらに行う、第1の電子的ネットワークノード。
  2. 前記プライベートキーマトリクスのエントリに対する絶対値の前記限界が2又は1であり、後者は符号付き2進数に対応する、請求項1に記載の第1の電子的ネットワークノード。
  3. 前記プライベートキーマトリクスの列及び/又は行が一定のハミング重みを有する、請求項1又は2に記載の第1の電子的ネットワークノード。
  4. 前記プライベートキーマトリクスが、候補のプライベートキーマトリクスから一様ランダムに選択される、請求項1から3のいずれか一項に記載の第1の電子的ネットワークノード。
  5. 前記プライベートキーマトリクスのエントリは、ゼロエントリの確率が非ゼロエントリの確率よりも大きい非一様な確率分布から選択される、請求項1から4のいずれか一項に記載の第1の電子的ネットワークノード。
  6. 前記プライベートキーマトリクスが、前記プライベートキーマトリクスの前記列及び/又は行向けの一定の予期されたハミング重みを有する確率分布から選択される、請求項5に記載の第1の電子的ネットワークノード。
  7. Figure 0007019730000077
    が少なくとも127であり、より好ましくは少なくとも255であって、nはマトリクスの次元であり、hはハミング重みである、請求項2に従属する請求項3に記載の第1の電子的ネットワークノード。
  8. 前記第1の係数が前記第2の係数によって割られる、請求項1から7のいずれか一項に記載の第1の電子的ネットワークノード。
  9. 前記第2の係数及び/又は前記第1の係数が2の累乗である、請求項1から8のいずれか一項に記載の第1の電子的ネットワークノード。
  10. それぞれの新規のキー交換用に新規のマトリクス及び/又は新規のプライベートキーを取得する、請求項1から9のいずれか一項に記載の第1の電子的ネットワークノード。
  11. 前記一致データのサイズが2ビット以上である、請求項1から10のいずれか一項に記載の第1の電子的ネットワークノード。
  12. ランダムシードを生成して、通信チャネルを通じて前記ランダムシードを他のノードに送信することにより、共有マトリクスを取得し、前記第1の電子的ネットワークノード及び前記第2のネットワークノードが、前記ランダムシードを使用して決定論的擬似乱数発生器のシードを設定し、前記決定論的擬似乱数発生器の出力から前記共有マトリクスを生成する、請求項1から11のいずれか一項に記載の第1の電子的ネットワークノード。
  13. 前記共有マトリクスがnと等しい少なくとも1つの次元を有し、前記共有マトリクスが任意選択でn×nの正方マトリクスであり、
    前記第1の電子的ネットワークノードのプライベートキーがn及び
    Figure 0007019730000078
    の次元を有し、
    前記第2のネットワークノードのプライベートキーが
    Figure 0007019730000079
    及びnの次元を有し、ここで、
    Figure 0007019730000080
    及び
    Figure 0007019730000081
    がnよりも小さい、請求項1から12のいずれか一項に記載の第1の電子的ネットワークノード。
  14. 前記第1の係数のビットサイズが12以上であり、及び/又は
    前記第2の係数のビットサイズが7以上である、請求項1から13のいずれか一項に記載の第1の電子的ネットワークノード。
  15. 第1の電子的ネットワークノード用の電子キー交換方法であって、前記電子キー交換方法が、
    前記第1の電子的ネットワークノードと第2のネットワークノードとの間にデジタル通信を確立するステップと、
    前記デジタル通信を介して前記第2のネットワークノードと共有される共有マトリクスを取得するステップであって、前記共有マトリクスのエントリが第1の係数を法として選択される、取得するステップと、
    プライベートキーマトリクスを生成するステップであって、前記プライベートキーマトリクスのエントリが絶対値において限界によって制限される、生成するステップと、
    パブリックキーマトリクスを生成するステップであって、
    マトリクス積を取得する第1の係数を法として、前記共有マトリクスと前記プライベートキーマトリクスとの間のマトリクス積を計算するステップと、
    前記マトリクス積の前記エントリを第2の係数までスケールダウンするステップであって、スケーリングされたエントリが、スケーリング前の前記エントリに前記第2の係数を掛け、前記第1の係数で割ってから、最近隣数に丸めたものに等しく、前記第2の係数が前記第1の係数よりも小さく、前記限界が最大でも前記第2の係数である、スケールダウンするステップとによって、前記パブリックキーマトリクスを生成するステップと、
    前記第1の電子的ネットワークノードの前記パブリックキーマトリクスを前記第2のネットワークノードに送信するステップと、
    前記第2のネットワークノードのパブリックキーマトリクスを受信するステップと、
    前記第2の係数を法とする、前記第2のネットワークノードの受信された前記パブリックキーマトリクスと前記第1の電子的ネットワークノードの前記プライベートキーマトリクスとの間のマトリクス積として、生キーを計算するステップとを有し、
    前記電子キー交換方法が、
    前記第2のネットワークノードの一致データを受信するステップと、
    受信された前記一致データ及び前記生キーに対して一致関数を適用することにより、共有キーを計算するステップとをさらに有するか、又は
    前記電子キー交換方法が、
    前記生キーから前記共有キー及び一致データを取得するステップと、
    前記一致データを前記第2のネットワークノードに送信するステップとをさらに有する、電子キー交換方法。
  16. 請求項15に記載の電子キー交換方法をプロセッサシステムに遂行させる命令を表わす一時的データ又は非一時的データを含む、コンピュータ可読媒体。
JP2019565064A 2017-02-15 2018-02-15 キー交換デバイス及び方法 Active JP7019730B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17156214.3 2017-02-15
EP17156214.3A EP3364596A1 (en) 2017-02-15 2017-02-15 Key exchange devices and method
PCT/EP2018/053766 WO2018149912A1 (en) 2017-02-15 2018-02-15 Key exchange devices and method

Publications (3)

Publication Number Publication Date
JP2020508021A JP2020508021A (ja) 2020-03-12
JP2020508021A5 JP2020508021A5 (ja) 2021-03-25
JP7019730B2 true JP7019730B2 (ja) 2022-02-15

Family

ID=58046562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019565064A Active JP7019730B2 (ja) 2017-02-15 2018-02-15 キー交換デバイス及び方法

Country Status (11)

Country Link
US (1) US11070367B2 (ja)
EP (2) EP3364596A1 (ja)
JP (1) JP7019730B2 (ja)
CN (1) CN110419194B (ja)
BR (1) BR112019016779A2 (ja)
CA (1) CA3053298A1 (ja)
ES (1) ES2858435T3 (ja)
MX (1) MX2019009656A (ja)
PL (1) PL3583739T3 (ja)
RU (1) RU2737105C1 (ja)
WO (1) WO2018149912A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3402118A1 (en) 2017-05-10 2018-11-14 Koninklijke Philips N.V. Key agreement devices and method
BR112020007456A2 (pt) * 2017-10-17 2020-10-27 Koninklijke Philips N.V. primeiro nó de rede eletrônico, método de operação criptográfica eletrônica e mídia legível por computador
US10819510B2 (en) * 2018-02-06 2020-10-27 Wickr Inc. Facilitating communications using hybrid cryptography
US10841086B2 (en) 2018-02-06 2020-11-17 Wickr, Inc. Facilitating communications using hybrid cryptography
US11146540B2 (en) * 2018-05-09 2021-10-12 Datalogic Ip Tech S.R.L. Systems and methods for public key exchange employing a peer-to-peer protocol
EP3624391A1 (en) * 2018-09-12 2020-03-18 Koninklijke Philips N.V. Public/private key system with decreased encrypted message size
CN109525385B (zh) * 2018-11-23 2022-04-08 全链通有限公司 一种共享密钥的封装方法、第一节点和第二节点
CN111064570B (zh) * 2019-12-17 2023-01-31 航天信息股份有限公司 共享密钥处理方法、装置、存储介质和电子设备
CN111464289B (zh) 2020-01-13 2021-07-27 华中科技大学 一种后量子密钥交换协议的实现方法、设备及系统
JP7460515B2 (ja) 2020-03-13 2024-04-02 Kddi株式会社 電子署名生成装置、電子署名生成方法及び電子署名生成プログラム
CN111897545B (zh) * 2020-06-28 2022-02-01 东风汽车集团有限公司 应用于ecu的安全访问方法和系统
US11153080B1 (en) * 2020-07-29 2021-10-19 John A. Nix Network securing device data using two post-quantum cryptography key encapsulation mechanisms
US12003629B2 (en) 2020-12-30 2024-06-04 John A. Nix Secure server digital signature generation for post-quantum cryptography key encapsulations
CN114268439B (zh) * 2021-12-16 2023-09-15 中原工学院 一种基于格的身份基认证密钥协商方法
CN114244513B (zh) * 2021-12-31 2024-02-09 日晷科技(上海)有限公司 密钥协商方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252864A (ja) 2004-03-05 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> セキュリティシステム、セキュリティ装置及びそのプログラム
JP2013524277A (ja) 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 双一次形式に関する効率的な準同形暗号方式のためのコンピュータ読み取り可能記憶媒体および装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081597A (en) * 1996-08-19 2000-06-27 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
CA2277633C (en) * 1999-07-19 2009-10-20 Certicom Corp. Split-key key-agreement protocol
CN1258051A (zh) * 1999-12-23 2000-06-28 赵风光 一种公开密钥加密体制和装置
CN101023622B (zh) * 2004-04-02 2010-12-08 捷讯研究有限公司 配置和供应无线手持设备
US8422681B2 (en) * 2008-03-06 2013-04-16 International Business Machines Corporation Non-interactive hierarchical identity-based key-agreement
EP2334008A1 (en) * 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
RU2452111C1 (ru) * 2010-11-17 2012-05-27 ЗАО Институт инфокоммуникационных технологий Способ пороговой генерации ключей для системы защиты информации на основе идентификационных данных
CN102025491A (zh) * 2010-12-15 2011-04-20 北京联合智华微电子科技有限公司 双矩阵组合公钥的生成方法
US10181049B1 (en) * 2012-01-26 2019-01-15 Hrl Laboratories, Llc Method and apparatus for secure and privacy-preserving querying and interest announcement in content push and pull protocols
USRE48643E1 (en) * 2012-04-12 2021-07-13 Jintai Ding Cryptographic system using pairing with errors
EP2667539A1 (en) * 2012-05-21 2013-11-27 Koninklijke Philips N.V. Key sharing methods, device and system for configuration thereof.
US20140185805A1 (en) * 2013-01-03 2014-07-03 Neuropace, Inc. Securely Exchanging Cipher Keys
JP6034998B1 (ja) * 2013-11-21 2016-11-30 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 暗号鍵を共有するためのシステム
US10110569B1 (en) * 2015-04-08 2018-10-23 CSuite Technologies, Inc. Systems and methods of storing data on a cloud-based personal virtual server
US9948460B2 (en) * 2015-08-28 2018-04-17 City University Of Hong Kong Multivariate cryptography based on clipped hopfield neural network
US10623972B2 (en) * 2016-08-05 2020-04-14 T-Mobile Usa, Inc. Common network resource allocation for matching data
US10129223B1 (en) * 2016-11-23 2018-11-13 Amazon Technologies, Inc. Lightweight encrypted communication protocol
US10630682B1 (en) * 2016-11-23 2020-04-21 Amazon Technologies, Inc. Lightweight authentication protocol using device tokens
US10263778B1 (en) * 2016-12-14 2019-04-16 Amazon Technologies, Inc. Synchronizable hardware security module
US10425225B1 (en) * 2016-12-14 2019-09-24 Amazon Technologies, Inc. Synchronizable hardware security module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252864A (ja) 2004-03-05 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> セキュリティシステム、セキュリティ装置及びそのプログラム
JP2013524277A (ja) 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 双一次形式に関する効率的な準同形暗号方式のためのコンピュータ読み取り可能記憶媒体および装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOS, Joppe et al.,Frodo: Take off the ring! Practical, Quantum-Secure Key Exchange from LWE,Cryptology ePrint Archive,International Association for Cryptologic Research (IACR),2016年09月,Report 2016/659, Ver. 20160910:010217,pp. 1-26,[2021年12月14日検索], インターネット, <URL: https://eprint.iacr.org/2016/659/20160910:010217>
CHEON, Jung Hee et al.,A Practical Post-Quantum Public-Key Cryptosystem Based on spLWE,Cryptology ePrint Archive,International Association for Cryptologic Research (IACR),2016年11月,Report 2016/1055, Ver. 20161121:021856,pp. 1-19,[2021年12月14日検索], インターネット, <URL: https://eprint.iacr.org/2016/1055/20161121:021856>

Also Published As

Publication number Publication date
MX2019009656A (es) 2019-09-27
EP3364596A1 (en) 2018-08-22
WO2018149912A1 (en) 2018-08-23
PL3583739T3 (pl) 2021-10-11
CN110419194B (zh) 2023-04-04
CA3053298A1 (en) 2018-08-23
BR112019016779A2 (pt) 2020-03-31
ES2858435T3 (es) 2021-09-30
EP3583739A1 (en) 2019-12-25
CN110419194A (zh) 2019-11-05
US20190386825A1 (en) 2019-12-19
RU2737105C1 (ru) 2020-11-24
EP3583739B1 (en) 2020-12-02
US11070367B2 (en) 2021-07-20
JP2020508021A (ja) 2020-03-12
ES2858435T8 (es) 2022-01-07

Similar Documents

Publication Publication Date Title
JP7019730B2 (ja) キー交換デバイス及び方法
JP6720424B1 (ja) 鍵共有デバイス及び方法
RU2752697C1 (ru) Криптографическое устройство с изменяемой конфигурацией
US12028454B2 (en) Multi-party threshold authenticated encryption
JP7208987B2 (ja) 更新可能な共有マトリクスを備える暗号装置
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
US9923720B2 (en) Network device configured to derive a shared key
CN104854814A (zh) 密钥共享网络设备及其配置
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
CA3080861A1 (en) Method and system for key agreement utilizing semigroups
JP2021086158A (ja) 格子ベースの暗号鍵生成方法及び電子署名方法
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems
CN105099693B (zh) 一种传输方法及传输装置
Almulla et al. A concurrent key exchange protocol based on commuting matrices
Gallego Estévez Quantum and post-quantum key combination in a financial environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220202

R150 Certificate of patent or registration of utility model

Ref document number: 7019730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150