f14g
多次一密(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
Coppersmith攻击 Coppersmith攻击
相关网址https://blog.csdn.net/q851579181q/article/details/90645041 https://www.jian
2023-01-15
公因数攻击 公因数攻击
由题目得一组m,e对应不同组的n,c则可以尝试公因数攻击,对所有n进行两两对比看看有没有公因数 然后求出m import gmpy2 from Crypto.Util.number import long_to_bytes n1 = 20
2023-01-14
m高位攻击 m高位攻击
sage脚本_m高位攻击sage下载地址: https://www.sagemath.org/download-windows.html sage在线计算: https://sagecel
2023-01-14
p高位攻击 p高位攻击
脚本1根据题目,注意 2^60 60需要修改相应的位数 a = (p >> 60) << 60 def phase3(high_p, n): R.<x> = PolynomialRing
2023-01-14
rabin解密 rabin解密
出题脚本密文flag ZNpjDckEhgOPDHBmMhKYQ+tMzVV/EMe4W+oLoWKWqvQ 公钥pubkey.pem -----BEGIN PUBLIC KEY----- MDowDQYJKoZIhvcNAQ
2023-01-14
RSA(NC不互素) RSA(NC不互素)
出题脚本from Crypto.Util.number import * import gmpy2 from flag import flag assert flag[:5]==b'flag{' m = bytes_to_lon
2023-01-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
N分解三个素数 N分解三个素数
出题脚本import libnum import gmpy2 #生成随机素数 p=libnum.generate_prime(32) q=libnum.generate_prime(32) r=libnum.generate_prime(5
2023-01-14
n是p的r次方 n是p的r次方
出题脚本import libnum #生成随机素数 p=libnum.generate_prime(256) e=65537 m="flag{de8c3ea714f7f780185924d473997bcb}" #字符
2023-01-14
2 / 4