CN111277403B - 基于秘密共享和基于身份密码学的抗量子计算投票方法 - Google Patents

基于秘密共享和基于身份密码学的抗量子计算投票方法 Download PDF

Info

Publication number
CN111277403B
CN111277403B CN202010056773.7A CN202010056773A CN111277403B CN 111277403 B CN111277403 B CN 111277403B CN 202010056773 A CN202010056773 A CN 202010056773A CN 111277403 B CN111277403 B CN 111277403B
Authority
CN
China
Prior art keywords
center
key
public key
signature
voter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010056773.7A
Other languages
English (en)
Other versions
CN111277403A (zh
Inventor
富尧
钟一民
汪仲祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd, Nanjing Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN202010056773.7A priority Critical patent/CN111277403B/zh
Publication of CN111277403A publication Critical patent/CN111277403A/zh
Application granted granted Critical
Publication of CN111277403B publication Critical patent/CN111277403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于秘密共享和基于身份密码学的抗量子计算投票方法,所述方法应用于包括注册中心、若干投票者和计票中心的投票***,注册中心设有密钥颁发中心,密钥颁发中心为注册中心、各投票者和计票中心颁发唯一的密钥卡,注册中心和计票中心密钥卡内还设有用于存储数据的计算芯片;所述方法中主要包括注册中心颁发密钥卡和对投票者的投票进行盲签名、投票者对有效选票进行环签名以及计票中心的接收有效选票并计票。本发明通过对投票者的身份和密钥颁发中心公钥进行秘密共享,且在各投票***成员内设置唯一的密钥卡,盲签名的过程中无需盲签名方用自身公钥对随机数进行加密,在具有抗量子计算攻击的效果同时减少盲签名技术的计算量。

Description

基于秘密共享和基于身份密码学的抗量子计算投票方法
技术领域
本发明涉及秘密共享领域,尤其涉及一种基于秘密共享和基于身份密码学的抗量子计算投票方法。
背景技术
环签名和盲签名是投票***中实现投票信息安全和实现投票公平性的基本技术。环签名因签名中参数根据一定的规则首尾相接组成环状而得名,实际的签名者用其他可能签字者的公钥产生了一个带有断口的环,然后用私钥将断口连成一个完整的环,任何验证人利用环成员的公钥都可以验证一个环签名是否由某个可能的签名人生成,签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助。签名集合中的成员可能并不知道自己被包含在其中。
而盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签字除去盲因子,得到签名者关于原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足下面的两条性质:签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容;签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。因为盲签名具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。
在公布号为CN109889330A的基于非对称密钥池的抗量子计算盲签名方法和***的专利中,该专利采用了非对称密钥池对盲签名进行签名加密计算,但为使得数字签名的输入不被敌方所知,由于用一个随机数对数字签名的输入进行加密,又用盲签名方的公钥对随机数密钥进行加密,因此在盲签名请求方增加RSA加密一次,在盲签名方增加RSA解密一次,计算量较大。
在公布号为CN110391911A的区块链匿名投票***及方法的专利中,该专利采用了匿名投票的方式实现区块链投票***,对用户身份进行隐藏,并在区块链技术中引入盲签名和环签名等密码学技术,但当前基于盲签名的投票***在用户身份的保护上仍然存在缺陷,投票用户的身份信息多次出现,容易被敌方跟踪获取,同时该ID密码学***的安全性仍然较低。
结合以上说明,可以总结出现有技术存在的问题如下:
1.当前基于盲签名的投票***中投票者的身份信息容易出现泄漏的状况,ID密码学***的安全性仍然较低;
2.现有抗量子计算盲签名技术中为使得数字签名的输入不被敌方所知,用一个随机数对数字签名的输入进行加密,又用盲签名方的公钥对随机数密钥进行加密;因此在盲签名请求方增加RSA加密一次,在盲签名方增加RSA解密一次,使得盲签名技术带来的计算量较大。
发明内容
发明目的:针对现有技术中抗量子***计算量较大且ID密码学***安全性较低的缺陷,本发明公开了一种基于秘密共享和基于身份密码学的抗量子计算投票方法,通过对投票者的IDU和颁发者公钥Ppub进行秘密共享,且在注册中心、各投票者和计票中心设置唯一的密钥卡,盲签名的过程中无需盲签名方用自身公钥对随机数进行加密,在具有抗量子计算攻击的效果同时减少盲签名技术的计算量。
技术方案:本发明公开了一种基于秘密共享和基于身份密码学的抗量子计算投票方法,所述方法应用于包括注册中心、若干投票者和计票中心的投票***,所述注册中心设有密钥颁发中心,密钥颁发中心为注册中心、各投票者和计票中心颁发唯一的密钥卡,注册中心和计票中心密钥卡内还设有用于存储数据的计算芯片;
所述注册中心对投票者的身份信息IDU通过(2,2)秘密共享得到秘密分量一和秘密分量二,秘密分量一包括秘密分量随机数一和IDU分量一,秘密分量二包括秘密分量随机数二和IDU分量二;其中秘密分量一存储于投票者密钥卡内,秘密分量随机数一和秘密分量二存储于注册中心密钥卡内;
所述注册中心对密钥颁发中心的公钥Ppub进行(2,2)秘密共享,结合秘密分量随机数一和秘密分量随机数二获得公钥分量一Ppub1和公钥分量二Ppub2;其中公钥分量一Ppub1存储于投票者密钥卡内,密钥颁发中心的公钥Ppub存储于注册中心和计票中心密钥卡内。
优选地,所述注册中心密钥卡存储若干投票者的假身份信息的列表、若干投票者身份公钥信息的列表、计票中心的身份公钥信息、第一盲签名参数和盲签名随机数,投票者的假身份信息的列表内容包括投票者的假身份信息、秘密分量随机数一和秘密分量二,计算芯片存储自身的公钥随机数、私钥、ID密码学的参数、密钥颁发中心的公钥Ppub和密钥颁发中心的私钥;
所述计票中心密钥卡存储若干投票者的身份公钥信息和自身的身份公钥信息;计算芯片存储自身的公钥随机数、私钥、ID密码学的参数、密钥颁发中心的公钥Ppub和密钥颁发中心的私钥;
所述投票者密钥卡内包含公钥区、私钥区和其它区,公钥区存储若干身份和公钥信息的列表,包括注册中心的身份公钥信息和计票中心的身份公钥信息;私钥区存储自身的假身份信息、秘密分量一和自身的公钥、私钥;其它区存储第一盲签名参数、ID密码学的参数、公钥分量一和公钥映射值。
优选地,所述注册中心对密钥颁发中心的公钥Ppub进行(2,2)秘密共享的过程包括:根据公式Ppub=s*P,其中P为ID密码学的参数,s为密钥颁发中心的私钥,对s使用秘密分量随机数一和秘密分量随机数二进行(2,2)秘密共享,得到私钥分量一和私钥分量二,私钥分量一包括秘密分量随机数一和s1,私钥分量二包括秘密分量随机数二和s2,计算公钥Ppub秘密共享后得到的公钥分量一Ppub1=s1*P、公钥分量二Ppub2=s2*P。
优选地,实施方在于计票中心,所述计票中心执行以下步骤:
步骤A1、计票中心向注册中心和投票者分发投票信封和计票中心签名:投票信封的内容包括计票中心生成投票活动身份信息和投票活动身份信息列表,对列表内所有身份信息对应的公钥随机数的集合进行哈希计算;
计票中心取出密钥卡内自身的身份公钥信息,对其进行哈希计算得到自身公钥,选取计票中心随机数,与自身公钥的积作为签名值一,对投票信封和公钥随机数集合的哈希值、签名值一进行哈希计算得到h,将h与计票中心随机数之和与计票中心私钥相乘得到签名值二,计票中心通过自身私钥对投票信封和公钥随机数集合的哈希值进行的签名即为签名值一和签名值二的组合;
步骤A2、计票中心生成投票编号并发送给投票者:计票中心生成计票中心随机数,与投票活动身份信息组合生成投票编号,且投票编号不存在于当前投票活动身份信息对应的投票列表中,计票中心临时存储投票编号用于计票时比对;
步骤A3、计票中心收到投票者发送的有效选票和签名并验证:计票中心根据密钥卡内投票者的身份公钥信息计算出投票者公钥,根据投票者公钥和密钥卡内密钥颁发中心的公钥Ppub验证环签名,取出有效选票和真正签名信息,并用自身密钥卡内存储的注册中心的公钥信息对真正签名信息进行验证,将取出的投票编号与步骤A2中计票中心保存的投票编号进行比对,相同的话则表明投票信息有效,并将投票编号和投票内容存入投票票数表中,同时删除计票中心临时保存的投票编号;
步骤A4、计票中心向投票者回复投票结果:计票中心对投票活动身份信息列表内所有公钥随机数的集合进行哈希计算,将投票编号和投票结果组合为回复信息,计票中心用自身的私钥对回复信息和公钥随机数集合哈希值进行签名,签名方法与步骤A1中相同,计票中心将回复信息和签名发送给投票者;
步骤A5、计票中心向所有的投票者发送计票信息,包括投票票数表和投票结果表,计票中心根据步骤A1中签名方法用自身的私钥对计票信息进行数字签名。
优选地,实施方在于投票者,所述投票者执行以下步骤:
步骤B1、投票者接收计票中心发送的投票信封并验证计票中心签名:对投票活动身份信息列表内所有身份信息对应的公钥随机数的集合进行哈希计算,从密钥卡内取出计票中心的身份公钥信息,计算获得计票中心公钥,用计票中心公钥验证计票中心签名;
步骤B2、投票者接收计票中心发送的投票编号并向注册中心请求盲签名:获取当前时间戳,判断当前时间戳是否满足更换投票者的密钥卡内假身份信息的条件,满足条件后,投票者选取第一随机数和第二随机数,取出投票者密钥卡内的秘密分量随机数一、第一盲签名参数和注册中心的身份公钥信息,根据投票者密钥卡内的秘密分量随机数一和当前时间戳计算得到两个哈希值,将两个哈希值组合成对称密钥UK;
根据注册中心的身份公钥信息计算出注册中心的公钥,再根据注册中心公钥、第一盲签名参数、第一随机数和第二随机数计算第二盲签名参数,根据第二盲签名参数和包含选票编号和选票内容的有效选票计算生成盲化选票,投票者采用对称密钥UK对盲化选票进行加密,将加密后的盲化选票连同投票者的假身份信息、IDU分量一、投票活动身份信息和时间戳作为消息M1_0,投票者采用对称密钥UK对消息M1_0进行计算得到消息认证码,投票者将消息M1_0和消息验证码作为消息M1发送给注册中心;
步骤B3、投票者接收注册中心发送的响应消息并更新内部存储:投票者用UK验证响应消息中的消息验证码,认证成功后更新内部存储的信息,包括投票者的假身份信息和秘密分量一,取出响应消息中第一盲签名参数偏移量、公钥分量一偏移量和公钥分量二偏移量,与本地密钥卡内的第一盲签名参数和公钥分量一计算获得新第一盲签名参数、新公钥分量一和新公钥分量二,将本地的第一盲签名参数更新为新第一盲签名参数,并计算密钥颁发中心的新公钥;计算公钥映射值并与本地存储的公钥映射值对比验证,相等后将密钥颁发中心的新公钥作为密钥颁发中心的公钥Ppub,并更新本地密钥卡内的公钥分量一,投票者用UK解密得到盲签名,用第一随机数计算得到新盲签名,投票者获取有效选票的签名,包括第二盲签名参数和新盲签名;
步骤B4、投票者向计票中心发送有效选票和环签名:投票者选取投票活动身份信息列表内身份信息对应的若干公钥随机数信息对有效选票进行环签名,投票者向计票中心发送含有有效选票、投票者身份集合和环签名的信息;
步骤B5、投票者接收计票中心发送的投票结果:投票者接收回复信息和计票中心签名,用密钥卡内存储的计票中心公钥验证信息,方法与步骤B1中相同,得知投票结果;
步骤B6、投票者接收计票中心发送的计票结果:投票者接收到计票信息后,根据步骤B1中验证签名的方法用密钥卡内存储的计票中心公钥验证信息,检查自己的投票是否在投票票数表内。
优选地,所述步骤B1中用计票中心公钥验证计票中心签名为:验证ID密码学的参数、密钥颁发中心的公钥Ppub、签名值一和h与计票中心公钥之积、签名值二为有效的Diffie-Hellman元组;此时投票者内未存有密钥颁发中心的公钥Ppub,暂不对签名进行验证,在步骤B3中计算得出密钥颁发中心的公钥Ppub后对计票中心签名进行验证。
优选地,所述步骤B2中判断是否更换投票者的密钥卡内假身份信息的方法为:获取当前时间戳、从投票者的密钥卡中读取秘密分量随机数一,根据秘密分量随机数一和当前时间戳计算得到两个哈希值,并作为新的秘密分量随机数,比较秘密分量随机数一和两个哈希值,如果任意二者相等,则当前时间戳不满足更换假身份信息的条件,重新获取时间戳和计算两个哈希值,直到满足更换假身份信息的条件。
优选地,实施方在于注册中心,所述注册中心执行以下步骤:
步骤C1、注册中心为注册中心、各投票者和计票中心颁发唯一的密钥卡,其中注册中心和计票中心密钥卡内还设有用于存储数据的计算芯片;
步骤C2、注册中心接收计票中心发送的投票信封并验证计票中心签名:对投票活动身份信息列表内所有身份信息对应的公钥随机数的集合进行哈希计算,从密钥卡内取出计票中心的身份公钥信息,计算获得计票中心公钥,用计票中心公钥验证计票中心签名,即验证ID密码学的参数、密钥颁发中心的公钥Ppub、签名值一与h和计票中心公钥之积、签名值二为有效的Diffie-Hellman元组,从密钥卡内取出ID密码学的参数和密钥颁发中心的公钥Ppub,验证计票中心签名,注册中心在投票活动身份信息列表内增加投票标志位;
步骤C3、注册中心接收投票者发送的盲签名请求并对盲化选票进行盲签名,向投票者发送响应消息:注册中心收到消息M1后,结合消息中和自身密钥卡内的信息,根据秘密分量一和秘密分量二恢复投票者的真实身份IDU和随机数RAND,根据秘密分量随机数一和收到消息中的时间戳计算得到两个哈希值,计算出对称密钥UK,采用UK验证投票者发送的消息验证码,验证成功,注册中心更新内部存储的信息,包括投票者的假身份信息、秘密分量随机数一、秘密分量二、第一盲签名参数和盲签名随机数;
注册中心查看密钥卡内存储的若干投票者的假身份信息的列表,验证投票者是否有进行投票的权利,用注册中心的私钥对盲化选票和盲签名随机数进行盲签名,并将包含用UK加密的盲签名、第一盲签名参数偏移量、公钥分量一偏移量和公钥分量二偏移量的响应信息,用UK计算消息认证码后发送给投票者。
优选地,所述步骤C3中注册中心更新内部存储的第一盲签名参数和盲签名随机数过程包括:注册中心选取新盲签名随机数,根据新盲签名随机数和注册中心公钥更新和计算新第一盲签名参数,同时获得第一盲签名参数的偏移量,根据密钥卡内的ID密码学的参数、投票者的公钥随机数和密钥颁发中心的私钥计算公钥分量一偏移量和公钥分量二偏移量。
有益效果:
1、本发明的数字签名的输入不被敌方所知,无需对原有盲签名方式增加非对称加密的计算量即可抗量子计算,因此本发明减轻了现有抗量子计算盲签名技术的计算量;
2、本发明用秘密共享的方式对投票者IDU进行分布式存储,对IDU进行了隐藏,在投票的过程中保护了投票者的隐私安全,让外界无法得知投票者的真正身份;
3、本发明用秘密共享的方式对ID密码学的颁发者公钥Ppub进行秘密共享,使得敌方无法通过拆解投票者密钥卡得到此参数,并通过此参数破解得到颁发者私钥s,从而提高了ID密码学***的安全性;
4、本发明在注册中心R、投票者U和计票中心V设置唯一的密钥卡,密钥卡中存有用户端公钥、私钥、假身份PIDU和IDU分量,没有密钥卡的其他人无法得到卡中的重要信息,量子计算机无法获取公钥或私钥,因此具有抗量子计算攻击的效果。
附图说明
图1为本发明实施例中的角色构成图;
图2为本发明实施例中密钥卡的内部结构图。
具体实施方式
本实施例所用非对称算法为基于ID密码学。基于ID密码学的相关知识:假设G是一个群,从G中取生成元P,再选一个随机数作为私钥生成服务器的私钥s,有私钥生成服务器的***管理公钥Ppub=sP。
如附图1所示,本实施例中有注册中心R、投票者U和计票中心V三种角色,其中投票者有很多个,三种角色对应的ID/公钥随机数/公钥/私钥分别为IDR/RKR/PKR/SKR、IDU/RKU/PKU/SKU和IDV/RKV/PKV/SKV,其中ID、公钥随机数和公钥的关系为:PK=H(ID||RK)。如附图2所示,这三种角色都拥有密钥卡,由密钥颁发中心负责颁发。其中U密钥卡中有公钥区、私钥区和其他区,而R/V密钥卡内则存在可信计算芯片用于存储数据,可信计算芯片可保证存入的信息不可能通过拆解而被破解。U的密钥卡由于数量众多,考虑到成本,本专利假设并未配备可信计算芯片。R对U的IDU进行(2,2)的秘密共享,得到秘密为(x1,IDU1)和(x2,IDU2)。针对不同的IDU,有不同的随机数RAND,使得公式f(x)=IDU+RAND*x成立,可以得到IDU1=IDU+RAND*x1和IDU2=IDU+RAND*x2。凑齐两组秘密可以恢复IDU,具体步骤为:先根据公式
Figure GDA0003873912690000071
求得拉格朗日参数λ1=(-x2)/(x1-x2)和λ2=(-x1)/(x2-x1),再根据公式IDU=λ1*IDU1+λ2*IDU2求得IDU。
R对s进行(2,2)的秘密共享,使用上面用到的参数x1和x2,得到秘密为(x1,s1)和(x2,s2)。针对不同的U,取其公钥随机数RK,使得公式fs(x)=s+RK*x成立,可以得到s1=s+RK*x1和s2=s+RK*x2。恢复s的方法与恢复ID的方法类似。根据公式Ppub1=s1*P和Ppub2=s2*P可以得到Ppub的两个分量。又对Ppub做映射得到HG(Ppub),HG是哈希函数,比如有HG(Ppub)=HASH(Ppubx||Ppuby),其中Ppub=(Ppubx,Ppuby)。
本实施例分为三个大步骤,下面将具体介绍。
一.准备阶段
1.1R给U和V颁发密钥卡
R给U和V颁发密钥卡,同时也给自己颁发密钥卡。其中U密钥卡的公钥区存有包括多组身份公钥信息的列表,每组身份公钥信息包括ID||RK,其中包括IDR||RKR和IDV||RKV;私钥区存有PIDU||(x1,IDU1)||PKU||SKU,其中PID为U的假身份信息,即PIDU=HASH(IDU||IDU1|IDU2);其他区还存有盲签名的参数UB和ID密码学的参数P与***管理公钥的分量Ppub1和HG(Ppub),其中UB=rb*PKR。R密钥卡内存有包括多组假身份信息的列表、多组身份公钥信息的列表、IDV||RKV、盲签名的参数UB||rb,卡内的可信计算芯片存储有自己的的公钥随机数、私钥、ID密码学的参数P、***管理公钥Ppub和s,其中每组假身份信息包括PIDU||x1||(x2,IDU2)。V密钥卡内存有包括多组身份公钥信息的列表,包括若干投票者的身份公钥信息和自身的身份公钥信息,卡内的可信计算芯片存储有自己的的公钥随机数、私钥、ID密码学的参数P、***管理公钥Ppub和s。
1.2V规定投票活动的ID即IDVOTE,以及IDVOTE对应的合法ID列表IDVOTE_IDS,即IDVOTE||IDVOTE_IDS。
1.3V公开IDVOTE||IDVOTE_IDS
令M0_0=IDVOTE||IDVOTE_IDS,用∑IDVOTE_IDSRK表示IDVOTE_IDS内所有ID对应的RK集合,又令VKIDVOTE_IDS=H1(∑IDVOTE_IDSRK),其中H1是一个HASH函数。V用私钥SKV对M0_0||VKIDVOTE_IDS进行基于ID密码学的签名,签名过程如下:取随机数r,乘以公钥PKV得到r*PKV并称为U1,其中PKV=H(IDV||RKV),用H1作用于M0_0||VKIDVOTE_IDS和r*PKV得到H1(M0_0||VKIDVOTE_IDS,r*PKV)并称为参数h,得到(r+h)*SKV并称为V1,SIGN(M0_0||VKIDVOTE_IDS,SKV)=(U1,V1)=(r*PKV,(r+h)*SKV)即为得到的签名。将签名和M0_0组合起来得到M0_0||SIGN(M0_0||VKIDVOTE_IDS,SKV),并命名为M0。将M0发送给R和所有U。
此处由于RKV不公开,敌方无法得到PKV;因此敌方无法通过U1和PKV得到随机数r。由于签名的对象M0_0||VKIDVOTE_IDS无法被敌方所知,因此敌方无法通过该对象得到参数h;由于敌方无法得到r和h,因此敌方无法通过V=(r+h)*SKV计算得到SKV。综上所述,公开的数字签名能抵抗敌方量子计算机对基于身份的公钥密码学的攻击。
1.4R和所有U收到M0即M0_0||SIGN(M0_0||VKIDVOTE_IDS,SKV),首先根据IDVOTE_IDS内所有ID对应的RK得到∑IDVOTE_IDSRK,对其做哈希运算得到H1(∑IDVOTE_IDSRE)即VKIDVOTE_IDS,然后从密钥卡中取出IDV||RKV,根据公式PKV=H(IDV||RKV)计算得到V的公钥PKV,再用PKV验证数字签名SIGN(M0_0||VKIDVOTE_IDS,SKV):要验证该签名,根据《An Identity-BasedSignature from Gap Diffie-Hellman Groups》的数字签名验证理论,只需要验证(P,Ppub,U1+h*PKV,V1)是一个有效的Diffie-Hellman元组。验证成功后将IDVOTE||IDVOTE_IDS保存在本地。其中R从本地密钥卡的的可信计算芯片中取出Ppub,可以立马验证签名;而U则是需要等到后续步骤中计算得到Ppub才可以验证签名。
1.5R同时对IDVOTE_IDS记录了各ID是否已经进行投票的标志位IDVOTE_ID_FLAG,初始状态为未投票即ID对应的IDVOTE_ID_FLAG=0。
二.投票阶段
2.1V发出选票编号给U
V取随机数VR,令选票编号TN=IDVOTE||VR,确保该TN在当前IDVOTE的选票列表IDVOTE_TICKETS中不存在。将TN发送给U,并且将TN暂存在本地用于后续对比。其中将TN发送给U的过程能够保证V无法将IDU和TN对应起来,例如通过人工颁发的方式将放在信封内的TN一一对应地发送到U的手中,而所有信封都是没有差别的,这样就使得没有人可以知道某个U获取到了哪个TN。
2.2U请求盲签名
令x0=timestamp,timestamp为时间戳,用哈希函数作用于x1||x0得到HASH(x1||x0),命名为x1′;用哈希函数作用于x0||x1得到HASH(x0||x1),命名为x2′。将x1、x1′和x2′进行比较,如果任意两者相等,则当前的timestamp不满足更换PIDU的条件,此时需要更换timestamp,直到满足更换PIDU的条件。这里的x1就是对IDU进行秘密共享得到的秘密(x1,IDU1)中的参数x1。
令选票为TICKET=TN||TC,TICKET也称为T,即T=TN||TC,TC为选票内容,即支持或者反对的内容。从密钥卡中取出IDR||RKR,根据公式PKR=H(IDR||RKR)计算得到R的公钥PKR。U请求R进行盲签名,方法可参考《Zhang F,Kim K.Efficient ID-Based BlindSignature and Proxy Signature from Bilinear Pairings[C]//Information Securityand Privacy,8th Australasian Conference,ACISP 2003,Wollongong,Australia,July9-11,2003,Proceedings.Springer-Verlag,2003.》。U取随机数α和β,从密钥卡中取出参数UB,计算UB′=α*UB+α*β*PKR,计算盲化选票hb=(α-1)*H1(T,UB′)+β。令UK=x1′||x2′,用UK对称加密hb得到{hb}UK,将PIDU、IDU1、IDVOTE、{hb}UK和timestamp组合起来得到PIDU||IDU1||IDVOTE||{hb}UK||timestamp并命名为M1_0。此处盲签名的输入无法被敌方所知,且为对称加密,减轻了抗量子计算盲签名的计算量。以M1_0为消息,以UK为密钥,计算消息认证码MAC(M1_0,UK),得到组合M1_0||MAC(M1_0,UK)并命名为M1。U将消息M1发送给R。
2.3R进行盲签名并发送给U
R得到M1即M1_0||MAC(M1_0,UK),M1_0为PIDU||IDU1||IDVOTE||{TB}UK||timestamp。首先对timestamp进行判断,如不合理则不处理。根据PIDU搜索本地身份公钥信息列表中的PIDU项,如找不到PIDU则认证失败,流程结束。如果找到PIDU,则进行下列步骤:
根据PIDU找到对应的x1||(x2,IDU2),根据(x1,IDU1)和(x2,ID2U),结合公式IDU1=IDU+RAND*x1和IDU2=IDU+RAND*x2,从而计算得到IDU和RAND的值。又令x0=timestamp,用哈希函数作用于x1||x0得到HASH(x1||x0)即x1′,用哈希函数作用于x0||x1得到HASH(x0||x1)即x2′,并且根据公式f(x)=ID+RAND*x得到IDU1′=IDU+RAND*x1′和IDU2′=IDU+RAND*x2′,从而得到IDU1′和IDU2′。根据UK=x1′||x2′得到UK,用UK验证MAC(M1_0,UK),验证成功则表明找到IDU,认证成功。用UK解密{hb}UK得到hb。
计算PIDU′=HASH(IDU||IDU1′||IDU2′),将PIDU更新为PIDU′,x1更新为x1′,(x2,IDU2)更新为(x2′,IDU2′)。需要注意到是R获取到了IDU但无法获取到IDU的投票内容;其他不拥有假身份信息的成员无法获取到IDU及投票内容。
R取随机数rbnew,计算UBnew=rbnew*PKR,将密钥卡内存储的UB更新为UBnew,rb更新为rbnew。R从密钥卡中取出s、P和RKU,根据公式s1=s+RKU*x1计算得到s1,s1′=s+RKU*x1′计算得到s1′,s2′=s+RKU*x2′计算得到s2′,又根据Ppub1=s1*P计算得到Ppub1,Ppub1′=s1’*P计算得到Ppub1′,Ppub2′=s2’*P计算得到Ppub2′,对其做偏移得到(Ppub1′-Ppub1)、(Ppub2′-Ppub1)。
R根据IDVOTE找到IDVOTE_IDS,查看IDU是否位于IDVOTE_IDS内。如不存在,则证明IDU没有对IDVOTE进行投票的权利,令RETR=“FAIL”。如存在,则查看IDU对应的IDVOTE_ID_FLAG是否已进行投票,如已进行投票,则令RETR=“DONE”;如未进行投票,则将标志位IDVOTE_ID_FLAG标记为已投票,并计算盲签名VB=(rb+hb)SKR,令RETR=“OK”||{VB}UK||(UBnew-UB)||(Ppub1′-Ppub1)||(Ppub2′-Ppub1)。由于UB没有公开,敌方无法获取rb;由于rb/hb/VB没有公开,敌方无法从VB=(rb+hb)SKR获取SKR因此该盲签名可以抗量子计算。,由于Ppub1没有公开,敌方无法计算得到Ppub1′、Ppub2′。将组合PIDU||IDU2’||RETR称为M2_0,以M2_0为消息,以UK为密钥,计算消息认证码MAC(M2_0,UK),将组合M2_0||MAC(M2_0,UK)称为M2,将M2作为确认消息发送给U。
2.4U更新存储并获取签名
U收到M2即M2_0||MAC(M2_0,UK),其中M2_0=PIDU||IDU2′||RETR。用UK验证MAC(M2_0,UK),验证成功则表明IDU已被服务器认可,认证成功;如验证失败或没有收到确认消息,则认证失败。若验证成功则更新存储:取出本地(x1,IDU1),又有得到的IDU2′,和之前计算出来的的x2′组成(x2′,IDU2′),根据公式IDU1=IDU+RAND*x1和IDU2′=IDU+RAND*x2′,计算可得到IDU和RAND的值。根据公式IDU1′=IDU+RAND*x1′可以计算得到IDU1′,根据公式PIDU′=HASH(IDU||IDU1′||IDU2′)计算得到PIDU′,将本地存储的PIDU更新为PIDU′,(x1,IDU1)更新为(x1′,IDU1′)。需要注意的是,IDU没有存储于U密钥卡,因此单独对其进行断电拆解无法获取IDU。U从RETR中取出结果值,如果不是“OK”则流程结束。如果是“OK”,则取出{VB}UK,将得到的(UBnew-UB)和本地的UB相加,得到UBnew,并将本地的UB更新为UBnew;取出(Ppub1′-Ppub1),与本地的Ppub1相加得到Ppub1′;取出(Ppub2′-Ppub1),与本地的Ppub1相加得到Ppub2′。根据公式
Figure GDA0003873912690000111
计算求得Ppub′。U计算Ppub′的哈希值,与本地存储的HG(Ppub)相比较,如相等则证明Ppub′即Ppub,U将本地Ppub1更新为Ppub1′。Ppub没有存储于U密钥卡,因此单独对其进行断电拆解无法获取Ppub。步骤1.4中的U验证签名也需要用到这里计算得到Ppub。
U解密得到VB,计算VB′=α*VB,从而得到T的签名TS={UB′,VB′},再用PKR验证签名是否成功:要验证签名只需要验证等式e(VB′,P)=e(UB′+H1(T,UB′)*PKR,Ppub)是否成立,成立则验证成功。
2.5U提交选票及签名
U形成有效选票VT=T||TS,根据公开的IDVOTE_IDS,从中选择多个ID,并获取其RK,对VT进行环签名,其流程参考《Chow S S M,Yiu S M,Hui L C K.Efficient IdentityBased Ring Signature.[C]//International Conference on Applied Cryptography&Network Security.Springer,Berlin,Heidelberg,2005》。过程如下:
U取包括自己在内的共n个用户的ID和公钥随机数RK1、RK2、RK3...RKn并计算的到公钥PK1、PK2、PK3...PKn,环签名的L=∑(ID||RK),标识所选n个用户的ID和RK的合集,其中下标s对应的是IDU和RKU。为除U以外的ID各选取一个随机点Ui,分别是U1、U2、...、Un,分别计算hi=H0(VT||L||Ui),得到h1、h2、...、hn(i≠s)。计算(Ui+hi*PKi)的合集∑i≠s{Ui+hi*PKi},选取随机数r′s,进而得到Us=r′s*PKU-∑i≠s{Ui+hi*PKi}。再计算hs=H0(VT||L||Us)和V2=(hs+r′s)*SKU,进而得到环签名
Figure GDA0003873912690000121
令L′=∑(ID),接着得到组合M3=VT||L′||σ,U将M3发送给V。值得注意的是,此处使用环签名,在n个ID中隐藏了U的ID,最关键的是排除了R伪造选票的可能,因为IDR不在环签名的ID列表内,因此可以证明该环签名不是R签的。另外,由于所有成员的公钥随机数没有公开,因此所有hi和PKi均不可被敌方所知,并且敌方无法通过
Figure GDA0003873912690000126
和Us=r′s*PKU-Σi≠s{Ui+hi*PKi}计算得到r′s,于是敌方无法通过V2=(hs+r′s)*SKU得到SKU。因此该环签名算法具有抗量子计算能力。
2.6V验证选票
V收到M3即VT||L′||σ,有
Figure GDA0003873912690000123
首先对σ进行验证:从密钥卡的的可信计算芯片中取出Ppub,根据L′获取各ID的公钥随机数并形成L,根据L计算出对应的公钥PKi,根据公式hi=H0(VT||L||Ui),计算得到h1、h2、...、hn,再验证等式
Figure GDA0003873912690000124
Figure GDA0003873912690000125
是否成立,如果成立,则环签名验证成功;如果结果不成立则说明环签名验证失败。验证成功的话进行下面的步骤。
确认∑(ID)中所有ID均位于IDVOTE_IDS中,接着取出VT中的T和TS,并用PKR对TS进行验证,验证方法见2.4所述。验证成功后,取出T中的TN,并与本地暂存的TN列表进行比对,验证TN是否是V发出的。如果是的话则表示T为有效选票。将T存入IDVOTE_TICKETS中,将TN从本地暂存的TN列表中删除。
2.7V将选票结果发送给U
V将U的选票T是否为有效选票的结果用RETV表示,又将RETV||TN称为M4_0。将RK1,RK2,...,RKr组合起来得到∑RK,对其做哈希运算得到H(∑RK),称为VK。又按照步骤1.3中的签名方法用SKV对M4_0||VK进行基于ID密码学的签名得到SIGN(M4_0||VK,SKV),将组合M4_0||SIGN(M4_0||VK,SKV)称为M4,并将M4发送给U。这里因为签名的对象M4_0||VK无法被敌方所知,因此敌方无法通过签名破解签名私钥。
2.8U收到投票结果
U收到M4即M4_0||SIGN(M4_0||VK,SKV),将RK1,RK2,...,RKr组合起来得到∑RK,对其做哈希运算得到H(∑RK)即VK。按照1.4中验证签名的方法用PKV对签名SIGN(M4_0||VK,SKV)进行验证,验证成功后取出M4_0中的RETV,从而得知投票结果。
三.计票阶段
3.1V公开IDVOTE_TICKETS及计票统计结果IDVOTE_RESULTS
V将组合IDVOTE_TICKETS||IDVOTE_RESULTS称为M5_0,用∑IDVOTE_TICKETSPK表示IDVOTE_TICKETS内所有ID对应的PK集合,再用哈希函数作用于∑IDVOTE_TICKETSPK得到H2(∑IDVOTE_TICKETSPK),并称为VKIDVOTE_TICKETS。按照步骤1.3中的签名方法用SKV对M5_0||VKIDVOTE_TICKETS进行基于ID密码学的签名得到SIGN(M5_0||VKIDVOTE_TICKETS,SKV),再将组合M5_0||SIGN(M5_0||VKIDVOTE_TICKETS,SKV)称为M5,并将M5发送给所有的投票者U。这里因为签名的对象M5_0||VKIDVOTE_TICKETS无法被敌方所知,因此敌方无法通过签名破解签名私钥。
3.2所有U验证计票结果
所有的投票者U收到M5即M5_0||SIGN(M5_0||VKIDVOTE_TICKETS,SKV)后,用∑IDVOTE_TICKETSPK表示IDVOTE_TICKETS内所有ID对应的PK集合,用哈希函数作用于∑IDVOTE_TICKETSPK得到H2(∑IDVOTE_TICKETSPK)即VKIDVOTE_TICKETS,然后按照步骤1.4中验证签名的方法用V的公钥PKV验证签名SIGN(M5_0||VKIDVOTE_TICKETS,SKV),如果验证成功,则检查自己的选票是否在IDVOTE_TICKETS内,否则向投票组织机构举报计票失败。投票组织机构执行线下审计流程,由专业人员对结果进行审计,找出投票作假者并进行惩罚。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于:所述方法应用于包括注册中心、若干投票者和计票中心的投票***,所述注册中心设有密钥颁发中心,密钥颁发中心为注册中心、各投票者和计票中心颁发唯一的密钥卡,注册中心和计票中心密钥卡内还设有用于存储数据的计算芯片;
所述注册中心对投票者的身份信息IDU通过(2,2)秘密共享得到秘密分量一和秘密分量二,秘密分量一包括秘密分量随机数一和IDU分量一,秘密分量二包括秘密分量随机数二和IDU分量二;其中秘密分量一存储于投票者密钥卡内,秘密分量随机数一和秘密分量二存储于注册中心密钥卡内;
所述注册中心对密钥颁发中心的公钥Ppub进行(2,2)秘密共享,结合秘密分量随机数一和秘密分量随机数二获得公钥分量一Ppub1和公钥分量二Ppub2;其中公钥分量一Ppub1存储于投票者密钥卡内,密钥颁发中心的公钥Ppub存储于注册中心和计票中心密钥卡内。
2.根据权利要求1所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,所述注册中心密钥卡存储若干投票者的假身份信息的列表、若干投票者身份公钥信息的列表、计票中心的身份公钥信息、第一盲签名参数和盲签名随机数,投票者的假身份信息的列表内容包括投票者的假身份信息、秘密分量随机数一和秘密分量二,计算芯片存储自身的公钥随机数、私钥、ID密码学的参数、密钥颁发中心的公钥Ppub和密钥颁发中心的私钥;
所述计票中心密钥卡存储若干投票者的身份公钥信息和自身的身份公钥信息;计算芯片存储自身的公钥随机数、私钥、ID密码学的参数、密钥颁发中心的公钥Ppub和密钥颁发中心的私钥;
所述投票者密钥卡内包含公钥区、私钥区和其它区,公钥区存储若干身份和公钥信息的列表,包括注册中心的身份公钥信息和计票中心的身份公钥信息;私钥区存储自身的假身份信息、秘密分量一和自身的公钥、私钥;其它区存储第一盲签名参数、ID密码学的参数、公钥分量一和公钥映射值。
3.根据权利要求1所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,所述注册中心对密钥颁发中心的公钥Ppub进行(2,2)秘密共享的过程包括:根据公式Ppub=s*P,其中P为ID密码学的参数,s为密钥颁发中心的私钥,对s使用秘密分量随机数一和秘密分量随机数二进行(2,2)秘密共享,得到私钥分量一和私钥分量二,私钥分量一包括秘密分量随机数一和s1,私钥分量二包括秘密分量随机数二和s2,计算公钥Ppub秘密共享后得到的公钥分量一Ppub1=s1*P、公钥分量二Ppub2=s2*P。
4.根据权利要求1所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,实施方在于计票中心,所述计票中心执行以下步骤:
步骤A1、计票中心向注册中心和投票者分发投票信封和计票中心签名:投票信封的内容包括计票中心生成投票活动身份信息和投票活动身份信息列表,对列表内所有身份信息对应的公钥随机数的集合进行哈希计算;
计票中心取出密钥卡内自身的身份公钥信息,对其进行哈希计算得到自身公钥,选取计票中心随机数,与自身公钥的积作为签名值一,对投票信封和公钥随机数集合的哈希值、签名值一进行哈希计算得到h,将h与计票中心随机数之和与计票中心私钥相乘得到签名值二,计票中心通过自身私钥对投票信封和公钥随机数集合的哈希值进行的签名即为签名值一和签名值二的组合;
步骤A2、计票中心生成投票编号并发送给投票者:计票中心生成计票中心随机数,与投票活动身份信息组合生成投票编号,且投票编号不存在于当前投票活动身份信息对应的投票列表中,计票中心临时存储投票编号用于计票时比对;
步骤A3、计票中心收到投票者发送的有效选票和签名并验证:计票中心根据密钥卡内投票者的身份公钥信息计算出投票者公钥,根据投票者公钥和密钥卡内密钥颁发中心的公钥Ppub验证环签名,取出有效选票和真正签名信息,并用自身密钥卡内存储的注册中心的公钥信息对真正签名信息进行验证,将取出的投票编号与步骤A2中计票中心保存的投票编号进行比对,相同的话则表明投票信息有效,并将投票编号和投票内容存入投票票数表中,同时删除计票中心临时保存的投票编号;
步骤A4、计票中心向投票者回复投票结果:计票中心对投票活动身份信息列表内所有公钥随机数的集合进行哈希计算,将投票编号和投票结果组合为回复信息,计票中心用自身的私钥对回复信息和公钥随机数集合哈希值进行签名,签名方法与步骤A1中相同,计票中心将回复信息和签名发送给投票者;
步骤A5、计票中心向所有的投票者发送计票信息,包括投票票数表和投票结果表,计票中心根据步骤A1中签名方法用自身的私钥对计票信息进行数字签名。
5.根据权利要求4所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,实施方在于投票者,所述投票者执行以下步骤:
步骤B1、投票者接收计票中心发送的投票信封并验证计票中心签名:对投票活动身份信息列表内所有身份信息对应的公钥随机数的集合进行哈希计算,从密钥卡内取出计票中心的身份公钥信息,计算获得计票中心公钥,用计票中心公钥验证计票中心签名;
步骤B2、投票者接收计票中心发送的投票编号并向注册中心请求盲签名:获取当前时间戳,判断当前时间戳是否满足更换投票者的密钥卡内假身份信息的条件,满足条件后,投票者选取第一随机数和第二随机数,取出投票者密钥卡内的秘密分量随机数一、第一盲签名参数和注册中心的身份公钥信息,根据投票者密钥卡内的秘密分量随机数一和当前时间戳计算得到两个哈希值,将两个哈希值组合成对称密钥UK;
根据注册中心的身份公钥信息计算出注册中心的公钥,再根据注册中心公钥、第一盲签名参数、第一随机数和第二随机数计算第二盲签名参数,根据第二盲签名参数和包含选票编号和选票内容的有效选票计算生成盲化选票,投票者采用对称密钥UK对盲化选票进行加密,将加密后的盲化选票连同投票者的假身份信息、IDU分量一、投票活动身份信息和时间戳作为消息M1_0,投票者采用对称密钥UK对消息M1_0进行计算得到消息认证码,投票者将消息M1_0和消息验证码作为消息M1发送给注册中心;
步骤B3、投票者接收注册中心发送的响应消息并更新内部存储:投票者用UK验证响应消息中的消息验证码,认证成功后更新内部存储的信息,包括投票者的假身份信息和秘密分量一,取出响应消息中第一盲签名参数偏移量、公钥分量一偏移量和公钥分量二偏移量,与本地密钥卡内的第一盲签名参数和公钥分量一计算获得新第一盲签名参数、新公钥分量一和新公钥分量二,将本地的第一盲签名参数更新为新第一盲签名参数,并计算密钥颁发中心的新公钥;计算公钥映射值并与本地存储的公钥映射值对比验证,相等后将密钥颁发中心的新公钥作为密钥颁发中心的公钥Ppub,并更新本地密钥卡内的公钥分量一,投票者用UK解密得到盲签名,用第一随机数计算得到新盲签名,投票者获取有效选票的签名,包括第二盲签名参数和新盲签名;
步骤B4、投票者向计票中心发送有效选票和环签名:投票者选取投票活动身份信息列表内若干身份信息对应的公钥随机数信息对有效选票进行环签名,投票者向计票中心发送含有有效选票、投票者身份集合和环签名的信息;
步骤B5、投票者接收计票中心发送的投票结果:投票者接收回复信息和计票中心签名,用密钥卡内存储的计票中心公钥验证信息,方法与步骤B1中相同,得知投票结果;
步骤B6、投票者接收计票中心发送的计票结果:投票者接收到计票信息后,根据步骤B1中验证签名的方法用密钥卡内存储的计票中心公钥验证信息,检查自己的投票是否在投票票数表内。
6.根据权利要求5所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,所述步骤B1中用计票中心公钥验证计票中心签名为:验证ID密码学的参数、密钥颁发中心的公钥Ppub、签名值一和h与计票中心公钥之积、签名值二为有效的Diffie-Hellman元组;此时投票者内未存有密钥颁发中心的公钥Ppub,暂不对签名进行验证,在步骤B3中计算得出密钥颁发中心的公钥Ppub后对计票中心签名进行验证。
7.根据权利要求5所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,所述步骤B2中判断是否更换投票者的密钥卡内假身份信息的方法为:获取当前时间戳、从投票者的密钥卡中读取秘密分量随机数一,根据秘密分量随机数一和当前时间戳计算得到两个哈希值,并作为新的秘密分量随机数,比较秘密分量随机数一和两个哈希值,如果任意二者相等,则当前时间戳不满足更换假身份信息的条件,重新获取时间戳和计算两个哈希值,直到满足更换假身份信息的条件。
8.根据权利要求5所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,实施方在于注册中心,所述注册中心执行以下步骤:
步骤C1、注册中心为注册中心、各投票者和计票中心颁发唯一的密钥卡,其中注册中心和计票中心密钥卡内还设有用于存储数据的计算芯片;
步骤C2、注册中心接收计票中心发送的投票信封并验证计票中心签名:对投票活动身份信息列表内所有身份信息对应的公钥随机数的集合进行哈希计算,从密钥卡内取出计票中心的身份公钥信息,计算获得计票中心公钥,用计票中心公钥验证计票中心签名,即验证ID密码学的参数、密钥颁发中心的公钥Ppub、签名值一与h和计票中心公钥之积、签名值二为有效的Diffie-Hellman元组,从密钥卡内取出ID密码学的参数和密钥颁发中心的公钥Ppub,验证计票中心签名,注册中心在投票活动身份信息列表内增加投票标志位;
步骤C3、注册中心接收投票者发送的盲签名请求并对盲化选票进行盲签名,向投票者发送响应消息:注册中心收到消息M1后,结合消息中和自身密钥卡内的信息,根据秘密分量一和秘密分量二恢复投票者的真实身份IDU和随机数RAND,根据秘密分量随机数一和收到消息中的时间戳计算得到两个哈希值,计算出对称密钥UK,采用UK验证投票者发送的消息验证码,验证成功,注册中心更新内部存储的信息,包括投票者的假身份信息、秘密分量随机数一、秘密分量二、第一盲签名参数和盲签名随机数;
注册中心查看密钥卡内存储的若干投票者的假身份信息的列表,验证投票者是否有进行投票的权利,用注册中心的私钥对盲化选票和盲签名随机数进行盲签名,并将包含用UK加密的盲签名、第一盲签名参数偏移量、公钥分量一偏移量和公钥分量二偏移量的响应信息,用UK计算消息认证码后发送给投票者。
9.根据权利要求8所述的一种基于秘密共享和基于身份密码学的抗量子计算投票方法,其特征在于,所述步骤C3中注册中心更新内部存储的第一盲签名参数和盲签名随机数过程包括:注册中心选取新盲签名随机数,根据新盲签名随机数和注册中心公钥更新和计算新第一盲签名参数,同时获得第一盲签名参数的偏移量,根据密钥卡内的ID密码学的参数、投票者的公钥随机数和密钥颁发中心的私钥计算公钥分量一偏移量和公钥分量二偏移量。
CN202010056773.7A 2020-01-17 2020-01-17 基于秘密共享和基于身份密码学的抗量子计算投票方法 Active CN111277403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010056773.7A CN111277403B (zh) 2020-01-17 2020-01-17 基于秘密共享和基于身份密码学的抗量子计算投票方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010056773.7A CN111277403B (zh) 2020-01-17 2020-01-17 基于秘密共享和基于身份密码学的抗量子计算投票方法

Publications (2)

Publication Number Publication Date
CN111277403A CN111277403A (zh) 2020-06-12
CN111277403B true CN111277403B (zh) 2023-04-14

Family

ID=71001716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010056773.7A Active CN111277403B (zh) 2020-01-17 2020-01-17 基于秘密共享和基于身份密码学的抗量子计算投票方法

Country Status (1)

Country Link
CN (1) CN111277403B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220319265A1 (en) * 2021-03-31 2022-10-06 Sony Group Corporation Computer program, non-transitory machine-readable medium, apparatus, and methods for electronic election
CN113395164B (zh) * 2021-04-22 2022-11-18 江苏大学 一种基于环签名和区块链的电子投票方法
CN113572620B (zh) * 2021-09-27 2021-12-24 中邮消费金融有限公司 一种基于区块链的线上表决方法和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108109257A (zh) * 2018-01-05 2018-06-01 杭州电子科技大学 一种基于区块链的匿名电子投票方法
CN109714165B (zh) * 2019-02-28 2021-12-07 矩阵元技术(深圳)有限公司 客户端各自生成密钥分量的密钥管理方法和电子设备
CN110232764B (zh) * 2019-05-16 2021-09-21 暨南大学 基于区块链的匿名电子投票方法及***

Also Published As

Publication number Publication date
CN111277403A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
Zhang et al. A privacy-preserving voting protocol on blockchain
Zhao et al. Secure pub-sub: Blockchain-based fair payment with reputation for reliable cyber physical systems
Lee et al. Electronic voting service using block-chain
EP4117228B1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
CN111277403B (zh) 基于秘密共享和基于身份密码学的抗量子计算投票方法
Joaquim et al. REVS–a robust electronic voting system
CN110830244B (zh) 基于身份秘密共享和联盟链的抗量子计算车联网方法及***
CN110690957B (zh) 抗量子计算私钥备份、挂失及恢复方法及***
CN111416705A (zh) 基于身份密码学的抗量子计算联盟链投票***和方法
Wei et al. Blockchain-based electronic voting protocol
Nguyen Thi et al. Enhanced security in internet voting protocol using blind signatures and dynamic ballots
CN110867012A (zh) 一种基于智能合约的去中心电子投票方法、装置、***及存储介质
CN114333137A (zh) 基于部分盲签名与区块链的匿名和抗胁迫电子投票***
Satizábal et al. Secure Internet Voting Protocol (SIVP): A secure option for electoral processes
Gao et al. Quantum election protocol based on quantum public key cryptosystem
Liu et al. A novel quantum voting scheme based on BB84-state
Chang et al. An anonymous voting mechanism based on the key exchange protocol
Geetha et al. A secure digital e-voting using blockchain technology
Grontas et al. Coercion resistance in a practical secret voting scheme for large scale elections
Zwierko et al. A light-weight e-voting system with distributed trust
KR100362603B1 (ko) 전자 투표 방법
CN110880969B (zh) 基于联盟链和隐式证书的qkd网络认证密钥生成方法及***
CN111224787B (zh) 一种基于秘密共享的抗量子计算投票***及方法
Saini et al. An Analytical study of E-voting System.
Cetinkaya et al. A practical privacy preserving e-voting protocol using dynamic ballots

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant