Implement a program that tries successive values of r, i.e., r = 0, 1, 2, 3, . . ., computes H(s||r), compares it with t and halts whenever H(s||r) < t, with the output r. You need to provide the program and the output r. (b) Modify the program from part (a) by adding i to s, where i = 0 to 999 inclusive, and for each i computing the hash until the value falls before the target. What is the average number of attempts (over 1,000) before you found the target? You need to provide your program. (c) If you drew random values between 0 and 2255 inclusive, how many attempts on average it would take before you find a value below the target? What does it tell you about SHA-256?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
Question
(a) Implement a program that tries successive values of r, i.e., r = 0, 1, 2, 3, . . ., computes H(s||r), compares it with t and halts whenever H(s||r) < t, with the output r. You need to provide the program and the output r. (b) Modify the program from part (a) by adding i to s, where i = 0 to 999 inclusive, and for each i computing the hash until the value falls before the target. What is the average number of attempts (over 1,000) before you found the target? You need to provide your program. (c) If you drew random values between 0 and 2255 inclusive, how many attempts on average it would take before you find a value below the target? What does it tell you about SHA-256?
Recall hash puzzles from Lecture 10. In this question, we will see how they work in practice. This question
requires programming in a language that has an implementation of SHA-256 hash function. You could use
Java to program, although, you are free to use any other language with a library containing SHA-256, e.g..
Python's hashlib. Create a string s containing all the digits in your student ID. For example, if my student
ID is MQ12345678, then s = 12345678. Set the target t to:
2256
20
Let H be the SHA-256 hash function. Let r be a counter starting from 0.
Transcribed Image Text:Recall hash puzzles from Lecture 10. In this question, we will see how they work in practice. This question requires programming in a language that has an implementation of SHA-256 hash function. You could use Java to program, although, you are free to use any other language with a library containing SHA-256, e.g.. Python's hashlib. Create a string s containing all the digits in your student ID. For example, if my student ID is MQ12345678, then s = 12345678. Set the target t to: 2256 20 Let H be the SHA-256 hash function. Let r be a counter starting from 0.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Fibonacci algorithm
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning