2023-12-08から1日間の記事一覧

ringtheory

https://ringtheory.herokuapp.com/

pbctf2020 | Special Gift

pbctf2020 RSA RSAで一部の値がわかっている時 #!/usr/bin/env python3 from Crypto.Util.number import getStrongPrime, inverse, bytes_to_long, GCD as gcd from Crypto.Random.random import randint from flag import flag p = getStrongPrime(512) q =…

pbctf 2021 | Seed Me

#pbctf_2021 #UnblvR https://gist.github.com/jhs7jhs/a6e872e7e37e726b3d7bae6f7461e70b https://gist.github.com/myrdyr/c1b77f1cbd8e2acb117e74c7831ef876

m0leCon 2021 | obscurity

#m0lecon2021 import random from functools import reduce import sys from math import log2 from secret import flag def xor(a, b): return bytes(x^y for x,y in zip(a,b)) class LFSR(object): def __init__(self, s, p): self.s = s self.p = p def c…

foobarCTF 2022 | sigma bg

#foobarCTF_2022 #!/usr/bin/env python3 from Crypto.Util.number import * import math flag = b'***************REDACTED******************' def keygen(bits): while True: p,q = getPrime(bits),getPrime(bits) if (p % 4 == 3) and (q % 4 == 3 ) and…

endmorphismとかisomorphismとか

polymorphismってなんだ……? 射のことば

done

corCTF 2021 | fried rice

#corctf2021 from random import shuffle, randrange, randint from os import urandom from Crypto.Util.number import getPrime, getStrongPrime, long_to_bytes from Crypto.Cipher import AES from Crypto.Util.Padding import pad from private import …

Wani CTF 2023 | fusion

#wani_ctf_2023 from Crypto.PublicKey import RSA RSAkeys = RSA.generate(2048) p = RSAkeys.p q = RSAkeys.q n = RSAkeys.n e = RSAkeys.e m = b"FAKE{<REDACTED>}" c = pow(int.from_bytes(m, "big"), e, n) mask = int("55" * 128, 16) r = p & mask mask = mask <</redacted>…

UMASS CTF 2022 | mtrsass

#UMASS_CTF_2022 #!/usr/local/bin/python # # Polymero # # Imports from Crypto.Util.number import long_to_bytes, bytes_to_long, getPrime, inverse from base64 import urlsafe_b64encode, urlsafe_b64decode from hashlib import sha256 import json …

UIUCTF 2020 | nook crypt

EllipticCurve option 1では との結果を得ることができる。ただし時折 が壊れた値になるらしい option 2では 任意の平文 に対してを計算してもらえる まずは楕円曲線上の点を集めて楕円曲線のパラメータを当てるところからやる。 に対して 同様に この2式に…

UIUCTF 2020 | coelacanth_vault

crt

https://furutsuki.hatenablog.com/entry/2020/07/20/142730#crypto-coelacanth_vault CRT

TSG LIVE CTF 8 | RSA Debug ?

def my_pow(a, n, m): result = 1 while n > 0: if n % 2 != 0: result = (result * a) % m a = (a + a) % m # oops! n = n // 2 return result from Crypto.Util.number import getPrime, bytes_to_long p = getPrime(512) q = getPrime(512) N = p * q phi…

SECCON CTF | cerberus

#seccon2021 #kurenaif import base64 from Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad, unpad from Crypto.Util.strxor import strxor from flag import flag import signal key = get_ran…

S4CTF 2021 | malady

#s4ctf_2021 #!/usr/bin/env sage from flag import flag def make_matrix(n): Zn = IntegerModRing(n) G = GL(2, Zn) while True: a, b, c, d = [randint(0, n - 1) for _ in range(4)] P = G([[a, b], [c, d]]) if P in G: return P def bpow(P, n): if n …

RaRCTF 2021 | randompad

#rarctf2021 from random import getrandbits from Crypto.Util.number import getPrime, long_to_bytes, bytes_to_long def keygen(): # normal rsa key generation primes = [] e = 3 for _ in range(2): while True: p = getPrime(1024) if (p - 1) % 3: …

