English  

كتب help algorithms

اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.

عرض المزيد

خوارزميات مُساعدة (معلومة)


الرفع بواسطة التربيع المتكرر

فليكن a,k,n اعداد صحيحة عندها يمكن حساب والتعقيد الحسابي للخوارزمية هو: والخوارزمية كالتالي:

int exp_mod(a,k,n) { int d=1; int aa=a; while(k>0) { if(k%2==1) { d=(d*a)%n; } k=(k-k%2)/2; aa=(aa*aa) %n; } }

صحة هذه الخوارزمية تعتمد على أنّه يمكن كتابة كل عدد k بواسطة النظام الثنائي اي أنَّه: حينها كل ما علينا هو حساب

مثال: نريد أن نحسب:

  1. نحسب 134 بالنظام الثنائي: وهو
  2. نحسب لكل بطريقة التربيع المتكرر اي:

3. حينها y يكون حاصل ضرب كالتالي:

حساب مقلوب عدد

في خوارزمية RSA أردنا أن نجد بحيث يتحقق: لذا فإنه علينا أن نجد: لذا سوف نستخدم خوارزمية اقليدس المُوسعة والسبب هو: بما أنَّ حينها يمكن ايجاد عددين صحيحين a,b بحيث , لذا فان العدد a سوف يكون d . الخوارزمية تعقيدها: .

المصدر: wikipedia.org