Data to be encrypted (301) is partially extracted successively. A result
of encrypting a previously extracted portion of the data is used to
successively calculate that of encrypting the currently extracted portion
of the data successively. Successively calculated results of the
encryption are used to generate encrypted data (305). In generating the
encrypted data, a finally calculated result of the encryption (PF(z+1))
is attached to the generated encrypted data. The finally calculated
result is used as falsification detecting data (308) for detecting
whether the data to be encrypted is falsified data.