Encryption algorithms that require more work to decrypt versus encrypt? Are there any encryption algorithms that require significantly more work to decrypt, versus the amount of work required to encrypt?
I'm looking for a method of fast encryption, but which will require much more CPU time to decrypt later, as a method of spam prevention (prevent people from decrypting too many files in a short amount of time).
One thing I should mention, is that the encryption key itself will be public knowledge.
I'm not trying to lock anyone out, I just want to force them to work before they can acquire data.
Since the encryption key is public knowledge, one simple method is to encrypt using a standard symmetric algorithm (such as AES), but randomize a portion of the encryption key.
For example, if you use AES-256, and the encryption key is published, but each individual encrypted file has 12 bits of the key overwritten with a random value (which is never saved or stored anywhere), so decrypting the file will require the decrypting device to brute-force the final 12 bits of the key.
The number of bits randomized, can be adjusted based on how quickly people are able to crack it, to hit whatever sweet-spot of required work you are looking for.
IMPORTANT:
It should be noted, as A. Hersean pointed out in the comments, that this method may have significant negative side effects:

... proof-of-work is a bad idea: motivated people will have enough work power, while normal users will be negatively impacted. It will most likely not solve your problem and just make your system use so much power that nobody would want to use it.