Computers and Technology

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 following 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 3
The 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 3
Your 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 generator
srand(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 index
index = 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(random);
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;
}
}

answer
Answers: 1

Other questions on the subject: Computers and Technology

image
Computers and Technology, 21.06.2019 13:50, almostnevercbbc
Implement the dining philosophers problem (described on pages 167-170 in the textbook (chapter 2.5. create a graphical user interface - showing which philosopher is eating, and which is waiting/thinking at any given time. show the forks. use java programming language for this project.
Answers: 2
image
Computers and Technology, 23.06.2019 09:30, cdavis379
:you areto design the controller for alight that functions both as an ordinary light and also as a motion activated light and alarm. a. if the manual switch s is on, then the light l is on. b. besides the manual switch, there is a motion detector, m1, which activatesthis light. c.if motion is detected but the light is on anyway because s is on, only then a secondoutput a, an alarm, is turned on. d. the disable switch, d, disables the motion activated light and alarmbut leaves manual control operation of the light using switch s.(i)read the problem statement and clearly identify the inputs and outputs for the circuit you are designing. (ii)create the truth table for this system; include the light, alarm, switch, disable, and the motion sensor.(iii)draw a schematic of this system.
Answers: 1
image
Computers and Technology, 23.06.2019 15:30, jasssp
Write a program in plp assembly that counts up by one starting from zero (or one) inside a loop and writes this value to the leds every time the value is increased. the memory address of the leds is 0xf0200000. the table below shows the meaning and an example usage of the instructions covered in the video, plp instructions for project 1. instruction example usage meaning load immediate li $t0, 8 register $t0 is set to the value, 8. store word sw $t2, 0($t1) the value in register $t1 is used as the memory address. the value in register $t2 is copied into this memory address. add addiu $t4, $t3, 29 register $t4 is assigned the sum of 29 and the value in register $t3. jump j your_label_name the program jumps to the line following the label, "your_label_name: ". label your label name: defines a label called "your_label_name: " that can be jumped to
Answers: 2
image
Computers and Technology, 23.06.2019 16:30, mirmir62
Which of the following is not an enhancement to the standard wiki to make it more attractive for corporations? encryptionwork spacespermission toolspredictive text
Answers: 2
Do you know the correct answer?
Traditional password entry schemes are susceptible to "shoulder surfing" in which an attacker watche...

Questions in other subjects:

Konu
Mathematics, 26.04.2020 00:51
Konu
Physics, 26.04.2020 00:51