In this project, you will employ cryptographic libraries to hash strings using the MD5 library. You will gain the experience necessary to use any of the modern hash functions in C#'s hashing library. With an MD5 hashing function, you will learn how to convert a string to bytes and salt that string for more secure hashing. You will also learn how to find collisions in a hash function using a birthday attack. Objectives Students will be able to: • Justify salting password hashes. • Employ the Birthday Paradox to find a collision in a hash function. Technology Requirements Programming assignments should be done using .NET Core 3.1. While you can write your code on a Windows or Mac machine, the autograder will test your code on Ubuntu 18.04. It is highly recommended to create a Virtual Machine for writing your assignments. Information on how to install the .NET Core SDK on Ubuntu can be found on Microsoft's website: Install .NET Core SDK or .NET Core Runtime on Debian You can create a new project using this command: dotnet new console --output project_name You can also run your project by going into your project directory and using: dotnet run

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Don't copy from other website Unique answer plzz

 

Purpose
In this project, you will employ cryptographic libraries to hash strings using the MD5 library. You
will gain the experience necessary to use any of the modern hash functions in C#'s hashing
library. With an MD5 hashing function, you will learn how to convert a string to bytes and salt
that string for more secure hashing. You will also learn how to find collisions in a hash function
using a birthday attack.
Objectives
Students will be able to:
• Justify salting password hashes.
Employ the Birthday Paradox to find a collision in a hash function.
Technology Requirements
Programming assignments should be done using .NET Core 3.1. While you can write your code
on a Windows or Mac machine, the autograder will test your code on Ubuntu 18.04. It is highly
recommended to create a Virtual Machine for writing your assignments.
Information on how to install the .NET Core SDK on Ubuntu can be found on Microsoft's
website: Install .NET Core SDK or .NET Core Runtime on Debian
You can create a new project using this command: dotnet new console --output project_name
You can also run your project by going into your project directory and using: dotnet run
Transcribed Image Text:Purpose In this project, you will employ cryptographic libraries to hash strings using the MD5 library. You will gain the experience necessary to use any of the modern hash functions in C#'s hashing library. With an MD5 hashing function, you will learn how to convert a string to bytes and salt that string for more secure hashing. You will also learn how to find collisions in a hash function using a birthday attack. Objectives Students will be able to: • Justify salting password hashes. Employ the Birthday Paradox to find a collision in a hash function. Technology Requirements Programming assignments should be done using .NET Core 3.1. While you can write your code on a Windows or Mac machine, the autograder will test your code on Ubuntu 18.04. It is highly recommended to create a Virtual Machine for writing your assignments. Information on how to install the .NET Core SDK on Ubuntu can be found on Microsoft's website: Install .NET Core SDK or .NET Core Runtime on Debian You can create a new project using this command: dotnet new console --output project_name You can also run your project by going into your project directory and using: dotnet run
make it easier to attack. Instead of using the full hash, only compare the first 5 bytes (in this
case, "Hello World!" with the salt C5 hashes to E6 D9 BO B9 D1).
You may choose the length of the string, but you may only use alphanumeric characters in your
string [A-Z][a-z][0-9]. Your program should output two strings that hash to the same value with
MD5 and the given salt. These strings should be separated by a comma.
Continuing from the earlier example, suppose that the byte C5 is passed in as the salt. Here is a
sample command and output from the program:
Command: dotnet run "C5"
Sample output: AQJCMWODGL,195ORWB1A7
In this example, both values hash to 2B 68 3B 65 7A when salted with C5.
Note: There will be many different possible solutions. Your answers will be verified by hashing
them.
Transcribed Image Text:make it easier to attack. Instead of using the full hash, only compare the first 5 bytes (in this case, "Hello World!" with the salt C5 hashes to E6 D9 BO B9 D1). You may choose the length of the string, but you may only use alphanumeric characters in your string [A-Z][a-z][0-9]. Your program should output two strings that hash to the same value with MD5 and the given salt. These strings should be separated by a comma. Continuing from the earlier example, suppose that the byte C5 is passed in as the salt. Here is a sample command and output from the program: Command: dotnet run "C5" Sample output: AQJCMWODGL,195ORWB1A7 In this example, both values hash to 2B 68 3B 65 7A when salted with C5. Note: There will be many different possible solutions. Your answers will be verified by hashing them.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Concept of Threads
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education