<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on kenji.blog</title><link>http://kenji.blog/ar/categories/security/</link><description>Recent content in Security on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ar</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 21:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/ar/categories/security/index.xml" rel="self" type="application/rss+xml"/><item><title>الحدس الرياضي للتشفير القائم على الشبكة (Lattice-based cryptography)</title><link>http://kenji.blog/ar/p/lattice-based-cryptography-math-intuition/</link><pubDate>Fri, 11 Sep 2026 21:00:00 +0900</pubDate><guid>http://kenji.blog/ar/p/lattice-based-cryptography-math-intuition/</guid><description>&lt;img src="http://kenji.blog/p/lattice-based-cryptography-math-intuition/img/eyecatch.jpg" alt="Featured image of post الحدس الرياضي للتشفير القائم على الشبكة (Lattice-based cryptography)" />&lt;h1 id="1-مقدمة-فجر-التشفير-ما-بعد-الكوانتوم-pqc-وصعود-التشفير-القائم-على-الشبكة">1. مقدمة: فجر التشفير ما بعد الكوانتوم (PQC) وصعود التشفير القائم على الشبكة
&lt;/h1>&lt;p>يتم دعم البنية التحتية الرقمية لمجتمعنا الحديث من خلال تقنيات تشفير المفتاح العام مثل تشفير RSA وتشفير المنحنى الإهليلجي (ECC). تعتمد هذه الأساليب التشفيرية في أمانها على صعوبة مسائل رياضية مثل &amp;ldquo;مسألة التحليل إلى عوامل أولية&amp;rdquo; و&amp;quot;مسألة اللوغاريتم المنفصل&amp;quot;، والتي يُعتقد أنه لا يمكن حلها بكفاءة (تتطلب وقتاً أسياً) بواسطة أجهزة الكمبيوتر الكلاسيكية التقليدية.&lt;/p>
&lt;p>ومع ذلك، أحدثت &amp;ldquo;خوارزمية شور&amp;rdquo; (Shor&amp;rsquo;s Algorithm) التي نشرها بيتر شور (Peter Shor) في عام 1994 صدمة في عالم التشفير. أثبتت هذه الخوارزمية رياضياً أنه عند تحقيق أجهزة كمبيوتر كمومية واسعة النطاق، سيكون من الممكن حل مسألة التحليل إلى عوامل أولية ومسألة اللوغاريتم المنفصل في وقت كثير الحدود. وهذا يعني أن تشفير المفتاح العام المستخدم على نطاق واسع حالياً سيصبح قابلاً لفك التشفير بالكامل في المستقبل.&lt;/p>
&lt;p>لمواجهة &amp;ldquo;التهديد الكمومي&amp;rdquo; (Quantum Threat)، أصبح من الملح إجراء أبحاث حول طرق تشفير جديدة يصعب فك تشفيرها حتى باستخدام أجهزة الكمبيوتر الكمومية. يُطلق على هذا المجال اسم &amp;ldquo;التشفير ما بعد الكوانتوم&amp;rdquo; (Post-Quantum Cryptography: PQC) أو &amp;ldquo;التشفير المقاوم للحوسبة الكمومية&amp;rdquo;.&lt;/p>
&lt;p>هناك عدة مرشحين أقوياء في PQC. تشمل هذه التشفير القائم على التجزئة، والتشفير القائم على الكود، وتشفير متعدد الحدود متعدد المتغيرات، وتشفير التماثل الفائق. ومع ذلك، فإن التشفير الذي يحظى بأكبر قدر من الاهتمام حالياً ويحتل مركز الصدارة في عملية توحيد معايير PQC من قبل المعهد الوطني للمعايير والتكنولوجيا (NIST) هو &amp;ldquo;التشفير القائم على الشبكة&amp;rdquo; (Lattice-based cryptography). يتميز التشفير القائم على الشبكة بسرعات معالجة سريعة جداً للتشفير وفك التشفير مقارنة بالطرق الأخرى، كما يتميز بامتلاكه دليلاً أمنياً قوياً للغاية في نظرية التشفير، وهو تقليل &amp;ldquo;التعقيد في أسوأ الحالات&amp;rdquo; (Worst-case complexity) إلى &amp;ldquo;التعقيد في الحالة المتوسطة&amp;rdquo; (Average-case complexity).&lt;/p>
&lt;p>في هذا المقال، سننطلق من التعريف الرياضي لـ &amp;ldquo;الشبكة&amp;rdquo; (Lattice) الذي يشكل أساس التشفير القائم على الشبكة، وسنشرح بتعمق المشاكل الصعبة على الشبكة مثل SVP (مسألة المتجه الأقصر) و CVP (مسألة المتجه الأقرب)، بالإضافة إلى &amp;ldquo;مسألة LWE&amp;rdquo; (التعلم مع الأخطاء - Learning With Errors) التي تعد قلب التشفير القائم على الشبكة الحديث، باستخدام المعادلات الرياضية والحدس الهندسي والأمثلة العددية المحددة.&lt;/p>
&lt;h1 id="2-التعريف-الرياضي-والحدس-الهندسي-للشبكة-lattice">2. التعريف الرياضي والحدس الهندسي للشبكة (Lattice)
&lt;/h1>&lt;h2 id="21-الفضاء-المتجهي-والشبكة">2.1 الفضاء المتجهي والشبكة
&lt;/h2>&lt;p>في الرياضيات، تشير &amp;ldquo;الشبكة&amp;rdquo; (Lattice) إلى مجموعة من النقاط المنفصلة المرتبة بانتظام داخل فضاء متجهي حقيقي ذو $n$ بُعد $\mathbb{R}^n$. إنها تشبه الفضاء المتجهي (Vector Space) الذي ندرسه في الجبر الخطي، ولكن هناك فرق حاسم. في حين أن الفضاء المتجهي هو فضاء مستمر يتم التعبير عنه بتركيبة خطية ذات &amp;ldquo;معاملات حقيقية&amp;rdquo; لمتجهات الأساس، فإن الشبكة هي فضاء منفصل يتم التعبير عنه بتركيبة خطية ذات &amp;ldquo;معاملات صحيحة&amp;rdquo; لمتجهات الأساس.&lt;/p>
&lt;p>دعونا نقدم تعريفاً رياضياً دقيقاً. نعتبر $n$ ($n \le m$) من المتجهات المستقلة خطياً $\mathbf{b}_1, \mathbf{b}_2, \dots, \mathbf{b}_n$ في فضاء متجهي حقيقي ذو $m$ بُعد $\mathbb{R}^m$. نضع المصفوفة التي تحتوي على هذه المتجهات كمتجهات عمودية كـ $B = [\mathbf{b}_1, \mathbf{b}_2, \dots, \mathbf{b}_n] \in \mathbb{R}^{m \times n}$. تُسمى هذه $B$ &amp;ldquo;أساس&amp;rdquo; (Basis) الشبكة.&lt;/p>
&lt;p>الشبكة $\mathcal{L}(B)$ الناتجة عن هذا الأساس $B$ تُعرّف على النحو التالي:&lt;/p>
$$
\mathcal{L}(B) = \left\{ \sum_{i=1}^{n} x_i \mathbf{b}_i \mathrel{\bigg|} x_i \in \mathbb{Z} \right\} = \{ B \mathbf{x} \mid \mathbf{x} \in \mathbb{Z}^n \}
$$
&lt;p>النقطة المهمة هنا هي أن المعاملات $x_i$ تقتصر على الأعداد الصحيحة $\mathbb{Z}$ بدلاً من الأعداد الحقيقية $\mathbb{R}$. ونتيجة لذلك، تتشكل &amp;ldquo;مجموعة من النقاط المنفصلة&amp;rdquo; مثل نقاط التقاطع المتباعدة بمسافات متساوية، بدلاً من النقاط المستمرة التي توجد بأعداد لا حصر لها في الفضاء.&lt;/p>
&lt;h2 id="22-الصورة-الهندسية">2.2 الصورة الهندسية
&lt;/h2>&lt;p>دعونا نفكر في مثال على المستوى ثنائي الأبعاد $\mathbb{R}^2$. إذا اخترنا متجهات الأساس $\mathbf{b}_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}$ و $\mathbf{b}_2 = \begin{pmatrix} 0 \\ 1 \end{pmatrix}$، فإن الشبكة الناتجة عنها ستكون مجموعة من جميع الإحداثيات الصحيحة $(x, y) \in \mathbb{Z}^2$ على مستوى الإحداثيات. هذه هي أبسط &amp;ldquo;شبكة مربعة&amp;rdquo;.&lt;/p>
&lt;p>ومع ذلك، لا تكون الشبكات متعامدة دائماً. على سبيل المثال، إذا أخذنا الأساس $\mathbf{b}_1 = \begin{pmatrix} 2 \\ 1 \end{pmatrix}$ و $\mathbf{b}_2 = \begin{pmatrix} 1 \\ 3 \end{pmatrix}$، فستكون النقاط الناتجة أشبه بنقاط تقاطع شبكة مائلة ومائلة.&lt;/p>
&lt;h2 id="23-عدم-تفرد-الأساس-والتحويل-الأحادي-المعيار-unimodular">2.3 عدم تفرد الأساس والتحويل الأحادي المعيار (Unimodular)
&lt;/h2>&lt;p>هناك خاصية مهمة تتعلق بأساس أمان التشفير القائم على الشبكة. وهي &amp;ldquo;وجود عدد لا حصر له من الأسس التي تولد نفس الشبكة&amp;rdquo;.&lt;/p>
&lt;p>على سبيل المثال، الشبكة $\mathbb{Z}^2$ الناتجة عن الأساس المذكور أعلاه $\mathbf{b}_1 = (1, 0)^T, \mathbf{b}_2 = (0, 1)^T$، يمكن إنتاجها أيضاً بشكل مطابق للشبكة $\mathbb{Z}^2$ باستخدام الأساس $\mathbf{b}'_1 = (1, 1)^T, \mathbf{b}'_2 = (2, 3)^T$.&lt;/p>
&lt;p>الشرط الضروري والكافي لأساس معين $B$ وأساس آخر $B'$ لتوليد نفس الشبكة هو وجود مصفوفة ذات عناصر صحيحة $U \in \mathbb{Z}^{n \times n}$، بحيث تكون المحددات $\det(U) = \pm 1$، ويُعبَّر عنها بـ:
&lt;/p>
$$ B' = B U $$
&lt;p>
تُسمى مثل هذه المصفوفة $U$ بـ &amp;ldquo;مصفوفة أحادية المعيار&amp;rdquo; (Unimodular matrix).&lt;/p>
&lt;p>الفكرة الأساسية في تطبيقات التشفير هي استخدام &amp;ldquo;أساس جيد&amp;rdquo; (أساس قريب من التعامد ومكون من متجهات قصيرة) كمفتاح سري، واستخدام &amp;ldquo;أساس سيء&amp;rdquo; (أساس مائل بشكل متبادل للغاية ومكون من متجهات طويلة جداً) كمفتاح عام. يصبح حساب الأساس الجيد من الأساس السيء أمراً صعباً للغاية عندما يزداد البعد. هذا هو الحدس الأساسي للتشفير القائم على الشبكة.&lt;/p>
&lt;h1 id="3-مسائل-صعبة-الحساب-في-الشبكة">3. مسائل صعبة الحساب في الشبكة
&lt;/h1>&lt;p>يعتمد أمان التشفير القائم على الشبكة على صعوبة حل مسائل رياضية معينة على الشبكة. هنا نقدم اثنتين من المسائل الأساسية والأكثر شهرة.&lt;/p>
&lt;h2 id="31-مسألة-المتجه-الأقصر-shortest-vector-problem-svp">3.1 مسألة المتجه الأقصر (Shortest Vector Problem: SVP)
&lt;/h2>&lt;p>تعد مسألة SVP هي المسألة الأكثر كلاسيكية وشهرة في نظرية الشبكة.&lt;/p>
&lt;p>&lt;strong>التعريف (SVP):&lt;/strong>
بالنظر إلى أي أساس شبكة $B$، ابحث عن المتجه $\mathbf{v}$ الذي له أصغر معيار إقليدي (طول) من بين المتجهات غير الصفرية التي تنتمي إلى تلك الشبكة $\mathcal{L}(B)$.&lt;/p>
&lt;p>مُعبّراً عنها رياضياً، إنها مسألة إيجاد المتجه $\mathbf{v}$ الذي يحقق $\min_{\mathbf{v} \in \mathcal{L}(B) \setminus \{\mathbf{0}\}} \| \mathbf{v} \|$. يُكتب هذا الطول الأدنى $\lambda_1(\mathcal{L})$ ويُسمى &amp;ldquo;الحد الأدنى المتتالي الأول للشبكة&amp;rdquo; (First successive minimum).&lt;/p>
&lt;p>في الأبعاد المنخفضة مثل الأبعاد الثنائية أو الثلاثية، يمكن العثور على أقصر متجه بصرياً عن طريق رسم شكل. أو يمكن حله بكفاءة باستخدام خوارزميات مثل خوارزمية تقليل شبكة غاوس. ومع ذلك، عندما تصبح الأبعاد $n$ عالية في نطاق مئات إلى آلاف، فمن المعروف أن حل مسألة SVP بدقة هي مسألة NP-صعبة (NP-hard).&lt;/p>
&lt;p>في التشفير الحقيقي، بدلاً من المتجه الأقصر الدقيق، يتم استخدام مسألة SVP التقريبية ($\gamma$-SVP) التي تعثر على &amp;ldquo;متجه قصير تقريباً&amp;rdquo;. عندما يكون معامل التقريب $\gamma$ بحجم كثير الحدود، لا تزال هذه المسألة تعتبر صعبة للغاية.&lt;/p>
&lt;h2 id="32-مسألة-المتجه-الأقرب-closest-vector-problem-cvp">3.2 مسألة المتجه الأقرب (Closest Vector Problem: CVP)
&lt;/h2>&lt;p>مسألة CVP هي أيضاً مسألة بالغة الأهمية في التشفير القائم على الشبكة.&lt;/p>
&lt;p>&lt;strong>التعريف (CVP):&lt;/strong>
بالنظر إلى أي أساس شبكة $B$ وأي متجه مستهدف $\mathbf{t} \in \mathbb{R}^m$ في الفضاء (ليس بالضرورة نقطة شبكة)، ابحث عن نقطة الشبكة $\mathbf{v} \in \mathcal{L}(B)$ الأقرب إلى $\mathbf{t}$ من بين نقاط الشبكة.&lt;/p>
&lt;p>رياضياً، هي مسألة البحث عن نقطة الشبكة $\mathbf{v}$ التي تحقق $\min_{\mathbf{v} \in \mathcal{L}(B)} \| \mathbf{v} - \mathbf{t} \|$.&lt;/p>
&lt;p>على غرار مسألة SVP، فإن CVP هي مسألة NP-صعبة في الأبعاد العالية. من وجهة نظر التطبيق التشفيري، فإن مسألة LWE، التي سيتم وصفها لاحقاً، مرتبطة ارتباطاً وثيقاً بمتغير خاص من CVP يُعرف باسم &amp;ldquo;فك التشفير ذي المسافة المحدودة&amp;rdquo; (Bounded Distance Decoding: BDD).&lt;/p>
&lt;h2 id="33-لماذا-لا-يمكن-حلها-عندما-تصبح-الأبعاد-عالية-حدود-lll-و-bkz">3.3 لماذا لا يمكن حلها عندما تصبح الأبعاد عالية؟ (حدود LLL و BKZ)
&lt;/h2>&lt;p>خوارزمية LLL (خوارزمية Lenstra-Lenstra-Lovász) هي خوارزمية مشهورة لحل مسائل الشبكة ذات الأبعاد العالية. تعمل خوارزمية LLL في وقت كثير الحدود ويمكنها تقليل (Reduction) أساس الشبكة إلى &amp;ldquo;أساس جيد&amp;rdquo; إلى حد ما. ومع ذلك، فإن أقصر متجه يمكن أن تجده خوارزمية LLL له معامل تقريب أسي ($2^{\mathcal{O}(n)}$) بالنسبة لطول المتجه الأقصر الحقيقي، وبالتالي لا يصل إلى مستوى كسر أمان التشفير.&lt;/p>
&lt;p>باستخدام خوارزميات تقليل الأساس الأقوى مثل خوارزمية BKZ (Block Korkine-Zolotarev)، وهي تحسين لـ LLL، يمكن العثور على متجهات أقصر، ولكن كمية الحسابات تزداد بشكل أسي مع حجم الكتلة. في التشفير القائم على الشبكة، يتم تحديد البارامترات الآمنة (مثل حجم البعد $n$) عن طريق تقدير وقت تنفيذ خوارزمية BKZ. في المعايير القياسية الحالية لـ PQC، يتم اختيار قيم للبعد $n$ تتراوح من 500 إلى أكثر من 1000، ويقال إن فك التشفير سيستغرق وقتاً أطول من عمر الكون، حتى باستخدام أجهزة الكمبيوتر العملاقة أو الحواسيب الكمومية المستقبلية.&lt;/p>
&lt;h1 id="4-الصياغة-الرياضية-لمسألة-lwe-التعلم-مع-الأخطاء---learning-with-errors">4. الصياغة الرياضية لمسألة LWE (التعلم مع الأخطاء - Learning With Errors)
&lt;/h1>&lt;p>تعتمد معظم التشفيرات الحديثة القائمة على الشبكة على &amp;ldquo;مسألة LWE&amp;rdquo; (التعلم مع الأخطاء) التي اقترحها عوديد ريغيف (Oded Regev) في عام 2005. يكمن جمال مسألة LWE في بساطة صياغتها، وحقيقة أنها تمتلك دليلاً رياضياً قوياً يسمى &amp;ldquo;التقليل من التعقيد في أسوأ الحالات إلى التعقيد في الحالة المتوسطة&amp;rdquo;.&lt;/p>
&lt;h2 id="41-نظام-المعادلات-الخطية-بدون-ضوضاء">4.1 نظام المعادلات الخطية بدون ضوضاء
&lt;/h2>&lt;p>لفهم مسألة LWE، دعونا نفكر أولاً في نظام بسيط من المعادلات الخطية المتزامنة بدون ضوضاء.
لنفترض أن هناك متجهاً سرياً غير معروف $\mathbf{s} \in \mathbb{Z}_q^n$ (كل مكون هو عدد صحيح من $0$ إلى $q-1$). حيث $q$ هو عدد أولي.&lt;/p>
&lt;p>نختار متجهات معاملات عشوائية $\mathbf{a}_1, \mathbf{a}_2, \dots \in \mathbb{Z}_q^n$، ونحسب الضرب النقطي (الجداء الداخلي) مع المتجه السري $\mathbf{s}$ في المعيار $q$ (mod $q$).
$b_1 = \langle \mathbf{a}_1, \mathbf{s} \rangle \pmod q$
$b_2 = \langle \mathbf{a}_2, \mathbf{s} \rangle \pmod q$
$\vdots$&lt;/p>
&lt;p>إذا أُعطينا عدداً كافياً (أكثر من $n$) من أزواج $(\mathbf{a}_i, b_i)$، يمكننا بسهولة استعادة المتجه السري $\mathbf{s}$ باستخدام &amp;ldquo;الحذف الغاوسي&amp;rdquo; (Gaussian elimination) في الجبر الخطي. هذه مسألة يمكن حلها بسهولة في وقت كثير الحدود.&lt;/p>
&lt;h2 id="42-تعريف-مسألة-lwe-إضافة-الضوضاء">4.2 تعريف مسألة LWE: إضافة الضوضاء
&lt;/h2>&lt;p>الآن، ماذا سيحدث إذا أضفنا &amp;ldquo;ضوضاء&amp;rdquo; (خطأ) طفيفة إلى هذه المسألة؟
هذا هو جوهر مسألة LWE.&lt;/p>
&lt;p>بالنسبة للمتجه السري غير المعروف $\mathbf{s} \in \mathbb{Z}_q^n$، نضيف خطأً صغيراً $e_i \in \mathbb{Z}_q$ إلى نتيجة كل معادلة.
$b_i = \langle \mathbf{a}_i, \mathbf{s} \rangle + e_i \pmod q$&lt;/p>
&lt;p>هنا، $e_i$ هو قيمة صحيحة صغيرة بمتوسط 0 وانحراف معياري صغير نسبياً (على سبيل المثال، يتم اختياره من توزيع غاوسي منفصل يشبه التوزيع الطبيعي).
المعلومات المعطاة هي قائمة بأزواج من المتجهات العشوائية $\mathbf{a}_i$ والقيمة المحسوبة $b_i$ مع الخطأ المضاف إليها.
$( \mathbf{a}_1, b_1 ), ( \mathbf{a}_2, b_2 ), \dots, ( \mathbf{a}_m, b_m )$&lt;/p>
&lt;p>التعبير عن هذا كمصفوفة يجعله أنيقاً جداً.
باستخدام مصفوفة عشوائية $A \in \mathbb{Z}_q^{m \times n}$، والمتجه السري $\mathbf{s} \in \mathbb{Z}_q^n$، ومتجه الخطأ $\mathbf{e} \in \mathbb{Z}_q^m$، يمكن كتابته كـ:
&lt;/p>
$$ \mathbf{b} = A \mathbf{s} + \mathbf{e} \pmod q $$
&lt;p>
يُعطى فقط $A$ و $\mathbf{b}$. إيجاد $\mathbf{s}$ من هذه المعلومات هو &amp;ldquo;مسألة LWE البحثية&amp;rdquo; (Search LWE problem).&lt;/p>
&lt;p>نظراً لوجود الخطأ $e_i$، إذا حاولت استخدام الحذف الغاوسي، فسوف يتضخم الخطأ بشكل أسي أثناء عملية جمع وطرح المعادلات، ولن تتمكن من الوصول إلى الإجابة الصحيحة. على الرغم من أنها تبدو للوهلة الأولى وكأنها معادلات خطية متزامنة بسيطة، إلا أن إضافة هذه الضوضاء الصغيرة ترفع مستوى صعوبة المسألة إلى مستوى NP-صعب.&lt;/p>
&lt;h2 id="43-مسألة-lwe-التقريرية-decision-lwe">4.3 مسألة LWE التقريرية (Decision LWE)
&lt;/h2>&lt;p>غالباً ما يُستخدم في إثباتات نظرية التشفير متغير من مسألة LWE البحثية يسمى &amp;ldquo;مسألة LWE التقريرية&amp;rdquo; (Decision LWE problem).&lt;/p>
&lt;p>مسألة LWE التقريرية هي مسألة تحديد من أي التوزيعين التاليين تم أخذ قائمة معينة من العينات:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>توزيع LWE&lt;/strong>: $(A, \mathbf{b} = A\mathbf{s} + \mathbf{e} \pmod q)$ المحسوب عمداً.&lt;/li>
&lt;li>&lt;strong>توزيع عشوائي منتظم&lt;/strong>: $(A, \mathbf{u})$ يتكون من مصفوفة مختارة عشوائياً بالكامل $A$ ومتجه $\mathbf{u}$.&lt;/li>
&lt;/ol>
&lt;p>المدهش هو أنه إذا تم اختيار بارامترات مسألة LWE بشكل مناسب، فإن الأزواج التي يتم الحصول عليها من توزيع LWE تصبح &amp;ldquo;غير قابلة للتمييز حسابياً&amp;rdquo; (Computationally Indistinguishable) عن أزواج البيانات العشوائية تماماً. تُشكل هذه الخاصية الأساس الذي يجعل التشفير القائم على LWE قادراً على توليد &amp;ldquo;نصوص مشفرة لا يمكن تمييزها عن الأرقام العشوائية&amp;rdquo;.&lt;/p>
&lt;h2 id="44-التقليل-من-التعقيد-في-أسوأ-الحالات-إلى-التعقيد-في-الحالة-المتوسطة-مبرهنة-regev">4.4 التقليل من التعقيد في أسوأ الحالات إلى التعقيد في الحالة المتوسطة (مبرهنة Regev)
&lt;/h2>&lt;p>الإنجاز الأكبر لعوديد ريغيف كان الربط الرياضي لصعوبة مسألة LWE هذه بصعوبة مسائل الشبكة المذكورة أعلاه (SVP و CVP).&lt;/p>
&lt;p>لقد استخدم التقليل الكمومي (Quantum reduction) لإثبات أنه &amp;ldquo;إذا كانت هناك خوارزمية ذات وقت كثير الحدود يمكنها حل مسألة LWE في المتوسط (لـ $A$ و $\mathbf{e}$ المختارة عشوائياً)، فهناك خوارزمية كمومية ذات وقت كثير الحدود يمكنها حل مسألة Gap-SVP في الحالة الأسوأ (أصعب حالة) لأي شبكة.&amp;rdquo; (في وقت لاحق، أوضح Peikert وآخرون تقليلاً كلاسيكياً أيضاً).&lt;/p>
&lt;p>هذه خاصية حالمة في نظرية التشفير. وذلك لأنها تبدد المخاوف القائلة بأن &amp;ldquo;التشفير قد يُكسر لأننا ربما اخترنا بالصدفة مفتاحاً ضعيفاً (جزء من الحالة المتوسطة)&amp;quot;، وتوفر ضماناً قوياً بأنه &amp;ldquo;إذا كان من الممكن حل LWE المتوسط، فسيتم حل جميع المسائل الصعبة للشبكة (لذلك فإن LWE صعب بالتأكيد)&amp;rdquo;.&lt;/p>
&lt;div class="mermaid">graph TD
A["مسائل الشبكة في أسوأ الحالات (Gap-SVP, SIVP)"] -->|تقليل كمومي/كلاسيكي| B["مسألة LWE في الحالة المتوسطة"]
B -->|البناء التشفيري| C["أنظمة التشفير القائمة على LWE (PKE, KEM, FHE)"]
style A fill:#ffcccc,stroke:#ff0000,stroke-width:2px,color:#000
style B fill:#ccffcc,stroke:#00aa00,stroke-width:2px,color:#000
style C fill:#ccccff,stroke:#0000ff,stroke-width:2px,color:#000&lt;/div>
&lt;h1 id="5-بناء-نظام-تشفير-المفتاح-العام-باستخدام-lwe-تشفير-regev">5. بناء نظام تشفير المفتاح العام باستخدام LWE (تشفير Regev)
&lt;/h1>&lt;p>الآن وقد فهمنا صعوبة مسألة LWE، دعونا نرى كيف يتم استخدامها للتشفير وفك التشفير في نظام تشفير المفتاح العام الأساسي الذي اقترحه عوديد ريغيف. سنشرح هنا الآلية الأساسية لتشفير رسالة من بت واحد $M \in \{0, 1\}$.&lt;/p>
&lt;h2 id="51-توليد-المفتاح-key-generation">5.1 توليد المفتاح (Key Generation)
&lt;/h2>&lt;ol>
&lt;li>كمعلمات للنظام، نحدد العدد الأولي الأساسي $q$، والبعد $n$، وعدد المعادلات $m$ ($m > n \log q$).&lt;/li>
&lt;li>كمفتاح سري، نختار بشكل عشوائي متجهاً $\mathbf{s} \in \mathbb{Z}_q^n$.&lt;/li>
&lt;li>نقوم بتوليد مصفوفة عشوائية $A \in \mathbb{Z}_q^{m \times n}$.&lt;/li>
&lt;li>نختار متجه خطأ صغيراً $\mathbf{e} \in \mathbb{Z}_q^m$ من توزيع أخطاء مثل التوزيع الغاوسي المنفصل.&lt;/li>
&lt;li>نحسب المتجه $\mathbf{b} = A \mathbf{s} + \mathbf{e} \pmod q$.&lt;/li>
&lt;li>المفتاح العام (Public Key) هو $(A, \mathbf{b})$.&lt;/li>
&lt;li>المفتاح السري (Secret Key) هو $\mathbf{s}$.&lt;/li>
&lt;/ol>
&lt;p>المفتاح العام هو بالضبط &amp;ldquo;مثيل لمسألة LWE&amp;rdquo; بحد ذاتها. إيجاد المفتاح السري $\mathbf{s}$ من المفتاح العام $(A, \mathbf{b})$ يعادل حل مسألة LWE البحثية، مما يضمن الأمان.&lt;/p>
&lt;h2 id="52-التشفير-encryption">5.2 التشفير (Encryption)
&lt;/h2>&lt;p>تقوم أليس بتشفير رسالة من بت واحد $M \in \{0, 1\}$ باستخدام المفتاح العام لبوب $(A, \mathbf{b})$.&lt;/p>
&lt;ol>
&lt;li>تختار متجهاً ثنائياً عشوائياً (مكوناته 0 أو 1) $\mathbf{r} \in \{0, 1\}^m$.&lt;/li>
&lt;li>كجزء أول من النص المشفر، تحسب المتجه $\mathbf{u} = A^T \mathbf{r} \pmod q$. ($A^T$ هي المصفوفة المنقولة لـ $A$. بعبارة أخرى، تقوم بجمع صفوف $A$ التي يكون فيها المكون المقابل في $\mathbf{r}$ يساوي 1).&lt;/li>
&lt;li>كجزء ثانٍ من النص المشفر، تحسب العدد القياسي (scalar) $v = \mathbf{b}^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor \pmod q$.
(إذا كانت الرسالة $M$ هي 0 فلا تجمع شيئاً، وإذا كانت $1$ تجمع قيمة نصف $q$ تماماً $\lfloor \frac{q}{2} \rfloor$).&lt;/li>
&lt;li>النص المشفر (Ciphertext) هو $(\mathbf{u}, v)$.&lt;/li>
&lt;/ol>
&lt;p>المعنى الحدسي للتشفير هو أخذ &amp;ldquo;مجموع مجموعة فرعية عشوائية&amp;rdquo; لمتجه المفتاح العام المصفوفة $A$ والمتجه $\mathbf{b}$. نظراً لصعوبة مسألة LWE التقريرية، يبدو هذا النص المشفر $(\mathbf{u}, v)$ غير قابل للتمييز عن متجه عشوائي تماماً وعدد عشوائي منتظم (الأمان الدلالي: Semantic Security).&lt;/p>
&lt;div class="mermaid">flowchart LR
M["رسالة M في {0,1}"] --> Enc
PK["مفتاح عام (A, b)"] --> Enc
r["متجه ثنائي عشوائي r"] --> Enc
subgraph Enc ["عملية التشفير"]
direction TB
u_calc["u = A^T * r mod q"]
v_calc["v = b^T * r + M * floor(q/2) mod q"]
end
Enc --> CT["نص مشفر (u, v)"]&lt;/div>
&lt;h2 id="53-فك-التشفير-decryption">5.3 فك التشفير (Decryption)
&lt;/h2>&lt;p>يقوم بوب بفك تشفير النص المشفر $(\mathbf{u}, v)$ باستخدام مفتاحه السري $\mathbf{s}$.&lt;/p>
&lt;ol>
&lt;li>يحسب القيمة التالية: $D = v - \mathbf{s}^T \mathbf{u} \pmod q$&lt;/li>
&lt;li>إذا كانت النتيجة المحسوبة قريبة من $0$، فإنه يُخرج $M=0$. وإذا كانت قريبة من $\lfloor \frac{q}{2} \rfloor$، فإنه يُخرج $M=1$.&lt;/li>
&lt;/ol>
&lt;p>لماذا يمكن فك التشفير بهذه الطريقة؟ دعونا نوسع ذلك رياضياً.
تذكر أن $\mathbf{b} = A \mathbf{s} + \mathbf{e}$.&lt;/p>
$$
\begin{aligned}
v - \mathbf{s}^T \mathbf{u} &amp;= (\mathbf{b}^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor) - \mathbf{s}^T (A^T \mathbf{r}) \\
&amp;= ((A \mathbf{s} + \mathbf{e})^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor) - \mathbf{s}^T A^T \mathbf{r} \\
&amp;= (\mathbf{s}^T A^T \mathbf{r} + \mathbf{e}^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor) - \mathbf{s}^T A^T \mathbf{r} \\
&amp;= \mathbf{e}^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor \pmod q
\end{aligned}
$$
&lt;p>هنا، تم إلغاء $\mathbf{s}^T A^T \mathbf{r}$ بشكل جميل من المعادلة!
ما تبقى هو $\mathbf{e}^T \mathbf{r} + M \cdot \lfloor \frac{q}{2} \rfloor$.&lt;/p>
&lt;p>$\mathbf{e}$ هو متجه ضوضاء بمكونات صغيرة جداً، و $\mathbf{r}$ هو متجه ثنائي بمكونات 0 أو 1. لذلك، فإن حاصل الضرب النقطي $\mathbf{e}^T \mathbf{r}$ يظل أيضاً قيمة صغيرة نسبياً (إذا تم اختيار المعلمات بشكل مناسب).&lt;/p>
&lt;ul>
&lt;li>إذا كان $M=0$، فإن النتيجة تكون $\mathbf{e}^T \mathbf{r}$، وهي قيمة صغيرة قريبة من $0$.&lt;/li>
&lt;li>إذا كان $M=1$، فإن النتيجة تكون $\mathbf{e}^T \mathbf{r} + \lfloor \frac{q}{2} \rfloor$، وستقع حول قيمة نصف $q$ وهي $\lfloor \frac{q}{2} \rfloor$.&lt;/li>
&lt;/ul>
&lt;p>إذا تم تصميم المعلمات بحيث تظل القيمة المطلقة للخطأ $\mathbf{e}^T \mathbf{r}$ أقل من $\frac{q}{4}$، فيمكن لبوب تحديد (فك تشفير) الرسالة $M$ بدقة بمجرد النظر إلى ما إذا كانت نتيجة الحساب أقرب إلى $0$ أو $\lfloor \frac{q}{2} \rfloor$. هذه هي الآلية الجميلة التي يعمل بها التشفير القائم على LWE.&lt;/p>
&lt;div class="mermaid">flowchart LR
CT["نص مشفر (u, v)"] --> Dec
SK["مفتاح سري s"] --> Dec
subgraph Dec ["عملية فك التشفير"]
direction TB
calc["حساب D = v - s^T * u mod q"]
check["تحقق مما إذا كان D أقرب إلى 0 أو q/2"]
end
calc --> check
Dec --> M_out["رسالة مستردة M"]&lt;/div>
&lt;h1 id="6-مثال-لعبة-toy-example-لتشفير-lwe-باستخدام-قيم-عددية-محددة">6. مثال لعبة (Toy Example) لتشفير LWE باستخدام قيم عددية محددة
&lt;/h1>&lt;p>نظراً لأن سلسلة المعادلات وحدها قد تجعل من الصعب استيعاب المفهوم، دعونا نتبع الحساب من التشفير إلى فك التشفير عن طريق تعيين قيم عددية صغيرة جداً بالفعل.
(※ في أنظمة التشفير الحقيقية، لضمان الأمان، يتم استخدام $n$ بقيمة 500 أو أكثر، و $q$ بقيمة آلاف أو أكثر).&lt;/p>
&lt;p>&lt;strong>【إعداد البارامترات】&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>المعيار $q = 17$ (عدد أولي. وبالتالي تأخذ القيم النطاق من $0$ إلى $16$)&lt;/li>
&lt;li>البعد $n = 2$&lt;/li>
&lt;li>عدد المعادلات $m = 4$&lt;/li>
&lt;li>لنفترض أننا نريد تشفير الرسالة $M = 1$.&lt;/li>
&lt;li>مقدار إزاحة الرسالة: $\lfloor \frac{q}{2} \rfloor = \lfloor \frac{17}{2} \rfloor = 8$&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>【1. مرحلة توليد المفتاح】&lt;/strong>
يختار بوب المفتاح السري $\mathbf{s}$ والمصفوفة $A$ ومتجه الخطأ $\mathbf{e}$ عشوائياً.
&lt;/p>
$$ \mathbf{s} = \begin{pmatrix} 3 \\ 4 \end{pmatrix} \in \mathbb{Z}_{17}^2 $$
$$ A = \begin{pmatrix} 2 &amp; 15 \\ 1 &amp; 8 \\ 14 &amp; 5 \\ 9 &amp; 10 \end{pmatrix} \in \mathbb{Z}_{17}^{4 \times 2} $$
$$ \mathbf{e} = \begin{pmatrix} 1 \\ -1 \\ 0 \\ 2 \end{pmatrix} \equiv \begin{pmatrix} 1 \\ 16 \\ 0 \\ 2 \end{pmatrix} \pmod{17} $$
&lt;p>ثم يحسب المفتاح العام $\mathbf{b}$.
&lt;/p>
$$ A \mathbf{s} = \begin{pmatrix} 2 &amp; 15 \\ 1 &amp; 8 \\ 14 &amp; 5 \\ 9 &amp; 10 \end{pmatrix} \begin{pmatrix} 3 \\ 4 \end{pmatrix} = \begin{pmatrix} 2\times 3 + 15\times 4 \\ 1\times 3 + 8\times 4 \\ 14\times 3 + 5\times 4 \\ 9\times 3 + 10\times 4 \end{pmatrix} = \begin{pmatrix} 6 + 60 \\ 3 + 32 \\ 42 + 20 \\ 27 + 40 \end{pmatrix} = \begin{pmatrix} 66 \\ 35 \\ 62 \\ 67 \end{pmatrix} $$
&lt;p>
نحسب هذا بالنسبة للمعيار 17. (على سبيل المثال $66 = 17 \times 3 + 15$)
&lt;/p>
$$ A \mathbf{s} \pmod{17} = \begin{pmatrix} 15 \\ 1 \\ 11 \\ 16 \end{pmatrix} $$
&lt;p>
نضيف متجه الخطأ $\mathbf{e}$.
&lt;/p>
$$ \mathbf{b} = A \mathbf{s} + \mathbf{e} = \begin{pmatrix} 15 \\ 1 \\ 11 \\ 16 \end{pmatrix} + \begin{pmatrix} 1 \\ 16 \\ 0 \\ 2 \end{pmatrix} = \begin{pmatrix} 16 \\ 17 \\ 11 \\ 18 \end{pmatrix} \equiv \begin{pmatrix} 16 \\ 0 \\ 11 \\ 1 \end{pmatrix} \pmod{17} $$
&lt;p>المفتاح العام هو $A$ و $\mathbf{b} = (16, 0, 11, 1)^T$.&lt;/p>
&lt;p>&lt;strong>【2. مرحلة التشفير】&lt;/strong>
تقوم أليس بتشفير الرسالة $M = 1$.
تختار متجهاً عشوائياً $\mathbf{r}$. هنا نفترض $\mathbf{r} = (1, 0, 1, 0)^T$.&lt;/p>
&lt;p>تحسب $\mathbf{u}$.
&lt;/p>
$$ \mathbf{u} = A^T \mathbf{r} = \begin{pmatrix} 2 &amp; 1 &amp; 14 &amp; 9 \\ 15 &amp; 8 &amp; 5 &amp; 10 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 2 \times 1 + 14 \times 1 \\ 15 \times 1 + 5 \times 1 \end{pmatrix} = \begin{pmatrix} 16 \\ 20 \end{pmatrix} \equiv \begin{pmatrix} 16 \\ 3 \end{pmatrix} \pmod{17} $$
&lt;p>تحسب $v$.
&lt;/p>
$$ \mathbf{b}^T \mathbf{r} = (16, 0, 11, 1) \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} = 16 \times 1 + 11 \times 1 = 27 \equiv 10 \pmod{17} $$
&lt;p>
تضيف القيمة $\lfloor 17/2 \rfloor = 8$ المطابقة للرسالة $M=1$.
&lt;/p>
$$ v = \mathbf{b}^T \mathbf{r} + M \cdot 8 = 10 + 1 \times 8 = 18 \equiv 1 \pmod{17} $$
&lt;p>ترسل أليس النص المشفر $(\mathbf{u}, v) = \left( \begin{pmatrix} 16 \\ 3 \end{pmatrix}, 1 \right)$ إلى بوب.&lt;/p>
&lt;p>&lt;strong>【3. مرحلة فك التشفير】&lt;/strong>
يقوم بوب، الذي استلم النص المشفر، بفك التشفير باستخدام المفتاح السري $\mathbf{s} = (3, 4)^T$.
معادلة فك التشفير: يحسب $D = v - \mathbf{s}^T \mathbf{u} \pmod{17}$.&lt;/p>
$$ \mathbf{s}^T \mathbf{u} = (3, 4) \begin{pmatrix} 16 \\ 3 \end{pmatrix} = 3 \times 16 + 4 \times 3 = 48 + 12 = 60 \equiv 9 \pmod{17} $$
$$ D = v - \mathbf{s}^T \mathbf{u} = 1 - 9 = -8 \pmod{17} $$
&lt;p>هنا، في عالم المعيار 17، $-8$ تساوي $9$ (لأن $-8 + 17 = 9$).
يحدد بوب ما إذا كانت القيمة الناتجة $D = 9$ أقرب إلى $0$ أو $8$ ($\lfloor 17/2 \rfloor$).
نظراً لأن $9$ هي بالتأكيد أقرب إلى $8$ من $0$، فقد تمكن بوب من استعادة $M = 1$ بنجاح!&lt;/p>
&lt;p>لماذا أصبحت $9$؟ لنتذكر الإثبات السابق.
جزء الخطأ هو $\mathbf{e}^T \mathbf{r} = (1, -1, 0, 2) (1, 0, 1, 0)^T = 1 \times 1 + 0 \times 1 = 1$.
لذلك، فإن نتيجة الحساب هي $\mathbf{e}^T \mathbf{r} + M \cdot 8 = 1 + 8 = 9$، وتم تأكيد حساب القيمة كما هو متوقع نظرياً.&lt;/p>
&lt;h1 id="7-التطور-نحو-التطبيق-العملي-ring-lwe-و-module-lwe">7. التطور نحو التطبيق العملي: Ring-LWE و Module-LWE
&lt;/h1>&lt;p>في حين أن مسألة LWE القياسية (Standard LWE) التي تم شرحها حتى الآن تحتوي على إثبات أمان قوي للغاية، إلا أن لها عيوباً قاتلة في التطبيق العملي. هذه العيوب هي &amp;ldquo;حجم المفتاح يصبح ضخماً&amp;rdquo; و &amp;ldquo;تكلفة الحساب عالية&amp;rdquo;.&lt;/p>
&lt;p>في LWE القياسية، يتضمن المفتاح العام مصفوفة ضخمة $A \in \mathbb{Z}_q^{m \times n}$. عندما تصل المعلمة $n$ إلى المئات أو الآلاف، يصل حجم هذه المصفوفة إلى عدة ميغابايت، مما يجعلها ثقيلة جداً بحيث لا يمكن إرسالها واستقبالها في كل مرة على بروتوكولات الاتصال عبر الإنترنت (مثل TLS). بالإضافة إلى ذلك، يتطلب ضرب المصفوفات والمتجهات تعقيداً حسابياً قدره $\mathcal{O}(n^2)$.&lt;/p>
&lt;p>لحل هذه المشكلة، تم تقديم &amp;ldquo;Ring-LWE (RLWE)&amp;rdquo; و &amp;ldquo;Module-LWE (MLWE)&amp;quot;، والتي تدمج بنية جبرية تسمى حلقات متعددات الحدود (Polynomial rings) في الشبكة.&lt;/p>
&lt;h2 id="71-حدس-ring-lwe">7.1 حدس Ring-LWE
&lt;/h2>&lt;p>في Ring-LWE، يتم استبدال المتجهات والمصفوفات بعناصر (متعددات حدود) في حلقة متعددة الحدود $\mathcal{R}_q = \mathbb{Z}_q[X]/(X^n + 1)$. (حيث يتم اختيار $n$ كقوة للعدد 2).&lt;/p>
&lt;p>في حين كان المفتاح العام في LWE القياسية هو المصفوفة $A$، فإن Ring-LWE يستخدم متعددة حدود واحدة $a(x)$. كما يصبح المفتاح السري $s(x)$ والخطأ $e(x)$ أيضاً متعددات حدود.
تصبح المعادلة كما يلي:
&lt;/p>
$$ b(x) = a(x) \cdot s(x) + e(x) \pmod q $$
&lt;p>نظراً لأن هذا ضرب متعددات الحدود، باستخدام &amp;ldquo;تحويل العدد النظري&amp;rdquo; (Number Theoretic Transform: NTT) المشابه لتحويل فورييه السريع (FFT)، يمكن تقليل التعقيد الحسابي بشكل كبير إلى $\mathcal{O}(n \log n)$. علاوة على ذلك، نظراً لأن حجم المفتاح العام يتضاءل من مصفوفة إلى متعددة حدود مفردة، يتم تقليل حجم البيانات إلى $\mathcal{O}(n)$. يوفر هذا ميزة ساحقة في النطاق الترددي للاتصالات.&lt;/p>
&lt;p>من الناحية الرياضية، لا تنتمي Ring-LWE إلى شبكة عامة، بل يتم إرجاعها إلى مسألة على شبكة ذات تماثل خاص تسمى &amp;ldquo;الشبكة المثالية&amp;rdquo; (Ideal Lattice).&lt;/p>
&lt;h2 id="72-module-lwe-ومعايير-nist-kyber--ml-kem">7.2 Module-LWE ومعايير NIST (Kyber / ML-KEM)
&lt;/h2>&lt;p>في حين أن Ring-LWE فعالة، كان هناك قلق بسيط من أن البنية الجبرية الخاصة للشبكة المثالية قد تصبح نقطة انطلاق لهجمات مستقبلية. لذلك، فإن &amp;ldquo;Module-LWE (MLWE)&amp;rdquo; هو الذي أخذ &amp;ldquo;أفضل ما في العالمين&amp;rdquo;: الأمان المحافظ لـ LWE القياسية وكفاءة Ring-LWE.&lt;/p>
&lt;p>في Module-LWE، نأخذ في الاعتبار مصفوفات ومتجهات صغيرة حيث تكون عناصرها متعددات حدود. بعبارة أخرى، نتعامل مع وحدات (Modules) فوق حلقات.
حالياً، تعتمد &amp;ldquo;CRYSTALS-Kyber&amp;rdquo; (الاسم الموحد: ML-KEM)، التي اختارها NIST كمعيار لخوارزمية تبادل المفاتيح (KEM) لـ PQC، بالضبط على صعوبة مسألة Module-LWE هذه.&lt;/p>
&lt;h1 id="8-لماذا-يعتبر-آمنا-ضد-أجهزة-الكمبيوتر-الكمومية">8. لماذا يعتبر آمناً ضد أجهزة الكمبيوتر الكمومية؟
&lt;/h1>&lt;p>أخيراً، سنتطرق إلى النقطة الأساسية: &amp;ldquo;لماذا يُعتقد أن التشفير القائم على الشبكة لا يمكن فك تشفيره حتى باستخدام جهاز كمبيوتر كمومي؟&amp;rdquo;.&lt;/p>
&lt;p>إن خوارزمية شور، التي يستخدمها الكمبيوتر الكمومي لكسر تشفير RSA وتشفير المنحنى الإهليلجي، هي في جوهرها خوارزمية تحل &amp;ldquo;مسألة المجموعة الفرعية المخفية&amp;rdquo; (Hidden Subgroup Problem: HSP). تتمتع البنية الرياضية (المجموعات الأبيلية المحدودة - Finite abelian groups) وراء RSA و ECC بدورية (Periodicity)، ومن خلال استخدام عملية كمومية خاصة تسمى تحويل فورييه الكمومي (QFT)، يمكن استخراج هذه الفترة (المجموعة الفرعية المخفية) دفعة واحدة.&lt;/p>
&lt;p>ومع ذلك، فإن مسائل الشبكة تختلف بشكل أساسي. في حين أن للشبكات أيضاً دورية، فإن المطلوب في SVP و CVP هو خصائص هندسية غير خطية مثل &amp;ldquo;أقصر مسافة&amp;rdquo; و &amp;ldquo;إزالة الضوضاء&amp;rdquo;. حتى لو تم تطبيق &amp;ldquo;تحويل فورييه الكمومي على مجموعة أبيلية&amp;rdquo; كما هو الحال في خوارزمية شور مباشرة، لا يمكن استخراج المعلومات المفيدة التي يمكن أن تشكل حلاً لمسألة الشبكة بكفاءة. حتى يومنا هذا، لم يتم اكتشاف أي خوارزمية كمومية يمكنها حل SVP أو LWE في وقت كثير الحدود، ويُعتقد على نطاق واسع أنه حتى مع قوة الحوسبة المتوازية لأجهزة الكمبيوتر الكمومية، فإن الاستكشاف الذي يقترب من القوة الغاشمة (فقط تحسين الجذر التربيعي بواسطة خوارزمية غروفر - Grover&amp;rsquo;s algorithm) هو الطريقة الوحيدة الفعالة.&lt;/p>
&lt;h1 id="9-الخلاصة">9. الخلاصة
&lt;/h1>&lt;p>في هذا المقال، شرحنا بالتفصيل الحدس الرياضي للتشفير القائم على الشبكة، بدءاً من التعريف الهندسي للشبكة، وصياغة مسألة LWE، ووصولاً إلى بناء تشفير المفتاح العام.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>الشبكة (Lattice)&lt;/strong> هي فضاء منفصل يتم التعبير عنه بتركيبة خطية ذات معاملات صحيحة لمتجهات الأساس، وفي الأبعاد العالية، يصبح من الصعب العثور على &amp;ldquo;أساس جيد&amp;rdquo; قريب من التعامد (SVP).&lt;/li>
&lt;li>&lt;strong>مسألة LWE (التعلم مع الأخطاء)&lt;/strong> هي مسألة حل نظام من المعادلات الخطية المتزامنة مع الضوضاء، ونظراً لأن هذه المسألة مرتبطة بصعوبة أسوأ حالة لمسائل الشبكة، فإنها توفر أساساً قوياً للأمان.&lt;/li>
&lt;li>باستخدام مسألة LWE، يتم تحقيق التشفير وفك التشفير (&lt;strong>تشفير Regev&lt;/strong>) من خلال آلية بارعة لإضافة وإزالة الضوضاء عمداً.&lt;/li>
&lt;li>في البروتوكولات الحقيقية، لزيادة كفاءة الاتصال وسرعة الحساب، يتم اعتماد &lt;strong>Ring-LWE&lt;/strong> و &lt;strong>Module-LWE&lt;/strong> باستخدام حلقات متعددة الحدود، وهي تُشكل أساس &lt;strong>ML-KEM&lt;/strong> القياسي لـ NIST.&lt;/li>
&lt;/ol>
&lt;p>في خضم اقتراب نقلة نموذجية حسابية غير مسبوقة متمثلة في أجهزة الكمبيوتر الكمومية، من الرومانسي للغاية أن نرى &amp;ldquo;التشفير القائم على الشبكة&amp;rdquo;، الذي نشأ من أعماق الجبر الخطي الكلاسيكي ونظرية الأعداد، يتولى دور الأساس لأمن الإنترنت في المستقبل. الرياضيات التي تكمن وراء التشفير القائم على الشبكة ليست غامضة للغاية بأي حال من الأحوال، ومع المعرفة الأساسية بالجبر الخطي والاحتمالات، يمكن فهم بنيتها الجميلة بالكامل. نأمل أن يكون هذا المقال قد ساعدك على فهم التشفير القائم على الشبكة، الذي يشكل نواة PQC.&lt;/p></description></item><item><title>آلية إثبات المعرفة الصفرية (ZKP) وتطبيقاتها الحديثة في Web3 والأمن</title><link>http://kenji.blog/ar/p/zero-knowledge-proofs-zkp-web3-security/</link><pubDate>Fri, 11 Sep 2026 19:00:00 +0900</pubDate><guid>http://kenji.blog/ar/p/zero-knowledge-proofs-zkp-web3-security/</guid><description>&lt;img src="http://kenji.blog/p/zero-knowledge-proofs-zkp-web3-security/img/eyecatch.jpg" alt="Featured image of post آلية إثبات المعرفة الصفرية (ZKP) وتطبيقاتها الحديثة في Web3 والأمن" />&lt;h2 id="مقدمة">مقدمة
&lt;/h2>&lt;p>في المجتمع الرقمي الحديث، تعد خصوصية البيانات وقابلية التوسع من أهم التحديات. مع تزايد مخاطر تسرب المعلومات الشخصية والاستخدام غير المصرح به، هناك حاجة ملحة لتقنية &amp;ldquo;تثبت أنك تمتلك معلومات معينة دون الكشف عنها للطرف الآخر&amp;rdquo;. ما يحقق ذلك هو &lt;strong>إثبات المعرفة الصفرية (Zero-Knowledge Proof: ZKP)&lt;/strong>.&lt;/p>
&lt;p>إثبات المعرفة الصفرية هو مفهوم في نظرية التشفير اقترحه لأول مرة شافي غولدفاسر (Shafi Goldwasser)، سيلفيو ميكالي (Silvio Micali)، وتشارلز راكوف (Charles Rackoff) في الثمانينيات، ولكنه ظل لفترة طويلة مقتصرًا على البحث النظري. ومع ذلك، مع ظهور تقنية البلوكتشين و Web3، تغير الوضع تمامًا. برز ZKP فجأة كـ &amp;ldquo;عصا سحرية&amp;rdquo; تحل في الوقت نفسه مشكلة قابلية التوسع (حدود القدرة على المعالجة) ومشكلة الخصوصية (أن جميع المعاملات عامة ومكشوفة) التي تواجهها شبكات البلوكتشين العامة مثل الإيثريوم (Ethereum).&lt;/p>
&lt;p>في هذه المقالة، سنشرح بتفصيل عميق وتقني كل شيء بدءًا من المفاهيم الأساسية لإثبات المعرفة الصفرية، مرورًا بالآليات الرياضية والتشفيرية العميقة لـ &lt;strong>zk-SNARKs&lt;/strong> و &lt;strong>zk-STARKs&lt;/strong> السائدة حاليًا، وصولاً إلى أحدث أمثلة تطبيقاتها في Web3 والأمن مثل ZK-Rollups والهويات اللامركزية (DID).&lt;/p>
&lt;hr>
&lt;h2 id="ما-هو-إثبات-المعرفة-الصفرية-zkp">ما هو إثبات المعرفة الصفرية (ZKP)؟
&lt;/h2>&lt;p>إثبات المعرفة الصفرية (ZKP) يشير إلى بروتوكول يسمح للمُثبِت (Prover) بإثبات صحة قضية معينة للمُتَحَقِّق (Verifier) &amp;ldquo;دون نقل أي معلومات أخرى سوى حقيقة أن القضية صحيحة&amp;rdquo;.&lt;/p>
&lt;h3 id="المتطلبات-الثلاثة-التي-يجب-أن-يفي-بها-zkp">المتطلبات الثلاثة التي يجب أن يفي بها ZKP
&lt;/h3>&lt;p>لكي يعتبر البروتوكول ZKP صالحًا، يجب أن يستوفي بدقة الخصائص الثلاث التالية:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>الكمال (Completeness)&lt;/strong>
إذا كانت القضية صحيحة واتبع كل من المُثبِت والمُتَحَقِّق البروتوكول بشكل صحيح، فيجب على المُتَحَقِّق قبول (Accept) الإثبات باحتمالية ساحقة.&lt;/li>
&lt;li>&lt;strong>السلامة (Soundness)&lt;/strong>
إذا كانت القضية خاطئة، فإنه من المستحيل (باستثناء احتمالية ضئيلة يمكن تجاهلها) لأي مُثبِت، مهما كانت قدرته الحسابية عالية أو نواياه سيئة، أن يخدع المُتَحَقِّق ويجعله يقبل الإثبات.&lt;/li>
&lt;li>&lt;strong>المعرفة الصفرية (Zero-Knowledge)&lt;/strong>
إذا كانت القضية صحيحة، لا يمكن للمُتَحَقِّق الحصول على أي معلومات من عملية الإثبات سوى حقيقة &amp;ldquo;أن القضية صحيحة&amp;rdquo;. يتم إثبات ذلك رياضيًا من خلال وجود &amp;ldquo;محاكي (Simulator)&amp;rdquo; يمكنه محاكاة عملية الإثبات من منظور المُتَحَقِّق.&lt;/li>
&lt;/ol>
&lt;h3 id="الإثبات-التفاعلي-والإثبات-غير-التفاعلي">الإثبات التفاعلي والإثبات غير التفاعلي
&lt;/h3>&lt;p>هناك نوعان من ZKP: &lt;strong>الإثبات التفاعلي (Interactive ZKP)&lt;/strong>، حيث يتبادل المُثبِت والمُتَحَقِّق الاتصالات عدة مرات، و&lt;strong>الإثبات غير التفاعلي (Non-Interactive ZKP)&lt;/strong>، حيث يرسل المُثبِت بيانات الإثبات مرة واحدة فقط.&lt;/p>
&lt;h4 id="الإثبات-التفاعلي-interactive-zkp">الإثبات التفاعلي (Interactive ZKP)
&lt;/h4>&lt;p>تم تصميم ZKP في البداية كبروتوكول تفاعلي. وتعتبر قصة &amp;ldquo;كهف علي بابا&amp;rdquo; الشهيرة مثالاً على ذلك. التسلسل العام للبروتوكول هو كما يلي:&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Prover as "المُثبِت (Prover)"
participant Verifier as "المُتَحَقِّق (Verifier)"
Note over Prover, Verifier: "التدفق الأساسي لبروتوكول الإثبات التفاعلي"
Prover->>Verifier: "1. إرسال الالتزام (Commitment)"
Verifier->>Prover: "2. إرسال تحدي عشوائي (Challenge)"
Prover->>Verifier: "3. حساب وإرسال الاستجابة (Response)"
Note over Verifier: "التحقق من الاستجابة (Verification)"
Verifier-->>Prover: "4. القبول أو الرفض (Accept / Reject)"
Note over Prover, Verifier: "※ لتأكيد الدقة، يتم تكرار هذا عشرات المرات"&lt;/div>
&lt;p>هذه الطريقة قوية، ولكنها تتطلب أن يكون المُتَحَقِّق متصلاً بالإنترنت (أونلاين)، مما يجعلها غير مريحة للتطبيق في أنظمة موزعة غير متزامنة مثل البلوكتشين. في البلوكتشين، يجب أن يكون أي شخص قادرًا على التحقق من الإثباتات السابقة في أي وقت.&lt;/p>
&lt;h4 id="تحويل-فيات-شامير-fiat-shamir-heuristic-وعدم-التفاعلية">تحويل فيات-شامير (Fiat-Shamir Heuristic) وعدم التفاعلية
&lt;/h4>&lt;p>الطريقة الثورية لتحويل الإثبات التفاعلي إلى إثبات غير تفاعلي (Non-Interactive Zero-Knowledge Proof: NIZK) هي &lt;strong>تحويل فيات-شامير&lt;/strong>.&lt;/p>
&lt;p>بدلاً من &amp;ldquo;التحدي العشوائي&amp;rdquo; الذي يرسله المُتَحَقِّق، يقوم المُثبِت بإنشاء &amp;ldquo;تحدي شبه عشوائي&amp;rdquo; ذاتيًا باستخدام تجزئة (Hash) لالتزامه الخاص والمعلومات العامة. بافتراض أن دالة التجزئة التشفيرية (مثل SHA-256 أو Keccak) تعمل كـ &amp;ldquo;أوراكل عشوائي (Random Oracle)&amp;quot;، لا يمكن للمُثبِت التنبؤ بالتحدي أو التلاعب به مسبقًا. وبهذا يمكنه إكمال الإثبات بإرسال رسالة واحدة مع الحفاظ على نفس مستوى أمان الإثبات التفاعلي.&lt;/p>
&lt;hr>
&lt;h2 id="التفاصيل-التقنية-لـ-zk-snarks">التفاصيل التقنية لـ zk-SNARKs
&lt;/h2>&lt;p>حاليًا، يعتبر &lt;strong>zk-SNARKs&lt;/strong> (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) هو الأكثر استخدامًا بين أنواع ZKP. كما يوحي اسمه، يمتلك خاصية المعرفة الصفرية (zk)، حجم إثباته صغير جدًا و التحقق منه سريع (Succinct)، غير تفاعلي (Non-Interactive)، وهو نقاش حول المعرفة (Argument of Knowledge).&lt;/p>
&lt;p>يعتمد zk-SNARKs على الهندسة الجبرية المتقدمة ونظرية التشفير. يقوم بتحويل تنفيذ البرامج أو الحسابات إلى التحقق من معادلات متعددات الحدود المحددة.&lt;/p>
&lt;h3 id="1-الدوائر-الحسابية-والتحويل-إلى-r1cs-rank-1-constraint-system">1. الدوائر الحسابية والتحويل إلى R1CS (Rank-1 Constraint System)
&lt;/h3>&lt;p>أولاً، يتم تحويل أي حساب مراد إثباته (خوارزمية أو منطق عقد ذكي) إلى &lt;strong>دائرة حسابية (Arithmetic Circuit)&lt;/strong> تتكون من بوابات الجمع وبوابات الضرب.&lt;/p>
&lt;p>بعد ذلك، يتم تحويل هذه الدائرة الحسابية إلى مجموعة من معادلات المصفوفات تسمى &lt;strong>R1CS (Rank-1 Constraint System)&lt;/strong>. R1CS هي مسألة إيجاد مصفوفات $A, B, C$ التي تفي بالشرط التالي بالنسبة لمتجه المتغيرات $x$:&lt;/p>
$$ (A \cdot x) \circ (B \cdot x) = C \cdot x $$
&lt;p>هنا، يمثل $\circ$ جداء هادامارد (الضرب عنصر بعنصر). يضمن هذا القيد أن جميع البوابات المنطقية (خاصة بوابات الضرب) في الدائرة قد تم حسابها بشكل صحيح.&lt;/p>
&lt;h3 id="2-التحويل-إلى-qap-quadratic-arithmetic-program">2. التحويل إلى QAP (Quadratic Arithmetic Program)
&lt;/h3>&lt;p>نظرًا لوجود عدد لا يحصى من قيود مصفوفات R1CS، فإن التحقق منها بشكل فردي غير فعال للغاية. لذلك، باستخدام استيفاء لاغرانج (Lagrange interpolation)، يتم ضغط هذه القيود إلى معادلة متعددة حدود واحدة. هذا هو &lt;strong>QAP (Quadratic Arithmetic Program)&lt;/strong>.&lt;/p>
&lt;p>من خلال التحويل إلى QAP، تتلخص المشكلة المراد إثباتها في: &amp;ldquo;هل تقبل متعددة الحدود المعينة $P(x)$ القسمة على متعددة حدود أخرى معروفة $Z(x)$؟&amp;rdquo;.&lt;/p>
$$ P(x) = L(x) \cdot R(x) - O(x) $$
&lt;p>هنا، $L(x), R(x), O(x)$ هي متعددات حدود مجتمعة تتوافق مع كل صف من المصفوفات $A, B, C$ على التوالي. إذا كان المُثبِت يعرف الحل الصحيح (Witness)، فإن القيمة عند كل جذر (نقطة تقييم) لـ $P(x)$ ستكون 0، مما يعني أن $P(x)$ تمتلك متعددة الحدود المستهدفة $Z(x)$ كعامل. أي أنه توجد متعددة حدود $H(x)$ بحيث تتحقق المعادلة التالية:&lt;/p>
$$ P(x) = H(x) \cdot Z(x) $$
&lt;p>يكفي أن يتحقق المُتَحَقِّق مما إذا كانت هذه المعادلة $P(s) = H(s) \cdot Z(s)$ صحيحة عند نقطة سرية عشوائية $s$، وبذلك يمكنه التحقق فورًا من أن الحساب بأكمله قد تم بشكل صحيح. هذا هو سر الـ &amp;ldquo;الإيجاز (Succinctness)&amp;rdquo;.&lt;/p>
&lt;h3 id="3-تشفير-المنحنى-الإهليلجي-والازدواج-bilinear-pairings">3. تشفير المنحنى الإهليلجي والازدواج (Bilinear Pairings)
&lt;/h3>&lt;p>ومع ذلك، إذا كان المُتَحَقِّق يعرف النقطة السرية $s$، فسيكون بإمكان المُثبِت تلفيق متعددة حدود مزيفة وتلبية المعادلة (انهيار السلامة). لذلك، يجب إجراء الحسابات بينما تظل $s$ مشفرة (باستخدام التشفير المتماثل) بحيث لا يعرفها أحد.&lt;/p>
&lt;p>ما يحقق ذلك هو &lt;strong>ازدواج المنحنى الإهليلجي (Bilinear Pairings)&lt;/strong>.
الازدواج $e$ هو دالة خاصة يمكنها، من قيمتين مشفرتين، حساب قيمة تعادل تشفير حاصل ضربهما.&lt;/p>
$$ e(g_1^a, g_2^b) = e(g_1, g_2)^{ab} $$
&lt;p>حتى بدون معرفة $s$ نفسها، يمكن للمُثبِت حساب القيم المشفرة لمتعددات الحدود $P(s)$ و $H(s)$ باستخدام القيم المشفرة لقوى $s$ (والتي تسمى السلسلة المرجعية المشتركة: CRS - Common Reference String). يستخدم المُتَحَقِّق دالة الازدواج للتحقق مما إذا كانت العلاقة $P(s) = H(s) \cdot Z(s)$ قائمة على القيم وهي مشفرة.&lt;/p>
&lt;h3 id="4-الإعداد-الموثوق-trusted-setup">4. الإعداد الموثوق (Trusted Setup)
&lt;/h3>&lt;p>أكبر نقطة ضعف في zk-SNARKs (وخاصة الأنظمة المبكرة مثل Groth16) هي أنها تتطلب عملية لإنشاء النقطة السرية $s$، أو ما يسمى بـ &lt;strong>الإعداد الموثوق (Trusted Setup)&lt;/strong>. إذا احتفظ منشئ النقطة $s$ بقيمتها بدلاً من تدميرها، فسيكون بإمكانه إنشاء أي إثبات مزيف (مشكلة النفايات السامة - Toxic Waste).&lt;/p>
&lt;p>لمنع ذلك، يتم تنفيذ &amp;ldquo;مراسم (Ceremony)&amp;rdquo; باستخدام الحوسبة متعددة الأطراف (MPC). حيث يتعاون العديد من المشاركين لتوفير العشوائية، وإذا قام مشارك واحد على الأقل بتدمير قيمته العشوائية بصدق، فسيتم الحفاظ على أمان النظام بأكمله. ومع ذلك، فقد استمرت الأبحاث لسنوات للتخلص من هذا الاعتماد.&lt;/p>
&lt;hr>
&lt;h2 id="التفاصيل-التقنية-لـ-zk-starks">التفاصيل التقنية لـ zk-STARKs
&lt;/h2>&lt;p>ظهر &lt;strong>zk-STARKs&lt;/strong> (Zero-Knowledge Scalable Transparent Argument of Knowledge) كاستجابة للاعتماد على الإعداد الموثوق ومخاطر فك تشفير المنحنى الإهليلجي بواسطة أجهزة الكمبيوتر الكمومية.&lt;/p>
&lt;p>تم تطوير STARKs بواسطة إيلي بن ساسون (Eli Ben-Sasson) وآخرين. وكما يدل اسم &amp;ldquo;الشفافية (Transparent)&amp;quot;، فإنه لا يتطلب إعدادًا موثوقًا على الإطلاق. وكما يدل اسم &amp;ldquo;القابلية للتوسع (Scalable)&amp;quot;، فإنه يحافظ على كفاءة حجم الإثبات ووقت التحقق حتى مع زيادة حجم الحسابات.&lt;/p>
&lt;h3 id="1-التزامات-متعددات-الحدود-وبروتوكول-fri">1. التزامات متعددات الحدود وبروتوكول FRI
&lt;/h3>&lt;p>لا يعتمد zk-STARKs على تشفير المنحنى الإهليلجي، بل يؤسس أمانه &lt;strong>فقط على دوال التجزئة&lt;/strong>. ولذلك، يمتلك خصائص مقاومة للتشفير ما بعد الكم (Post-Quantum Cryptography).&lt;/p>
&lt;p>يتم التحقق من الحسابات بعد تحويلها إلى تنسيق يسمى AIR (Algebraic Intermediate Representation)، باستخدام خصائص متعددات الحدود أحادية أو متعددة الأبعاد. يكمن جوهر STARKs في بروتوكول &lt;strong>FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity)&lt;/strong>.&lt;/p>
&lt;p>بروتوكول FRI هو تقنية للتحقق مما &amp;ldquo;إذا كانت دالة معينة قريبة بما فيه الكفاية من متعددة حدود بدرجة معينة (Proximity)&amp;rdquo;. يلتزم المُثبِت بقيم متعددة الحدود كأوراق (Leaves) في شجرة ميركل (Merkle Tree) (وهو ما يعرف بالتزام متعددة الحدود).&lt;/p>
&lt;div class="mermaid">graph TD
Root["جذر ميركل (الالتزام)"] --> Node0["العقدة 0"]
Root --> Node1["العقدة 1"]
Node0 --> Leaf0["P(x_0)"]
Node0 --> Leaf1["P(x_1)"]
Node1 --> Leaf2["P(x_2)"]
Node1 --> Leaf3["P(x_3)"]&lt;/div>
&lt;p>يطلب المُتَحَقِّق الكشف عن عدة نقاط عشوائية، ويستخدم براهين ميركل للتأكد من أنها مضمنة في الالتزام. من خلال تكرار ذلك بشكل متكرر، يُضمن باحتمالية ساحقة أن درجة متعددة الحدود الأصلية منخفضة بالفعل.&lt;/p>
&lt;h3 id="مقارنة-بين-zk-snarks-و-zk-starks">مقارنة بين zk-SNARKs و zk-STARKs
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">الميزة&lt;/th>
&lt;th style="text-align:left">zk-SNARKs&lt;/th>
&lt;th style="text-align:left">zk-STARKs&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>الافتراضات التشفيرية&lt;/strong>&lt;/td>
&lt;td style="text-align:left">المنحنيات الإهليلجية، الازدواج&lt;/td>
&lt;td style="text-align:left">دوال التجزئة المقاومة للتصادم&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>الإعداد الموثوق&lt;/strong>&lt;/td>
&lt;td style="text-align:left">مطلوب (البعض مثل Plonk يعتبر عامًا Universal)&lt;/td>
&lt;td style="text-align:left">غير مطلوب (شفاف Transparent)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>مقاومة الحوسبة الكمومية&lt;/strong>&lt;/td>
&lt;td style="text-align:left">لا يوجد&lt;/td>
&lt;td style="text-align:left">يوجد&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>حجم الإثبات&lt;/strong>&lt;/td>
&lt;td style="text-align:left">صغير جدًا (~200 بايت)&lt;/td>
&lt;td style="text-align:left">كبير نسبيًا (عشرات الكيلوبايتات)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>التكلفة الحسابية لإنشاء الإثبات&lt;/strong>&lt;/td>
&lt;td style="text-align:left">عالية&lt;/td>
&lt;td style="text-align:left">أقل نسبيًا من SNARKs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>تكلفة التحقق (رسوم الغاز)&lt;/strong>&lt;/td>
&lt;td style="text-align:left">منخفضة جدًا (ثابتة)&lt;/td>
&lt;td style="text-align:left">منخفضة (تزداد لوغاريتميًا)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>في السنوات الأخيرة، ظهرت أنواع من SNARKs &amp;ldquo;لا تتطلب إعدادًا موثوقًا، أو تتطلبه مرة واحدة فقط&amp;rdquo; مثل Plonk و Halo2، وبدأت الحدود بين SNARKs و STARKs تتلاشى تدريجيًا، لكن الاختلافات الأساسية في النهج الرياضي تظل مهمة.&lt;/p>
&lt;hr>
&lt;h2 id="أحدث-التطبيقات-لإثبات-المعرفة-الصفرية-في-web3-والأمن">أحدث التطبيقات لإثبات المعرفة الصفرية في Web3 والأمن
&lt;/h2>&lt;p>انتقل ZKP من النظرية إلى التطبيق العملي، وهو الآن يحدث ثورة في طليعة Web3 والأمن السيبراني.&lt;/p>
&lt;h3 id="1-التوسع-الجذري-للإيثريوم-باستخدام-zk-rollups">1. التوسع الجذري للإيثريوم باستخدام ZK-Rollups
&lt;/h3>&lt;p>تواجه شبكات البلوكتشين من الطبقة الأولى (L1) مثل الإيثريوم قيودًا كبيرة في قابلية التوسع (المعضلة الثلاثية) بسبب تركيزها القوي على اللامركزية والأمن. الحل النهائي للطبقة الثانية (L2) لحل هذه المشكلة هو &lt;strong>ZK-Rollups&lt;/strong>.&lt;/p>
&lt;p>في ZK-Rollups، يتم تنفيذ ومعالجة آلاف المعاملات خارج السلسلة (L2)، ويتم إنشاء &amp;ldquo;ZKP واحد (Validity Proof)&amp;rdquo; يثبت أنها قد تم تنفيذها جميعًا بشكل صحيح. يحتاج العقد الذكي على سلسلة L1 فقط للتحقق من هذا الإثبات.&lt;/p>
&lt;div class="mermaid">flowchart LR
Users["المستخدمون (إرسال المعاملات)"] --> Sequencer["المنظم (جمع وتنفيذ المعاملات)"]
Sequencer --> Prover["المُثبِت (إنشاء ZKP)"]
Sequencer --> L1Contract["عقد L1 الذكي (نشر بيانات المعاملات)"]
Prover --> L1Contract["تقديم ZKP (الإثبات)"]
L1Contract --> Verify["التحقق وتحديث الحالة"]&lt;/div>
&lt;p>الميزة الكبرى لـ ZK-Rollups، على عكس Optimistic Rollups (مثل Arbitrum و Optimism)، هي أنها لا تتطلب فترة تحدي (عادة 7 أيام) لإثبات الاحتيال (Fraud Proof). نظرًا لأن الصحة مضمونة تشفيريًا، يكتمل سحب الأموال (النهائية - Finality) إلى L1 في اللحظة التي يتم فيها التحقق من الإثبات. تتنافس حاليًا مشاريع مثل zkSync، Starknet، Scroll، و Polygon zkEVM بشراسة في التطوير، وتحقيق &lt;strong>zkEVM&lt;/strong> المتوافق مع آلة الإيثريوم الافتراضية (EVM) يؤدي إلى نمو سريع في النظام البيئي.&lt;/p>
&lt;h3 id="2-الهوية-المحافظة-على-الخصوصية-zkp-for-identity">2. الهوية المحافظة على الخصوصية (ZKP for Identity)
&lt;/h3>&lt;p>ستتغير أيضًا طريقة التحقق من الهوية الشخصية في العالم الرقمي بشكل جذري بفضل ZKP.
على سبيل المثال، عند الإجابة على سؤال &amp;ldquo;هل عمرك 18 عامًا أو أكثر؟&amp;quot;، تتطلب الأنظمة التقليدية تقديم رخصة قيادة أو جواز سفر، مما يؤدي إلى مشاركة معلومات شخصية غير ضرورية كاسمك وعنوانك مع الطرف الآخر.&lt;/p>
&lt;p>باستخدام ZKP، بناءً على شهادة رقمية (Verifiable Credential) صادرة عن جهة حكومية، يصبح من الممكن &lt;strong>إثبات الحقيقة رياضيًا&lt;/strong> وهي &amp;ldquo;استنادًا إلى تاريخ ميلادي، عمري 18 عامًا أو أكثر في تاريخ اليوم&amp;rdquo; فقط. كل ما يحتاجه المُتَحَقِّق هو التحقق من التوقيع على الشهادة و ZKP، ولا يمكنه معرفة تاريخ ميلادك الفعلي أو هويتك.&lt;/p>
&lt;p>حتى في مشاريع &amp;ldquo;إثبات الإنسانية (Proof of Personhood)&amp;rdquo; مثل Worldcoin، بدلاً من تخزين أو مشاركة بيانات قزحية العين مباشرة، يتم استخدام ZKP لإثبات &amp;ldquo;أنك إنسان فريد&amp;rdquo; فقط.&lt;/p>
&lt;h3 id="3-العقود-الذكية-السرية-والاستخدام-المؤسسي">3. العقود الذكية السرية والاستخدام المؤسسي
&lt;/h3>&lt;p>طالما شكلت خاصية &amp;ldquo;جميع البيانات علنية&amp;rdquo; في شبكات البلوكتشين العامة عائقًا كبيرًا أمام الشركات للتعامل مع المعاملات السرية ومعلومات سلسلة التوريد على البلوكتشين.&lt;/p>
&lt;p>باستخدام تقنية ZKP (مثل الشبكات المتخصصة في الخصوصية مثل Aleo و Aztec)، من الممكن نقش صحة تحديث الحالة فقط على السلسلة العامة مع الحفاظ على تشفير قيم الإدخال والإخراج للمعاملات، وحتى منطق العقد الذكي المنفذ. هذا يتيح منع الاستباق (Front-running / MEV) في التمويل اللامركزي (DeFi)، وبناء شبكات اتحاد سرية (Consortium) بين الشركات مع التمتع بالأمن العالي للسلاسل العامة.&lt;/p>
&lt;hr>
&lt;h2 id="التحديات-المستقبلية-والآفاق-لـ-zkp">التحديات المستقبلية والآفاق لـ ZKP
&lt;/h2>&lt;p>على الرغم من أن ZKP بلا شك تقنية أساسية للجيل القادم، إلا أن هناك بعض التحديات المتبقية.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>تكلفة حساب إنشاء الإثبات وتسريع الأجهزة&lt;/strong>
يتطلب إنشاء ZKP حسابات هائلة لمتعددات الحدود، وتحويل فورييه السريع (FFT)، والضرب القياسي المتعدد (MSM). في الوقت الحاضر، تتقدم الأبحاث بسرعة لتطوير أجهزة مخصصة (FPGA و ASIC) لتسريع إنشاء هذا الإثبات، وهو ما يسمى بـ &lt;strong>تعدين ZKP&lt;/strong> (Prover Network).&lt;/li>
&lt;li>&lt;strong>التقييس وتحسين تجربة المطورين (DX)&lt;/strong>
تنتشر العديد من اللغات المخصصة لكتابة دوائر ZKP مثل Circom، Cairo، Noir، و Leo. سيكون توحيد المعايير لهذه اللغات، ونضوج المترجمات (Compilers) التي تنشئ تلقائيًا دوائر ZKP من لغات موجودة مثل Rust أو C++، هو المفتاح لتبني ZKP من قبل مهندسي البرمجيات العامين.&lt;/li>
&lt;/ol>
&lt;h2 id="خاتمة">خاتمة
&lt;/h2>&lt;p>لقد تطور إثبات المعرفة الصفرية (ZKP) من مجرد &amp;ldquo;تقنية لزيادة سرية العملات المشفرة&amp;rdquo; إلى &amp;ldquo;تقنية متعددة الأغراض تعيد تعريف الثقة (Trust) على الإنترنت بأكمله&amp;rdquo;. الإثباتات الصغيرة المحسوبة في أعماق المعادلات الرياضية ونظرية التشفير، ستوسع من قابلية التوسع في البلوكتشين بشكل لا نهائي، وستكون بمثابة درع قوي لحماية خصوصيتنا.&lt;/p>
&lt;p>نحو تحقيق التبني الجماعي الحقيقي لـ Web3 وبناء جيل قادم من الإنترنت آمن وخاص، سيستمر إثبات المعرفة الصفرية في العمل كأهم قطعة. علينا أن نراقب عن كثب تطور تقنية ZKP في المستقبل.&lt;/p>
&lt;hr>
&lt;p>&lt;em>المراجع والروابط ذات الصلة&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Groth, J. (2016). &amp;ldquo;On the Size of Pairing-based Non-interactive Arguments&amp;rdquo;&lt;/li>
&lt;li>Ben-Sasson, E., et al. (2018). &amp;ldquo;Scalable, transparent, and post-quantum secure computational integrity&amp;rdquo;&lt;/li>
&lt;li>Vitalik Buterin&amp;rsquo;s blog on zk-SNARKs and zk-STARKs&lt;/li>
&lt;/ul></description></item><item><title>ما هو التشفير المتماثل بالكامل (FHE)؟ شرح لجوهر أمن الجيل القادم</title><link>http://kenji.blog/ar/p/fully-homomorphic-encryption-fhe-explained/</link><pubDate>Fri, 11 Sep 2026 11:00:00 +0900</pubDate><guid>http://kenji.blog/ar/p/fully-homomorphic-encryption-fhe-explained/</guid><description>&lt;img src="http://kenji.blog/p/fully-homomorphic-encryption-fhe-explained/img/eyecatch.jpg" alt="Featured image of post ما هو التشفير المتماثل بالكامل (FHE)؟ شرح لجوهر أمن الجيل القادم" />&lt;p>مع ترسخ الحوسبة السحابية وتقنيات الذكاء الاصطناعي كبنية تحتية للمجتمع، أصبحت المفاضلة بين &amp;ldquo;خصوصية البيانات&amp;rdquo; و &amp;ldquo;استخدام البيانات&amp;rdquo; واحدة من أهم التحديات. يتزايد الطلب على جعل الذكاء الاصطناعي يحلل البيانات شديدة السرية مثل البيانات الطبية والمعلومات المالية والمعلومات الحيوية الشخصية على السحابة، لكن العديد من الشركات تتردد في إرسال البيانات إلى الخارج بسبب مخاوف أمنية.&lt;/p>
&lt;p>تتفوق تقنيات التشفير التقليدية (مثل AES و RSA) في حماية البيانات المخزنة (Data at Rest) والبيانات المرسلة عبر الشبكة (Data in Transit). ومع ذلك، &lt;strong>عند إجراء عمليات (حسابات) مثل البحث أو التعلم الآلي على البيانات من جانب الخادم (Data in Use)، يجب فك تشفيرها وإعادتها إلى نص صريح&lt;/strong>. إذا تم اختراق الخادم في وقت فك التشفير هذا، أو إذا قام مسؤول داخلي خبيث بالاطلاع على البيانات، فسيؤدي ذلك مباشرة إلى تسريب المعلومات.&lt;/p>
&lt;p>التقنية الحلم التي تتغلب على نقطة الضعف الأساسية المتمثلة في &amp;ldquo;فك التشفير أثناء المعالجة&amp;rdquo; هي &lt;strong>التشفير المتماثل بالكامل (Fully Homomorphic Encryption: FHE)&lt;/strong>. باستخدام FHE، يصبح من الممكن إجراء عمليات المعالجة الحسابية مع إبقاء البيانات مشفرة دون فك تشفيرها على الإطلاق، وإرجاع النص المشفر الناتج فقط إلى العميل.&lt;/p>
&lt;p>في هذه المقالة، سنشرح بعمق FHE، والذي يمثل جوهر أمن الجيل القادم، بدءًا من مفاهيمه وتاريخه، والاختراق الثوري الذي حققه كريج جينتري (Craig Gentry)، والأسس الرياضية (مثل Ring-LWE)، والتحدي الأكبر &amp;ldquo;الضوضاء&amp;rdquo; وحله (Bootstrapping)، وصولاً إلى أحدث مكتبات التنفيذ.&lt;/p>
&lt;hr>
&lt;h2 id="1-ما-هو-التشفير-المتماثل-المفاهيم-الأساسية">1. ما هو التشفير المتماثل؟ المفاهيم الأساسية
&lt;/h2>&lt;p>&amp;ldquo;المتماثل&amp;rdquo; (Homomorphic) هو مصطلح في الجبر يشير إلى خاصية إمكانية التعيين بين المجموعات التي لها بنية معينة مع الحفاظ على بنية العمليات. &amp;ldquo;التماثل&amp;rdquo; في نظرية التشفير هو خاصية أن &lt;strong>العمليات في مساحة النص الصريح تتوافق مع العمليات في مساحة النص المشفر&lt;/strong>.&lt;/p>
&lt;p>بصيغة رياضية بسيطة، لتكن دالة التشفير للنصوص الصريحة $m_1$ و $m_2$ هي $E(\cdot)$ ودالة فك التشفير هي $D(\cdot)$. إذا كانت العمليات (مثل الجمع والضرب) على النص الصريح هي $\circ$، والعمليات على النص المشفر هي $\diamond$، فإن العلاقة التالية تتحقق:&lt;/p>
$$ D(E(m_1) \diamond E(m_2)) = m_1 \circ m_2 $$
&lt;p>بمعنى آخر، فك تشفير نتيجة تطبيق بعض العمليات $\diamond$ على النصوص المشفرة $E(m_1)$ و $E(m_2)$ يتطابق مع نتيجة تطبيق العملية $\circ$ على النصوص الصريحة الأصلية.&lt;/p>
&lt;h3 id="تدفق-البيانات-في-الحوسبة-السحابية">تدفق البيانات في الحوسبة السحابية
&lt;/h3>&lt;p>تختلف بنية المعالجة السحابية باستخدام FHE تمامًا عن البنية التقليدية. يوضح الشكل التالي تدفق معالجة البيانات الآمنة باستخدام FHE.&lt;/p>
&lt;div class="mermaid">graph TD
A["العميل (يحتفظ بالمفتاح الخاص)"] -->|1. تشفير النص الصريح x: E(x)| B["الخادم السحابي (بيانات مشفرة فقط)"]
B -->|2. تطبيق الدالة f على النص المشفر: E(f(x))| B
B -->|3. النص المشفر لنتيجة الحساب E(y)| A
A -->|4. فك التشفير بالمفتاح الخاص: y = f(x)| A
style A fill:#d4edda,stroke:#28a745
style B fill:#f8d7da,stroke:#dc3545&lt;/div>
&lt;p>يتلقى الخادم البيانات المشفرة $E(x)$، ولكنه لا يمتلك المفتاح الخاص، لذا لا يمكنه مطلقًا معرفة محتوى البيانات. ومع ذلك، من خلال الاستفادة من خصائص FHE، يمكنه تطبيق الدالة $f$ (على سبيل المثال، نموذج استدلال التعلم الآلي) على النص المشفر وتوليد $E(f(x))$. يتلقى العميل هذا ويفك تشفيره باستخدام مفتاحه الخاص للحصول على النتيجة المطلوبة $y = f(x)$.&lt;/p>
&lt;hr>
&lt;h2 id="2-تاريخ-تطور-التشفير-المتماثل-phe-و-she-و-fhe">2. تاريخ تطور التشفير المتماثل: PHE و SHE و FHE
&lt;/h2>&lt;p>لم يصل التشفير المتماثل إلى شكله &amp;ldquo;الكامل&amp;rdquo; الحالي دفعة واحدة. يُصنف بشكل عام إلى ثلاث مراحل بناءً على أنواع وعدد العمليات التي يمكن تنفيذها.&lt;/p>
&lt;h3 id="التشفير-المتماثل-جزئيا-phe-partially-homomorphic-encryption">التشفير المتماثل جزئيًا (PHE: Partially Homomorphic Encryption)
&lt;/h3>&lt;p>PHE هو نظام تشفير يمكنه إجراء &lt;strong>إما&lt;/strong> الجمع أو الضرب بعدد غير محدود من المرات. في الواقع، فإن أنظمة التشفير التي تتمتع بهذه الخاصية موجودة منذ فترة طويلة.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>تشفير RSA (التماثل بالنسبة للضرب)&lt;/strong>
يمتلك تشفير RSA عن غير قصد خاصية التماثل بالنسبة للضرب. بافتراض أن النصوص الصريحة هي $m_1, m_2$ والمفتاح العام هو $(e, N)$:
$$ E(m_1) = m_1^e \pmod N $$
$$ E(m_2) = m_2^e \pmod N $$
عند ضربهما معًا:
$$ E(m_1) \times E(m_2) = (m_1 \cdot m_2)^e \pmod N = E(m_1 \times m_2) $$
وهكذا، يتوافق ضرب النصوص المشفرة مع ضرب النصوص الصريحة.&lt;/li>
&lt;li>&lt;strong>تشفير Paillier (التماثل بالنسبة للجمع)&lt;/strong>
يمتلك تشفير Paillier، الذي تم ابتكاره في عام 1999، التماثل بالنسبة للجمع. وقد تم وضعه موضع التنفيذ في مجالات مثل التصويت الإلكتروني (حيث يتم فرز الأصوات المشفرة وفك تشفير النتيجة النهائية فقط).&lt;/li>
&lt;/ul>
&lt;h3 id="التشفير-المتماثل-المحدود-she-somewhat-homomorphic-encryption">التشفير المتماثل المحدود (SHE: Somewhat Homomorphic Encryption)
&lt;/h3>&lt;p>يمكنه تنفيذ &lt;strong>كلا&lt;/strong> عمليتي الجمع والضرب، ولكنه نظام يوجد فيه &lt;strong>قيود على عدد العمليات (عمق الدائرة)&lt;/strong> التي يمكن إجراؤها. بسبب تراكم &amp;ldquo;الضوضاء&amp;rdquo; الموضح أدناه، يصبح فك التشفير مستحيلاً إذا تم إجراء عدد معين من عمليات الضرب. يندرج تشفير BGN (Boneh-Goh-Nissim) لعام 2005 ضمن هذه الفئة، ولكن كانت هناك حدود لإجراء الحسابات المعقدة العملية (مثل التعلم العميق).&lt;/p>
&lt;h3 id="التشفير-المتماثل-بالكامل-fhe-fully-homomorphic-encryption">التشفير المتماثل بالكامل (FHE: Fully Homomorphic Encryption)
&lt;/h3>&lt;p>إنه نظام تشفير يمكنه إجراء عمليتي الجمع والضرب بعدد &lt;strong>غير محدود&lt;/strong> من المرات. تمامًا مثل اكتمال تورينج (Turing completeness) في نظرية المعلومات، إذا أمكن الجمع (بما يعادل XOR) والضرب (بما يعادل AND) بشكل غير محدود، فهذا يعني نظريًا أن أي دالة أو خوارزمية قابلة للحساب يمكن تنفيذها مع بقاء البيانات مشفرة.&lt;/p>
&lt;p>لفترة طويلة، أُطلق على FHE اسم &amp;ldquo;الكأس المقدسة للتشفير&amp;rdquo;، وقيل إنه قد يكون من المستحيل تحقيقه. ومع ذلك، في عام 2009، اقترح &lt;strong>كريج جينتري (Craig Gentry)&lt;/strong>، الذي كان حينها طالب دكتوراه في جامعة ستانفورد، أول نظام FHE باستخدام الشبكات المثالية (Ideal Lattices)، وصدم العالم.&lt;/p>
&lt;hr>
&lt;h2 id="3-الأساس-الرياضي-لـ-fhe-مشكلة-lwe-و-ring-lwe">3. الأساس الرياضي لـ FHE: مشكلة LWE و Ring-LWE
&lt;/h2>&lt;p>تستند العديد من أنظمة FHE السائدة حاليًا إلى &lt;strong>مشكلة التعلم مع الأخطاء (LWE: Learning With Errors)&lt;/strong>، وهي مشكلة رياضية صعبة في &amp;ldquo;التشفير القائم على الشبكات&amp;rdquo; (Lattice-based Cryptography)، والمعروفة أيضًا باسم تشفير ما بعد الكم (Post-Quantum Cryptography).&lt;/p>
&lt;h3 id="فهم-بديهي-لمشكلة-lwe">فهم بديهي لمشكلة LWE
&lt;/h3>&lt;p>من السهل حل نظام من المعادلات الخطية باستخدام طرق مثل الحذف الغاوسي (Gaussian elimination).&lt;/p>
$$ \begin{cases} 3s_1 + 4s_2 + 2s_3 \equiv 12 \pmod{17} \\ 1s_1 + 9s_2 + 5s_3 \equiv 8 \pmod{17} \\ \vdots \end{cases} $$
&lt;p>ولكن ماذا يحدث إذا أضفنا &amp;ldquo;خطأ عشوائي (ضوضاء)&amp;rdquo; $e$ صغير جدًا لنتيجة هذه المعادلات؟&lt;/p>
$$ \begin{cases} 3s_1 + 4s_2 + 2s_3 + e_1 \equiv 13 \pmod{17} \\ 1s_1 + 9s_2 + 5s_3 + e_2 \equiv 7 \pmod{17} \\ \vdots \end{cases} $$
&lt;p>بمجرد إضافة هذا الخطأ $e$، تتحول مشكلة إيجاد متجه المتغيرات السري $\vec{s}$ إلى مشكلة NP صعبة من الصعب فك تشفيرها حتى باستخدام أجهزة الكمبيوتر العملاقة الحالية أو أجهزة الكمبيوتر الكمومية. هذه هي مشكلة LWE.&lt;/p>
&lt;h3 id="مشكلة-ring-lwe-rlwe">مشكلة Ring-LWE (RLWE)
&lt;/h3>&lt;p>نظرًا لأن مشكلة LWE القياسية تتضمن عمليات على المصفوفات، فقد كانت هناك مشكلة تتمثل في أن حجم المفتاح كبير جدًا (أحيانًا يصل إلى الجيجابايت) وكفاءة الحساب ضعيفة. ولحل هذه المشكلة تم إدخال &lt;strong>مشكلة Ring-LWE (RLWE)&lt;/strong>، والتي تستخدم عمليات على حلقات متعددات الحدود.&lt;/p>
&lt;p>في RLWE، تنتمي العناصر إلى حلقة متعددات الحدود $R_q = \mathbb{Z}_q[x] / (x^N + 1)$ (حيث $N$ هي قوة للعدد 2، و $q$ عدد أولي هو المعيار (modulo)).
بافتراض أن المفتاح الخاص هو متعدد الحدود $s(x)$، ومتعدد الحدود العشوائي $a(x)$، ومتعدد حدود للضوضاء الصغيرة $e(x)$، فإن المفتاح العام يصبح الزوج التالي:&lt;/p>
$$ (a(x), b(x)) \quad \text{where} \quad b(x) = -a(x) \cdot s(x) + e(x) \pmod q $$
&lt;p>عند التشفير، تُستخدم خصائص هذه المتعددات الحدود لتشفير النص الصريح $m(x)$ وتوليد النص المشفر.&lt;/p>
&lt;hr>
&lt;h2 id="4-أكبر-عائق-الضوضاء-و-bootstrapping-الخاص-بجينتري">4. أكبر عائق &amp;ldquo;الضوضاء&amp;rdquo; و Bootstrapping الخاص بجينتري
&lt;/h2>&lt;p>يُعد مفهوم &lt;strong>&amp;ldquo;إدارة الضوضاء&amp;rdquo;&lt;/strong> هو الأهم في فهم FHE.&lt;/p>
&lt;p>في أنظمة التشفير القائمة على LWE/RLWE، يتم تضمين &amp;ldquo;ضوضاء (خطأ)&amp;rdquo; صغيرة عمدًا لضمان الأمان.
يمكن التعبير عن عملية فك تشفير النص المشفر $c$ الخاص بالنص الصريح $m$ بشكل تقريبي باستخدام المعادلة التالية.&lt;/p>
$$ D(c) = (c \cdot s) \pmod q = m + \text{noise} $$
&lt;p>عند فك التشفير، تتم إزالة هذا الـ &lt;code>noise&lt;/code> (الضوضاء) عن طريق عمليات التقريب للحصول على النص الصريح الصحيح $m$. ومع ذلك، عند إجراء عمليات متماثلة (خاصة الضرب) بين النصوص المشفرة، تتضخم هذه الضوضاء بشكل كبير.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>الجمع المتماثل&lt;/strong>: تزداد الضوضاء بشكل جمعي ($e_1 + e_2$). هذه زيادة تدريجية نسبيًا.&lt;/li>
&lt;li>&lt;strong>التعبير الرياضي للتماثل عبر الجمع المتماثل&lt;/strong>:
$$ E(m_1) \oplus E(m_2) = E(m_1 + m_2) $$&lt;/li>
&lt;li>&lt;strong>الضرب المتماثل&lt;/strong>: تنفجر الضوضاء بشكل مضاعف (لأنها تتضمن $e_1 \times e_2$ وما إلى ذلك). بعد عدة عمليات ضرب فقط، تتجاوز الضوضاء العتبة $q/2$، وتفشل عملية التقريب الصحيحة، مما يجعل فك التشفير مستحيلاً.&lt;/li>
&lt;li>&lt;strong>التعبير الرياضي للتماثل عبر الضرب المتماثل&lt;/strong>:
$$ E(m_1) \otimes E(m_2) = E(m_1 \times m_2) $$&lt;/li>
&lt;/ul>
&lt;p>هذا هو السبب وراء عدم إمكانية تحقيق FHE لفترة طويلة، وبقائه عند مستوى SHE (بعدد محدود من العمليات).&lt;/p>
&lt;h3 id="سحر-bootstrapping">سحر Bootstrapping
&lt;/h3>&lt;p>كانت مساهمة كريج جينتري العبقرية هي ابتكار طريقة لتقليل الضوضاء تُسمى &lt;strong>&amp;ldquo;Bootstrapping&amp;rdquo; (التمهيد)&lt;/strong>. كان هذا تحولاً نموذجياً في علم التشفير.&lt;/p>
&lt;p>بشكل بديهي، هذه عملية &amp;ldquo;قبل أن يُصبح النص المشفر ممتلئًا بالضوضاء ويفسد، يتم &amp;lsquo;فك تشفيره&amp;rsquo; وهو في حالة التشفير لتنظيفه، ثم إعادته إلى نص مشفر جديد&amp;rdquo;.&lt;/p>
&lt;ol>
&lt;li>افترض أن لدينا نصًا مشفرًا عالي الضوضاء $C_{noisy}$.&lt;/li>
&lt;li>يزود العميل الخادم مسبقًا بـ المفتاح الخاص $sk$ &amp;ldquo;المشفر بالمفتاح العام&amp;rdquo; $E_{pk}(sk)$ (يُطلق على هذا مفتاح Bootstrapping).&lt;/li>
&lt;li>يقوم الخادم بتنفيذ &lt;strong>دائرة فك التشفير (Decryption Circuit)&lt;/strong> بشكل متماثل على $C_{noisy}$.&lt;/li>
&lt;li>على وجه التحديد، يتم إجراء &amp;ldquo;فك التشفير داخل المساحة المشفرة&amp;rdquo; على $E_{pk}(C_{noisy})$ باستخدام $E_{pk}(sk)$.&lt;/li>
&lt;li>تُنتج دائرة فك التشفير هذه ضوضاء جديدة لأنها في حد ذاتها عملية متماثلة، ولكن ضوضاء النص المشفر الجديد الناتج $C_{fresh}$ يتم إعادة تعيينها إلى &amp;ldquo;مستوى ثابت&amp;rdquo;.&lt;/li>
&lt;/ol>
&lt;div class="mermaid">graph LR
A["نص مشفر عالي الضوضاء C_noisy"] --> B["دائرة فك تشفير متماثلة (Eval_Dec)"]
C["المفتاح الخاص المشفر E(sk)"] --> B
B --> D["نص مشفر منخفض الضوضاء C_fresh"]
style B fill:#ffeeba,stroke:#ffc107&lt;/div>
&lt;p>من خلال تنفيذ Bootstrapping هذا بانتظام أثناء الحساب، أصبح من الممكن نظريًا حساب دوائر ذات عمق لا نهائي (تحقيق FHE). ومع ذلك، كانت طريقة جينتري الأولية تتطلب تكلفة حسابية باهظة ومحبطة، حيث تستغرق عملية Bootstrapping الواحدة من عدة عشرات من الدقائق إلى عدة ساعات.&lt;/p>
&lt;hr>
&lt;h2 id="5-أجيال-fhe-وتطور-الأنظمة-الرئيسية">5. أجيال FHE وتطور الأنظمة الرئيسية
&lt;/h2>&lt;p>نحو وضع FHE موضع التنفيذ، تنافس علماء التشفير في جميع أنحاء العالم لتحسين الخوارزميات. حاليًا، يُصنف FHE بشكل رئيسي إلى أربعة أجيال / عائلات.&lt;/p>
&lt;h3 id="الجيل-الثاني-العمليات-الدقيقة-على-الأعداد-الصحيحة-bgv-bfv">الجيل الثاني: العمليات الدقيقة على الأعداد الصحيحة (BGV, BFV)
&lt;/h3>&lt;p>نظاما &lt;strong>BGV (Brakerski-Gentry-Vaikuntanathan)&lt;/strong> و &lt;strong>BFV (Brakerski/Fan-Vercauteren)&lt;/strong> اللذان ظهرا بين عامي 2011 و 2012. يعتمدان على RLWE، وهما مناسبان للعمليات المعيارية للأعداد الصحيحة (الحسابات الدقيقة).
وهي تدعم تقنيات التجميع (Batching) مثل SIMD (تعليمة واحدة، بيانات متعددة)، وتتميز بإمكانية تعبئة آلاف فتحات البيانات داخل نص مشفر لمتعدد حدود عملاق واحد وإجراء حسابات متوازية دفعة واحدة.&lt;/p>
&lt;h3 id="الجيل-الثالث-تسريع-bootstrapping-gsw-fhew-tfhe">الجيل الثالث: تسريع Bootstrapping (GSW, FHEW, TFHE)
&lt;/h3>&lt;p>جعل نظام &lt;strong>GSW (Gentry-Sahai-Waters)&lt;/strong> لعام 2013 بنية FHE أبسط. وما طور هذا النظام هو أحد الأنظمة السائدة الحالية، &lt;strong>TFHE (Fast Fully Homomorphic Encryption over the Torus)&lt;/strong>.
تتمثل ميزة TFHE في أن Bootstrapping سريع جدًا (في نطاق الملي ثانية). إنه قوي في العمليات على مستوى البوابات المنطقية (مثل دوائر AND و XOR)، وحجم النص المشفر صغير نسبيًا، مما يجعله مناسبًا للتقييم السريع لأي دوائر منطقية.&lt;/p>
&lt;h3 id="الجيل-الرابع-التخصص-في-الحساب-التقريبي-والتعلم-الآلي-ckks">الجيل الرابع: التخصص في الحساب التقريبي والتعلم الآلي (CKKS)
&lt;/h3>&lt;p>نظام &lt;strong>CKKS (Cheon-Kim-Kim-Song)&lt;/strong> الذي اقترحه تشيون (Cheon) وآخرون في عام 2017 هو التكنولوجيا التي يمكن اعتبارها الإصدار النهائي في حماية الخصوصية للذكاء الاصطناعي والتعلم الآلي الحاليين.
في حين ركزت أنظمة FHE السابقة على &amp;ldquo;الحساب الدقيق للأعداد الصحيحة&amp;rdquo;، فإن CKKS يدعم &lt;strong>&amp;ldquo;الحساب التقريبي لأرقام الفاصلة العائمة&amp;rdquo;&lt;/strong> مع الحفاظ عليها مشفرة. يُظهر أداءً ساحقًا في الحسابات على الأعداد الحقيقية حيث يُسمح بأخطاء صغيرة، مثل تدريب واستدلال الشبكات العصبية.&lt;/p>
&lt;p>يلخص الجدول التالي كيفية اختيار الأنظمة بناءً على الغرض.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">اسم النظام&lt;/th>
&lt;th style="text-align:left">نوع البيانات المفضل&lt;/th>
&lt;th style="text-align:left">حالة الاستخدام الموصى بها&lt;/th>
&lt;th style="text-align:left">الميزات&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>BFV / BGV&lt;/strong>&lt;/td>
&lt;td style="text-align:left">أعداد صحيحة (Integer)&lt;/td>
&lt;td style="text-align:left">حسابات إحصائية دقيقة، تجميع البيانات المالية، البحث في قواعد البيانات&lt;/td>
&lt;td style="text-align:left">إنتاجية عالية بفضل تجميع SIMD&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>CKKS&lt;/strong>&lt;/td>
&lt;td style="text-align:left">أعداد حقيقية/مركبة (Real/Complex)&lt;/td>
&lt;td style="text-align:left">التعلم الآلي (DNN، الانحدار اللوجستي)، معالجة الإشارات&lt;/td>
&lt;td style="text-align:left">تسريع عبر الحساب التقريبي، إعادة القياس&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>TFHE&lt;/strong>&lt;/td>
&lt;td style="text-align:left">قيم منطقية (Boolean)&lt;/td>
&lt;td style="text-align:left">أي دائرة منطقية، البحث في السلاسل النصية، تقييم الدوال غير الخطية&lt;/td>
&lt;td style="text-align:left">Bootstrapping فائق السرعة (مستوى الملي ثانية)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="6-التطبيق-العملي-مكتبات-fhe-ورمز-برمجي-مفاهيمي">6. التطبيق العملي: مكتبات FHE ورمز برمجي مفاهيمي
&lt;/h2>&lt;p>حاليًا، يتم توفير العديد من المكتبات مفتوحة المصدر التي تتيح لك استخدام FHE دون معرفة عميقة بالتشفير.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Microsoft SEAL (Simple Encrypted Arithmetic Library)&lt;/strong>: مكتبة C++ تدعم BFV و BGV و CKKS. إنها واحدة من معايير الصناعة. واجهة بايثون &lt;strong>TenSEAL&lt;/strong> تحظى بشعبية بين مهندسي الذكاء الاصطناعي.&lt;/li>
&lt;li>&lt;strong>Zama (Concrete)&lt;/strong>: إطار عمل يعتمد على TFHE. يمكن كتابته بـ Rust/Python، ويوفر القدرة على تجميع نماذج PyTorch الحالية وتشغيلها على FHE (Concrete ML).&lt;/li>
&lt;li>&lt;strong>OpenFHE&lt;/strong>: خليفة PALISADE، وهي مكتبة C++ شاملة تدعم جميع الأنظمة الرئيسية.&lt;/li>
&lt;/ul>
&lt;h3 id="مثال-على-برمجة-fhe-باستخدام-python-tenseal">مثال على برمجة FHE باستخدام Python (TenSEAL)
&lt;/h3>&lt;p>هنا، سنعرض مثالاً على كود Python مفاهيمي يستخدم نظام CKKS لإضافة وضرب متجهات الأعداد الحقيقية وهي مشفرة.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">tenseal&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">ts&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. إعداد السياق (بما في ذلك توليد المفاتيح)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># استخدام نظام CKKS وتعيين درجة المعيار لمتعددة الحدود إلى 8192&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">SCHEME_TYPE&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">CKKS&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">poly_modulus_degree&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8192&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">coeff_mod_bit_sizes&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">60&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">40&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">40&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">generate_galois_keys&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">global_scale&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="mi">40&lt;/span> &lt;span class="c1"># عامل القياس للأعداد الحقيقية&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. جانب العميل: تشفير البيانات&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">vector1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mf">1.5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">vector2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mf">2.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">4.0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># تحويل متجهات النص الصريح إلى نصوص مشفرة (عادةً يُنفذ في جانب العميل)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_v1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ckks_vector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">vector1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_v2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ckks_vector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">vector2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. جانب الخادم: العمليات أثناء التشفير (حماية Data in Use)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># الخادم لا يعرف النصوص الصريحة، لكنه يمكنه تنفيذ الجمع والضرب&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_v1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">enc_v2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_mul&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_v1&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">enc_v2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. جانب العميل: فك تشفير النتائج&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># العميل الذي يمتلك المفتاح الخاص هو الوحيد الذي يمكنه رؤية النتائج&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">res_add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_add&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decrypt&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">res_mul&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_mul&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decrypt&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;نتيجة الجمع مفكوكة التشفير: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">res_add&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># مثال المخرجات: [3.5000001, 5.5000001, 7.5000002] (تتضمن أخطاء ضئيلة بسبب الحساب التقريبي)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;نتيجة الضرب مفكوكة التشفير: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">res_mul&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># مثال المخرجات: [3.0000002, 7.5000005, 14.0000003]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>كما يتضح من الكود أعلاه، يمكنك ببساطة زيادة تحميل العوامل (operator overloading) في بايثون العادية مثل &lt;code>enc_v1 + enc_v2&lt;/code> لوصف الحسابات بين النصوص المشفرة بشكل بديهي. من جانب الخادم، يكتمل حساب المتجهات دون معرفة محتوى المتجهات.&lt;/p>
&lt;hr>
&lt;h2 id="7-تحديات-fhe-الأداء-وتسريع-الأجهزة">7. تحديات FHE: الأداء وتسريع الأجهزة
&lt;/h2>&lt;p>يوفر FHE أمانًا مثاليًا من الناحية النظرية، ولكن التحدي الأكبر في التنفيذ العملي هو &lt;strong>&amp;ldquo;عبء الأداء (Overhead)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>عبء الحساب&lt;/strong>: مقارنة بالحساب في النص الصريح، يكون الحساب في النص المشفر أبطأ بآلاف إلى عشرات الآلاف من المرات على وحدات المعالجة المركزية (CPUs). تتطلب عملية ضرب متعددات الحدود و Bootstrapping عمليات حسابية ضخمة مثل FFT (تحويل فورييه السريع) و NTT (تحويل نظرية الأعداد).&lt;/li>
&lt;li>&lt;strong>تضخم حجم البيانات (Ciphertext Expansion)&lt;/strong>: يمكن أن تتحول عدة بايتات من النص الصريح إلى عدة ميغابايتات عند التشفير. وهذا يضع ضغطًا كبيرًا على النطاق الترددي للذاكرة والشبكة.&lt;/li>
&lt;/ol>
&lt;h3 id="نهج-الحلول-عبر-الأجهزة">نُهج الحلول عبر الأجهزة
&lt;/h3>&lt;p>للتغلب على هذا العبء، يجري تطوير مسرعات أجهزة (Hardware Accelerators) مخصصة لـ FHE (متوافقة مع ASIC, FPGA, GPU) في جميع أنحاء العالم.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>تسريع وحدة معالجة الرسومات (GPU Acceleration)&lt;/strong>: تجري الجهود لتوازي عمليات NTT و Bootstrapping باستخدام وحدات معالجة رسومات قوية مثل تلك من NVIDIA، وتم الإبلاغ عن تسريع بعشرات المرات مقارنة بتنفيذ البرامج (مثال: 100x.ai، واجهة TFHE-rs CUDA من Zama).&lt;/li>
&lt;li>&lt;strong>مشروع DARPA DPRIVE&lt;/strong>: تعزز وكالة مشاريع الأبحاث المتقدمة للدفاع الأمريكية (DARPA) مشروع تطوير الأجهزة المخصصة &amp;ldquo;DPRIVE (Data Protection in Virtual Environments)&amp;rdquo; لرفع سرعة حساب FHE إلى مستوى مكافئ لسرعة تنفيذ معالجة النص الصريح (عبء أقل من 10 أضعاف)، وتشارك فيه شركات مثل Intel و Microsoft و Intellectual Ventures.&lt;/li>
&lt;li>&lt;strong>ظهور FPU (FHE Processing Unit)&lt;/strong>: بدأت شركات ناشئة مثل Cornami و Optalysys في تطوير شرائح مخصصة لـ FHE باستخدام الحوسبة الضوئية وهياكل السيليكون المتخصصة.&lt;/li>
&lt;/ul>
&lt;p>في المستقبل القريب، مثل NPU (وحدة المعالجة العصبية) في الذكاء الاصطناعي، قد يأتي عصر تصبح فيه &amp;ldquo;FPU&amp;rdquo; مجهزة بشكل قياسي في الخوادم والبنى التحتية السحابية.&lt;/p>
&lt;hr>
&lt;h2 id="8-حالات-الاستخدام-المتوقعة">8. حالات الاستخدام المتوقعة
&lt;/h2>&lt;p>الآن بعد أن وصل FHE إلى سرعة عملية، يُتوقع حدوث ابتكارات جذرية في المجالات التالية:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>حماية الخصوصية في الرعاية الصحية والتحليل الجينومي&lt;/strong>:
من خلال جعل الذكاء الاصطناعي السحابي يتدرب على بيانات سجلات المرضى أو بيانات الحمض النووي (DNA) التي تحتفظ بها مستشفيات متعددة وهي مشفرة بواسطة FHE، يمكن تطوير نماذج تشخيص السرطان عالية الدقة وأدوية جديدة دون انتهاك قوانين الخصوصية (HIPAA و GDPR).&lt;/li>
&lt;li>&lt;strong>كشف الاحتيال ومكافحة غسيل الأموال (AML) في المؤسسات المالية&lt;/strong>:
يمكن للبنوك المتنافسة إجراء تحليل عبر البنوك للكشف عن شبكات التحويلات الاحتيالية الضخمة عن طريق مطابقة بيانات بعضها البعض في حالة مشفرة، دون الكشف عن معلومات حسابات العملاء أو سجل معاملاتهم.&lt;/li>
&lt;li>&lt;strong>واجهة برمجة تطبيقات استدلال الذكاء الاصطناعي الآمنة (MaaS: Model as a Service)&lt;/strong>:
يقوم المستخدمون بتشفير أصواتهم وصور وجوههم ومطالباتهم وإرسالها إلى خدمة الذكاء الاصطناعي (مثل النماذج اللغوية الكبيرة كـ ChatGPT). يقوم مزود الذكاء الاصطناعي بإنشاء إجابة دون معرفة مدخلات المستخدم على الإطلاق وإعادتها كنص مشفر. هذا يزيل تمامًا المخاوف من &amp;ldquo;التعلم أو التلصص على المعلومات الشخصية بواسطة الذكاء الاصطناعي&amp;rdquo;.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="9-الخلاصة-مستقبل-التشفير-يتجه-نحو-الحساب-غير-المرئي">9. الخلاصة: مستقبل التشفير يتجه نحو &amp;ldquo;الحساب غير المرئي&amp;rdquo;
&lt;/h2>&lt;p>تمامًا كما تم اختراع تشفير المفتاح العام (RSA) في سبعينيات القرن العشرين ومكّن الاتصال الآمن على الإنترنت (مثل HTTPS)، فإن اختراع FHE من قبل كريج جينتري يعد واحدًا من أهم المعالم في تاريخ التشفير.&lt;/p>
&lt;p>حاليًا، خرج التشفير المتماثل بالكامل (FHE) من نظرية المختبر إلى مرحلة تتنافس فيها Microsoft و IBM و Intel و Google والعديد من الشركات الناشئة لوضعه موضع التنفيذ. على الرغم من استمرار تحديات التكلفة الحسابية وحجم البيانات، يستمر تحسين الأداء بوتيرة تتجاوز قانون مور بفضل تحسين الخوارزميات وتطور مسرعات الأجهزة.&lt;/p>
&lt;p>في غضون بضع سنوات، لن يكون &amp;ldquo;الحساب مع إبقاء البيانات مشفرة&amp;rdquo; شيئًا مميزًا، بل سيصبح ممارسة معيارية فضلى لحماية البيانات في الخدمات السحابية. يمثل FHE جوهر أمن الجيل القادم الذي يدرك &lt;strong>التعايش المثالي بين الخصوصية المطلقة واستخدام البيانات&lt;/strong> في مجتمع يعتمد على البيانات.&lt;/p></description></item></channel></rss>