تشفير ما بعد الكم. نظرة عامة على بروتوكول NewHope Key Generation Protocol

يوم جيد!





في العالم الحديث ، هناك المزيد والمزيد من البيانات حول التهديد المحتمل من أجهزة الكمبيوتر الكمومية فيما يتعلق ببروتوكولات التشفير المستخدمة. الكمبيوتر الكمومي قادر بالفعل على حل مشاكل اللوغاريتم المنفصل وعوامل الرقم ، مما يعرض للخطر جميع البروتوكولات القائمة عليها.







سننظر اليوم في بروتوكول NewHope ، الذي يعتمد على مهمة صعبة أخرى - مشكلة التعلم مع وجود أخطاء في الحلقة (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  , الفأس = 0. , , .





\ بيتا \ ليرة لبنانية ف , z, || z ||  \ leq \ بيتا \ ll q. z ( q). , , . , .





? , ( ).





ر \ ليرة لبنانية ت- . 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, ف \ تقريبا 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 أ_أ. ( q):





a_1 \ يحصل \ 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

ك_1 ك.





, (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. .





, , :





: ب ^ T \ تقريبا v ^ T = s ^ TA في L (A) \ الخامس.





3.

LWE, - SIS:





Public key encryption (LWE):





, . – .





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





0, 0, \ فارك {q} {2} 1.





? (أ ، ش) (ب ، ب '). أ , , 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 – , . د_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 \ فارك {q} {2}. , .





  7. . : . q , \ يسار [0،1 \ يمين). د_4 D_2( ). \ {\ left (0، \ 1 \ right)، \ left (1/2، \ 1/2 \ right) \}. .





المصدر 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