2023-11-30から1日間の記事一覧

zh3r0 CTF V2 | in_jection

#zh3ro_CTF_2021 from secret import flag def nk2n(nk): l = len(nk) if l==1: return nk[0] elif l==2: i,j = nk return ((i+j)*(i+j+1))//2 +j return nk2n([nk2n(nk[:l-l//2]), nk2n(nk[l-l//2:])]) print(nk2n(flag)) #2597749519984520018193538914972…

zh3r0 CTF V2 | chaos

#zh3ro_CTF_2021 # from secret import flag def ROTL(value, bits, size=32): return ((value % (1 << (size - bits))) << bits) | (value >> (size - bits)) def ROTR(value, bits, size=32): return ((value % (1 << bits)) << (size - bits)) | (value >…

wtfCTF 2022

srdnlen CTF 2022 | wtfrsa

#srdnlen_CTF_2022 e: 18959 p: 8853107629856302430942645802685600792214004993921099904332911487775152756152460899671437787731654521568200225685173143721860070387195312109191089843558621 q: 122637763991345814139940390432201063534644731251148…

srdnlen CTF 2022 | fancy e

#srdnlen_CTF_2022 #!/usr/bin/env python3 import os import random import string from Crypto.Util.number import getPrime, bytes_to_long def flag_padding(flag): s = string.ascii_lowercase + string.ascii_uppercase + string.digits for i in rang…

pbctf 2021

pwnは謎arch問題しかでなくてひどかったがcryptoは良かった https://priv.pub/posts/pbctf-2021 https://m13h.github.io/html/notes.html#org38f8333 https://mystiz.hk/posts/2021-10-11-pbctf/ https://s3v3ru5.github.io/notes/pbctf2021

pbctf 2021 | GoodHash

#pbctf_2021 #rbtree

nullcon HackIM 2022 | Magic Words

#nullcon_HackIM_2022 from Crypto.Util.number import long_to_bytes, bytes_to_long target = b'ene moly mene mike ham ekki ekki spam ham ekki spam mene egg -- give me the flag!' target += b'\x00' for i in range(200): root = RealNumber(bytes_t…

n項のGCD

#拡張ユークリッドの互除法 #bezout https://trap.jp/post/1275/ を満たすは計算できるし、n項に拡張できるという話 方法を引用するとこう のベズー係数 を拡張ユークリッドの互除法を用いて一つ求める。 のベズー係数 を拡張ユークリッドの互除法を用いて一…

entropoid

entropoid-attack.tar.gz https://eprint.iacr.org/2021/583.pdf https://eprint.iacr.org/2021/1472.pdf よく分かってないけどそのうちCTFに出るでしょ Abstract entropoidと呼ばれるDLPベースの耐量子暗号が提案されていた。これは分配多元環(non associa…

division polynomial

https://en.wikipedia.org/wiki/Division_polynomials に詳しい weierstrass標準形の楕円曲線に対して、 と定義される多項式 一般化すると……難しいのでwikipediaを読んでくれ。漸化式の形になってる 性質 n-th torsion pointはn-th division polynomialのroo…

corCTF 2021 | dividing secrets

#corctf2021 from Crypto.Util.number import bytes_to_long, getStrongPrime from random import randrange from secret import flag LIMIT = 64 def gen(): p = getStrongPrime(512) g = randrange(1, p) return g, p def main(): g, p = gen() print("g:"…

bsgs

Baby step Giant step

angstrom CTF 2022 | log log log

#angstromctf_2022 from secrets import randbits from flag import flag flagbits = len(flag) * 8 flag = int(flag.hex(),16) q = 1270491686265326063997656157399914167184367213630300189554004897360671988693640164293879920017010945849582967879472…

UTCTF 2022 | Scrambled

#UTCTF_2022 #uninterested_challenge_list a[qjj7ahga2gc2jjg=qf/g.7xgm[qgpjo,g2fgog=q87f/tga=7vqm[2f,gpxff.g[o11qfq/gm[7x,[ahga2g1286q/gx1gv.g6q.n7ou/bgnxmgm[qg6q.=gcquqg2fgcq2u/g1jo8q=t3a2g/7f4mg6f7cgc[omg[o11qfq/bgnxmg2m4=g76o.g=2f8qga2g=m…

