WO2020173279A1 - 用于投票的系统、方法和装置 - Google Patents

用于投票的系统、方法和装置 Download PDF

Info

Publication number
WO2020173279A1
WO2020173279A1 PCT/CN2020/073791 CN2020073791W WO2020173279A1 WO 2020173279 A1 WO2020173279 A1 WO 2020173279A1 CN 2020073791 W CN2020073791 W CN 2020073791W WO 2020173279 A1 WO2020173279 A1 WO 2020173279A1
Authority
WO
WIPO (PCT)
Prior art keywords
voting
data
server
client device
user
Prior art date
Application number
PCT/CN2020/073791
Other languages
English (en)
French (fr)
Inventor
黄慧
张振宇
刘正
应鹏飞
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020173279A1 publication Critical patent/WO2020173279A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Definitions

  • voting refers to voting, and in particular to systems, methods, and devices for voting.
  • BACKGROUND [02]
  • electronic voting or research, hereinafter collectively referred to as "voting" based on computing devices has become more and more popular.
  • users input voting data or survey data through a computing device, and the voting data is transmitted to a server for statistics or aggregation to generate voting results.
  • the current electronic voting system may expose users' privacy, such as users' voting choices.
  • Some existing systems have already used anonymous voting mechanisms, but malicious users may still learn user privacy by accessing cookie data and user feature mining.
  • malicious users may also intercept and tamper with or forge user votes.
  • a system for voting includes: at least one client device, multiple intermediate servers, one or more reconstruction servers, and a summary server, where each client Device: presenting voting options to the user, receiving the user's selection of the voting options and generating voting data, using a secret sharing algorithm to convert the voting data into multiple data fragments, where the secret sharing algorithm makes it impossible to change from less than a threshold A number of data fragments reconstruct the voting data, and transmit the plurality of data fragments to a plurality of intermediate servers; the plurality of intermediate servers receive the data fragments from the at least one client device, where the data fragments are greater than or equal to The threshold number of data fragments is used to reconstruct the voting data; the one or more reconstruction servers, wherein the reconstruction server obtains a threshold number or more of data fragments from the plurality of intermediate servers And use the data shards to reconstruct the voting data; and the aggregation server receives and aggregates the reconstructed voting data from the one or more reconstruction servers to generate a summary result, and
  • displaying the summary result includes displaying the relationship between the voting data of the user and the statistical average of the voting data of multiple users.
  • the secret sharing algorithm is the Shamir threshold secret sharing algorithm.
  • one or more of the reconstruction servers are performed by the intermediate server.
  • the summary server is performed by one or more of the intermediate server or the reconstruction server.
  • each data segment is transmitted to only one intermediate server.
  • a method for voting including: presenting voting options to a user through a client device; receiving the user's selection of voting options through the client device to generate voting data;
  • the device uses a secret sharing algorithm to convert the voting data into multiple data fragments, where the secret sharing algorithm makes it impossible to reconstruct the voting data from data fragments that are less than a threshold number;
  • Data fragments are transmitted to multiple intermediate servers, wherein data fragments greater than or equal to the threshold number are used to reconstruct the voting data, and the reconstructed voting data from multiple client devices will be aggregated into Generating a summary result; and receiving and displaying the summary result through the client device.
  • a device in yet another aspect, includes a memory; a communication interface; and a processor, which is communicatively connected to the memory and the communication interface, and the processor operates to realize the Methods of each embodiment.
  • a computer-readable storage medium including computer-executable instructions stored thereon is also disclosed.
  • the processor executes the The method of each embodiment described.
  • the threshold data required to reconstruct the voting data can be set as needed, such as according to the required protection level, thereby making privacy protection more flexible.
  • the characteristics of the secret sharing algorithm make it difficult for malicious users to tamper or forge user votes, thereby enhancing the credibility of votes.
  • the characteristics of the secret sharing algorithm make it difficult for malicious users to tamper or forge user votes, thereby enhancing the credibility of votes.
  • FIG. 1 is a schematic diagram showing a system for voting according to an embodiment of the present specification.
  • FIG. 2 is a schematic diagram showing a system for voting according to another embodiment of the present specification.
  • FIG. 3 is a schematic diagram showing a system for voting according to another embodiment of the present specification.
  • FIG. 4 is a schematic diagram showing an example of a picture displayed to a user according to an embodiment of the present specification.
  • FIG. 5 is a flowchart showing a method for voting performed by a client device according to an embodiment of the present specification. detailed description
  • Secret sharing also known as secret sharing or secret sharing
  • secret sharing is a method where the dealer splits a secret into multiple shares (share) in a group of participants (also called secret sharing). It is the distribution mechanism among the "shareholders").
  • shares greater than or equal to a threshold number are used in combination Only the secret can be reconstructed; a single share or a share less than the threshold amount cannot be used to reconstruct the secret or information about the secret.
  • a typical secret sharing algorithm is the "Shamir Secret Sharing Algorithm", which usually uses a (p, t) threshold scheme. Specifically, the secret is “split" into p shares, and the secret can be reconstructed only when at least t (ie threshold) shares are used in combination (where p and t are both positive integers, JL p> t, usually p>t).
  • p and t are both positive integers, JL p> t, usually p>t.
  • FIG. 1 shows a schematic diagram of a system 100 for voting according to an embodiment of the present specification, which shows a situation of a client device.
  • the system 100 includes a client device 102 and a plurality of (for example, p) intermediate servers 104-1 to 104-p.
  • the client device 102 may act as a voting terminal in order to receive voting data from users.
  • a voting application may be installed on the client device 102, and the voting application presents voting options to the customer for the customer to choose from.
  • the voting application may be a browser or a dedicated voting application.
  • the voting may be anonymous voting.
  • the voting data does not include any user identification information.
  • the voting may be a non-anonymous voting.
  • the voting data may include user identification information, such as user ID, ID number, and so on.
  • the user may need to register and log in to vote, and the client device can obtain the user's identification information (such as the user's identity, user name, etc.) at this time.
  • user identification information can be included in the voting data for subsequent use.
  • voting described in this application may include multiple options for the user, and the user can select one or more voting options from the multiple options.
  • users can vote for a dinner time.
  • the client device 102 may present multiple meal times to the user as voting options for the user to choose from.
  • the user can select one or more voting options from the voting options.
  • the client device 102 can receive the user's selection of voting options through the voting application and generate voting data.
  • users can vote on multiple questions, for example, users can vote to choose a meal time and place.
  • the client device 102 may present to the user multiple gathering times as voting options in the first voting question for the user to choose from, and present multiple gathering places to the user as voting options in the second voting question. For users to choose from.
  • the user can select one or more voting options from the voting options for these two voting questions.
  • the client device 102 can receive the user's selection of voting options through the voting application and Generate voting data.
  • the client device 102 can present open questions to the user, and the user can input answers to these questions (for example, numeric input or text input).
  • the client device 102 may generate voting data based on the user's answer.
  • the voting may also take more unconventional forms.
  • likes, likes, or recommendations on social networking sites can also be regarded as a kind of voting.
  • a user may click on the up thumb icon under another user’s post on a social networking site service to express approval of the post, which can be regarded as an approval vote for the content of the post; and clicking down The thumb icon of can be regarded as a negative vote for the content of the post.
  • clicking the love icon below the post can be regarded as a user's vote for the content of the post, while not clicking the love icon can be regarded as the user abstaining or disapproving the content of the post.
  • Many similar voting methods can be conceived.
  • the client device 102 may use a secret sharing algorithm to process the voting data to convert the voting data into multiple data fragments.
  • the secret sharing algorithm makes it impossible The voting data is reconstructed from data fragments less than the threshold number.
  • the client device 102 can act as a dealer in a secret sharing algorithm, voting data can act as a secret, and data shards can act as a share, as described above.
  • various secret sharing algorithms can be used.
  • the Shamir threshold secret sharing algorithm can be used.
  • the Shamir secret sharing algorithm will be used as an example to describe the embodiments of this specification, but it should be understood that this specification is not limited to this.
  • the client device 102 may transmit the multiple data fragments to multiple intermediate servers.
  • the voting data is converted into p data fragments, and the p data fragments are transmitted to p intermediate servers 104-1 to 104-p, so that each data fragment is transmitted to one intermediate server Server, as shown in Figure 1.
  • the intermediate server cannot reconstruct the voting data.
  • the data shards there may be no correspondence between the data shards and the intermediate server.
  • multiple different data fragments can be transmitted to the same intermediate server.
  • one data segment can be transmitted to multiple intermediate servers.
  • the transmission method makes it impossible for the intermediate servers of less than a certain number (for example, the second threshold number) to reconstruct the voting data, thereby ensuring that the data of less than a certain number of intermediate servers is leaked In this case, the voting data still cannot be reconstructed, thereby protecting the privacy of customers.
  • the client device may encrypt the data fragment to obtain an encrypted data fragment.
  • the encryption can be performed using various encryption algorithms. Encrypting data fragments can further protect user privacy.
  • the intermediate server or the reconstruction server mentioned below can decrypt the encrypted data segment to obtain the decrypted data segment .
  • the number of data fragments greater than or equal to the threshold can be used to reconstruct voting data.
  • the reconstruction of voting data can be done in various ways.
  • the system 100 may include an independent reconstruction server 106, and the reconstruction server 106 may be different from the intermediate servers 104-1 to 104-p.
  • multiple intermediate servers for example, intermediate servers 104-1 to 104-t
  • the reconstruction server 106 can use the threshold number of data fragments to reconstruct voting data.
  • the system 100 may not include an independent reconstruction server 106, but one or more of the plurality of intermediate servers may act as a reconstruction server.
  • the intermediate server 104-1 may act as a reconstruction server.
  • other intermediate servers can send data fragments to the intermediate server (for example, the intermediate server 104-1) that acts as the reconstruction server.
  • a secret reconstruction algorithm can be used to reconstruct the voting data.
  • the intermediate server acting as the reconstruction server itself has stored data fragments, there is no need to transmit a threshold number of data fragments to the intermediate server acting as the reconstruction server, only the intermediate server acting as the reconstruction server.
  • the number of obtained data fragments (that is, the number of data fragments it receives from other intermediate servers plus the number of data fragments it itself receives from the client device) is greater than or equal to the threshold number.
  • the secret reconstruction algorithm can correspond to the secret sharing algorithm. The specific details of the secret reconstruction algorithm are well known in the art, and will not be described in detail here.
  • FIG. 3 shows a schematic diagram of a system 300 for voting according to another embodiment of the present specification, which shows a situation of multiple client devices used by multiple users.
  • the system 300 may include multiple (e.g., n) client devices 302-1 to 302-n and multiple (e.g., p) intermediate servers 304-1 to 304-p.
  • each of the client devices 302-1 to 302-n may operate as the client device 102 described with reference to FIGS. 1 and 2.
  • each of the client devices 302-1 to 302-n may present a voting option to the user, and receive the user's selection of the voting option to generate voting data of the corresponding user.
  • each of the client devices 302-1 to 302-n can convert the voting data of the corresponding user into data fragments.
  • all client devices 302-1 to 302-n may transmit their data fragments to the same set of intermediate servers 304-1 to 304-p.
  • different client devices 302-1 to 302-n may transmit their data fragments to different intermediate server groups, and these different intermediate server groups may overlap (for example, they may include one Or multiple identical intermediate servers) or no overlap.
  • multiple client devices may be located in different regions, and the client devices transmit their data fragments to the intermediate servers in their corresponding regions.
  • the multiple intermediate servers 304-1 to 304-p may transmit multiple data fragments corresponding to the same voting data to the reconstruction servers 306-1 to 306-m, so that the reconstruction server 306-1 By 306-m, the number of data fragments greater than or equal to the threshold can be used to reconstruct the corresponding voting data.
  • the system 300 may include one or more independent reconstruction servers 306-1 to 306-m.
  • voting data from different client devices can be reconstructed at the same or different reconstruction servers.
  • the voting data from the client devices 302-1 and 302-n may be reconstructed at the reconstruction server 306-1, and the voting data from the client device 302-2 may be reconstructed at the reconstruction server 306-m .
  • the system 300 may not include an independent reconstruction server, but one or more intermediate servers act as the reconstruction server. Of course, there may also be mixed situations. In this case, some reconstruction servers are independent reconstruction servers, and some reconstruction servers are performed by intermediate servers. [60] After the reconstruction servers 306-1 to 306-m are reconstructed to generate a plurality of voting data corresponding to the plurality of client devices 302-1 to 302-n, the plurality of voting data may be transmitted to The aggregation server 308 is for aggregation.
  • the system 300 may include an independent aggregation server 308.
  • the aggregation server 308 may obtain voting options of multiple users based on voting data from multiple client devices, and provide feedback to the multiple users Voting options are processed to generate summary results.
  • the aggregation server can aggregate the choices of multiple users for dinner time to obtain the final summary result. For example, the dinner time with the most votes can be selected as the final dinner time. time.
  • the system may not include a separate aggregation server.
  • the aggregation server may be composed of the plurality of intermediate servers 304-1 to 304-p or the one or more independent reconstruction servers 306-1 to 306-m (if Exists) one or more of them.
  • the summary result may be transmitted to the client device for display. It should be noted that usually only the summary results are transmitted to the client device, and the voting data of its own or other client devices are not transmitted to the client device. In this way, even if the summary result is intercepted, the interceptor cannot obtain the voting data from the client device from the summary data, thereby ensuring the privacy of the user.
  • only the statistical average of the voting data of multiple users may be displayed to the user.
  • the average value of the height of multiple users may be displayed to the user.
  • the client device can obtain the user's voting data from its own storage and compare it with the summary result in order to display the relationship.
  • the relationship between the user's voting data and the statistical average value can also be displayed to the user. For example, if the user's height is 1.8 meters, and the average height of multiple users is 1.7 meters, the user can be displayed: "Your height is 0.1 meters higher than the average”.
  • the content of the displayed summary result is only an example, and those skilled in the art can conceive other displayed content, which all fall within the protection scope of the present invention.
  • the summary results can also be presented in various ways.
  • the text of the summary result may be displayed to the user.
  • “Average height is 1.7 meters” and/or "Your height is 0.1 meters above average” can be displayed to the user.
  • a picture including summary results can be displayed to the user.
  • FIG. 4 it shows a picture displayed to the user according to the embodiment of this specification.
  • a picture may also be displayed along with the content to more intuitively present the statistical results to the user.
  • voice, animation, etc. can also be used to present the summary results to the user.
  • the client device can play the voice of "average height of 1.7 meters" to the user, or can present the user with an animation that can intuitively and dynamically express this result.
  • FIG. 2 and FIG. 3 the embodiment of this specification discloses a system.
  • the system may include one or more client devices and multiple intermediate servers.
  • the specific description of the one or more client devices may refer to the client device 102 described in FIG. 1 or FIG. 2 or the client device described in FIG. 3 Client devices 302-1 to 302-n.
  • Client devices 302-1 to 302-n For specific descriptions of the multiple intermediate servers, refer to the intermediate servers 104-1 to 104-p shown in FIG. 1 and FIG. 2 or refer to the intermediate servers 304-1 to 304-p shown in FIG.
  • the one or more client devices may present voting options to the user, receive the user's selection of the voting options and generate voting data, and use a secret sharing algorithm to convert the voting data into multiple data fragments, And transmitting the multiple data fragments to multiple intermediate servers.
  • the secret sharing algorithm makes it impossible to reconstruct the voting data from data fragments less than the threshold number.
  • the plurality of intermediate servers receive the data fragments from the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct the voting data.
  • the client device may present pictures, animations, text or voice to the user to inform the user of the working principle of the secret sharing algorithm.
  • the voting data may or may not include user identification information.
  • the secret sharing algorithm may be, for example, the Shamir threshold secret sharing algorithm.
  • the system may also include one or more reconstruction servers.
  • the reconstruction server may be performed by one or more of the plurality of intermediate servers.
  • the reconstruction server obtains data fragments greater than or equal to a threshold number from the plurality of intermediate servers and uses the data fragments to reconstruct the voting data.
  • the system may also include a summary server.
  • the summary server may be performed by one or more of the intermediate server or the reconstruction server.
  • the aggregation server refer to the aggregation server 306 described in FIG. 3.
  • the voting data from the plurality of client devices are aggregated after being reconstructed to generate aggregated results.
  • the summary result is transmitted by the summary server 306 to the corresponding client devices 302-1 to 302-n.
  • the summary server 306 usually the summary server 306 only transmits summary results, but does not transmit voting data related to the corresponding client device or other client devices, so as to further protect the privacy of the user.
  • the client device After receiving the summary result from the summary server 306, the client device can display the summary result. Refer to the above description for the specific method of displaying the summary results.
  • FIG. 5 a flowchart of a method 500 for voting according to an embodiment of the present specification is shown.
  • the method can be executed by referring to the client device 102 shown in FIG. 1 and FIG. 2 or by referring to the client devices 302-1 to 302-n shown in FIG. [84]
  • the method 500 may include: In step 502, voting options may be presented to the user through the client device.
  • the method 500 may include: Optionally, in step 501 before, during, or after step 502, the client device may present a picture, text, voice or animation to the user to inform the user of the secret sharing algorithm working principle. [86] The method 500 may include: In step 504, the user's selection of voting options may be received through the client device to generate voting data.
  • the method 500 may include: In step 506, a client device may use a secret sharing algorithm to convert the voting data into a plurality of data fragments, wherein the secret sharing algorithm makes it impossible to divide data from less than a threshold number. Reconstruct the voting data. [88] The method 500 may further include: in step 508, the plurality of data fragments may be transmitted to a plurality of intermediate servers through the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct the The voting data, where reconstructed voting data from multiple client devices will be aggregated to generate aggregate results.
  • the method 500 may further include: In step 510, the summary result may be received and displayed by the client device.
  • this application also discloses a device that includes a memory; a communication interface; and a processor, which is communicatively connected with the memory and the communication interface, and the processor operates to implement the various implementations described herein. Example method.
  • the present application also discloses a computer-readable storage medium including computer-executable instructions stored thereon.
  • the processor executes the instructions described herein.
  • the method of each embodiment. It can be understood that the methods according to the embodiments of this specification can be implemented by software, firmware or a combination thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种用于投票的系统,所述系统包括至少一个客户端设备、多个中间服务器、一个或多个重构服务器,每个客户端设备向用户呈现投票选项,接收用户对投票选项的选择并生成投票数据,使用秘密分享算法将投票数据转换为多个数据分片,以及将多个数据分片传送到多个中间服务器,其中秘密分享算法使得无法从小于阈值数量的数据分片重构投票数据。重构服务器从多个中间服务器获得大于等于阈值数量的数据分片并使用数据分片来重构投票数据。汇总服务器接收来自一个或多个重构服务器的经重构的投票数据并对其进行汇总以生成汇总结果,并将汇总结果传送给相应的客户端设备以供显示。本申请还公开了用于投票的方法和装置。

