AnonAr is a zero-knowledge protocol that allows DNI's holders to prove their identity in a privacy preserving way.
DNI = Documento Nacional de Identidad (Argentina's ID issued by ReNaPer )
As an Argentinian PSE Core Program student and after diving around projects like zkEmail, OpenPassport and mainly Anon Aadhaar, I've found an opportunity to create value and impact in the web3 ecosystem.
By using programmable cryptography techniques we can leverage the uses of "DNI Digital" by creating a SDK toolkit where developers can implement it in their apps and enable users to generate a zero-knowledge proof of their identities.
"DNI Digital" is a digital ID considered equally valid as the physical national ID card (except for voting and travelling) delivered by ReNaPer. To possess this document it's required to go into a validation process including biometrics. Instructions here.
The digital DNI is accessed throught the application Mi Argentina that have a QR code containing a JSON Web Token signed using RS256 algorithm (RSA with SHA-256).
The digital ID could be validated offline with the application ValidAR.
The prover upload the QR code generated in the app Mi Argentina: Mis Documentos->DNI->Ver DNI Digital->Pin->Verifica código QR.
From this QR, which is a JWT, it parse the signed data and verifies it with the pubkey. See this test example
The circuit will generate the proof that can be use in an App or a Smart Contract to convince the verifier that the prover has a valid argentinian ID. It's important to mention that all the information included in the JWT never leaves the prover's browser.
- Extract data from QR code and parse it
- Verify the RSA signature of the hashed data
- Verify it's signed by ReNaPer using the public key
- Extract fields from signed data
- Generate the proofs (e.g. Proof of Personhood)
- Signature (private)
- Signed Data (private)
- Public Key (public)
- signalHash (public)
- userNullifier
- identityNullifier
- timestamp
- pubKeyHash
- signalHash
As declared in the "Art. 4" of the "Decreto 744/2019":
"ARTÍCULO 4º.- Establécese que la credencial virtual del Documento Nacional de Identidad para dispositivos móviles inteligentes será considerada a todos los efectos Documento Nacional de Identidad, teniendo pleno valor identificatorio en todos los actos públicos y privados en los términos de la Ley Nº 17.671 y sus modificatorias."
Translation:
"Article 4.- Stay that the virtual credential of the National Identity Document for smart mobile devices will be considered for all purposes National Identity Document, having full identifying value in all public and private acts in the terms of Law No. 17.671 and its amendments."
- Funding / voting
- Anon checkin
- Ticketing (Devconnect Buenos Aires 2025???)
- Proof of Personhood / Proof of Age
- Gitcoin Passport
- Wallet recovery?
- ReProCann (Registro del Programa Cannabis)
- HumanX - ZK Social Media
I've found ReNaPer's publicKey by doing reverse engineering of the ValidAR App but couldn't find a public site where the it's published by the goverment. This could be an issue since the verifier will need to validate the origin of this key.
To build a MVP allowing users to generate a valid proof.


