On factoring large numbers