sage
文章平均质量分 79
前方是否可导?
随风而行,随心而行。
展开
-
N1CTF2020crypto Easy RSA?
task.sagefrom Crypto.Util.number import *import numpy as npmark = 3**66def get_random_prime(): total = 0 for i in range(5): total += mark**i * getRandomNBitInteger(32) fac = str(factor(total)).split(" * ") return int(fac[-1])原创 2020-10-23 20:30:00 · 1063 阅读 · 1 评论 -
[CISCN2018]sm(矩阵)
encryptfrom Crypto.Util.number import getPrime,long_to_bytes,bytes_to_longfrom Crypto.Cipher import AESimport hashlibfrom random import randintdef gen512num(): order=[] while len(order)!=512: tmp=randint(1,512) if tmp not in or原创 2020-08-11 18:18:31 · 891 阅读 · 0 评论 -
phrackCTF ---hard RSA
题目给的是一个二次剩余首先分解成:c= x2 %pc=x2 %q分别求得 x1,-x1,(mod p) x2,-x2(mod q)然后 用中国剩余定理合并(一共有4种情况)crt([余数集合],[模数集合])#PCTF{sp3ci4l_rsa}原创 2020-08-09 13:37:04 · 705 阅读 · 1 评论 -
babyRSA1(多项式分解)
encrypt#!/usr/bin/env sage# coding=utf-8from pubkey import P, n, efrom secret import flagfrom os import urandomR.<a> = GF(2^2049)def encrypt(m): global n assert len(m) <= 256 m_int = Integer(m.encode('hex'), 16) m_poly =原创 2020-08-08 19:27:17 · 648 阅读 · 0 评论 -
[watevrCTF 2019]ECC-RSA
encryptfrom fastecdsa.curve import P521 as Curvefrom fastecdsa.point import Pointfrom Crypto.Util.number import bytes_to_long, isPrimefrom os import urandomfrom random import getrandbitsdef gen_rsa_primes(G): urand = bytes_to_long(urandom(521//8))原创 2020-08-08 14:17:56 · 899 阅读 · 0 评论 -
已知高比特位p分解n
encrypt#! /usr/bin/env python# -*- coding: utf-8 -*-from Crypto.Util.number import getPrime, long_to_bytes, bytes_to_long, isPrime, getRandomNBitIntegerfrom libnum import invmoddef destory(x, num): while True: dt = getRandomNBitInteger(num) r =原创 2020-08-07 20:41:04 · 746 阅读 · 0 评论 -
[NPUCTF2020]共 模 攻 击(sage解方程)
encrypthint:from gmpy2 import *from Crypto.Util.number import *from secret import hintm = bytes_to_long(hint)p = getPrime(256)c = pow(m, 256, p)print(p)p, q = getPrime(256), getPrime(256)n = p * qe1, e2 = getPrime(32), getPrime(32)c1, c2 = po原创 2020-08-06 23:45:30 · 2229 阅读 · 2 评论