In a data communications system a remote data source outputs data as a series
of application data units (ADUs). Each ADU is individually encrypted with a different
key. The keys are transmitted (for example using Internet multicasting) via a communications
network to one or more customer terminals. At the terminals a sequence of keys
is generated for use in decrypting the ADUs. A record is kept of the keys generated,
and this record may subsequently be used to generate a receipt for the data received
by the customer. The keys may be generated, and the record stored within a secure
module such as a smartcard.