If you do not find what you're looking for, you can use more accurate words.
فليكن 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 بواسطة النظام الثنائي اي أنَّه: حينها كل ما علينا هو حساب
مثال: نريد أن نحسب:
3. حينها y يكون حاصل ضرب كالتالي:
في خوارزمية RSA أردنا أن نجد بحيث يتحقق: لذا فإنه علينا أن نجد: لذا سوف نستخدم خوارزمية اقليدس المُوسعة والسبب هو: بما أنَّ حينها يمكن ايجاد عددين صحيحين a,b بحيث , لذا فان العدد a سوف يكون d . الخوارزمية تعقيدها: .