# vul_rsa_01 Problem --- - 200pt - 170solves あなたは組織の定期研修に参加しています。教官から RSA 暗号の禁止事項くらいは覚えておくようにと課題が出題されました。どうやら暗号文 c を解くことができればそれだけ早く帰れるようです。 以下の RSA 暗号を解読してフラグを入手してください。 Output --- c : `39119617768257067256541748412833564043113729163757164299687579984124653789492591457335` n : `13373801376856352919495636794117610920860037770702465464324474778341963699665011787021257` e : `65537` Solve --- nが素因数分解できる ```python= from Crypto.Util.number import long_to_bytes c = 39119617768257067256541748412833564043113729163757164299687579984124653789492591457335 n = 13373801376856352919495636794117610920860037770702465464324474778341963699665011787021257 e = 65537 # sage: factor(n) p = 3058517013146002381763962882964790715736519 q = 4372642466716249946441875327733923056149624303 phi = (p-1)*(q-1) nn = p*q assert nn==n d = pow(e,-1,phi) m =pow(c,d,n) print(long_to_bytes(m)) ``` Flag --- :tada: flag{weak_rsa_can_be_decrypted!} ###### tags: `setodaNoteCTF` `crypto`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up