JP7208987B2 - 更新可能な共有マトリクスを備える暗号装置 - Google Patents
更新可能な共有マトリクスを備える暗号装置 Download PDFInfo
- Publication number
- JP7208987B2 JP7208987B2 JP2020521366A JP2020521366A JP7208987B2 JP 7208987 B2 JP7208987 B2 JP 7208987B2 JP 2020521366 A JP2020521366 A JP 2020521366A JP 2020521366 A JP2020521366 A JP 2020521366A JP 7208987 B2 JP7208987 B2 JP 7208987B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- shared
- network node
- electronic network
- entries
- 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
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/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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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/0825—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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/08—Randomization, e.g. dummy operations or using noise
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
Frodo等のLWEベースのKEX;
RLWEベースのKEX、CPA-KEM Newhope及びNewHopeSimple;
モジュール(加群)格子ベースのCPA-PKE、CPA-KEM及びKyber等のCCA-KEM;
spKEX等のLWRベースのKEXである。
- エラーを伴う学習(LWE)問題に基づくKEXであるFrodo;
- エラーを伴う環学習(RLWE)問題に基づくKEXであるNewhope;
- RLWEに基づいて選択平文攻撃(CPA)のために設計されたKEMであるNewHopeSimple;
- モジュールLWE問題に基づくCPA-KEM及びCCA-KEMであるKyber;
- 丸めを伴う学習(LWR)問題に基づくKEXであるspKEX;
である。
以下では、実施態様を解説するためにNTRU環を用いる。実際には、qをn=1(mod p)であることを保証する素数であるとする(素)円分多項式等の他の環も同様に用いることができる。代わりに、qが2の冪である(素)円分多項式をとることもできる。付加的制限は、該(素)円分多項式が既約なモジュロ2であるということである。
表1の方式の基準実施化は、公開キー要素(b及びu)及び生キー(rki及びrkr)を得るための下記のルーチンを有するであろう。
Result[] = Computation of public-key(A[,],s[])
Result[] = 0
For (i=0 to din)
For (j=0 to d/n)
Result[i] = Add_elements(Result[i],Multiply_elements[A[i,j],s[j])
C[]=Add_ements(A[],B[])
For(i=0 to n)
C[i]=(A[i]+B[i](mod q))
C[]=Multiply_elements(A[],B[])
C[]=0
For (i=0 to n)
For (j=0 to n)
C[i]=C[i]+A((i-j)mod n)*B[j]mod q
Result[] = Computation of raw-key(b[],s[])
Result[] = 0
For (i=0 to d/n)
Result[i] = Add_elements(Result[i],Multiply_elements[b[i],s[i])
C[]=Add_elements(A[],B[])
For(i=0 to n)
C[i]=(A[i]+B[i](mod p)(mod x^n-1)
C[]=Multiply_elements(A[],B[])
For(i=0 to n)
C[i]=(A[(n-i)mod(n)]+B[i])(mod p)(mod x^n-1)
プロトコル(KEX、KEM、PKE等)におけるイニシエータ及びレスポンダに関連する秘密は、Zq[x]/f(x)にd/nの元を含む単一ベクトル以上のものであり得るが、これらベクトルのn_bar及びm_barを含み得る。十分なキービットを発生するために、1より大きなn_bar及びm_barを有することが好ましい。このように、基準実施化における当該方式の全ての処理は、Zq[x]/f(x)内に元がある2つのマトリクスの乗算として表すことができる。
C = Multiply(A,B,A_c,A_r,B_c,B_r,n)
ここで、A及びBは、各々、ディメンション(A_c x A_r)及び(B_c x B_r)の入力マトリクスである。当該マトリクスにおける各エントリはZq[x]/f(x)における元を含み、これはZqにおけるnの元として表すことができる。出力マトリクスCは、ディメンション(C_c x C_r) = (A_r x B_c)を有する。
B = Transpose(A,A_c,A_r,n)
なる関数を必要とし、ここで、Aはディメンション(A_c x A_r)の入力マトリクスである。当該マトリクスにおける各元はZq[x]/f(x)における元を含み、これはZqにおける元として表すことができる。出力マトリクスBは、ディメンション(B_c x B_r) = (A_r x A_c)を有する。
固定されたセキュリティパラメータdの場合、上記基準実施化はn = dの場合に高速である。Aマトリクスは、n_bar=m_bar=1と仮定して、Za[x]/xn - 1における多項式である単一のエントリを含むからである。n = 1の場合、基準実施化は遅いであろう。Aは各エントリがZqにおける元であるd2のエントリを含み、スカラ乗算が汎用多項式乗算として実現されるからである。
関連するフィリップス社出願[1]に開示されているように、Aは、マスタマトリクスA_masterが与えられたとして、置換(permutation)を適用することにより効率的にリフレッシュすることができる。該置換は、例えば、A_masterにおける行の番号n’(0 <= n' < n)の巡回置換(ランダムオフセット(0及びn-1の間の)による)とすることができる。
ケース1:L = d2であり、Aの行iを得るための置換は、amasterの位置i * dで開始するdの連続する元を取り出し、これらを0及びd-1の間のランダムオフセットで巡回的に回転することを含む。
ケース1は、本明細書に記載された方式をn=1に関して実施する。amasterがランダムに計算される場合、結果としてのAはランダムマトリクスとは区別することができない。元はランダムオフセットにより回転されるので、固定されたa_masterが与えられたとして、この方法はフレッシュなAを効率的に得ることができる。
同じ置換アイデアを、両ケースにおいて公開キーがZpにおけるdの元を含むことがわかれば生キーの計算に適用することができる。n=1の場合、これらは実際にZp = Zp[x]/x -1におけるdの元である。n=dの場合、これらdの元は、Zp[x]/xd- 1における多項式の係数である。
Result[] = Computation of raw-key(b[],s[])
Result[] = 0
For (i=0 to n)
For j=0 to d
Result[i] = Result[i]+Tn(b)[(Pn(j)+i)mod(d)]*s(j)
最適化された実施化に関する重要な側面は、a_masterに対する置換の実現である。このことは、モジュロL及びモジュロdの削減(reduction)を実現することを必要とする。このことは、性能及びサイドチャンネル攻撃に関する欠点を有する。例えばベクトルvに対する、これらのモジュール式削減:
v[(i + P[j])(mod d)]
を回避するために、当該最適化された実施化は、ベクトルのコピー、
v_star = v|v
を含むだけのベクトルv_starで動作することができ、ここで、|は連鎖(concatenation)を表す。これは、メモリ要件を増加させるが、モジュール式削減を回避する。
v_star = v|-v
として得られるであろう。確かに、この場合、
[LWR及びNTRU-RING LWRに基づくCPA-PKE、CPA-KEM及びCCA-KEM]
当該説明は、秘密のタイプ又は丸め処理若しくはノイズ(ガウス、均一又は何らかの他の分布のうちの何れか)の標準的加算を用いるという事実には依存しないことを注記する。このように、本発明は如何なるタイプの秘密分配に対しても実施化することができる。
本明細書における実施態様の殆どは、NTRU環f(x) = xn - 1に基づくものである。しかしながら、この多項式は既約ではなく、(x-1)(x^(n-1)+x^(n-2)+...+x+1に等しい。このことは、RLWE決定問題(b=as + e)を解くことを容易にさせる。それでも、sを見付けることは困難なままである。
RLWEに関して既知の幾つかの計算的最適化は、本明細書に提示される幾つかの実施態様には適用することができない。特に、NTTをNTRU環に適用することはできない。代替例は、Zq[x]/f(x)(ここで、f(x)=x^n+1)における演算をNTTにより実行することができるように、2の冪のn及び素数のq等のNTT親和性パラメータを使用することであろう。この最適化は、NTTの使用により環のケース(n>1)対するCPU性能を高速化するであろうが、非環のケース(n=1)に対する一層悪い性能を予想する。演算がモジュロq(qは素数である)であるからである。
当該方式は、異なるパラメータにより構成することができる。d並びにq及びpの値は、基となる格子問題の困難度を定義する。例示的値は、例えば、約700のd並びに2^14及び2^11に等しいq及びpである。この場合、n_bar及びm_barは8に等しくなり得るので、n=1の場合のKEXにおける結果的キーマトリクスに関して各係数から4ビットを得ることができる。n=dの場合、多項式係数当たり単一のビットが必要とされるので、qは一層小さくすることができ、従ってpも、従ってnも小さくすることができる。多項式はn個の係数を有するので、nビットのキーが得られ、n_bar及びm_barのみが1に等しくなることを要する。
- n=1及びn=dが基となる問題が環構造に基づくか否かを決定するためのパラメータ;
- CPUの観点から可能である最適化のタイプを決定する、qが素数であるか又は2の冪であること。
当該方式は、異なるセキュリティレベル及び基となる難問題に対して以下のように構成することができる。
1 アルゴリズム仕様及びサポートする文書
1.1 設計原理
1.2 基となる問題
1.3 まえがき
1.4 CPA公開キー暗号化
1.5 非環ケースのためのCPAキーカプセル化方法
1.6 非環ケースのためのCCAキーカプセル化方法の枠組み
1.7 非環及び環ケースの組み合わせ
1.7.1 枠組みの構成
1.7.2 パラメータ組
1.7.3 NISTレベル
[1.1 設計原理]
幾つかの実施態様は、キーカプセル化を可能にするアルゴリズムの枠組みに関するものである。提案されるアルゴリズムは格子暗号法の部類に入り、特に、該アルゴリズムは丸めを伴う学習(LWR)問題に依存することができる。この問題は、その広範囲の研究及び有利な性能特性(例えば、少ない帯域幅要件)によりアルゴリズムの設計のために選択された。
・第1に、このことは複数の環境に簡単な方法で適合させることを可能にする。即ち、一方においてLWRベースのアルゴリズムは、性能は余り問題とならないがセキュリティが優先し、かくして、追加の環構造を有さないことが好まれる環境に適用することができる。他方において、RLWRベースのアルゴリズムは、帯域幅及び計算の点で最良の性能を達成し、かくして、一層制約のある環境に一層良く適合する。
・第2に、この方法は、環ベースの方式から非環方式への移植方策を初めから可能にする。このことは、基となる環構造により環ベースの方式に対する攻撃が将来見付かった場合、代替の安全な解決策が即利用可能となり、配備されることを確実にする。
・第3に、提案された枠組みは、保守及びコード解析を低減する。同一の実施化が、RLWR及びLWRケースを全てのアルゴリズムCPA-KEM、CCA-KEM及びCCA-PKEに関して実体化するからである。
多項式環Z[x]/(xn-1)をRnにより示す。n=1を許容し、従って、Rn = Zである。記号の濫用により、各正の整数aに関し、集合{O,1,…,a -1}はZaと書き、Zaにおける全係数を持つnより小さな次数の多項式の集合はRn,aと書く。Rnにおける多項式を、その全係数が0, 1又は -1である場合、三つ組み(trinary)と呼ぶ。
|{Decompressa,b(Compressa,b(x)) - x}a|≦(a+1)/2b
である。直接計算により、aがbの倍数である場合、各x∈Zaに対して、
Decompressa,b(Compressa,b(x)) ≡ x + {x}b/a(mod a)
である。
・第1に、圧縮関数はセキュリティを改善する。該関数は丸めを伴う学習問題となるからである。
・第2に、圧縮関数はメッセージを解読するために使用される。
・第3に、圧縮関数は公開キー及び暗号文の大きさを低減し、従って帯域幅要件を低減する。
はVにおける多項式の全ての係数のうちの最大のものである。最後に、μ≦ab及びC∈Zaxbに対して、ベクトルSampleμ,a,b(C)∈Zp μはCにおけるμの予め指定された位置における値を有する。
この節では、非環ケースに関する公開キー暗号化を説明する。本出願のCPA安全公開キー暗号化方式を、以下のアルゴリズムで説明する。これらのアルゴリズムは、種々のシステムパラメータ、即ち、正の整数
以下の3つのアルゴリズムは、CPA安全キーカプセル化方法を定義するために前節で定義された公開キー暗号化方式を利用する。該方法はハッシュ関数H:{O,1}*→{0,1}μBを採用する。
当該キーカプセル化枠組みは、Fujisaki-Okamoto変換のKEM変形を本出願の暗号化方式に適用して該方式をCCAセキュアなものにすることにより得られる。
G:{0,1}*→{0,1}βxRRx{0,1}γ及びH:{0,1}*→K={0,1}κ
も必要とする。
この節では、先のアルゴリズムの組み合わされた非環及び環バージョンを多項式環Rn=Z[x]/(xn -1)により説明する。Rnにおける乗算を示すために*を使用する。非環ケースとの類似性を強調するために、多項式Σi=0 n-1fixi及び(列)ベクトル(f0,f1,K,fn-1)Tを識別する。f,g∈Znに対し、f*gを多項式f(x)g(x)(mod(xn - 1))の係数ベクトルとして定義する。即ち、0≦i≦n-1に対し、
前記アルゴリズムは、構成パラメータに依存して幾つかのアルゴリズムを可能にし得る。
・n=1及びk=dに対するLWRベースのCPA-KEM
・n=d及びk=1に対するRLWRベースのCPA-KEM
・n=1及びk=dに対するLWRベースのCCA-KEM
・n=d及びk=1に対するRLWRベースのCCA-KEM
・n=1及びk=dに対するLWRベースのCCA-KEM-DEM
・n=d及びk=1に対するRLWRベースのCCA-KEM-DEM
上記において、共有マトリクスを共有プールに基づいて更新する複数のオプションが付与される。該共有プールはマスタマトリクスA_master又はa_masterの形態を取ることができる。該共有プールは、確かに、マトリクスとして表すことができるが、このことは必要ではない。該共有プールをマトリクスとして索引することは、特定の置換(permutation)、例えば行又は列の巡回置換を一層容易にさせる。もっと一般的には,該共有プールは、選択関数が当該共有マトリクス内の要素に要素を割り付けることができるデータの集合と見なすことができる。
N個の要素を含むマスタマトリクスAmasterが、メモリ内で利用可能である(N<k2)。Amasterにおける要素は、擬似ランダム関数(PRF)を適用することによりランダムシードから計算することができる。マスタマトリクスAmasterは、共有プールの一例である。
- Aにおけるブロック、
- Aにおける行、
- Aにおける列
を表すことができる。
当該共有マトリクスAにおける要素は[0,q-1]であり得る。幾つかの実施態様において、モジュラスqは約214又は216である。Aの大きさはkxkであり、kは例えば600~800であり得る。NBの好適な値は、全ての要素が高い尤度で表されるように約qであろう。Aがブロックから構成される場合、各ブロックはk’<√NBとしてk’x k’を有することができ、例えばk’はq = 214の場合、128までであり得る。
一実施態様においては、AがAに対してAmasterにおける各行に異なる置換(permutation)を適用する全体的置換を適用することにより行毎に計算されるような行毎の置換が提案される。
・実施態様#1:第1実施態様においては、Nbのk置換として計算する。例えば、πi:ai= amaster[ri(ri+k-1)%Nb]であり、ここで、riはランダム値である。これは、合計でkkのランダム化出力となる。表記[a:b]は、a~bのインデックスを持つ全要素を示す。bがaより小さい場合、aから共有プールの終了までの全エントリが取り込まれると共に、該プールの開始からaまでの全エントリが取り込まれる。表記m%Nbは、mからNbの整数倍相違する{0,1,…,Nb-1}における整数mを示す。
・実施態様#2:他の例においては、πi:ai[j] = amaster[(ri+PRF(s|j))%Nb]である。即ち、aiにおけるj番目の要素は、シード及びjに依存するPRFを適用すると共に要素を行に依存する値riによりシフトすることによりamasterにおける要素をランダムに取ることにより得られる。これは、多数のランダム化された出力:
プロトコルにおいては幾つかのパラメータが交換されねばならない。例えば、
- amasterを計算するために使用されるシード
- 関数πiを計算するために使用されるシード
- 関数(置換)πiの指定
の1以上である。
- 第1電子ネットワークノードと第2電子ネットワークノードとの間にデジタル通信を配するステップ(410)と、
- 共有マトリクス(A)を得るステップ(420)であり、該共有マトリクスは通信インターフェースを介して前記第2電子ネットワークノードと共有され、該共有マトリクスAにおけるエントリは整数、好ましくは第1モジュラスqによるモジュロの整数であり及び/又は該共有マトリクス(A)のエントリは多項式であり、該共有マトリクス(A)を得るステップが、
- 前記第2電子ネットワークノードと共有される1以上の選択パラメータを得るステップと、
- 共有プールから整数、多項式及び/又は多項式係数を選択するステップであって、該共有プールは前記第2電子ネットワークノードと共有されると共に前記共有マトリクスのエントリにおいて使用するための複数の整数及び/又は多項式を有し、該選択するステップは1以上の選択関数に従って実行され、選択関数は前記共有プールからの整数、多項式及び/又は多項式係数を前記共有マトリクスにおけるエントリに割り当て、選択関数により割り当てられる特定の整数、多項式又は多項式係数が前記選択パラメータに依存するステップと、
を有するステップと、
- 秘密キーマトリクス(SI)を発生するステップ(430)であって、該秘密キーマトリクスにおけるエントリが第1モジュラス(q)によるモジュロの整数及び/又は既約多項式(f)によるモジュロの整数多項式であるステップと、
- 公開キーマトリクス(PI)を、
- 前記第1モジュラス(q)によるモジュロ及び/又は前記既約多項式(f)によるモジュロの前記共有マトリクス(A)と前記秘密キーマトリクス(SI)との間のマトリクス積を計算し(442)、マトリクス積を取得し、及び前記マトリクス積のエントリにノイズを加える(444)、
ことにより発生するステップ(440)と、
- 前記第1電子ネットワークノードの前記公開キーマトリクスを前記第2電子ネットワークノードに送信するステップ(452)と、
- 前記第2電子ネットワークノードの公開キーマトリクス(PR)を受信するステップ(454)と、
- 生キーを、前記受信された前記第2電子ネットワークノードの公開キーマトリクスと前記第1電子ネットワークノードの秘密キーマトリクスとの間のマトリクス積の前記第2モジュラス(p)によるモジュロとして計算するステップ(460)と、
を有する。
- 前記第2電子ネットワークノードの調整データ(h)を受信するステップ(472)、及び
- 共有キーを、前記受信された調整データ及び前記生キーに調整関数(rec)を適用することにより計算するステップ(482)。
- 前記共有キー及び調整データを前記生キーから得るステップ(474)、及び
- 前記調整データを第1電子ネットワークノードに送信するステップ(484)。
110 イニシエータ(開始者)タイプのネットワークノード
120 通信インターフェース
130 共有マトリクスユニット
131 共有プール
140 秘密キーマトリクスユニット
150 公開キーマトリクスユニット
160 共有キーユニット
162 生のキー
164 調整データ(h)
166 共有キー
210 レスポンダ(応答者)タイプのネットワークノード
220 通信インターフェース
230 共有マトリクスユニット
240 秘密キーマトリクスユニット
250 公開キーマトリクスユニット
260 共有キーユニット
262 生のキー
264 調整データ(h)
266 共有キー
1000 コンピュータ読取可能な媒体
1010 書込可能部分
1020 コンピュータプログラム
1110 集積回路
1120 処理ユニット
1122 メモリ
1124 専用の集積回路
1126 通信エレメント
1130 相互接続部
1140 プロセッサシステム
Claims (20)
- 暗号処理のための第1電子ネットワークノードであって、該第1電子ネットワークノードは、
第2電子ネットワークノードとのデジタル通信のための通信インターフェースと、
プロセッサ回路と、
を有し、該プロセッサ回路が、
共有マトリクス(A)を取得し、ここで、該共有マトリクス(A)は前記通信インターフェースを介して前記第2電子ネットワークノードと共有され、該共有マトリクス(A)におけるエントリは整数であり、及び/又は該共有マトリクス(A)のエントリは多項式であり、該共有マトリクス(A)を取得する動作は、
前記第2電子ネットワークノードと共有される1以上の選択パラメータを得る動作と、
共有プールから整数、多項式及び/又は多項式係数を選択する動作であって、該共有プールは前記第2電子ネットワークノードと共有されると共に前記共有マトリクスのエントリにおいて使用するための複数の整数及び/又は多項式を有し、該選択する動作は1以上の選択関数に従って実行され、1つの選択関数は前記共有プールからの整数、多項式又は多項式係数を前記共有マトリクスにおけるエントリに割り当て、1つの選択関数により割り当てられる特定の整数、多項式又は多項式係数が当該選択パラメータに依存する動作と、
を有し、
秘密キーマトリクス(SI ,S R )を発生し、ここで、該秘密キーマトリクスにおけるエントリは整数及び/又は整数多項式であり、
公開キーマトリクス(PI)を、
前記共有マトリクス(A)と前記秘密キーマトリクス(SI ,S R )との間のマトリクス積を計算し、マトリクス積を取得し、及び該マトリクス積にノイズを追加する、
ことにより発生し、
前記第1電子ネットワークノードの前記公開キーマトリクスを前記第2電子ネットワークノードに送信する、
第1電子ネットワークノード。 - 前記共有マトリクス(A)におけるエントリは第1モジュラス(q)によるモジュロの整数であり、及び/又は前記共有マトリクス(A)のエントリは第1モジュラス(q)によるモジュロ及び既約多項式(f)によるモジュロの整数多項式であり、前記秘密キーマトリクスにおけるエントリは前記第1モジュラス(q)によるモジュロの整数、及び/又は前記第1モジュラス(q)によるモジュロ及び前記既約多項式(f)によるモジュロの整数多項式であり、該秘密キーマトリクスが前記第1モジュラス(q)によるモジュロ、及び/又は前記第1モジュラス(q)及び前記既約多項式(f)によるモジュロで計算される、
請求項1に記載の第1電子ネットワークノード。 - 新たなキー交換毎に異なる共有マトリクス(A)を取得する、
請求項1又は2に記載の第1電子ネットワークノード。 - 前記共有マトリクス及び共有プールは整数又は多項式を有し、前記選択関数は前記共有プールから整数又は多項式を選択し、前記共有プールが前記共有マトリクスより少ないエントリを有し、又は
前記共有マトリクスは多項式を有する一方、前記共有プールは整数を有し、前記選択関数は前記共有プールから多項式係数を選択し、前記共有プールが前記共有マトリクスにおけるエントリの数の既約多項式の次数マイナス1の倍数より少ないエントリを有する、
請求項1から3の何れか一項に記載の第1電子ネットワークノード。 - 前記共有プールはマスタマトリクス(Amaster)であり、ランダムシードを発生すると共に前記通信インターフェースを介して該ランダムシードを他方のノードに送信し、前記第1及び第2電子ネットワークノードは、前記ランダムシードを用いて決定論的擬似乱数発生器にシードを供給し、前記共有プールを該決定論的擬似乱数発生器の出力から発生する、
請求項1から4の何れか一項に記載の第1電子ネットワークノード。 - 前記共有マトリクスにおけるエントリ及び前記共有プールにおけるエントリは第1モジュラス(q)によるモジュロの整数であり、
前記共有マトリクスにおけるエントリは既約多項式(f)によるモジュロの整数多項式である一方、前記共有プールにおけるエントリは前記第1モジュラス(q)によるモジュロの整数であり、又は
前記共有マトリクスにおけるエントリは整数マトリクスである一方、前記共有プールにおけるエントリが前記第1モジュラス(q)及び前記既約多項式(f)によるモジュロの多項式である、
請求項1から5の何れか一項に記載の第1電子ネットワークノード。 - 前記共有マトリクスにおけるエントリは組に分割され、各組に関し選択関数が前記共有プールの少なくとも一部を前記選択パラメータの少なくとも一部に依存して当該組にマッピングする、
請求項1から6の何れか一項に記載の第1電子ネットワークノード。 - 前記組は前記共有マトリクスの行若しくは列に対応し、若しくは
前記組は前記共有マトリクスのブロックに対応し、及び/又は
前記組が等しい大きさを有する、
請求項7に記載の第1電子ネットワークノード。 - 前記選択関数が入力として選択パラメータ及び前記共有マトリクスのエントリ又はエントリの係数を索引するインデックスを取ると共に、出力として前記共有プールにおけるインデックスを生成する、
請求項1から8の何れか一項に記載の第1電子ネットワークノード。 - 前記選択関数が前記共有プールの連続する系列のエントリを前記共有マトリクスの行又は列における連続する系列の要素にマッピングする、
請求項1から9の何れか一項に記載の第1電子ネットワークノード。 - 前記選択関数が、選択パラメータrに依存して、前記共有プールにおける該共有プールの大きさによるモジュロのインデックスr~(r+k-1)のエントリを、前記共有マトリクスの行又は列にマッピングし、ここで、kは該共有マトリクスの大きさであり、又は
前記選択関数が、選択パラメータr及びsに依存して、前記共有プールにおける該共有プールの大きさによるモジュロのインデックス(r+Prf(s,j))のエントリを、前記共有マトリクスの行又は列におけるインデックスjのエントリにマッピングし、ここで、Prfはsをシードとすると共にインデックスjを入力とする擬似ランダム関数を示す、
請求項1から10の何れか一項に記載の第1電子ネットワークノード。 - 前記暗号処理はキー交換(KEX)プロトコルであり、前記プロセッサ回路は、
前記第2電子ネットワークノードの公開キーマトリクス(PR)を受信し、及び
生キーを、前記第2電子ネットワークノードの受信された公開キーマトリクスと前記第1電子ネットワークノードの秘密キーマトリクスとの間のマトリクス積として計算し、
前記第1電子ネットワークノードが、更に、
前記第2電子ネットワークノードの調整データ(h)を受信し、及び
共有キーを、前記受信された調整データ及び前記生キーに調整関数(rec)を適用することにより計算する、
又は
前記第1電子ネットワークノードが、更に、
前記共有キー及び調整データを前記生キーから調整データを取得し、及び
前記調整データを前記第2電子ネットワークノードに送信する、
請求項1から11の何れか一項に記載の第1電子ネットワークノード。 - 前記共有マトリクス(A)のエントリは多項式であり、既約多項式がxn+1、xn-1又は(xn-1)/(x-1)である、
請求項1から12の何れか一項に記載の第1電子ネットワークノード。 - 前記プロセッサ回路は前記共有マトリクス(A)の拡張共有マトリクスを0より大きい次数の多項式エントリを循環マトリクスにより置換することにより計算し、該拡張共有マトリクスが第1モジュラス(q)によるモジュロの整数をエントリとして有すると共に、前記共有マトリクス(A)の列及び行の数の既約多項式の次数倍に等しい数の列及び行を有する、
請求項1から13の何れか一項に記載の第1電子ネットワークノード。 - 前記マトリクス積にノイズを追加する処理が、
前記マトリクス積におけるエントリを第2モジュラス(p)まで下方スケーリングする処理であって、スケーリングされたエントリは前記第2モジュラス(p)で乗算し、第1モジュラス(q)により除算し、最も近い整数に丸められたスケーリングされていないエントリに等しく、前記第2モジュラス(p)は前記第1モジュラス(q)より小さく、生キーを前記第2電子ネットワークノードの受信された公開キーマトリクスと前記第1電子ネットワークノードの秘密キーマトリクスとの間のマトリクス積として計算する処理が前記第2モジュラスによるモジュロである処理、又は
前記マトリクス積における1以上又は全ての要素のためのノイズ要素をノイズ分布から選択すると共に該ノイズ要素を前記マトリクス積における前記1以上又は全ての要素に追加する処理であって、前記ノイズ要素が平均0のガウス分布から選択された係数を有する処理、
を有する、
請求項1から14の何れか一項に記載の第1電子ネットワークノード。 - 前記秘密キーマトリクス(SI,SR)が候補秘密キーマトリクスから一様にランダムに選択され、及び/又は
前記秘密キーマトリクスにおける要素の係数が絶対値で限界により制限され、例えば前記限界は2であり又は前記限界は1であり、後者は符号付き二進に相当し、及び/又は
前記秘密キーマトリクス(SI,SR)の列及び/又は行が固定された又は制限されたハミング重み(hs)を有する、
請求項1から15の何れか一項に記載の第1電子ネットワークノード。 - 前記プロセッサ回路が、
前記共有マトリクスにおける全ての整数、多項式及び/又は多項式係数を前記共有プールから選択し、又は
前記共有マトリクスにおける整数、多項式及び/又は多項式係数の一部を前記共有プールから選択すると共に、該共有マトリクスの残りの部分を発生し、又は
前記共有マトリクスにおける全ての整数、多項式及び/又は多項式係数を前記共有プールから選択すると共に、該共有マトリクスにおける前記整数、多項式及び/又は多項式係数の一部を交換関数に従って置換する、
請求項1から17の何れか一項に記載の第1電子ネットワークノード。 - 第1電子ネットワークノードのための電子暗号処理方法であって、
前記第1電子ネットワークノードと第2電子ネットワークノードとの間にデジタル通信を配するステップと、
共有マトリクス(A)を取得するステップであって、該共有マトリクスは通信インターフェースを介して前記第2電子ネットワークノードと共有され、該共有マトリクス(A)におけるエントリは整数であり、及び/又は該共有マトリクス(A)のエントリは多項式であり、該共有マトリクス(A)を取得するステップが、
前記第2電子ネットワークノードと共有される1以上の選択パラメータを得るステップと、
共有プールから整数、多項式及び/又は多項式係数を選択するステップであって、該共有プールは前記第2電子ネットワークノードと共有されると共に前記共有マトリクスのエントリにおいて使用するための複数の整数及び/又は多項式を有し、該選択するステップは1以上の選択関数に従って実行され、1つの選択関数は前記共有プールからの整数、多項式及び/又は多項式係数を前記共有マトリクスにおけるエントリに割り当て、1つの選択関数により割り当てられる特定の整数、多項式又は多項式係数が当該選択パラメータに依存するステップと、
を有する、取得するステップと、
秘密キーマトリクス(SI ,S R )を発生するステップであって、該秘密キーマトリクスにおけるエントリが整数及び/又は整数多項式である、発生するステップと、
公開キーマトリクス(PI)を、
前記共有マトリクス(A)と前記秘密キーマトリクス(SI ,S R )との間のマトリクス積を計算し、マトリクス積を取得し、及び該マトリクス積におけるエントリにノイズを追加する、
ことにより発生するステップと、
前記第1電子ネットワークノードの前記公開キーマトリクスを前記第2電子ネットワークノードに送信するステップと、
を有する、方法。 - プロセッサシステムに請求項19に記載の方法を実行させるための命令を表す一時的又は非一時的データを有する、コンピュータ読取可能な媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17196926.4 | 2017-10-17 | ||
EP17196926.4A EP3474484A1 (en) | 2017-10-17 | 2017-10-17 | Cryptographic device with updatable shared matrix |
PCT/EP2018/077823 WO2019076737A1 (en) | 2017-10-17 | 2018-10-12 | CRYPTOGRAPHIC DEVICE WITH SHARED MATRIX WHICH CAN BE UPDATED |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020537191A JP2020537191A (ja) | 2020-12-17 |
JP2020537191A5 JP2020537191A5 (ja) | 2021-11-18 |
JP7208987B2 true JP7208987B2 (ja) | 2023-01-19 |
Family
ID=60138257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020521366A Active JP7208987B2 (ja) | 2017-10-17 | 2018-10-12 | 更新可能な共有マトリクスを備える暗号装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11212099B2 (ja) |
EP (2) | EP3474484A1 (ja) |
JP (1) | JP7208987B2 (ja) |
CN (1) | CN111492615B (ja) |
BR (1) | BR112020007373A2 (ja) |
MX (1) | MX2020003689A (ja) |
RU (1) | RU2020115996A (ja) |
WO (1) | WO2019076737A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3698515B1 (en) * | 2017-10-17 | 2021-02-17 | Koninklijke Philips N.V. | Configurable device for lattice-based cryptography |
EP3754896A1 (en) * | 2019-06-18 | 2020-12-23 | Koninklijke Philips N.V. | Authenticated key agreement |
EP4035306A4 (en) * | 2019-09-26 | 2022-11-16 | Visa International Service Association | GRID-BASED SIGNATURES WITH UNIFORM SECRETS |
GB2587438A (en) * | 2019-09-30 | 2021-03-31 | Governing Council Univ Toronto | Key generation for use in secured communication |
US11153080B1 (en) * | 2020-07-29 | 2021-10-19 | John A. Nix | Network securing device data using two post-quantum cryptography key encapsulation mechanisms |
KR20220055079A (ko) * | 2020-10-26 | 2022-05-03 | 삼성에스디에스 주식회사 | NTRU LPRime 알고리즘에 대한 부채널 공격을 방지하기 위한 장치 및 방법 |
US12003629B2 (en) | 2020-12-30 | 2024-06-04 | John A. Nix | Secure server digital signature generation for post-quantum cryptography key encapsulations |
CN112765551B (zh) * | 2021-01-21 | 2024-05-07 | 中国科学院重庆绿色智能技术研究院 | 一种双重约化的矩阵乘法的分块参数空间优化方法 |
JP7402191B2 (ja) * | 2021-03-03 | 2023-12-20 | Kddi株式会社 | 乗算装置、乗算方法及び乗算プログラム |
CN112910933B (zh) * | 2021-05-07 | 2021-07-13 | 鹏城实验室 | 认证方法、认证设备以及验证设备 |
EP4099609A1 (en) * | 2021-06-04 | 2022-12-07 | Zama SAS | Computational network conversion for fully homomorphic evaluation |
US11991269B1 (en) | 2022-11-15 | 2024-05-21 | Quantum Bridge Technologies Inc. | System and method for distribution of key generation data in a secure network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004201292A (ja) | 2002-12-03 | 2004-07-15 | Matsushita Electric Ind Co Ltd | 鍵共有システム、共有鍵生成装置及び共有鍵復元装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8621227B2 (en) * | 2010-12-28 | 2013-12-31 | Authernative, Inc. | System and method for cryptographic key exchange using matrices |
EP2837128B1 (en) * | 2012-04-12 | 2019-02-27 | Jintai Ding | New cryptographic systems using pairing with errors |
CN105379173A (zh) * | 2013-07-12 | 2016-03-02 | 皇家飞利浦有限公司 | 用于共享密码密钥的系统 |
IN2013MU02907A (ja) * | 2013-09-06 | 2015-07-03 | Tata Consultancy Services Ltd | |
CN103490901B (zh) * | 2013-09-30 | 2016-07-27 | 广东南方信息安全产业基地有限公司 | 基于组合密钥体系的密钥生成和发放方法 |
US9223720B2 (en) * | 2013-12-13 | 2015-12-29 | Oracle International Corporation | Systems and methods for rapidly generating suitable pairs of hash functions |
WO2015184991A1 (en) * | 2014-06-04 | 2015-12-10 | Jintai Ding | Improvements on cryptographic systems using pairing with errors |
US9577897B2 (en) * | 2015-02-20 | 2017-02-21 | Adobe Systems Incorporated | Providing visualizations of event sequence data |
CN105930916A (zh) * | 2016-04-07 | 2016-09-07 | 大连理工大学 | 一种基于并行模块化神经网络的副产煤气实时预测方法 |
US10097351B1 (en) * | 2016-09-15 | 2018-10-09 | ISARA Corporation | Generating a lattice basis for lattice-based cryptography |
US9698986B1 (en) * | 2016-09-23 | 2017-07-04 | ISARA Corporation | Generating shared secrets for lattice-based cryptographic protocols |
CN106357410B (zh) * | 2016-10-10 | 2019-10-01 | 中山大学 | 一种在没有单向陷门的格签名上构建阈下信道的方法 |
EP3373505A1 (en) | 2017-03-06 | 2018-09-12 | Koninklijke Philips N.V. | Device and method for sharing a matrix for use in a cryptographic protocol |
-
2017
- 2017-10-17 EP EP17196926.4A patent/EP3474484A1/en not_active Withdrawn
-
2018
- 2018-10-12 EP EP18785618.2A patent/EP3698513B1/en active Active
- 2018-10-12 US US16/756,137 patent/US11212099B2/en active Active
- 2018-10-12 JP JP2020521366A patent/JP7208987B2/ja active Active
- 2018-10-12 WO PCT/EP2018/077823 patent/WO2019076737A1/en unknown
- 2018-10-12 RU RU2020115996A patent/RU2020115996A/ru unknown
- 2018-10-12 CN CN201880081333.8A patent/CN111492615B/zh active Active
- 2018-10-12 BR BR112020007373-3A patent/BR112020007373A2/pt not_active IP Right Cessation
- 2018-10-12 MX MX2020003689A patent/MX2020003689A/es unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004201292A (ja) | 2002-12-03 | 2004-07-15 | Matsushita Electric Ind Co Ltd | 鍵共有システム、共有鍵生成装置及び共有鍵復元装置 |
Non-Patent Citations (2)
Title |
---|
BHATTACHARYA, S. et al.,spKEX: An optimized lattice-based key exchange,2017年07月25日,pp.1-25,Cryptology ePrint Archive, Paper 2017/709, [online], [令和4年10月14日検索],インターネット<URL:https://eprint.iacr.org/2017/709> |
清藤 武暢 ほか,量子コンピュータの解読に耐えうる暗号アルゴリズム「格子暗号」の最新動向,金融研究所ディスカッション・ペーパー・シリーズ ,日本銀行,2015年07月07日,No. 2015-J-9,pp.1-39 |
Also Published As
Publication number | Publication date |
---|---|
BR112020007373A2 (pt) | 2020-09-29 |
EP3474484A1 (en) | 2019-04-24 |
EP3698513B1 (en) | 2021-12-08 |
US11212099B2 (en) | 2021-12-28 |
US20200304305A1 (en) | 2020-09-24 |
CN111492615B (zh) | 2023-08-29 |
WO2019076737A1 (en) | 2019-04-25 |
MX2020003689A (es) | 2020-08-03 |
EP3698513A1 (en) | 2020-08-26 |
CN111492615A (zh) | 2020-08-04 |
RU2020115996A (ru) | 2021-11-18 |
RU2020115996A3 (ja) | 2022-01-12 |
JP2020537191A (ja) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7208987B2 (ja) | 更新可能な共有マトリクスを備える暗号装置 | |
JP6849860B2 (ja) | 格子暗号法のために構成可能な装置 | |
JP6720424B1 (ja) | 鍵共有デバイス及び方法 | |
JP7019730B2 (ja) | キー交換デバイス及び方法 | |
EP3020158A1 (en) | Key agreement device and method | |
EP3231126A1 (en) | Public-key encryption system | |
CN112997448A (zh) | 具有减小的公钥大小的公钥/私钥系统 | |
CN104854814A (zh) | 密钥共享网络设备及其配置 | |
EP3547603A1 (en) | Configurable device for lattice-based cryptography | |
Terada et al. | Password-based authenticated key exchange from standard isogeny assumptions | |
EP2395698B1 (en) | Implicit certificate generation in the case of weak pseudo-random number generators | |
RU2558621C2 (ru) | Способ шифрования сообщения, представленного в виде битовой строки |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211007 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221124 |
|
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: 20221212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7208987 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |