Giter Club home page Giter Club logo

zk-ia's Introduction

ZK-IA: In-browser ZK auth plugin for image integrity

Note

ZK-IA aims to provide a browser plugin that supports in-browser ZKP generation for content creators and verification for content viewers.

πŸ“ Details

The manipulation of digital images has become a significant challenge in maintaining information integrity. Traditional methods of ensuring image integrity often fall short due to their limitations in handling permissible image transformations or vulnerabilities to adversaries.

This research aim to proposes a browser plugin for publishing platforms such as Medium and Mirror. The plugin will enable content creators to generate ZKP for redacted images in their articles. On the other hand, content viewers can verify these proofs, ensuring that the redacted images they view are derived from the original photo and that the metadata matches the original. This process guarantees image integrity while preventing any inference of new information from the redacted images and proofs. Therefore, if the redacted images are verified, viewers can be confident that what they are seeing has not been sourced from tampered material, such as unauthorized edited photos or deepfake creations.

🚩 Goals

Explore a reliable and feasible scheme for authenticating digital images on top of the state-of-the-art zk-SNARKs. Specifically, achieve image integrity where the redactions made by the owner are undeniable and traceable. Moreover, if any area has been legally edited, we want to attain area zero-knowledge, and it should be impossible to infer any information about the modified part from the proofs and post-processed images.

Objectives:

  • Develop a PoC IA (image authentication) scheme where the performance is optimized among current protocols.
  • Build a browser plugin on top of the IA scheme. (working issues related to the plugin)
  • Ensure the plugin can correctly function on plublishing platforms with in feasible time.
Flow of Redactable signature scheme for image
Expected user flow of the ZK-IA plugin

πŸ”¨ Working Status

Idea: In the first round of study, I've read through all the papers cited in references. It occurs to me that image post-processing circuits such as grayscaling, resizing, and cropping contain a few similar constraints that might be able to improve using recursive SNARK.

Next step:

  1. Compile image post-processing circuits into Nova prover by Nova Scotia (it supports in-browser proving and verification).
  2. Run Nova and test the performances with the benchmarks in the papers. Construct a comparison table among existed protocols.
  3. Study on the choices of hash function. I will continue the study on which combinations of them (e.g. Poseidon Hash + Lattice Hash) best fit the recursive SNARK.

🎯 Milestones

Status Milestone Objective Tasks Duration
βœ… Understanding and Preliminary Research Gain a comprehensive understanding of current image authentication methods and their limitations. Literature review and analysis of existing systems. Check the intro slides 2 weeks
⏩ Theoretical Scheme Development Develop a theoretical scheme for IA (image authentication) using zk-SNARKs. Formulating the theoretical aspects of using PCD for image authentication and defining permissible image transformations. 3 weeks
⏩ Prototype Development Create a working prototype of plugin that provides in-browser ZKP generation and verification on top of the IA scheme Implementing a prototype that supports a basic set of permissible transformations such as resizing. Which needs to work on at least one publishing platform. 4 weeks
⏩ Benchmarking and Support more image transformations Benchmark the plugin and the IA scheme. Extend the supported image transformations. Complete the UX details. Evaluating the prototype’s efficiency with benchmarks. Provide support for more image transformations such as grayscale and cropping. 3 weeks
⏩ Iteration and Documentation Iterate the plugin based on user's testing feedback and prepare comprehensive documentation. Refining the prototype, preparing documentation (for developer who want to build on top of the IA scheme mainly) and user manuals. 2 weeks

References

  • T. Datta and D. Boneh. 2022. "Using ZK Proofs to Fight Disinformation". Medium Article.
  • [LHC23] Region-aware Photo Assurance System for Image Authentication
  • [LWW+22] A blockchain-based privacy-preserving authentication system for ensuring multimedia content integrity
  • [CHN+22] "VILS: A Verifiable Image Licensing System".
  • [LNS+22] "Vronicle: Verifiable Provenance for Videos from Mobile Devices".
  • [KLL+21] Efficient Verifiable Image Redacting based on zk-SNARKs
  • [ZLW19] Blockchain-based photo forensics with permissible transformations
  • [KLK+19] AuthCropper: Authenticated Image Cropper for Privacy Preserving Surveillance Systems
  • [NRP19] Proving Multimedia Integrity using Sanitizable Signatures Recorded on Blockchain
  • [Korus17] Digital image integrity – a survey of protection and verification techniques
  • [NT16] "PhotoProof: Cryptographic Image Authentication for Any Set of Permissible Transformations".

zk-ia's People

Contributors

moven0831 avatar

Watchers

 avatar

zk-ia's Issues

[Demo] spec for image auth browser plugin

[Demo] spec for image auth browser plugin

TLDR

Build a browser plugin that support in-browser proof generation for content creator and verification for content viewer

Plugin's functionalities

  • For Content Creators
    • Generate ZKPs for redacted images directly within the browser, using witness data from the local machine.
    • Upload the ZKPs to IPFS (or L1/L2s) to make them accessible to viewers.
    • Optionally disclose the metadata of the images, such as location and timestamp.
  • For Content Viewers
    • Verify the ZKPs embedded in the article through in-browser processes.
    • Display the verification results alongside the images.
    • Access and view any revealed metadata associated with the images.

ZK Study Group  Redactable signature scheme for image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.