Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Spatial Databases 2nd Symposium Ssd 91 Zurich Switzerland August 1991 Proceedings Lncs 525

Authors: Oliver Gunther ,Hans-Jorg Schek

1st Edition

3540544143, 978-3540544142

More Books

Students also viewed these Databases questions