On the wikipedia page on TCP under Denial of Service the following paragraph is found:
By using a spoofed IP address and repeatedly sending purposely assembled SYN packets, attackers can cause the server to consume large amounts of resources keeping track of the bogus connections. This is known as a SYN flood attack. Proposed solutions to this problem include SYN cookies and cryptographic puzzles.
I am interested in learning more about cryptographic puzzles. I assume that it is some task the server can send back to the client before it will proceed with establishing the tcp connection. This task probably has the property that it takes a lot of resources to find the solution, but it is easy to check if a solution is valid (for the server.) Is this correct? (Kind of like what is proposed for spam-mitigation.)
Where can I read more about cryptographic puzzles? Googling the term does not return anything useful, neither are there any wikipedia pages with that name.
Are there any software libraries readily available for creating and solving these puzzles that I can use?