RANDOM ENCRYPTION

A random encryption package works by applying
a stream of random data to the data to be encrypted thus rendering it
unreadable.

Ruskwig pioneered random encryption in early 1999 and
developed a random encryption package achieving key lengths of
10,000 bits in March 1999 and has owned the Copyright to random encryption
since this time. The first publicly available random encryption package
utilising random encryption techniques was released in May 1999.

The random encryption package algorithm 'Random
Byte Encryption' was developed by Chris Stone to provide highly secure
and fast encryption. With this algorithm it is possible to use key lengths
of 10,000 bits on a standard PC. A free random encryption packge
using the Random Byte Encryption Algorithm is available for download.

Random Byte Encryption Package

Random Byte Encryption is a private key encryption algorithm. It is similar
in concept to the German Enigma machine of the second world war.
The objective of the algorithm was to design an algorithm that was
fast, scalable and that could only be cracked by brute force. Then
if the key length is long enough it should be very difficult to
crack.

The input data is encrypted as it is read therefore making it a fast algorithm.
The input data is combined with a stream of random numbers altering
the original data into something that is unintelligible. The random
numbers are generated by multiple streams of random number generators
which are combined together to form a single random number which
is applied to the input data.

The random numbers are generated using a linear congruential generator of the form;-

X(n+1) = A X(n) + B (mod N)
where X(0) is given as the seed.

This pseudo random number sequence repeats after N -1 iterations. The values
of the parameters A,B and N have been chosen to keep the repeat
interval in line with the seed length.

Multiple streams of random numbers from the pseudo random number generators are combined
together to form a single random number. One of the problems of
combining lots of random numbers between 0 and 1 is that the combined
numbers tend to become smaller and smaller and tend towards 0. If
this happens the data is not encrypted at all.

To overcome this as each random number from the multiple streams of random numbers
is applied to the combined random number an adjustment is made if
the combined number has become too small. This allows the probability
distribution to be maintained close to that of true random numbers.

Random Byte Encryption Package Algorithm

1

The user provides a key consisting of extended ASCII characters.
Every x number of ASCII characters are used to
generate a seed for one of the multiple streams of random numbers.

2

An 8-bit byte of data is then read from the input stream of data
and converted in to the decimal equivalent DE of the
ASCII character.

3

The multiple streams of random numbers are then combined to produce
a random number between 0 and 255.

4,

The random number generated is then added to
DE to produce
a new value NV. The decimal value NV is then converted
back into its equivalent extended ASCII character. If NV
is greater than 255 the maximum value permitted for an extended
ASCII character, the ASCII character equivalent to NV-256
is generated. Thus each byte of data is randomly changed in
to a different byte.

5

The ASCII character generated is then written to the output data
stream.

6

To decrypt the file the random number sequence generated by the
key is used in reverse.

This algorithm is scalable and only limited by the speed of the machine it is running
on. As longer key lengths are required it is simply a matter of
using another stream of random numbers for every x number
of ASCII characters in the key.

As the output stream is written as the input stream is read the algorithm is fast.

In order to crack the algorithm it is necessary to be able to predict each random
number applied to the data in turn. This can only realistically
be achieved by working through every possible combination of key
by brute force. If the key is long enough it its not possible to
crack the encryption during the useful life of the data.