Criptografía poscuántica. Descripción general del protocolo de generación de claves NewHope

¡Buen día!





En el mundo moderno, hay cada vez más declaraciones sobre la amenaza potencial de las computadoras cuánticas en relación con los protocolos de criptografía utilizados. La computadora cuántica ya es capaz de resolver los problemas de logaritmo discreto y factorización de un número, lo que amenaza todos los protocolos basados ​​en ellos.







Hoy consideraremos el protocolo NewHope, que se basa en otra tarea difĂ­cil: el problema del aprendizaje con errores en un anillo (Ring-LWE).





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





1. SIS

SIS (Short integer solution problem) – .





, n q ( ):





A = (\ overrightarrow {a_1}, \ overrightarrow {a_2}, \ dots, \ 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. , , .





\ beta \ 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 ^ {\ theta (n)}, n - .





2. LWE ( Learning with errors)

:





:





n – ;





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





\ chi , );





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





k, \ chi.





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





a_1 \ gets \ mathbb {Z} ^ n_q, \: b_1 \ approx \: <s, a_1> \: mod \: q a_2 \ gets \ mathbb {Z} ^ n_q, \: b_2 \ approx \: <s, a_2> \: mod \: q \ puntos





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 \ bien bien)

– .





, q. .





, , :





: b ^ T \ approx v ^ T = s ^ TA \ en 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 '). UN , , 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 ”= culo' + es '+ e”, v '= nosotros = culo' + e's, , . , – , 0 \ frac {q} {2}. , .





  7. . : . q , \ left [0,1 \ right). D_4 D_2( ). \ {\ left (0, \ 1 \ right), \ left (1/2, \ 1/2 \ right) \}. .





fuente 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.





Fuente: 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