Cryptography Reference
In-Depth Information
It is pretty easy to program this method, but it requires a certain plaintext
structure.
3.6.2 Ciphertext Attack
How do we break a Vigenere cipher using statistical methods? We know from
Section 2.4.1 that it's done in two distinct steps: revealing the period length
and breaking each of the monoalphabetic substitutions.
We've seen in Section 3.6.1 how the period length can be revealed effectively
and reliably. To reveal the substitutions, we only have to find the key character
used for XORing.
If the ciphertext is reasonably long, which we initially assume, then we pick out
the group of all characters that were encrypted with the same key character. If
we use period length N , there are N such groups. In every group, we calculate
the frequencies of all characters (to find the character distribution) and try to
adapt it to the expected distribution. Let's just briefly assume for our purposes
we wanted to encrypt by addition modulo 256 (i.e., a Caesar addition for the
'byte alphabet'), rather than by XOR. The distribution curve of a ciphertext
group should then be similar to that of a related plaintext, except that it would
be shifted (Figure 3.12).
E
N
I
R
T
S
A
H
L . . .
Alphabet
Figure 3.12: Shifted distributions.
Search WWH ::




Custom Search