I've shared the basic pseudo code for RSA Bruteforce below. Can you please write a basic pseudo-code for this method?
GenerateRSAKeys()
p => random big prime, below 64bits
q => random big prime, below 64bits
e => random small prime, below 16bits
k => random small integer, below 16 bits
N = p * q
d = (k * ((p - 1) * (q - 1)) + 1) / e
(e, N) => Public key
(e, d, p, q) => Private key
RSAEncode(m, e, N) // m => message, e and N are public key
h ≡ m ^ e mod N
RSADecode(h, d, N) // h => encrypted message, d is part of private key
m ≡ h ^ d mod N
RSACrack_GetPrivateKeyFromPublicKey(e, N, minPrimeBitsLength)
bitLength = GetBitsLength(N)
k = 2
// iterator uses sieve algorithm
primes = all64BitsPrimes.Select(p => GetBitsLength(p) >= minPrimeBitsLength && GetBitsLength(p) <= (bitLength - minPrimeBitsLength))
// Example Primes buffer is 4GB, all below 64Bits primes use 1TB memory
// use only odd numbers bit array
// max 256 cycles
for primesBuffer of primes
for p of primesBuffer
for q of primesBuffer.Inverse()
bitLengthA = GetBitsLength(p)
bitLengthB = GetBitsLength(q)
bitSum = bitLengthA + bitLengthB
if (max(bitLengthA, bitLengthB) >= bitLength && bitSum <= bitLength)
if (p * q == N)
d = (k * ((p - 1) * (q - 1)) + 1) / e
return (e, d, p, q)