Patent ID: 7532726
Filing Date: 2009-05-12
Classification: H04L

Abstract:
1. An encryption/decryption device comprising: a data structure analysis block for receiving encrypted data or data to be encrypted, analyzing the structure of the data and outputting information related to encryption as control data, the data structure analysis block also outputting the encrypted data or the data to be encrypted as processing block input data; a data control block for outputting an encryption/decryption switch signal indicating which one of encryption and decryption should be performed, and a mode selection signal indicating in which mode the processing block input data should be processed, according to the control data; and a shared processing block configured to have the ability to perform encryption and decryption in either of the Cipher Block Chaining (CBC) mode and the Cipher Feedback (CFB) mode by performing Electronic Code Book (ECB) processing using input key data, the shared processing block performing encryption or decryption according to the encryption/decryption switch signal for the processing block input data in the mode indicated by the mode selection signal, and outputting encrypted result or decrypted result, wherein the shared processing block comprises: an ECB processor for performing the ECB processing and outputting the result as cipher-processed data; a first selector for selecting one of the processing block input data and the cipher-processed data according to the encryption/decryption switch signal and the mode selection signal, and outputting the selected data; a delay device for delaying the processing block input data and the cipher-processed data received as inputs and outputting the delayed data; a second selector for selecting one of the processing block input data, initial vector data, and the delayed processing block input data and the delayed cipher-processed data output from the delay device according to the encryption/decryption switch signal and the mode selection signal, and outputting the selected data; an XOR operator for computing XOR of the output of the first selector and the output of the second selector and outputting the computed result; a third selector for selecting one of the processing block input data, the output of the XOR operator, the delayed processing block input data and the delayed cipher-processed data according to the encryption/decryption switch signal and the mode selection signal, and outputting the selected data; a bit mask device for masking part of the key data as required according to the mode selection signal and outputting the result as mode-adaptive key data; and a fourth selector for selecting one of the cipher-processed data and the output of the XOR operator according to the encryption/decryption switch signal and the mode selection signal, and outputting the selected data as the encrypted result or the decrypted result, and the ECB processor performs either encryption or decryption as the ECB processing for the output of the third selector using the mode-adaptive key data according to the encryption/decryption switch signal and the mode selection signal, and outputs the result as the cipher-processed data.