Não existe um método simples para números muito grandes. Por isso se codificam as mensagens (RSA) com o produto de dois primos muito grandes. A factorização é uma operação que leva imenso tempo, exponencialmente mais para números grandes.
Por isso a usam no comercio electronico. Normalmente cada um dos lados sabe um dos primos e facilmente descodifica. Qualquer intruso tem um número enorme que tem de factorizar em dois números primos, e encontrar números primos grandes é difícil.
Não posso ajudar muito com algoritmos, mas Monte Carlo não é a solução para muita rapidez