A data transmission system is provided to transmit data streams recorded on recording
media to the external system or device. Herein, an original data stream read from
a recording medium is subjected to calculation using a variable selected from a
variable set which consists of a number of variables and which is created by each
cycle. A variable change code is provided to represent the variable selected from
the variable set. Then, a calculated data stream is temporarily stored on a stream
buffer together with the variable change code. The calculated data stream is output
from the stream buffer and is subjected to inverse calculation using the same variable
designated by the variable change code. Using the inverse calculation, it is possible
to reproduce the data stream, which is then processed. Thereafter, the data transmission
system outputs the processed data stream. Because the calculated data stream is
stored on the stream buffer, it is difficult for the third party to easily capture
the original data stream from the stream buffer. In addition, the variable used
for the calculation and inverse calculation is changed in each cycle, so that it
is difficult for the third party to decode the calculated data stream to the original
data stream. Therefore, it is possible to prevent the third party to easily produce
an unauthorized copy of the data streams recorded on the recording medium from
the stored content of the stream buffer.