Associated with a professional usage, the program in “enlarged” version
is expanded fundamentally by the possibility of stream ciphering (see
also “Processing Form and Statistics”). This means
the possibility to store an achieved parameter state which can be reactivated
and continued to code further datasets. In connection with that a set of
parameters can be used potentially to encode as well as to decode data.
It’s true a “normal” parameter dataset used to store the state of stream
ciphering isn’t a usual dataset but it is changed. This is because a recent
parameter state is stored again in it at end. That is why you should make a
copy of such a parameter dataset before processing to be able to fall back on a
protected processing state. This copy can be deleted or can be overwritten by
the new generated parameter dataset after successful processing.
Furthermore you have to take
into account that you have to use different and therefore own parameter
datasets both for encoding and decoding a data unit.
Stream ciphering should be used
§
first if you wish higher
safety and
§
second if you want data
transmission between two or more persons/offices involved using an
uncertain and/or unsafe (public) connection (i.e. via internet).
Using stream ciphering the
exchange of keys may be limited to a minimum. In contrary to the standard
program which generates components at the beginning and in the following if a
cycle of a pseudo random number process is finished (i.e. pseudo random numbers
are repeated), you can control component exchanges in the expanded program
(tightened up ciphering) more exactly.
In general the current
internal operation key is used as an initial key to carry out a component
exchange. Using the resulting components for coding, you have no possibility to
generate the initial key in reverse processing (see “Examination of the Safety
of the Algorithm in brief” too).
So if a set of components is compromised, all data coded before the last
component exchange is not compromised but further data is.
To preserve the protection
against compromising data coded after the next component exchange (naturally
data coded with the compromised set of components is compromised too), it’s
possible – if program works in highest cipher state – to “encode” the initial
key by the components of a second parameter dataset, the component exchange parameter dataset, before a
component exchange is carried out using this coded initial key.
To brake this barrier by an
unauthorized third party (without any direct access to the component exchange
parameter dataset), first an attacker has to compromise “plenty” of sets of
components of the “normal” parameter dataset to have only basically a chance to
get the set of components of the second parameter dataset.
Coding single datasets
using stream ciphering, a component exchange is made at the beginning of every
dataset.
If only the state of
parameters of the component exchange parameter dataset is saved at end and all
datasets are coded as one unit, a component exchange is made at the
beginning of the processing of every unit. This is an absolute necessity to get
adequate recovery points processing more than one unit (the intermediate state
of the standard parameters can not be saved because there is no “normal”
parameter dataset or this dataset may not be saved !).
If both a “normal” parameter
dataset and a component exchange parameter dataset is used to save the
processing state of stream ciphering and all datasets are coded as one unit,
a component exchange is made at the beginning of the processing of the first
unit. This is shown by the stream cipher usage
value of the parameter dataset which indicates whether a parameter
dataset is modified after initialisation or still in initial condition. This
introduced component exchange is made to guarantee the dependency already of
the first used set of components on the component exchange parameter dataset
(afterwards it’s given automatically).