TG:HACK 2019 | The Chamber of Secrets

#TG:HACK2019 I was walking down a dark corridor one evening when I suddenly heard some whispering from the walls around me. I couldn't quite hear what it said, so when the thing whispering started moving, I obviously followed. What could g…

SecurinetsQuals2k21 | MiTM

#securinetsquals2k21 from Crypto.Util.number import long_to_bytes from Crypto.Util.Padding import pad from Crypto.Cipher import AES from secret import flag import hashlib import random import os import signal class DHx(): def __init__(self…

SECCON CTF 2022 Quals | BBB

#SECCON_CTF_2022_Quals #xornet from Crypto.Util.number import bytes_to_long, getPrime from random import randint from math import gcd from secret import FLAG from os import urandom assert len(FLAG) < 100 def generate_key(rng, seed): e = rn…

SECCON Beginners 2021 | Field Trip

#secconbeginners2021 from Crypto.Util.number import * from random import getrandbits from flag import flag flag = bytes_to_long(flag.encode("utf-8")) flag = bin(flag)[2:] length = len(flag) A = [] a, b = 0, 0 for _ in range(length): a += g…

RSA

公開鍵暗号方式の一つ。典型的には以下のようなコードが登場する from Crypto.Util.number import getPrime, isPrime, inverse import os def keygen(): p = getPrime(512) q = getPrime(512) n = p*q e = 65537 d = inverse(e, (p-1)*(q-1)) return (n, e),…

Oblivious Transfer

いわゆる紛失通信というやつ。 k-out-of-n OTと書いたら、送信者はn個のメッセージを送信し、受信者はそのうちのk個のメッセ―ジを受け取る。受信者はk個より多くのメッセージを受け取ることはできないし、送信者は受信者がどのk個のメッセージを受信したのか…

OMH 2021 CTF | Tower of Power

#OMH2021CTF #good_challenges_2021 from Crypto.Util.number import long_to_bytes from Crypto.Cipher import AES load('secret.sage') M = x^127 + x^126 + x^125 + x^124 + x^122 + x^120 + x^118 + x^117 + x^115 + x^108 + x^107 + x^104 + x^103 + x^…

Murru and Saettone scheme

rsa

とnon-cubicなinteger に対して、で定義される群の上の構造を用いたRSAっぽいスキーム にたいして、

InCTF | waRSAw

#inctf2019 https://github.com/ashutosh1206/Crypton/tree/master/RSA-encryption/Attack-LSBit-Oracle-variant Just another conventional RSA attack, isn't it? #!/usr/bin/env python from Crypto.PublicKey import * from Crypto.Util.number import *…

Imaginary CTF 2021 | Roll it Back

#imaginaryctf2021 from itertools import cycle, islice from gmpy2 import popcount def x(a,b): return bytes(islice((x^y for x,y in zip(cycle(a), cycle(b))), max(*map(len, [a, b])))) def t(x): return sum((((x & 28) >> 4) & 1) << i for i, x in…

Get started

Welcome to your new Scrapbox project! Everything is editable Click on any line and start typing to edit. Press tab at the beginning of a line to indent and add a bullet point. Highlight text to make it a new link , bold , and more . Add li…

Fword CTF 2021 | leaky blinders

#fwordctf2021

Fireshell CTF 2019 | Weird Crypto

#FireshellCTF2019 Hey, a weird hacker encrypted my files! Please help me! He likes games! Good luck! 問題ファイルは https://github.com/theoldmoon0602/2019-crypto-all-writeups/blob/4151058f977024d86e99f63bab1c1de23e57ba48/Fireshell_CTF_2019…

ECSC 2023

https://7rocky.github.io/en/ctf/other/ecsc-2023/

DiceCTF 2022 | rejected

#diceCTF2022 #!/usr/local/bin/python import secrets class LFSR: def __init__(self, key, taps): self._s = key self._t = taps def _sum(self, L): s = 0 for x in L: s ^= x return s def _clock(self): b = self._s[0] self._s = self._s[1:] + [self…