Question: The program should be in Java.Thanks Instructions: This programming assignment is designed to develop your Scheme programming skills and to illustrate how functional programming can




The program should be in Java.Thanks
Instructions: This programming assignment is designed to develop your Scheme programming skills and to illustrate how functional programming can be used for security applications. In particular, the assignment will familiarize you with the RSA key encryption system. Write a program to implement the RSA public-key cryptosystem. The RSA (Rivest Shamir-Adleman) cryptosystem is widely used for secure communication in browsers, bank ATM machines, credit card machines, mobile phones, smart cards, and the Windows operating system. It works by manipulating integers. To thwart eavesdroppers, the RSA cryptosystem must manipulate huge integers (hundreds of digits). The built-in Java type int is only capable of dealing with 16 or 32 bit integers, providing little or no security. You will design, implement, and analyze an extended precision arithmetic data type that is capable of manipulating much larger integers. You will use this data type to write a client program that encrypts and decrypts messages using RSA. Note: You're starting with a blank screen. This means that you must pay particular attention to the process of building up your program from scratch. Consider carefully how your program should be structured and how you are going to implement the various functions before plunging in. Remember to thoroughly test and debug each function as you write it. RSA Background The RSA cryptography system was developed by Ronald Rivest Adi Shmic and Leonard Adelman of MIT, based upon the work of Whitfield Diffie and Martin Hellman of Stanford University. In general, the RSA system works by applying a set of mathematical functions to convert blocks of characters into integers. RSA is a "public-private" key system. Conceptually, an individual uses RSA to generate a key pair containing a private key and a public key. The public key is made widely available but the private key is kept securely by the user. When someone wants to send an RSA recipients public key to encode. The recipient then uses his/her private key to decode the message. encrypted message, they utilize the RSA also permits the use of "digital signatures" - a method of verifying the identity of the person who sent you the encrypted message. In general, encrypted messages are digitally signed by compressing the encrypted message with a publicly disseminated hash compression function uces the encryp ted block of integers into a single number. This hashing produces an unencrypted signature that is then encrypted Instructions: This programming assignment is designed to develop your Scheme programming skills and to illustrate how functional programming can be used for security applications. In particular, the assignment will familiarize you with the RSA key encryption system. Write a program to implement the RSA public-key cryptosystem. The RSA (Rivest Shamir-Adleman) cryptosystem is widely used for secure communication in browsers, bank ATM machines, credit card machines, mobile phones, smart cards, and the Windows operating system. It works by manipulating integers. To thwart eavesdroppers, the RSA cryptosystem must manipulate huge integers (hundreds of digits). The built-in Java type int is only capable of dealing with 16 or 32 bit integers, providing little or no security. You will design, implement, and analyze an extended precision arithmetic data type that is capable of manipulating much larger integers. You will use this data type to write a client program that encrypts and decrypts messages using RSA. Note: You're starting with a blank screen. This means that you must pay particular attention to the process of building up your program from scratch. Consider carefully how your program should be structured and how you are going to implement the various functions before plunging in. Remember to thoroughly test and debug each function as you write it. RSA Background The RSA cryptography system was developed by Ronald Rivest Adi Shmic and Leonard Adelman of MIT, based upon the work of Whitfield Diffie and Martin Hellman of Stanford University. In general, the RSA system works by applying a set of mathematical functions to convert blocks of characters into integers. RSA is a "public-private" key system. Conceptually, an individual uses RSA to generate a key pair containing a private key and a public key. The public key is made widely available but the private key is kept securely by the user. When someone wants to send an RSA recipients public key to encode. The recipient then uses his/her private key to decode the message. encrypted message, they utilize the RSA also permits the use of "digital signatures" - a method of verifying the identity of the person who sent you the encrypted message. In general, encrypted messages are digitally signed by compressing the encrypted message with a publicly disseminated hash compression function uces the encryp ted block of integers into a single number. This hashing produces an unencrypted signature that is then encrypted
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
