Editing
Hash Functions and Digital Signatures
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== <span style="color: #FFFFFF;">Understanding</span> == Hashing is understood through **Fingerprinting**, while signatures are about **Ownership**. **1. The Three Rules of a Good Hash**: * **Deterministic**: The same input must *always* produce the same hash. * **Efficient**: It must be fast to calculate. * **Pre-image Resistant**: You can't "Reverse" the hash. If you see `a1b2c3`, you have no way to know if it came from a 10GB movie or the word "Hello." **2. The Digital Signature Process**: To sign a 100-page contract: 1. Alice **Hashes** the contract to get a short "Digest." 2. Alice **Encrypts** the digest with her **Private Key**. This is the "Signature." 3. Bob receives the contract and the signature. 4. Bob **Decrypts** the signature with Alice's **Public Key** to get the digest. 5. Bob **Hashes** the contract himself. 6. If the two digests match, Bob knows: (A) The contract wasn't changed, and (B) Only Alice could have signed it. **3. Why not sign the whole file?**: Public-key math is very slow. Signing a 1GB video would take minutes. Hashing the 1GB video takes seconds, and signing the tiny 256-bit hash takes milliseconds. This is why we always "Hash then Sign." **Rainbow Tables**: These are pre-computed lists of common passwords and their hashes. If a hacker steals a database of hashes, they can just look them up. This is why we use **Salt**โadding a random string like "x9!z" to every password so that every "123456" results in a completely different, unique hash. </div> <div style="background-color: #8B0000; color: #FFFFFF; padding: 20px; border-radius: 8px; margin-bottom: 15px;">
Summary:
Please note that all contributions to BloomWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
BloomWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information