How to play
Few false ideas have more firmly gripped the minds of so many intelligent people than the one that, if they just tried, they could invent a cipher that no one could break.
The objective of this challenge is to make your way through our eight crypto challenges. These levels cover a wide range of topics, from steganography to cryptographic attacks.
We’ve set up a web service to generate levels. After obtaining an auth token from
/api-token-auth/, you’ll be allowed to request levels. Each time you send a GET request to ‘/challenge/’, the backend generates a completely new challenge (with a new password). Once you’ve generated the challenge, you can submit password guesses by
/challenge/<level>/. A correct guess will return a hash which can be sent to email@example.com. You must complete the levels in order, but you may submit your hash at any time.
When you complete this challenge, send your resume along with the hash value you collected and any code used in the challenge to: firstname.lastname@example.org — Please remember to document your solutions and provide code where applicable.
Interacting with the API
The challenge API is documented below and all requests are sent to http://crypto.praetorian.com/
NOTE: In each subsequent request, you’ll need to provide a special authentication header:
Authorization: JWT <token>
Please limit your requests to the crypto challenge APIs to no more than 1 per second. Exceeding this threshold will cause your requests to be inserted into a queue and you will receive delayed responses. If you continue to submit responses and the queue is full, you will start to receive HTTP 503 responses until the queue has additional space.
Authenticate to the service. You only need an email address to obtain a token. Note: in each subsequent request, you’ll need to provide a special authentication header:
Retrieve a new challenge and hint for a certain level. You must play levels in order, i.e. you cannot do level 8 before the previous 7 levels.
Attempt to solve a certain level. If you correctly solve the puzzle, you’ll receive a hash. Note: This hash may be sent to email@example.com at any time.
At any point, you may request the hash corresponding to your current highest level.
To help get you started, we’ve included basic code needed to retrieve and solve challenges.