Encryption Basics & Quantum Computer Part -2

In part 1 of this series discussed fundamentals of Cryptography in classical computing. In part 2 we will focus on real world case studies which relied on Classical Computing Cryptography. There are many. However one of my recent favorite is Crypto Currencies or Digital Currencies used in Technology like Block-chain.

Digital or Crypto Currency at its fundamental use Hashing Technique to ensure the integrity and Security of the Data. Now before we dig into specific Hash function or algorithm used in this use case, lets understand what actually Hashing is all about and how an  Hash key can be used to validate an Input Data. There is excellent explanation below:



Currently most reliable Hashing function available is SHA-256 . The SHA (Secure Hash Algorithm) is one of a number of cryptographic hash functions. A cryptographic hash is like a signature for a text or a data file. SHA-256 algorithm generates an almost-unique, fixed size 256-bit (32-byte) hash. Hash is a one way function – it cannot be decrypted back. This makes it suitable for password validation, challenge hash authentication, anti-tamper, digital signatures.

SHA-256 is one of the successor hash functions to SHA-1, and is one of the strongest hash functions available.


Please refer this online SHA-256 calculator for further experiment. If you love Java like me you can experiment the same using one my favorite Java Guava library from Google as below:

final String hashed = Hashing.sha256()
        .hashString("your input", StandardCharsets.UTF_8)
        .toString();
Now the question is why is so reliable!!! Why can't hacker crack it using classical computer!!!

The answer is SHA-256 has a time complexity of 2^256 to crack normally. It would take centuries using classical computer of such changes before cracking SHA would be feasible.

SHA-256 is used in Cryptocurrency like Bitcoin or Blockchain's one of the critical step called mining. Please refer my other blog on Blockchain Technologies for further details on this.



2 comments: