zer0pts CTF
crypto
The server gives us the randomly encrypted flag.
FiniteGeneralLinearGroup
is just a matrix class over a finite field.
We can encrypt and decrypt arbitrary messages.
Encryption is defined as below:
Dectyption is defined as below:
You can immediately understand it works because
and vice versa.
So, you just need to put the encrypted flag to the decrypt function?
No.
We can set an element of the matrix to a value between between 0 and 255.
The easy (to come up with) way is making E sum of small matrices.
Let denote a matrix whose elements are 0 for and 1 for .
Then, can be expressed like this:
is