Skip to content

A privacy preserving, Open Source and non-custodial wallet for your Digital Identity

License

Notifications You must be signed in to change notification settings

kuronosec/zikuani

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zikuani

Overview

Zikuani is a privacy preserving wallet that allows users to prove their identity in a private way. It provides a set of tools to generate and verify proofs, authenticate users and verify proofs off/on-chain.

The project aims to develop a zero-knowledge proof infrastructure solution for enhancing digital identity systems. Our goal is to strengthen citizen privacy by minimizing data collection, enabling individuals to access a wide range of valuable services without disclosing sensitive information.

See the documentation for more details.

Rationale

Our project aims to address the privacy issues in identity systems by developing a zero-knowledge proof infrastructure using blockchain technology and ZK circuits. This solution enables citizens to verify their identity and provide specific information without revealing actual personal details. By minimizing the distribution of sensitive data across various institutions and companies, we can significantly reduce the risk of data theft. Additionally, this system can authenticate users for diverse services, ensuring they are real individuals and not bots, without requiring sensitive information such as email addresses or phone numbers.

Potential use cases

  • Anonymous authentication
  • Descentralized anonymous voting
  • Anonymous proof of humanity
  • Health data privacy
  • Know Your Customer
  • Privacy-Preserving Verification
  • Anti-Sybil Mechanisms
  • DAO Governance
  • Quadratic Funding (QF)
  • Wallet Recovery
  • And many more!

Hardware Requirements

To run Zikuani, ensure your system meets at least the following hardware requirements:

Component Specification
CPU 2 Cores + 2 Threads per Core
RAM 16 GB

Installation

Windows

  1. Download the installer: Windows Installer

  2. Verify the sha256 hash:

    certutil -hashfile "C:\file\path\zikuani-0.7.0.exe" SHA256

    The result should match:

    5763d7443fc28c63610cbec6c02b408004b19fd7bf0943537d74cb169728d8cf  zikuani-0.7.0.exe
  3. Run the installer if the hash matches.

    Note: The Windows installer includes a couple of Javascript dependencies, Nodejs and Snarkjs. The installer also includes the zkey necessary for generating valid ZK proofs, which makes it a bit heavy.

  4. Launch the program:

    • Insert your smart card into a USB port.
    • Run:
      "C:\Program Files\zk-firma-digital\zk-firma-digital.exe"
    • Alternatively, search for zk-firma-digital in the Start menu.

Linux (Debian)

  1. Download the installer:
    wget https://app.sakundi.io:9090/zikuani_0.7.0_amd64.deb
  2. Verify the sha256 hash:
    sha256sum zikuani_0.7.0_amd64.deb
    The result should match:
    dea667d8e89c283c9dc5ee2cd79ec4d81c02b2aacae8f0dd7235c781d32b95cc  zikuani_0.7.0_amd64.deb
  3. Install the Debian package:
    sudo dpkg -i zikuani_0.7.0_amd64.deb
  4. Launch the program:
    • Insert your smart card into a USB port.
    • Run:
      /usr/share/zk-firma-digital/zk-firma-digital.bin
    • Alternatively, search for the app in your application launcher.

MacOS

  1. Download the installer: MacOs Installer

  2. Verify the sha256 hash:

    sha256sum zikuani-0.7.0.pkg

    The result should match:

    c15b4b157648c300e49e0434c3a74a14622df0a1a69c08141a9a00ff6e7a1765  zikuani-0.7.0.pkg
  3. Run the installer if the hash matches.

    Note: The MacOS installer includes a couple of Javascript dependencies, Nodejs and Snarkjs. The installer also includes the zkey necessary for generating valid ZK proofs, which makes it a bit heavy.

  4. Launch the program:

    • Insert your smart card into a USB port.
    • Run:
      "open /Applications/zk-firma-digital/Contents/MacOS/zk-firma-digital"
    • Alternatively, search for zk-firma-digital in the Finder menu.

Build

Linux

  1. Clone the repository:
    git clone https://github.com/kuronosec/Zikuani
    cd Zikuani
  2. Run the build script:
    ./builder/build_linux.sh

Windows

  1. Install the prerequisites:

  2. Clone the Repository:

    git clone https://github.com/kuronosec/Zikuani.git
    cd Zikuani
  3. Run the build script:

    ./builder/build_windows.sh
  4. Locate the output files:

    • Executable: build directory.
    • Installer: release directory.
  5. Troubleshooting:

    • Antivirus or Security Issues: During the build process, your antivirus software (including Windows Defender) may flag the generated .exe file as a potential threat. This is a common issue with self-built executables. To resolve it:
      1. Add Exclusions: Configure your antivirus or security software to exclude the build and release directories.
        • For Windows Defender:
          1. Open Windows Security.
          2. Navigate to Virus & threat protection.
          3. Click on Manage settings under Virus & threat protection settings.
          4. Toggle Real Time Protection off temporarily (if necessary).
          5. Scroll down to Exclusions and click on Add or remove exclusions.
          6. Add the paths for both the build and release directories to the exclusion list.
      2. Validate the Executable: After adding exclusions, rerun the build process and verify that the executable runs without being flagged.
    • Missing Tools or Command Errors: If you encounter errors like command not found when running the build script, it may indicate missing tools or misconfigured system paths. Follow these steps:
      1. Review the build script for errors or missing dependencies.
      2. Consult the repository's issues page or documentation for additional support.

See it working

To try the system with a decentralized voting system go to:

Other useful links:

About

A privacy preserving, Open Source and non-custodial wallet for your Digital Identity

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •