摘要

2022年1月28日,中国创建首个区块链与隐私计算科技创新平台,为解决多方协作和多方信任等安全性问题提供了有力支持。区块链实现数据可信存储,隐私计算保护实体秘密提供可信计算,如果将隐私计算的数据部署到区块链,并由智能合约触发,那么可以解决传统领域各种实际问题。本文基于区块链和隐私计算技术构建了安全的去中化的电子投票应用以解决传统投票系统中的安全隐私问题。

本文提出一种安全电子投票方案。在可信数据安全存储方面,使用区块链及其上运行的智能合约提供信息安全的运行环境。区块链上的信息公开可访问,确保投票记录的公开透明性;智能合约满足条件就自动触发计算,避免人为的干涉。在可信计算安全执行方面,使用基于门限密码体制的盲签名协议和同态解密算法。首先引入Schnorr盲签名协议,投票签名不完全依赖于单一签名机构,而是由所有签名机构与投票者共同生成。其次,计票统计在不公开解密私钥情况下执行安全计算,同时零知识证明保证计票机构发布信息的可验证性,增强了方案的健壮性。最后,证明了所提方案满足电子方案的基本安全要求,并具有去中心化及鲁棒的特性。

本文设计了一个基于以太坊安全的电子投票系统。首先在python中实现了本方案核心算法,然后在以太坊开发环境完成整个投票系统的搭建与部署,最后通实验数据综合分析系统的性能,并证明所提方案可应用于大规模的选举活动。

关键词:电子投票;门限密码体制;盲签名;区块链;隐私计算

Abstract

On January 28, 2022, China created the first technology innovation platform for blockchain and privacy computing, providing strong support for solving security issues such as multi-party collaboration and multi-party trust. Blockchain realizes trusted storage of data, and privacy computing protects entity secrets and provides trusted computing. If the data of privacy computing is deployed to the blockchain and triggered by smart contracts, various practical problems in the traditional field can be solved. This paper builds a secure decentralized electronic voting application based on blockchain and privacy computing technology to solve the security and privacy issues in traditional voting systems.

This paper proposes a secure electronic voting scheme. In terms of secure storage of trusted data, the blockchain and the smart contracts running on it are used to provide a safe operating environment for information. The information on the blockchain is publicly accessible to ensure the openness and transparency of voting records; the smart contract will automatically trigger calculations to avoid human intervention. In terms of secure execution of trusted computing, blind signature protocols and homomorphic decryption algorithms based on threshold cryptosystems are used. First, the Schnorr blind signature protocol is introduced. The voting signature is not completely dependent on a single signature agency, but is jointly generated by all signature agencies and voters. Secondly, the voting statistics perform secure calculations without disclosing the private key for decryption.At the same time zero-knowledge proof ensures the verifiability of the information released by the counting agency and enhances the robustness of the scheme. Finally, it is proved that the proposed scheme meets the basic security requirements of the electronic scheme, and has the characteristics of decentralization and robustness.

This paper designs a secure electronic voting system based on Ethereum. First, the core algorithm of this scheme is implemented in python, then the construction and deployment of the entire voting system is completed in the Ethereum development environment, and finally the performance of the system is comprehensively analyzed through experimental data, and it is proved that the proposed scheme can be applied to large-scale election activities.

Key words:electronic voting; threshold cryptosystem; blind signature; blockchain; privacy computing

目录

摘要

Abstract

第一章 绪论

1.1 课题研究背景与意义

1.2 国内外研究现状

1.3 本文的内容

1.4 结构安排

第二章 相关知识与技术

2.1 区块链相关知识

2.1.1 区块链

2.1.2 以太坊

2.2 密码学相关知识

2.2.1 代数学知识

2.2.2 ElGamal密码体制

2.2.3 安全多方计算

2.2.4 门限密码体制

2.2.5 可验证秘密共享协议VSS

2.2.6 同指数零知识证明SEZ

第三章 安全的电子投票方案

3.1 电子投票的流程

3.2 电子投票的安全性分析

3.3 改进的协议

3.3.1 门限盲签名协议TBS

3.3.2 可验证的门限解密协议VTC

3.4 符号说明

3.4.1 安全性假设

3.4.2 实体与符号

3.5 投票过程概述

3.6 投票过程详情

3.6.1 准备阶段

3.6.2 密钥共享阶段

3.6.3 签名阶段

3.6.4 投票阶段

3.6.5 计票阶段

3.7 安全性与性能分析

3.7.1 安全性分析

3.7.2 性能分析

3.7.3 性能改进

第四章 系统设计

4.1 需求分析

4.1.1 参与人员分类

4.1.2 用例表格

4.1.3 非功能需求

4.2 总体设计

4.2.1 系统框架

4.2.2 接口设计

第五章 系统实现

5.1 环境搭建

5.2 基本算法

5.3 详细设计

5.3.1 管理模块设计

5.3.2 密钥共享模块设计

5.3.3 投票模块设计

5.3.4 计票模块设计

5.3.5 查询模块设计

5.4 实验分析

5.4.1 门限性能分析

5.4.2 智能合约gas分析

第六章 总结与展望

6.1 总结

6.2 展望

参考文献

致谢