subject
Engineering, 22.04.2020 00:53 jkw1222p0ttvq

Traditional password entry schemes are susceptible to "shoulder surfing" in which an attacker watches an unsuspecting user enter their password or PIN number and uses it later to gain access to the account. One way to combat this problem is with a randomized challenge-response system. In these systems, the user enters different information every time based on a secret in response to a randomly generated challenge. Consider the fol- lowing scheme in which the password consists of a five-digit PIN number (00000 to 99999). Each digit is assigned a random number that is 1, 2, or 3. The user enters the random numbers that correspond to their PIN instead of their actual PIN numbers. For example, consider an actual PIN number of 12345. To authenticate the user would be presented with a screen such as:PIN: 0 1 2 3 4 5 6 7 8 9 NUM: 3 2 3 1 1 3 2 2 1 3The user would enter 23113 instead of 12345. This doesn’t divulge the password even if an attacker intercepts the entry because 23113 could correspond to other PIN numbers, such as 69440 or 70439. The next time the user logs in, a different sequence of random numbers would be generated, such as: PIN: 0 1 2 3 4 5 6 7 8 9 NUM: 1 1 2 3 1 2 2 3 3 3Your program should simulate the authentication process. Store an actual PIN number in your program. The program should use an array to assign random numbers to the digits from 0 to 9. Output the random digits to the screen, input the response from the user, and output whether or not the user’s response correctly matches the PIN number. I have this code so far, but would like to input cstrings and vectors to fulfill the requirements, I need help with that. This is for c++ for beginners#include #include #include #include using namespace std;void generateRandomNumbers(int *random){ // Use current time as seed for random generatorsrand(time(0));for(int i=0;i<10;i++){random[i] = 1 + rand() % 3;}}bool isMatch(string pin, string randomPin, int *random){int index;for(int i=0;i<(int)pin. length();i++){ //converting pin number to int so that we can check the random number at that indexindex = pin[i]-'0';if((randomPin[i]-'0') != random[index-1])return false;}return true;}int main(){string pin = "12345";string randomPin;int random[10];generateRandomNumbers(ra ndom);cout << "Randomly Generated numbers " << endl;for(int i=0;i<10;i++){cout << random[i] << " ";}cout << endl;cout << "Now Enter your pin interms of random numbers: ";cin >> randomPin;if(isMatch(pin, randomPin, random)){cout << "Both matches" << endl;}else{cout << "Sorry you entered wrong pin.." << endl;}}

ansver
Answers: 2

Another question on Engineering

question
Engineering, 03.07.2019 14:10
When at a point two solid phase changes to one solid phase on cooling then it is known as a) eutectoid point b) eutectic point c) peritectic point d) peritectoid point
Answers: 3
question
Engineering, 04.07.2019 18:10
Acompressor receives the shaft work to decrease the pressure of the fluid. a)- true b)- false
Answers: 3
question
Engineering, 04.07.2019 18:10
Hydraulic fluid with a sg. of 0.78 is flowing through a 1.5 in. i.d. pipe at 58 gal/min. the fluid has an absolute viscosity of 11.8 x 105 lbf-sec/ft2. is the flow laminar, turbulent or within the critical range? give both a numerical reynolds number and a term answer.
Answers: 3
question
Engineering, 04.07.2019 18:10
Calculate the bore of a cylinder that has a stroke of 18 inches and an extension time of 6 seconds at a flow rate of 4 gal/min.
Answers: 3
You know the right answer?
Traditional password entry schemes are susceptible to "shoulder surfing" in which an attacker watche...
Questions
question
Mathematics, 04.12.2020 01:00
question
Spanish, 04.12.2020 01:00
question
Mathematics, 04.12.2020 01:00
question
Mathematics, 04.12.2020 01:00
question
Mathematics, 04.12.2020 01:00
question
English, 04.12.2020 01:00
Questions on the website: 13722363