العربية  

books help algorithms

If you do not find what you're looking for, you can use more accurate words.

View more

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


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

فليكن 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 . الخوارزمية تعقيدها: .

Source: wikipedia.org
 
(2)
Algorithms

Algorithms