f14g
01
15
多次一密(Many Time Pad Attack) 多次一密(Many Time Pad Attack)
用同一个密钥去加密多条明文,当密文条数较多时就很容易被攻击,例如Many Time Pad。 这个攻击的原理是 c1⊕c2=m1⊕m2c1⊕c2=m1⊕m2,而通过 m1⊕m2m1⊕m2 可以分析出 m1⊕m2m1⊕m2
2023-01-15
15
14
共享素数 共享素数
出题脚本# from Crypto.Util.number import * # from flag import * # # n1 = 103835296409081751860770535514746586815395898427260
2023-01-14 f14g
14
公因数攻击 公因数攻击
由题目得一组m,e对应不同组的n,c则可以尝试公因数攻击,对所有n进行两两对比看看有没有公因数 然后求出m import gmpy2 from Crypto.Util.number import long_to_bytes n1 = 20
2023-01-14
14
m高位攻击 m高位攻击
sage脚本_m高位攻击sage下载地址: https://www.sagemath.org/download-windows.html sage在线计算: https://sagecel
2023-01-14
14
p高位攻击 p高位攻击
脚本1根据题目,注意 2^60 60需要修改相应的位数 a = (p >> 60) << 60 def phase3(high_p, n): R.<x> = PolynomialRing
2023-01-14
14
rabin解密 rabin解密
出题脚本密文flag ZNpjDckEhgOPDHBmMhKYQ+tMzVV/EMe4W+oLoWKWqvQ 公钥pubkey.pem -----BEGIN PUBLIC KEY----- MDowDQYJKoZIhvcNAQ
2023-01-14
14
14
e和phi_n不互素 e和phi_n不互素
e和phi_n不互素是指它俩的公约数不为1 令t = gmpy2.gcd(e,phi) 1.m**t < n出题脚本import gmpy2 import libnum import random import uuid
2023-01-14
14
N分解三个素数 N分解三个素数
出题脚本import libnum import gmpy2 #生成随机素数 p=libnum.generate_prime(32) q=libnum.generate_prime(32) r=libnum.generate_prime(5
2023-01-14
8 / 10