vigenere: Simplified code with normalized text

The normalized form of the text is quite helpful to simplify the code of
encryption and decryption.

Signed-off-by: Celelibi <celelibi@gmail.com>
mfreq_analysis: Don't sanitize the string

This may be done later on, with an option or something.

Signed-off-by: Celelibi <celelibi@gmail.com>
mfreq_analysis: Use the normalized text

This, again, simplify readability.

Signed-off-by: Celelibi <celelibi@gmail.com>
kasiski: Implemented kasiski method

This new module allow to break the key length by looking for repeating
substrings. If a repeating substring is found, it is probably because
the same initial substring has been ciphered with the same part of the
key.

Signed-off-by: Celelibi <celelibi@gmail.com>
cracker: Use the kasiski module

There is now at least one method to break the key length.

Signed-off-by: Celelibi <celelibi@gmail.com>
unvigenere: Allow to not specify the key length

Now there is the kasiski module, there is no need to force the key
length to be given.

Signed-off-by: Celelibi <celelibi@gmail.com>