EnglishEnglish中文中文اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُDeutschDeutschEspañolEspañolΕλληνικάΕλληνικάFrançaisFrançaisעִבְרִיתעִבְרִיתहिन्दीहिन्दीHrvatskiHrvatskiItalianoItaliano日本語日本語한국어한국어MalayMalayNederlandsNederlandsPortuguêsPortuguêsрусскийрусскийภาษาไทยภาษาไทยTürkTürkTiếng ViệtTiếng Việt粵語粵語
Learn
FAQs
Frequently asked questions by various stakeholders
Why Classic?
Start here to get the lowdown on Ethereum Classic's reason for being and unique value proposition
Knowledge
Further reading on the foundations that underpin ETC
Videos
A collection of videos and podcasts to keep you informed on ETC concepts and happenings
Support ETC by helping to translate this website!
Ethereum Classic Blog

Hashes: An Introduction & Why They Are Foundational To The Internet & Blockchains

Christian Seberino
Apps, Development, Education

"The phrase 'one-way hash function' might sound arcane and geeky, but hash functions are the workhorses of modern cryptography."

— Bruce Schneier

Hash Functions

same size
same size

Hash functions are functions with outputs all the same size. These outputs are referred to as hashes. For example, all Secure Hash Algorithm 1 (SHA1) hashes have 20 bytes. Hash functions can efficiently confirm the integrity of files. For example, to confirm two terrabyte sized files are identical, it is easier to compare two hashes than all the bits!

One Way Functions

one way
one way

Cryptography requires hash functions that are one way functions. One way functions are functions that are hard to invert. For example, computers can quickly find products of large primes, but, they cannot quickly factor the results.

Collision Resistance

collision
collision

Cryptography also requires hash functions that are collision resistant. Collision resistance is a property of hash functions whereby it is difficult to find objects with the same hash. MD5 is a hash function discovered to have weak collision resistance. One could in principle maliciously modify information such that MD5 hashes would not detect the change. For a sobering example, consider Alice replacing this letter of recommendation, to the administrator of Gaul, with this alternate letter. The MD5 hash of both Postscript files is 0xa25f7f0b29ee0b3968c860738533a4b9!

Collision resistant hash functions make password based authentication systems more secure since only password hashes are stored. Authentication is performed by comparing hashes. Even if all password hashes are made public, it is still not possible to easily determine the passwords! (A attacker can eventually determine the passwords. Therefore, many systems require passwords to be changed every few months.)

Blockchains

secure world
secure world

Blockchain systems continually use hashes to confirm the integrity of much information. Hashes also provide short unique identifiers for accounts, keys, transactions, blocks and state.

Conclusion

workhorse
workhorse

Hashes are vital for the Internet, blockchains and beyond. They are truly the workhorses of cryptography.

Feedback

You can contact me by clicking any of these icons:

twitter
twitter
facebook
facebook
linkedin
linkedin

Acknowledgements

I would like to thank IOHK (Input Output Hong Kong) for funding this effort.

License

license
license

This work is licensed under the Creative Commons Attribution ShareAlike 4.0 International License.

This page exists thanks in part to the following contributors:


cseberino
cseberino
  • EnglishEnglish
  • 中文中文
  • اَلْعَرَبِيَّةُاَلْعَرَبِيَّةُ
  • DeutschDeutsch
  • EspañolEspañol
  • ΕλληνικάΕλληνικά
  • FrançaisFrançais
  • עִבְרִיתעִבְרִית
  • हिन्दीहिन्दी
  • HrvatskiHrvatski
  • ItalianoItaliano
  • 日本語日本語
  • 한국어한국어
  • MalayMalay
  • NederlandsNederlands
  • PortuguêsPortuguês
  • русскийрусский
  • ภาษาไทยภาษาไทย
  • TürkTürk
  • Tiếng ViệtTiếng Việt
  • 粵語粵語
Add ETC to MetaMask
The ETC community is active on Discord
Discord
Discord
ETC Coop Discord
ETC Coop Discord
eth_classic Twitter
eth_classic Twitter
ETC_Network Twitter
ETC_Network Twitter
Github
Github
ETC Labs Github
ETC Labs Github
Reddit
Reddit
This site is powered by Netlify

Learn

  • FAQs
  • Why Classic?
  • Knowledge
  • Videos

Made with <3 for the Original Ethereum Vision

The content on this website is user-generated and solely for informational purposes. Do not interpret any content as an endorsement of any product or service. There's "no official anything" in Ethereum Classic. Always do your own research, and remember: don't trust, verify!