Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is there any possible way I can download a program, type in a message, and watch the program display visually what iterations are going on and what formula the character is being fed through all the way down to the output message of a SHA-256 operation or is that just too geeky to ask for?

share|improve this question

closed as off-topic by gnat, MichaelT, GlenH7, Bart van Ingen Schenau, Dan Pichelman Oct 13 at 18:54

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Bart van Ingen Schenau, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers 5

up vote 6 down vote accepted

Note that in the graphic you've linked in the comment:

http://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/SHA-2.svg/400px-SHA-2.svg.png

each A to H is a 32 bit value, and the dark blue boxes are binary operations:

Ch(x,y,z) = (x and y) xor (not(x) and z)

You won't see anything useful on this level, and when drawing a complete diagram with bits, you won't see anything useful in an ocean of moving bits, as funny as it would be.

Here are some example values with intermediate internal states, already giving an ocean of hex digits, but are useful to verify your own implementations.

http://csrc.nist.gov/groups/ST/toolkit/examples.html

http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA256.pdf

share|improve this answer

You should be able to build this.

  1. As mentioned, get some source code for SHA-256 encryption.
  2. Trace the algorithm for the events you want to plot graphically.
  3. Create listeners for those events--have them pick up the values being operated on.
  4. Send messages to your graphics/visual tool/classes from the listeners.
  5. Run the encryption on something and see what happens.

Good luck!

share|improve this answer

Look at this online - SHA-256 Encryption Tool. You may look at algorithm how it works, but debugging the process does not seem feasible.

More info on subject matter in Cryptographic hash function and post here.

share|improve this answer
    
I have examined those before, I'm mostly interested in an animation version of this image: upload.wikimedia.org/wikipedia/commons/thumb/7/7d/SHA-2.svg/… Found at the page of: en.wikipedia.org/wiki/Sha256 I'd just like to see it in action obviously debugging is impossible because then that would make the hashing function flawed. –  Xenland Jul 18 '12 at 23:40

Inspired by Ken Shirriff via http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html, I have created a Google sheet https://docs.google.com/spreadsheets/d/1mOTrqckdetCoRxY5QkVcyQ7Z0gcYIH-Dc0tu7t9f7tw which reveals the intricate details of the step-by-step process of calculating SHA256.

share|improve this answer

Assuming each bit is a "dot", the image you'll see is not that different of the one you can see on a TV tuned on a empty analog channel (white noise).

That's exactly what cryptography is: a spectrum whitener. There is nothing visually meaningful in that

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.