-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
316 lines (289 loc) · 10 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="./ui/common.css" />
<link rel="stylesheet" href="./ui/index.css" />
<link rel="icon" type="image/png" href="./ui/img/favicon.png" />
<title>CryptoPoll - Secure Crypto Voting</title>
<meta
name="title"
property="og:title"
content="CryptoPoll - Secure Crypto Voting"
/>
<meta
name="description"
property="og:description"
content="Secure and anonymous online crypto voting using modern cryptography. Open-source and zero-trust."
/>
<meta
name="image"
property="og:image"
content="https://cryptopoll.org/ui/img/people.png"
/>
<meta property="og:url" content="https://cryptopoll.org" />
<meta property="og:type" content="website" />
</head>
<html>
<body>
<script type="module" src="./ui/index.mjs"></script>
<div class="learn_more" id="learn_more">
<div class="learn_more_text" id="learn_more_text">More info</div>
<div class="learn_more_arrow"></div>
</div>
<div class="pages" id="pages">
<div class="page">
<div class="header_container">
<div class="header_info">
<img class="small_logo logo" src="./ui/img/logo.png" /> CRYPTOPOLL
</div>
</div>
<div class="welcome_container">
<div>
<h1>WELCOME TO CRYPTOPOLL</h1>
<h2>Secure and Anonymous Crypto Voting</h2>
<br />
<p>
This is the voting platform designed with modern cryptography to
ensure security and privacy for every vote.
</p>
</div>
<div>
<img class="big_logo logo" src="./ui/img/logo.png" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Overview</h1>
<p>Easy-to-use, digital polling in zero-trust environment.</p>
<p>
Thanks to cryptographic technology, you can trust that voting is
either completely fair and transparent, or that irrefutable
evidence of fraud is available.
</p>
</div>
<div>
<img
loading="lazy"
class="page_image"
src="./ui/img/howitworks.png"
/>
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>How to Use</h1>
<p>
First, the voting organizer creates a new poll through the web
interface.
</p>
<p>
The Poll Wizard will guide you through all necessary steps, such
as setting poll start and end dates and providing a list of
participants emails.
</p>
</div>
<div>
<img
loading="lazy"
class="page_image"
src="./ui/img/humansign.png"
/>
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Registration Phase</h1>
<p>
During this phase, each participant receives an email containing a
private registration link and a public observation link to monitor
the voting process.
</p>
<p>
By following the registration link, participants are directed to a
secure webpage where a cryptographic key pair, including a private
and public key, is generated. The public key is then sent to the
system.
</p>
<p>
Registration is confirmed once the public key is received and
listed on the observation page.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/people.png" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Voting Phase</h1>
<p>
During this phase, each participant returns to the secure webpage
(via the email link or from bookmarks), fills out their ballot,
and clicks the submit button.
</p>
<p>
Clicking the submit button performs an in-browser signature of the
ballot, ensuring that the private key never leaves the
participant's device. The signed document is then uploaded to the
system.
</p>
<p>
Due to the use of ring signatures, it is impossible to determine
who exactly signed the ballot, and double-voting is prevented.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/digits.png" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Final Counting</h1>
<p>
During this phase, the system stops accepting ballots. Every
observer has access to the same list of signed ballots.
</p>
<p>
The voting organizer then publishes the results, which can be
verified by every observer.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/list.png" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Want to try?</h1>
<p>
Ready to get started or have questions? Contact us at
<a href="mailto:[email protected]"
>
to discover how our platform can transform your voting experience.
</p>
<p>
You can also try signing or verifying arbitrary messages using the
buttons below.
</p>
<p class="navigate-buttons">
<a class="button" href="./sign.html">
<img src="./ui/img/signature-svgrepo-com.svg" />
SIGN
</a>
<a class="button" href="./verify.html">
<img src="./ui/img/document-tick-svgrepo-com.svg" />
VERIFY
</a>
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/city2.webp" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>FAQ</h1>
<p>
<strong
>I do not trust the voting authority or this system. Is it
secure?</strong
><br />
Yes, this platform operates in a fully zero-trust environment,
meaning you do not have to trust anyone. The system is
open-source, based on Monero's LSAG implementation, and provides a
public API for alternative clients.
</p>
<p>
<strong>How can I be sure that my vote is counted?</strong><br />
You can verify the results yourself. The system is fully
transparent and verifiable.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/faq.webp" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>FAQ</h1>
<p>
<strong>Can I vote multiple times?</strong><br />
No, the system is designed to prevent double-voting and ensure
that every vote is unique. This is achieved using ring signatures
and key images.
</p>
<p>
<strong
>My environment requires that intermediate results are hidden.
Is it possible?</strong
><br />
Yes, the voting organizer can add a temporary public key to
encrypt each ballot. Once voting is complete, the corresponding
temporary private key will be published to participants by voting
organizer, allowing every voter to decrypt and verify the results.
This also prevents this system from knowning voting outcomes.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/faq2.webp" />
</div>
</div>
</div>
<div class="page">
<div class="space_eater"></div>
<div class="welcome_container">
<div>
<h1>Links</h1>
<p>
Project source code is available on
<a href="https://github.com/roginvs/cryptopoll" target="_blank"
>github</a
>.
</p>
<p>
This project is based on "Linkable Spontaneous Anonymous Group
Signature for Ad Hoc Groups"
<a target="_blank" href="https://eprint.iacr.org/2004/027.pdf"
>paper</a
>.
</p>
<p>
LSAG implementation is taken from
<a target="_blank" href="https://www.getmonero.org/">Monero</a>
project which is a cryptocurrency with focus on security and
anonymity.
</p>
</div>
<div>
<img loading="lazy" class="page_image" src="./ui/img/city.png" />
</div>
</div>
</div>
</div>
</body>
</html>