摘要: #problem.py #!/usr/bin/python2 #from flag import flag from base64 import b64decode from SocketServer import ThreadingTCPServer from sys import argv fr 阅读全文
posted @ 2020-06-22 17:30 S4tan 阅读(322) 评论(0) 推荐(0) 编辑
摘要: ????????? 阅读全文
posted @ 2020-05-23 17:21 S4tan 阅读(383) 评论(1) 推荐(0) 编辑
摘要: 这个题目主要是针对sage列方程解根的问题 第一个hint.py的确是老共模了 然后在多项式环上解256次根 接下来的task.py中 最主要的就是化简两个同余式 c1 = m**p%n c2 = m**q%n 也就是 c1 = m%p c2 = m%q 所以 c1 = m+i*p c2 = m+j 阅读全文
posted @ 2020-05-20 00:35 S4tan 阅读(834) 评论(0) 推荐(0) 编辑
摘要: #problem.py import sys key = '****CENSORED***************' flag = 'TWCTF{*******CENSORED********}' if len(key) % 2 == 1: print("Key Length Error") sys 阅读全文
posted @ 2020-05-09 12:44 S4tan 阅读(482) 评论(0) 推荐(0) 编辑
摘要: Paillier cryptosystem系统加解密流程如下: which λ=lcm(p−1,q−1),L(u)=(u−1)/n Proof: g∈Z∗n2,∴∃(a,b),s.t. g=(n+1)^a*b^n(mod n^2) c^λ=(n+1)^amλ*b^nmλ*r^nλ=(n+1)^amλ 阅读全文
posted @ 2020-05-04 15:00 S4tan 阅读(488) 评论(0) 推荐(0) 编辑
摘要: #attachment.py from gmpy2 import lcm , powmod , invert , gcd , mpz from Crypto.Util.number import getPrime from sympy import nextprime from random imp 阅读全文
posted @ 2020-04-30 18:02 S4tan 阅读(1755) 评论(0) 推荐(0) 编辑
摘要: a = 111 b = 321 from gmpy2 import lcm , gcd gcd_res = gcd(a,b) lcm_res = lcm(a,b) #gcd_res = x1*a x1 = a/gcd_res #gcd_res = y1*b y1 = b/gcd_res #lcm_r 阅读全文
posted @ 2020-04-30 16:15 S4tan 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目 flag = open("flag", "r").read().strip() assert len(flag) == 32 def str2num(s): return int(s.encode('hex'), 16) def bbencode(n): a = 0 for i in bin( 阅读全文
posted @ 2020-04-21 17:37 S4tan 阅读(834) 评论(3) 推荐(0) 编辑
摘要: 此题为Dual RSA 是找到一对ed符合两个余数 assert int(pow(pow(0xdeadbeef, e, n1), d)) == 0xdeadbeef assert int(pow(pow(0xdeadbeef, e, n2), d)) == 0xdeadbeef 下面是引用的exp 阅读全文
posted @ 2020-04-21 16:09 S4tan 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 起因发现我原来装在kali下的Sage无法安装包和编译 观察报错发现不能用root用户去编译Sage 于是我就做了一个专用Sage的ubantu 在Ubantu中安装非常顺利,只需要额外安装m4即可 然后在当前用户的.bashrc文件中export一下sage export PATH=$SAGE_R 阅读全文
posted @ 2020-04-21 16:04 S4tan 阅读(1021) 评论(0) 推荐(0) 编辑