RaR CTF 2021 | sRSA

#rarctf2021 from Crypto.Util.number import * p = getPrime(256) q = getPrime(256) n = p * q e = 0x69420 flag = bytes_to_long(open("flag.txt", "rb").read()) print("n =",n) print("e =", e) print("ct =",(flag * e) % n) RSAじゃないし n = 549627…

NeverLAN CTF 2019|Z3ro Cool Bruh

#NevarLANCTF2019 https://ctftime.org/task/7547 Hackers keep secrets. 画像が渡される。とりあえずstegsolveとsteghideを試したけど何もない。exiftoolにもおかしいところは見当たらなかった 信じ難いことにneverlanctfがパスワードになっていて steghide…

N1CTF 2020 | curve

#!/usr/bin/env sage import signal, hashlib, string, random, os os.chdir(os.path.dirname(os.path.abspath(__file__))) FLAG = open("./flag.txt", 'r').read() ROUNDS = 30 def PoW(): s = ''.join([random.choice(string.ascii_letters + string.digit…

Many Time Pad

https://bitbucket.org/zer0pts/mtpsolver/src/master/

Length Extension Attack

Hash(m1)があるときに、 Hash(m1||m2) が計算できる。これにより、m1がm1であることを確かめるような署名のHash(m1)をすり抜けることができる。 原理 https://ptr-yudai.hatenablog.com/entry/2018/08/28/205129に詳しい。とりあえず図をコピーしてくる この…

InCTF 2020 | FaultyLFSR

#inctf2020 #LFSR from random import Random from flag import flag ,seeds from Crypto.Cipher import AES from hashlib import sha256 SECRET = 14810031 #assert seeds[3]%seeds[1] == 0 CLUE-1 def generate() : masks = [43, 578, 22079, 142962] for …

Google CTF 2021 | Pythia

#googlectf2021 #!/usr/bin/python -u import random import string import time from base64 import b64encode, b64decode from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.ciphers.aead import AESGCM fro…

Fword CTF 2020 | Weird RSA

rsa

RSAなのはそうだけど、1文字ずつ暗号化している。 がランダムに選ばれているので困るように見えるが、1文字ずつの暗号化なので単一換字暗号と変わらない。数値を適当に文字にマッピングしてquipqiupなどに投げれば良い from random import randrange from Cr…

Crypto CTF 2021 | Double Miff

#cryptoctf2021 #!/usr/bin/env python3 from Crypto.Util.number import * from secret import a, b, p, P, Q from flag import flag def onmiff(a, b, p, G): x, y = G return (a*x*(y**2 - 1) - b*y*(x**2 - 1)) % p == 0 def addmiff(X, Y): x_1, y_1 = …

CrewCTF 2022 | The D

#CrewCTF_2022 #uninterested_challenge_list from Crypto.Util.number import getStrongPrime, inverse, bytes_to_long, GCD from random import randint from flag import flag p = getStrongPrime(512) q = getStrongPrime(512) n = p * q while True: d …

CSA Capture The Flag 2019 | Flag Server

#CSACTF2019 https://ctftime.org/task/8470 import sys, time from Crypto.Hash import SHA256 from Crypto.Cipher.AES import AESCipher flag = "Flag goes here" def encrypt(m): key = SHA256.new(flag).digest() try: text = 'rowdy123' + m.decode('ba…

BlackHat MEA 2023 Finals

BHMEA_CTF_2023_Crypto.zip

Ballare-Micali OT

1-out-of-n Oblivious Transferを構成するプロトコル。すなわち、n個のメッセージを送信し、受信者はそのうち1つだけを受信するが、送信者には、受信者がどれを受信したかわからない 準備 素数位数pを持つ巡回群 のgenerator である、何かしらのハッシュ、SH…

BSidesSF 2019 CTF|pythia

#BSidesSF2019CTF Oracular Rift Location - pythia-a0227fc1.challenges.bsidessf.net:1521 多分RSA の Bleichenbacherのやつ