Description

用于投票的系统、 方法和装置 技术领域
[01] 本说明书的实施例涉及投票, 尤其涉及用于投票的系统、 方法和装置。 背景技术 [02] 目前, 基于计算设备的电子投票(或调研, 以下统称 “投票” ) 已经越来越普及。 在电子投票中, 用户通过计算设备输入投票数据或调研数据, 所述投票数据被传送至服 务器以供统计或汇总以生成投票结果。
[03] 然而, 目前的电子投票系统有可能暴露用户的隐私, 比如用户的投票选择。 一些 现有系统已经使用匿名投票机制, 但恶意用户通过访问 cookie数据、 用户特征挖掘等方 式, 仍然有可能获知用户隐私。 此外, 恶意用户还可能截获并篡改或伪造用户投票。
[04] 因此, 需要能够增加用户投票的私密性和可信度的投票系统、 方法和装置。 发明内容
[05] 为了进一步增加用户投票的私密性和可信度, 本说明书的实施例提供了改进的投 票系统、 方法和装置。 [06] 本说明书的实施例通过以下技术方案来实现其上述目的。
[07] 在一个方面中, 公开了一种用于投票的系统, 所述系统包括: 至少一个客户端设 备、 多个中间服务器、 一个或多个重构服务器以及汇总服务器, 其中每个客户端设备: 向用户呈现投票选项, 接收所述用户对投票选项的选择并生成投票数据, 使用秘密分享 算法将所述投票数据转换为多个数据分片, 其中所述秘密分享算法使得无法从小于阈值 数量的数据分片重构所述投票数据, 以及将所述多个数据分片传送到多个中间服务器; 所述多个中间服务器从所述至少一个客户端设备接收数据分片, 其中大于等于所述阈值 数量的数据分片被用来重构所述投票数据; 所述一个或多个重构服务器, 其中所述重构 服务器从所述多个中间服务器获得大于等于阈值数量的数据分片并使用所述数据分片 来重构所述投票数据; 并且所述汇总服务器接收来自所述一个或多个重构服务器的经重 构的投票数据并对其进行汇总以生成汇总结果, 并将所述汇总结果传送给相应的客户端 设名 '以供显 TF。 [08] 优选地, 显示所述汇总结果包括显示多个用户的投票数据的统计平均值。
[09] 优选地, 显示所述汇总结果包括显示所述用户的投票数据与多个用户的投票数据 的统计平均值的关系。
[10] 优选地, 所述秘密分享算法是 Shamir阈值秘密分享算法。 [11] 优选地, 所述重构服务器中的一个或多个由所述中间服务器担当。
[12] 优选地, 所述汇总服务器由所述中间服务器或所述重构服务器中的一个或多个担 当。
[13] 优选地, 每个数据分片仅被传送至一个中间服务器。
[14] 在另一个方面中, 公开了一种用于投票的方法, 包括: 通过客户端设备向用户呈 现投票选项; 通过客户端设备接收用户对投票选项的选择以生成投票数据; 通过客户端 设备使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述秘密分享算法使 得无法从小于阈值数量的数据分片重构所述投票数据; 以及通过客户端设备将所述多个 数据分片传送到多个中间服务器,其中大于等于所述阈值数量的数据分片被用于重构所 述投票数据, 其中来自多个客户端设备的经重构的投票数据将被汇总以生成汇总结果; 以及通过所述客户端设备接收并显示所述汇总结果。
[15] 在又一个方面中, 还公开了一种装置, 该装置包括存储器; 通信接口; 和处理器, 与所述存储器和通信接口通信地连接,所述处理器操作以实现本文所述的各实施例的方 法。
[16] 在再一个方面中, 还公开一种包括存储于其上的计算机可执行指令的计算机可读 存储介质, 所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各 实施例的方法。
[17] 与现有技术相比, 本说明书的实施例可具有如下有益效果:
[18] 在本说明书的一些实施例中, 由于需要阈值数量的数据分片才能重构投票数据, 所以即便一个或多个客户端设备或中间传输过程受到破坏, 恶意用户仍然无法重构投票 数据, 从而更好地保护了用户的隐私。 重构投票数据所需的阈值数据可按需设置, 诸如 根据所需要的保护等级来设置, 由此使得隐私保护更具灵活性。
[19] 在本说明书的一些实施例中, 秘密分享算法的特性使得恶意用户很难篡改或伪造 用户投票, 从而提升了投票的可信度。 [20] 当然, 实施本申请的任一技术方案无需同时达到所有上述技术效果。 附图说明
[21] 以上申请内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。 需 要说明的是, 附图仅作为所请求保护的发明的示例。 在附图中, 相同的附图标记代表相 同或类似的元素。
[22] 图 1是示出根据本说明书的实施例的用于投票的系统的示意图。
[23] 图 2是示出根据本说明书的另一实施例的用于投票的系统的示意图。
[24] 图 3是示出根据本说明书的另一实施例的用于投票的系统的示意图。
[25] 图 4是示出根据本说明书的实施例的向用户显示的图片的示例的示意图。 [26] 图 5是示出根据本说明书的实施例的由客户端设备执行的用于投票的方法的流程 图。 具体实施方式
[27] 以下在具体实施方式中详细叙述本说明书的实施例的详细特征以及优点, 其内容 足以使任何本领域技术人员了解本说明书的实施例的技术内容并据以实施,且根据本说 明书所揭露的说明书、 权利要求及附图, 本领域技术人员可轻易地理解本说明书的实施 例相关的目的及优点。
[28] 为了提升投票的私密性以及可信度, 本说明书的一些实施例提供了改进的投票方 法、 系统和计算机可读介质。 本说明书的方案将秘密分享应用于投票, 从而大幅降低了 进行投票的用户的隐私被泄露或投票数据被篡改 /伪造的可能性。 [29] 下面, 首先将对 “秘密分享” 进行筒单介绍。 然后参考附图, 分别介绍本说明书 所提出的投票系统及其组成部分, 从客户端设备视角的本说明书的用于投票的方法, 从 中间服务器视角的本说明书的用于投票的方法, 以及可用于实现本说明书的方法的计算 设备。 最后, 将筒要说明本说明书所提供的突出的技术效果。
[30] 秘密分享( “secret sharing”,又称为秘密分割或秘密共享)是一种由庄家( dealer) 将秘密( secret)拆分为多个份额( share)在一组参与者(又称为“份额持有者( shareholder)”) 中分发的机制。 通常, 通过秘密分享算法, 仅当大于等于阈值数量的份额被组合使用时 才能重构秘密; 单个份额或者小于阈值数量的份额则无法被用来重构秘密或关于秘密的 信息。
[31] 一种典型的秘密分享算法是 “Shamir秘密分享算法” , 这种算法通常采用(p, t)阈 值方案。 具体而言, 秘密被 “拆分” 为 p个份额, 仅当至少 t(即阈值) 个份额被组合 使用时才能够重构秘密 (其中 p和 t均为正整数, JL p > t, 通常 p>t) 。 秘密分享算法 的具体细节是本领域技术人员已知的, 在下文中将不对其进行详细描述。
[32] 参见附图 1, 其中示出了根据本说明书的实施例的用于投票的系统 100的示意图, 其示出了一个客户端设备的情形。 如图 1所示, 假设系统 100包括客户端设备 102和多 个 (例如 p个) 中间服务器 104-1到 104-p。 [33] 在实施例中, 客户端设备 102 可充当投票终端, 以便接收来自用户的投票数据。 在一些实施例中, 在客户端设备 102上可安装投票应用, 该投票应用向客户呈现投票选 项, 以供客户从中选择。 例如, 该投票应用可以是浏览器或专用投票应用。
[34] 用户可通过投票应用进行投票。 优选地, 该投票可以是匿名投票。 也就是说, 投 票数据中不包括任何用户标识信息。 [35] 替代地, 该投票可以是非匿名投票, 在此情况下, 投票数据中可包括用户标识信 息, 例如用户 ID、 身份证号等等。 例如, 在一些情况下, 用户可能需要注册并登录来 进行投票, 此时客户端设备可获得用户的标识信息 (例如用户的身份、 用户名等) 。 在 一些情况下, 可将用户标识信息包括在投票数据中, 以供随后使用。
[36] 需要指出的是, 本申请中所述的投票可包括, 其中可向用户提供多个选项, 用户 可从所述多个选项中选择一个或多个投票选项。
[37] 例如, 在一个投票示例中, 用户可投票选择聚餐时间。 此时, 客户端设备 102 可 向用户呈现多个聚餐时间作为投票选项以供用户从中选择。 用户可从所述投票选项中选 择一个或多个投票选项。 此时, 客户端设备 102可通过投票应用来接收用户对投票选项 的选择并生成投票数据。 [38] 在另一投票示例中, 用户可就多个问题进行投票, 例如用户可投票选择聚餐时间 和聚餐地点。 此时, 客户端设备 102可在第一个投票问题中向用户呈现多个聚餐时间作 为投票选项以供用户从中选择, 并在第二个投票问题中向用户呈现多个聚餐地点作为投 票选项以供用户从中选择。 用户可针对这两个投票问题从所述投票选项中选择一个或多 个投票选项。 同样地, 客户端设备 102可通过投票应用来接收用户对投票选项的选择并 生成投票数据。
[39] 显然, 可存在多种其它投票或调研形式。 例如, 客户端设备 102 可向用户呈现开 放式问题, 且用户可输入对这些问题的回答(例如数字输入或文本输入) 。 客户端设备 102可基于用户的回答生成投票数据。 [40] 所述投票还可采用更不传统的形式。 例如, 在社交网站上的点赞、 喜欢或者推荐 等也可被视为一种投票。 例如, 用户可能在社交网站服务上点击其它用户的帖子下面的 向上的大拇指图标, 从而表达对该帖子的赞成, 这可被视为等同于对该帖子的内容的赞 成票; 而点击向下的大拇指图标可被视为对该帖子的内容的反对票。 类似地, 点击帖子 下面的爱心图标可被视为用户对该帖子的内容投赞成票, 而不点击爱心图标可被视为用 户对该帖子的内容投弃权票或反对票。 可构想多种类似的投票方式。
[41] 客户端设备 102 在接收到来自用户的投票数据之后, 可以采用秘密分享算法来对 投票数据进行处理, 以将所述投票数据转换为多个数据分片, 所述秘密分享算法使得无 法从小于阈值数量的数据分片重构所述投票数据。 例如, 客户端设备 102可充当秘密分 享算法中的庄家, 投票数据可充当秘密, 而数据分片则可充当份额, 如上面所介绍的。 [42] 在本说明书的实施例中, 可采用各种秘密分享算法。 优选地, 可采用 Shamir阈值 秘密分享算法。在以下描述中将以 Shamir秘密分享算法为例来描述本说明书的实施例, 但应理解, 本说明书不限于此。
[43] 优选地, 客户端设备 102 可将所述多个数据分片传送到多个中间服务器。 例如, 优选地, 投票数据被转换为 p个数据分片, 且所述 p个数据分片被传送到 p个中间服务 器 104-1到 104-p, 从而每个数据分片被传送到一个中间服务器, 如图 1中所示。 此时, 少于阈值数量 (例如 t个) 中间服务器无法重构投票数据。
[44] 在另一些实施例中, 数据分片和中间服务器可不存在—对应关系。 例如, 多个 不同的数据分片可被传送到同一中间服务器。 又例如, 一个数据分片可被传送到多个中 间服务器。 通常, 无论采用何种传送方式, 优选地所述传送方式使得小于一定数量 (例 如第二阈值数量)的中间服务器无法重构投票数据, 从而保证在少于一定数量的中间服 务器的数据被泄露的情况下, 投票数据仍旧无法被重构, 从而保护了客户的隐私。
[45] 优选地, 客户端设备在传送所述数据分片之前, 可对所述数据分片进行加密, 以 得到经加密的数据分片。 所述加密可采用各种加密算法进行。 对数据分片进行加密能够 进一步保护用户的隐私。 [46] 优选地, 当所述数据分片被客户端设备加密时, 中间服务器(或者下面提及的重 构服务器)可对经加密的数据分片进行解密, 以得到经解密的数据分片。
[47] 在数据分片被中间服务器接收之后, 大于等于阈值数量的数据分片可被用于重构 投票数据。 [48] 对投票数据的重构可采用各种方式进行。
[49] 在一些实施例中, 如图 2所示, 系统 100可包括独立的重构服务器 106, 所述重构 服务器 106可以不同于中间服务器 104-1到 104-p。 在此情况下, 多个中间服务器(例 如中间服务器 104-1 到 104-t)可向所述重构服务器传送数据分片。 当重构服务器 106 接收到大于等于阈值数量的数据分片时,重构服务器 106就能够使用该大于等于阈值数 量的数据分片来重构投票数据。
[50] 在另一些实施例中, 系统 100可不包括独立的重构服务器 106, 而是所述多个中间 服务器中的一个或多个可担当重构服务器。例如,中间服务器 104-1可担当重构服务器。 此时, 其它中间服务器可向担当重构服务器的中间服务器(例如中间服务器 104-1)传 送数据分片。 在担当重构服务器的中间服务器获得足够数量(大于等于阈值数量)的数 据分片之后, 就可采用秘密重构算法来重构投票数据。 可以领会, 在担当重构服务器的 中间服务器本身已存储了数据分片的情况下,无需向担当重构服务器的中间服务器传送 阈值数量的数据分片, 只需该担当重构服务器的中间服务器所获得的数据分片的数量 (即其从其它中间服务器接收的数据分片的数量加上其本身从客户端设备接收的数据 分片的数量) 大于等于阈值数量即可。 [51] 通常, 秘密重构算法可与秘密分享算法相对应。 秘密重构算法的具体细节是本领 域公知的, 在此将不对其进行详细描述。
[52] 以上示例显示了单个客户端设备的情况。 在实践中, 投票或调研通常针对多个用 户进行。
[53] 参见图 3,其中示出了根据本说明书的另一实施例的用于投票的系统 300的示意图, 其示出了由多个用户使用的多个客户端设备的情形。 例如, 系统 300可包括多个(例如 n个)客户端设备 302-1到 302-n和多个(例如 p个) 中间服务器 304-1到 304-p。
[54] 在这样的情况下,客户端设备 302-1到 302-n中的每一个都可如参考图 1和 2所描 述的客户端设备 102—样操作。 例如, 客户端设备 302-1到 302-n中的每一个都可向用 户呈现投票选项, 接收用户对投票选项的选择以生成相应用户的投票数据。 [55] 如同参考客户端设备 102所描述的,客户端设备 302-1到 302-n中的每一者可将相 应用户的投票数据转换为数据分片。
[56] 在图 3的示例中, 在一些实施例中, 所有客户端设备 302-1到 302-n可将其数据分 片传送给相同的一组中间服务器 304-1到 304-p。 但应当领会, 在另一些实施例中, 不 同客户端设备 302- 1到 302-n可将其数据分片传送给不同的中间服务器组, 这些不同的 中间服务器组可能有重叠 (例如可包括一个或多个相同的中间服务器)或者没有重叠。 例如, 多个客户端设备可位于不同区域, 而客户端设备将其数据分片传送给其对应区域 的中间服务器。
[57] 多个中间服务器 304-1到 304-p可将与同一投票数据相对应的多个数据分片传送给 重构服务器 306-1到 306-m, 从而所述重构服务器 306-1到 306-m能够使用所述大于等 于阈值数量的数据分片来重构相对应的投票数据。
[58] 在一些实施例中, 与上面参考图 2所描述的类似地, 系统 300可包括一个或多个 独立的重构服务器 306-1到 306-m。 例如, 在多个重构服务器的情况下, 来自不同客户 端设备的投票数据可在相同或不同重构服务器处重构。 例如, 来自客户端设备 302-1和 302-n的投票数据可在重构服务器 306-1处重构,而来自客户端设备 302-2的投票数据可 在重构服务器 306-m处重构。
[59] 替代地,与上面参考图 1所描述的类似地, 系统 300可不包括独立的重构服务器, 而是由一个或多个中间服务器担当重构服务器。当然,也可存在混合情况,在此情况下, 有些重构服务器为独立的重构服务器, 而有些重构服务器由中间服务器担当。 [60] 重构服务器 306-1到 306-m在重构以生成与该多个客户端设备 302-1到 302-n相对 应的多个投票数据之后, 可将该多个投票数据传送至汇总服务器 308以供汇总。
[61] 如图 3所示, 系统 300可包括独立的汇总服务器 308 , 该汇总服务器 308可以根据 来自多个客户端设备的投票数据获得多个用户的投票选项, 并对所述多个用户的投票选 项进行处理, 以生成汇总结果。 [62] 例如, 在上面描述的针对聚餐时间投票的示例中, 汇总服务器可汇总多个用户对 聚餐时间的选择, 从而获得最终的汇总结果, 例如可选择投票最多的聚餐时间作为最终 确定的聚餐时间。
[63] 替代地, 系统可不包括独立的汇总服务器。 此时, 汇总服务器例如可以由所述多 个中间服务器 304-1到 304-p或所述一个或多个独立重构服务器 306-1到 306-m(如果 存在) 中的一个或多个来担当。
[64] 在各实施例中, 汇总结果可被传送给客户端设备以供显示。 应当注意, 通常仅向 客户端设备传送汇总结果, 而不向客户端设备传送其本身的投票数据或其它客户端设备 的投票数据。 通过这种方式, 即便该汇总结果被拦截, 拦截者也无法从汇总数据中得到 来自客户端设备的投票数据, 从而确保了用户的隐私。
[65] 在一个示例中, 可向用户仅显示多个用户的投票数据的统计平均值。 例如, 在对 身高进行调研的情况下, 可向用户显示多个用户的身高的平均值。
[66] 在另一个示例中, 可向用户仅显示多个用户的投票数据的其它统计量。 例如, 在 对就餐时间进行投票的情况下, 可向用户显示被最多用户选择的投票时间。 [67] 在又一示例中, 可向用户显示用户的投票数据与汇总结果的关系。 此时, 客户端 设备可从其本身的存储中获得该用户的投票数据, 并与汇总结果进行比较, 以便显示该 关系。 例如, 在向用户显示统计平均值的情况下, 还可向用户显示用户的投票数据与该 统计平均值的关系。 例如,假设用户的身高为 1.8米, 而多个用户的身高的平均值为 1.7 米, 则可向用户显示: “您的身高高于平均值 0.1米” 。 [68] 应当理解, 所述显示的汇总结果的内容仅仅是示例, 本领域技术人员可以构想其 它显示内容, 其均落入本发明的保护范围。
[69] 所述汇总结果的呈现也可采取各种方式。 在一个示例中, 可向用户显示汇总结果 的文字。 例如, 如上所提及的, 可向用户显示 “平均身高为 1.7米” 和 /或 “您的身高高 于平均值 0.1米” 。 [70] 在另一个示例中, 可向用户显示包括汇总结果的图片。 例如, 如附图 4 所示, 其 示出了才艮据本说明书的实施例的向用户显示的图片。 在该图片中, 除了显示与上面所述 的类似的内容外, 还可伴随该内容显示图片, 以更直观地向用户呈现统计结果。
[71] 在又一示例中, 还可采用语音、 动画等方式向用户呈现汇总结果。 例如, 客户端 设备可向用户播放 “平均身高为 1.7米” 的语音, 或者可向用户呈现能直观且动态地表 现这一结果的动画。
[72] 如同上面参考图 1、 图 2和图 3所描述的, 本说明书的实施例公开了一种系统。
[73] 所述系统可包括一个或多个客户端设备和多个中间服务器。 所述一个或多个客户 端设备的具体描述可参考图 1或图 2所描述的客户端设备 102或者参考图 3所描述的客 户端设备 302-1到 302-n。 所述多个中间服务器的具体描述可参考图 1、 图 2所示的中间 服务器 104-1到 104-p或参考图 3所示的中间服务器 304-1到 304-p。
[74] 所述一个或多个客户端设备可向用户呈现投票选项, 接收所述用户对投票选项的 选择并生成投票数据, 使用秘密分享算法将所述投票数据转换为多个数据分片, 以及将 所述多个数据分片传送到多个中间服务器。所述秘密分享算法使得无法从小于阈值数量 的数据分片重构所述投票数据。
[75] 所述多个中间服务器从所述客户端设备接收所述数据分片, 其中大于等于所述阈 值数量的数据分片被用来重构所述投票数据。
[76] 在向用户呈现投票选项之前、 期间或之后, 可由客户端设备向用户呈现图片、 动 画、 文字或语音等以向所述用户告知秘密分享算法的工作原理。
[77] 所述投票数据可包括或不包括用户标识信息。
[78] 所述秘密分享算法例如可以是 Shamir阈值秘密分享算法。
[79] 所述系统还可包括一个或多个重构服务器。 所述重构服务器可以是由所述多个中 间服务器中的一个或多个担当的。所述重构服务器的具体描述可参考图 2所描述的重构 服务器 106或图 3所描述的重构服务器 306。 所述重构服务器从所述多个中间服务器获 得大于等于阈值数量的数据分片并使用所述数据分片来重构所述投票数据。
[80] 所述系统还可包括汇总服务器。 所述汇总服务器可以是由所述中间服务器或所述 重构服务器中的一个或多个担当的。所述汇总服务器的具体描述可参考图 3所描述的汇 总服务器 306。 来自所述多个客户端设备的投票数据在被重构之后被汇总以便生成汇总 结果。
[81] 汇总结果由汇总服务器 306传送给相应的客户端设备 302-1到 302-n。 如上所提及 的, 通常汇总服务器 306仅传送汇总结果, 而不传送与相应客户端设备或其它客户端设 备相关的投票数据, 以便进一步保护用户的隐私。
[82] 客户端设备在接收到来自汇总服务器 306 的汇总结果之后, 可显示汇总结果。 显 示汇总结果的具体方式可参考上面的描述。
[83] 参考图 5 , 其中示出了根据本说明书的实施例的用于投票的方法 500的流程图。 例 如, 所述方法可由参考图 1、 图 2所示的客户端设备 102或参考图 3所示的客户端设备 302-1到 302-n执行。 [84] 方法 500可包括: 在步骤 502, 可通过客户端设备向用户呈现投票选项。
[85] 方法 500可包括: 可选地, 在步骤 502之前、 期间或之后的步骤 501, 可由所述客 户端设备向用户呈现图片、 文字、 语音或动画以向所述用户告知秘密分享算法的工作原 理。 [86] 方法 500可包括: 在步骤 504, 可通过客户端设备接收用户对投票选项的选择以生 成投票数据。
[87] 方法 500可包括: 在步骤 506, 可通过客户端设备使用秘密分享算法将所述投票数 据转换为多个数据分片,其中所述秘密分享算法使得无法从小于阈值数量的数据分片重 构所述投票数据。 [88] 方法 500还可包括: 在步骤 508 , 可通过客户端设备将所述多个数据分片传送到多 个中间服务器, 其中大于等于所述阈值数量的数据分片被用于重构所述投票数据, 其中 来自多个客户端设备的经重构的投票数据将被汇总以生成汇总结果。
[89] 方法 500还可包括: 在步骤 510, 可通过客户端设备接收并显示汇总结果。
[90] 对方法的各步骤的具体实现的描述可参考前文。 [91] 此外, 本申请还公开了一种装置, 该装置包括存储器; 通信接口; 和处理器, 与 所述存储器和通信接口通信地连接, 所述处理器操作以实现本文所述的各实施例的方法。
[92] 而且, 本申请还公开了一种包括存储于其上的计算机可执行指令的计算机可读存 储介质, 所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实 施例的方法。 [93] 可以理解, 根据本说明书的各实施例的方法可以用软件、 固件或其组合来实现。
[94] 应该理解, 所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。 基于 设计偏好, 应该理解, 可以重新编排这些方法中各步骤的具体次序或阶层。 所附方法权 利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶 层, 除非在本文中有特别叙述。 [95] 应该理解, 本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元 件的数量限于一个。 此外, 本文中被描述或示出为分开的模块或元件可被组合为单个模 块或元件, 且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
[96] 还应理解, 本文采用的术语和表述方式只是用于描述, 本说明书的实施例并不应 局限于这些术语和表述。 使用这些术语和表述并不意味着排除任何示意和描述(或其中 部分)的等效特征, 应认识到可能存在的各种修改也应包含在权利要求范围内。 其他修 改、 变化和替换也可能存在。 相应的, 权利要求应视为覆盖所有这些等效物。
[97] 同样, 需要指出的是, 虽然本发明已参照当前的具体实施例来描述, 但是本技术 领域中的普通技术人员应当认识到, 以上的实施例仅是用来说明本发明, 在没有脱离本 发明精神的情况下还可做出各种等效的变化或替换, 因此, 只要在本发明的实质精神范 围内对上述实施例的变化、 变型都将落在本申请的权利要求书的范围内。

