An encrypting apparatus comprising: an encrypting unit for inputting data to encrypt and outputting encrypted data, and a message authentication code generator for inputting the encrypted data output from the encrypting unit and generating a MAC for ensuring an integrity of the encrypted data, wherein the MAC generator starts generating the MAC before completion of encrypting the data by the encrypting unit and wherein plaintext data including at least one plaintext block data is encrypted into ciphertext data using the encrypting unit and a message authentication code is generated to ensure an integrity of the ciphertext data, wherein the encrypting unit has a first feedback loop for feeding back ciphertext block data C i output by the encrypting unit to the encrypting unit when the plaintext block data is encrypted by the encrypting unit, for inputting the plaintext data, performing an encrypting process by feeding back the ciphertext block data C i through the first feedback loop, and outputting the ciphertext block data C i, wherein the encrypting apparatus further comprises a feed line for inputting the ciphertext block data C i from the encrypting unit and outputting the ciphertext block data C i to the message authentication code generator, and wherein the message authentication code generator has a second feedback loop for feeding back a computed intermediate MAC result T i, for inputting the ciphertext block data C i from the feed line, computing an intermediate MAC result based on the ciphertext block data C i inputted, feeding back the intermediate MAC result as the computed intermediate MAC result T i by the second feedback loop, and generating the MAC to ensure the integrity of the ciphertext data, characterised in that the encrypting unit and the MAC generator perform alternately the encrypting process and a MAC generating process by sharing one encrypting module and one feedback loop (67, 68), wherein the one feedback loop (67, 68) includes: a memory for respectively storing and outputting results of the encrypting process and the MAC generating process, and a selector for selecting alternately the results of the encrypting process and the MAC generating process from the memory to alternately perform the encrypting process and the MAC generating process. an encrypting unit for inputting data to encrypt and outputting encrypted data, and a message authentication code generator for inputting the encrypted data output from the encrypting unit and generating a MAC for ensuring an integrity of the encrypted data, wherein the MAC generator starts generating the MAC before completion of encrypting the data by the encrypting unit and wherein plaintext data including at least one plaintext block data is encrypted into ciphertext data using the encrypting unit and a message authentication code is generated to ensure an integrity of the ciphertext data, wherein the encrypting unit has a first feedback loop for feeding back ciphertext block data C i output by the encrypting unit to the encrypting unit when the plaintext block data is encrypted by the encrypting unit, for inputting the plaintext data, performing an encrypting process by feeding back the ciphertext block data C i through the first feedback loop, and outputting the ciphertext block data C i, wherein the encrypting apparatus further comprises a feed line for inputting the ciphertext block data C i from the encrypting unit and outputting the ciphertext block data C i to the message authentication code generator, and wherein the message authentication code generator has a second feedback loop for feeding back a computed intermediate MAC result T i, for inputting the ciphertext block data C i from the feed line, computing an intermediate MAC result based on the ciphertext block data C i inputted, feeding back the intermediate MAC result as the computed intermediate MAC result T i by the second feedback loop, and generating the MAC to ensure the integrity of the ciphertext data, characterised in that the encrypting unit and the MAC generator perform alternately the encrypting process and a MAC generating process by sharing one encrypting module and one feedback loop (67, 68), wherein the one feedback loop (67, 68) includes: a memory for respectively storing and outputting results of the encrypting process and the MAC generating process, and a selector for selecting alternately the results of the encrypting process and the MAC generating process from the memory to alternately perform the encrypting process and the MAC generating process. a memory for respectively storing and outputting results of the encrypting process and the MAC generating process, and a selector for selecting alternately the results of the encrypting process and the MAC generating process from the memory to alternately perform the encrypting process and the MAC generating process.