Abstract: Denial of Service (DoS) attack may be a malevolent decide to create a server or a network resource unobtainable to users, sometimes by briefly interrupting or suspending the services of services of a host connected to the Internet. DOS attacks and Distributed DoS (DDoS) attacks plan to eat up an internet service s resources like network information measure, memory and computation power by overwhelming the service with fake requests. Client puzzle, that demands a consumer to perform computationally expensive operations before being granted services from a server, may be a well-known measure to them. A new client puzzle is generated to countermeasure against DOS and DDoS attacks called as a software puzzle. Unlike the present consumer puzzle schemes, that publish their puzzle algorithms earlier, a puzzle algorithm with this scheme is arbitrarily generated solely only after a client request is received at the server side and the algorithm is generated such that: an attacker is unable to prepare an implementation to solve the puzzle in advance and the attacker needs appreciable amount of effort to translate a central processing unit puzzle software to its functionally identical GPU version in such a way that the translation cannot be done in real time.

Keywords: Software Puzzle, Denial of Service, Distributed Denial of Service, Cryptography.