Claims

权利要求书
1. 一种用于投票的系统, 包括:
至少一个客户端设备, 每个客户端设备:
向用户呈现投票选项,
接收所述用户对投票选项的选择并生成投票数据,
使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述秘密分享算法使 得无法从小于阈值数量的数据分片重构所述投票数据, 以及
将所述多个数据分片传送到多个中间服务器;
多个中间服务器,其中所述多个中间服务器从所述至少一个客户端设备接收数据分 片, 其中大于等于所述阈值数量的数据分片被用来重构所述投票数据;
一个或多个重构服务器,其中所述重构服务器从所述多个中间服务器获得大于等于 阈值数量的数据分片并使用所述数据分片来重构所述投票数据; 以及
汇总服务器, 所述汇总服务器接收来自所述一个或多个重构服务器的经重构的投票 数据并对其进行汇总以生成汇总结果, 并将所述汇总结果传送给相应的客户端设备以供 显示。
2. 如权利要求 1所述的系统,其特征在于,显示所述汇总结果包括显示多个用户的 投票数据的统计平均值。
3. 如权利要求 1所述的系统,其特征在于,显示所述汇总结果包括显示所述用户的 投票数据与多个用户的投票数据的统计平均值的关系。
4. 如权利要求 1所述的系统, 其特征在于, 所述秘密分享算法是 Shamir阈值秘密 分享算法。
5. 如权利要求 1所述的系统,其特征在于,所述重构服务器中的一个或多个由所述 中间服务器担当。
6. 如权利要求 1所述的系统,其特征在于,所述汇总服务器由所述中间服务器或所 述重构服务器中的一个或多个担当。
7. 如权利要求 1所述的系统,其特征在于,每个数据分片仅被传送至一个中间服务 器。
8. 一种用于投票的方法, 包括:
通过客户端设备向用户呈现投票选项;
通过客户端设备接收用户对投票选项的选择以生成投票数据;
通过客户端设备使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述 秘密分享算法使得无法从小于阈值数量的数据分片重构所述投票数据;
通过客户端设备将所述多个数据分片传送到多个中间服务器,其中大于等于所述阈 值数量的数据分片被用于重构所述投票数据,其中来自多个客户端设备的经重构的投票 数据将被汇总以生成汇总结果; 以及
通过所述客户端设备接收并显示所述汇总结果。
9. 如权利要求 8所述的方法,其特征在于,显示所述汇总结果包括仅显示统计平均 值。
10. 如权利要求 8所述的方法, 其特征在于, 显示所述汇总结果包括显示所述用户 的投票数据与多个用户的投票数据的统计平均值的关系。
11. 如权利要求 8所述的方法, 其特征在于, 所述秘密分享算法是 Shamir阈值秘密 分享算法。
12. 如权利要求 8所述的方法, 其特征在于, 将每个数据分片传送至仅一个中间服 务器。
13. 如权利要求 8所述的方法, 其特征在于, 所述重构由独立的重构服务器执行或 由中间服务器执行。
14. 如权利要求 8所述的方法, 其特征在于, 所述汇总由独立的汇总服务器执行、 由中间服务器执行或由用于重构投票数据的重构服务器执行。
15. 一种用于投票的装置, 包括:
存储器;
通信接口; 以及
连接到所述存储器和通信接口的处理器,所述处理器被配置为执行如权利要求 8-14 中任一项所述的方法。
16. 一种存储指令的计算机可读存储介质, 所述指令当被计算机执行时, 使所述计 算机执行如权利要求 8-14中任一项所述的方法。
PCT/CN2020/073791 2019-02-28 2020-01-22 用于投票的系统、方法和装置 WO2020173279A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910151336.0 2019-02-28
CN201910151336.0A CN110035057A (zh) 2019-02-28 2019-02-28 用于投票的系统、方法和装置

