Beruflich Dokumente
Kultur Dokumente
9 September 2013
ISSN 2079-8407
Eliver Prez Villegas, 2 Gina Gallegos-Garca, 3 Gualberto Aguilar Torres, 4 Hctor Flores Gutirrez
1, 4
ABSTRACT
The evolution of Information Technology (IT) has made possible the development of Electronic Voting Systems and nowadays
with the wide-spread of mobile devices, the implementation of Mobile Electronic Voting Systems has been possible. This
paper presents the implementation of an Electronic Voting System in mobile phones with Android Operating System. To
guarantee the security of data transferred through insecure channels, a mix of symmetric and asymmetric primitives is used
alongside with hash functions. The results show that the system can be used as a feasible tool to carry small scale elections
since the performance results show acceptable times within a mobile environment.
Keywords: Android, cryptography, electronic voting systems, performance, stages.
1. INTRODUCTION
Since some years ago, different methods, such as
the secret ballot method or the punch card systems have
been held to carry on electoral processes, proving effective
ways of casting votes. Since then and thanks to the fast
evolution of Information Technology, electronic voting
systems have emerged, which allow a voter to be part of an
automated process that can only be possible through
Electronic Voting Systems.
There are two kinds of electronic voting systems
[1]: local and remote. The local electronic voting system
identifies a voter authorizing him the use of a machine in a
specific place. On the other hand, the remote electronic
voting system does not need for a voter to be in a specific
place as he can be in any public place where there is a
network connection e.g. Internet.
Both of these systems are used around the world,
where a variety of electoral processes take place. Among
these kinds of electoral processes can be found the election
of a principal, sub-principal, career leader and group leader,
in which is possible there exist several problems that delay
all the electoral process such as: a voter not being able to be
in a specific place to cast a vote or capturing more votes
than voters which do not allow issuing reliable results.
728
ISSN 2079-8407
2. BACKGROUND
Electronic voting systems have been used since the
1960s, with the introduction in the market of punch card
systems, followed much later by optical scanning systems,
the direct-recording electronic (DRE) voting machine and
the Internet [4].
Register:
Is in charge of storing and providing access data
for each participant, which after this stage can be either a
voter or a candidate. Access data include a username and a
password that is needed during the Authentication Stage to
access the Voting Stage. An Administrative Authority is
responsible for the correct functionality of this stage.
Authentication:
In this stage data introduced by a voter are
manipulated in order to get access to the voting stage, if and
only if they are verified. The Authentication Authority runs
under the Android Environment.
Voting:
The voter cast the vote of its elections and the
Voting Authority encrypts the vote and sends it to the
Counting Authority. This stage is accessed after the
Authentication stage validates the voter.
Counting:
In this stage the tally of all valid votes that were
cast at the Voting stage is gotten. As in the Register stage,
an Administrative Authority is responsible for the correct
functionality of this stage, although, the Administrative
Authority is limited and is not able to modify any content.
3. PROPOSED SYSTEM
The proposed electronic voting system defines four
stages called: Register, Authentication, Voting and
Counting. All of them are based on the Client-Server model
and are illustrated in Figure 1:
Fig 1: Proposed Systems Scheme
729
ISSN 2079-8407
730
ISSN 2079-8407
731
ISSN 2079-8407
4. IMPLEMENTATION
The complete functionality of the system and
integration of all stages is shown in this Section. Android
2.2 Froyo is the minimum OS required to load this app on
the mobile device.
4.1 Implementation
The Register and Counting stage are both
developed on Java just as the Authentication and Voting
stages that were also developed on Java but to work on the
mobile devices with Android Operating System. Eclipse
IDE [15] was used to simulate all the electronic voting
5. TESTS
More than 100 voters and 3 candidates were used
for the entire voting process. Four different mobile devices
732
ISSN 2079-8407
733
ISSN 2079-8407
734
ISSN 2079-8407
6. RESULTS
The system was tested in a group leader election
inside a university, to test the results and verify if it is
feasible using the system in a mobile environment to carry
this type of elections.
Mid and high range mobile phones with different
Android Operating Systems versions were used to prove the
feasibility of utilizing the electronic voting system in this
kind of mobile devices showing acceptable results.
The system performance is based on leaving the
least computational cost to the mobile devices to have the
fastest execution time as possible. The use of cryptographic
primitives to encrypt data makes it difficult to cheat in the
process even if an administrative authority intends to do so,
meeting robustness. In comparison with traditional electoral
processes the mobile system is definitely faster and does not
suffer of a lack of control like getting more votes than
participants that are registered providing a more efficient
voting method. Moreover, it has the great advantage that the
vote can be cast from any place where the voter is located
just by having access to a public network; the mobile
system also provides privacy, fairness and robustness with
the use of symmetric and asymmetric primitives, receiptfreeness is met with the use of hash functions, all of this
while maintaining acceptable performance results, making it
suitable for an election environment.
Table 1 shows the performance time (in
milliseconds) of the Registration Stage in which it realizes
activities such as creating a new election, which includes
adding a new candidate. It is important to remark that in this
action is where all cryptographic keys are generated. Also
adding a new participant or editing an existing record
execution time is listed on the table, due to all the previous
action listed, adding a new election is the process that takes
the longest and is going to be executed only once per
election inside the Register Authority that should be linked
735
ISSN 2079-8407
Time (milliseconds)
Start
47
New
Election
New
Participant
3986
951
Edit record
487
Activity
Emulator
Xperia
Play
Optimus
3D
Samsung
Galaxy
Ace
Start
285
65
30
210
Authenticate
1560
437
497
567
Activity
Emulator
Xperia
Play
Optimus
3D
Samsung
Galaxy
Ace
Start
285
65
30
210
1066
267
302
331
1289
286
250
261
2406
550
1750
709
Vote
(512-bits)
Vote
(1024bits)
Vote
(2048bits)
7.
Activity
Time (milliseconds)
Start
46
Count
1908
CONCLUSIONS
8. FUTURE WORK
Possible Future work may involve handling more
than one election at the same time due to this
implementation of the system is capable of running just one
election at a time, therefore there is the option of modifying
the code so that more than one election can be handled
simultaneously, giving the participants access to which ever
736
ISSN 2079-8407
[8]
[9]
[10]
[11]
G. Gallegos-Garca, R. Gmez-Crdenas, G. I.
Duchen-Sanchez,Identity
based
Threshold
Cryptography and Blind Signatures for Electronic
Voting. WSEAS Transaction on Computers. Issue
1, Vol 9, pp: 62 71, January 2010.
[12]
[13]
[14]
[15]
[16]
[17]
REFERENCES
[1]
Secure
[2]
[3]
[4]
[5]
[6]
[7]
737