# Re: JSH: Ethics of a factoring solution

rossum wrote:
On 2 Jun 2006 17:30:51 -0700, jstevh@xxxxxxx wrote:

I am wondering if I should continue my search for a solution to the
factoring problem if every time I think I have one I beat myself up

[snip]

When you post one of your solutions to the factoring problem there are
two possibilities:

1 It doesn't work.

2 It does work.

If it doesn't work then those people who think that you are kook will
only have their opinion confirmed. As William Bahn says, you should
not do this. If you are going to post anything here then make very
sure that a) it works and b) it works faster than trial factoring or
Fermat's two squares method. Your previous attempts did "work" but
were much slower than existing methods so were not practical.
Remember that I can find a solution to the RSA problem with a simple
trial factoring algorithm:

bigInt Factor(bigInt RSA) {
for (BigInt i = 2; i < RSA; ++i) {
if (RSA % i == 0) { return i; }
}
}

The real problem is finding a *fast* factoring method that will finish
in less than a million years.

If your method does work then you can break the news to to world
gently. As part of your testing to make sure that it works you can
factor one of the RSA numbers. Publish just the factors. Do not at
this point publish your factoring method. This will a) establish that
your method works, b) prove your ownership of a method, c) show that
you are not a crackpot and d) give the world due warning that RSA is
unsafe and that they should move to another encryption method. At
this point you do not release the actual method.

Ethically you are in the clear because you will have given the world
due warning and allowed time to change to a more secure method. Other
people will not be able to use your method because you will not have
released it yet.

Is it ethical to release the actual method? Once the world has had
enough time, say five years, to make the change then yes. But you do
have to wait five years or so after publishing the factors of the RSA
number to allow time for systems to be changed.

In short:

2 Test it. (This is where you have fallen down in the past - you

3 Factor an RSA number.

4 Publish the factors of the RSA number, but not the method you used.

Let's say for the sake of argument that I had this overwhelming
insight, like had this incredible dream with the solution to the
factoring problem, got up tomorrow, quickly programmed it and got the
factors of the next RSA number, and did what you said, posting them,
but not the method.

So, by this hypothetical scenario, I post factors tomorrow morning.

Wouldn't Monday open with a stock market crash?

Is that really ethical if I see that as a real possibility and do it
anyway?

James Harris

.