phiがわかっているときの素因数分解

WaniCTF 2021 spring | Extra

#wanictf2021spring from Crypto.Util.number import getPrime, bytes_to_long with open("flag.txt", "rb") as f: flag = f.read() p, q = getPrime(1024), getPrime(1024) N = p * q M = 2 * p + q e = 0x10001 def encrypt(plaintext: bytes) -> int: pla…

TokyoWesterns CTF 6th 2020 | twin-d

require 'json' require 'openssl' p = OpenSSL::BN::generate_prime(1024).to_i q = OpenSSL::BN::generate_prime(1024).to_i while true d = OpenSSL::BN::generate_prime(1024).to_i break if ((p - 1) * (q - 1)).gcd(d) == 1 && ((p - 1) * (q - 1)).gc…

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),…