10安全电子选举1
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
ቤተ መጻሕፍቲ ባይዱ
简单投票协议 #2的基本思想
secure booth = encryption
identification card
= sign
简单投票协议 #2
Si
PCTF Pi
4. ECTF(Si(V))
其他问题
1.
这个协议计算量特别大,它在实际的选举无法凑效, 因为有成千上万的投票者。 Vn先于其他人知道选举结果 消息拷贝. (Ex: 只有三个选民)
2. 3.
FOO协议
FOO共与三个参与实体:选民、管理机构和计票 机构。其中管理机构和计票机构组成投票中心。 协议采用了比特承诺技术和盲签名技术。 协议中使用的参数如下:
安全电子选举
曹天杰 tjcao@
中国矿业大学计算机科学与技术学院
选举
选举的需求是什么?
选举
Secure Booth ?(保护隐私)
选举
Fair judge ?(保证公平)
选举
隐私 !
公平 !
主要有两个需求
传统投票 VS 电子选举
• 隐私性
• 公平性
• 有效性
电子选举协议的安全需求
无需投票中心的投票协议
Si
IDr Voter Vi 1. 生成 IDr 2. 生成 E1(…En(V, IDr)…) 3. 生成 En(E1(…En(V, IDr)…), Rn) 4. 生成 M = E1(…En(E1(…En(V, IDr)…)…), R1) 记录 Rn … R1和中间结果。
Pi
无需投票中心的投票的基本思想
中央制表机构
The problem of source is CTF.
无需投票中心的投票的基本思想
Everyone is checker.
无需投票中心的投票协议
Voter V1
Voter V2
Voter V3
Voter Vn
1.每个投票者都有一个公开密钥和一个私钥
2.公布选民顺序和他们的公钥
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
简单投票协议 #1的基本思想
secure booth = 加密
简单投票协议 #1
PCTF
3. ECTF(V)
SCTF
选民 Vi
1. 选择 V
2. 加密 V → ECTF(V).
Central Tabulating Facility
9. 检查 M是否有效并保持VN列表
10. 公布结果 :(V, IDr)
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(可能冲 突); (7)每个人都知道谁投了票,谁没有投。
σ 是签名者的有效签名 签名者不知道 m 和 σ.
19
使用盲签名的投票协议
PCTF Pi Si
3. B(M)
SCTF
选民 Vi
1. M = (O1, … , On, IDr , i) 2. 盲化 M → B(M) 6. 选择 SCTF(Oi|| IDr)
5. SCTF(B(M))
中央制表机构
4. 检查 B(M) 是否有效
其他问题
1.
虽然CTF不能把选票同个人联系起来, 但它能产生大量签名的有效选票,供他 自己进行欺骗。 如果Alice发现CTF修改了她的选票,她 没有办法证明。
2.
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
传统投票概述
FOO协议分六个阶段进行 :
(1)预备 (2)管理机构授权 (3)投票 (4)收集选票 (5)公开验证 (6)统计并公布结果
FOO协议安全性分析
FOO协议中使用了比特承诺、盲签名、公钥加 密、数字签名以及匿名通信等技术,以确保该 协议能够较好的满足电子选举协议的安全性要 求:
(1) 完全性 (2) 准确性 (3) 秘密性 (4) 不可重用性 (5) 合法性 (6)公平性 (7) 可验证性
缺陷
(1) 该协议不允许合法选民弃权。否则,管理机构可以假 冒合法投票者进行投票。因为管理机构单独负责选民的 身份验证,选票的合法性完全由管理机构决定。所以, 如果有合法选民弃权,管理机构可以冒充弃权选民投票。 (2) 没有解决选票碰撞问题。在FOO协议中,仅通过比特 承诺算法来区分不同选民的选票。如果两个选民选择的 承诺密钥以及选票内容恰好相同,那么将出现两张完全 相同的选票,这使得计票中心将不得不舍弃一张合法选 票。由于比特承诺的密钥没有任何要求,因此,出现选 票碰撞的几率是不可忽略的。
系统选择并发布两个公共参数:单向杂凑函数H,比特 承诺算法f。 选民Vi的参数:唯一的身份标志IDi,用于比特承诺的 随机数ki,盲化因子ri,签名方案δi。 管理机构参数:加密算法的公钥(e0, n0)和私钥d0,签名 算法。 计票机构的参数:加密算法的公钥(ec, nc)和私钥dc。
FOO协议
SCLA
选民 Vi
中央合法机构
2.为选民保持一张有效数字VN的列表
带两个中央机构的投票协议
PCLA PCTF SCLA
VN list 4. VN list
SCTF
中央合法机构
中央制表机构
带两个中央机构的投票协议
PCTF Pi Si
VNr 8. M
SCTF
VN list
Voter Vi
5. 选择 IDr 6. 生成 M = (V, IDr, VNr) 6. 选择 SCTF(Oi, IDr, VNr) 7. 生成 M’ =SCTF(Oi, IDr, VNr)
协议
1.简单投票协议 #1 2.简单投票协议 #2
3.使用盲签名的投票协议
4.带两个中央机构的投票协议
5.无需投票中心的投票协议
盲签名
所谓盲签名是指签名人只是完成对文件的签名工作, 并不了解所签文件的内容。 盲签名在数字现金,电子投票等领域都有较大的应 用价值,特别是目前的数字现金,大部分都是采用 盲签名的原理实现。
中央制表机构
4. 制表 5. 公布结果
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票(CTF知 道) ; (7)每个人都知道谁投了票,谁没有投。
1. 检查选民的身份。
checker
voter
传统投票概述
2. 计算出选票箱中选票的总数。
counter
传统投票概述
在选举中有两个位置
checker
counter
带两个中央机构的投票协议
中央合法机构
中央制表机构
带两个中央机构的投票协议
PCLA Pi Si
1.要求得到一个 VN VN list 3. VNr
无需投票中心的投票协议
Voter Vn 13. 公布结果
未得到满足的需求
(1)只有经授权的投票者才能投票; (2)每个人投票不得超过一次; (3)没有人能复制其他人的选票; (4)没有人能修改其他人的选票; (5)每个投票者都可以保证他的选票在最后的 选举计数中被计算在内; (6)任何人都不能确定别人投谁的票; (7)每个人都知道谁投了票,谁没有投。
缺陷
(3) 协议在匿名性方面存在缺陷。如果管理机构伪造选票 并进行投票,为了表明自己的选票是合法的,合法投票 者需要出示其盲化因子以及管理机构的盲签名。提交盲 化因子的过程破坏了匿名性。
RSA盲签名
申请者 希望得到消息m的签名
签名者
(1) 盲化
r ZN* m’ = H(m) re mod N
m’
σ’
(2) 签名
σ’ = m’d mod N
(3) 解盲
σ = σ’ r-1 mod N
σ = σ’ r-1 mod N = (H(m) re)d r-1 mod N = H(m)d mod N
无需投票中心的投票协议
P1 Pi Si
5. M
S1
Voter Vi
Voter V1
6.用他的私钥对所有的选
票解密,接着将那一级中 所有随机字符串删去 .
无需投票中心的投票协议
P1 P2
S1
7. M2
(M2 是已解密的消息)
S2
Voter V1
Voter V2
8.用他的私钥对所有的选
票解密,查看他的选票是 否在选票集中,删去那一 级中所有随机字符串
无需投票中心的投票协议
Pn P1
Sn
9. M’
( M’ = E1(…En(V, IDr)…) )
S1
Voter Vn
Voter V1
10.用他的私钥对所有的选
票解密,查看他的选票是 否在选票集中,删去那一 级中所有随机字符串
11.签名所有选票
无需投票中心的投票协议
Voter V1
12. 广播选票给所有人