Publications (1)

Publication Number Publication Date
WO2020173279A1 true WO2020173279A1 (zh) 2020-09-03

Family

ID=67234969

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/073791 WO2020173279A1 (zh) 2019-02-28 2020-01-22 用于投票的系统、方法和装置

Country Status (3)

Country Link
CN (1) CN110035057A (zh)
TW (1) TWI743563B (zh)
WO (1) WO2020173279A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945125A (zh) * 2010-08-30 2011-01-12 北京邮电大学 一种文件传输的方法和装置
US20120290556A1 (en) * 2011-05-11 2012-11-15 Jesus Acosta-Cazaubon Anonymous referendum system and method
CN103414682A (zh) * 2013-04-07 2013-11-27 深圳大学 一种数据的云端存储方法及系统
CN106330668A (zh) * 2015-07-02 2017-01-11 天脉聚源(北京)科技有限公司 一种微信投票实现方法及系统
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554607B2 (en) * 2001-03-13 2013-10-08 Science Applications International Corporation Method and system for securing network-based electronic voting
WO2003060837A1 (en) * 2001-12-31 2003-07-24 Voting Technologies International, Llc Computerized electronic voting system
ES2620962T3 (es) * 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
CN102629396B (zh) * 2012-04-09 2014-04-02 中科院成都信息技术股份有限公司 含另选人的电子选票信息加密及快速处理方法
CN102664731B (zh) * 2012-04-09 2014-06-25 中科院成都信息技术股份有限公司 电子选票信息的加密及快速处理方法
CN103955984B (zh) * 2014-03-24 2017-11-07 广州华多网络科技有限公司 实现互联网投票的方法、服务器、投票处理节点及系统
CN104935565B (zh) * 2015-04-15 2018-03-20 浙江师范大学 用于网络投票系统的选票处理系统、方法以及装置
CN106296956A (zh) * 2015-06-11 2017-01-04 镇江为天下信息服务有限公司 一种面向分布式网络投票的安全保障方法
TWI591563B (zh) * 2016-07-29 2017-07-11 臺灣集中保管結算所股份有限公司 一種自動跨平台以執行股東投票之方法及系統
CN106373251A (zh) * 2016-08-30 2017-02-01 中科院成都信息技术股份有限公司 一种基于秘密分享的电子选票计票方法
TW201818303A (zh) * 2016-11-03 2018-05-16 鴻達積股份有限公司 行動裝置投票系統
CN108768607B (zh) * 2018-05-14 2021-10-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的投票方法、装置、设备及介质
CN108809624A (zh) * 2018-07-18 2018-11-13 杭州安恒信息技术股份有限公司 一种电子选举方法、系统、设备及计算机可读存储介质
CN109120398B (zh) * 2018-08-03 2021-07-27 河南师范大学 一种基于区块链系统的秘密共享方法与装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945125A (zh) * 2010-08-30 2011-01-12 北京邮电大学 一种文件传输的方法和装置
US20120290556A1 (en) * 2011-05-11 2012-11-15 Jesus Acosta-Cazaubon Anonymous referendum system and method
CN103414682A (zh) * 2013-04-07 2013-11-27 深圳大学 一种数据的云端存储方法及系统
CN106330668A (zh) * 2015-07-02 2017-01-11 天脉聚源(北京)科技有限公司 一种微信投票实现方法及系统
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置

