上信息安全课,老师布置了几个大作业,其中一个为RSA加密算法的实现,不能用Java写.出于兴趣,决定尝试.完成之后,为了便于查找,于是写下这篇文章,以备后续查看.也供大家一起学习,一起进步. 1.预备知识 1.1 快速幂算法 顾名思义,快速幂就是快速算底数的$n$次幂.其时间复杂度为${\rm{O(log n)}}$,与朴素的$O\left( n \right)$相比,效率有了极大的提高.具体可以参考百度百科:快速幂. 1.2 扩展欧几里得算法 扩展欧几里得算法(英语:Extended Eucl…