0
$\begingroup$

I am participating in the 8th SharifCTF competition and have a related question:

I have 1000 plaintext and its ciphertext, which has been encrypted with DES algorithm (only 1 round).

Now, how can I get this 64-bit hexadecimal key?

Can we use a known plaintext attack, or would another attack be more advisable? If, which one?

$\endgroup$
3
$\begingroup$

Can we use a known plaintext attack

Considering that you have 1,000 plaintext-ciphertext pairs, you should be able to.

Known plaintext attack(s)

Try applying linear cryptanalysis, DES is relatively weak against it.

Alternatively, you could try differential cryptanalysis; DES is usually considered to be relatively strong against it, but with only a single round you might still make some headway.

or would another attack be more advisable? If, which one?

Chosen plaintext attack

Do you have access to an encryption oracle? If not, then you can't perform a chosen-plaintext attack.

Chosen ciphertext attack

Do you have access to a decryption oracle? If not, then you can't perform a chosen-ciphertext attack.

Slide attack

Since the cipher is a reduced round variant that uses only a single round, you cannot use a slide attack.

Brute force

You could probably rent a supercomputing cluster and simply crack the key with brute force. This is probably the slowest, most expensive, and least enlightening technique, but it will work against regular (not triple) DES.

$\endgroup$

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.