f14g
01
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
14
n是p的r次方 n是p的r次方
出题脚本import libnum #生成随机素数 p=libnum.generate_prime(256) e=65537 m="flag{de8c3ea714f7f780185924d473997bcb}" #字符
2023-01-14
14
dp,dq dp,dq
出题脚本import random import base64 import hashlib import string import libnum def put_flag(): # 字符串列表 a = string.p
2023-01-14
8 / 10