随笔分类 - Crypto
摘要:题目: from Crypto.Util.number import getPrime, inverse, bytes_to_long, long_to_bytes import random import math FLAG = b'crypto{?????????????????????}' d
阅读全文
摘要:题目: from random import shuffle from Crypto.Util.number import getPrime from random import choice, randint # flag来源 flag = b"VNCTF{xxxxxxx}" assert len
阅读全文
摘要:题目: from Crypto.Util.number import * import random from Crypto.Cipher import AES import hashlib from Crypto.Util.Padding import pad from secrets impor
阅读全文
摘要:背包问题通解: 当密度d满足以下条件时,LLL算法能有效地解决这类背包问题  其中:
阅读全文
摘要:from Crypto.Util.number import * from secret import flag def encrypt(m): m = str(bin(m))[2:][::-1] enc = 0 for i in range(len(m)): enc += init[i] * in
阅读全文
摘要:知识拓展: 背包加密 - CTF Wiki 背包问题:假定一个背包可以承重W,现在有n个物品,其重量分别为a1,a2,a3,…,an,问装哪些物品可以恰好使得背包装满(其中每个物品只能被装一次) 背包密码的原理由背包问题引申而来,令a为明文二进制序列,x为公钥,这样便构成了一个不错的密码体系,超递增
阅读全文
摘要:题目: from Crypto.Util.number import * from secret import flag def add_THcurve(P, Q): if P == (0, 0): return Q if Q == (0, 0): return P x1, y1 = P x2, y
阅读全文
摘要:题目: from Crypto.Util.number import * from Crypto.Cipher import AES from Crypto.Util.Padding import pad from random import randint import hashlib from
阅读全文
摘要:题目: #sagemath from Crypto.Util.number import * def add(P, Q): (x1, y1) = P (x2, y2) = Q x3 = (x1*y2 + y1*x2) * inverse(1 + d*x1*x2*y1*y2, p) % p y3 =
阅读全文
摘要:题目1: from Crypto.Util.number import * from secret import flag assert flag[:5]=='cnss{' and flag[-1] == '}' flag_k = bytes_to_long(flag[5:-1].encode())
阅读全文
摘要:题目: from Crypto.Util.number import getPrime from libnum import s2n from secret import flag p = getPrime(256) a = getPrime(256) b = getPrime(256) E = E
阅读全文
摘要:题目: from Crypto.Util.number import * flag = b'Spirit{*****************}' plaintext = bytes_to_long(flag) length = plaintext.bit_length() a = getPrime(
阅读全文
摘要:题目: from Crypto.Util.number import * from secret import FLAG p = getPrime(128) step = len(FLAG) // 3 xs = [bytes_to_long(FLAG[:step]), bytes_to_long(F
阅读全文
摘要:题目: from secret import flag assert flag[:5] == b'cazy{' assert flag[-1:] == b'}' flag = flag[5:-1] assert (len(flag) == 24) class my_LCG: def __init__
阅读全文
摘要:题目: from Crypto.Util.number import * flag = b'NSSCTF{******}' class LCG: def __init__(self, seed, a, b, m): self.seed = seed # 初始种子 self.a = a # 乘数 se
阅读全文
摘要:题目: from Crypto.Util.number import * flag = b'NSSCTF{******}' class LCG: def __init__(self, seed, a, b, m): self.seed = seed # 初始种子 self.a = a # 乘数 se
阅读全文
摘要:题目: from Crypto.Util.number import getPrime from random import choice, randint # flag来源 flag = b"VNCTF{xxxxxxx}" assert len(flag)<100 FLAG1=flag[:32]
阅读全文
摘要:题目: from Crypto.Util.number import * flag = b'NSSCTF{******}' class LCG: def __init__(self, seed, a, b, m): self.seed = seed # 初始种子 self.a = a # 乘数 se
阅读全文
摘要:题目: from Crypto.Util.number import * flag = b'Spirit{****************************************}' plaintext = bytes_to_long(flag) length = plaintext.bit
阅读全文

浙公网安备 33010602011771号