Pseudo RSA keys are generated using the hidden small exponent method proposed by Claude Crepeau and Alain Slakmon:

Let M := a STRENGTH*2 bit even constant fixed in the program.
REPEAT pick a random number P of STRENGTH bits UNTIL Rabin-Miller primality test claims it is a prime
REPEAT pick a random number Q of STRENGTH bits UNTIL Rabin-Miller primality test claims it is a prime
Let N:=P*Q, PHI:=(P-1)*(Q-1)
REPEAT
 REPEAT
  pick a random number D such that |D|<|N|/4
 UNTIL gcd(D,PHI)=1
 using the extended Euclidean algorithm find E such that D*E=1 mod PHI.
 let E' := E + M mod N-1
UNTIL gcd(E',PHI)=1
using the extended Euclidean algorithm find D' such that D'*E'=1 mod PHI.
Output Private Key := (D',P,Q), Public Key := (E',N).


If you are the pseudo RSA algorithm implementer and know the secret constant, M, you can backdoor the encrypted message:

Given the public key (E',N), compute the related public key (E,N) where E := E'-M mod N-1. Using the Wiener algorithm solve the instance (E,N) for the corresponding D such that |D|<|N|/4, factor N as P,Q, given E,D.


was broken within minutes by Serge Vaudenay:

si r est un petit nombre premier qui divise PHI et N-1, on sait que
E et E' sont inversibles modulo r, donc M n'est pas egal a E' modulo
r. On peut donc distinguer une suite de clefs engendrees par pseudo-RSA
d'une autre suite en verifiant si ces informations sont coherentes.
Le seul probleme, c'est si r divise M : la, on ne voit aucune difference.
(C'est bien ce qui se passe pour r=2, car tu t'es assure que M etait
pair.)

Par exemple (r=3):
1. S = {0,1,2}, ct = t
2. decremente ct, si ct=0, stop et repond "clefs pseudo-RSA"
3. obtiens un nouveau (E',PHI,N)
4. si PHI mod 3 > 0 ou N-1 mod 3 > 0, recommence en 2
5. retire E' mod 3 de S
6. si S = {0}, stop et repond "clefs RSA, ou M divisible par 3"
7. recommence en 2
Il y a une clef sur 9 qui passe le test 4. Pour des clefs RSA,
il faudra 3 de ces clefs pour vider S, soit moins de 30 clefs.

Je pense donc qu'avec une probabilite de 1/3 sur M, on peut
distinguer une suite de clefs pseudo-RSA(M) d'une suite de clefs
RSA avec une trentaine de clefs.