2. Steal bitcoins from very old wallets with some small amounts. Supposedly those wallets are lost. Steal enough to have enough money to live a good life. Well, if for some reason I would have enough money, skip this step.
3. Break google.com certificate and mail hashes to Google Security team. Ask them to disclose that factorization is broken, so the rest of the world can prepare. Repeat with some other big companies.
4. Disclose algorithm when the world is ready.
I.e. if you could do DLP in polynomial time, then also factoring becomes polynomial (thanks to Shor's Algorithm [2]).
The reverse, however, is not currently known to be true AFAICS: having an oracle that computes the DLP does not help you to speed up factoring (at least not in a way that makes it polynomial).
[1] https://en.wikipedia.org/wiki/Reduction_(complexity)
[2] https://en.wikipedia.org/wiki/Shor%27s_algorithm
(EDIT: typo)
That is what I remembered. You don't need Shor's Algorithm though. DLP would help finding roots, in particular if the log of a number is even, you can compute the square root of the original number which is useful for finding quadratic congruences (the goal of the quadratic sieve). The reverse (factoring enables DLP) does not appear to be true.
The stack-exchange questions that you link to refers to [1] "Discrete Logarithms and Factoring". Section 1 "Introduction" already states many facts that imply that DLP is hard, even if you can factor:
* fastest known method for DLP is O(exp(c sqrt(log n log log n)))
* 1. 3c) "if we can factor in polynomial time, then to quickly solve a^x ≡ b mod n, all we need are solutions modulo the prime divisors of n"
Note that "solutions modulo the prime divisors of n" are still instances of the DLP with super-polynomial complexity, and in cryptographic applications N is usually a prime number anyway (DHE, ElGamal crypto-system), so 1 3c) does not actually apply.
See also the paper's section 6 final remarks "Conversely, one can ask for a fast algorithm for prime-modulus problems, assuming all needed factorizations. Both of these questions remain unanswered".
[1] https://www2.eecs.berkeley.edu/Pubs/TechRpts/1984/CSD-84-186...
* Discuss the result with a few cryptographers he trusts, to check whether he didn't make a mistake and to make sure he's not the only one who knows about it.
* Write a paper. Put in all kinds of silly things, because it will get published anyway.
* Publish proof of having found the algorithm, together with a hash of the paper.
* Wait ~3 years until everyone has moved to a better algorithm. The normal responsible disclosure period is 3-6 months but this is so big it has to take a bit longer.
* Publish the paper.
I certainly think this is pretty dangerous. It may in fact be better to do the initial publication anonymously... and make sure you avoid all possible traces (the NSA will do everything in their power to get a hold of you).
I think my plan would just be to publish that factorisation anonymously (being super paranoid to avoid being traced) and then wait however long was necessary before publishing the algorithm.
Unless someone else comes up with the same algorithm, and does lower the constant factor.
This has little impact on what someone can do with the algorithm, but it sounds like the author is concerned with ensuring that they understand why their new algorithm works. Since they're committed to not discussing their discovery for several years, it seems reasonable to want to make sure they haven't convinced themselves of something that doesn't work the way they think.
No, I think this is a danger to you as long as you, and only you know about it.
Now, in the case you were to immediately publish this after you find out,same thing, you'd be safe. The fallout would be sub-optimal though, you would gain no immediate cash, but you would gain notoriety (maybe not the best kind) and you would give NSA and other intelligence agencies who presumably collected encrypted data for later deciphering. The internet security would probably be compromised for a couple of months, until new algos would be in place.
I am not a cryptographer and I just have minimal understanding of these things, but I'll take a crack at saying what could be done:
1) Tell no one. POC is sufficient to deomnstrate it working.
Ethical path goto 4
Unethical path:
2) Build a helper program that can easily crack keys on demand
3) Put it out on the darknet that you decrypt stuff for a steep fee. Get rich.
4) Publish the finding, do not provide the algo, focus on maintaining anonymity and having impeccable OPSEC. Provide proof.
This will mean that everybody knows how unsafe their infrastructure is and there will be maximum effort to move everything to something else. But the algo is still contained and people can not yet have the power, _you_ have it. This, of course exposes you to maximal risks but also maximizes your potential financial reward. Maybe someone will soon find a way to crack it too, and then your show is off. Or maybe they will never find it and you remain a mystery, the _one_guy who could brake prime factoring. (unlikely, considering the number of smart people on this earth)
It doesn't break elliptic curve crypto by factoring numbers. Instead, it breaks them by solving the discrete logarithm problem.
Well, what kinds of mistakes can you make? Either it works or it doesnt. You (and everyone else) can verify that easily.
(It might not work some numbers with special properties or so. But this does not matter if you can already break 99% of RSA keys)
You are off by many magnitudes. 1M is very little and equivalent computing power can be bought for a few tens of euros.
> _I_ still wouldn’t be able to crack any RSA keys at all.
Everybody can crack RSA keys if the modulos is small enough. You just need to factor a number :)
There actually nice list of numbers to try: https://en.wikipedia.org/wiki/RSA_numbers
You can factor, e.g, RSA-100 on a normal PC with state of the art algorithms in reasonable time.
That said, I had some new insight into factoring, and I was only a mere factor of one million away from factoring industrial crytography, I'd maybe try to optimize it a bit more.
No discussion needed. Simply MITM yourself or others in network to find out.
Then I'd enjoy watching people try to figure out if I'd solved factoring, or broke the hash function, or both, or something else.
I'd adjust the price regularly to maximize my profit. The world would go crazy and very rapidly upgrade all software to not use prime factoring based encryption. I'd retire early to some lovely place, and never, ever, tell anyone how I got all this money.
Why not just create transfers quietly from others and bleed out wallets from around the world, then convert to cash, then publish? You’d be rich, crypto would crash, and you’d be able to buy a lifetime supply of popcorn for the ensuing collapse.
But all you'd need to do is steal from one early adopter (it's in their financial interest to be savvy enough) and the adopter could alarm the community that an exploit is in existence.
In addition, there are various cryptographic algorithms used. So, one could accept Litecoin, if SHA-256 was exploited. Or accept Vertcoin if both Script and SHA-256 was exploited. Etc.
So, it's an interesting situation based on game theory of an exploit. There is no hard and fast answer.
Now I think bitcoin actually uses es elliptic curve cryptography (I don’t know, I really don’t care about bitcoin), but the hypothetical was more along the lines of “what if you could break public/private key cryptography”, and less about factorization in specific, anyway.
But a break in ECC would be...something extreme IMHO and according to multiple researchers, I believe, would happen after SHA-256 because ECC is more settled mathematics.
I think the real question here should be whether it is immoral though, because it is trivially illegal. Consider the DMCA and penalties for circumventing DRM. Heck, if you are decrypting stuff that is classified, intent might not even matter.
A fundamental class break that takes down RSA would be a big deal, but not a national emergency; the world is already moving somewhat rapidly towards elliptic curve systems anyways.
My point is just that nobody is going to kill you for this ability.
Just publish it. At most demonstrate it's been broken in some incontrovertible way so people figure out next steps more quickly. Protect yourself as best you can.
...there's probably already sci-fi around that idea, but if not it'd be a great plot.
Indeed, the authors who proved that primality testing was in P did so with, IIRC, an O(n^12) algorithm (with n being the number of bits), which is not much use in practice. Although, in that case the result was already widely suspected to be true, and fast, randomized (non-deterministic but highly accurate) polynomial-time algorithms were already known.
Also, even a O(n^100) sol'n is way better than O(2^n) since (usually) I can parallelize polynomial time algorithms to something more practical: e.g., http://cds.iisc.ac.in/faculty/vss/courses/PPP2014/projects/p...
For both factoring or preimaging, I'd think I'd offer it publicly (any three lettered agency will find you anyway). I mean offering the 'service' as a commercial, legal, tax paying business.
- Offer factoring/preimages as a service, start with very high prices (like a million USD per input).
- Lower the price after every x sales. Like for every 100 sales, reduce the price by 50%
- Once the price goes below a certain threshold, release the algorithm.
This method has (I think) the most benefits:
- it slowly released to the public, giving everybody enough time to migrate away
- it makes you less of a target for government/organised crime, as it's less controversial for them just to pay instead of trying to extort.
- by incorporating a business and paying tax, offering this service will probably be legal in most countries (not sure though)
- by the time you release the algo, you'll have made plenty of money to retire, and you'll no longer be at risk since it is now public information.
And for those wondering: if you find practical SHA-2 preimage, you would NOT be able to mine bitcoin with it.
https://www.antipope.org/charlie/blog-static/fiction/toast/t...
It'd be interesting if it could be used to manipulate voting results, but e-voting is still in its infancy.
I would publish it in such a way that it would appear to have been released/solved by the worst person I didn't like; a world-known dictator or similar would be ideal. Nobody would believe it, but maybe their narcissism wouldn't let them not play along. It very well might screw their life over in ways unknown.
The uproar around the world would be very interesting to watch.
But I'd definitely make sure I wasn't connected in any way - you would likely have a target on your head (because if you could do that - what else could you know or do?)...
Even when this occurs, the earliest iterations of these algorithms are intensely technical, and very slow. Of course, followup research often rapidly improves on these numbers, but that usually happens in collaboration with other authors.
So all-in-all, it is unlikely that a lone genius comes up with an efficient factoring algorithm all by themselves.
Improve on the old record? Possible. Shatter it at this late date? That’ll take a mode of thinking that nobody has tried.
If the encryption eventually gets cracked somehow, my data will be available not only to whoever owns, hacks, or otherwise compromises the cloud storage provider itself, but anyone who happened to have captured the traffic on any of the hops it went through on the way to the provider.
Think carefully. You now how the power to decrypt much of the world's banking and internet traffic and spoof certificates. There are forces in this world that would kill you to have this power. Would you publish your findings for everlasting fame? Would you sell it to the NSA for money (remember you can prove your power without releasing your algorithm)? Would you use it for personal gain or power? Who would you tell first? Who do you trust?