Finding MD5 Collisions With Chinese Lottery 303
Stanislav Shalunov writes "Jean-Luc Cooke posted a Usenet article describing a distributed webpage-based effort (Chinese Lottery) to find a collision in the MD5 function. All you need to do to participate in the effort is visit the URL that loads the code. The author comments: 'What is interesting about this approach - when we reach final release stage - is that any website that adds this small snippet of code to their pages will have their visitors working on the problem for the duration of their visit to the site'."
Uhh.. (Score:5, Insightful)
You run an Applet, it reports to us the search results. Distributed computing without installing anything...and without people knowing you're stealing their idle CPU time.
I don't know about you but I wouldn't lean out the window with the fact that I'm stealing from others.
Idle CPU time might be unused but I still want to know what my box is doing and why.
Re:Uhh.. (Score:2)
Re:Uhh.. (Score:4, Insightful)
I don't shove it down your pipe... you ask for it.
Of course this line of reasoning could be extended too far... like the case of all the porn pop-ups... but, even there... I tend to feel that the user is ultimately in control (or should be!) of their own computer. Install Mozilla and don't suffer the pop-ups.
Better yet... and this is the approach I myself practice... go away. Any time I find a site that ticks me off (bad Java/JavaScript that causes browser naughtiness), I add them to my banned list on my proxy... and never have to suffer the site again.
Not even unintentionally.
---
Not only that... but my CPU monitor went to a hundred percent.
Yeah, it is a low priority thread... but... I did notice.
P.S. "you" does not mean you personally...
Re:Uhh.. (Score:4, Insightful)
I don't shove it down your pipe... you ask for it.
OK, come on. Leaving Java enabled is a very poor definition of "asking for it". What percentage of internet users know the difference between Java and JavaScript, and can determine which one if any should be turned off or on? I would say less than 1-2%. Taking advantage of the rest is just not cool.
Oh, lovely, distributed Javascript computing (Score:5, Interesting)
Re:Oh, lovely, distributed Javascript computing (Score:3, Insightful)
Re:Oh, lovely, distributed Javascript computing (Score:2)
Maybe this slashdot article was a winner (encrypted) phoning home.
Re:Oh, lovely, distributed Javascript computing (Score:2, Informative)
Are there any known MD5 collisions today? (Score:3, Interesting)
Re:Are there any known MD5 collisions today? (Score:5, Funny)
Re:Are there any known MD5 collisions today? (Score:2)
Re:Are there any known MD5 collisions today? (Score:4, Interesting)
That's probably, but not necessarily, true.
I'd say there is a chance we'll find one sooner or later.
Yeah, it's about 1 in 2^128. There aren't even enough electrons in the universe to write down all the possible MD5 hashes, not to mention the strings that might hash to them.
Re:Are there any known MD5 collisions today? (Score:2)
That's assuming the process can be reversed.
Re:Are there any known MD5 collisions today? (Score:3, Informative)
However, it is trivial to prove the fact that there are strings that have the same MD5 hash due to the fact that you can't represent 2^65 different numbers with only 2^64 keys.
Re:Are there any known MD5 collisions today? (Score:3, Interesting)
Re:Are there any known MD5 collisions today? (Score:3, Interesting)
Re:Are there any known MD5 collisions today? (Score:3)
The RIAA could get around this by setting up a battery of tools to try to get all of the relevent hashes, but it would be possible to create encoders that perturb the compression process to
Re:Are there any known MD5 collisions today? (Score:3, Insightful)
Re:Are there any known MD5 collisions today? (Score:3, Interesting)
Last time I looked into this, which was several years ago, there were no known different strings which had the same MD5 hash. I thought this was remarkable. Are there any known ones today?
MD5 is a hash. Hashes have three defining characteristics. First, the same input always produces the same output. Second, a small change in input produces a large change in output. Third, collisions are relatively rare -- it should be uncommon for two input strings to produce the same output string. Of course, with 2^1
Would be great for LOTR (Score:2)
Might be cheaper than render farms.
Re:Would be great for LOTR (Score:3, Insightful)
80G frames rendered through your browser! (Score:2)
No kidding; some of this stuff weighs in that heavily. This was before fibre channel too.
Think Balrog scenes done with particle simulations... (it didn't last).
Re:Would be great for LOTR (Score:2)
Hmmm....Maybe if you wrote some sort of encrypted mental ray or renderman client, in that it does the render from encrypted source fi
Re:Would be great for LOTR (Score:3, Insightful)
Re:Would be great for LOTR (Score:2)
What, distributed royalty payments to somebody that's been dead for over 30 years?
That's really interesting... (Score:5, Informative)
Java Applets, because of the sandbox they're run in, can't open up a network connection to any website, except for the websie they came from. Presumably, what they're doing is creating a small Java applet, that when loaded, executes some logic, then opens up a network connection back home and sends the results.
Fascinating. This way, you don't have to bother installing something and hope it doesn't fsck up your computer. It might be slightly less efficient than a dedicated, installed program, but this way, they can harness the power of a computer just casually browsing a web page. Very innovative.
Re:That's really interesting... (Score:2)
Right. Now you visit a web page and hope it doesn't fsck up your web browser. Fun.
Re:That's really interesting... (Score:3, Interesting)
Re:That's really interesting... (Score:2)
Re:That's really interesting... (Score:2)
Re:That's really interesting... (Score:2)
Re:That's really interesting... (Score:3, Informative)
A Java applet can't see what you're doing on your computer. It can't see your hard drive. It can't see what other processes are running, etc. It can only communicate within the confines of the browser window and well-marked pop-up windows that it can spawn. Security is enforced by the local JVM - which the user installs from a trusted source.
Java was designed the "right way". This isn't Act
Hmmm. (Score:2, Funny)
Re:Hmmm. (Score:5, Insightful)
Whoever made this... (Score:3, Interesting)
Re:Whoever made this... (Score:2)
bitch, bitch, bitch (Score:3, Funny)
Not ethical (Score:3, Insightful)
Be upfront with people - tell them why it's so important, what can be accomplished with it, and what it does. You'd be surprised - people might help out of *gasp* the goodness of their own hearts. A good example might be SETI, etc.
Re:Not ethical (Score:5, Interesting)
Although letting visitors know about this would certainly seem nicer, I don't think I'd actually consider it as outright unethical.
For one thing, considering the number of websites out there that try to feed outright malicious code into our browsers, this looks very very tame by comparison. It uses a few CPU cycles, but has no long-term effects on the visitor.
For another, this seems no different that sending the visitor a few banner ads - Just a way of "paying" for the content. For most of the world, bandwidth costs far more than CPU time, so in effect, this "charges" the user less per visit than most advertisements. From some quick n' dirty calculations, the bandwidth for 35k of banner ads costs me 0.082 cents, while the electricity for a full hour of CPU time (on a PIII/933) costs me only 0.0045 cents... Literally 18 times more.
Finally, I can (and do) keep Javascript disabled in my browser. Advertisements, on the other hand, I do my best to block, but a few still manage to sneak through.
Re:Not ethical (Score:5, Insightful)
Who clicked on the link?
Who has Java enabled on their browser?
Who has cookies enabled on their browser?
It isn't like he is doing anything "tricky" or using some "bug" to pull this off. The page doesn't "trap" you. It doesn't eat your CPU and make it impossible to quit the app or go to another page. And, for me, it didn't crash anything.
I *really* don't understand how this can even remotely be considered stealing. Every single item is being used *as*designed* both by the web author and you.
The way I see it... someone jumped in a pool... and now they are bitching about your clothes being wet?
Re:Not ethical (Score:2)
5096 bit keys, here I come.
Not very intensive. (Score:4, Informative)
Re:Not very intensive. (Score:2)
Re:Not very intensive. (Score:2, Interesting)
Re:Not very intensive. (Score:3, Funny)
./ effect = benefit?? (Score:5, Funny)
Re:./ effect = benefit?? (Score:2, Funny)
Re:./ effect = benefit?? (Score:2, Informative)
I'm running No-Java-Opera right now:because the java enabled opera was 11 more megs..
Point is, geeky as we are, we're probably all expirementing with stuff.
NOT LIKE THAT YOU PERVERTS!!/
Normal Thread Priority (Score:5, Funny)
This could prevent contact with ET!
Re:Normal Thread Priority (Score:5, Informative)
Re:Normal Thread Priority (Score:2)
I can't even watch an MPEG-II video without massive frame-rate skips. Run this thing and it will eat up your processor.
Re:Normal Thread Priority (Score:2)
Re:Normal Thread Priority (Score:2)
the slashdot effect (Score:3, Funny)
Oooh! I thought of another way...
Just Click here. [sco.com]
-P
Great, GREAT idea. (Score:2, Funny)
Hey Sarge... (Score:2)
Crashing (Score:2)
For anyone wanting the code... (Score:5, Informative)
<!-- try IFRAME, else use LAYER -->
<IFRAME SRC="http://www.jlcooke.ca/psearch/dmd5l.html" SCROLLING="NO" FRAMEBORDER="0" WIDTH="100" HEIGHT="32">
<LAYER SRC="http://www.jlcooke.ca/psearch/dmd5l.html" WIDTH="100" HEIGHT="32" CLIP="0,0,100,32"></LAYER>
</IFRAME>
It' s making an iframe that loads the applet, and just does its own thing - by loading in the iframe it can call back to their host, rather than yours
Someone should let him know that he needs to make his server parse
How to steal a virtual supercomupter? (Score:3, Insightful)
New buisness plan (Score:4, Funny)
2. ??
3. Profit!
Parasitic computing (Score:4, Insightful)
Re:Parasitic computing (Score:2)
no thanks (Score:4, Interesting)
I run a cpu monitor in the background and when a site wants to run one of the more annoying classes of advertisements, utilization usually pegs... I can't imagine what something that intentionally sucked cycles would do.
make it from the same domain (Score:2)
This plus popunders? ne The other way to pay. (Score:3, Interesting)
Heck, (google|SlashDot|your legitimate business) just has a tiny inset on their page: "This box is using your spare CPU cycles to help us pay for this site or service. Subscribers do not see this box. Click here to subscribe."
It could work.
In the popunder case it is vile and abusive. In the legitimite and well advertised case it is totally fair.
Re:This plus popunders? ne The other way to pay. (Score:2)
Argggh! It's not ready yet! (Score:4, Informative)
seems a bit easy to highjack (Score:2, Interesting)
I bet that sometime son they are going to be finding lots of collisions, all results from the same IP.
Hope they have some sort of filter.
Re:seems a bit easy to highjack (Score:2)
I like the idea, but (Score:3, Interesting)
I load the thing in its own tab, have a look, look at the neat code that loads an IFRAME, etc. Ho-hum, nice idea, let's see where it goes, cmd-W to close the tab. Whups! The entire browser window closed, including all the tabs which I hadn't got around to checking yet! Safari is still running in the foreground, but I just lost its window.
Anyone interested enough to debug this? I'm not =P
I really hope this doesn't catch on (Score:3, Insightful)
But the last thing I want to see is every website hogging my CPU. Either selling computing power of their web visitors for profit, or using it for themselves.
Imagine the next series of Spyware Trojans... rather than spy, they harness your CPU and sell the power. All without the knowlege of the computer owner.
Interesting business model, but not something I want to see. I like my CPU. Note the word "my".
Re:I really hope this doesn't catch on (Score:2)
But then some enviromentalist finds that the progams kills a few birds and is shutdown.
Next slashdot poll (Score:2)
Wow. Something where a slashdotting (Score:2, Funny)
Not Everyone is as quite so Advanced (Score:3, Interesting)
If the user, whose browser visits such a website that opens up a number crunching applet, notices that their whole computer just became slower, then they'll leave the website. And the applet will be alive for less time. Therefore successful applet projects that are accepted and deployed by various webmasters, which want to obtain the most results would make sure that the applet is as unobtrusive as possible. Otherwise the user will browse away from the page (and or close the browser window all together), and the applet's lifespan will be short.
WARNING! WARNING! DANGER WILL ROBINSON! (Score:3, Informative)
YOU HAVE BEEN WARNED
Finally a possible way to pay for web traffic? (Score:4, Interesting)
Beats pop up ads, anyway.
Ulterior Motives . . . (Score:4, Interesting)
Electrons in universe (Score:3, Insightful)
As for the set of short strings, because this is such a limited set, if MD5 is any good (which it is), you won't find a collision in such a small subset.
Re:Electrons in universe (Score:3, Insightful)
Here's a pretty good recent thread [securityfocus.com] on the subject from SecurityFocus' secprog list.
Re:How do I add this to my site? (Score:3, Informative)
Re:really bad idea for real system administrators (Score:2)
Re:really bad idea for real system administrators (Score:2)
Re:really bad idea for real system administrators (Score:2)
nonono-it *does* tax the servers.. (Score:2, Insightful)
All on the server side. Yes, the clients are the ones doing the Real Work, but you have to do something with the result of that work. And its the Doing that taxes your servers, if only a little bit.
Re:nonono-it *does* tax the servers.. (Score:2)
Re:really bad idea for real system administrators (Score:2, Informative)
Re:really bad idea for real system administrators (Score:2)
Re:really bad idea for real system administrators (Score:2)
Re:RFI: "collision" means? (Score:5, Insightful)
Basically, in a world where everything was based on a thumbprint, would you want even the smallest chance, no matter how statistically unlikely, that someone else had the same thumbprint as you?
Re:RFI: "collision" means? (Score:3, Informative)
This is a really big number.
Nobody's really concerned about MD5 hash collisions of reasonable corpii (corpuses?, forgive my pse
Re:RFI: "collision" means? (Score:4, Funny)
Re:RFI: "collision" means? (Score:2)
I'm pretty sure that happens quite regularly when the strings are identical.
Re:RFI: "collision" means? (Score:3, Informative)
Obviously, since a string can be an almost infinite length, there has *got* to be collisions somewhere, but so far, no one has found any.
Realize that 16 bytes = 128 bits = 3.40282367e38 different outputs of MD5. Given that
Re:RFI: "collision" means? (Score:2)
Re:RFI: "collision" means? (Score:3, Informative)
I think the original "Chinese Lottery" scenario was if everyone one in China had a radio that was set to do encryption, and the Chinese government broadcasted a particular ciphertext that i
CORRECTION (Score:3, Funny)
Correction: No one has reported any. I, uh, have a friend--yeah, that's it--who found a few collisions but is afraid to report them because it always occurs between his beastiality files and his lengthy and frequent poetic love letters to some girl who claims he's stalking her.
Re:RFI: "collision" means? (Score:2, Informative)
It is a bit like SETI@home, It is very likely that we're not alone in the universe, but until we have
Re:Anti-Javascript Post... (Score:2, Insightful)
Re:Anti-Javascript Post... (Score:2)
Didn't follow the link before I posted my message. However, your arguement is pointless.
You see, just because THIS ONE EXAMPLE uses Java, does not mean that java is necessary to perform the same function.
Javascript is fully capable of performing just about any matematical functions on your computer, and silently subitting that information back to the source.
As a matter of fact, java is more secure than javascript. With java, you are only allowed to