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
Two long conducting cylindrical shells are coaxial and have radii of 20 mm and 80 mm. The electric potential of the inner conduc
Anastasy [175]

Answer:

If they can put all these together than what would the difference be between them

Explanation:

5 0
3 years ago
What is the key objective of data analysis
IceJOKER [234]

Answer: The process of data analysis uses analytical and logical reasoning to gain information from the data. The main purpose of data analysis is to find meaning in data so that the derived knowledge can be used to make informed decisions.

3 0
3 years ago
An air-standard dual cycle has a compression ratio of 9.1 and displacement of Vd = 2.2 L. At the beginning of compression, p1 =
jok3333 [9.3K]

Answer:

a) T₂ is 701.479 K

T₃ is 1226.05 K

T₄ is 2350.34 K

T₅ is 1260.56 K

b) The net work of the cycle in kJ is 2.28 kJ

c) The power developed is 114.2 kW

d) The thermal efficiency, \eta _{dual} is 53.78%

e) The mean effective pressure is 1038.25 kPa

Explanation:

a) Here we have;

\frac{T_{2}}{T_{1}}=\left (\frac{v_{1}}{v_{2}}  \right )^{\gamma -1} = \left (r  \right )^{\gamma -1} = \left (\frac{p_{2}}{p_{1}}  \right )^{\frac{\gamma -1}{\gamma }}

Where:

p₁ = Initial pressure = 95 kPa

p₂ = Final pressure =

T₁ = Initial temperature = 290 K

T₂ = Final temperature

v₁ = Initial volume

v₂ = Final volume

v_d = Displacement volume =

γ = Ratio of specific heats at constant pressure and constant volume cp/cv = 1.4 for air

r = Compression ratio = 9.1

Total heat added = 4.25 kJ

1/4 × Total heat added = c_v \times (T_3 - T_2)

3/4 × Total heat added = c_p \times (T_4 - T_3)

c_v = Specific heat at constant volume = 0.718×2.821× 10⁻³

c_p = Specific heat at constant pressure = 1.005×2.821× 10⁻³

v₁ - v₂ = 2.2 L

\left \frac{v_{1}}{v_{2}}  \right =r  \right = 9.1

v₁ = v₂·9.1

∴ 9.1·v₂ - v₂ = 2.2 L  = 2.2 × 10⁻³ m³

8.1·v₂ = 2.2 × 10⁻³ m³

v₂ = 2.2 × 10⁻³ m³ ÷ 8.1 = 2.72 × 10⁻⁴ m³

v₁ = v₂×9.1 = 2.72 × 10⁻⁴ m³ × 9.1 = 2.47 × 10⁻³ m³

Plugging in the values, we have;

{T_{2}}= T_{1} \times \left (r  \right )^{\gamma -1}  = 290 \times 9.1^{1.4 - 1} = 701.479 \, K

From;

\left (\frac{p_{2}}{p_{1}}  \right )^{\frac{\gamma -1}{\gamma }}= \left (r  \right )^{\gamma -1} we have;

p_{2} = p_{1}} \times \left (r  \right )^{\gamma } = 95 \times \left (9.1  \right )^{1.4} = 2091.13 \ kPa

1/4×4.25 =  0.718 \times 2.821 \times  10^{-3}\times (T_3 - 701.479)

∴ T₃ = 1226.05 K

Also;

3/4 × Total heat added = c_p \times (T_4 - T_3) gives;

3/4 × 4.25 = 1.005 \times 2.821 \times  10^{-3} \times (T_4 - 1226.05) gives;

T₄ = 2350.34 K

\frac{T_{4}}{T_{5}}=\left (\frac{v_{5}}{v_{4}}  \right )^{\gamma -1} = \left (\frac{r}{\rho }  \right )^{\gamma -1}

\rho = \frac{T_4}{T_3} = \frac{2350.34}{1226.04} = 1.92

T_{5} =  \frac{T_{4}}{\left (\frac{r}{\rho }  \right )^{\gamma -1}}= \frac{2350.34 }{\left (\frac{9.1}{1.92 }  \right )^{1.4-1}} =1260.56 \ K

b) Heat rejected =  c_v \times (T_5 - T_1)

Therefore \ heat \ rejected =  0.718 \times 2.821 \times  10^{-3}\times (1260.56 - 290) = 1.966 kJ

The net work done = Heat added - Heat rejected

∴ The net work done = 4.25 - 1.966 = 2.28 kJ

The net work of the cycle in kJ = 2.28 kJ

c) Power = Work done per each cycle × Number of cycles completed each second

Where we have 3000 cycles per minute, we have 3000/60 = 50 cycles per second

Hence, the power developed = 2.28 kJ/cycle × 50 cycle/second = 114.2 kW

d)

Thermal \ efficiency, \, \eta _{dual} =  \frac{Work \ done}{Heat \ supplied} = \frac{2.28}{4.25} \times 100 = 53.74 \%

The thermal efficiency, \eta _{dual} = 53.78%

e) The mean effective pressure, p_m, is found as follows;

p_m = \frac{W}{v_1 - v_2} =\frac{2.28}{2.2 \times 10^{-3}} = 1038.25 \ kPa

The mean effective pressure = 1038.25 kPa.

3 0
4 years ago
The input power for a thermostat is wired to the
masya89 [10]

Answer:

A. R

Explanation:

There are basically two wires that supply input power to the thermostat namely the C wire which is the common wire and the R wire .The G wire simply completes the input power circuit from the R-leg of the power supply.On the another hand the Y wire also completes the circuit  from the compressor fan contactor to the R-leg of the power supply . While the W wire completes the path to the heater contactor coil.

6 0
4 years ago
To protect their employees from caught-in and -between hazards, what must employers do?
marusya05 [52]

Answer:

Employers must comply with OSHA's regulations to safeguard workers from caught-in or -between dangers, which include, but are not limited to, the following:

• Protect power tools and other equipment with moving parts with guards.

• Support, secure, or otherwise make safe any equipment that has pieces that workers could become entangled in.

· Take precautions to avoid workers being crushed by tipped-over heavy machinery.

• Take precautions to avoid pinning workers between equipment and a solid object.

• Provide workers with protection when trenching and excavating.

• Provide ways to prevent constructions, such as scaffolds, from collapsing.

Explanation:

5 0
3 years ago
Other questions:
  • 21.13 The index of refraction of corundum (Al2O3) is anisotropic. Suppose that visible light is passing from one grain to anothe
    5·1 answer
  • A strain gage is carefully matched with three fixed-bridge resistors, each having a resistance of 120 2 The gage factor is 2.05,
    9·1 answer
  • Position from polar velocity A particle P starts at time t 0s at the position
    12·1 answer
  • Steep safety ramps are built beside mountain highway to enable vehichles with fedective brakes to stop safely. a truck enters a
    14·1 answer
  • Which is true about the workplace of Construction workers?
    15·2 answers
  • Select the correct answer. Which statement best describes a hydrogen fuel cell? A This device uses bioethanol as an additive to
    9·2 answers
  • What flight patterns do groups of birds utilize and why?
    10·1 answer
  • Select the correct answer from each drop-down menu.
    14·1 answer
  • Which stages occur during incomplete metamorphosis?
    12·1 answer
  • which of the following is not a general education elective area? group of answer choices humanities/fine arts social/behavioral
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!