Обычно вы создаете ключи RSA, случайным образом выбирая чрезвычайно большие числа и проверяя, просты ли они.
Учитывая размеры участвующих чисел (более 100 цифр), единственно разумная возможность столкновения - это если есть проблема в генераторе случайных чисел, так что (по крайней мере, при некоторых обстоятельствах) числа, которые он выбирает, не являются очень случайный
Это была именно та проблема, которая привела к перерыву в системе SSL в Netscape (~ 4.0, если память работает). В данном конкретном случае проблема заключалась в генерации сеансового ключа, но основная идея была та же - достаточное количество «случайных» битов, которые использовались, были на самом деле довольно предсказуемыми, поэтому злоумышленник, который знал источники битов может довольно быстро сгенерировать то же «случайное» число и, следовательно, тот же сеансовый ключ.