Write (Java or C/C++) UDP programs allowing two parties to establish a secure communication channel. For...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
Write (Java or C/C++) UDP programs allowing two parties to establish a secure communication channel. For simplicity, let us call the programs "Host" and "Client", which are executed by Alice and Bob, respectively. Alice and Bob share a common password PW, which contains at least 6 alphanumeric characters. Alice/Host stores the password in the hashed form (i.e., H(PW) where H denotes the SHA-1 hash function) and Bob/Client memorizes the password. They want to establish a secure communication channel that can provide data confidentiality and integrity. They aim to achieve this goal via the following steps: (1) use the shared password to establish a shared session key; (2) use the shared session key to secure the communication. Step 1 is done via the following key exchange protocol: 1: BA: "Bob" 2: A B: E(H(PW), p, g, g mod p) 3: B A: E(H(PW), gb mod p) 4: AB: E(K, NA) 5: B A: E(K, NA+1, NB) 6: A B: E(K, N+1) or Login Failed" In the above protocol, p and g are the parameters for the Diffie-Hellman key exchange, E denotes the RC4 stream cipher. The shared key K is computed as K = H(gab mod p) where a and b are random numbers selected by Alice and Bob in each session. N (resp. NB) denotes a nonce selected by A (resp. B). After establishing the session key, step 2 is achieved as follows: H(K||M|K), and then E(K, M||hash) and sends C to Bob. Here || denotes the string concatenation. 1. whenever Alice wants to send a message M to Bob, Alice first computes hash computes C= 2. upon receiving a ciphertext C, Bob first runs the decryption algorithm to obtain M||hash = D(K, C). After that, Bob computes hash' = H(K||M||K) and checks if hash =hash'. If the equation holds, then Bob accepts M; otherwise, Bob rejects the ciphertext. 3. the same operations are performed when Bob sends a message to Alice. = Write (Java or C/C++) UDP programs allowing two parties to establish a secure communication channel. For simplicity, let us call the programs "Host" and "Client", which are executed by Alice and Bob, respectively. Alice and Bob share a common password PW, which contains at least 6 alphanumeric characters. Alice/Host stores the password in the hashed form (i.e., H(PW) where H denotes the SHA-1 hash function) and Bob/Client memorizes the password. They want to establish a secure communication channel that can provide data confidentiality and integrity. They aim to achieve this goal via the following steps: (1) use the shared password to establish a shared session key; (2) use the shared session key to secure the communication. Step 1 is done via the following key exchange protocol: 1: BA: "Bob" 2: A B: E(H(PW), p, g, g mod p) 3: B A: E(H(PW), gb mod p) 4: AB: E(K, NA) 5: B A: E(K, NA+1, NB) 6: A B: E(K, N+1) or Login Failed" In the above protocol, p and g are the parameters for the Diffie-Hellman key exchange, E denotes the RC4 stream cipher. The shared key K is computed as K = H(gab mod p) where a and b are random numbers selected by Alice and Bob in each session. N (resp. NB) denotes a nonce selected by A (resp. B). After establishing the session key, step 2 is achieved as follows: H(K||M|K), and then E(K, M||hash) and sends C to Bob. Here || denotes the string concatenation. 1. whenever Alice wants to send a message M to Bob, Alice first computes hash computes C= 2. upon receiving a ciphertext C, Bob first runs the decryption algorithm to obtain M||hash = D(K, C). After that, Bob computes hash' = H(K||M||K) and checks if hash =hash'. If the equation holds, then Bob accepts M; otherwise, Bob rejects the ciphertext. 3. the same operations are performed when Bob sends a message to Alice. =
Expert Answer:
Related Book For
Introduction to Algorithms
ISBN: 978-0262033848
3rd edition
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest
Posted Date:
Students also viewed these computer network questions
-
can someone solve this Modern workstations typically have memory systems that incorporate two or three levels of caching. Explain why they are designed like this. [4 marks] In order to investigate...
-
Q1. You have identified a market opportunity for home media players that would cater for older members of the population. Many older people have difficulty in understanding the operating principles...
-
Rainbow manufactures wooden backyard playground equipment. Rainbow estimated $1,785,000 of manufacturing overhead and $2,100,000 of direct labour cost for the year. After the year was over, the...
-
FedEx Corporation and United Parcel Service, Inc. compete in the package delivery business. The major fixed assets for each business include aircraft, sorting and handling facilities, delivery...
-
Describe the accounts in the JE , under Scenario A SOCIAL IMPACT LEARNING wants to issue $ 1 0 0 , 0 0 0 of 1 2 % bonds payable that matures in five years, semi - annual interest on July 1 and Jan 1...
-
Why does the earned income tax credit increase the labor force participation rate of targeted groups?
-
Net Asset Classifications. During the past year, Oak City had a number of transactions that impacted net asset classifications of its produce market, which is operated as an enterprise fund. All...
-
3. Given the following production rules in Figure 3 for simple robot commands. i) Create a a parser or derivation for the black cat crossed the road'. ii) S NP VP VP Verb Verb NPI Verb Noun NP Noun...
-
Brenda (33) has three dependent children in the home and qualifies to file as head of household. Her taxable Louisiana income for 2019 was $41,429. Determine her Louisiana tax liability. $935 $1,165...
-
Is the influence of a single outlier greater on the mean or the median? Explain.
-
With reference to Exercise 2.66, (a) find the quartiles; (b) find the minimum, maximum, range, and interquartile range; (c) create a boxplot. Data From Exercise 2.66 2.66 A. A. Michelson (1852-1931)...
-
Find a transaction currently in the news. Speculate as to what criteria the buyer may have employed to identify the target company as an attractive takeover candidate. Be specific.
-
A television channel announced a vote for their viewers' favorite television show. Viewers were asked to visit the channel's website and vote online for their favorite show. Identify the population...
-
If the mean annual compensation paid to the chief executives of three engineering firms is $\$ 175,000$, can one of them receive $\$ 550,000$ ?
-
Radioactive isotopes are often used for medical imaging. Technetium-99m (99mTc) is a particularly popular isotope since it has a short half-life and is easy to make. (The "m" in technetium-99m just...
-
Refer to the data for problem 13-36 regarding Long Beach Pharmaceutical Company. Required: Compute each division's residual income for the year under each of the following assumptions about the...
-
Show that no compression scheme can expect to compress a file of randomly chosen 8-bit characters by even a single bit.
-
Explain how to implement two stacks in one array A[1 . . n] in such a way that neither stack overflows unless the total number of elements in both stacks together is n. The PUSH and POP operations...
-
Show that the dual of the dual of a linear program is the primal linear program.
-
The result from problem 5.21 shows that the reservoir temperature for a Mach 20 helium tunnel can be very reasonable. This is why several very high Mach number helium hypersonic wind tunnels exist....
-
Write the \(y\) component of Eq. (6.7), and use it to derive Eq. (6.12). Equation 6.12: \(\frac{\partial(ho v)}{\partial t}+abla \cdot(ho v \mathbf{V})=-\frac{\partial p}{\partial y}+ho f_y\) V pfd7...
-
Write the \(z\) component of Eq. (6.7), and use it to derive Eq. (6.13). Equation 6.13: \(\frac{\partial(ho w)}{\partial t}+abla \cdot(ho w \mathbf{V})=-\frac{\partial p}{\partial z}+ho f_z\) pf d V...
Study smarter with the SolutionInn App