A random tool like this would be the most entertaining possible way for something like that to be unleashed on the world
My brother once suggested that there are probably bits of code/algorithms that would be world changing if they were released in academic journals, but instead were written by some unknowing programmer in an afternoon for their job coding embedded systems for refrigerators.
This particular example may be unlikely, but it's a very fun idea.
Iirc, Heisenberg reinvented Matrix calculations to solve a problem in quantum physics. Not being a mathematician, he wasn't aware of the concept. Born recognized what Heisenberg had done and introduced him to his own reinvention.
Lots of people working in different fields end up reinventing things that have been known to math for centuries, often in clunky roundabout ways. I imagine some of them figure out things not known to math, but it's far more likely to go the other way.
Folks shouldn’t be afraid to “rediscover” stuff.
Primarily because the learnings you make are the same as the original “discoverer”. Without those learnings, you might not be able to arrive at your true destination.
>Folks shouldn’t be afraid to “rediscover” stuff.
Luckily no one is suggesting that.
A lot of people suggest that. So many that it has become an idiom. "Don't reinvent the wheel."
> Lots of people working in different fields end up reinventing things that have been known to math for centuries
I remember reading, about a year or two ago, about a medical doctor that published a paper rediscovering calculus (I just looked it up, it happened in 1994, there’s been many articles and videos about it)
It's not clear from the Wikipedia article linked below whether she was rediscovering part of calculus or knowingly rebranding it. Do you know more details?
it's a fact of geographical and social independence.. so far there's no way to know what everybody did or is doing (well there's twitter but it's configured on noise rather than signal)
A lot of the time engineers are focussed with solving a problem, to build a working machine/program, while academics just want to publish.
This is also true with patents.
Jokes aside, let's say someone does figure out how to break RSA over a weekend project. The evil options are easy to come up with, but what is the actually responsible, ethical, thing to do? Never tell anyone?
Contact a known and trusted security researcher who can verify to the world that you did what you said you did, so everyone else can have as much time as possible to figure out exactly how fucked they are. Doing nothing isn’t an option; once someone figures something like that out, it signifies that conditions were ripe for the discovery to be made, and it’s only a matter of time before it’s discovered again independently.
Also fairly reasonable to assume it has already been done by someone who had a motive to break it and is keeping quiet.
Pretend you had developed a quantum computing advancement and push people to post quantum encryption
In Prolog you can write rules (similar to functions in other languages) so that they work "both ways". Let's say you have this rule that defines how pace ("runner's speed") relates to distance and time:
:- use_module(library(clpr)).
pace(Km, Minutes, Pace) :-
{ Minutes = Km * Pace }.
Even though the rule only specifies how Minutes are calculated, Prolog can now also calculate the other values.
You can query it, giving unknowns an uppercase `Name`, and it will give you the possible values for it:
pace(5, 24.5, Pace)
pace(40, Min, 5)
pace(Km, 24.5, 5)
pace(Km, Time, 5)
You can try it here:
https://swish.swi-prolog.org/So if you had a rule that defines RSA key calculation this way, you could enter a key and get all valid solutions for the primes. But of course complex calculations still take a long time. I assume it's similar to a brute force attack in that way (Prolog has clever strategies to explore the solution space though).
Disclaimer: I'm not an expert in Prolog or cryptography, so this might not be 100% accurate.
Or enter a public key + some encrypted data to get the private key