(课内)信安数基RSA-level1&&2

注:(不求甚解的)攻击原理 以及(浅层的)算法解释已在图片中给出;文字部分主要讲一些python语法的东西。

  代码需要库 gmpy2和libnum;加密算法还需要Crypto.Util.number .

gcdext(a,b)扩欧 ;;pow(a,b,c)将a的b次方对c取模

 注意使用gmpy2大整数类“mpz”来规避"ValueError: pow() 2nd argument cannot be negative when 3rd argument specified"报错

 

 invert(a,n) 求解a在模n下的逆元

 isqrt大整数平方根;(iroot以后遇到再介绍)

 list,map 见了都能看懂;如果遇到相关的方法查一下就行了

 [::-1] [0:i]都是slice notation写法,对list使用;前者表示倒序遍历全部,后者表示正序遍历0到i。

posted @ 2021-10-16 22:29  hiddener  阅读(215)  评论(0编辑  收藏  举报