sage原来这么好用!!!
早就装了sagemath,但是一直用不到(其实是不会用)
今天刷密码学的时候,偶然的发现了sage的强大
上题目:
题目脚本:
```python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Crypto.Util.number import *
import random
n = 2 ** 512
m = random.randint(2, n-1) | 1
c = pow(m, bytes_to_long(flag), n)
print 'm = ' + str(m)
print 'c = ' + str(c)
# m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075
# c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499
ti题目不难理解,n为2的512次方,m已知,c已知,c为m的flag次方(flag转换为10进制)对n取余。
所以要求解:m ^ flag ≡ c(mod n)
