CS701 Master`s Project Proposal

advertisement
CS701 Master’s Project Proposal
Title: Applying Software Engineering Processes for
Creating an E-Voting system.
Hakan Evecek
Last Update: 15Feb2007
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 1 of 6
TABLE OF CONTENTS
CS701 Master’s Project Proposal .................................................................................... 1
1. Committee ................................................................................................................. 3
2. Project Description.................................................................................................... 3
3. Background Information ........................................................................................... 3
4. Project Goals ............................................................................................................. 4
5. Research .................................................................................................................... 5
6. Project Deliverables .................................................................................................. 5
7. Future Work .............................................................................................................. 5
8. Proposed Schedule .................................................................................................... 6
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 2 of 6
1. Committee
Project Advisor: Dr. Edward Chow
Member:
Dr. Xiaobo Zhou
Member:
Dr. Richard Wiener
2. Project Description
The Paillier Threshold Cryptography (PTC) Web Service has been implemented. I will
apply Software Engineering processes and make the recommended changes in the
code with intent of improving the code.
Below are the recommended improvements for the code:

The data handling of the voting application was thrown together. Right now,
some of the data is stored in a SQL Server Express database (votes, etc), and
the remainder is stored in an XML file (election parameters). I will combine
all into an SQL Server where possible.

The voting application demonstrates the use of the Paillier Threshold
Cryptography (PTC) Provider, but really isn’t a very usable application.
Starting over and building a complete, secure, user-friendly application. All
of the basic ideas are demonstrated in the demo voting application created, but
not intending for it to be a usable application, just a demo. Change this
application to a more usable application.

“Clean up” the Paillier Threshold Cryptography (PTC) Provider code, making
efficiency improvements where they can be identified.
3. Background Information
The Paillier cryptosystem is a probabilistic asymmetric algorithm for public key
cryptography. It is believed that n-th residue classes are computationally difficult to
compute. This is known as the Composite Residuosity (CR) assumption upon which
this cryptosystem is based.
The Paillier cryptosystem based on the composite Residuosity class problem has
received much of the research interest due to possessing some important properties
useful in the e-voting application.
This paper presents an implementation of that scheme as a web service. In this
implementation, the web service serves as the “trusted dealer” and thus removes the
requirement for picking the “trusted dealer” from among the users of the
cryptosystem. It is envisioned that such a web service could be commercially
operated by a universally trusted organization similar to modern public key certificate
authorities.
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 3 of 6
4. Project Goals
1) Create a prototype Online E-Voting system by using the PTC Web Service and
develop Software Engineering processes as defined by the MESE program at
UCCS.
2) The project should include elements that are new to the designer.
3) All the enhancements mentioned above will be applied to the project.
4) User Manual for the PTC Web Services will be revised.
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 4 of 6
5. Research
Comparison of E-voting systems and implementation issues in secure e-voting
schemes. What is the difference of Paillier Cryptosystem?
6. Project Deliverables
Web Site – For project status: http://www.cs.uccs.edu/~gsc/pub/master/hevecek/
Proposal - Description of the project, how it will be developed.
Requirements Specification - A description of the feature set of the project.
Design Document - A description of the internal and external design of the project.
Test Plan - A description of the tests and test environment of the project. This should
be written at the same time as the SRS.
Test Procedures – Based on the design document in a format that can be handed to the
tester to use.
Software - The source files and executable software product. These files will be
placed in the folder below: http://www.cs.uccs.edu/~gsc/pub/master/hevecek/src/
Manual - This will be the revised version of the PTC Web Services Manual with the
software product.
Presentation - Power Point slides with a presentation, followed by question/answer
period.
7. Future Work
The voting application has numerous security issues. Right now there is no way that
a user can verify the authenticity of either the generated Paillier parameters or the
election parameters. These can be cryptographically signed by the Web Service and
the Election Administrator respectively.
It may also be of value to think about how the class hierarchy of Paillier Threshold
Cryptography Provider. Originally Microsoft’s ICSPAsymmetric Algorithm, which
isn’t a good fit since threshold cryptosystems have some unique requirements, was
worked on to implement in the code. It might make more sense to extend a lower
level interface to make an ICSPAsymmetric Threshold Algorithm interface, and then
implement this interface in Paillier Threshold Cryptography Provider.
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 5 of 6
8. Proposed Schedule
Project Proposal
01Feb07
Requirements Specification
15Feb07
Design Documents and changes
23Feb07
Test Plan
15Feb07
Test Procedures
07Mar07
Manual
10Apr07
Software Development for the Enhancements
01Feb07 – 30Mar07
Software Test
30Mar07 – 10Apr07
Software Complete
10Apr07
Presentation
15May07
CS701 Project Proposal– Spring 2007 – Hakan Evecek
Page 6 of 6
Download