You are on page 1of 3

# 1.

## A symmetric encryption scheme has five ingredients (Figure 2.1):

Plaintext: This is the original message or data that is fed into the algorithm as input.
Encryption algorithm: The encryption algorithm performs various substitutions and
transformations on the plaintext.
Secret key: The secret key is also input to the encryption algorithm. The exact substitutions and
transformations performed by the algorithm depend on the key.
Ciphertext: This is the scrambled message produced as output. It depends on the plaintext and
the secret key. For a given message, two different keys will produce two different ciphertexts.
Decryption algorithm: This is essentially the encryption algorithm run in reverse. It takes the
ciphertext and the secret key and produces the original plaintext.
2) What are the two basic functions used in encryption algorithms?

## All the encryption algorithms are based on two general principles:

Substitution: In which each element in the plaintext(bit, letter, group of bits or letters)
is mapped into another element.
Transposition: In which elements in the plaintext are rearranged.
The fundamental requirement is that no information be lost(that is ,that all operations are
reversible). Most systems, referred to as product systems, involve multiple stages of substitutions
and transpositions.
3) How many keys are required for two people to communicate via a cipher?
If both sender and receiver use the same key, the system is referred as symmetric,
single-key, secret-key or conventional encryption. If both sender and receiver uses a
different key, the system is referred as asymmetric, two-key or public key
encryption.
That depends on whether you use a symmetric (shared key) or asymmetric (public/private key pair) algorithm.
If you use a symmetric key, it means both people have the same key which has been pre-shared via some
secure means. In that case, only one key is required; both parties in the communication use the same key to
encrypt and decrypt all messages.
If you use an asymmetric key algorithm, it takes at least 4 keys total: when sending a message each user will
encrypt their message with the public key of the recipient (that accounts for two of the keys). Each recipient
must then use their private key to decrypt the messages they receive (which accounts for the other two required
keys).

## The general two approaches for attacking a cipher

1.

Cryptanalysis: Cryptanalytic attacks rely on the nature of the algorithm plus perhaps some knowledge of
the general characteristics of the plaintext or even some samples plaintext-cipher text pairs. This type of
attack exploits the characteristics of the algorithm to attempt to deduce a specific plaintext or to deduce the
key being used. If the attack succeeds in deducing the key, the effect is catastrophic: All future and past
messages encrypted with the key are compromised.

2.

Brute-force attack: The attacker tries every possible key on a piece of cipher text until an intelligible
translation into plaintext is obtained. On average, half of all possible keys must be tried to achieve success.

## 5. What is the difference between an unconditionally secure cipher and a

computationally secure cipher?
unconditional security
no matter how much computer power or time is available, the cipher cannot be broken since the ciphertext
provides insufficient information to uniquely determine the corresponding plaintext
computational security
given limited computing resources (eg time needed for calculations is greater than age of universe), the cipher
cannot be broken

The definition of an unconditionally secure cryptosystem states that the cryptosystem cannot be broken
even with infinitely computational ressources and time. However, since most books define the
keyspace K to be finite, then with infinite time any computational device can perform an

exhaustive

keysearch.
Why are perfect secrecy cryptosystems unconditionally secure? I mean, how can the one-time pad with a
small keyspace be considered to be unconditionally secure (take
Are unconditionally

## relaxations of unconditional security, that it is

possible to break the cryptosystem in superpolynomial time and with neglible probability. Why
are these relaxations of unconditional security? Any cryptosystem can be broken with small
In order to define computational security, one makes the

## 6 Briefly define the Caesar cipher.

A Caesar cipher is a type of crytographic algorithm which encrypts a message
by shifting
letters to the left or right. The key of such an algorithm is the length at
which one
shifts a letter, as well as the direction a letter is shifted

The Caesar cipher involves replacing each letter of the alphabet with the letter standing three
places down the alphabet .The alphabet is wrapped around, so that the letter following Z is A.
C = E (p) = (p + 3) mod (26)
The general Caesar cipher algorithm is
C = E (p) = (p + k) mod (26)
where k takes the value in the range 1 to 25
The decryption algorithm is
p = D(C) = (C - k) mod (26)