<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>الرياضيات، التشفير، الكم on kenji.blog</title><link>http://kenji.blog/ar/categories/%D8%A7%D9%84%D8%B1%D9%8A%D8%A7%D8%B6%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B4%D9%81%D9%8A%D8%B1-%D8%A7%D9%84%D9%83%D9%85/</link><description>Recent content in الرياضيات، التشفير، الكم on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ar</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 05 Sep 2026 22:09:22 +0900</lastBuildDate><atom:link href="http://kenji.blog/ar/categories/%D8%A7%D9%84%D8%B1%D9%8A%D8%A7%D8%B6%D9%8A%D8%A7%D8%AA-%D8%A7%D9%84%D8%AA%D8%B4%D9%81%D9%8A%D8%B1-%D8%A7%D9%84%D9%83%D9%85/index.xml" rel="self" type="application/rss+xml"/><item><title>【PQC】الصورة الكاملة لـ "تشفير ما بعد الكم" تشفير الجيل القادم في عصر الحوسبة الكمومية</title><link>http://kenji.blog/ar/p/post-quantum-cryptography/</link><pubDate>Sat, 05 Sep 2026 22:09:22 +0900</pubDate><guid>http://kenji.blog/ar/p/post-quantum-cryptography/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-cryptography/post_quantum_cryptography_1788613735417.jpg" alt="Featured image of post 【PQC】الصورة الكاملة لـ "تشفير ما بعد الكم" تشفير الجيل القادم في عصر الحوسبة الكمومية" />&lt;h2 id="مقدمة-التهديد-الذي-تشكله-الحواسيب-الكمومية-على-تقنيات-التشفير">مقدمة: &amp;ldquo;التهديد&amp;rdquo; الذي تشكله الحواسيب الكمومية على تقنيات التشفير
&lt;/h2>&lt;p>في الوقت الحاضر، يتم حماية الغالبية العظمى من الاتصالات اليومية التي نجريها عبر الإنترنت - بدءًا من المدفوعات المصرفية عبر الإنترنت، وتصفح الويب (HTTPS)، وتبادل الرسائل في التطبيقات، وصولاً إلى معاملات البلوكشين والأصول المشفرة - بواسطة تقنية تُعرف باسم &amp;ldquo;تشفير المفتاح العام&amp;rdquo;. وعلى وجه التحديد، تشكل خوارزميات مثل تشفير RSA وتشفير المنحنى الإهليلجي (ECC) الأساس الذي تقوم عليه موثوقية المجتمع الرقمي الحديث.&lt;/p>
&lt;p>تعتمد طرق التشفير هذه في أمانها على مسائل رياضية معقدة مثل &amp;ldquo;تحليل الأعداد الأولية الكبيرة&amp;rdquo; أو &amp;ldquo;مسألة اللوغاريتم المتقطع&amp;rdquo;، والتي تستغرق وقتًا فلكيًا لحلها بواسطة الحواسيب الكلاسيكية الحالية (بما في ذلك الحواسيب الخارقة). ومع ذلك، مع التقدم السريع الذي أحرزته &lt;strong>الحواسيب الكمومية&lt;/strong> في السنوات الأخيرة، فإن هذا الأساس سينهار تمامًا بمجرد وضعها موضع التنفيذ.&lt;/p>
&lt;p>في عام 1994، نشر بيتر شور &amp;ldquo;خوارزمية شور&amp;rdquo;، والتي أثبتت رياضيًا أنه يمكن حل مسائل تحليل الأعداد الأولية واللوغاريتم المتقطع في وقت قصير جدًا باستخدام حاسوب كمومي ذي أداء كافٍ. وهذا يعني أن هناك خطرًا من أن جميع الاتصالات المشفرة التي تحمي الإنترنت اليوم سيتم فك تشفيرها في المستقبل (وهي مشكلة تعرف باسم Y2Q: سنوات حتى الكم، أو Q-Day).&lt;/p>
&lt;p>وما يزيد الأمر خطورة هو وجود أسلوب هجوم يُعرف باسم &amp;ldquo;احصد الآن، وفك التشفير لاحقًا (Harvest Now, Decrypt Later)&amp;rdquo; (أي سرقة البيانات الآن وتخزينها، وفك تشفيرها عندما يصبح التشفير قابلاً للكسر في المستقبل). فالبيانات التي يجب الحفاظ على سريتها لعقود، مثل أسرار الدولة، والملكية الفكرية للشركات، والمعلومات البيومترية للأفراد، ربما تكون بالفعل هدفًا للسرقة على افتراض أنه سيتم فك تشفيرها مستقبلاً.&lt;/p>
&lt;p>استجابة لهذه الأزمة غير المسبوقة، يعمل خبراء التشفير ومعاهد الأبحاث في جميع أنحاء العالم بكل طاقتهم لتطوير تقنية تشفير من الجيل القادم قادرة على مقاومة هجمات الحواسيب الكمومية، وهي &lt;strong>تشفير ما بعد الكم (PQC: Post-Quantum Cryptography)&lt;/strong> . في هذه المقالة، سنشرح بالتفصيل أساسيات PQC، وآليات الخوارزميات الرئيسية، وأحدث اتجاهات التوحيد القياسي العالمي التي يقودها المعهد الوطني الأمريكي للمعايير والتكنولوجيا (NIST).&lt;/p>
&lt;hr>
&lt;h2 id="ما-هو-تشفير-ما-بعد-الكم-pqc">ما هو تشفير ما بعد الكم (PQC)؟
&lt;/h2>&lt;p>يُعد تشفير ما بعد الكم (PQC) مصطلحًا شاملاً لخوارزميات التشفير المصممة للعمل على الحواسيب الكلاسيكية الحالية مع الاحتفاظ بالقدرة على مقاومة الهجمات من الحواسيب الكمومية واسعة النطاق في المستقبل (مثل خوارزمية شور).&lt;/p>
&lt;p>غالبًا ما يتم الخلط بين هذه التكنولوجيا و &amp;ldquo;التشفير الكمومي&amp;rdquo; أو &amp;ldquo;توزيع المفتاح الكمومي (QKD)&amp;quot;، إلا أنهما نهجان مختلفان تمامًا. فالتشفير الكمومي (QKD) هو تقنية تعتمد على الأجهزة تستخدم القوانين الفيزيائية لميكانيكا الكم (مثل خاصية تغير الحالة عند المراقبة) لجعل التنصت على مسار الاتصال مستحيلاً ماديًا. وهو يتطلب أليافًا بصرية خاصة أو معدات خاصة، ويواجه تحديات مثل تكلفة التنفيذ وقيود المسافة.&lt;/p>
&lt;p>من ناحية أخرى، &lt;strong>تُعد PQC تقنية تشفير تعتمد على البرامج وتستند بالكامل إلى &amp;ldquo;الرياضيات&amp;rdquo;&lt;/strong> . وبالتالي، يمكن دمجها كتحديث برمجي في البنية التحتية الحالية للإنترنت، والخوادم، والهواتف الذكية، والمتصفحات، وغيرها، مما يجعل قابليتها للتطبيق في العالم الحقيقي عالية جدًا. وتعتبر شركات تكنولوجيا المعلومات والوكالات الحكومية في جميع أنحاء العالم الآن أن استبدال (ترحيل) خوارزميات RSA و ECC المستخدمة حاليًا بتقنية PQC هذه يمثل أولوية قصوى.&lt;/p>
&lt;hr>
&lt;h2 id="المناهج-الرياضية-الرئيسية-الأربعة-التي-تدعم-pqc">المناهج الرياضية الرئيسية الأربعة التي تدعم PQC
&lt;/h2>&lt;p>تم اقتراح العديد من خوارزميات PQC بناءً على مسائل رياضية يصعب حلها بكفاءة حتى باستخدام الحواسيب الكمومية (مثل المسائل صعبة الحل NP-hard). نستعرض هنا الفئات الأربع الرئيسية السائدة حاليًا.&lt;/p>
&lt;h3 id="المناهج-الرئيسية-لتشفير-ما-بعد-الكم-pqc">المناهج الرئيسية لتشفير ما بعد الكم (PQC)
&lt;/h3>&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;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="n">graph&lt;/span> &lt;span class="n">LR&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="err">تشفير&lt;/span> &lt;span class="err">ما&lt;/span> &lt;span class="err">بعد&lt;/span> &lt;span class="err">الكم&lt;/span> &lt;span class="n">PQC&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="err">التشفير&lt;/span> &lt;span class="err">القائم&lt;/span> &lt;span class="err">على&lt;/span> &lt;span class="err">الشبكة&lt;/span> &lt;span class="n">Lattice&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="err">التشفير&lt;/span> &lt;span class="err">القائم&lt;/span> &lt;span class="err">على&lt;/span> &lt;span class="err">التجزئة&lt;/span> &lt;span class="n">Hash&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">M&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="err">تشفير&lt;/span> &lt;span class="err">متعدد&lt;/span> &lt;span class="err">المتغيرات&lt;/span> &lt;span class="n">Multivariate&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">PQC&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="err">التشفير&lt;/span> &lt;span class="err">القائم&lt;/span> &lt;span class="err">على&lt;/span> &lt;span class="err">الكود&lt;/span> &lt;span class="n">Code&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">based&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="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">203&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">KEM&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">L&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">L2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">204&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">ML&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&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="n">H&lt;/span> &lt;span class="o">--&amp;gt;&lt;/span> &lt;span class="n">H1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">FIPS&lt;/span> &lt;span class="mi">205&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">SLH&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">DSA&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="n">style&lt;/span> &lt;span class="n">PQC&lt;/span> &lt;span class="n">fill&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="c1">#f9f,stroke:#333,stroke-width:2px&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="1-التشفير-القائم-على-الشبكة-lattice-based-cryptography">1. التشفير القائم على الشبكة (Lattice-based Cryptography)
&lt;/h3>&lt;p>يُعد التشفير القائم على الشبكة حاليًا التوجه الأبرز والأكثر الواعدة في مجال PQC. يعتمد هذا التشفير في أمانه على المسائل المتعلقة بالنقاط المرتبة بانتظام (نقاط الشبكة) في المساحات متعددة الأبعاد. تشمل المسائل الشهيرة &amp;ldquo;مسألة أقصر متجه (SVP)&amp;rdquo; و &amp;ldquo;مسألة التعلم مع الأخطاء (LWE)&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>نظرة عامة على الآلية:&lt;/strong>
تخيل عددًا لا يحصى من النقاط المرتبة في نمط شبكي في مساحة عالية الأبعاد (مئات إلى آلاف الأبعاد). من السهل العثور على نقطة شبكة معينة في بعدين أو ثلاثة أبعاد، ولكن في مئات الأبعاد، لم يتم العثور على خوارزمية فعالة للعثور عليها سواء للحواسيب الكلاسيكية أو الكمومية. وتستفيد مسألة LWE تحديدًا من الخاصية التي تنص على أن &amp;ldquo;إضافة &amp;lsquo;ضوضاء (خطأ)&amp;rsquo; صغيرة عمدًا إلى نظام من المعادلات الخطية يجعل تخمين المتغيرات الأصلية أمرًا بالغ الصعوبة&amp;rdquo;.&lt;/p>
&lt;p>&lt;strong>المزايا:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>قابل للتطبيق لكل من تبادل المفاتيح (KEM) والتوقيعات الرقمية.&lt;/li>
&lt;li>سرعة المعالجة عالية جدًا (تكون أحيانًا أسرع من RSA أو ECC).&lt;/li>
&lt;li>حجم المفتاح والنص المشفر صغير نسبيًا، مما يجعله متوازنًا.&lt;/li>
&lt;/ul>
&lt;p>تعتمد معظم الخوارزميات التي تقوم NIST بتوحيدها حاليًا (مثل ML-KEM و ML-DSA) على هذا التشفير القائم على الشبكة.&lt;/p>
&lt;h3 id="2-التشفير-القائم-على-التجزئة-hash-based-cryptography">2. التشفير القائم على التجزئة (Hash-based Cryptography)
&lt;/h3>&lt;p>التشفير القائم على التجزئة هو خوارزمية PQC مخصصة للتوقيعات الرقمية. يعتمد أمانها حصريًا على مقاومة الاصطدام والاتجاه الواحد لـ &amp;ldquo;وظائف التجزئة التشفيرية&amp;rdquo; الآمنة، مثل SHA-2 أو SHA-3.&lt;/p>
&lt;p>&lt;strong>نظرة عامة على الآلية:&lt;/strong>
يبدأ الأمر بمخطط توقيع يُستخدم لمرة واحدة يُسمى &amp;ldquo;توقيع لامبورت (Lamport Signature)&amp;quot;، والذي لا يمكن استخدامه إلا مرة واحدة. من خلال تجميع هذه التوقيعات في بنية بيانات شجرية تسمى &amp;ldquo;شجرة ميركل (Merkle Tree)&amp;quot;، فإنها تتيح توقيعات متعددة باستخدام زوج مفاتيح واحد.&lt;/p>
&lt;p>&lt;strong>المزايا:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>أساس الأمان قوي للغاية، مع إثبات قوي على أنه &amp;ldquo;طالما كانت وظيفة التجزئة آمنة، فهو آمن&amp;rdquo;.&lt;/li>
&lt;li>نظرًا لقلة الاعتماد على الهياكل الرياضية، فإن خطر العثور على طرق غير متوقعة لكسر التشفير منخفض جدًا.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>العيوب:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>لا يمكن استخدامه لتبادل المفاتيح (KEM)، فقط للتوقيعات الرقمية.&lt;/li>
&lt;li>يميل حجم التوقيع إلى أن يكون كبيرًا.&lt;/li>
&lt;li>توجد إصدارات &amp;ldquo;تحتفظ بالحالة (stateful)&amp;rdquo; و &amp;ldquo;بدون حالة (stateless)&amp;rdquo;. تمثل الإصدارات التي تحتفظ بالحالة (مثل XMSS) تحديًا كبيرًا في التنفيذ نظرًا للحاجة إلى إدارة عدد مرات استخدام المفاتيح بدقة.&lt;/li>
&lt;/ul>
&lt;p>قامت NIST بتوحيد &amp;ldquo;SLH-DSA (سابقًا SPHINCS+)&amp;rdquo; كمعيار لتوقيعات التجزئة بدون حالة.&lt;/p>
&lt;h3 id="3-التشفير-متعدد-المتغيرات-multivariate-cryptography">3. التشفير متعدد المتغيرات (Multivariate Cryptography)
&lt;/h3>&lt;p>يعتمد التشفير متعدد المتغيرات في أمانه على صعوبة حل أنظمة المعادلات التربيعية المتعددة التي تحتوي على العديد من المتغيرات (مسألة MQ: Multivariate Quadratic problem). من المعروف أن هذه المسألة صعبة الحل (NP-hard).&lt;/p>
&lt;p>&lt;strong>نظرة عامة على الآلية:&lt;/strong>
يقوم المرسل بإنشاء نص مشفر (توقيع) عن طريق تعويض النص العادي (أو قيمة التجزئة) في معادلة معقدة ذات متغيرات متعددة يتم توفيرها كمفتاح عام. يمتلك المتلقي الشرعي &amp;ldquo;معلومات مخفية (باب خلفي) تحول بنية المعادلة إلى شكل يسهل حله&amp;rdquo; كمفتاح سري، ويستخدمه لفك التشفير (أو التحقق من التوقيع).&lt;/p>
&lt;p>&lt;strong>المزايا:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>حجم التوقيع صغير جدًا.&lt;/li>
&lt;li>سرعة التحقق من التوقيع سريعة للغاية. مناسب لأجهزة إنترنت الأشياء (IoT) ذات الموارد المحدودة.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>العيوب:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>حجم المفتاح العام كبير جدًا (قد يصل إلى عشرات أو مئات الكيلوبايت).&lt;/li>
&lt;li>في الماضي، تم اختراق بعض الخوارزميات البارزة (مثل Rainbow) بواسطة هجمات كلاسيكية، مما يجعل بناء الثقة في أمانها أصعب قليلاً مقارنة بالطرق الأخرى.&lt;/li>
&lt;/ul>
&lt;h3 id="4-التشفير-القائم-على-الكود-code-based-cryptography">4. التشفير القائم على الكود (Code-based Cryptography)
&lt;/h3>&lt;p>التشفير القائم على الكود هو تطبيق لنظرية &amp;ldquo;أكواد تصحيح الأخطاء&amp;rdquo; المستخدمة لتصحيح الأخطاء في قنوات الاتصال في مجال التشفير. يعتبر &amp;ldquo;تشفير ماك إيليس (McEliece Cryptography)&amp;rdquo; المقترح في عام 1978 هو الأكثر شهرة، وهو أحد أقدم التقنيات في مجال PQC.&lt;/p>
&lt;p>&lt;strong>نظرة عامة على الآلية:&lt;/strong>
يقوم المرسل بتشفير النص العادي باستخدام المفتاح العام للمتلقي (مصفوفة التوليد لكود تصحيح الأخطاء التي تخفي بنية معينة)، ويضيف أخطاءً متعمدة (ضوضاء) قبل الإرسال. يستخدم المتلقي المفتاح السري لإزالة الأخطاء واستخراج النص العادي. ويجب على المهاجم تصحيح الأخطاء من كود عشوائي دون معرفة بنيته، وهو ما يسمى &amp;ldquo;مسألة فك تشفير المتلازمة العامة&amp;rdquo; وهي مثبتة كمسألة صعبة الحل (NP-hard).&lt;/p>
&lt;p>&lt;strong>المزايا:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>تمت دراسته بدقة لأكثر من 40 عامًا دون العثور على هجمات فعالة، مما يضمن موثوقية عالية للأمان.&lt;/li>
&lt;li>سرعة عالية في عمليات التشفير وفك التشفير.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>العيوب:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>حجم المفتاح العام كبير جدًا (قد يصل إلى عدة ميغابايت). وبالتالي، يصعب استخدامه في البيئات ذات النطاق الترددي أو الذاكرة المحدودة (مثل مصافحة بروتوكول TLS).&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="أحدث-اتجاهات-التوحيد-القياسي-لـ-pqc-من-قبل-nist">أحدث اتجاهات التوحيد القياسي لـ PQC من قبل NIST
&lt;/h2>&lt;p>أطلق المعهد الوطني الأمريكي للمعايير والتكنولوجيا (NIST) دعوة عالمية لتقديم خوارزميات تشفير ما بعد الكم من الجيل القادم في عام 2016، وأجرى جولات متعددة من التقييم الصارم على مدى سنوات عديدة.&lt;/p>
&lt;p>في عام 2024، أعلنت NIST أخيرًا عن الخوارزميات الثلاث التالية كمعايير لمعالجة المعلومات الفيدرالية (FIPS) الرسمية. وهذا يضع أساسًا قويًا للمؤسسات في جميع أنحاء العالم للبدء في تنفيذها في بيئات الإنتاج.&lt;/p>
&lt;h3 id="معايير-fips-المعتمدة-2024">معايير FIPS المعتمدة (2024)
&lt;/h3>&lt;ol>
&lt;li>
&lt;p>&lt;strong>FIPS 203: ML-KEM (سابقًا CRYSTALS-Kyber)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>الغرض:&lt;/strong> آلية تغليف المفتاح (KEM) / التشفير وتبادل المفاتيح&lt;/li>
&lt;li>&lt;strong>التقنية الأساسية:&lt;/strong> التشفير القائم على الشبكة (Module-LWE)&lt;/li>
&lt;li>&lt;strong>الميزات:&lt;/strong> يوفر توازنًا ممتازًا بين حجم المفتاح والسرعة، وسيعمل كمعيار افتراضي لتبادل مفاتيح PQC في تطبيقات الإنترنت العامة مثل اتصالات الويب (TLS) وتطبيقات المراسلة الآمنة.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 204: ML-DSA (سابقًا CRYSTALS-Dilithium)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>الغرض:&lt;/strong> التوقيع الرقمي&lt;/li>
&lt;li>&lt;strong>التقنية الأساسية:&lt;/strong> التشفير القائم على الشبكة (Module-LWE)&lt;/li>
&lt;li>&lt;strong>الميزات:&lt;/strong> المعيار الرئيسي للتوقيعات الرقمية. يوفر معالجة فعالة، وسيصبح المعيار الجديد لجميع حالات استخدام التوقيع الإلكتروني، مثل توقيع البرامج والمصادقة على المستندات.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>FIPS 205: SLH-DSA (سابقًا SPHINCS+)&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>الغرض:&lt;/strong> التوقيع الرقمي&lt;/li>
&lt;li>&lt;strong>التقنية الأساسية:&lt;/strong> التشفير القائم على التجزئة (بدون حالة)&lt;/li>
&lt;li>&lt;strong>الميزات:&lt;/strong> يلعب دورًا مهمًا كخيار احتياطي في حالة اكتشاف ثغرات أمنية في التشفير القائم على الشبكة في المستقبل. ورغم أن حجم التوقيع أكبر، إلا أنه مناسب للاستخدامات التي تتطلب موثوقية طويلة المدى.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h3 id="السعي-نحو-مزيد-من-التنوع">السعي نحو مزيد من التنوع
&lt;/h3>&lt;p>بينما أنهت NIST عملية التوحيد القياسي الأولية، فإنها تواصل البحث عن خوارزميات إضافية. ونظرًا لأن المعايير تميل بشكل كبير نحو &amp;ldquo;التشفير القائم على الشبكة&amp;rdquo;، يعتبر ضمان &lt;strong>&amp;ldquo;تنوع التشفير (Crypto Diversity)&amp;rdquo;&lt;/strong> أمرًا بالغ الأهمية. ويجري تقييم التشفير القائم على الكود وغيرها كمعايير احتياطية لتبادل المفاتيح، مما سيعزز من قوة أساس PQC في المستقبل.&lt;/p>
&lt;hr>
&lt;h2 id="سيناريوهات-وتحديات-الانتقال-إلى-pqc-أهمية-رشاقة-التشفير">سيناريوهات وتحديات الانتقال إلى PQC: أهمية &amp;ldquo;رشاقة التشفير&amp;rdquo;
&lt;/h2>&lt;p>مع إصدار المعايير الرسمية من قبل NIST، ستعمل الوكالات الحكومية والمؤسسات المالية وشركات التكنولوجيا في جميع أنحاء العالم على تسريع انتقالها (الهجرة) من RSA/ECC الحالي إلى PQC. كما توصي المبادئ التوجيهية الصادرة عن وكالة الأمن القومي الأمريكية (NSA) وغيرها بالانتهاء من الانتقال في وقت مبكر.&lt;/p>
&lt;h3 id="اعتماد-النهج-الهجين">اعتماد النهج الهجين
&lt;/h3>&lt;p>نظرًا لأن خوارزميات PQC جديدة، فإنها لم تخضع لـ &amp;ldquo;اختبار الزمن&amp;rdquo; مثل التشفير الكلاسيكي. وبالنظر إلى مخاطر الأخطاء الخفية في التنفيذ أو اكتشاف أساليب هجوم جديدة، يوصى باتباع &lt;strong>&amp;ldquo;النهج الهجين&amp;rdquo;&lt;/strong> خلال الفترة الانتقالية. يجمع هذا الأسلوب بين تقنيات التشفير الحالية والمثبتة (مثل ECDHE) مع خوارزميات PQC الجديدة (مثل ML-KEM) لتبادل المفاتيح. في الوقت الحالي، يتم اختبار هذا النهج بشكل متسارع في المتصفحات والخدمات السحابية الرئيسية.&lt;/p>
&lt;h3 id="تحقيق-رشاقة-التشفير-crypto-agility">تحقيق رشاقة التشفير (Crypto-Agility)
&lt;/h3>&lt;p>إن أهم شيء يجب على الشركات ومطوري الأنظمة إدراكه للمضي قدمًا هو ضمان &lt;strong>&amp;ldquo;رشاقة التشفير (Crypto-Agility)&amp;rdquo;&lt;/strong> . من الضروري تصميم بنية مرنة تسمح بتبديل خوارزميات التشفير أو تحديثها بسرعة دون إيقاف النظام في حالة اكتشاف عيوب في الخوارزمية أو ظهور معايير جديدة.&lt;/p>
&lt;p>يعد إنشاء قائمة مواد التشفير (CBOM: Cryptography Bill of Materials) لفهم &amp;ldquo;أين&amp;rdquo; و &amp;ldquo;أي تشفير&amp;rdquo; و &amp;ldquo;لأي غرض&amp;rdquo; يتم استخدامه داخل الأنظمة الداخلية بدقة، بمثابة خطوة أولى مهمة نحو الانتقال إلى PQC.&lt;/p>
&lt;hr>
&lt;h2 id="الخاتمة-الاستعداد-لـ-q-day-القادم">الخاتمة: الاستعداد لـ &amp;ldquo;Q-Day&amp;rdquo; القادم
&lt;/h2>&lt;p>في حين أن تطور الحواسيب الكمومية سيجلب فوائد هائلة للبشرية، فإنه يشكل أيضًا التهديد الأكبر لأمن التشفير الذي يمثل أساس مجتمعنا الرقمي الحالي. لم يعد تشفير ما بعد الكم (PQC) مجرد &amp;ldquo;موضوع بحثي للمستقبل البعيد&amp;rdquo;. فبعد الإنجاز المتمثل في إصدار معايير FIPS من قبل NIST، دخلت PQC الآن مرحلة التوسع في &amp;ldquo;التنفيذ والانتقال&amp;rdquo;.&lt;/p>
&lt;p>بالنظر إلى تهديد &amp;ldquo;احصد الآن، وفك التشفير لاحقًا&amp;rdquo;، فإن الانتقال إلى PQC هو أولوية قصوى يجب أن تبدأ &amp;ldquo;الآن&amp;rdquo; لأي مؤسسة تتعامل مع بيانات حساسة. دعونا نتجاوز عصر الحواسيب الكمومية القادم بأمان من خلال الفهم العميق لتقنيات تشفير الجيل القادم وتعزيز رشاقة التشفير في أنظمتنا.&lt;/p></description></item><item><title>الهيكل الرياضي الحقيقي لغربال حقل الأعداد العام (GNFS)</title><link>http://kenji.blog/ar/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</link><pubDate>Sat, 05 Sep 2026 02:26:13 +0900</pubDate><guid>http://kenji.blog/ar/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/</guid><description>&lt;img src="http://kenji.blog/p/%E4%B8%80%E8%88%AC%E6%95%B0%E4%BD%93%E7%AF%A9%E6%B3%95gnfs%E3%81%AE%E7%9C%9F%E3%81%AE%E6%95%B0%E5%AD%A6%E7%9A%84%E6%A7%8B%E9%80%A0/rsa_encryption_break_1788542156523.jpg" alt="Featured image of post الهيكل الرياضي الحقيقي لغربال حقل الأعداد العام (GNFS)" />&lt;h1 id="الهيكل-الرياضي-الحقيقي-لغربال-حقل-الأعداد-العام-gnfs">الهيكل الرياضي الحقيقي لغربال حقل الأعداد العام (GNFS)
&lt;/h1>&lt;p>الهدف النهائي لـ GNFS هو العثور على $X, Y$ بحيث يكون $X^2 \equiv Y^2 \pmod N$.
لتحقيق ذلك، بنى علماء الرياضيات جسرًا بين &lt;strong>&amp;ldquo;عالم الأعداد الصحيحة الحقيقي&amp;rdquo;&lt;/strong> و &lt;strong>&amp;ldquo;عالم الحقول الجبرية&amp;rdquo;&lt;/strong>. هذا الجسر هو ما يُعرف بـ &amp;ldquo;التشاكل&amp;rdquo; (Homomorphism).&lt;/p>
&lt;h2 id="المرحلة-الأولى-التشاكل-الذي-يربط-العالمين">المرحلة الأولى: &amp;ldquo;التشاكل&amp;rdquo; الذي يربط العالمين
&lt;/h2>&lt;h3 id="1-اختيار-المتعددة-الحدود-وتعريف-الجذور">1. اختيار المتعددة الحدود وتعريف الجذور
&lt;/h3>&lt;p>لعدد مركب ضخم $N$، نختار عددًا صحيحًا $m$ ومتعددة حدود $f(x)$ بحيث $f(m) \equiv 0 \pmod N$.
(مثال: توسيع $N$ في الأساس $m$، وبناء $f(x)$ من معاملاته. في هذه الحالة، يُفترض أن $f(x)$ غير قابل للاختزال على حقل الأعداد الكسرية $\mathbb{Q}$).&lt;/p>
&lt;p>بعد ذلك، لنفترض أن $\alpha$ هو أحد &amp;ldquo;الجذور المركبة&amp;rdquo; للمعادلة $f(x) = 0$.
بالطبع، $f(\alpha) = 0$. لاحظ أن $\alpha$ ليس عددًا صحيحًا، بل عددًا مركبًا (عددًا جبريًا) قد يحتوي على جذور أو أعداد تخيلية.&lt;/p>
&lt;h3 id="2-بناء-الحلقة-ring-والتشاكل">2. بناء الحلقة (Ring) والتشاكل
&lt;/h3>&lt;p>هنا، نقوم بإعداد &amp;ldquo;حلقتين&amp;rdquo; رياضيتين (عالمان حيث يُعرّف الجمع والضرب):&lt;/p>
&lt;ul>
&lt;li>&lt;strong>العالم A: $\mathbb{Z}[\alpha]$&lt;/strong> (حلقة الأعداد الصحيحة الجبرية التي تحتوي على $\alpha$)
هذا هو عالم الأعداد التي تُعبّر عن شكل $a + b\alpha + c\alpha^2 + \dots$.&lt;/li>
&lt;li>&lt;strong>العالم B: $\mathbb{Z}/N\mathbb{Z}$&lt;/strong> (حلقة البواقي بعد القسمة على $N$)
عالم التطابق (modulo) الذي يتكون فقط من الأعداد الصحيحة من $0$ إلى $N-1$.&lt;/li>
&lt;/ul>
&lt;p>هنا، نُعرّف تعيينًا (Mapping) يُسمى $\phi$ من العالم A إلى العالم B على النحو التالي:
&lt;strong>$$\phi : \mathbb{Z}[\alpha] \to \mathbb{Z}/N\mathbb{Z}$$&lt;/strong>
&lt;strong>$$\phi(\alpha) = m \pmod N$$&lt;/strong>&lt;/p>
&lt;p>هذا التعيين $\phi$ هو عملية سحرية تستبدل المتغير $\alpha$ في العالم A بالعدد الصحيح $m$ في العالم B بشكل كامل.
هذا الـ $\phi$ يمتلك خاصية قوية جدًا تُسمى &lt;strong>&amp;ldquo;تشاكل الحلقة&amp;rdquo; (Ring Homomorphism)&lt;/strong>.
التشاكل هو خاصية &lt;strong>&amp;ldquo;الانتقال إلى عالم آخر دون تدمير هيكل الجمع والضرب&amp;rdquo;&lt;/strong>. وهذا يعني أن المعادلات التالية صحيحة:&lt;/p>
&lt;ul>
&lt;li>$\phi(X \times Y) = \phi(X) \times \phi(Y)$&lt;/li>
&lt;li>$\phi(X^2) = \phi(X)^2$&lt;/li>
&lt;/ul>
&lt;p>ماذا يعني كل هذا؟ إذا تمكنا من صنع &lt;strong>&amp;ldquo;مربع كامل&amp;rdquo; ($\gamma^2$)&lt;/strong> من عنصر معقد $\gamma$ في &amp;ldquo;العالم A&amp;rdquo; (عالم $\alpha$)، فيمكننا القفز إلى &amp;ldquo;العالم B&amp;rdquo; (عالم البواقي) باستخدام $\phi$، و &lt;strong>سيتم الحفاظ على شكل المربع $\phi(\gamma)^2$ تمامًا&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="المرحلة-الثانية-انهيار-التحليل-إلى-العوامل-الأولية-وولادة-المثالي-ideal">المرحلة الثانية: انهيار التحليل إلى العوامل الأولية وولادة &amp;ldquo;المثالي&amp;rdquo; (Ideal)
&lt;/h2>&lt;p>نريد جمع الكثير من العناصر المناسبة $(a - b\alpha)$ في العالم A ($\mathbb{Z}[\alpha]$) وضربها معًا لتكوين &amp;ldquo;مربع كامل&amp;rdquo;.
عادةً، يمكننا &amp;ldquo;التحليل إلى العوامل الأولية&amp;rdquo; للعناصر $(a - b\alpha)$ المجمعة، ودمجها بحيث تصبح كل أسس الأعداد الأولية زوجية (محلولة باستخدام المصفوفات) لإنشاء مربع.&lt;/p>
&lt;p>&lt;strong>ولكن، هنا يقف جدار اليأس الجبري في طريقنا.&lt;/strong>
في عالم الحقول الجبرية مثل $\mathbb{Z}[\alpha]$، فإن &lt;strong>&amp;ldquo;وحدانية التحليل إلى العوامل الأولية (يمكن التعبير عن كل عدد بطريقة واحدة فقط كحاصل ضرب أعداد أولية)&amp;rdquo;&lt;/strong> التي تعلمناها في المدرسة الإعدادية &lt;strong>تنهار تمامًا&lt;/strong>.&lt;/p>
&lt;p>(مثال: في بعض عوالم الحقول الجبرية، $6 = 2 \times 3$، وفي نفس الوقت $6 = (1+\sqrt{-5}) \times (1-\sqrt{-5})$، مما يجعل من المستحيل معرفة أي منها هي الأعداد الأولية الحقيقية).&lt;/p>
&lt;p>إذا لم يكن التحليل إلى العوامل الأولية فريدًا، فإن لغز &amp;ldquo;حساب الأعداد الأولية لجعلها زوجية&amp;rdquo; (طريقة الغربال) مستحيل من حيث المبدأ.&lt;/p>
&lt;h3 id="إنقاذ-كومر-وديديكيند-المثالي-ideal">إنقاذ كومر وديديكيند: &amp;ldquo;المثالي&amp;rdquo; (Ideal)
&lt;/h3>&lt;p>تم إنقاذ هذا الانهيار من خلال مفهوم &lt;strong>&amp;ldquo;المثالي&amp;rdquo; (Ideal)&lt;/strong> الذي ابتكره علماء الرياضيات في القرن التاسع عشر.
بدلًا من النظر إلى العنصر نفسه، من خلال النظر في &amp;ldquo;مجموعة المضاعفات (المثالي)&amp;rdquo; التي يولدها هذا العنصر، أصبح التحليل إلى العوامل الأولية ممكنًا مرة أخرى.&lt;/p>
&lt;p>في حلقة الأعداد الصحيحة للحقل الجبري $\mathcal{O}_K$ (الحلقة الأكثر كمالًا التي تحتوي على $\mathbb{Z}[\alpha]$)، حتى لو لم يكن بالإمكان تحليل العناصر بشكل فريد، فقد تم إثبات أن &lt;strong>&amp;ldquo;المثالي يمكن دائمًا تحليله بشكل فريد كحاصل ضرب &amp;lsquo;مثاليات أولية&amp;rsquo; ($\mathfrak{p}$)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>لذلك، في GNFS، بدلًا من تحليل العنصر $(a - b\alpha)$ نفسه، نقوم بـ &lt;strong>التحليل إلى المثاليات الأولية للمثالي الرئيسي $\langle a - b\alpha \rangle$&lt;/strong> الذي يولده.&lt;/p>
&lt;hr>
&lt;h2 id="المرحلة-الثالثة-المعيار-norm-والغربالان-sieve">المرحلة الثالثة: المعيار (Norm) والغربالان (Sieve)
&lt;/h2>&lt;p>إذن، كيف نعرف ما هي المثاليات الأولية التي يتحلل إليها المثالي $\langle a - b\alpha \rangle$؟
هنا نستخدم دالة تسمى &lt;strong>&amp;ldquo;المعيار&amp;rdquo; (Norm)&lt;/strong>. المعيار هو دالة تحول العناصر المعقدة في الحقل الجبري إلى &amp;ldquo;أعداد صحيحة عادية $\mathbb{Z}$&amp;rdquo; في العالم الحقيقي.&lt;/p>
&lt;p>يُحسب معيار العنصر $(a - b\alpha)$ بواسطة متعددة الحدود البسيطة $b^d f(a/b)$ (حيث $d$ هي درجة $f(x)$).&lt;/p>
&lt;p>بفضل مبرهنة جبرية، من المعروف أنه &lt;strong>&amp;ldquo;إذا كان معيار مثالي ما قابلاً للتحليل بالكامل بواسطة أعداد أولية صغيرة (أملس)، فإن المثالي الأصلي يمكن أيضًا تحليله بالكامل بواسطة مثاليات أولية صغيرة&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>لذلك، يحسب GNFS الأمرين التاليين في وقت واحد لعدد كبير من أزواج الأعداد الصحيحة $(a, b)$، ويجمع فقط الأزواج التي يكون كلاهما &amp;ldquo;أعدادًا ملساء&amp;rdquo;:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>الغربال النسبي (Rational Sieve)&lt;/strong>: $a - bm$ (القيمة في العالم الحقيقي)&lt;/li>
&lt;li>&lt;strong>الغربال الجبري (Algebraic Sieve)&lt;/strong>: $b^d f(a/b)$ (المعيار في عالم الحقل الجبري)&lt;/li>
&lt;/ol>
&lt;p>نجمع عشرات الملايين من الأزواج $(a, b)$ الملساء معًا، ونحل بيانات التحليل إلى المثاليات الأولية (كم عدد المثاليات الأولية الموجودة) كمصفوفة عملاقة (الجبر الخطي على GF(2))، ونجد مجموعة $S$ من الأزواج بحيث &amp;ldquo;عند ضربها، تصبح أسس جميع المثاليات الأولية زوجية&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="المرحلة-الرابعة-العقبتان-وزمرة-أصناف-المثاليات">المرحلة الرابعة: &amp;ldquo;العقبتان&amp;rdquo; وزمرة أصناف المثاليات
&lt;/h2>&lt;p>من خلال حساب المصفوفة، وجدنا أن ضرب جميع المثاليات $(a - b\alpha)$ في المجموعة $S$ ينتج مربعًا لمثالي ما $I$.
&lt;/p>
$$\prod_{S} \langle a - b\alpha \rangle = I^2$$
&lt;p>&lt;strong>لكن الأمر لم ينتهِ بعد. أعمق وأصعب جدار رياضي في GNFS يكمن هنا.&lt;/strong>&lt;/p>
&lt;p>ما نريده في النهاية ليس &amp;ldquo;مربع المثالي&amp;rdquo;، بل &lt;strong>&amp;ldquo;مربع العنصر&amp;rdquo; ($\gamma^2$)&lt;/strong> لتعويضه في التعيين $\phi$.
فقط لأن المثالي تم تربيعه، لا يعني أن العنصر نفسه تم تربيعه. توجد &lt;strong>عقبتان رياضيتان قويتان جدًا (Obstructions)&lt;/strong> هنا.&lt;/p>
&lt;h3 id="العقبة-1-جدار-زمرة-أصناف-المثاليات-ideal-class-group">العقبة 1: جدار زمرة أصناف المثاليات (Ideal Class Group)
&lt;/h3>&lt;p>المثالي $I$ ليس دائمًا &amp;ldquo;مثاليًا مولدًا بواسطة عنصر واحد (مثالي رئيسي)&amp;rdquo;.
من المستحيل استخراج العنصر المحدد $\gamma$ من مثالي ليس مثاليًا رئيسيًا.&lt;/p>
&lt;p>هنا يظهر مفهوم &lt;strong>&amp;ldquo;زمرة أصناف المثاليات (Class Group, $Cl_K$)&amp;rdquo;&lt;/strong>. زمرة أصناف المثاليات هي زمرة تقيس &amp;ldquo;مدى وجود مثاليات غير رئيسية في عالم الحقل الجبري (إلى أي مدى تم تدمير وحدانية التحليل إلى العوامل الأولية)&amp;rdquo;.
حتى لو أصبح $\prod \langle a - b\alpha \rangle$ هو $I^2$، إذا لم يكن $I$ عنصرًا محايدًا (مثاليًا رئيسيًا) في زمرة أصناف المثاليات، فلا يمكننا سحبه مرة أخرى إلى مربع عنصر.&lt;/p>
&lt;h3 id="العقبة-2-جدار-زمرة-الوحدات-unit-group">العقبة 2: جدار زمرة الوحدات (Unit Group)
&lt;/h3>&lt;p>لنفترض أننا محظوظون وأن $I$ هو مثالي رئيسي $\langle \gamma \rangle$.
إذن، $\prod \langle a - b\alpha \rangle = \langle \gamma^2 \rangle$.
قد تعتقد، &amp;ldquo;رائع، العنصر مربع أيضًا!&amp;quot;، لكنك مخطئ تمامًا.&lt;/p>
&lt;p>حقيقة أن المثاليات (مجموعات المضاعفات) متساوية لا تعني أن العناصر متساوية تمامًا. سيكون هناك دائمًا إزاحة بواسطة &lt;strong>&amp;ldquo;الوحدة&amp;rdquo; (Unit: عدد مقلوبه هو أيضًا عدد صحيح، مثل 1 أو -1)&lt;/strong>.
بمعنى آخر، معادلة العنصر الفعلي هي كالتالي:
&lt;/p>
$$\prod_{S} (a - b\alpha) = u \cdot \gamma^2$$
&lt;p>
(حيث $u$ هو عنصر من زمرة الوحدات $U_K$)&lt;/p>
&lt;p>ما لم تكن هذه الوحدة $u$ بحد ذاتها مربعًا لشيء ما، فلن يكون الجانب الأيسر أبدًا &amp;ldquo;مربع عنصر كامل&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="المرحلة-الخامسة-سحر-أدلمان-الرموز-التربيعية-quadratic-characters">المرحلة الخامسة: سحر أدلمان &amp;ldquo;الرموز التربيعية&amp;rdquo; (Quadratic Characters)
&lt;/h2>&lt;p>عقبة زمرة أصناف المثاليات وعقبة زمرة الوحدات. كيف نتغلب عليهما؟
هنا يأتي دور الطريقة العبقرية التي تسمى &lt;strong>&amp;ldquo;الرموز التربيعية&amp;rdquo; (Quadratic Characters)&lt;/strong>، والتي أدخلها عالم التشفير ليونارد أدلمان (حرف &amp;ldquo;A&amp;rdquo; في RSA) وزملاؤه.&lt;/p>
&lt;p>لتحديد ما إذا كان &amp;ldquo;عنصر ما هو مربع كامل في الحقل الجبري&amp;rdquo;، نستخدم إصدار الحقل الجبري من رمز ليجاندر (الباقي التربيعي).
في المصفوفة العملاقة السابقة (اللغز لجعل عدد المثاليات الأولية زوجيًا)، نضيف سرًا بضع عشرات من الشروط الإضافية (الأعمدة) التي تنص على أن &lt;strong>&amp;ldquo;الرموز التربيعية لبعض المثاليات الأولية الخاصة $\mathfrak{q}$ تصبح جميعها $1$ (زوجية)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>عندما نجد المجموعة $S$ التي تستوفي هذه الشروط الإضافية من خلال حساب المصفوفة، تضمن مبرهنة عميقة في نظرية الأعداد الجبرية أن &lt;strong>&amp;ldquo;كل من عقبة زمرة أصناف المثاليات وعقبة زمرة الوحدات ستختفيان بشكل طبيعي باحتمال ساحق&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>وبهذا، نحصل أخيرًا على المعادلة الحقيقية:
&lt;/p>
$$\prod_{S} (a - b\alpha) = \gamma^2$$
&lt;hr>
&lt;h2 id="المرحلة-النهائية-اندماج-العوالم-وانهيار-التشفير">المرحلة النهائية: اندماج العوالم وانهيار التشفير
&lt;/h2>&lt;p>أخيرًا، اكتملت جميع قطع اللغز.&lt;/p>
&lt;p>&lt;strong>[العنصر في عالم الحقل الجبري (العالم A)]&lt;/strong>
$\gamma^2 = \prod (a - b\alpha)$
(استخدم خوارزمية الجذر التربيعي لإيجاد $\gamma$)&lt;/p>
&lt;p>&lt;strong>[العنصر في العالم الحقيقي (عالم الأعداد الكسرية)]&lt;/strong>
$V^2 = \prod (a - bm)$
(هذا مجرد ضرب أعداد صحيحة عادي، لذا يمكن العثور على الجذر التربيعي $V$ بسهولة)&lt;/p>
&lt;p>الآن، حان وقت عمل الجسر السحري الأول الذي صنعناه، &lt;strong>التشاكل $\phi$&lt;/strong>.
نقفز بالعنصر $\gamma$ من العالم A إلى العالم B (عالم البواقي $N$) باستخدام $\phi$ (التعيين الذي يعوض بـ $m$ بدلًا من $\alpha$).
&lt;/p>
$$Y = \phi(\gamma) \pmod N$$
&lt;p>من ناحية أخرى، نأخذ $V$ الذي تم إنشاؤه في العالم الحقيقي مباشرة إلى عالم البواقي ونسميه $X$.
&lt;/p>
$$X = V \pmod N$$
&lt;p>بفضل خاصية &amp;ldquo;الحفاظ على الهيكل&amp;rdquo; للتشاكل، فإن علاقة التربيع التي كانت صحيحة في العالم A يتم حفظها تمامًا في العالم B (عالم المقياس $N$).
علاوة على ذلك، نظرًا لأن الأزواج الأصلية $(a, b)$ تم تشكيلها بطريقة متقابلة كـ $a - b\alpha$ و $a - bm$، فإن $X$ و $Y$ يصطدمان في عالم المقياس $N$ وينتجان المعادلة المطلقة التالية:&lt;/p>
&lt;p>&lt;strong>$$X^2 \equiv Y^2 \pmod N$$&lt;/strong>&lt;/p>
&lt;p>الآن، كل ما علينا فعله هو أن نصلي ألا يكون $X$ و $Y$ حلولاً بديهية ($X \equiv \pm Y$)، ثم نحسب:
&lt;strong>$\gcd(X - Y, N)$&lt;/strong>&lt;/p>
&lt;p>إذا كان حلاً غير بديهي، فستعمل خوارزمية إقليدس في 0.001 ثانية، وسيتم طباعة الأعداد الأولية السرية $p$ و $q$، والتي تعد قلب تشفير RSA، على شاشة الإخراج.&lt;/p>
&lt;hr>
&lt;p>هذا هو الشكل الكامل لـ &lt;strong>&amp;ldquo;غربال حقل الأعداد العام (GNFS)&amp;rdquo;&lt;/strong> الذي يجمع خلاصة الرياضيات الحديثة.&lt;/p></description></item><item><title>مبدأ كيركهوفس</title><link>http://kenji.blog/ar/p/kerckhoffs-principle/</link><pubDate>Wed, 16 Apr 2025 23:53:08 +0900</pubDate><guid>http://kenji.blog/ar/p/kerckhoffs-principle/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_2.png" alt="Featured image of post مبدأ كيركهوفس" />&lt;h1 id="مبدأ-كيركهوفس">مبدأ كيركهوفس
&lt;/h1>&lt;hr>
&lt;p>مرحباً!&lt;/p>
&lt;p>اليوم أود أن أتحدث عن شيء مثير للاهتمام وفي الواقع مهم جداً، وهو &amp;ldquo;مبدأ كيركهوفس&amp;rdquo;.&lt;/p>
&lt;p>أوه، انتظر لحظة.&lt;br>
قد يفكر البعض منكم: &amp;ldquo;لم أسمع أبداً عن &amp;lsquo;مبدأ كيركهوفس&amp;rsquo; ويبدو معقداً جداً&amp;hellip;&amp;rdquo; لا تقلق. هذا المقال مخصص بالضبط للأشخاص الذين يشعرون بذلك.&lt;/p>
&lt;hr>
&lt;h2 id="ماذا-تعني-التعمية-الآمنة">ماذا تعني &amp;ldquo;التعمية الآمنة&amp;rdquo;؟
&lt;/h2>&lt;p>على سبيل المثال، يأتي إليك شخص ويقول: &amp;ldquo;لا يمكن فتح هذه الخزنة إلا من قبل شخص يعرف سرها.&amp;rdquo;&lt;/p>
&lt;p>للوهلة الأولى، يبدو هذا آمناً للغاية، أليس كذلك؟&lt;br>
لكن إذا فكرت في الأمر مرة أخرى، أليس هذا مقلقاً بعض الشيء؟&lt;/p>
&lt;p>مثل، &amp;ldquo;إذا تم الكشف عن هذا السر، فقد انتهى كل شيء، صحيح؟&amp;rdquo;&lt;/p>
&lt;p>في الواقع، هذا هو سبب تقديم مبدأ كيركهوفس.&lt;/p>
&lt;hr>
&lt;h2 id="ما-هو-مبدأ-كيركهوفس-بالضبط">ما هو &amp;ldquo;مبدأ كيركهوفس&amp;rdquo; بالضبط؟
&lt;/h2>&lt;p>باختصار شديد، إنه:&lt;/p>
&lt;p>فكرة أن &lt;strong>&amp;ldquo;التشفير يجب أن يبقى آمناً حتى لو تم الكشف عن آليته&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>وبشكل أدق، &amp;ldquo;يجب أن يعتمد الأمان فقط على &amp;lsquo;المفتاح السري&amp;rsquo;، ولا بأس إذا تم نشر طريقة التشفير نفسها!&amp;rdquo;&lt;/p>
&lt;p>على العكس من ذلك، &amp;ldquo;النظام الذي يعتمد فقط على سرية خوارزمية (آلية) التشفير الخاصة به يعتبر ضعيف الموثوقية.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="آمن-طالما-أن-الآلية-سرية-قد-يكون-أمرا-خطيرا-بعض-الشيء">&amp;ldquo;آمن طالما أن الآلية سرية&amp;rdquo; قد يكون أمراً خطيراً بعض الشيء
&lt;/h2>&lt;p>طريقة التفكير هذه شائعة جداً:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;لم أري محتويات هذا التطبيق لأي شخص، لذلك فالأمان مضمون.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>أنا أفهم هذا الشعور.&lt;br>
لكن هذا يوازي قول: &amp;ldquo;بما أن أحداً لم يره، فلن يتم العثور على أي ثغرات، لذا فكل شيء على ما يرام، أليس كذلك؟&amp;rdquo;&lt;/p>
&lt;p>في الواقع، حقيقة أن &amp;ldquo;لا أحد قد رآه&amp;rdquo; بحد ذاتها يمكن أن تكون خطراً.&lt;/p>
&lt;hr>
&lt;h2 id="لكن-لماذا-يعد-مثل-هذا-المبدأ-مهما">لكن لماذا يعد مثل هذا المبدأ مهماً؟
&lt;/h2>&lt;p>السبب هو أنه إذا حصل شخص ما على الآلية وتمكن من كسرها بسهولة، فإن هذا التشفير قد فشل.&lt;/p>
&lt;p>كقياس، تخيل قفل باب بآلية معقدة جداً، ولكن يمكن فتحه فعلياً بمفتاح منسوخ مصنوع في متجر رخيص.&lt;/p>
&lt;p>ليس المهم هو &amp;ldquo;إنه آمن لأن المفتاح سري&amp;rdquo;، بل المهم هو &amp;ldquo;حتى لو تم عرض الآلية بالكامل، لا يمكن فتحه بدون المفتاح الصحيح.&amp;rdquo;&lt;/p>
&lt;hr>
&lt;h2 id="شعور-لكن-أليس-هذا-مخيفا">شعور &amp;ldquo;لكن، أليس هذا مخيفاً؟&amp;rdquo;
&lt;/h2>&lt;p>الشيء الذي يشعر به الكثير من الناس هنا هو،&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;كشف الآلية بأكملها، أليس هذا مخيفاً بعض الشيء؟&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>أنا أتفهم هذا القلق.&lt;/p>
&lt;p>لأنك بالتأكيد ستفكر: &amp;ldquo;إذا أظهرت كل شيء، ألن يتم تقليده أو إساءة استخدامه؟&amp;rdquo;&lt;/p>
&lt;p>ومع ذلك، هذا هو بالضبط جوهر مبدأ كيركهوفس.&lt;br>
&amp;ldquo;القوة التي لا تنهار حتى لو تم عرض المحتويات&amp;rdquo; هو ما يمثل الأمان الحقيقي.&lt;/p>
&lt;hr>
&lt;h2 id="ومع-ذلك-يتطلب-الأمر-القليل-من-الشجاعة-في-البداية">ومع ذلك، يتطلب الأمر القليل من الشجاعة في البداية
&lt;/h2>&lt;p>إذا حاولت وضع نفسك مكان مطور، فإن &amp;ldquo;نشر الآلية = كشف نقاط الضعف أيضاً&amp;rdquo; هو بالتأكيد أمر مثير للتوتر.&lt;/p>
&lt;p>لكن فكر في الأمر.&lt;/p>
&lt;p>الشيء الذي يظهر آليته بصراحة ويقول: &amp;ldquo;يمكن لأي شخص التحقق من ذلك&amp;rdquo;، سيحظى بمزيد من الثقة في النهاية.&lt;/p>
&lt;p>أليس هذا مشابهاً للعلاقات الإنسانية؟&lt;/p>
&lt;p>&amp;ldquo;الشخص الذي يظهر طبيعته الحقيقية ويبقى من السهل التعامل معه&amp;rdquo;، هو بالتأكيد من يجعلك تشعر بأكبر قدر من الطمأنينة.&lt;/p>
&lt;hr>
&lt;h2 id="وهكذا">وهكذا
&lt;/h2>&lt;p>قد يبدو مبدأ كيركهوفس نظرياً بعض الشيء، لكن جوهره بسيط للغاية.&lt;/p>
&lt;p>الأمر كله يتعلق بـ &lt;strong>&amp;ldquo;دعونا نصنع آلية لن تنكسر بغض النظر عمن ينظر إليها&amp;rdquo;&lt;/strong> .&lt;/p>
&lt;p>التصميم المناسب أهم من الأسرار السطحية.&lt;br>
التعليمات البرمجية التي لا تخجل من إظهارها أفضل من التعليمات البرمجية التي لا تريد أن تريها لأي شخص.&lt;/p>
&lt;p>مثل هذه &amp;ldquo;القوة&amp;rdquo; ربما تكون مطلوبة أكثر فأكثر في المستقبل.&lt;/p>
&lt;hr>
&lt;p>شكراً على القراءة!&lt;/p>
&lt;p>موضوع الأمان قد يكون صعباً بعض الشيء، لكن هناك أجزاء ترتبط بـ &amp;ldquo;العلاقات الإنسانية&amp;rdquo; و &amp;ldquo;الشعور اليومي بالأمان&amp;rdquo;.&lt;br>
أنا متأكد من أنك إذا درسته شيئاً فشيئاً دون أن تشعر بالإرهاق، فستحدث أشياء جيدة.&lt;/p>
&lt;hr>
&lt;p>&lt;img src="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img.png"
width="189"
height="282"
srcset="http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_480x0_resize_box_3.png 480w, http://kenji.blog/p/%E3%82%B1%E3%83%AB%E3%82%AF%E3%83%9B%E3%83%95%E3%82%B9%E3%81%AE%E5%8E%9F%E7%90%86/img_hu715032b7fe5224f655ebb7d29b676305_77325_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Auguste Kerckhoffs"
class="gallery-image"
data-flex-grow="67"
data-flex-basis="160px"
>&lt;/p></description></item><item><title>مشكلة مونتي هول</title><link>http://kenji.blog/ar/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</link><pubDate>Sun, 31 Mar 2024 23:41:51 +0900</pubDate><guid>http://kenji.blog/ar/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/</guid><description>&lt;img src="http://kenji.blog/p/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C/img_1.png" alt="Featured image of post مشكلة مونتي هول" />&lt;h2 id="ما-هي-مشكلة-مونتي-هول">ما هي مشكلة مونتي هول
&lt;/h2>&lt;p>مشكلة مونتي هول هي مشكلة مأخوذة من إحدى الألعاب التي كانت تقام في البرنامج التلفزيوني الأمريكي &amp;ldquo;Let&amp;rsquo;s Make a Deal&amp;rdquo;، وهي كالتالي.&lt;/p>
&lt;p>الشروط المسبقة: يوجد جائزة في أحد الأبواب الثلاثة، بينما البابان الآخران فارغان.&lt;/p>
&lt;ol>
&lt;li>يختار المشارك باباً واحداً من الأبواب الثلاثة.&lt;/li>
&lt;li>يقوم المقدم، من بين البابين الآخرين غير الذي اختاره المشارك، بفتح باب واحد فارغ.&lt;/li>
&lt;li>يُسأل المشارك عما إذا كان يريد تغيير الباب الذي اختاره.&lt;/li>
&lt;/ol>
&lt;p>في هذا الوقت، المشكلة هي التفكير فيما إذا كان من الأفضل للمشارك تغيير الباب أم لا.&lt;/p>
&lt;h2 id="الحل">الحل
&lt;/h2>&lt;p>حل مشكلة مونتي هول هو كالتالي.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>إذا لم يقم المشارك بتغيير الباب الذي اختاره في البداية&lt;/p>
&lt;ul>
&lt;li>احتمال الفوز: 1/3&lt;/li>
&lt;li>احتمال الخسارة: 2/3&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>بعد أن يفتح المقدم الباب الفارغ&lt;/p>
&lt;ul>
&lt;li>إذا لم يغير، احتمال الفوز: 1/3 (لا يتغير عن احتمال الفوز في النقطة 1)&lt;/li>
&lt;li>إذا غير، احتمال الفوز: 2/3 (احتمال عدم الفوز في النقطة 1)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>لذلك، من الأفضل للمشارك تغيير الباب لزيادة فرصة الفوز.&lt;/p>
&lt;h2 id="مرجع">مرجع
&lt;/h2>&lt;ul>
&lt;li>ويكيبيديا &lt;a class="link" href="https://en.wikipedia.org/wiki/Monty_Hall_problem" target="_blank" rel="noopener"
>Monty Hall problem&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>كيفية رسم الرسوم البيانية باستخدام Python (matplotlib.pyplot)</title><link>http://kenji.blog/ar/p/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%B1%D8%B3%D9%85-%D8%A7%D9%84%D8%B1%D8%B3%D9%88%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D9%8A%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-python-matplotlib-pyplot/</link><pubDate>Sun, 09 Apr 2023 01:02:19 +0900</pubDate><guid>http://kenji.blog/ar/p/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%B1%D8%B3%D9%85-%D8%A7%D9%84%D8%B1%D8%B3%D9%88%D9%85-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D9%8A%D8%A9-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-python-matplotlib-pyplot/</guid><description>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post كيفية رسم الرسوم البيانية باستخدام Python (matplotlib.pyplot)" />&lt;p>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="1200"
height="288"
srcset="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue3f23818eeeec9c43d6452cc0f61fb52_43864_480x0_resize_box_3.png 480w, http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hue3f23818eeeec9c43d6452cc0f61fb52_43864_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="416"
data-flex-basis="1000px"
>&lt;/p>
&lt;h1 id="المتطلبات">المتطلبات
&lt;/h1>&lt;ul>
&lt;li>حساب جوجل&lt;/li>
&lt;/ul>
&lt;h1 id="الخطوات">الخطوات
&lt;/h1>&lt;ol>
&lt;li>اذهب إلى &lt;a class="link" href="https://colab.research.google.com/" target="_blank" rel="noopener"
>https://colab.research.google.com/&lt;/a>&lt;/li>
&lt;li>اختر &amp;ldquo;ملف&amp;rdquo; -&amp;gt; &amp;ldquo;دفتر ملاحظات جديد&amp;rdquo;&lt;/li>
&lt;li>الصق الكود التالي وقم بتشغيله&lt;/li>
&lt;/ol>
&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;/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">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">x&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">linspace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">500&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sin&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;sin curve&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="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">plot&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cos&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">label&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;cos curve&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="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">legend&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="c1"># إظهار وسيلة الإيضاح&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">plt&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">show&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="النتيجة">النتيجة
&lt;/h1>&lt;p>&lt;img src="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="568"
height="413"
srcset="http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hucdb24ab588d845f9f7a56ef99be2c709_27745_480x0_resize_box_3.png 480w, http://kenji.blog/p/pythonmatplotlib.pyplot%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_hucdb24ab588d845f9f7a56ef99be2c709_27745_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="137"
data-flex-basis="330px"
>&lt;/p>
&lt;h1 id="المراجع">المراجع
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://matplotlib.org/3.5.3/api/_as_gen/matplotlib.pyplot.html" target="_blank" rel="noopener"
>matplotlib.pyplot — Matplotlib 3.5.3 documentation&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>