
The challenge description is as follows :

On making a net cat to the given ip we get this :

The challenge was basically this . You give a string . The server cycles the characters of the string to form a matirx . Various operations are performed on the matrix . And finally the string which you got is checked with a fixed string stored in the server. So we basically have to reverse the operations performed on the final string to get back the original key. To make the operations clearer , let use the example of ‘0123456789abcdef’ .
Our job is to reverse the string they are comparing with

The key string is repeated cyclically and written to the matrix as shown by the red arrow.
The matrix is then read column wise starting from the last column as shown by the blue arrow.

The string is written spirally into the matrix.
Then alternate rows are read from the matrix to form a new string.

The string is written diagonally into the matrix .
Letters are then in groups of three from the newly formed matrix to form the final string.
The script to reverse the above operations can be found here .
Now in order to get the flag we choose option 2.
We just need to give the repeating substring of the output of our program which is the key.

And lo! we got the flag !