Question

In: Computer Science

) Suppose A,B are using the majority error-correcting code scheme F discussed in class. To review,...

) Suppose A,B are using the majority error-correcting code scheme F discussed in class. To review, if M is the plaintext bit-string A wants to get to B, A calculates F(M) to be the bit-string consisting of every bit of M repeated thrice. So, for example, if M = 011, F(M) will be 000111111. The idea is that F(M) is transmitted, and if there is a single bit error (so that a 1 gets switched to a 0 or a 0 gets switched to a 1), B will not only be able to detect that an error has taken place, but will be actually able to figure out what the error is and correct it. So, if on the above example, if the 6th bit gets flipped and what is transmitted is 000110111, B will follow the majority-rule and decode the 110 as 1 to recover the correct M = 011.
Now suppose this scheme is combined with encryption using DES as follows. A calculates C = EK(F(M) and transmits C. B first calculates F(M) = DK(C) and then recovers M from F(M).
Suppose there is a single bit error (so that a 1 gets switched to a 0 or a 0 gets switched to a 1) in transmission, and what B receives is C′ which differs from C in a single bit.
(a) Will B probably still be able to figure out that an error has taken place?
i. Give a YES/NO answer.
ii. Explain your answer i.e. if you said YES explain how you think B will find out whether an error has taken place, and if you said NO explain why you think B can’t detect the error.
(b) Will B probably still be able to recover the original message M?
i. Give a YES/NO answer.
ii. Explain your answer i.e. if you said YES explain how you think B will recover M from C, if you said NO explain why you think B will not be able to recover M.

Solutions

Expert Solution

1.(a) Will B probably still be able to figure out that an error has taken place?

i)Yes.

ii)B will still not be able to find out that the error has taken place,but error detection is possible by exploiting ECC structure. If you model the cipher as a noisy communications channel, you will find very quickly that you cannot design an ECC to fight the error that it introduces. It seems cipher design applies the same principles used in ECC, but in an effort to minimize chance of message recovery, instead of maximize it.We can use simple encode-decode technique to find out what the message was before encryption.

1.(b) Will B probably still be able to recover the original message M?

i)Yes

ii)

With some modes you can encode then encrypt, specifically stream cipher modes (CTR, OFB). Bit errors during transmission translate to identical bit errors in the encoded plaintext, and error correction will work as intended.

However, with standard block cipher modes (ECB, CBC), the entire block is encrypted, and a 1 bit error in the ciphertext creates many bit changes to the decrypted block due to the avalanche effect. Depending on the type of correction used, this may be correctable, but it is generally better to apply the code to the ciphertext.But still the message is recoverable.

The correct procedure is Compress →→ Encrypt →→ ECC →→ Transmit.

You would have no hope of error recovery if you were to apply error correcting information prior to encryption.


Related Solutions

Use the Matlab code discussed in class to build a simulator for the digital modulation scheme...
Use the Matlab code discussed in class to build a simulator for the digital modulation scheme PPM Coherent. Once finished, run the simulations required to plot BER curves with a minimum probability of bit-error of 10. 1. Plots: a. ??? vs ??? (??) plot – in the same graph, plot at least 4 BER curves corresponding to different values of symbol periods and pulse widths. b. Transmitted signal plot – plot the transmitted signal corresponding to 3 bits. c. Received...
Use the Matlab code discussed in class to build a simulator for the digital modulation scheme...
Use the Matlab code discussed in class to build a simulator for the digital modulation scheme PPM Coherent. Once finished, run the simulations required to plot BER curves with a minimum probability of bit-error of 10. 1. Plots: a. ??? vs ??? (??) plot – in the same graph, plot at least 4 BER curves corresponding to different values of symbol periods and pulse widths. b. Transmitted signal plot – plot the transmitted signal corresponding to 3 bits. c. Received...
How can the Hamming error correcting code be improved? what are the improvements and implications?
How can the Hamming error correcting code be improved? what are the improvements and implications?
A (7, 4) error correcting Hamming code is designed with a generator matrix, G = ...
A (7, 4) error correcting Hamming code is designed with a generator matrix, G =   1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1   . (1) a) (10 points) Determine the code word for the message, 0110. b) (10 points) Determine the code word for the message, 1100. c) (9 points) Determine the syndrome vector for the...
IDENTIFY THE ERROR SO THAT THE CODE WILL HAVE NO ERROR USING SUCCESSIVE OVER RELAXATION METHOD...
IDENTIFY THE ERROR SO THAT THE CODE WILL HAVE NO ERROR USING SUCCESSIVE OVER RELAXATION METHOD function [x,numIter,omega] = gaussSeidel(func,x,maxIter,epsilon) % Solves Ax = b by Gauss-Seidel method with relaxation. % USAGE: [x,numIter,omega] = gaussSeidel(func,x,maxIter,epsilon) % INPUT: % func = handle of function that returns improved x using % x = starting solution vector % maxIter = allowable number of iterations (default is 500) % epsilon = error tolerance (default is 1.0e-9) % OUTPUT: % x = solution vector %...
a) Suppose f:[a, b] → R is continuous on [a, b] and differentiable on (a, b)...
a) Suppose f:[a, b] → R is continuous on [a, b] and differentiable on (a, b) and f ' < -1 on (a, b). Prove that f is strictly decreasing on [a, b]. b) Suppose f:[a, b] → R is continuous on [a, b] and differentiable on (a, b) and f ' ≠ -1 on (a, b).   Why must it be true that either f ' > -1 on all of (a, b) or f ' < -1 on all...
a) Using the AD-AS framework discussed in class, demonstrate the impacts of spending on infrastructure and...
a) Using the AD-AS framework discussed in class, demonstrate the impacts of spending on infrastructure and a tax cut on output and inflation in the shortrun. b) Also explain the likely impact of spending on infrastructure on output in the long-run and show this on your AS-AD diagram. c) Explain (using your own words) what would happen to unemployment and output in the short run if job support payments (both Jobseeker and Jobkeeper) were switched off.
I want to estimate the interpolation error in [a,b] where f is interpolated by polynomials at...
I want to estimate the interpolation error in [a,b] where f is interpolated by polynomials at x_j, h=(b-a)/n, x_j=a+jh, j=0,1,...,n. I want the answers in detail especially for n=2,3.
Consider a firm with the additive production function we discussed in class: f(K, L) = 2√...
Consider a firm with the additive production function we discussed in class: f(K, L) = 2√ L + 2√ K. (a) Derive the firm’s long run demand curve for labor, as well as the firm’s long run demand curve for capital. (b) Notice that the firm’s long run labor and capital demand curves do not exhibit any substitution effects. That is, if the price of labor increases, the firm’s use of capital does not change. Why do you think this...
In Java, using the code provided for Class Candle, create a child class that meets the...
In Java, using the code provided for Class Candle, create a child class that meets the following requirements. Also compile and run and show output ------------------------------------------------------------------------ 1. The child class will be named  ScentedCandle 2. The data field for the ScentedCandle class is:    scent 3. It will also have getter and setter methods 4. You will override the parent's setHeight( ) method to set the price of a ScentedCandle object at $3 per inch (Hint:   price = height * PER_INCH) CODE...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT