This semester we will study several cybersecurity topics (secure code and cryptography). This assignment will begin...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
This semester we will study several cybersecurity topics (secure code and cryptography). This assignment will begin our study of cryptography. There are few important terms to know: Cryptography - a technique of protecting information and communications using codes so that only those for whom the information is intended can read and use it. Encryption - the process of translating information/data that is easily read by individuals (called plaintext) into a new format that appears to be random, meaningless, and not easily understood (called ciphertext). Decryption - the process of converting ciphertext back to plaintext. This assignment will focus on a very basic (and easy to break) encryption cipher: The Caesar Cipher. Read and watch the following video and website on the Caesar Cipher: https://learncryptography.com/classical-encryption/caesar-cipher https://www.youtube.com/watch?v=plt4Q68J00A The Caesar Cipher is simply a "shift" algorithm. You can use Caesar ciphers with alphabetic letters and with integer values. Many examples you read illustrate the Caesar Cipher with letters, but you can also use it for numeric data. We will use it to encrypt integers. For integers, you simply apply the shift value to an existing number to achieve an "encrypted" number. Examples: Plaintext integer: 107 Shift: 15 Encrypted value: 122 (107+15) Ciphertext integer 122 Shift: 15 Decrypted value: 107 (122-15) Plaintext integer: 1000 Shift: 145 Encrypted value: 1145 Ciphertext integer 1111 Shift: 10 Decrypted value: 1101 NARRATIVE DESCRIPTION Your local bank uses 5-digit personal identification number (PIN) for debit card and ATM transactions. They allow customers to change their PIN using the last 4 digits of their social security number (SSN) as a verification. They want the PIN and last 4 digits of the SSN encrypted when stored. You have been asked to use a Caesar cipher to encrypt a customer's PIN and last 4 digits of an SSN. Write a program that will test this. To do this, create a Java program that will input the following: A customer's first name . A customer's last name The customer's PIN The customer's last 4 digits of their SSN A shift value for the Caesar cipher The program should perform the following processing: Encrypt the PIN and SSN using the shift value. Output these values The program should perform the following output: . To test encryption using a Caesar cipher on the customer's PIN and SSN, output the customer's name, PIN, last 4-digits of the the SSN, the Caesar Shift, the encrypted PIN and the encrypted SSN in the following format: Customer: PIN: Last + of SSN: Caesar shift Encrypted PIN: Encrypted SSN: Olivia jenkins 11507 7008 123 11630 7131 Once this is completed and tested, add coding to decrypt the encrypted PIN and SSN. Do not simply display the input provided by the customer but calculate the decryptions using the shift value. Your final output should be similar to: Customer: PIN: Last 4 of SSN: Caesar shift Encrypted PIN: Olivia jenkins 11507 7002 123 11630 Encrypted SSN: 7131 Decrypted PIN: 11507 Decrypted SSN: 7002 NOTE: Since we have not learned about selection statement yet, we will not perform error-checking on the user input. This will be coming soon. NEW CONCEPTS ASSESSED AND ILLUSTRATED (IN ADDITION TO ANY PREVIOUSLY LEARNED) Cryptography and the Caesar cipher Formatting output in a pleasing manner Integer arithmetic SOFTWARE REQUIREMENTS (USE A CHECKLIST FOR ALL FEATURES) Select the correct data type for each variable and constant. Input required values from the user (one at a time). Encrypt the PIN. Encrypt the SSN. Decrypt the encrypted PIN. Decrypt the encrypted SSN. All input prompts should be clear to the user as to what they are to key. All output should be clear to the user as to what they are viewing as the results. You must format the output as shown on the previous page. Do not use any features/topics we have not learned in class. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. Include a comment block at the top of your program to include (1) Your name (2) Date (3) Instructor (4) Class and (5) Purpose of this program. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. Use the Programming Standards document from Module 1 to apply documentation standards correctly. Document each section of code. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. SECURITY CONSIDERATIONS Selecting incorrect data types can have security implications, which we will soon learn about. It is very important that you select the correct data type (and size) for each variable and constant you use. We do not want to waste memory and yet we must insure the data type is large enough to hold the data to be stored in memory. Cryptography allow us to secure sensitive data. This semester we will study several cybersecurity topics (secure code and cryptography). This assignment will begin our study of cryptography. There are few important terms to know: Cryptography - a technique of protecting information and communications using codes so that only those for whom the information is intended can read and use it. Encryption - the process of translating information/data that is easily read by individuals (called plaintext) into a new format that appears to be random, meaningless, and not easily understood (called ciphertext). Decryption - the process of converting ciphertext back to plaintext. This assignment will focus on a very basic (and easy to break) encryption cipher: The Caesar Cipher. Read and watch the following video and website on the Caesar Cipher: https://learncryptography.com/classical-encryption/caesar-cipher https://www.youtube.com/watch?v=plt4Q68J00A The Caesar Cipher is simply a "shift" algorithm. You can use Caesar ciphers with alphabetic letters and with integer values. Many examples you read illustrate the Caesar Cipher with letters, but you can also use it for numeric data. We will use it to encrypt integers. For integers, you simply apply the shift value to an existing number to achieve an "encrypted" number. Examples: Plaintext integer: 107 Shift: 15 Encrypted value: 122 (107+15) Ciphertext integer 122 Shift: 15 Decrypted value: 107 (122-15) Plaintext integer: 1000 Shift: 145 Encrypted value: 1145 Ciphertext integer 1111 Shift: 10 Decrypted value: 1101 NARRATIVE DESCRIPTION Your local bank uses 5-digit personal identification number (PIN) for debit card and ATM transactions. They allow customers to change their PIN using the last 4 digits of their social security number (SSN) as a verification. They want the PIN and last 4 digits of the SSN encrypted when stored. You have been asked to use a Caesar cipher to encrypt a customer's PIN and last 4 digits of an SSN. Write a program that will test this. To do this, create a Java program that will input the following: A customer's first name . A customer's last name The customer's PIN The customer's last 4 digits of their SSN A shift value for the Caesar cipher The program should perform the following processing: Encrypt the PIN and SSN using the shift value. Output these values The program should perform the following output: . To test encryption using a Caesar cipher on the customer's PIN and SSN, output the customer's name, PIN, last 4-digits of the the SSN, the Caesar Shift, the encrypted PIN and the encrypted SSN in the following format: Customer: PIN: Last + of SSN: Caesar shift Encrypted PIN: Encrypted SSN: Olivia jenkins 11507 7008 123 11630 7131 Once this is completed and tested, add coding to decrypt the encrypted PIN and SSN. Do not simply display the input provided by the customer but calculate the decryptions using the shift value. Your final output should be similar to: Customer: PIN: Last 4 of SSN: Caesar shift Encrypted PIN: Olivia jenkins 11507 7002 123 11630 Encrypted SSN: 7131 Decrypted PIN: 11507 Decrypted SSN: 7002 NOTE: Since we have not learned about selection statement yet, we will not perform error-checking on the user input. This will be coming soon. NEW CONCEPTS ASSESSED AND ILLUSTRATED (IN ADDITION TO ANY PREVIOUSLY LEARNED) Cryptography and the Caesar cipher Formatting output in a pleasing manner Integer arithmetic SOFTWARE REQUIREMENTS (USE A CHECKLIST FOR ALL FEATURES) Select the correct data type for each variable and constant. Input required values from the user (one at a time). Encrypt the PIN. Encrypt the SSN. Decrypt the encrypted PIN. Decrypt the encrypted SSN. All input prompts should be clear to the user as to what they are to key. All output should be clear to the user as to what they are viewing as the results. You must format the output as shown on the previous page. Do not use any features/topics we have not learned in class. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. Include a comment block at the top of your program to include (1) Your name (2) Date (3) Instructor (4) Class and (5) Purpose of this program. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. Use the Programming Standards document from Module 1 to apply documentation standards correctly. Document each section of code. THIS WILL NOT INCLUDED IN FUTURE ASSIGNMENTS BUT ALWAYS REQUIRED. SECURITY CONSIDERATIONS Selecting incorrect data types can have security implications, which we will soon learn about. It is very important that you select the correct data type (and size) for each variable and constant you use. We do not want to waste memory and yet we must insure the data type is large enough to hold the data to be stored in memory. Cryptography allow us to secure sensitive data.
Expert Answer:
Related Book For
Business Communication Essentials a skill based approach
ISBN: 978-0132971324
6th edition
Authors: Courtland L. Bovee, John V. Thill
Posted Date:
Students also viewed these databases questions
-
Planning is one of the most important management functions in any business. A front office managers first step in planning should involve determine the departments goals. Planning also includes...
-
"internet radios" for streaming audio, and personal video recorders and players. Describe design and evaluation processes that could be used by a start-up company to improve the usability of such...
-
Find or evaluate the integral by completing the square. 3 L= dx x + 4x + 8
-
If you deposit $1,000 into an account at the end of each of the next 10 years and the account pays an annual interest rate of 2%, how much will be in the account after 10 years?
-
Are richer people happier? How might we collect data to answer this question? What would the cases be? What would the variable(s) be?
-
List three ways to get input from the console and convert that input to the desired data type.
-
Harbour Company makes two models of electronic tablets, the Home and the Work. Basic production information follows: Harbour has monthly overhead of $175,200, which is divided into the following cost...
-
How does a Cloud Data Management Platform differ from a Database Management System?
-
A 20 metre straight length of rectangular air conditioner ducting (made from a perfect conductor) has cross-sectional dimensions of 24 cm by 18 cm. A mobile phone is standing up near one end the...
-
Interwest receives government funding and the funding is tied to the accuracy of the reports put out by its information system. The CFO, Singh, is concerned about whether the employees are adequately...
-
Self concept includes an individual's self-beliefs and self-evaluations, do you agree with this statement? Briefly state three structural characteristics of self concept`
-
Within this activity, you'll have an opportunity to practice visualizing information for a specific audience and purpose. Assume that you work for PLANET (the Professional Landcare Network), a...
-
The opening case explores the rationale behind the joint venture between Britain's JCB, a manufacturer of construction equipment, and Indian engineering conglomerate, Escorts. The two companies...
-
How many dashboards are used by Arkansas Children's senior leadership team? According to Edward Marx (CIO at the Cleveland Clinic) what do dashboards enable the COO to become? What executive gives...
-
Tabling Grades (String concatenation). Write a Java program that prints a table with a list of at least 3 students together with their grades earned (lab points, bonus points, and the total) in the...
-
On October 31 Juanita Ortega, owner of Outback Guide Service, received a bank statement dated October 30. Juanita found the following: 1. The checkbook has a balance of $2,551.34. 2. The bank...
-
Use one of the websites listed in Table 13.1 on page 357 to find a job opening in your target profession. If you haven't narrowed down to one career field yet, chose a business job for which you will...
-
The following email message about travel budget cutbacks at Black & Decker contains numerous blunders. Using what you've learned in the chapter, read the message carefully and analyze its faults....
-
If you want to know whether job candidates can express themselves clearly on Twitter, why not test them as part of the application process? That's exactly what the Minneapolis advertising agency...
-
Reconsider the data from Problem 57 (Orpheum Productions lighting enhancement). Assume that any money not invested in the lighting enhancements will be placed in an interest-bearing account earning...
-
An investor has \($100,000\) to invest in a business venture, or she can earn 10 percent/year with a \($100,000\) certificate of deposit for 4 years. Three possible business ventures have been...
-
This problem is related to Problem 8. Jeff has $10,000 to invest for a period of 5 years. The following three alternatives are available at his bank: Data from problem 8 Jeff has $10,000 to invest...
Study smarter with the SolutionInn App