Overcoming Bottlenecks in Homomorphic Encryption for the 2024 Mexican Federal Election
Eric Landquist, Nimit Sawhney, Simer Sawhney
TL;DR
The paper addresses secure, verifiable internet voting for expatriates in Mexico's 2024 election by integrating Paillier homomorphic encryption, non-interactive zero-knowledge proofs, blind signatures, and Shamir threshold decryption, all backed by a Hyperledger Fabric blockchain for auditability. The authors implement an AWS-based backbone (SQS, Step Functions, Lambda, DynamoDB) to achieve scalable, parallelized ballot processing and rapid post-election decryption, enabling provable results within minutes. Independent observers validated the system, and the architecture demonstrated the capacity to scale toward national-level elections while maintaining end-to-end integrity and voter anonymity. The work showcases a practical, auditable path for secure internet voting and discusses implications for broader adoption in other jurisdictions, including potential adaptations for the United States.
Abstract
On June 2, 2024, Mexico held its federal elections. The majority of Mexican citizens voted in person at the polls in this historic election. For the first time though, Mexican citizens living outside their country were able to vote online via a web app, either on a personal device or using an electronic voting kiosk at one of 23 embassies and consulates in the U.S., Canada, and Europe. In total, 144,734 people voted outside of Mexico: 122,496 on a personal device and 22,238 in-person at a kiosk. Voting was open for remote voting from 8PM, May 18, 2024 to 6PM, June 2, 2024 and was open for in-person voting from 8AM-6PM on June 2, 2024. This article describes the technical and cryptographic tools applied to secure the ex-patriate component of the election and to enable INE (Mexico's National Electoral Institute) to generate provable election results within minutes of the close of the election. This article will also describe how the solutions we present scale to elections on a national level.
