1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Serggg [28]
3 years ago
13

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(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;}}
Engineering
1 answer:
KengaRu [80]3 years ago
3 0

The following code or the program will be used:

<u>Explanation:</u>

import java.util.Scanner;

public class Authenticate

{

public static void main(String[] args)

{

// Actual password is 99508

int[] actual_password = {9, 9, 5, 0, 8};

// Array to hold randomly generated digits

int[] random_nums = new int[10];

// Array to hold the digits entered by the user to authenticate

int[] entered_digits = new int[actual_password.length];

// Randomly generate numbers from 1-3 for

// for each digit

for (int i=0; i < 10; i++)

{

random_nums[i] = (int) (Math.random() * 3) + 1;

}

// Output the challenge

System.out.println("Welcome! To log in, enter the random digits from 1-3 that");

System.out.println("correspond to your PIN number.");

System.out.println();

System.out.println("PIN digit: 0 1 2 3 4 5 6 7 8 9");

System.out.print("Random #: ");

for (int i=0; i<10; i++)

{

System.out.print(random_nums[i] + " ");

}

System.out.println();

System.out.println();

// Input the user's entry

Scanner keyboard = new Scanner(System.in);

System.out.println("Enter code.");

String s = keyboard.next();

String s = keyboard.next();

// Extract the digits from the code and store in the entered_digits array

for (int i=0; i<s.length(); i++)

{

entered_digits[i] = s.charAt(i) - '0'; // Convert char to corresponding digit

}

// At this point, if the user typed 12443 then

// entered_digits[0] = 1, entered_digits[1] = 2, entered_digits[2] = 4,

// entered_digits[3] = 4, and entered_digits[4] = 3

/****

TO DO: fill in the parenthesis for the if statement

so the isValid method is invoked, sending in the arrays

actual_password, entered_digits, and random_nums as

parameters

***/

if (isValid (actual_password, entered_digits, random_nums)) // FILL IN HERE

{

System.out.println("Correct! You may now proceed.");

}

else

{

System.out.println("Error, invalid password entered.");

}

/***

TO DO: Fill in the body of this method so it returns true

if a valid password response is entered, and false otherwise.

For example, if:

actual = {9,9,5,0,8}

randnums = {1,2,3,1,2,3,1,2,3,1}

then this should return true if:

entered[0] == 1 (actual[0] = 9 -> randnums[9] -> 1)

entered[1] == 1 (actual[1] = 9 -> randnums[9] -> 1)

entered[2] == 3 (actual[2] = 5 -> randnums[5] -> 3)

entered[3] == 1 (actual[3] = 0 -> randnums[0] -> 1)

entered[4] == 3 (actual[4] = 8 -> randnums[8] -> 3)

or in other words, the method should return false if any of

the above are not equal.

****/

public static boolean isValid(int[] actual, int[] entered, int[] randnums)

{

int Index = 0;

boolean Valid = true;

while (Valid && (Index < actual.length))

{

int Code = actual[Index];

if (entered [Index] != randnums [Code])

{

Valid = false;

}

Index++;

}

return Valid;

}

You might be interested in
Ti-6Al-4V has a fracture toughness of 74.6 MPa-m0.5. How much stress (in MPa) would it take to fail a plate loaded in tension th
Nikitich [7]

Answer:

critical stress  = 595 MPa

Explanation:

given data

fracture toughness =  74.6 MPa-\sqrt{m}

crack length = 10 mm

f = 1

solution

we know crack length = 10 mm  

and crack length = 2a as given in figure attach

so 2a = 10

a = 5 mm

and now we get here with the help of plane strain condition , critical stress is express as

critical stress  = \frac{k}{f\sqrt{\pi a}}    ......................1

put here value and we get

critical stress  = \frac{74.6}{1\sqrt{\pi 5\times 10^{-3}}}

critical stress  = 595 MPa

so here stress is change by plane strain condition because when plate become thinner than condition change by plane strain to plain stress.

plain stress condition occur in thin body where stress through thickness not vary by the thinner section.

6 0
3 years ago
Whenever you are around construction sites, you should ?
AlexFokin [52]

Here are 8 construction site safety tips:

Use caution when climbing on and off equipment.

Stay away from operating machinery.

Use caution around fall hazards.

Use the proper ladder height.

Keep an updated first aid kit.

Never use damaged equipment.

Never unplug a tool by the cord.

Be aware of surroundings at all times.

4 0
3 years ago
How is this flying pls explain
nekit [7.7K]

Answer:

engine

Explanation:

as long as the engine and evrything is running it should be good

3 0
2 years ago
The driveshaft of an automobile is being designed to transmit 134 hp at 2900 rpm. Determine the minimum diameter d required for
Misha Larkins [42]

Answer:

The minimum diameter is 1.344 in

Explanation:

The angular speed of the driveshaft is equal to:

w=\frac{2\pi N}{60}

Where

N = rotational speed of the driveshaft = 2900 rpm

w=\frac{2\pi *2900}{60} =303.69rad/s

The torque in the driveshaft is equal to:

\tau=\frac{P}{w}

Where

P = power transmitted by the driveshaft = 134 hp = 73700 lb*ft/s

\tau=\frac{73700}{303.69}  =242.68lb*ft

The minimum diameter is equal to:

d_{min} =(\frac{16T}{\pi *\tau } )^{1/3}

Where

T = shear stress = 6100 psi

τ = 242.68 lb*ft = 2912.16 lb*in

d_{min} =(\frac{16*2912.16}{\pi *6100} )^{1/3} =1.344in

4 0
3 years ago
A diagonal aluminum alloy tension rod of diameter d and initial length l is used in a rectangular frame to prevent collapse. The
Ksenya-84 [330]

Answer:

\Delta L = 0.1883 inch

Explanation:

Given data:

d = 0.5 inch

L_i = 8 ft

\sigma_{allow} = 20  kpsi

we know that change in length is given as

\Delta L = \frac{PL}{AE}

              = \frac{P}{A}\times \frac{L}{E}

              = \sigma_{allow} \times \frac{L}{E}

modulus of elasticity E for aluminium alloy is 10.2 \times 10^6 psi = 10.2 \times 10^3 kpsi

\Delta L = \frac{20 \times 8}{10.2\times 10^3}

\Delta L = 0.01569 ft

\Delta L = 0.1883 inch

6 0
3 years ago
Other questions:
  • A 600-MW steam power plant, which is cooled by a nearby river, has a thermal efficiency of 40 percent. Determine the rate of hea
    10·2 answers
  • The phrase "positive to positive, negative to ground" is correct when jump starting a car.
    9·1 answer
  • Write a single statement that prints outsideTemperature with 2 digits in the fraction
    8·1 answer
  • Write a function called pyramid(height) that acceptsa parameter ""height"". It then prints a pyramid of that height
    10·1 answer
  • A heat engine that rejects waste heat to a sink at 520 R has a thermal efficiency of 35 percent and a second- law efficiency of
    10·1 answer
  • The density of a certain material is such that it weighs 9 pounds per cubic foot of
    10·1 answer
  • A furnace wall composed of 200 mm, of fire brick. 120 mm common brick 50mm 80% magnesia and 3mm of steel plate on the outside. I
    13·1 answer
  • ______________ help protect the lower legs and feet from heat hazards like molten metal and welding sparks. A) Safety shoesB) Le
    7·1 answer
  • When an emergency vehicle approaches you from in front or behind you, what should you do?
    14·1 answer
  • A pumping test was made in pervious gravels and sands extending to a depth of 50 ft. ,where a bed of clay was encountered. The n
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!