Это не представляет угрозы безопасности на протяжении всей $P$ и $Q$ быть известным. На самом деле длина $P$ и $Q$ обычно известно, потому что большинство стандартов требуют $P$ и $Q$ иметь одинаковую длину и для общего модуля $N = P \cdotQ$ иметь двойную длину (что исключает значения $P$ и $Q$ которые оба $n$-битное число, произведение которого находится между $2^{2n-2}$ и $2^{2n-1}$).
Итак, если вы знаете, что $2^{2n-1} < N < 2^{2n}$ и ключ был сгенерирован типичной реализацией, то $2^{n-1} <P <2^n$ и $2^{n-1} < Q < 2^n$. На самом деле, некоторые реализации даже заставляют два старших бита простых чисел быть равными 1, т.е. $3 \cdot 2^{n-2} < P,Q < 2^n$, что гарантирует $N \ge 2^{2n-1}$ и не уменьшает значительно пространство закрытого ключа.
Ключ RSA может быть таким же сильным, как наименьшее простое число, поэтому на самом деле не имеет смысла, чтобы простые числа имели разные размеры. Если одно простое число больше другого, это замедляет вычисления, но не повышает безопасность.
Вы можете увидеть минимальные длины ключей для RSA («модуль факторинга»), рекомендованные некоторыми авторитетами на keylength.com. Разделите на два, чтобы получить размер двух простых чисел.