dsa

BSides Noida CTF | kotf_returns

#bsidesnoidactf from hashlib import sha1 from random import randint from sys import exit from os import urandom from Crypto.PublicKey import DSA from Crypto.Util.number import bytes_to_long, getPrime rot = randint(2, 2**160 - 1) chop = get…

(EC)DSA で nonceが小さい時

#ECDSA / #DSA LLL の が小さくて(がsha1で決まるなど)、かつ複数のインスタンスを集められるときはHidden Number Problemになる なので、Hidden Number Problemの式と対応付けると次のようになる from hashlib import sha1 # secp256k1 p = 0xfffffffffff…

redpwn CTF 2021 | Keeper of the Flag

#redpwnctf2021 #!/usr/local/bin/python3 from Crypto.Util.number import * from Crypto.PublicKey import DSA from random import * from hashlib import sha1 rot = randint(2, 2 ** 160 - 1) chop = getPrime(159) def H(s): x = bytes_to_long(sha1(s)…

N1CTF 2020 | babyproof

from hashlib import sha256 from Crypto.Util.number import getRandomRange from Crypto.PublicKey import DSA from secret import proof_of_work, flag x = int.from_bytes(flag, 'big') assert x.bit_length() == 247 def baby_proof(): key = DSA.gener…

CakeCTF 2022 | Rock Door

#CakeCTF2022 from Crypto.Util.number import getPrime, isPrime, getRandomRange, inverse, long_to_bytes from hashlib import sha256 import os import secrets def h(s: bytes) -> int: return int(sha256(s).hexdigest(), 16) q = 1395951349381371256…

RaRCTF 2021 | snore

#rarctf2021 from Crypto.Util.number import long_to_bytes, bytes_to_long, isPrime from Crypto.Util.Padding import pad from Crypto.Cipher import AES from hashlib import sha224 from random import randrange import os p = 1489829114012647345006…

3kCTF-2021 | Digital

#3kCTF-2021 from Crypto.Util.number import inverse import hashlib import os rol = lambda val, r_bits, max_bits: (val << r_bits%max_bits) & (2**max_bits-1) | ((val & (2**max_bits-1)) >> (max_bits-(r_bits%max_bits))) class Random(): def __in…

Midnightsun CTF 2021 Quals | dbcsig

#midnightsunctf2021quals from hashlib import sha256 def keygen(password): while True: p = 2 * random_prime(2 ^ 521) + 1 if p.is_prime(proof=False): break base, h = 3, password for i in range(256): h = sha256(h).digest() x = int.from_bytes(…

TSGCTF 2021 | This is DSA

#TSGCTF_2021 #hakatashi # See also https://github.com/tsg-ut/pycryptodome from Crypto.PublicKey import DSA from Crypto.Signature import DSS from Crypto.Hash import SHA256 from Crypto.Util.number import getPrime from Crypto.Random.random im…

Elgamal署名

ElGamal暗号を用いた署名。劣化DSAという感じ 鍵 として公開鍵、秘密鍵 署名 where として署名 検証 が と等しいかをみる