Question

In: Computer Science

Give two ways to encrypt a partial block cipher. Your first method should result in ciphertext...

Give two ways to encrypt a partial block cipher. Your first method should result in ciphertext that is the size of a complete block, while your second method should not expand the data. Discuss any possible security concerns for your two methods.

Solutions

Expert Solution

The two encryption types for partial block cipher are

(1) ECB (Electronic Codebook) Mode
It is the simplest mode of encryption. Each plaintext block is encrypted separately. Similarly, each ciphertext block is decrypted separately. Thus, it is possible to encrypt and decrypt by using many threads simultaneously. However, in this mode the created ciphertext is not blurred.
A typical example of weakness of encryption using ECB mode is encoding a bitmap image (for example a .bmp file). Even a strong encryption algorithm used in ECB mode cannot blur efficiently the plaintext.
The bitmap image encrypted using DES and the same secret key. The ECB mode was used for the left image and the more complicated CBC mode was used for the right image.

A message that is encrypted using the ECB mode should be extended until a size that is equal to an integer multiple of the single block length. A popular method of aligning the length of the last block is about appending an additional bit equal to 1 and then filling the rest of the block with bits equal to 0. It allows to determine precisely the end of the original message. There exist more methods of aligning the message size.

Apart from revealing the hints regarding the content of plaintext, the ciphers that are used in ECB mode are also more vulnerable to replay attacks.

(2) CTR (Counter) Mode
Using the CTR mode makes block cipher way of working similar to a stream cipher. As in the OFB mode, keystream bits are created regardless of content of encrypting data blocks. In this mode, subsequent values of an increasing counter are added to a nonce value (the nonce means a number that is unique: number used once) and the results are encrypted as usual. The nonce plays the same role as initialization vectors in the previous modes.
It is one of the most popular block ciphers modes of operation. Both encryption and decryption can be performed using many threads at the same time.

If one bit of a plaintext or ciphertext message is damaged, only one corresponding output bit is damaged as well. Thus, it is possible to use various correction algorithms to restore the previous value of damaged parts of received messages.

The CTR mode is also known as the SIC mode (Segment Integer Counter).

Security of the CTR mode
As in the case of the CBC mode, one should change the secret key after using it for encrypting a number of sent messages. It can be proved that the CTR mode generally provides quite good security and that the secret key needs to be changed less often than in the CBC mode.

For example, for the AES cipher the secret key should be changed after about 264 plaintext blocks.


Related Solutions

A message has been encrypted by Bob using row transposition cipher to give the following ciphertext:...
A message has been encrypted by Bob using row transposition cipher to give the following ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ However when Bob shared the key with Alice, it got copied multiple times and looks like: …. 6 7 4 3 1 2 5 6 7 4 3 1 2 5 6 7 4 3 1 2 5 6 7 4 3 1 2 5 6 7 4 3 1 2 …… You see a series of...
Explain the different classes of attacks that should be resisted by a secure block cipher
Explain the different classes of attacks that should be resisted by a secure block cipher
Assignment: Square Matrix ("Caesar Block")Cipher C++ ASSIGNMENTS *REMEMBER IT SHOULD NOT ONLY READ ONE LINE OR...
Assignment: Square Matrix ("Caesar Block")Cipher C++ ASSIGNMENTS *REMEMBER IT SHOULD NOT ONLY READ ONE LINE OR A SINGLE WORD remember, read, understand, and use the waterpump.cpp program will process an arbitrary amount of input text, however long. Arrange a stream in a two dimensional array of characters by filling up the array a line at a time, from leftmost column to rightmost column. DO NOT USE A GETLINE: this program should be able to input an entire library, not a...
Caesar Cipher Encryption] Write a method that takes two parameters: A parameter of type str and...
Caesar Cipher Encryption] Write a method that takes two parameters: A parameter of type str and a parameter of type int. The first parameter is the plaintext message, and the second parameter is the encryption key. The method strictly does the following tasks: a. Convert the string into a list (let us refer to it as lista). An element in the generated list is the position of the corresponding letter in the parameter string in the English alphabet. Example: ‘C’...
Writing a caesar cipher in ARM assembly. INSTRUCTIONS: Step 1: The first thing you should do...
Writing a caesar cipher in ARM assembly. INSTRUCTIONS: Step 1: The first thing you should do is modify the case conversion program String.s (provided) Instead of subtracting 32 from all numbers you want to add a constant number which we will call the key. Assume that all input will be lowercase. So it'll look like this, k = 2; letter = 'a'; newletter = k+letter; Above is pseudocode and ABOVE NOT ASSEMBLY CODE DO NOT COPY. Use bl puts to...
Problem 2: Caesar Cipher Decryption] Write a python method that takes two parameters: A parameter of...
Problem 2: Caesar Cipher Decryption] Write a python method that takes two parameters: A parameter of type str and a parameter of type int. The first parameter is the plaintext message, and the second parameter is the encryption key. The method strictly does the following tasks: a. Reverse the operations performed by the encryption method to obtain the plaintext message. The method’s header is as follows: def casesardecryption(s, key):
The discussion forum this week involves Business Method Patents. First, in your view, what should the...
The discussion forum this week involves Business Method Patents. First, in your view, what should the standard be for a business method patent? Second, please include a discussion of whether you think that Amazon should be able to patent the One-Click method of ordering goods AND whether you think Facebook should be able to patent a process that “dynamically provides a news feed about a user of a social network.” (Note: This question is adapted from p. 684 of the...
The discussion forum this week involves Business Method Patents. First, in your view, what should the...
The discussion forum this week involves Business Method Patents. First, in your view, what should the standard be for a business method patent? Second, please include a discussion of whether you think that Amazon should be able to patent the One-Click method of ordering goods AND whether you think Facebook should be able to patent a process that “dynamically provides a news feed about a user of a social network.”
Give a scientific method or ways to determine, investigate, or analyze the characteristic and behaviour of...
Give a scientific method or ways to determine, investigate, or analyze the characteristic and behaviour of electric-powered two and three wheelers in terms of the factors such as safety, travel time, accessibility, cost for a user. I need help for a research class on determining the characteristic and behaviour of people.
Give a scientific method, procedure or ways to determine the statistics in order to investigate, or...
Give a scientific method, procedure or ways to determine the statistics in order to investigate, or analyze the characteristic and behaviour of electric-powered two and three wheelers in terms of the factors such as safety, travel time, accessibility, cost for a user. I need help for a research class on determining the characteristic and behaviour of people.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT