A symmetric-key cryptographic technique capable of realizing both
high-speed cryptographic processing having a high degree of parallelism,
and alteration detection. The invention includes dividing plaintext
composed of redundancy data and a message to generate plaintext blocks
each having a predetermined length; generating a random number sequence
based on a secret key, generating a random number block corresponding to
one of the plaintext blocks from the random number sequence, outputting a
feedback value obtained as a result of operation on the one plaintext
block and the random number block, the feedback value being fed back for
using the operation on another plaintext block, and performing an
encryption operation using the one plaintext block, random number block,
and feedback value.