ما هي حاسبة الأس النمطي؟
تحسب حاسبة الأس النمطي قيمة \((\text{الأساس}^{\text{الأس}}) \bmod m\) — أي الباقي الناتج بعد رفع الأساس إلى قوة معيّنة ثم قسمته على المُقسوم عليه (المعامل). هذه العملية الواحدة، المعروفة باسم «الأس في الحساب التماثلي»، حاضرة في كل مكان داخل نظرية الأعداد والتشفير: فهي القلب النابض لتشفير RSA، وتبادل المفاتيح بطريقة ديفي–هيلمان، واختبارات الأولية، ودوال التجزئة (Hash). أما حسابها بشكل مباشر — أي إيجاد القوة الضخمة أولًا ثم أخذ الباقي — فهو أمر مستحيل عمليًّا مع الأسس الكبيرة، ولهذا نلجأ إلى خوارزمية سريعة بدلًا من ذلك.
$$\text{result} = \text{Base}^{\text{Exponent}} \bmod \text{Modulus}$$
كيفية الاستخدام
أدخل ثلاثة أعداد صحيحة: الأساس، والأس (صفر أو قيمة موجبة)، والمعامل \(m\) (عدد صحيح موجب أكبر من 1). اضغط على زر الحساب، فتعيد لك الأداة النتيجة ضمن النطاق من 0 إلى \(m-1\). كما تُختزل القيم السالبة للأساس تلقائيًّا إلى الباقي غير السالب الصحيح.
شرح المعادلة
بدلًا من بناء العدد الهائل \(\text{الأساس}^{\text{الأس}}\)، تستعمل الحاسبة خوارزمية التربيع والضرب (وتُعرف أيضًا بالأس الثنائي). تقرأ هذه الطريقة الأس بنظام العد الثنائي. وانطلاقًا من نتيجة قيمتها 1، تربّع الأساس بشكل متكرر بالنسبة للمعامل \(m\)؛ وكلما كان الرقم الثنائي الحالي للأس مساويًا 1، ضربت تلك القيمة المربّعة في النتيجة الجارية، مع اختزالها مجددًا بالنسبة لـ \(m\). وبما أن كل عدد وسيط يبقى أصغر من \(m^2\)، يظل الحساب سريعًا حتى مع أسس مكوّنة من مئات الأرقام.
مثال محلول
لنحسب \(7^{256} \bmod 13\). رتبة العدد 7 بالنسبة للمعامل 13 تقسم 12، حيث إن \(7^{12} \equiv 1\). وبما أن \(256 = 12 \times 21 + 4\)، نحصل على $$7^{256} \equiv 7^{4} = 2401 \equiv 9 \pmod{13}.$$ إذن الجواب هو 9 — وقد تم إيجاده هنا في لحظة دون الحاجة إطلاقًا إلى تكوين العدد المكوّن من 217 رقمًا وهو \(7^{256}\).
الأسئلة الشائعة
ماذا لو كان المعامل يساوي 1؟ كل عدد صحيح يكافئ 0 بالنسبة للمعامل 1، لذا تكون النتيجة 0.
هل يمكن أن يكون الأس صفرًا؟ نعم. أي أساس مرفوع إلى القوة 0 يساوي 1، لذا تكون النتيجة \(1 \bmod m\) (أي 1 عندما يكون \(m\) أكبر من 1).
لماذا لا نحسب القوة مباشرة؟ مع الأسس الكبيرة، يصبح العدد الوسيط مكوّنًا من عدد فلكي من الأرقام ويتجاوز سعة الحساب. أما الاختزال بالنسبة للمعامل في كل خطوة فيبقي القيم صغيرة ويجعل الطريقة عالية الكفاءة.