随笔分类 -  Crypto

摘要:题目: from Crypto.Util.number import * flag = b'Spirit{********************************}' plaintext = bytes_to_long(flag) length = plaintext.bit_length( 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(41) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * flag = b'Spirit{*********************}' plaintext = bytes_to_long(flag) length = plaintext.bit_length() a = getPr 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(15) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * flag = b'NSSCTF{******}' class LCG: def __init__(self, seed, a, b, n): self.seed = seed # 初始种子 self.a = a # 乘数 se 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(16) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * flag = b'NSSCTF{******}' class LCG: def __init__(self, seed, a, b, n): self.seed = seed # 初始种子 self.a = a # 乘数 se 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(51) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * flag = b'Spirit{*****************************}' plaintext = bytes_to_long(flag) length = plaintext.bit_length() a 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(18) 评论(0) 推荐(0)
摘要:知识拓展: 1.LCG的基本原理 LCG是一种基于线性同余关系的伪随机数生成器,它通过一个简单的递推公式生成一系列伪随机数,虽然这些数看起来是随机的,但实际上它们是通过确定性的算法生成的,因此称为"伪随机数" 2. LCG的递推公式 LCG的核心是一个递推公式,用于生成下一个伪随机数,公式如下: X 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(43) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * m = bytes_to_long(flag) def get_key(a, nbit): assert a >= 2 while True: X = getRandomInteger(nbit // a) s = getRa 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(49) 评论(0) 推荐(0)
摘要:题目: from Cryptodome.Cipher import AES import os import gmpy2 from flag import FLAG from Cryptodome.Util.number import * def main(): key = os.urandom(2 阅读全文
posted @ 2025-03-12 00:02 sevensnight 阅读(89) 评论(0) 推荐(0)
摘要:题目: get buf unsign s[256] get buf t[256] we have key:hello world we have flag:???????????????????????????????? for i:0 to 256 set s[i]:i for i:0 to 25 阅读全文
posted @ 2025-03-12 00:01 sevensnight 阅读(12) 评论(0) 推荐(0)
摘要:Python中内置了一个random库,用来产生随机数 其内置的算法为梅森算法(Mersenne Twister) 梅森旋转算法可以产生高质量的伪随机数,并且效率高效,弥补了传统伪随机数生成器的不足,梅森旋转算法的最长周期取自一个梅森素数:2<sup>19937</sup>-1 由此命名为梅森旋转算 阅读全文
posted @ 2025-03-12 00:01 sevensnight 阅读(325) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-03-12 00:01 sevensnight 阅读(42) 评论(0) 推荐(0)
摘要:题目: from sympy import * from Crypto.Util.number import * from secret import flag def gen(): p = getPrime(512) q = nextprime(int(str(p)[::-1])) a = p&( 阅读全文
posted @ 2025-03-11 22:12 sevensnight 阅读(38) 评论(0) 推荐(0)
摘要:题目: import sympy from Crypto.Util.number import * from secret import flag e = 65537 p1 = sympy.randprime(2 ** 1023,2 ** 1024) q1 = sympy.randprime(2 * 阅读全文
posted @ 2025-03-11 22:12 sevensnight 阅读(50) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * import uuid flag = "flag{" + str(uuid.uuid4()) + "}" print(flag) m = bytes_to_long(flag.encode()) p = getPrime(10 阅读全文
posted @ 2025-03-11 22:12 sevensnight 阅读(79) 评论(0) 推荐(0)
摘要:题目1: from Crypto.Util.number import * from secret import flag nbits=512 p=getPrime(nbits) q=getPrime(nbits) leakBits = 262 leak = (p ^ q) >> (nbits - 阅读全文
posted @ 2025-03-11 22:11 sevensnight 阅读(89) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import getPrime P = getPrime(512) Q = getPrime(512) print(f'P=', P) print(f'Q=', Q) N = P * Q gift = P ^ (Q >> 16) print(f 阅读全文
posted @ 2025-03-11 22:11 sevensnight 阅读(35) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * p = getPrime(256) #print(f"p = {p}") q = getPrime(256) #print(f"q = {q}") n = p*q xor = p^q print(f"n = {n}") pri 阅读全文
posted @ 2025-03-11 22:11 sevensnight 阅读(29) 评论(0) 推荐(0)
摘要:题目1: from Crypto.Util.number import * from secret import flag m = bytes_to_long(flag) p = getPrime(256) q = getPrime(256) n = p * q e = 65537 _q = int 阅读全文
posted @ 2025-03-11 22:11 sevensnight 阅读(59) 评论(0) 推荐(0)
摘要:剪枝:剪枝是对于树算法类的题目而言的,通过减去已经计算后的树的枝点来缩短算法的时间复杂度 在密码学中,剪枝技术主要用于优化复杂的搜索算法,尤其是在格密码学和一些基于搜索的密码学问题中,以下是剪枝在密码学中的主要应用和相关算法的介绍: 1. 格密码学中的剪枝 格密码学中的核心问题是格中最短向量问题(S 阅读全文
posted @ 2025-03-11 22:11 sevensnight 阅读(96) 评论(0) 推荐(0)
摘要:题目: from Crypto.Util.number import * p = getPrime(512) q = getPrime(512) flag = b'NSSCTF{******}' n = p*q m = bytes_to_long(flag) d = getPrime(int(102 阅读全文
posted @ 2025-03-11 22:06 sevensnight 阅读(268) 评论(0) 推荐(0)