Slashdot Mirror


More on Newly Broken SHA-1

AnonymousStudent writes "Details are out about the reported broken SHA-1 hash function. The findings are that SHA-1 is not collision free and can be broken in 2^69 attempts instead of 2^80. This is about 2000 times faster. With todays computing power and Moores Law, a SHA-1 hash does not last too long. Using a modified DES Cracker, for the small sum of up to $38M, SHA-1 can be broken in 56 hours, with current computing power. In 18 months, the cost should go down by half. Jon Callas, PGP's CTO, put it best: 'It's time to walk, but not run, to the fire exits. You don't see smoke, but the fire alarms have gone off.' As Schneier suggests, 'It's time for us all to migrate away from SHA-1.' Alternatives include SHA-256 and SHA-512."

73 of 362 comments (clear)

  1. Re:2000 times faster? by harmonica · · Score: 4, Interesting

    2^69 attempts instead of 2^80 seems like only 11 times faster, then again, thats just me.

    2^80 = 2^11 * 2^69 = 2048 * 2^69

  2. Re:2000 times faster? by synthparadox · · Score: 2, Informative

    2^69 = 590295810358705651712
    2^80 = 1208925819614629174706176

    2^80 / 2 ^ 69 = 2^11, which = 2048.

    Yep. 2000 times faster.

  3. Break only affects carefully constructed messages by Sam+Ruby · · Score: 4, Informative

    The new SHA-1 break only affects very carefully constructed messages. This means that it is completely useless for an attacker impersonating an existing message, unless that message was purposely constructed to be attackable. The attack is only useful if the attacker creates both messages, and the attacker can choose the exact format of both messages.

    --
    - Sam Ruby
  4. Collision free hash? by baadger · · Score: 5, Insightful

    "The findings are that SHA-1 is not collision free"

    Since when is it possible to have a collision free hash when the hashed data has more possibile bit combinations than the hash itself?

    Genuine question.

    1. Re:Collision free hash? by HeghmoH · · Score: 3, Interesting

      This is cryptography, so it's always talking about possibilities.

      With 160 bits of hash, the probability that two pieces of data will hash to the same value is incredibly low. Using a brute-force technique, you'd have to use all of the computers on the planet for thousands of years to find a collision. This is, for all intents and purposes, "impossible", and thus the hash is effectively collision-free.

      With the new findings, a wealthy organization could actually find a collision with a reasonable amount of money and time.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    2. Re:Collision free hash? by IWannaBeAnAC · · Score: 4, Informative

      It simply means that it is possible to find a collision without a brute-force scan of O(2^80) messages. Instead, because of weaknesses in the algorithm, it is only necessary to scan O(2^69) times.

    3. Re:Collision free hash? by mboverload · · Score: 2, Insightful
      It's not. I'm sure there is some law, but if you are hasing data that has more data than the hash itself, there are going to be collisions.

      (Stupid Mean Girls quote)"Anything else is like...against the laws of feminism or something!"

    4. Re:Collision free hash? by vandy1 · · Score: 2, Insightful

      Yep, it's called the Pigeonhole Principle, and is tought in first year discrete mathematics.

      Cheers,

      Michael

    5. Re:Collision free hash? by baadger · · Score: 2, Interesting

      Are there any dynamic length hash/one-way encryption functions out there? Would these provide greater collision prevention than SHA-1?

      Why are hashes like CRC-32, MD5 and SHA-1 fixed length anyway?

    6. Re:Collision free hash? by MoogMan · · Score: 2, Informative

      An idea: This could be a good thing. If there was a one-one relationship, then that would mean theoretically there could be an inverse function to "expand" the hash. Given that there are going to be collisions, this may give us (if only a little) more confidence that hashes are not reversible.

    7. Re:Collision free hash? by sjasja · · Score: 3, Insightful

      Dynamic length collision free hashing is called encryption. The "hash" is necessarily at least as long as the message itself (see pigeonhole principle.)

    8. Re:Collision free hash? by mre5565 · · Score: 5, Interesting
      With 160 bits of hash, the probability that two pieces of data will hash to the same value is incredibly low.

      The width of hash has little to do with the probability of a collision by an attacker. The cleverness of the hash algorithm is the key to collision resistance. For example, a checksum is a hash that merely breaks the int into 160 bit chunks, adds each chunk to together, takes the lower 160 bits of the sum, resulting a 160 bit hash. It is trivial to find for any given message, multiple messages that checksum hash to the same value. Thus far, no one has proven they can do that with SHA-1 (or MD5 for that matter), at least not trivially.

      Of course, once one has a clever algorithm, width of the hash can be a nice factor in building up its strength, assuming the hash algorithm lends itself to scaling that way, as SHA apparently does, with SHA-256, SHA-512 being available.

      Of course, for random data corruption due to faulty hardware or software, a 160 bit checksum would be excellent (if costly) protection. But that isn't what we are talking about here.

  5. SHA-1 by mboverload · · Score: 5, Funny

    SHA-1? pshhhh. They should be using SHA+1. Thats 2 more!

    1. Re:SHA-1 by Anonymous Coward · · Score: 2, Funny

      I'll wait for SHA+/-1 dual format

    2. Re:SHA-1 by stutterbug · · Score: 4, Funny

      Soon, there will be SHA-++. And inevitably, Microsoft will make SHA-# ("sha-SHARP") that will take as much computing power to generate as it will to break. Ah, progress.

  6. Re:2000 times faster? by Temporal · · Score: 4, Funny

    Jesus Christ. In the time it took to write my post (all of 30 seconds), five other people replied to you.

    Just goes to show, the quickest and most effective way to get information on the net is to post something that is wrong.

  7. Hmmm by Lisandro · · Score: 4, Informative

    The findings are that SHA-1 is not collision free and can be broken in 2^69 attempts instead of 2^80.

    Well, doh - it's a hash you silly, there will always be collisions.

    Anyway, it's nothing to panic about really. The ammount of computer power needed to crack it is still massive. Unless you're investigated by the NSA, SHA-1 will be fine for quite a while.

  8. This is big... by A+beautiful+mind · · Score: 3, Interesting

    We need to develop algorithms aside of SHA. SHA-256 only postpones the problem...

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
    1. Re:This is big... by m50d · · Score: 4, Informative

      They already exist. RIPEMD-160 is tried and tested and seems secure, or at the more experimental stage there's Whirlpool.

      --
      I am trolling
    2. Re:This is big... by A+beautiful+mind · · Score: 2, Informative

      Well, it all depends. Catastrophe didn't happen with DES because there was an early warning and noone used it for serious stuff by that time. With SHA-1 however, the warning came a little later and the shift will be a bit more painful as a lot of things are using it, although not impossible and not a catastrophe neither.

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    3. Re:This is big... by Anonymous Coward · · Score: 2, Interesting

      SHA-256 only postpones the problem...

      Well, every new development only postpones the problem. Most secret information is only valuable if it is relatively recent, so "postponing" is usually good enough.

      However, if you want to encrypt something and have it unbreakable indefinitely, you're out of luck as far as I know: the typical security argument cryptographers use is "well, if you can break our encryption, you can factor in polytime." But quantum computers can factor in polytime (and who knows what else they can do) so the security argument doesn't hold water.

    4. Re:This is big... by Riddlefox · · Score: 2, Interesting
      Factoring in polynomial time is important in public key algorithms. Properly designed secret key algorithms with a key-size of 256 bits or more are unlikely to be broken even by a quantum computer (this is per Zimmerman's introduction to PGP, though he does note that history has a tendancy to make notions like this "amusingly quaint.") Grover's algorithm, as far as I know, is the quantum-computing algorithm for searching. However, this algorithm effectively reduces the keyspace by half. A 128-bit symmetric (secret) key effectively becomes a 64-bit key against a quantum computer, which is not very strong. A 256-bit symmetric key becomes a 128-bit key, which is still very strong.

      Of course, there is one unbreakable encryption - one time pads. Fortunately, quantum cryptography seems to be able to implement a convenient one time pad at a decent data rate. It's a race to see whether quantum computing or quantum cryptography becomes widespread first.

  9. Re:2000 times faster? by Lisandro · · Score: 4, Funny

    I bet $50 that a hard drive manufacturer came up with that!

  10. Re:2000 times faster? by harmonica · · Score: 2, Insightful

    Kidding about math on /.? You should know better...

  11. Re:Break only affects carefully constructed messag by johnhennessy · · Score: 4, Insightful

    Totally agree, however in the crypto community (which I cannot claim to be part of) the consensus is generally that if a weakness if found in an algorithm then it begs the question - "what other weaknesses are there".

    Once an algorithms strength is in doubt by the presence of even one weakness people feel very reluctant to trust it.

    Its probably up to everyone to see how this affects their own circumstances. Crypto is always about Knowing your enemy (the paranoia has now kicked in !). When picking a scheme one always makes a number of assumptions - Who are you keeping the information hidden from, what resources do they have, how badly do they want it.

    No crypto is powerful, or clever enough (yet!) to be completely unbreakable so its all down to making assumptions:

    1)
    Would someone be willing to pay $38 million (assuming this is correct) to get my credit card number - probably not.

    2)
    Would someone be willing to pay $38 million to get insider info on a merger between two banks - each worth over $10 billion.

    What unsettles people is that their previous assumptions on SHA-1 are now invalid.

    --
    [ Monday is a terrible way to spend one seventh of your life. ]
  12. 56 Hours? by n0dalus · · Score: 3, Informative

    Using a modified DES Cracker, for the small sum of up to $38M, SHA-1 can be broken in 56 hours, with current computing power.

    Is that assuming that that the collision will be found on the last (or in this case, 590,295,810,358,705,651,712nd time) try?
    Because statistically it's just as likely you will find a collision on the first try as you are on the last try.

  13. The True Deadline by AaronBaker2000 · · Score: 3, Interesting

    It costs $38M to crack SHA-1 now. According to Moore's law, this will be cut by 25% every 3 years.

    The cost of cracking SHA-1 in...

    3 Years - $9.5 Million
    6 Years - $2.3 Million
    9 Years - $600,000
    12 Years - $150,000
    15 Years - $37,000
    18 Years - $9,000
    21 Years - $2,500

    1. Re:The True Deadline by JamesD_UK · · Score: 3, Insightful

      Moore predicted that the number of transistors per integrated circuit would double every eighteen months, not that the cost of computing would halve every eighteen months. More strictly speaking it's corollary that some people draw from Moore's law.

  14. Theoretical security concerns... by Temporal · · Score: 5, Insightful

    So someone with $36 million to throw around can, in 56 hours, produce two random messages with the same SHA-1.

    Great.

    So, presumably, this devious (and very rich) hacker might produce the following two messages:
    "bma p3 rjphta,-9p.u2#H50982u.yha,cp. hxasnip"
    and
    "BUEQXBBX2 jma93#9g5xbaida htuEXOAhkra1255,y"

    And then, of course, he'd somehow trick me into signing "bma p3 rjphta,-9p.u2#H50982u.yha,cp. hxasnip". Because I sign random pieces of gibberish all the time, if asked. And then, having done this, he could go around claiming that I had actually signed "BUEQXBBX2 jma93#9g5xbaida htuEXOAhkra1255,y".

    OH NO! ::cough::

    Sure. Moving to SHA-256 is all well and good. But, frankly, I think these reports are horribly overblown. Crypto geeks are jumping up and down with their hair on fire (just like George Tenet!) because their perfect algorithm is slighly less perfect in a way that doesn't have any real practical meaning in most situations.

    Meanwhile, there are real security problems out there in the form of poorly written software and poorly administered systems. Please, please do not spend your time rewriting your software to use SHA-256 when you could be patching real security holes. Leave SHA-256 until you have nothing better to do.

    1. Re:Theoretical security concerns... by swillden · · Score: 2, Informative

      It is because given any string, I can produce another string with the same hash faster.

      No, that would be a pre-image attack. This is a collision attack. To perform it, the attacker needs to be able to choose both strings.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:Theoretical security concerns... by bcrowell · · Score: 3, Informative
      So, presumably, this devious (and very rich) hacker might produce the following two messages: "bma p3 rjphta,-9p.u2#H50982u.yha,cp. hxasnip" and "BUEQXBBX2 jma93#9g5xbaida htuEXOAhkra1255,y"

      It might not be that much harder to generate a collision like this:

      • I, John Smith, agree to sell my coin collection to Fred Jones for $10. -- JonesCo internal business form bma p3 rjphta,-9p.u2#H50982u.yha,cp. hxasnip
      and
      • I, John Smith, agree to sell my nubile teenage daughter to Fred Jones for $10. JonesCo internal business form BUEQXBBX2 jma93#9g5xbaida htuEXOAhkra1255,y
      And if cryptographers are finding stronger and stronger attacks against SHA1, it's foolish to assume the attacks won't get any stronger.
    3. Re:Theoretical security concerns... by mre5565 · · Score: 2
      Ummm. No. It is because given any string, I can produce another string with the same hash faster.

      And yes you do sign gibberish...It is called keys, which are used for encrypted communication. Now I can produce the key with the same hash as your key faster, and (depending on session speed) I can substitute my key for your key.

      Now -- all this only means that I can do it about 2048 times faster [...]
      Please clarify something for me before I panic. You say the attack is 2048 times faster. I gather you get that figure from 2^80 / 2^69. 2^80 is the number of operations to brute force attack SHA-1, and 2^69 is the new number of operations required to attack SHA-1.

      Let's look at 2^80. Where does that come from? It is the square root of 2^160. Why is that significant. Because 2^80 is number of operations required to perform a Birthday Attack on a 160 bit hash.

      What is a Birthday Attack? It is merely that that if I run the attack program (which executes SHA-1) for 2^80 operations on 2^80 unique inputs (numbers 1 through 2^80 work just fine here, or generate 2^80 random messages; as long as they aren't longer than your key size), I have a 50% chance that two numbers will produce the same hash. Not a pair of numbers you pick, but some pair out of a set of size 2^80 (or less).

      So if you are relating 2^69 to 2^80, then I conclude you are saying that 2^69 is the new Birthday Attack computation cost for SHA-1.

      Well then, you cannot, in 2^69 operations produce a key with the same hash as my key (unless you are going to con me into changing me key to the of the pair you found in the birthday attack. I'm not that stupid). More like 2^(2*69) = 2^138 operations.

      Schneier, on his web site blog, says:

      If you hashed 2^80 random messages, you'd find one pair that hashed to the same value. That's the "brute force" way of finding collisions, and it depends solely on the length of the hash value. "Breaking" the hash function means being able to find collisions faster than that. And that's what the Chinese did.

      They can find collisions in SHA-1 in 2^69 calculations, about 2,000 times faster than brute force. Right now, that is just on the far edge of feasibility with current technology.

      But perhaps everyone has it wrong; the 2^69 does relate to 2^160 (which is the number of bruteforce operations necessary to find a message with the same hash as a chosen message. If so, then this is a huge, huge, result, I would vehemently disagree with the quote: "It's time to walk, but not run, to the fire exits.". On the contrary, it's probably too late to survive the fire.

    4. Re:Theoretical security concerns... by swillden · · Score: 4, Interesting

      So this means that I can generate a colliding pair in 2^69, but I have to generate pairs of strings without fixing any of them.

      That's it exactly. In the case of an unbroken hash that outputs 160-bit blocks like SHA-1, you'd need to generate 2^80 hashes, on average to find a collision. The reason this is 2^80 and not 2^159th is the effect of the birthday paradox.

      Interestingly enough...if the hash is perfect then the collision attack and pre-image attack would require the same computational complexity....which makes me think is usually not the case given any hash function in P memory and time.

      That's a very interesting statement. What do you mean by "perfect" and can you elaborate on how a hash that is "perfect" has the same collision and pre-image attack complexity? It seems to me that a "perfect" (my definition) hash that produces n-bit outputs should have no pre-image attack that has better than 2^(n-1) complexity, whereas the birthday paradox will allow a collision attack with approximately 2^(n/2) complexity (that's a really rough approximation, but it's close enough for most purposes).

      Obviously it is the case in the perfect hash function...but the only perfect hash that I can think of requires exponential space.

      Not so obvious to me, unfortunately, but it could be that I'm just slow. Not an infrequent occurrence, unfortunately :-/

      What's the perfect hash function you're thinking of?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Theoretical security concerns... by dbullock · · Score: 2, Funny

      I don't have a nubile teenage daughter, just two sons. So this exploit won't affect me.

      --
      http://www.bullnet.com
  15. Re:Break only affects carefully constructed messag by arkhan_jg · · Score: 4, Informative

    Yes, but say someone creates a document (such as a contract) for you to digitally sign.

    If they're prepared to spend a realistic level of time on it they could create two of them that hash to the same thing, with a small but effective change to the second.

    You sign the first with SHA-1, but your signature also matches on the second, putting you in a weak position when you try and claim "I didn't sign _that_!"

    The time/money requirements to do this aren't really practical yet, but they will be soon.

    As the sub says, time to start shifting off SHA-1.

    --
    Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
  16. Re:Yet Another Overblown Crypto Hack by Anonymous Coward · · Score: 4, Informative

    The attack has nothing to do with trying to discover contents based on the hash, it has to do with generating intentional collisions.

    Attacks on hashes have absolutely nothing to do with discovering any kind of content, they have to do with the reliability of digital signatures, key exchange, data integrity, authentication etc.

    As for any kind of cryptography being sufficient...no, not really. Consider CSS...the encryption used on DVDs is no longer considered any kind of barrier to access.

    Similarly publicly visible hashes in password files on Unix systems haven't been considered secure for over 10 years, due to the simplicity and success rate of dictionary attacks (plus more recently, brute force is becoming increasingly easy).

  17. Follow-on work by fhmiv · · Score: 5, Informative

    The concern is not so much that the method described in this break is feasible on today's hardware, or even that this method will get cheaper and cheaper as hardware gets faster. The BIG concern is that this method provides insight in to the SHA-1 in general, and will be used by others to come up with more efficient breaks or more egregious flaws.

  18. Re:2000 times faster? by Anonymous Coward · · Score: 3, Funny

    I'll take that bet! (And you owe me $64 if you lose.)

  19. Here is the paper!! by rbarreira · · Score: 3, Informative
    --

    The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  20. Re:Break only affects carefully constructed messag by Everleet · · Score: 3, Informative
    And you only have to construct 2^69 different contracts with the same meaning.

    Creating pseudo-random numbers that hash to the same value != making any arbitrary document hash to the same value.

    --
    It's tragic. Laugh.
  21. Re:Question about bit-flipping in SHA-1 by HeghmoH · · Score: 2, Informative

    As far as anybody knows, no. If such a technique were known, this article wouldn't be very big news. Before this technique, the best way anybody knew of to generate two pieces of data with the same SHA-1 hash was to just try a ton of random data until you found two pieces with the same hash.

    --
    Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
  22. orders of growth by oreaq · · Score: 2, Interesting

    No. It means that it took 2^80 "computations" and it now takes 2^69 "computations".
    O(2^80) = O(2^69) = O(1). See for example http://mitpress.mit.edu/sicp/full-text/sicp/book/n ode17.html.

    1. Re:orders of growth by IWannaBeAnAC · · Score: 2, Informative

      In computational science and cryptography it is common to use notation O(n^x), but it doesn't mean the same thing as Big-Oh notation, it just means 'order-of-magnitude'. Its usually clear from the context what is meant: big-oh notation describes the asymptotic behaviour as a function of input size. In this context, the input size is the length of the hash and that is fixed.

  23. whirlpool anyone? by ubiquitin · · Score: 2, Informative

    SHA-2 in 256 and 512 bit flavors isn't the only alternative folks. Among other nifty hashes, there's whirlpool: Linux 2.6 kernel crypto API entry for whirlpool and a page with whirlpool details.

    --
    http://tinyurl.com/4ny52
  24. Advice: use toolkits like SASL by ites · · Score: 4, Informative

    All crypto algorithms age, and even if the news of SHA-1's death is somewhat dramaticised by people who make their living from security work, it's important to see _all_ crypto algorithms as temporary shims.

    That is why anyone developing new protocols and products that rely on security should use SASL, which abstracts the crypto layers in such a way that it's easy to change them over time.

    SASL is an IETF standard and there are open source implementations like Cyrus.

    --
    Sig for sale or rent. One previous user. Inquire within.
  25. Price by Uber+Banker · · Score: 2, Interesting

    The £38mn is to build the machine. It is in 1-time use for 56 hours.

    There are 8776 hours in a year. Assume the machine has a life of 3 years before it becomes obselete. That means (discouting TVM at 0% for simplicity) the machine can do 470 problems of this type in three years, breaking even at a little over $80 per problem.

    Damn that just got a lot lot cheaper.

    1. Re:Price by Uber+Banker · · Score: 4, Informative

      Apologies, $80k per problem.

    2. Re:Price by tonsofpcs · · Score: 2, Interesting

      Yes, but if you solved the first 3 years worth of problems seeing it costing 80k per problem, then the next problem would only cost you the power needed to run the machine, your 38M is already paid off.

  26. Clearing up some myths... by MLopat · · Score: 5, Insightful

    Having worked in the crypto field, I thought I would take some time to clear up a few misconceptions. First off, the results of this paper in no way compromise the security of email or other data encrypted with algorithms that use this hash. As an extension of Moore's law prevails, these characteristics of any hash function are bound to be discovered. However, with that said, it is important to realize that this new discovery in mathematics allows us to move forward with hash technology to develop better algorithms.

    Hash algorithms are one of the least understood principles in cryptography. The established mathematics around them is contemporarily vague, but under constant research. Therefore, anytime a new publication illustrates a flaw, technique, weakness, etc. we should be pleased that our understanding has grown and that a new, more advanced algorithm can be created with the knowledge gained.

    This discovery is a not something to panic about, but rather an achievement that will bring about newer, stronger encryption technology.

  27. Making collisions easy by Sweetshark · · Score: 4, Insightful

    I presume that finding two colliding contracts both written in a meaningful and legally binding language is harder than finding a simple collision.
    Write the contract in MS Word and use huge uncompressed BMPs for the company logos. You have instantly enough space for subtile changes to create collisions.

  28. Re:Unrealistic? by Derleth · · Score: 3, Insightful

    Read the whole comment: By "impossible", Bruce means "so hard it isn't worth trying." Obviously, there is no way to make an absolutely one-to-one correspondence between arbitrary-length messages and fixed-length hashes. The idea, therefore, is to make it so difficult to generate two messages with the same hash that it isn't worth anyone's effort to try.

    Absolute security is almost always a chimera. You can only really achieve it with one-time pads, which aren't practical for the vast majority of cases. So you try to make things so difficult to crack that by the time anyone has succeeded, nobody still cares about the security of that message. Ideally, therefore, breaking one message does nothing to help you break any other message.

    The crack of SHA-1 does help an attacker break any security system that uses SHA-1 by making it much easier to generate two messages that map to the same hash. This kind of thing makes cryptographers sit up and take notice, and hopefully develop some new algorithms. We have algorithms better than SHA, but until now nobody's had much reason to use them. This should change that.

    --
    How can you use my intestines as a gift? -Actual Hong Kong subtitle.
  29. assume it is a word document by The+Creator · · Score: 2, Insightful

    Or a pdf-file, i bet there is more that 69 bits of entropy there that is not visible to the reader.

    --

    FRA: STFU GTFO
  30. Wow, a karma whore... by rbarreira · · Score: 2, Interesting

    http://it.slashdot.org/comments.pl?sid=139602&cid= 11685615

    (no, it's not even the same nickname)

    --

    The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  31. Re:Break only affects carefully constructed messag by Vellmont · · Score: 4, Insightful


    2)
    Would someone be willing to pay $38 million to get insider info on a merger between two banks - each worth over $10 billion.


    Except SHA-1 isn't an encryption scheme, it's a hashing algorithm. For your 38 million you could construct an machine that would create two random messages that hash to the same value. Totally useless. Really what you want to do is find a message that hashes to the same value of a specific message. Or even better you'd want to create an arbitrary message, tack on some header or footer and have that hash to some chosen hash.

    If I understand message signing and digital signatures, an attacker wants to make it look like they're the intended target. Say I send a signed message to my bank saying "please transfer $1,000,000 to account 123456". An attacker wants to generate a message like "please transfer $1,000,000 to account -attacker account number- that will hash to the same value, so he/she can use the same signed digital signature. The 38 million dollar device won't be able to do that in 56 hours, I doubt you could do it in 56 years (and I highly suspect it would take MUCH MUCH longer).

    --
    AccountKiller
  32. Crypto custom... by abulafia · · Score: 2, Informative

    is to speak of averages. So, it is likely that 56 hours is the time to search half the keyspace on such a machine, as over a large number of uses, that will be the average time required per use.

    --
    I forget what 8 was for.
    1. Re:Crypto custom... by Qzukk · · Score: 4, Informative
      SHA-1 isn't about keys, or keyspaces. This attack is about finding two messages that hash to the same SHA-1 hash.

      It takes roughly 56 hours to go from a message of
      Please transfer $1,000,000 from account 123456789 to account 987654321
      which hashes to 0xAABBCCDD11223344, to a message of
      Please transfer $1,000,000 from account 123456789 to account 555555555 Its a nice sunny day please pardon the line noise Ab29!jqMV3o$2__#%#992mx...w,ea@L@L
      whichh also hashes to 0xAABBCCDD11223344, which means that it would have an identical signature, meaning that the original signature would validate the fake message.

      Personally its not the huge end-of-the-world scenario everyone thinks it is. It would probably take tens of thousands of years for this machine to output a well-formatted message that had a hash collision and could not be trivially discarded as gibberish.
      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
  33. Re:2000 times faster? by swillden · · Score: 2, Funny

    >>> FIRST CORRECTION

    >> 15th actually, and you were wrong anyway.

    > Depends on the desired precision.

    Certainly. Because 1 is approximately equal to 15 for large values of 1 and small values of 15. If you squint.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  34. Re:2000 times faster? by Anonymous Coward · · Score: 2, Funny
    This is true.

    Whenever I can't figure out how to do something in Linux, I just make a post saying, "Linux sucks because it can't do XXX like Windows can!"

    Within 10 minutes, I'll have 50 replies from Linux gurus around the world telling me, "You idiot, Linux's implementation is better than Windows! You just do YYY and ZZZ and boom! Bill Gates sucks!"

  35. Re:Why use SHA at all? by Tim+Browse · · Score: 2, Informative

    Hmm...but SHA is a hashing (i.e. one way) algorithm, and Blowfish is an encryption (i.e. bidirectional) algorithm. (For more on this, see the page you actually linked to.)

    So you don't use SHA-1 as an encryption algorithm for stuff like SSH, etc., because, well, you can't. Well, you can encrypt, but good luck decrypting :-)

    But you might use SHA-1 to generate crypto keys from plaintext data (e.g. passwords) for use by an encryption algorithm. So 'switching to Blowfish' won't help - you need to switch to a different hashing algorithm (assuming you consider this recent discovery to be a concern for such usage of SHA-1).

  36. Re:"begs the question" by DrSkwid · · Score: 3, Insightful

    it look prescriptive. passe is Grammar up

    sure You ? are

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  37. Re:2000 times faster? by swillden · · Score: 2, Funny

    While the bumbers are only 11 difference yes, 69 is a much slower method for most 80, though I'm not sure its 2000 either.

    Wow. That's an absolutely amazing post. It's so wrong, on so many different levels, in so many different ways, and in so *few* words... impressive as hell. You have my respect, sir.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  38. Re:Break only affects carefully constructed messag by arodland · · Score: 2, Informative

    Or, and this is a good one, you could do that. For any message that I create, and sign for SHA-1, it's now possible that I created another duplicate message, and that I could, at any point in the future, say "Oh no, I didn't sign _that_!"

    So, there are two lessons to be learned.
    1. Don't trust SHA1 as part of an algorithm for signing a document that someone else gave you. Actually, this is not so much of a risk, because any reasonable signature algorithm signs more than just a straight hash of the document.

    2. Don't trust any document signed by someone else with an algorithm using SHA1, if they created that document themselves; they might have a way to repudiate that signature, leaving you out in the cold. This one is actually more dangerous.

  39. not yet a fire alarm. by davids-world.com · · Score: 3, Informative

    The findings are that SHA-1 is not collision free

    What, is that new? That already follows from the fact that there are only N possible hashes, and M possible messages, and NM. In other words, if you have an 8-bit hash (256 values) for a, say, 1K message, then you must get a lot of collisions.

    If it takes only three days or so to find a collision, what does that mean practically? Almost nothing. Because the collision that you would find is most likely meaningless. The modification that you'd like to apply to the message (while sticking with the same, given hash) is likely to be something very specific, for example, change $1000 to $10.000. And that, unfortunately, is not easy. This vulnerability can't be easily exploited at this point.

    But even saying that "if the algorithm has one vulnerability, then it's likely to have others" is totally illogical - unless a whole class of vulnerabilities has been pointed out.

    It's not even time to 'walk to the door' because the fire alarm has gone off, as someone said later down in the comments. Instead, it's time to read the Chinese paper, produce more truthful descriptions of how much of a problem we are going to get with this (does it lead to more severe vulnerabilities), and start working on better hashing algorithms.

    1. Re:not yet a fire alarm. by igny · · Score: 2, Insightful

      and start working on better hashing algorithms.

      Something tells me that the work on better hacking algorithms has already been started.

      --
      In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
    2. Re:not yet a fire alarm. by Kymermosst · · Score: 3, Insightful
      The findings are that SHA-1 is not collision free


      What, is that new? That already follows from the fact that there are only N possible hashes, and M possible messages, and NM. In other words, if you have an 8-bit hash (256 values) for a, say, 1K message, then you must get a lot of collisions.

      Thank you for addressing this early in the postings. I was about to go insane when I read that in the story post.

      Come on, it's the basic Pigeonhole Principle. Computers Science students should have learned this in Discrete Mathematics. If you didn't, it says this: If you've got 10 holes and 11 pigeons in them, then one hole has two pigeons.

      If it takes only three days or so to find a collision, what does that mean practically? Almost nothing. Because the collision that you would find is most likely meaningless. The modification that you'd like to apply to the message (while sticking with the same, given hash) is likely to be something very specific, for example, change $1000 to $10.000. And that, unfortunately, is not easy. This vulnerability can't be easily exploited at this point.

      Precisely. Really, it doesn't matter if it is easy to find a message with the same hash, if the new message is obviously incorrect or unintelligible.

      What I don't understand is why nobody has simply suggested using two distict hashes in any particular application. Say, MD5 and SHA-1 together. The ability to find a collision in a few days for either one may exist, but finding a message that causes a collision for both should be very hard.
      --
      "Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
    3. Re:not yet a fire alarm. by shobadobs · · Score: 3, Informative

      Come on, it's the basic Pigeonhole Principle. Computers Science students should have learned this in Discrete Mathematics. If you didn't, it says this: If you've got 10 holes and 11 pigeons in them, then one hole has two pigeons.

      To be precise, one hole has at least two pigeons.

  40. Re:Break only affects carefully constructed messag by ethan0 · · Score: 3, Insightful

    For your 38 million you could construct an machine that would create two random messages that hash to the same value. Totally useless.

    Not true. The use of that is creating one legitimate document and apply a certification to it, with the authority of a trusted certifier (who would have verified it, because it is legitimate).
    At the same time your $38M machine would create a second document, with whatever information you care to put in, which that certifier would never touch. They have the same hash, so you could substitute in the bad document for the real one, and the certification would be entirely indistinguishable from authentic.

  41. Re:Break only affects carefully constructed messag by einhverfr · · Score: 2, Informative


    Not true. The use of that is creating one legitimate document and apply a certification to it, with the authority of a trusted certifier (who would have verified it, because it is legitimate).


    The is that as soon as you try to place specific content in the message, it becomes *much* harder to find a collision that meets your requirements (especially if there are length requirements too).

    Now.... Let me bring up one possible use of these issues. If you store passwords as SHA hashes, and if someone can get a list of hashes, then they can find colliding passwords.

    --

    LedgerSMB: Open source Accounting/ERP
  42. Re:Combining SHA-1 and MD-5 as a workaround by Dolda2000 · · Score: 2, Informative
    While both of the above algorithms are "broken" in the sense that a collision may be found relatively easily, if a signature is done on both hashes, the attacker has to find a message that provides the same MD5 hash and the same SHA-1 hash, which I strongly doubt is possible theoretically.
    It's certainly theoretically possible. If you use SHA1, which is 160 bits, and MD5, which is 128 bits, then you have a hash that is 160+128=288 bits in length. That yields 2^288 combinations.

    There are, however, 2^296 messages that are 37 bytes in length, which means that for any 37-byte message, there are by necessity 255 other 37-byte messages that yield the exact same hashes. Sure, most (all?) of the others will be binary gibberish, but there are nonetheless 255 colliding messages for any given 37-byte message.

    And that's just for 37-byte messages. If you send a 1 KiB message, there are 2^7904, or around 10^2379 colliding messages.

  43. Re:Break only affects carefully constructed messag by ethan0 · · Score: 2, Informative

    as soon as you try to place specific content in the message, it becomes *much* harder to find a collision

    It's pretty easy to put a whole lot of garbage data in a document. Changing this data wouldn't affect how the document looks, but would of course affect the hash. With this to modify, you could create a collision with the ease mentioned in the article.

    If you store passwords as SHA hashes, and if someone can get a list of hashes, then they can find colliding passwords.

    No, they can't. You can create a hash collision with a known piece of data, not with a known hash. You would have to know the original password (from which of course the hash is easily computable) to create a password with a colliding hash.

  44. Re:"begs the question" by jonadab · · Score: 2, Interesting

    > "Me and my friend went to the store" will never be proper because it makes
    > no logical sense.

    You clearly have not been paying close attention to the direction the English
    language has been headed. Noun inflection has been in the process of dropping
    out of the language for several hundred years now, because, frankly, we
    mostly don't need it; we have word-order mechanisms for indicating case, so
    the inflection is redundant. We've already lost the distinction between the
    subjective and objective (not to mention singular and plural) in the second
    person pronouns; we're now beginning to lose the distinction between
    subjective and objective in the first person singular and are already well
    on our way to losing the inflections for gender and number in the third
    person. Chart follows...
    1650:
    1st I, me, my/mine we, us, our/ours
    2nd thou, thee, thy/thine ye, you, your/yours
    3rd m he, him, his they, them, their/theirs
    3rd f she, her, her/hers they, them, their/theirs
    3rd n it, it, its they, them, their/theirs
    1950:
    1st I, me, my/mine we, us, our/ours
    2nd you, you/ you/yours you, you, your/yours
    3rd m he, him, his they, them, their/theirs
    3rd f she, her, her/hers they, them, their/theirs
    3rd n it, it, its they, them, their/theirs
    2150 (projected):
    1st me, me, my/mine we/us, us, our/ours
    2nd you, you/ you/yours you, you, your/yours
    3rd they, them, their/theirs they, them, their/theirs

    We might also lose the attributive possessive and keep only the predicate
    form of it, reusing the same form as the subjective and objective for the
    attributive possessive. You can already see that starting to happen
    colloquially; for now it still sounds very wrong to most of us, but the
    change has already begun, albeit gradually.

    FWIW, I agree with most of your points in principle, including the one
    about begging the question, but I felt the need to point out that the
    distinction between the subjective and the objective is more and more
    carried only by position in the sentence, rather than by form. The days
    when you can say "Him I like" or "Him like I" or "Like him do I" are
    rapidly passing; it already sounds pretty odd and Yoda-esque -- but if
    we don't do that any more, then we don't need distinct forms for the
    subjective and objective case any longer; they are archaisms and will pass
    out of use.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  45. Re:"begs the question" by Spetiam · · Score: 2, Insightful

    I didn't bother following the "bastardizing English" link, but whatever it says, ignore it, because you understand the "to beg the question" controversy correctly.

    The bastardized definition of "begs the question" was spawned in the minds of ignorant people and draws life from the thick-skulled arrogance of the same.

  46. The findings are that SHA-1 is not collision free by Shanep · · Score: 2, Interesting

    The findings are that SHA-1 is not collision free

    NO hash algorithm which is capable of reducing an arbitrary number of bits to a smaller message digest, is ever going to be collision free when the input is larger than the digest. Ever.

    The difficulty is normally in finding a collision, whether through brute force or algorithmically.

    It would be possible to design a hash algorithm to have no collisions with input of a length smaller than or equal to the message digest. But that is of pretty limited use when we're talking about lengths like 160 bits.

    --
    War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?