GNU project  -  FREE project  -  Savannah @ GNU Free Software Foundation
The FREE project
home | users | developers | writings | download | connections


On this page

AuthSys.java
Packet.java
RSAPKCS1.java
RSAEncrypt.java
StringByteTools.java


In this section

Section Index

Internationalisation Team
Test Team

ERServer details
FreeClient details
Free.AWT details
Free.DBPool details
Free.util details
PollManager details
RTServer details
JavaDoc Documentation




developers supported by:
Swing Digital


systems:


donate to the project:
 

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
I Protocol Initialisation
K Authorisation Key check
P PollManager ER check
S Set user as voted (sent by PollManager)
T Total for a party
Q Verification Query
V Vote packet
X End communication

RSAPKCS1.java

Implements the PKCS#1 v1.5 style padding for RSA encryption.

RSAEncrypt.java

This class provides the encryption and decryption services for RSA public/private keys. It also creates session keys and the offers the associated Blowfish encrypt/decrypt methods which are used in direct conjuction with the RSA code.

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

© 2000 - 2003 FREE e-democracy project

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