Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Could anyone tell me what the difference is between a theoretical attack (Like the one done on SHA-1) and an actual, practical attack (Like the one done on SHA-0)? Is a theoretical attack a proposed method of attacking, that no one has ever done due to lack of resources (like computing power)?

share|improve this question
You've pretty much got it right. Theoretical means it probably works (if the researchers got the math right) but it's too expensive to attempt yet. – Thomas Jul 8 '13 at 17:10
Oh. Cool. I was just guessing. But, if that's true, why would people go through the time and money to develop another system (SHA-2), if the attack wasn't even proven to work? – Thomas Gouder Jul 8 '13 at 17:26
Is a theoretical attack enough to begin developing a new system? – Thomas Gouder Jul 8 '13 at 17:45
Mainly because "attacks only get better" A theoretical attack means, that somebody has found a way to attack the system faster than expected. This often leads to a series of better and better attacks until we have something that can actually be used against the system in practice. – Maeher Jul 8 '13 at 18:17
Ah, understood. – Thomas Gouder Jul 8 '13 at 18:27
up vote 1 down vote accepted

A theoretical attack is an attack strategy that was born out of “theory”, “calculation”, and — in the least cases — “simulation”. Yet, the strategy is yet to be proven in practice.

An actual attack which is practically proven and can be replicated is actual proof that a theoretical attack works. Therefore, the first is an indication of a weakness, while an actual attack is proof that that weakness actually exists.

It's actually not so much different from every regular science project. A theory is just a theory until someone can prove the theory is correct... transforming the theory into a fact.

In your SHA examples, SHA-0 is practically proven to have a weakness and - depending on available resources available for the attack - that weakness translates into "it's broken".

SHA-1 on the other hand has been proven - in theory - it's broken too, but up until now, I’m not aware of anyone having put the theory in practice. Since attackers don’t usually share the news about their efforts, chances are practical attack efforts exists but news about it hasn’t been shared with the general public.

Personally, I regard "theoretical attack vectors and/or strategies" as a warning, while I regard "practically broken" as a red alert. After all, a theory could have some flaw rendering it void, but if someone has practically broken something, statistical chances that others will do the same rise every second.

share|improve this answer
I'd say the attacks on SHA-1's collision resistance are proven to work without the shadow of a doubt, in a cryptographic (near mathematical) sense; they are a proof of weakness, but not a weakness that is known to have been exploited, or an easily exploitable one, or one for which we have precise experimental data on how well they work. – fgrieu Dec 14 '15 at 15:03
@fgrieu True. I tuned my answer a bit, hoping to have incorporated that. – e-sushi Dec 14 '15 at 15:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.