Cryptanalysis of ciphertext using Java?

The famous Enigma machine used 3 character symmetric alphabetic keys. 97 ASCII symbols? ASCII runs from 32 to 126 giving 94 symbols.

The \n and \r add two more for 96 and then an end of message marker such as \0 for 97. To put it another way, a naive copy of the early Engima machines (with a fixed reflector) encrypting Windows style textual data would match the clues very well.

The famous Enigma machine used 3 character symmetric alphabetic keys. 97 ASCII symbols? ASCII runs from 32 to 126 giving 94 symbols.

The \n and \r add two more for 96 and then an end of message marker such as \0 for 97. To put it another way, a naive copy of the early Engima machines (with a fixed reflector) encrypting Windows style textual data would match the clues very well. The enigma machine has some known flaws.

If your professor was being exceptionally kind he will have replicated the weak system used by the German Navy early on. This was to encrypt every message with a one time key, but then to allow decryption to transmit the one time key twice at the start of the message encrypted using a standard key. By transmitting it twice they provided extra context to the cryptanalysis.

The second well known flaw was that a character never maps to itself. Thus if you have a potential plain text no character will match. It is possible to brute force Enigma if you know what the rotors and reflector look like.

Without knowing that you have around 10^15 possibilities to explore in this case.

Why not go ahead and get started with brute forcing all of the 26**3 possibilities for each of the most popular symmetric key algorithms: Twofish Serpent AES (Rijndael) Blowfish CAST5 And any others you can find.

I do not think it is any of the "professional" algorithms. – Elalfer Apr 13 at 20:28 @Elalfer what makes you think that? And even if it is unlikely, there's a relatively small number of possibilities to try, so why not?

– Daniel DiPaolo Apr 13 at 20:31 2 @Daniel thanks for the input! But I was trying to look away from brute force and focus on actual cryptography. Also, since encryption was done using some simple algorithm, I doubt twofish or rijndael were used.. instead im looking for techniques on stream and block ciphers.. – Dhruv Gairola Apr 13 at 20:31 @Daniel: See previous comment from the Druv.

And a brute force attack on any of this cyphers would take years and even ages. So this hometask would not have any sense. – Elalfer Apr 13 at 20:38 @Elalfer actually, brute force would not take much time in this case, since we know the keylength (3 alphabets).

But im not looking for brute force.. – Dhruv Gairola Apr 13 at 20:48.

Since the algorithm is simple and homemade, you might try these naive algorithms: repeated XOR with the cipher key every 3rd character repeated XOR with the cipher key every 2nd or 1st character XOR and rotate/shift: the cipher key is xor'ed with the ciphertext and rotated/shifted Since you know the plain text it to be regular text, look for patterns in the first few characters of ciphertext and see if they can be combined with the cipher key to arrive at a ASCII code for a letter/number.

Interesting suggestions. I shall definitely investigate these.. – Dhruv Gairola Apr 13 at 20:56.

Now, you said that you have done the statistical analysis. If algorithm is in fact naive, the frequencies of the symbols will not be uniformly distributed. Some symbols will be found more often.Is it the case?

If so, I'd dig from there. I might as well prove my professor wrong with your help With "our help" would be us proving your professor wrong.

Thanks for your help! Unfortunately, I didn't find any patterns. In any case, the ciphertext has about 97 different symbols.

Any idea why, considering that the plaintext is written in plain english (with 26 letters)? Uhm, also, I could give you a special mention in my report if you like :) – Dhruv Gairola Apr 13 at 20:46 1 @Dhruv: If the plaintext has upper- and lowercase, it are already 52 letters. Add spaces, carriage return, commas.

Then a cipher will mix them, and maybe also distribute on the complete ASCII repertoire, using a block-size bigger than one. – PaÅ­lo Ebermann Apr 13 at 20:55 @Paulo ah, yes, that is a sharp observation. – Dhruv Gairola Apr 13 at 20:58.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions