[go: up one dir, main page]

0% found this document useful (0 votes)
18 views2 pages

Programming Assignment

The document outlines a programming assignment for a course on Information Security, focusing on the implementation of a secure password manager using AES encryption and a password cracking tool called HASHCAT. Students are required to design a password manager that includes features like a master password, password management, and an optional strength checker, along with submitting well-documented code and a report. Additionally, they will learn to use HASHCAT for password cracking, requiring them to generate password hashes and compute success rates.

Uploaded by

vel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views2 pages

Programming Assignment

The document outlines a programming assignment for a course on Information Security, focusing on the implementation of a secure password manager using AES encryption and a password cracking tool called HASHCAT. Students are required to design a password manager that includes features like a master password, password management, and an optional strength checker, along with submitting well-documented code and a report. Additionally, they will learn to use HASHCAT for password cracking, requiring them to generate password hashes and compute success rates.

Uploaded by

vel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

CSD356 Foundation of Information Security

Programming Assignment
(Implementing a Password Manager and Usage of HASHCAT)
Date-06/02/25 Submission Due-30/03/25, 11:59 PM

1 Implementing a Password Manager [40 marks]


1.1 Introduction
In today’s digital age, users manage numerous online accounts, each requiring a unique and strong
password to ensure security. However, remembering multiple complex passwords can be challeng-
ing. This has led to the development of password managers, which securely store and retrieve
passwords while enforcing best security practices.
This assignment focuses on designing and implementing a secure password manager that
protects stored passwords using Advanced Encryption Standard (AES). The system will use
a master password for key generation/authentication. The manager will help users to store,
retrieve, and generate strong passwords. If the user decides to select all the passwords by
him/herself, then it will include an optional password strength checker to encourage users to
create robust passwords.

1.2 Objective
This assignment aims to design and implement a password manager that ensures the security of
stored passwords by using encryption techniques.

1.3 Technical Requirements


The password manager should include the following features:
• AES Encryption: Encrypt the password vault.

• Master Password: Implement a master password for key generation/authentication and


access control.
• Password Management: Allow users to store, retrieve, and generate strong passwords.
• Password Strength Checking (Optional): Implement an optional password strength
checker to help users choose secure passwords.

1.4 Submission Requirements


Students should submit:

• Well-documented source code with comments explaining each function.


• A short report (1-2 pages) describing the encryption technique, design choices, and security
considerations.
• Example usage and test cases demonstrating the password manager in action.

• Bonus: If you design the User Interface to show the real-time working of the passwords
manager.

1
CSD356 Foundation of Information Security

2 Usage of HASHCAT - A Password Cracking Tool [20 marks]


2.1 Objective
In this task, you will learn password cracking using HASHCAT.

2.2 Technical Requirements


• Either use your own algorithm to create a Password Dictionary or just get a ready to use
Password Dictionary.

• Compute password hashes for all the passwords in the dictionary using the SHA-1 Algo-
rithm. Save the password hashes in a separate file.
• Use HASHCAT to recover passwords providing the hashes’ file as input.
• Compute the success rate in terms of percentage.

2.3 Submission Requirements


• Screenshot of the generated passwords specifying total number of passwords entries in the file
(expected numbers in some thousands or more).

• Screenshot of the hashed passwords and the file.


• Command to use HASHCAT for cracking the passwords from provided passwords’ hash file.
• Success rate with screenshot.

You might also like