Blog
>
Research
6
 Min read

Towards New Frontiers: Cryptography and Privacy

Published on 
Apr 11, 2024
An abstract representation of cryptographic concepts, featuring intertwined chains and mathematical symbols, symbolizing the intricate nature of cryptography. The image evokes a sense of progress and advancement, reflecting the dynamic evolution of cryptographic techniques towards enhancing privacy and security.

Recent news on finding collision on SHA-256, have been eyes opening once again in Cryptography. Even collision has been found on 31 rounds (SHA-256 uses 64 rounds), this is a further improvement from practical collision found  on 28 rounds in 2016. SHA-256 is showing pretty good resistance signs in this direction. SHA-256 has not been classified as Quantum Resistant. As the pace of the moment SHA-256 would be broken in 50-70 years, but experience with MD5 hashing function has shown that progress it comes faster that is expected. In the table below are listed the Cryptographic Algorithms :

Table 1 : Recommendations for Cryptographic Algorithms (Source: https://sec.cloudapps.cisco.com/security/center/resources/next_generation_cryptography#ftn1)

This comes in when we talk about cryptography. The history has shown always that cryptography is no static at all. Always advances have been made to break cryptography  and same effort has been applied to create stronger algorithms for encryption.

Interested in this theme, as we had some work in progress in Cryptography in the next section would be  explained some Zero-Knowledge Proofs (ZK-proofs) Projects.

What are zero-knowledge proofs (ZKPs)?

Zero-knowledge proofs (ZK-proofs) are cryptographic techniques that allow an individual, known as the prover, to demonstrate possession of certain information or knowledge without disclosing the details of that information to another party, known as the verifier. In this process,the prover generates a proof based on their understanding of the system's inputs, and the verifier can confirm the accuracy of this proof without gaining access to the actual information. Essentially, ZKPs provide a way to validate the integrity of data while safeguarding its confidentiality.

How zero-knowledge proofs (ZKP) work?

Zero-knowledge proofs (ZK-proofs) rely on sophisticated mathematical principles, although their intricacies are too complex to fully delve into here. Picture a scenario where a computation involves encoding data with an input number and hashing it one million times. A "succinct" proof aims to confirm a specific output of this computation without detailing every single step. Instead of scrutinizing each computation piece, a verifier employs random sampling to examine only a fraction of the total process. If these sampled checks pass, it's assumed the entire computation is likely accurate.

The Privacy Benefits of ZK-Proofs

ZK-proofs offer immense value primarily in terms of privacy,providing two crucial advantages:

  1. Enhanced Privacy: By employing ZK-proofs to shield computation inputs, parties can transact with heightened confidentiality. This ensures that sensitive information remains undisclosed to the public. Imagine Alice wants to prove to Bob that she knows a secret without revealing the secret itself. This secret could be anything from a password to a piece of private data.
  2. Scalability Through Privacy: In scenarios where verifying a block demands significant time, ZK-proofs enable one entity to perform the computation and produce proofs, such as with zk-SNARKs or zk-STARKs. Other network participants need only verify the proof, resulting in enhanced scalability. This scalability, driven by privacy, is crucial for systems aiming to accommodate growing transaction volumes while preserving user confidentiality.

Because of these profound privacy advantages, cryptographic tools like zk-SNARKs and zk-STARKs are particularly suited for privacy-enhanced scalability solutions, enabling the efficient confirmation of off-chain transactions without the need for re-execution on the main network.

ZK-SNARKs with Gnark

Gnark is a fast zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) library developed in the Go programming language. It offers a high-level API for designing circuits, enabling developers to efficiently create and work with zero-knowledge proofs, particularly focusing on zk-SNARKs. The library is open source and released under the Apache 2.0 license, allowing for widespread usage and contributions from the community. Its implementation in Go ensures compatibility with various projects and applications within the Go ecosystem. Let’s explain in a simplified manner how ZK-SNARKs work with Gnark:

Imagine Alice wants to prove to Bob that she knows a secret without revealing the secret itself. This secret could be anything from a password to a piece of private data.Enter ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) facilitated by Gnark.

  1. Creating the Proof: Alice uses Gnark to encode her secret into a circuit, a series of mathematical equations. This circuit is designed in such a way that only someone who knows the secret can satisfy the equations. However, the circuit doesn't reveal the secret itself.
  2. Generating the ZK-SNARK: With Gnark, Alice generates a ZK-SNARK, which is a compact cryptographic proof attesting to her knowledge of the secret encoded in the circuit. This proof is succinct, meaning it's small in size, and non-interactive, meaning it doesn't require back-and-forth communication between Alice and Bob.
  3. Verification by Bob: Bob, the verifier, receives the ZK-SNARK from Alice. Using the public parameters provided during the setup phase, Bob verifies the proof's validity. He doesn't need to know the secret itself; he just needs to confirm that the proof is valid, indicating that Alice indeed possesses the secret knowledge.
  4. Preserving Privacy: Throughout this process, Alice's secret remains concealed. She proves her knowledge without divulging any details about the secret to Bob. This ensures privacy while still enabling her to convince Bob of her knowledge.

In summary, ZK-SNARKs, powered by Gnark, allow Alice to prove her knowledge of a secret to Bob without revealing the secret itself. This enhances privacy and security in various applications, including authentication protocols, secure transactions, and more.

Summary

Advantages of ZK-STARKs for Privacy:

  • Trustless and Transparency: ZK-STARKs eliminate the need for an initial trusted setup, enhancing trustless and transparency in privacy-preserving transactions. This ensures that privacy is maintained without relying on centralized entities, promoting user confidence.
  • Scalability: ZK-STARKs offer exceptional scalability, particularly when handling extensive data. Their proving and verification times increase at a slower rate compared to zk-SNARKs, allowing for efficient processing of large-scale transactions while preserving user privacy.
  • Resistance to Quantum Computing Threats: ZK-STARKs are inherently resistant to quantum computing threats, ensuring long-term privacy and security. This resilience mitigates potential vulnerabilities posed by future technological advancements, providing robust privacy protections for users.
  • Privacy-Preserving Properties: While ZK-STARKs may entail larger proof sizes leading to higher verification costs, their quantum-resistant nature and scalability benefits outweigh these drawbacks. Users can trust that their sensitive information remains confidential and secure, even in the face of evolving threats.

In summary, ZK-STARKs offer groundbreaking cryptographic capabilities that significantly enhance privacy. Their trustless,scalability, resistance to quantum computing threats, and privacy-preserving properties make them invaluable tools for ensuring confidentiality and security in decentralized transactions. As research progresses, ZK-STARKs will continue to play a pivotal role in shaping the future of privacy-enhanced blockchain technologies.

References for Further Reading:

https://hacken.io/discover/zk-snark-vs-zk-stark/


https://github.com/Consensys/gnark

https://chain.link/education-hub/zero-knowledge-proof-projects

By clicking "Accept" you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts.