Homework Assignment #3 Due: Tuesday February 27 Cell Programming In this assignment you will implement the RC5 encryption algorithm on the IBM Cell processor. For the IBM Cell Programming Workshop, http://www.cc.gatech.edu/~bader/CellProgramming.html you should already have the Cell SDK 2.0 installed. The assignment itself has the following elements. 1. Develop an implementation of the RC5 encryption algorithm. The basic algorithm is provided in the paper "The RC5 Encryption Algorithm" (paper provided on the class webpage). Note that the purpose of this assignment is to develop some experience in programming the Cell processor. Exact, faithful implementation of key expansion and other activities conformant to the standard are unimportant. It is only the implementation of the algorithm in Sections 4.1 and 4.2 that is required. 2. Encrypt a vector of 1024 integers using one SPE. 3. Decrypt the same vector using the second SPE. Compare to ensure your implementation is correct. 4. You are only required to use PPE -> SPE and SPE -> PPE communication. You are not required to use SPE -> SPE communication (for example to pipe the encryption output to the decryption code). PLEASE NOTE: IF YOU HAVE ALREADY IMPLEMENTED RC5 ON CELL AND ARE LOOKING FOR A DIFFERENT PROGRAMMING ASSIGNMENT, THEN PLEASE ASK ME FOR A DIFFERENT ALGORITHM. 5. Submit the following electronically to me as a single report a. Cover Sheet: Assignment Title, Name, Class and Date of Submission b. Brief description of your design/implementation (1 page) c. Performance (1-2 pages max). i. Compute the speedup of the SPE relative to the PPE. ii. Compute the speedup of encryption and decryption as a function of vector length, 1024 to 4096 elements, d. SPE and PPE Source code