Note
Note
A cipher is an algorithm for performing encryption or decryption—a series of well-defined steps that
can be followed as a procedure.
The goal of the substitution cipher is the encryption of text (as opposed to bits in modern digital
systems). The idea is very simple: We substitute each letter of the alphabet with another one.
Brute-force attacks are based on a simple concept: Oscar, the attacker, has the ciphertext from
eavesdropping on the channel and happens to have a short piece of plaintext, e.g., the header of a
file that was encrypted. Oscar now simply decrypts the first piece of ciphertext with all possible keys.
Again, the key for this cipher is the substitution table. If the resulting plaintext matches the short
piece of plaintext, he knows that he has found the correct key.
The substitution cipher can easily be broken by such an analytical attack. The major weakness of the
cipher is that each plaintext symbol always maps to the same ciphertext symbol. That means that the
statistical properties of the plaintext are preserved in the ciphertext.
Determine the frequency of every ciphertext letter. The frequency distribution, often even of
relatively short pieces of encrypted text, will be close to that of the given language in general. In
particular, the most frequent letters can often easily be spotted in ciphertexts.
Implementation Attacks:
Side-channel analysis can be used to obtain a secret key, for instance, by measuring the electrical
power consumption of a processor which operates on the secret key. The power trace can then be
used to recover the key by applying signal processing techniques. In addition to power consumption,
electromagnetic radiation or the runtime behavior of algorithms can give information about the
secret key and are, thus, useful side channels.2 Note also that implementation attacks are mostly
relevant against cryptosystems to which an attacker has physical access, such as smart cards.
In most Internet-based attacks against remote systems, implementation attacks are usually not a
concern.
Bribing, blackmailing, tricking or classical espionage can be used to obtain a secret key by involving
humans.
Stream Cipher:
Stream ciphers encrypt bits individually. This is achieved by adding a bit from a key stream to a
plaintext bit. There are synchronous stream ciphers where the key stream depends only on the key,
and asynchronous ones where the key stream also depends on the ciphertext.
Why Is Modulo 2 Addition a Good Encryption Function?
If we do arithmetic modulo 2, the only possible values are 0 and 1 (because if you divide by
2, the only possible remainders are 0 and 1). Thus, we can treat arithmetic modulo 2 as Boolean
functions such as AND gates, OR gates, NAND gates, etc.
Test -4
Generator of 11