離散対数問題

singular curve

#EllipticCurve 特異点(Singular Point)を持つ楕円曲線のこと。特異点の様子によってNode型かCusp型かに分けられる。 SingularなEllipticCurveは同型な別の群への写像を持ち、離散対数問題が簡単になることがある CuspかNodeか調べる 特異点(のx座標)を調…

Pohlig-Hellman Attack

離散対数問題に対するアプローチの一つ。 DLPでもECDLPでも同じアルゴリズムが適用できる。 DLPに対するPohlig-Hellman Attack 前提として、巡回群 の位数 が次のように素因数分解可能であるとする。よくあるのは素数 を法とする乗法群で、その位数はなので…

Union CTF | neo-classical key exchange

#UnionCTF 一般線形群上の離散対数問題 そしてこれは行列が対角化#### できないときには解ける import os from hashlib import sha1 from random import randint from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad FLAG = b"union{…

楕円離散対数問題

ECDLPとも 有限体上ではからを求めることは容易だがその逆は困難, これを求める問題を離散対数問題(DLP)と言った 楕円曲線上では整数と楕円曲線上の点から、楕円曲線上の点を計算するのは簡単だが、その逆は難しい。からを求める問題を#### 楕円離散対数問題…

m0leCon 2021 | Giant log

#m0lecon2021 #good_challenges_2021 https://keltecc.github.io/ctf/writeup/2021/05/15/m0lecon-ctf-2021-teaser-giant-log.html import random from secret import flag, fast_exp import signal p = 0x83f39daf527c6cf6360999dc47c4f0944ca1a67858a11bd9…

redpwn CTF 2021 | scrambled-elgs

#redpwnctf2021 #!/usr/bin/env sage import secrets import json from Crypto.Util.number import bytes_to_long, long_to_bytes from sage.combinat import permutation n = 25_000 Sn = SymmetricGroup(n) def pad(M): padding = long_to_bytes(secrets.r…