90 bits p and q takes about 10 seconds to crack on my computer, try changing it if it is too slow/fast.

backdoorBase = 7; resolution = 10; bits = 90;

gen[l_,seed_] := {SeedRandom[seed],
                                     NextPrime[ 2^l + RandomInteger[2^l]], 
                                     NextPrime[ 2^l + RandomInteger[2^l]]}[[2;;3]]

closeX[x_] := Ceiling[Log[backdoorBase,x]*resolution]

expWalk[i_]  := NextPrime[backdoorBase^(i/resolution)]

fakeGen[l_, seed_] :=  ({#[[1]],expWalk[closeX[#[[2]]]]}& /@ {gen[l,seed]} )[[1]]

crack[l_, n_] :=(cq= expWalk[Flatten[(Position[ Table[ Divisible[n,expWalk[i]], {i,1,Ceiling[Log[backdoorBase,2^(l)]]*resolution+1}], True])][[1]]]; {n/cq,cq})

Generate real RSA

{p,q} = gen[bits,1234]

n = p*q

Timing[FactorInteger[n]]

Generate fake RSA (notice same p)

{fp,fq} = fakeGen[bits,1234]

fn = fp*fq

Timing[FactorInteger[fn]]

Timing[crack[bits,fn]]

Testing bigger N

{fp,fq} = fakeGen[512,1234]

fn = fp*fq

Timing[crack[512,fn]]

Plotting

expWalk[i_]  := NextPrime[backdoorBase^(i/resolution)]

LogPlot[ expWalk[i], {i,1,100}]