Also Published As

Publication number Publication date
CN110035057A (zh) 2019-07-19
TW202040379A (zh) 2020-11-01
TWI743563B (zh) 2021-10-21

Similar Documents

Publication Publication Date Title
US11128466B2 (en) Zero-knowledge environment based social networking engine
US11399079B2 (en) Zero-knowledge environment based networking engine
US11206132B2 (en) Multiparty secure computing method, device, and electronic device
EP3811560B1 (en) Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
US20210281402A1 (en) Multi-party security computing method and apparatus, and electronic device
TWI720614B (zh) 用於投票的系統、方法和裝置
WO2022247576A1 (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
Beato et al. Scramble! your social network data
EP3408965B1 (en) Systems and methods for establishing a link between identifiers without disclosing specific identifying information
US8379857B1 (en) Secure key distribution for private communication in an unsecured communication channel
US10037544B2 (en) Technologies for collecting advertising statistics in a privacy sensitive manner
JP2022526058A (ja) プライバシーを保護するための方法
WO2020173279A1 (zh) 用于投票的系统、方法和装置
KR20210102291A (ko) 암호화된 네트워크 값 집계
KR20210107750A (ko) 다중 집계 서버를 사용하여 데이터 조작 방지
CN118077170A (zh) 使用多方计算和可信执行环境进行安全计算
CN114465734B (zh) 投资者认证方法及存储介质
Bai User Perceptions of and Attitudes toward Encrypted Communication
CN116112167B (zh) 密钥管理系统、方法及装置
US20210327002A1 (en) Distributed ledger based mass balancing via secret sharing
Sandholm et al. --SPoKE: Secure Polling and Knowledge Exchange
CN114580002A (zh) 数据处理方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20762682

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20762682

Country of ref document: EP

Kind code of ref document: A1