ポスト量子暗号。NewHopeキー生成プロトコルの概要

良い一日!





現代の世界では、使用されている暗号化プロトコルに関連して、量子コンピューターからの潜在的な脅威についての声明がますます増えています。量子コンピューターは、離散対数と数値の因数分解の問題をすでに解決することができ、それらに基づくすべてのプロトコルを危険にさらします。







今日は、もう1つの難しいタスクであるリング内のエラーによる学習の問題(Ring-LWE)に基づくNewHopeプロトコルについて検討します。





NewHope – , , . , SIS, LWE Ring-LWE:





1. SIS

SIS (Short integer solution problem) – .





, n q ( ):





A =(\ overrightarrow {a_1}、\ overrightarrow {a_2}、\ dot、\ overrightarrow {a_m})\ in \ mathbb {Z} ^ {n \ times m} _q

L ^ {\ perp} A:





L ^ {\ perp}(A)= \ {z \ in \ mathbb {Z} ^ m:Az = 0 \}

( ) , .





, x \ in \ mathbb {Z} ^ m  , Ax = 0. , , .





\ベータ版\ ll q , z, || z ||  \ leq \ beta \ ll q. z ( q). , , . , .





? , ( ).





t \ ll T- . z.





L_u ^ {\ perp}(A)= \ {z:Az = u \} = t + L ^ {\ perp}(A)

, z A .





, 2 ^ {\シータ(n)}, n - .





2. LWE ( Learning with errors)

:





:





n – ;





q – , . n, q \約n ^ 2;





\カイ , );





A \ in \ mathbb {Z} ^ {n \ times m} _q a_i \ in \ mathbb {Z} ^ n_q;





k, \カイ.





, s \ in \ mathbb {Z} ^ n_q, s a_i. ( q):





a_1 \ get \ mathbb {Z} ^ n_q、\:b_1 \約\:<s、a_1> \:mod \:q a_2 \は\ mathbb {Z} ^ n_q、\:b_2 \約\:<s、a_2> \:mod \:qを取得します \ドット





b_1 = <s、a_1> + k_1 \ in \ mathbb {Z} _q

k_1 k.





, (LWE on lattices).





:





L \ left(A \ right)= \ {z \ in \ mathbb {Z} ^ m:z ^ T \ equiv s ^ TA \ mod \ q \} = q \ left(L ^ \ bot \ left(A \そうそう)

– .





, q. .





, , :





: b ^ T \約v ^ T = s ^ TA \ in L(A)\ v.





3.

LWE, - SIS:





Public key encryption (LWE):





, . – .





, e ^ \ prime-ex \ ll \ \ frac {q} {2}。





0, 0, \ frac {q} {2} 1.





? (A、u) (b、b '). A , , 4 , .





One-way function (SIS):





- -:





  https://www.di.ens.fr/chloe.hebant/presentation/SISproblem.pdf
https://www.di.ens.fr/chloe.hebant/presentation/SISproblem.pdf

, . . (IV).





, f , H(m) .





f- (One-way function):





, :





n \in \mathbb{N} q = poly(n) m = m(n).





H_n- \{f_A\}_{A\in Z^{n\times m}} f_A:\{0,1\}^m\rightarrow Z_n^m





e\in{\{0,1\}}^n :





f_A\left(e\right)=A \times e\>\ mod\>\ q

SIS.





? , P SIS .





4.

:





. A 640 \times 8 15 :





: https://summerschool-croatia.cs.ru.nl/2018/
: https://summerschool-croatia.cs.ru.nl/2018/

2) / O(n^2), .





?





5. Ring-LWE

.





? , LWE . , n ?





\left(\begin{matrix}\begin{matrix}\vdots\\a_i\\\end{matrix}\\\vdots\\\end{matrix}\right)\widetilde{\ast}\left(\begin{matrix}\begin{matrix}\vdots\\s\\\end{matrix}\\\vdots\\\end{matrix}\right)+\left(\begin{matrix}\begin{matrix}\vdots\\e_i\\\end{matrix}\\\vdots\\\end{matrix}\right)=\left(\begin{matrix}\begin{matrix}\vdots\\b_i\\\end{matrix}\\\vdots\\\end{matrix}\right)\in \mathbb{Z}_q^n

\widetilde{\ast}?





R_q=R/qR, R = \mathbb{Z}_q\left[X\right]/\left(X^n+1\right), n – .





R_q {deg(R}_q)<nc q.





? . , , : x\ \rightarrow\ -x\ mod\ q. .





/? , 2 O\left(n\ logn\right), O\left(n^2\right).





LWE , a_i、s、k , .





6. NewHope

, NewHope , Bos, Castello, Naehrig Stebila. TLS Ring-LWE.





, NewHope.





, .





:





, .





  1. n = 1024, q = 12289 ( , q \ equiv1 \ mod \ 2n). NTT ( ), n – , q – , . D_4。





  2. a. : seed – 256 , SHAKE-128 ( SHA3).   , 1024 a. : , TLS ( 2 ), NewHope , a. , backdoor , “” .





  3. – , . - , ( ). seed /dev/urandom 16- . s e.





  4. ( b, seed).





  5. a, s’, e’, e”, u.





  6. v, , . . v = bs '+ e” = ass' + es '+ e”, v '= us = ass' + e's, , . , – , 0 \ frac {q} {2}. , .





  7. . : . q , \左[0,1 \右). D_4 D_2( ). \ {\左(0、\ 1 \右)、\左(1/2、\ 1/2 \右)\}. .





ソースhttps://eprint.iacr.org/2015/1092.pdf
https://eprint.iacr.org/2015/1092.pdf

. , , : , 1, , 0. , , . HelpRec, . . , , .





8.    Rec 1 4 ( ).





9.    256 , , .





7.





2019 NIST post-quantum crypto project, , . NIST , , KYBER ( Module-LWE) , . 3 KYBER.





, Google Canary CECPQ1 CECPQ2.





出典:https://security.googleblog.com/2016/07/experimenting-with-post-quantum.html
: https://security.googleblog.com/2016/07/experimenting-with-post-quantum.html

:









  1. Haskell





  2. FPGA





:





  1. https://newhopecrypto.org/





  2. https://eprint.iacr.org/2015/1092.pdf





  3. https://eprint.iacr.org/2014/599.pdf





  4. https://www.di.ens.fr/chloe.hebant/presentation/SISproblem.pdf





  5. http://www.ee.cityu.edu.hk/~twhk05/achieve/Wai%20Ho%20Mow.pdf





  6. https://simons.berkeley.edu/talks/lwe-worst-case-average-case-reductions-and-cryptomania

    https://simons.berkeley.edu/talks/algebraic-lattices-and-ring-lwe





  7. https://www.ei.ruhr-uni-bochum.de/media/sh/veroeffentlichungen/2013/08/14/lwe_encrypt.pdf





  8. https://summerschool-croatia.cs.ru.nl/2018/slides/Introduction%20to%20post-quantum%20cryptography%20and%20learning%20with%20errors.pdf





  9. https://people.csail.mit.edu/vinodv/6876-Fall2015/L12.pdf





  10. https://security.googleblog.com/2016/07/experimenting-with-post-quantum.html












All Articles