FREE logo

Quick Links

Aims of the project

FAQ
Download
In the news
Get Involved
Documentation
+ Running GNU.FREE
 - Getting Started
 - Running Elections
+ Package details
 - ERServer
 - FreeClient
 - Free.AWT
 - Free.DBPool
 - Free.util
 - RTServer
+ Detailed code docs
 - JavaDoc Docs

Contact

FREE Home
 
FREE.UTIL

This summarises the utility classes stored for convenience in this seperate package since 1.1

AuthSys.java

AuthSys uses the java.security package to implement a Message Authentication Code (MAC) system based on message digests.

Packet.java

This is a class that defines the key data format for GNU.FREE. All data transmitted between GNU.FREE software is in a string representation of this data.

The GNU.FREE packet formatting is as follows:

1|222-22222-22222222|33333333

Where 1 is a single character setting the type of packet, 2 is the data region of unlimited length with fields separated by a hyphen and 3 is the Message Authentication Code (MAC) which is derived from a message digest and is used to prevent message tampering.

1 can be in one of the following states:

A Authorisation check
C Vote or total confirm
D Diagnostic packet
E Electoral roll check
K Authorisation Key check
T Total for a party
Q Verification Query
V Vote packet
X End communication

StringByteTools.java

Because the GNU.FREE protocol is defined as being ASCII only we can optimise String <-> Byte conversions with methods faster than the Unicode compatible ones in the Java String implementation. These are provided in this file.



- Docs Home -

Contact - by Jason Kitcat - j-dom portal

Copyright 2000, 2001 FREE e-democracy project.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.