Ok, now these kinds of challenges are not really good. The reason is that without any extra property, they are trivial. Here is why:
Let's assume you have a cyphertext c, of length l (ie |c| = l). Now I take a plaintext p of length also l (|p| = l). Let the key k be c xor p. Now
c xor k = c xor (c xor p) = (c xor c) xor p = 0^l xor p = p
Where 0^l is a string of l zeros. So yeah, given one cyphertext, I can craft a pair of key and plaintext such that there is a cypher (simple xor) that, given the cyphertext and the key, outputs the plaintext.
What is worse? I can craft |E|^l of such plaintexts (where |E| is the size of the alphabet).
So yeah: this test only checks if people know basic cryptography and boolean algebra. Which tends not to be a very good test[1,2]
Why do you think this challenge has anything to do with xor'ing with a key? It's not that kind of code.
Actually, I'd say that mob is after assembly language programmers at the moment, not people who know "basic cryptography and boolean algebra".
Moreover, they don't really care if the solution gets plastered all over the net, because from their perspective the point is not the code, but the message (that they have jobs available to British citizens with those skills). And I know that because, according to the press, they said so.
I'm sorry if I misunderstood you but I get the impression that you feel like a One Time Pad is trivial to break?
Just because you can construct any plaintext of that size and a suitable key to generate that ciphertext doesn't mean you've broken it or know anything about its content (aside from the maximum length of the plaintext).
The answer is supposed to be a keyword, I seriously doubt it's an OTP they are asking for...
also, it's even not a case of "crack this and get an interview" it's "crack this and get to apply for the same vacancy that gchq publish on their homepage": job id 35874.
Is that salary listed yearly? If so I can understand why they have to do something like this to get people to apply, I earned more than that while working in retail.
Comments
Ok, now these kinds of challenges are not really good. The reason is that without any extra property, they are trivial. Here is why:
Let's assume you have a cyphertext c, of length l (ie |c| = l). Now I take a plaintext p of length also l (|p| = l). Let the key k be c xor p. Now
Where 0^l is a string of l zeros. So yeah, given one cyphertext, I can craft a pair of key and plaintext such that there is a cypher (simple xor) that, given the cyphertext and the key, outputs the plaintext.What is worse? I can craft |E|^l of such plaintexts (where |E| is the size of the alphabet).
So yeah: this test only checks if people know basic cryptography and boolean algebra. Which tends not to be a very good test[1,2]
[1] http://techcrunch.com/2011/05/07/why-the-new-guy-cant-code/
[2] http://devinterviews.pen.io/
Why do you think this challenge has anything to do with xor'ing with a key? It's not that kind of code.
Actually, I'd say that mob is after assembly language programmers at the moment, not people who know "basic cryptography and boolean algebra".
Moreover, they don't really care if the solution gets plastered all over the net, because from their perspective the point is not the code, but the message (that they have jobs available to British citizens with those skills). And I know that because, according to the press, they said so.
Why do you think it doesn't? Xor ciphers are the basic blocks of S-boxes[1], which are part of several cryptosystems, like AES, DES and Blowfish.
And the word cipher is on the title.
[1] http://en.wikipedia.org/wiki/S_box
Oh! You thought they wanted to hire people who could crack actual real world cryptosystems.
I'm sorry if I misunderstood you but I get the impression that you feel like a One Time Pad is trivial to break?
Just because you can construct any plaintext of that size and a suitable key to generate that ciphertext doesn't mean you've broken it or know anything about its content (aside from the maximum length of the plaintext).
The answer is supposed to be a keyword, I seriously doubt it's an OTP they are asking for...
also, it's even not a case of "crack this and get an interview" it's "crack this and get to apply for the same vacancy that gchq publish on their homepage": job id 35874.
But, it's a good publicity ruse.
edit: the pay's not even that great.
Is that salary listed yearly? If so I can understand why they have to do something like this to get people to apply, I earned more than that while working in retail.
Nice work on getting to the true meaning.