Download Cryptography and Computer Network Security Homework 9: Cryptography Problems - Prof. Krzys and more Assignments Cryptography and System Security in PDF only on Docsity! ECE646 Cryptography and Computer Network-Security Fall 2006 HW # 9 Due Date: Tuesday, December 5th, 2006, 7:20 PM at the beginning of class Project track: You only have to solve the problems for all tracks. Please indicate that you are in the project track. If you have time to solve problems of the exam track you may choose either the problems for programmers or the problems for analysts. Both are of equal weight. You can obtain up to 50% of points for each problem out of one of these options. Exam track: You have to solve the problems for all tracks too and choose one of the two options, problems for programmers or problems for analysts. If you have time to solve problems belonging to the second option, you can obtain up to 50% of points for each problem from this option. Please, indicate which option was your primary choice. Problems (all tracks): 1. Compute c = a · b where a = 101101102 and b = 110000102 using the left-shift algorithm. Show every step. The notation for this algorithm can be found in the book “Computer Arithmetic” by Parhami (Here is an excerpt). 2. In this problem we are examining the effect of the Chinese Remainder Theorem on RSA decryption. Assume we have RSA with the following parameters: p = 11, q = 13, and d = 113. (a) Decrypt the message y = 40 as x = yd mod n on paper using square-and-multiply algorithm. Show every single step. For multiplication and squaring you can use any method you like and it is sufficient to show just the result of the multiplication and squaring operations. (b) How many multiplications and how many squaring operations did you have to perform, how many total? (c) Recompute y using the Chinese Remainder Theorem. (d) How many multiplications, how many squarings and how many operations in total did you have to perform now? Problems (Exam Track, Analysts): 1. In class we studied the left-shift algorithm and the right-shift algorithm for multiplication of two numbers. The notation for these algorithms can also be found in the book “Computer Arithmetic” by Parhami (Here is an excerpt). Your task is to modify the left-shift algorithm to include modulo reduction. In each step of the left-shift algorithm one partial product is computed. Then this partial product is shifted to the left. The main idea is that we perform a simplified modulo reduction by checking at this step whether the partial product p is larger than or equal to the next power of two of the modulus i.e. if the modulus is “1011” we can easily check whether p at this step is larger or equal to “10000”. If it is larger we can subtract the modulus from p. Only after the multiplication is completed we have to perform a full modulo reduction by successively subtracting the modulo from the result and checking whether the result turns negative. Show how this new algorithm works by computing c = a · b mod n where a = 101101102, b = 110000102, and n = 110001012. 2. Use a spreadsheet (such as Excel), or a calculator, and test all odd numbers in the range from 219 to 233 for primality using the Miller-Rabin test with base 2. Document results of all intermediate modular multiplications. Determine the number of modular multiplications. 3. Use the Chinese Remainder Theorem to derive a general formulas for the 9 messages that are not concealed using RSA encryption (i.e., the ciphertext value is identical as the message value). Demonstrate the correctness of your formulas using at least two examples.