JP7413365B2 - 暗号メッセージのサイズが縮小された公開鍵/秘密鍵システム - Google Patents
暗号メッセージのサイズが縮小された公開鍵/秘密鍵システム Download PDFInfo
- Publication number
- JP7413365B2 JP7413365B2 JP2021513439A JP2021513439A JP7413365B2 JP 7413365 B2 JP7413365 B2 JP 7413365B2 JP 2021513439 A JP2021513439 A JP 2021513439A JP 2021513439 A JP2021513439 A JP 2021513439A JP 7413365 B2 JP7413365 B2 JP 7413365B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- matrix
- public key
- public
- private
- 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
Links
- 239000011159 matrix material Substances 0.000 claims description 409
- 230000005540 biological transmission Effects 0.000 claims description 137
- 238000000034 method Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 29
- 238000012937 correction Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims 6
- 230000006870 function Effects 0.000 description 53
- 238000005538 encapsulation Methods 0.000 description 27
- 230000015654 memory Effects 0.000 description 24
- 238000003860 storage Methods 0.000 description 22
- 238000004590 computer program Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 14
- 238000009795 derivation Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 4
- 230000009021 linear effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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/0841—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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 key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
Description
20 公開鍵暗号化デバイス
31 登録フェーズ
32 暗号化フェーズ
33 復号フェーズ
11~16 メッセージ
100 秘密鍵復号デバイス
130 通信インターフェース
191 コンピュータネットワーク
192 ストレージインターフェース
194 プロセッサ
196 メモリ
200 公開鍵暗号化デバイス
230 通信インターフェース
292 ストレージインターフェース
294 プロセッサ
296 メモリ
300 秘密鍵復号デバイス
301 暗号システム
302 公開鍵デポジトリ
305 通信インターフェース
315 公開/秘密鍵生成器
320 エラー訂正器
325 Diffie-Hellmanユニット
335 調整ユニット
340 カプセル化解除ユニット
350 公開鍵暗号化デバイス
355 通信インターフェース
360 公開鍵取得器
365 公開/秘密鍵生成器
370 コードワード生成器
375 Diffie-Hellmanユニット
380 高信頼性ビット生成器
385 調整データ生成器
390 カプセル化ユニット
1000 コンピュータ可読媒体
1010 書き込み可能部分
1020 コンピュータプログラム
1110 集積回路
1120 処理ユニット
1122 メモリ
1124 専用集積回路
1126 通信要素
1130 相互接続部
1140 プロセッサシステム
- aは、公開行列、例えば、整数または環や体などに含まれる要素を有する行列を表す。要素は、あるモジュラス(例えば、2の累乗)を法とする整数であり得る。要素は、モジュラス(例えば、2の累乗)および多項式を法とする多項式であり得る。行列aは通常、正方d×d行列である。モジュラスを法とする行列は非環構成(non-ring configuration)と称される。多項式およびモジュラスを法とする多項式エントリーを有する行列はモジュール構成と称される。
- rおよびsは、それぞれ、秘密鍵復号デバイスの秘密鍵行列および公開鍵暗号化デバイスの秘密鍵行列を表す。
- bおよびuは、a*rまたはa*sの積として示されている秘密鍵復号デバイスおよび公開鍵暗号化デバイスのそれぞれの公開鍵行列を表す。
- cはカプセル化された送信鍵Kを表す。
- encapsulate(k,K)は、送信鍵Kがkでカプセル化されることを意味する。例えば、kがZ_qに存在する場合、KもZ_qで表され得る。kがZ_2に存在する場合、これはXORであり得る。カプセル化は要素ごとに行われ、例えば、以下のようにkおよびKを行列として解釈することで行われてもよい。
c=k+K*(q/2)(mod q)
- decapsulate(k,c)は、暗号文cが鍵kを使用してカプセル化解除され、ビット列を返すことを意味する。
RLWE:Vadim Lyubashevsky、Chris Peikert、およびOded Regevによる“On Ideal Lattices and Learning with Errors Over Rings”
RLWR:Abhishek Banerjee、Chris Peikert、およびAlon Rosenによる“Pseudorandom Functions and Lattices”
LWE:Oded Regevによる“On Lattices, Learning with Errors, Random Linear Codes, and Cryptography”
LWR:Abhishek Banerjee、Chris Peikert、およびAlon Rosenによる“Pseudorandom Functions and Lattices”
Hila5:Markku-Juhani O. Saarinenによる“HILA5: On Reliability, Reconciliation, and Error Correction for Ring-LWE Encryption”
秘密鍵復号デバイスは公開行列Aおよび第1の秘密鍵行列Rを選択する。
秘密鍵復号デバイスは、何らかのエラー行列Eについて、第1の公開鍵行列B=AR+Eを計算する。
秘密鍵復号デバイスは以下を送信する:A、B
公開鍵暗号化デバイスは第2の秘密鍵行列Sを選択する。
公開鍵暗号化デバイスは、何らかのエラー行列E’について、第2の公開鍵行列U=ATS+E’を計算する。
公開鍵暗号化デバイスは第2の生の鍵BTSを計算する。なお、BTS=STATR+ETRである。
公開鍵暗号化デバイスは送信鍵Kを生成し、カプセル化された送信鍵を調整(reconcilation)データとともに
公開鍵暗号化デバイスは以下を送信する:U、C
秘密鍵復号デバイスは第1の生の鍵BTSを計算する。なお、BTS=STATR+ETRである。
秘密鍵復号デバイスは、C-STUを計算し、結果を
nは、秘密行列および/または公開行列内の多項式の次数を示す。n=1の値は、モジュラスを法とする整数が使用されることを示す。値nは「環の次元(ring dimension)」、例えば、選択された多項式環の次数と称され得る。
dはシステムの型、例えば、公開行列aの列および行の数を示す。
μは、送信鍵をカプセル化するのに使用される生の鍵行列の要素の数を示す。これらの要素は、事前に決定されたもの(例えば、標準化されたもの)であってもよいし、ランダムに選択されたものでもよいし、または意図的に選択されたもの(例えば、信頼できる要素として)であってもよい。したがって、共有秘密鍵の長さはμBであり、上記の例では、これは64×4=256である。
1.公開行列aを再生成するためのシード。例えば、シードのビット長は共有秘密と同じに選択され得る(この例では256ビット)。
2.公開鍵行列b。この行列の次元はdおよび
3.任意選択的に、追加のブックキーピング情報。例えば、鍵のタイプを示すために識別子が含められてもよい(例えば、1バイト)。例えば、識別子は公開行列aの再生方法を示し得る。例えば、値
1.第2の公開鍵行列u。第2の公開鍵行列の次元はdおよび
2.カプセル化されたデータcは、μの要素を有するベクトルとして符号化され、ここで、要素はtを法として選択される。この例のカプセル化されたデータのサイズは
3.任意選択的に、認証付き暗号がメッセージに使用される場合、認証タグ。例えば、Galois/counterモードが使用される場合、認証タグはAESGCM認証タグであり得る。PKEスキームの公開鍵に認証タグを含めることは必要ではない。
4.任意選択的に、
a)高信頼性ビット関数を第2の生の共有鍵(k*)に適用し、第2の生の共有鍵の一部を選択し、第2の生の共有鍵の要素を指し示す高信頼性インデックスを取得し、ここで、指し示された要素からカプセル化のためのビットが導出され、さらに高信頼性インデックスを秘密鍵復号デバイスに送ること、および/または
b)第2の生の共有鍵の少なくとも一部のための調整データ(h)を生成し、ここで、調整データは、公開鍵暗号化デバイスおよび秘密鍵復号デバイスにおいて導出される第1の生の鍵と第2の生の鍵との間の差異を減らすことを可能にする情報を含み、さらに調整データ(h)を秘密鍵復号デバイスに送ること、および/または
c)送信鍵のためのパリティビットを生成し、ここで、送信鍵およびパリティビットは誤り訂正符号に従いコードワードを形成し、さらに、コードワードをカプセル化することを含む送信鍵のカプセル化を行うこと。
a)公開鍵暗号化デバイスから高信頼性インデックスを受け取り、高信頼性インデックスによって指し示される第1の生の共有鍵の部分を選択すること、
b)第1の生の共有鍵(k’)の少なくとも一部のための調整データ(h)を受け取り、ここで、調整データは、公開鍵暗号化デバイスおよび秘密鍵復号デバイスにおいて導出された第1の生の鍵と第2の生の鍵との間の差異を減らすことを可能にする情報を含み、さらに第1の生の共有鍵の前記少なくとも一部、および調整データに調整関数を適用すること、および
c)カプセル化されたデータ(c)のカプセル化を解除することでニアコードワードを取得し、誤り訂正符号に従って誤り訂正を適用すること。
TLS1.3:クライアントがclient_helloを送る。client_helloは公開鍵行列を含み得る。client_helloは、公開鍵の代わりに、公開鍵行列をダウンロードできる場所を示すURLを含んでもよい。サーバがまだ公開鍵を持っていない場合(例えば、キャッシュ)、サーバは公開鍵行列をダウンロードし、ローカルに保存し得る。公開鍵行列を用いて、サーバは対称鍵を暗号化することができる。暗号化された対称鍵はクライアントに送信され、レコード層のための対称鍵導出の元となるマスターキーとして使用される。この例では、クライアントは秘密鍵復号デバイスの役割を果たす。
- parity_bitsはエラー訂正に使用される情報を指す。
- obtain_parity_bits(k)は、kのいくつかのパリティビットが取得されることを意味する。例えば、パリティビットは誤り訂正符号に従って生成され得る。
- error_correct(k,parity_bits)は、parity_bitsを使用してkまたはparity_bitsにおける潜在的なエラーを訂正し、エラーが少ない可能性がより高いバージョンのkを取得することを意味する。
- hは調整ビットを含むヘルパーデータを表す。
- get_reconciliation(k)は、raw_key kから調整ビットを返す関数である。
- reconciliate(k,h)は、調整ビットhに基づきraw_key kを調整する関数である。
- safe_bits()は以下の2つの値を返す。(i)実際の高信頼性値、および(ii)取得値が定量化境界から離れているため失敗の確率を低くすることができるキービットの位置。Safe_bits()によって返される実際の値は、後にカプセル化などに使用される。位置は他方のパーティに交換され、それにより他方のパーティはどの位置が必要か知ることができる。
1.丸め関数
2.クロス丸め(cross-rounding)関数
3.調整関数rec(w,b):
- 秘密鍵復号デバイス(10)と通信するように構成された通信インターフェースと、
- プロセッサとを備える公開鍵暗号化デバイス(20)であって、前記プロセッサは、
- 秘密鍵復号デバイスに関連付けられた第1の公開鍵行列(b)を取得し、
- 送信鍵(K)を生成し、
- 第2の秘密鍵行列(s)を生成し、第2の秘密鍵行列(s)から第2の公開鍵行列(u)を計算し、ここで、第2の公開鍵行列(u)は第1の公開鍵行列(b)よりも少ない行列要素を有し、
- 第2の秘密鍵行列(s)および第1の公開鍵行列(b)から第2の生の共有鍵(k*)を計算し、ここで、第2の生の共有鍵を計算することは、第2の秘密鍵行列(s)と第1の公開鍵行列(b)との間の行列乗算を含み、
- カプセル化関数を適用することによって、第2の生の共有鍵の少なくとも一部を用いて送信鍵(K)をカプセル化してカプセル化されたデータ(c)を取得し、
- 第2の公開鍵行列(u)およびカプセル化されたデータ(c)を秘密鍵復号デバイスに送るように構成される、公開鍵暗号化デバイス。
- 公開鍵暗号化デバイス(20)と通信するように構成された通信インターフェースと、
- プロセッサとを備える秘密鍵復号デバイス(10)であって、前記プロセッサは、
- 第1の秘密鍵行列(r)を生成して、第1の秘密鍵行列(r)から第1の公開鍵行列(b)を計算し、公開鍵暗号化デバイスに第1の公開鍵行列(b)を送ることを許容し、
- 公開鍵暗号化デバイスから第2の公開鍵行列(u)およびカプセル化されたデータ(c)を受け取り、ここで、第2の公開鍵行列(u)は第1の公開鍵行列(b)よりも少ない行列要素を有し、
- 第2の公開鍵行列(u)および第1の秘密鍵行列(r)から第1の生の共有鍵(k’)を計算し、ここで、第1の生の共有鍵を計算することは、第2の公開鍵行列(u)と第1の秘密鍵行列(r)との間の行列乗算を含み、
- 第1の生の共有鍵(k’)の少なくとも一部を使用して、カプセル化されたデータ(c)のカプセル化を解除することで送信鍵を取得するように構成される、秘密鍵復号デバイス。
- 公開鍵暗号化デバイスのプロセッサは、
- 送信鍵(K)の鍵サイズを取得し、前記鍵サイズに従って送信鍵(K)を生成し、
- 前記鍵サイズの送信鍵のカプセル化に対応するよう、第2の秘密鍵行列(s)の行列サイズを決定し、行列サイズに従って第2の秘密鍵行列(s)を生成し、
- 鍵サイズおよび/または行列サイズの指標を秘密鍵復号デバイスに送るように構成され、および/または
- 秘密鍵復号デバイスのプロセッサは、
- 公開鍵暗号化デバイスから鍵サイズおよび/または行列サイズの指標を受け取り、
- 受け取られたサイズに応じて、カプセル化されたデータ(c)のカプセル化を解除して送信鍵を取得するように構成される、上記番号が付された実施形態のうちのいずれかの公開鍵暗号化デバイスまたは秘密鍵復号デバイス。
- 公開鍵暗号化デバイスのプロセッサは、送信鍵を用いてメッセージ(m)を暗号化し、暗号化されたメッセージを秘密鍵復号デバイスに送るよう構成され、および/または
- 秘密鍵復号デバイスのプロセッサは、秘密鍵復号デバイスから暗号化されたメッセージを受け取り、送信鍵を用いて暗号化されたメッセージを復号するように構成される、上記番号が付された実施形態のうちのいずれかの公開鍵暗号化デバイスまたは秘密鍵復号デバイス。
- 第2の生の鍵は行列であり、送信鍵(K)をカプセル化することは、送信鍵のビットを、第2の生の鍵行列の少なくとも一部の要素の最上位部分に加えること、および第2の生の鍵行列の前記少なくとも一部の要素のゼロ個以上の最下位ビットを破棄することを含み、
- 第1の生の鍵は行列であり、カプセル化されたデータのカプセル化を解除することは、第1の生の鍵行列の少なくとも一部の要素のゼロ個以上の最下位ビットを破棄すること、カプセル化されたデータから第1の生の鍵行列の前記少なくとも一部の要素を差し引くこと、および差し引かれた結果を丸めることを含む、上記番号が付された実施形態のうちのいずれかの公開鍵暗号化デバイスまたは秘密鍵復号デバイス。
- 秘密鍵復号デバイスとの通信を確立するステップと(410)、
- 秘密鍵復号デバイスに関連付けられた第1の公開鍵行列(b)を取得するステップと(420)、
- 送信鍵(K)を生成するステップと(430)、
- 第2の秘密鍵行列(s)を生成し、第2の秘密鍵行列(s)から第2の公開鍵行列(u)を計算するステップであって、第2の公開鍵行列(u)は第1の公開鍵行列(b)よりも少ない行列要素を有する、ステップと(440)、
- 第2の秘密鍵行列(s)および第1の公開鍵行列(b)から第2の生の共有鍵(k*)を計算するステップであって、第2の生の共有鍵の計算は、第2の秘密鍵行列(s)と第1の公開鍵行列(b)との間の行列乗算を含む、ステップと(450)、
- カプセル化関数を適用することによって、第2の生の共有鍵の少なくとも一部を用いて送信鍵(K)をカプセル化して、カプセル化されたデータ(c)を取得するステップと(460)、
- 第2の公開鍵(u)およびカプセル化されたデータ(c)を秘密鍵復号デバイスに送るステップと(470)を含む。
- 公開鍵暗号化デバイスとの通信を確立するステップと(510)、
- 第1の秘密鍵行列(r)を生成し、第1の秘密鍵行列(r)から第1の公開鍵行列(b)を計算し、第1の公開鍵行列(b)を公開鍵暗号化デバイスに送ることを許容するステップと(520)、
- 公開鍵暗号化デバイスから第2の公開鍵行列(u)およびカプセル化されたデータ(c)を受け取るステップであって、第2の公開鍵行列(u)は第1の公開鍵行列(b)よりも少ない行列要素を有する、ステップと(530)、
- 第2の公開鍵行列(u)および第1の秘密鍵行列(r)から第1の生の共有鍵(k’)を計算するステップであって、第1の生の共有鍵の計算は、第2の公開鍵行列(u)と第1の秘密鍵行列(r)との間の行列乗算を含む、ステップと(540)、
- 第1の生の共有鍵(k’)の少なくとも一部を使用してカプセル化されたデータ(c)のカプセル化を解除することで送信鍵を取得するステップと(550)を含む。
Claims (31)
- 秘密鍵復号デバイスと通信するための通信インターフェースと、プロセッサとを備える公開鍵暗号化デバイスであって、暗号化フェーズ中、第2の公開鍵行列の第2の次元は設定可能であり、
前記プロセッサは、
前記秘密鍵復号デバイスに関連付けられた第1の公開鍵行列を取得し、
送信鍵の鍵サイズを取得し、
前記鍵サイズに従って前記送信鍵を生成し、
前記第2の公開鍵行列の前記第2の次元と等しい第2の秘密鍵行列の第2の次元の値を選択することによって、前記鍵サイズの前記送信鍵のマスキングに対応するように前記第2の秘密鍵行列の行列サイズを決定し、
前記行列サイズに従って前記第2の秘密鍵行列を生成し、前記第2の秘密鍵行列から前記第2の公開鍵行列を計算し、
前記第2の秘密鍵行列および前記第1の公開鍵行列から第2の生の共有鍵を計算し、ここで、前記第2の生の共有鍵を計算することは、前記第2の秘密鍵行列と前記第1の公開鍵行列との間の行列乗算を含み、
前記第2の生の共有鍵の少なくとも一部を用いて前記送信鍵をマスキングし、
前記鍵サイズおよび/または行列サイズの指標、前記第2の公開鍵行列、および前記マスキングされた送信鍵を前記秘密鍵復号デバイスに送る、
公開鍵暗号化デバイス。 - 公開鍵暗号化デバイスと通信するための通信インターフェースと、プロセッサとを備える秘密鍵復号デバイスであって、
前記プロセッサは、
第1の秘密鍵行列を生成して、前記第1の秘密鍵行列から第1の公開鍵行列を計算し、前記公開鍵暗号化デバイスに前記第1の公開鍵行列を送ることを許容し、
前記公開鍵暗号化デバイスから、鍵サイズおよび/または行列サイズの指標、第2の公開鍵行列、並びにマスキングされた送信鍵を受け取り、暗号化フェーズ中、前記公開鍵暗号化デバイスにおいて、前記第2の公開鍵行列の第2の次元は設定可能であり、
前記第2の公開鍵行列および前記第1の秘密鍵行列から第1の生の共有鍵を計算し、ここで、前記第1の生の共有鍵を計算することは、前記第2の公開鍵行列と前記第1の秘密鍵行列との間の行列乗算を含み、
前記第1の生の共有鍵の少なくとも一部を使用して、前記受け取られたサイズに基づき、前記マスキングされた送信鍵のマスキングを解除することで送信鍵を取得する、
秘密鍵復号デバイス。 - 前記公開鍵暗号化デバイスの前記プロセッサは、前記秘密鍵復号デバイスとのハンドシェイクを実行し、前記ハンドシェイクの実行は、
前記秘密鍵復号デバイスの少なくとも2つの第1の公開鍵行列の少なくとも2つの指標を前記秘密鍵復号デバイスから受け取ることを含み、ここで、前記2つの第1の公開鍵行列は異なるサイズを有し、
前記ハンドシェイクの実行はさらに、前記公開鍵暗号化デバイスの鍵キャッシュが、前記2つの第1の公開鍵行列のうちの大きい方の行列を含むか否かを決定し、含む場合には前記大きい方の第1の公開鍵行列を選択することによって、第1の公開鍵行列を選択することと、
前記選択された第1の公開鍵行列の指標を前記秘密鍵復号デバイスに送り、前記鍵キャッシュ内で入手できない場合は前記第1の公開鍵行列をリクエストすることとを含む、
請求項1に記載の公開鍵暗号化デバイス。 - 前記第2の秘密鍵行列は前記第1の公開鍵行列よりも少ない行列要素を有し、
前記第2の公開鍵行列は前記第1の公開鍵行列よりも少ない行列要素を有し、および/または
前記第2の公開鍵行列は第1の秘密鍵行列よりも少ない行列要素を有する、
請求項1または請求項3に記載の公開鍵暗号化デバイス。 - 前記第2の公開鍵行列の前記第2の次元は、前記第1の公開鍵行列の前記第2の次元の半分以下であり、および/または
前記第2の公開鍵行列の前記第2の次元は1である、
請求項5に記載の公開鍵暗号化デバイス。 - 前記公開鍵暗号化デバイスの前記プロセッサは、
前記第1の公開鍵行列に関連付けられた公開行列を取得し、
前記第2の公開鍵行列を計算することは、前記第2の秘密鍵行列と前記公開行列との間のノイジーな行列乗算を含み、ここで、前記公開行列は前記公開鍵暗号化デバイスと秘密鍵復号デバイスとの間で共有される、
請求項1または請求項3から6のいずれか一項に記載の公開鍵暗号化デバイス。 - 前記ノイジーな行列乗算は、q個の要素からp個の要素へのスケーリングを含み、ここで、
第2の生の共有鍵の前記少なくとも一部のための調整データを生成し、ここで、前記調整データは、前記公開鍵暗号化デバイスおよび前記秘密鍵復号デバイスで導出された第1の生の鍵および第2の生の鍵の間の差異を減らすことを可能にする情報を含み、前記調整データは前記秘密鍵復号デバイスに送られ、
前記送信鍵のためのパリティビットを生成し、ここで、前記送信鍵および前記パリティビットは、誤り訂正符号に従うコードワードを形成し、前記送信鍵をマスキングすることは前記コードワードのカプセル化を含む、
請求項7に記載の公開鍵暗号化デバイス。 - 前記公開鍵暗号化デバイスの前記プロセッサは、少なくとも前記送信鍵に基づいて最終鍵を導出し、前記最終鍵を用いてメッセージを暗号化し、前記暗号化されたメッセージを前記秘密鍵復号デバイスに送る、
請求項1または請求項3から8のいずれか一項に記載の公開鍵暗号化デバイス。 - 送信鍵が、乱数である、一時的である、対称的である、および/または、第1の公開鍵行列から独立している、請求項1または請求項3から9のいずれか一項に記載の公開鍵暗号化デバイス。
- 前記公開鍵暗号化デバイスの前記プロセッサは、前記秘密鍵復号デバイスにて前記送信鍵を取得する際のエラーレートを下げるためにヘルパーデータを計算する、
請求項1または請求項3から10のいずれか一項に記載の公開鍵暗号化デバイス。 - 第2の生の鍵は行列であり、前記送信鍵をマスキングすることは、前記送信鍵のビットを、前記第2の生の鍵行列の少なくとも一部の要素の最上位部分に加えること、および前記第2の生の鍵行列の前記少なくとも一部の要素のゼロ個以上の最下位ビットを破棄することを含む、
請求項1または請求項3から11のいずれか一項に記載の公開鍵暗号化デバイス。 - 前記公開鍵暗号化デバイスの前記プロセッサは、前記送信鍵から前記第2の秘密鍵行列を導出する、
請求項1または請求項3から12のいずれか一項に記載の公開鍵暗号化デバイス。 - 前記公開鍵暗号化デバイスの前記プロセッサは、公開鍵データベースから前記第1の公開鍵行列を取得する、
請求項1または請求項3から13のいずれか一項に記載の公開鍵暗号化デバイス。 - 前記第1および第2の公開鍵行列、前記第1および第2の秘密鍵行列、並びに前記第1および第2の生の鍵は有限体または環上の行列である、請求項1または請求項3から14のいずれか一項に記載の公開鍵暗号化デバイス。
- 暗号化フェーズ中、第2の公開鍵行列の第2の次元を設定するステップを含む公開鍵暗号化方法をプロセッサシステムに実行させるためのプログラムであって、
秘密鍵復号デバイスとの通信を確立するステップと、
前記秘密鍵復号デバイスに関連付けられた第1の公開鍵行列を取得するステップと、
送信鍵の鍵サイズを取得するステップと、
前記鍵サイズに従って前記送信鍵を生成するステップと、
前記第2の公開鍵行列の前記第2の次元と等しい第2の秘密鍵行列の第2の次元の値を選択することによって、前記鍵サイズの前記送信鍵のマスキングに対応するように前記第2の秘密鍵行列の行列サイズを決定するステップと、
前記行列サイズに従って前記第2の秘密鍵行列を生成し、前記第2の秘密鍵行列から前記第2の公開鍵行列を計算するステップと、
前記第2の秘密鍵行列および前記第1の公開鍵行列から第2の生の共有鍵を計算するステップであって、ここで、前記第2の生の共有鍵の計算は、前記第2の秘密鍵行列と前記第1の公開鍵行列との間の行列乗算を含む、ステップと、
前記第2の生の共有鍵の少なくとも一部を用いて前記送信鍵をマスキングするステップと、
前記鍵サイズおよび/または行列サイズの指標、前記第2の公開鍵行列、および前記マスキングされた送信鍵を前記秘密鍵復号デバイスに送るステップと、をプロセッサシステムに実行させるためのプログラム。 - 公開鍵暗号化デバイスとの通信を確立するステップと、
第1の秘密鍵行列を生成して、前記第1の秘密鍵行列から第1の公開鍵行列を計算し、前記公開鍵暗号化デバイスに前記第1の公開鍵行列を送ることを許容するステップと、
前記公開鍵暗号化デバイスから、鍵サイズおよび/または行列サイズの指標、第2の公開鍵行列、およびマスキングされた送信鍵を受け取るステップであって、暗号化フェーズ中、前記公開鍵暗号化デバイスにおいて、前記第2の公開鍵行列の第2の次元は設定可能である、ステップと、
前記第2の公開鍵行列および前記第1の秘密鍵行列から第1の生の共有鍵を計算するステップであって、ここで、前記第1の生の共有鍵の計算は、前記第2の公開鍵行列と前記第1の秘密鍵行列との間の行列乗算を含む、ステップと、
前記第1の生の共有鍵の少なくとも一部を使用して、前記受け取られたサイズに基づき、前記マスキングされた送信鍵のマスキングを解除することで送信鍵を取得するステップと、をプロセッサシステムに実行させるためのプログラム。 - 請求項16または17に記載のプログラムを含む、一時的または非一時的なコンピュータ可読媒体。
- 前記秘密鍵復号デバイスの前記プロセッサが前記公開鍵暗号化デバイスとのハンドシェイクを実行し、前記ハンドシェイクの実行は、
前記秘密鍵復号デバイスの少なくとも2つの第1の公開鍵行列の少なくとも2つの指標を前記公開鍵暗号化デバイスに送ることを含み、ここで、前記2つの第1の公開鍵行列は異なるサイズを有し、
前記ハンドシェイクの実行はさらに、前記公開鍵暗号化デバイスから選択された第1の公開鍵行列の指標を受け取ること、前記選択された第1の公開鍵行列のリクエストが受け取られた場合には、前記選択された第1の公開鍵行列を送ることを含む、
請求項2に記載の秘密鍵復号デバイス。 - 前記第2の公開鍵行列の前記第2の次元は、前記第1の公開鍵行列の前記第2の次元の半分以下であり、および/または
前記第2の公開鍵行列の前記第2の次元は1である、
請求項20に記載の秘密鍵復号デバイス。 - 前記秘密鍵復号デバイスの前記プロセッサは、
公開行列を生成し、
前記第1の公開鍵行列を計算することは、前記第1の秘密鍵行列と前記公開行列との間のノイジーな行列乗算を含み、前記公開行列は前記公開鍵暗号化デバイスと前記秘密鍵復号デバイスとの間で共有され、前記第1の公開鍵行列は前記公開行列に関連付けられる、
請求項2または請求項19から21のいずれか一項に記載の秘密鍵復号デバイス。 - 前記秘密鍵復号デバイスの前記プロセッサは、前記秘密鍵復号デバイスから暗号化されたメッセージを受け取り、少なくとも前記送信鍵に基づいて最終鍵を導出し、前記最終鍵を用いて前記暗号化されたメッセージを復号する、
請求項2または請求項19から23のいずれか一項に記載の秘密鍵復号デバイス。 - 送信鍵が、乱数である、一時的である、対称的である、および/または、第1の公開鍵行列から独立している、請求項2または請求項19から24のいずれか一項に記載の秘密鍵復号デバイス。
- 前記秘密鍵復号デバイスの前記プロセッサは、前記公開鍵暗号化デバイスからヘルパーデータを受け取り、前記ヘルパーデータを適用することで、前記秘密鍵復号デバイスにて前記送信鍵を取得する際のエラーレートを下げる、
請求項2または請求項19から25のいずれか一項に記載の秘密鍵復号デバイス。 - 第1の生の鍵は行列であり、前記マスキングされた送信鍵のマスキングを解除することは、前記第1の生の鍵行列の少なくとも一部の要素のゼロ個以上の最下位ビットを破棄すること、前記カプセル化された送信鍵から前記第1の生の鍵行列の前記少なくとも一部の要素を差し引くこと、および、差し引かれた結果を丸めることを含む、
請求項2または請求項19から26のいずれか一項に記載の秘密鍵復号デバイス。 - 前記秘密鍵復号デバイスの前記プロセッサは、前記送信鍵から第2の秘密鍵行列を再構築し、第2の公開鍵行列の計算および/またはカプセル化された送信鍵の計算を検証する、
請求項2または請求項19から27のいずれか一項に記載の秘密鍵復号デバイス。 - 前記第2の秘密鍵行列は前記第1の公開鍵行列よりも少ない行列要素を有し、
前記第2の公開鍵行列は前記第1の公開鍵行列よりも少ない行列要素を有し、および/または
前記第2の公開鍵行列は第1の秘密鍵行列よりも少ない行列要素を有する、
請求項28に記載の秘密鍵復号デバイス。 - 前記秘密鍵復号デバイスの前記プロセッサは、前記第1の公開鍵行列を公開鍵データベース内に預ける、
請求項2または請求項19から29のいずれか一項に記載の秘密鍵復号デバイス。 - 前記第1および第2の公開鍵行列、前記第1および第2の秘密鍵行列、並びに前記第1および第2の生の鍵は有限体または環上の行列である、請求項2または請求項19から30のいずれか一項に記載の秘密鍵復号デバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18194118.8A EP3624391A1 (en) | 2018-09-12 | 2018-09-12 | Public/private key system with decreased encrypted message size |
EP18194118.8 | 2018-09-12 | ||
PCT/EP2019/073327 WO2020053013A1 (en) | 2018-09-12 | 2019-09-02 | Public/private key system with decreased public key size |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022500911A JP2022500911A (ja) | 2022-01-04 |
JPWO2020053013A5 JPWO2020053013A5 (ja) | 2022-09-12 |
JP7413365B2 true JP7413365B2 (ja) | 2024-01-15 |
Family
ID=63579107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021513439A Active JP7413365B2 (ja) | 2018-09-12 | 2019-09-02 | 暗号メッセージのサイズが縮小された公開鍵/秘密鍵システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11909877B2 (ja) |
EP (2) | EP3624391A1 (ja) |
JP (1) | JP7413365B2 (ja) |
CN (1) | CN112997448A (ja) |
BR (1) | BR112021004855A2 (ja) |
WO (1) | WO2020053013A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11469902B2 (en) * | 2019-03-29 | 2022-10-11 | Intel Corporation | Systems and methods of using cryptographic primitives for error location, correction, and device recovery |
EP3889764A1 (en) * | 2020-03-31 | 2021-10-06 | Koninklijke Philips N.V. | Parallel generation of a random matrix |
DE102020112102B3 (de) | 2020-05-05 | 2021-05-20 | Infineon Technologies Ag | Verfahren und Vorrichtungen zur Erzeugung eines symmetrischen Sitzungsschlüssels für die verschlüsselte Kommunikation |
US20220255735A1 (en) * | 2021-02-08 | 2022-08-11 | Visa International Service Association | Blinding techniques for post-quantum public keys |
CN112948851A (zh) * | 2021-02-25 | 2021-06-11 | 深圳壹账通智能科技有限公司 | 用户认证方法、装置、服务器及存储介质 |
CN116800423B (zh) * | 2023-08-28 | 2023-11-03 | 长沙盈芯半导体科技有限公司 | 基于rfid的数据采集及双重加密解密数据保护方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664732B (zh) * | 2012-03-07 | 2016-06-22 | 南相浩 | Cpk公钥体制抗量子计算攻击的实现方法及系统 |
US9246675B2 (en) * | 2012-04-12 | 2016-01-26 | Jintai Ding | Cryptographic systems using pairing with errors |
CN103812650B (zh) * | 2012-11-12 | 2017-05-31 | 华为技术有限公司 | 信息处理方法、用户设备和加密设备 |
CN104063838B (zh) * | 2014-06-26 | 2017-09-12 | 上海理工大学 | 基于Logistic混沌映射和Walsh序列的非对称水印方法 |
NL2013520B1 (en) * | 2014-09-24 | 2016-09-29 | Koninklijke Philips Nv | Public-key encryption system. |
US10097351B1 (en) * | 2016-09-15 | 2018-10-09 | ISARA Corporation | Generating a lattice basis for lattice-based cryptography |
KR101913100B1 (ko) * | 2016-11-24 | 2018-10-31 | 서울대학교산학협력단 | 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치 및 방법 |
EP3364596A1 (en) * | 2017-02-15 | 2018-08-22 | Koninklijke Philips N.V. | Key exchange devices and method |
US10630655B2 (en) * | 2017-05-18 | 2020-04-21 | Robert Bosch Gmbh | Post-quantum secure private stream aggregation |
US10581604B2 (en) * | 2017-10-17 | 2020-03-03 | Comsats Institute Of Information Technology | Post-quantum cryptographic communication protocol |
JP6963277B2 (ja) * | 2017-10-24 | 2021-11-05 | 日本電信電話株式会社 | 変換装置、判定装置、および計算装置 |
US10476664B2 (en) * | 2017-10-27 | 2019-11-12 | Quantropi Inc. | Methods and systems for data protection |
DE102018108313A1 (de) * | 2018-04-09 | 2019-10-10 | Infineon Technologies Ag | Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis |
-
2018
- 2018-09-12 EP EP18194118.8A patent/EP3624391A1/en not_active Withdrawn
-
2019
- 2019-09-02 BR BR112021004855-3A patent/BR112021004855A2/pt unknown
- 2019-09-02 US US17/275,251 patent/US11909877B2/en active Active
- 2019-09-02 CN CN201980074156.5A patent/CN112997448A/zh active Pending
- 2019-09-02 EP EP19759417.9A patent/EP3850784B1/en active Active
- 2019-09-02 JP JP2021513439A patent/JP7413365B2/ja active Active
- 2019-09-02 WO PCT/EP2019/073327 patent/WO2020053013A1/en unknown
Non-Patent Citations (4)
Title |
---|
BAAN, H. et al.,Round2: KEM and PKE based on GLWR,Cryptology ePrint Archive,Paper 2017/1183 ver:20180302:125432,[online],2018年03月02日,pp.1-72,<URL:https://eprint.iacr.org/archive/2017/1183/20180302:125432>, [2023年8月28日検索] |
BAAN, H. et al.,Round5: Compact and Fast Post-Quantum Public-Key Encryption,Cryptology ePrint Archive,Paper 2019/090 ver:20190503:075440,[online],2019年05月03日,pp.1-20,<URL:https://eprint.iacr.org/archive/2019/090/20190503:075440>,[2023年8月28日検索] |
BHATTACHARYA, S. et al.,spKEX: An optimized lattice-based key exchange,Cryptology ePrint Archive,Paper 2017/709 ver:20170817:082516,[online],2017年08月17日,pp.1-25,<URL:https://eprint.iacr.org/archive/2017/709/20170817:082516>,[2023年8月25日検索] |
BOS, J. et al.,Frodo: Take off the ring! Practical, Quantum-Secure Key Exchange from LWE,Cryptology ePrint Archive,Paper 2016/659 ver:20170227:170204,[online],2017年08月17日,pp.1-26,<URL:https://eprint.iacr.org/archive/2016/659/20170227:170204>,[2023年8月28日検索] |
Also Published As
Publication number | Publication date |
---|---|
US11909877B2 (en) | 2024-02-20 |
BR112021004855A2 (pt) | 2021-06-08 |
US20220078011A1 (en) | 2022-03-10 |
EP3624391A1 (en) | 2020-03-18 |
JP2022500911A (ja) | 2022-01-04 |
WO2020053013A1 (en) | 2020-03-19 |
CN112997448A (zh) | 2021-06-18 |
EP3850784B1 (en) | 2022-07-27 |
EP3850784A1 (en) | 2021-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7413365B2 (ja) | 暗号メッセージのサイズが縮小された公開鍵/秘密鍵システム | |
EP3622663B1 (en) | Key agreement devices and method | |
US11991285B2 (en) | Configurable cryptographic device | |
JP7208987B2 (ja) | 更新可能な共有マトリクスを備える暗号装置 | |
JP6975361B2 (ja) | 鍵カプセル化プロトコル | |
JP2022537733A (ja) | 認証付き鍵共有 | |
EP4082153B1 (en) | Public/private key system with increased security | |
RU2787692C9 (ru) | Протоколы инкапсуляции ключей | |
RU2787692C2 (ru) | Протоколы инкапсуляции ключей | |
EP3609117A1 (en) | Key encapsulation protocols | |
US20230125560A1 (en) | Cryptographic Computer Machines with Novel Switching Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220901 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231107 |
|
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: 20231128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7413365 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |