# Tag Info

11

You'd be trying each possible displacement (offset). Suppose the ciphertext is CXEKCWCOZKUCAYZEKW. Here's displacement 1: CXEKCWCOZKUCAYZEKW CXEKCWCOZKUCAYZEKW At displacement 1, there are no matches (nothing where the a letter in the top line is equal to the letter immediately below it). Here's displacement 2: CXEKCWCOZKUCAYZEKW CXEKCWCOZKUCAYZEKW ...

10

The Vigenère cipher has many weaknesses, but perhaps the most obvious ones are: An attacker, who knows (or can guess) as many consecutive characters of any plaintext message as there are in the key, can trivially recover the key and thus decrypt all messages. (In fact, the characters need not even be consecutive, they just need to cover the entire key, or ...

10

The real security of Vigenère is difficult to quantify. A million character plaintext with a 10 character password is easy to break. But a 10 character plaintext with a 10 character randomly chosen password is essentially a one-time-pad and theoretically unbreakable. Given the data you've told us (plaintext: 100 to 5000 characters; password: 30 to 100 ...

7

This looks like a sliding window approach to calculating the index of coincidence. So you would have something like: ABCDE FGHIJ KLMNO OACBD EFGHI JKLMN Given enough cyphertext, you'll discover a length at which the IC is high; this is a candidate keylength for the cyphertext, because you've shifted the two texts by one keylength. Multiples of this size ...

6

Well, if we have plaintext^shiftedPlaintext, what we have is the values $P_i \oplus P_{i+k}$, where $k$ is the length of the shift. What does this imply? Well, if we consider the values $P_i \oplus P_{i+k}$, $P_{i+k} \oplus P_{i+2k}$, $P_{i+2k} \oplus P_{i+3k}$, ... we get a chain where, if we guess one of the values $P_{i+nk}$ for some $n$, we can ...

5

First guess the key length(Just try every plausible length, there aren't many). Then for each position where you know both plain- and ciphertext, calculate the key char. If you get a contradiction, the guessed key length was wrong. If the key length is short enough compared to the number of known pairs this will probably give you a large part of the key.

5

To be honest, I think all of them do NOT make much difference, since Caesar Cipher is a weak cipher. You can see Breaking the cipher on Wikipedia. It uses a method called frequency analysis, which ignores key strength. Also, the three methods you mentioned all have their weaknesses. You should use a secure random generator.

5

There is imprecision in what is stated in your notes. The Kasisky test only works if the corresponding letters in the two segments are separated by a distance that is a multiple of the key length (in other words they are encrypted by the same letter in the key). For example (source Wikipedia): [abcdea]bcdeabcdeabcde[abcdea]bcdeabc [crypto] is short for [...

4

I don't know the solution, but since you say you're only asking for hints, here's a few that occurred to me: If this is a Vigenère cipher, the missing character at the beginning should not matter (much): if you encrypt a message with the key FOOBAR and drop the first letter of the output, you can decrypt the resulting ciphertext with the key OOBARF. As ...

4

This method isn't deterministic. That is, just because a keyword has the lowest chi-square value, that doesn't mean it's the keyword. All it means that there is a good chance that it is the keyword. It's not a guarantee. You should look at the first several likely options to see if the keyword lies there. If you want to automate this, you could compare the ...

4

NO, the question does not contain the mathematical equation for the Vigenere Cipher with plaintext t and ciphertext c in thet set $\{1\dots 26\}$ (with the letter a as 1 and the letter z as 26), and displacement (or key) n, for two reasons: the best interpretation I can make of the expression given is by considering -> to be the $\implies$ mathematical ...

4

Yes. Remember that, in a Vigenère cipher, the $n$-th ciphertext letter is calculated by adding the $n$-th plaintext letter and the $n$-th key letter (where the key is repeated as many times as necessary to make it as long as the plaintext) modulo 26 (for the standard English alphabet), i.e.: $$c_n \equiv p_n + k_n \mod 26 \tag1$$ (Here, I'll assume the ...

4

I believe you need a few clarifications to answer this question yourself. The first is the one time pad (OTP). This is the only truly unbreakable system if it's used correctly. Using correctly means that for every symbol of the message there is exactly one truly random symbol in the key. Specifically, this means that there is no chosen symbol of the key ...

3

A Vigenère cypher can be unbreakable if, and only if: the key is random, the key is at least as long as the message being encrypted the key is used only once. In that case a Vigenère cypher is mathematically equivalent to a One Time Pad, and the same mathematical proof of unbreakability applies. You proposal is closer to being unbreakable than standard ...

3

Applying another round of vigenere would make the ciphtertext (in nearly every case) harder to break, yes. The problem is: This "new" algorithm is just a normal vigenere algorithm with a longer key (if the key lengths of both keys are not equal and not 1). You don't need to apply vigenere a second time, you can just calculate the new key in advance. Example:...

3

For breaking a Vigenere cipher by frequency analysis the length of the cipher text alone is not the crucial part. What really matters is the proportion cipher_text_len/key_len, as this indicates how many characters of the clear text are encoded by the same character of the key. For the example you provided this proportion is below 3. Frequency analysis ...

3

For chosen plaintext and a classic Vigenère cipher, you need only as many characters of plaintext as the length of the key to completely recover the key. It's a trivial reversal. (If the cipher uses 26 scrambled alphabets, it will take more.) if you don't know the length of the key, you will spot the repeating sequence after the second repeat. For an ...

3

I suspect, when the IC was invented, it was typically used together with human judgement, so there might not be any standard rules to address this issue. Anyway, it seems like there are two plausible solutions: It might be easy to add a special case for this situation: choose the keylength with the highest IC, except that if it has a divisor whose IC is ...

3

Vigenere Cryptosystem is as follow: You chose a key $(K_0,...,K_{m-1})$ consisting of elements in $Z_{26}$. Then a ciphertext for the message $(M_0,...,M_{n-1})$ is $$(M_i+K_{i\mod m}\mod 26)_{i \in [0..n-1]}$$ It is easy to see that you can generate a ciphertext for the message $(M_0+1,...,M_{n-1}+1)$ by adding 1 to each letter. It is therefore by ...

3

The actual "encryption" is done on this line: mysecretmessage[i] ^= ((mysecretvalue>>(8*(i%4)))&255); Clearly, this line XORs every byte (or at least, every element; but it makes sense to assume that this is indeed a byte array) of mysecretmessage with some value derived from mysecretvalue and the byte counter i. So what does the expression ((...

2

The easiest way in this case to work out if it is vigenere is to brute force it. You know the key is only 6 characters. Take a vigenere decryption function and a dictionary file of 6 character words. Decrypt using the first word, then compute a histogram of the resulting plaintext. Compare with what you would expect to see given the distribution of ...

2

Sticking to monoalphabetic ciphers, Vigenere can be combined with a secret random-like substitution of the plaintext or/and ciphertext alphabet, making it significantly more resistant. If Vigenere encryption is $$x_j\mapsto (x_j+K[j\bmod k])\bmod{26}$$ where array $K$ is the key or length $k$, I'm discussing $$x_j\mapsto (S[x_j]+K[j\bmod k])\bmod{26}$$ ...

2

For Vigenère specifically, you can make it harder to break by increasing the size of the key and by making the key truly random. If the key is truly random, longer than the plaintext and never reused, then Vigenère becomes equivalent to a One Time Pad. Even without going that far, it is possible to strengthen many, though not all, cyphers by lengthening ...

2

If you have known plaintext, namely one input file that is known in its entirety, this is trivial to break. So I'll explore methods that might lead to a break, if you don't know what's in the input file that was compressed. I suggest that you start by analyzing the DEFLATE stream format carefully (see also these handy notes). This will probably help you ...

2

It was never determined how to derive the keyword PALIMPSEST from the sculpture or its text. It was, as you stated, found by brute-force hill-climbing algorithms. One theory is that crib-dragging the morse phrase SHADOW FORCES reveals IMPS at SHAD, and working form there retrieving the entire keyword, but I find this far-fetched and implausible. The ...

2

Strange... WNZTNV is repeated... If i'm counting correct on position 1-6 and 22-27. My guess would be the key length is a divider of 21? 7 seems to be consistent with the other information, but my knowledge of foreign languages is close to none, so i don't recognize anything readable in key or plaintext... key DM''DDS of EN''EET (depending on your ...

2

This is a bit contrived, because you have given the correct answer to your test: WHATANICEDAYTODAY was the plain text and the key is crypto. However, it shows one way to attack a short Vigenère cipher, where you have a message only a few times longer than the key. I made the following assumptions: Plain text was a short English text The key was a 6-...

2

The answer to your question is easy: It depends. :-) First of all I think your two questions can be reduced to one. If you don't know the key length, then you can simply brute force over the different key lengths. For breaking the Vigenere cipher the proportion cipher_text_length/key_length is the most important number as it determines how many characters ...

2

If the message is shorter than the key, then the Vigenere cipher is essentially the one-time pad, which is unbreakable for a random key. If the key is not random, then you may get some information on the plaintext.

2

You should not just "pick the highest frequency character and assume it should be E" because it will probably fail most of the time, except if your ciphertext is really long. If your alphabet is small enough (usually either 26 or 255), it would be wiser to try all the possibilities for each group, and to check if the output looks like real english (...

Only top voted, non community-wiki answers of a minimum length are eligible