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.