Sagemath在ctf密码学中的使用
基本的环和域
1 | #整数域,有理数域和实数域 |
数论基本函数
1 | #同时求商与余数 |
线性代数
1 | #定义矩阵,默认定义在实数域 |
离散椭圆曲线
以国密SM2算法使用的椭圆曲线为例;
1 | p=ZZ('FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF',16) |
离散对数
前言:求解以base为底,a的对数;ord为base的阶,可以缺省,operation可以是’+’与’*‘,默认为’*‘;bounds是一个区间(ld,ud),需要保证所计算的对数在此区间内。
1 | #通用的求离散对数的方法 |
coppersmith算法
使用sage实现coppersmith相关攻击,GitHub链接
最后,sage的官方文档链接