Write a program invoking the above two functions to show how you can use a password to register a username and then use the same password to log in successfully. For the login process, also use a wrong password to show how the system rejects a user who does not know the real password.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Exercise 1: Password hashing and salting
Implement a function for the user registration process shown on Lecture 15 Week 17a Slide 18, and another
one for the login process shown on Lecture 15 Week 17a Slide 19.
Password hashing: user registration
Password hashing: login
- User provides the following information to a
system for registering an account:
- Username (unique ID): u
- Password (in clear): p
- Other profile information: PI
Server receives the above and does the following:
- Generate a new and random salt s for this user.
- Calculate the hash value as h=H(p || s).
- Store (u, s, h, PI) as a new record in the user database.
- User provides the following information to a
system for log into an account:
- Username: u
- Password (in clear): p*
Server receives the above and does the following:
- Use u to retrieve the user's record (u, s, h, PI) in the
user database
- Re-calculate the hash value as h=H(p* | s).
- Compare h and h* if they are equal then let the user in;
otherwise reject the user.
19
Write a program invoking the above two functions to show how you can use a password to register a
username and then use the same password to log in successfully. For the login process, also use a wrong
password to show how the system rejects a user who does not know the real password.
Transcribed Image Text:Exercise 1: Password hashing and salting Implement a function for the user registration process shown on Lecture 15 Week 17a Slide 18, and another one for the login process shown on Lecture 15 Week 17a Slide 19. Password hashing: user registration Password hashing: login - User provides the following information to a system for registering an account: - Username (unique ID): u - Password (in clear): p - Other profile information: PI Server receives the above and does the following: - Generate a new and random salt s for this user. - Calculate the hash value as h=H(p || s). - Store (u, s, h, PI) as a new record in the user database. - User provides the following information to a system for log into an account: - Username: u - Password (in clear): p* Server receives the above and does the following: - Use u to retrieve the user's record (u, s, h, PI) in the user database - Re-calculate the hash value as h=H(p* | s). - Compare h and h* if they are equal then let the user in; otherwise reject the user. 19 Write a program invoking the above two functions to show how you can use a password to register a username and then use the same password to log in successfully. For the login process, also use a wrong password to show how the system rejects a user who does not know the real password.
Expert Solution
steps

Step by step

Solved in 2 steps with 7 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY