Cryptographic Concepts (part 2) Flashcards
What is a symmetric key?
A symmetric key means that the encryption key (e) and the decryption key (d) are similarly related. If you know the encryption key (e), then it is easy to derive the decryption key (d).
e.g. if the decryption function is the inverse permutation function of the encryption function
What is the Caesar Cipher?
A Caesar Cipher’s encryption function shifts all the letters by 3 (wrapping around at the end of the alphabet).
What is the difference between encoding/decoding and encrypting/decrypting?
In encoding/decoding there is no key involved. In encrypting/decrypting a key is used.
e.g. The Caesar Cipher uses encoding/decoding, since it just shifts letters by 3 no matter what.
Draw a model of symmetric-key encryption.
In symmetric-key encryption, on which type of channel does Alice send Bob her key? What about the ciphertext?
- Alice can communicate the key to Bob by establishing a secure channel and then sending it on that secure channel.
- Then Alice encrypts the message and sends the ciphertext across the unsecured channel. Bob receives it and decrypts the ciphertext using the key.
In symmetric-key encryption, why doesn’t Alice just send the ciphertext over the secure channel?
Becuase sending data over the secure channel is slow, so it would take a lot longer to send a long message on the secure channel, rather than the unsecure channel.
What two types of ciphers are usually used in symmetric-key encryption?
- Block Ciphers
- Stream Ciphers
What is a block cipher?
A block cipher is an encryption scheme which breaks up the plaintext messages into strings (called blocks) of a fixed length t over an alphabet A, and encrypts one block at a time.
What is a product cipher?
A product cipher combines substitution ciphers and transposition ciphers (i.e. first encrypt with a substitution cipher, and then encrypt with a transposition cipher). By doing this, your security may increase.
What is a stream cipher?
A stream cipher is a block cipher having a block length of one.
- Every character is encrypted one bit/byte at a time.
- An encryption transformation can change on every symbol.
- It can be used when data must be processed one symbol at a time (e.g., equipment has no memory or buffering of data is limited).
- There is no error propagation.
How does a Vernam cipher work?
What is a one-time pad?
A one-time pad is a Vernam cipher where the key string is truly randomly chosen and never used again.
A one-time pad is theoretically unbreakable!
Why is a one-time pad impractical in practice?
Because it has been proven that to realize an unbreakable system requires a random key of the same length as the message.
(Neither the sender nor receiver knows how long the message will be ahead of time.)
What is a substitution cipher?
Substitution ciphers are block ciphers which replace symbols (or groups of symbols) by other symbols or groups of symbols.
What is a mono-alphabetic substitution cipher?
If the alphabet A contains q symbols, how many distinct mono-alphabetic substitution ciphers are there?
q!
For the English alphabet, this is 26!
Are mono-alphabetic substitution ciphers secure? Why or why not?
They are not secure because they preserve the frequency distribution of letters in the ciphertext, allowing an experienced cryptographer to crack them.
(Note that they are not insecure because the key space is too small.)
What does the following mean:
“First-order statistics of plaintext and ciphertext are isomorphic.”
first-order statistics = the monogram statistics = the letter frequencies
The word isomorphic just means that if we have the two histogram distributions, then by simply renaming the letters of the ciphertext histogram we can make it match the plaintext histogram.
What is a homophonic substitution cipher?
- In a homophonic substitution cipher, each symbol a maps to a set of strings H(a).
- The only requirement is that each set of strings does not intersect with any other set, (i.e. the sets of strings are pairwise disjoint).
- When you perform the encryption, you randomly select one of the strings that can represent each character and substitute it for the character.
- This time, when the attacker looks at the ciphertext, it is much more confusing and difficult to determine which set of symbols map to which letters.
What are the pros and cons of a homophonic substitution cipher?
Pros:
- Frequency distributions are not maintained, so it is more difficult to crack.
Cons
- Decryption takes longer.
- The ciphertext is much much longer than the plaintext message (data expansion), so it can take longer to transfer the encrypted message.