Selected Topics in Cryptography: from the basics to e-voting

In this post we announce the first set of cryptographic notes published at Aragon ZK Research.

Posted 2022-12-23 by Vincenzo Iovino ‐ 5 min read

Notes on elliptic curves over finite fields and their pairings

Manuscript release.

Posted 2022-12-23 by Matan Prasma ‐ 2 min read

A Rust implementation of DualRing's sum argument

Recently at Aragon we've been looking for ways to enable efficient, decentralised private voting. As part of that, we've been looking into the state of the art of private linkable membership proofs, as they're very suitable to act as the base of a private voting protocol. We implemented an interesting subsection of the state of the art in ring signatures, and this post explains why that's interesting!

Posted 2022-12-22 by Rebekah ‐ 3 min read

Decentralised Private Voting

Many private voting protocols rely on central servers, or partially or fully trusted third parties, either for availability or for privacy. This note discusses some ways to achieve decentralised, private, blockchain-based voting, without any trusted third parties.

Posted 2022-12-21 by Rebekah ‐ 3 min read

SHA512 and its implementation in Noir

In this blog post, we discuss the SHA512 hash function and its implementation in Aztec's Noir, a domain-specific language for constructing and verifying zero-knowledge proofs.

Posted 2022-12-14 by Ahmad Afuni ‐ 13 min read

SNARVs: Succinct Non-Interactive Arguments of Voting -- protocols for cost-effective, off-chain e-voting.

Announcing SNARV: succinct non-interactive arguments of voting.

Posted 2022-11-25 by Vincenzo Iovino ‐ 7 min read

Simple Soundness Proofs

Soundness proofs tend to be quite long and technical. We describe a general method to significantly simplify such proofs if some specific conditions are met.

Posted 2022-10-14 by Alex Kampa ‐ 8 min read

Weil reciprocity on the projective line

This Maths Seminar note provides a self-contained proof of the Weil reciprocity on the projective line of a field, together with concrete examples. A good grasp of the concepts explained here will help with understanding elliptic curve pairings.

Posted 2022-10-07 by Alex Kampa ‐ 11 min read

OVOTE: Offchain Voting with Onchain Trustless Execution

OVOTE (Offchain Voting with Onchain Trustless Execution) is a L2 design for voting using validity-proofs (zkSNARK proofs), which is similar to zkRollups. The main idea is that the votes are aggregated offchain, and proved onchain through a zkSNARK proof, resulting in constant gas costs while scaling up to thousands of voters through a single Ethereum transaction.

Posted 2022-07-05 by arnaucube ‐ 10 min read

rwc2022 : Threshold ECDSA with additive key derivation and presignatures : an attack, and a solution

Additive key derivation is used widely throughout the cryptocurrency space, as defined in BIP32. Presignatures are used to reduce the round complexity of threshold ECDSA. Though both used very frequently, and often in combination, a security proof for the construction was missing until this point. Shoup and Groth find an attack on threshold ECDSA when using both AKD and presignatures, and present a solution.

Posted 2022-05-11 by Rebekah ‐ 6 min read