Thực ra, bỏ phiếu trực tuyến khá phức tạp.
Nếu bạn muốn tiếp cận khắc nghiệt nhất đối với an toàn bầu cử, bạn có thể cần phải xem xét một cái gì đó như thế này:
https://docs.google.com/document/d/1SPYFAkVNjqDP4HOt_A_YGFZy-SFXVxHoN1hpLGNFKXI/pub
Nó là một thuật toán phân phối các bí mật cuộc bình chọn giữa các máy chủ n riêng biệt mà mỗi không thể phá vỡ bỏ phiếu ẩn danh của mình. Tất cả các máy chủ n sẽ phải hợp tác để phá vỡ tính ẩn danh, và nếu chỉ một trong các máy chủ bao gồm các bài hát của nó sẽ xóa tất cả dữ liệu mật mã, bí mật bỏ phiếu sẽ bị mất/ẩn vĩnh viễn.
Hệ thống cũng có thể đối phó với tái gửi phiếu, với một số hạn chế cố hữu đối với bất kỳ hệ thống an toàn cho bình chọn trực tuyến:
Đối với an ninh bình chọn trực tuyến luôn có một giới hạn cuối cùng ở chỗ nó là dễ bị phân tích lưu lượng . Ví dụ, nếu một ngày chỉ có một người bình chọn, có thể kết luận rằng bất kỳ cập nhật nào của kết quả biểu quyết đều là kết quả của việc bỏ phiếu của những người đó.
Hệ thống bỏ phiếu trực tuyến an toàn hoàn hảo sẽ được xem là bộ trộn phiếu bầu một lần. Phải mất một số phiếu bầu. Buffers chúng, và khi cuộc bỏ phiếu cuối cùng đã đóng, nó trộn tất cả chúng trong một lần. Điều này làm cho nó rất khó khăn để kết hợp một cuộc bỏ phiếu với một cử tri. Điều này có thể đạt được với công nghệ khá vững chắc.
Tuy nhiên, khi chúng tôi muốn cập nhật phiếu bầu, mọi thứ trở nên phức tạp hơn nhiều. Sẽ có một nhu cầu nội tại để đồng bộ hóa nếu chúng ta muốn tránh khả năng phân tích lưu lượng truy cập. Lý tưởng nhất là tất cả các cử tri sẽ phải gửi lại một bản cập nhật thường xuyên (ngay cả khi cập nhật của họ thực sự không phải là một bản cập nhật).
Đây có phải là hệ thống phân tán không? Bởi vì nếu bạn có một bên đáng tin cậy (chẳng hạn như trang web bạn chạy), điều này là tầm thường để triển khai. Bạn cần phải xác định các thông số của hệ thống của bạn tốt hơn. –
Câu hỏi này có lẽ phù hợp hơn với [mật mã stackexchange] (http://crypto.stackexchange.com/). – Wyzard