A '''semi-hard problem''' is a problem which requires a human-noticeable amount of time to solve on a typical computer; but is not intractable.  Examples include partial hash collisions, factoring of medium-sized numbers (64-128 bits), etc.

SemiHardProblem''''''s are useful in combatting DenialOfService attacks, wherein the amount of requests for service (spam emails, etc) generated by an attacker is far greater than what a legitimate user would generate.  Solving one instance of the problem is not a significant load on a legitimate user's system, but solving many different instances of the problem is.

One application of this trick is HashCash.