DASCTF Crypto
EzRsa ✔
$\quad $ 签到题
$\quad $ p关联信息,q jacobi符号
$\quad $ 到此为止了QAQ
-
二次剩余喵
-
完全剩余系定理
如果用一个与模数互质的数去乘完全剩余系的各数,则得到对于模数的又一个完全剩余系
-
二次剩余计数定理
对于奇素数\(m\),\(p=\frac{m-1}{2}\),则\(m\)有\(p\)个不同的二次剩余\(1^2,2^2,3^2...p^2\),其余为非二次剩余
若再多,则有同余
若有重复,则\((x-y)(x+y) \equiv 0(mod \; p)\),然而\(x+y<p\) -
二次剩余乘积定理
-
二次乘非二次N为非二次
对于\(1^2,2^2,3^2...,p^2\)和\(1^2N,2^2N,3^2N...,p^2N\)
-
非二次乘非二次为二次
对于\(1^2N,2^2N,3^2N...,p^2N\)和\(1^2NM,2^2NM,3^2NM...,p^2NM\),同上
-
-
-
Legendre与Jacobi喵
-
sagemath解一元多项式组(gcd)
PR.<x>=PolynomialRing(Zmod(n))
g1 = (x + noise1)^e1 - c1
g2 = (x + noise2)^e2 - c2
def gcd(g1, g2):
while g2:
g1, g2 = g2, g1 % g2
return g1.monic()
print(gcd(g1, g2))
return -gcd(g1, g2)[0]
- 关于位运算优先级...
CB curve
$\quad $ 论文题 Huff Curve
$\quad $ 其实是进行了曲线の映射
$\quad $ 一开始的柿子推出来了,但是不会解。论文也不会搜,令人感叹
- sagemath groebner_basis 解多元高次方程组
p=998244353
R.<x,y> = PolynomialRing(Zmod(p))
f=[]
f.append(x*x*y*123456+x+y)
f.append(y*y*123-x*y)
ans=Ideal(f).groebner_basis()
print(ans)
ans中任一柿子的解都是原方程组的解
\(\quad\)
- ECC Pohlig-Hellmen
p =
a =
b =
G =
E =
x =
R. < y > = PolynomialRing(GF(p))
f = x * (a * y ^ 2 - 1) - y * (b * x ^ 2 - 1)
y = int(f.roots()[1][0])
S = (x, y)
print(S)
A = (E.order())
n = G.order()
factors, exponents = zip(*factor(n))
primes = [factors[i] ^ exponents[i] for i in range(len(factors))][:-1]
print(primes)
dl = []
for fac in primes:
t = int(n / fac)
dlog = discrete_log(t * S, t * G, operation="+")
dl += [dlog]
print(dlog)
d = crt(dl, primes)
print(d)
import libnum
print(libnum.n2s(int(d)))
CB backpack
\(\quad\) 比较好搞出来的做法是爆破,也可以先爆破\(e\)地前几个数字然后用格来做
\(\quad\) 没想过爆破高位...
- 低位背包格喵
CB cipher
看不懂思密达!
\(\quad\)
\(\quad\)
唉,又荒废了一周,比赛被乱杀,做题题不会,看wp看不懂,感觉学习效率也很低,sad

浙公网安备 33010602011771号