FAQ

How can I use Alpha code?

Alpha code is usually considered not ready for general use, is likely to contain many bugs, and is vulnerable to unpredictable behaviour and crashing. People tend to run Alpha code only for testing purposes.

It is possible to run Alpha code, but it is essential to protect against problems the code may cause. An example of how the Alpha version of gesecraif may be used is given below.

For the purposes of this example, suppose a file needs to be copied securely. The original file should be backed up. Using appropriate hashing software a check-sum is produced (e.g. MD5). The utility gsecraif is used to split the file in to several components. The components are independently moved to the destination (e.g. each component is copied to a separate USB stick or sent as a separate attachment). The check-sum is also independently moved to the destination. At the destination, gsecraif is used to combine the component files to produce a copy of the original (even if one of the components is lost). The same hashing software is uses to re-calculate the check-sum which is compared with the original check-sum. If either when splitting or combining the file in the preceding process, gsecraif fails to function correctly the original file is secured by the back-up copy.

It is recommended in the strongest terms that under no circumstances should gsecraif be relied upon as the only means of recovering a file.

What can gsecraif be used for?

There are many well documented uses for file splitting utilities. There are a number of uses of gsecraif envisaged, but the two main uses envisaged are file transfer and storage of files on third party storage systems. The utility gsecraif is expected to be used where security is a concern, both in terms of protecting against data loss and unauthorised access.

See the user-guide for further details and examples.

What Operating Systems is gsecraif available for?

The software is only available as source code and is expected to be compiled on a Unix like platform. The code is Alpha code.

What are the performance constraints?

The software is designed to split and combine files and performs relatively little processing. The core processing that the software does involves bit manipulation (XOR and shift) that should be efficient. The utility gsecraif is likely to be I/O bound. The current version does not implement any I/O buffering.

Why split null files or single byte or trivially small files?

Unix utilities are expected to work with files of all sizes including zero, one or very few bytes. Utilities are not expected to crash or produce error messages when presented with files of zero, one or very few bytes. Gsecraif does not impose a minimum file size. It might be desirable to use a batch file to process all files in a directory, calling a utility with each file and this should work regardless of the size of the file or whether a file is null or not; gesecraif can be used in this way.