Abstract:
The present invention provides a flexible encryption device, comprising N encryption units connected in series for encrypting N-bit input data, each one of the N encryption units further comprising an exclusive-OR gate for receiving an input data; and a flip-flop connected coupled to the exclusive-OR gate. Furthermore, the present invention also provides the data transferring system that can be easily modified without the needs of manual intervention.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims Priority of Chinese patent application number 200810184073.5, filed Dec. 15, 2008, which is herein incorporated by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to data encryption and recovery; more specifically, the present invention relates to data encryption and recovery with multiple input signature register. 
         [0004]    2. Background of the Invention 
         [0005]    Data encryption is required in many situations, such as data transfer and data storage, to ensure the security of the information. Encryption can be very complicated; and, as a result, the encryption devices are getting larger, more time consuming and very inflexible. The encryption parameters may need to be changed to facilitate different conditions. And it is very difficult to modify such a complicated encryption device just to alter several parameters. Furthermore, having a complicated encryption device also means that the recovery device will also be large, slow and inflexible. 
         [0006]      FIG. 1  illustrates a prior art data transfer system. The sender transfers programmed data to the receiver, which has a check device. The check device in the receiver confirms whether the programmed data is correct. If the programmed data is confirmed to be correct, the data will then be processed. If the programmed data is not correct, the receiver will halt. Although the programmed data cannot be read, Bus  1  can be uncovered and a simulate device is used to simulate the same data through another bus, Bus  2 . Therefore, the simulation action exposes the programmed data and risks data integrity. 
         [0007]    It is required to have an encryption device that is easy to implement, flexible and reliable, and also a data transferring system that can be easily modified without the needs of manual intervention. 
       SUMMARY OF THE INVENTION 
       [0008]    An embodiment of the present invention provides an encryption device to solve the problem of the conventional designs and provides a flexible encryption device. The embodiment of the present invention provides an encryption device, comprising N encryption units connected in series for encrypting N-bit input data, each one of the N encryption units further comprising an exclusive-OR gate for receiving an input data; and a flip-flop connected coupled to the exclusive-OR gate. 
         [0009]    To solve the problem of the prior technology, another embodiment of the present invention provides a recovery device, comprising N recovery units for recovering N-bit input data, each one of the N recovery units further comprising a flip-flop for receiving an input data; and an exclusive-OR gate coupled to the flip-flop. 
         [0010]    To solve the problem of the prior technology, another embodiment of the present invention also provides an encryption system, comprising a configuration file comprising encryption information; and an encryption device selected by the configuration file, comprising N recovery units for recovering N-bit input data, each one of the N recovery units further comprising a flip-flop for receiving an input data; and an exclusive-OR gate coupled to the flip-flop. 
         [0011]    To solve the problem of the prior technology, another embodiment of the present invention also provides a recovery system, comprising a configuration file comprising recovery information; and a recovery device, comprising N recovery units for recovering N-bit input data, each one of the N recovery units further comprising a flip-flop for receiving an input data; and an exclusive-OR gate coupled to the flip-flop. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1  illustrates a prior art data transfer system. 
           [0013]      FIG. 2  illustrates an encryption device according to an embodiment of the invention. 
           [0014]      FIG. 3  illustrates a recovery device according to an embodiment of the invention. 
           [0015]      FIG. 4  illustrates a data transfer system according to another embodiment of the invention. 
           [0016]      FIG. 5  illustrates a data transfer system with multiple receivers according to another embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]      FIG. 2  illustrates an encryption device according to an embodiment of the present invention. The encryption device comprises four flip-flips FF 0 -FF 3 , wherein each one of the flip-flips is coupled to an exclusive- or gate. The encryption device receives input data D 0 -D 3  in parallel with the exclusive- or gates. Input data D 0 -D 3  are inputted into the encryption device simultaneously at every clock edge; and flip-flips FF 0 -FF 3  are updated also at every clock edge. When input data D 0 -D 3  are periodical, the output of flip-flops FF 0 -FF 3  is also a periodic pseudo-random series. 
         [0018]    The example is shown in Table 1 below. 
         [0000]    
       
         
               
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                 Input 
                 Output 
               
             
          
           
               
                 Timer 
                 D0 
                 D1 
                 D2 
                 D3 
                 FF0 
                 FF1 
                 FF2 
                 FF3 
               
               
                   
               
             
          
           
               
                 0 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
               
               
                 1 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
                 0 
               
               
                 2 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
               
               
                 3 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 1 
                 0 
               
               
                 4 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 1 
                 1 
               
               
                 5 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
                 1 
               
               
                 6 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
               
               
                 7 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
               
               
                 8 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
                 1 
               
               
                 9 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
               
               
                 10 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 11 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
                 0 
               
               
                 12 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
                 1 
               
               
                 13 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
               
               
                 14 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
                 1 
               
               
                 15 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
               
               
                 16 
                 . . . 
                 . . . 
                 . . . 
                 . . . 
                 1 
                 0 
                 0 
                 0 
               
               
                 17 
                   
                   
                   
                   
                 . . . 
                 . . . 
                 . . . 
                 . . . 
               
               
                   
               
             
          
         
       
     
         [0019]    As shown in Table 1, the output series of the encryption device are seen as random series, therefore, they can be transferred or stored as encrypted data. 
         [0020]      FIG. 2  illustrates the encryption device for 4-bit data for illustration purpose only. Persons skilled in the art should know that the encryption data size can be easily increased by modifying the encryption device. The present invention provides a flexible encryption structure that can be cascaded to facilitate different requirements. For example, two of the encryption device as shown in  FIG. 2  can be cascaded to form an encryption device for 8-bit data. 
         [0021]    Please refer to  FIG. 3 , which illustrates a recovery device according to another embodiment of the present invention. The recovery device is constructed according to the encryption algorithm. And according to Table 1 above, Equations 1-4 shown below are obtained. 
         [0000]      FF0 n =D0 n-1 ⊕FF3 n-1   Equation 1 
         [0000]      FF1 n =D1 n-1 ⊕FF0 n-1 ⊕FF3 n-1   Equation 2 
         [0000]      FF2 n =D2 n-1 ⊕FF1 n-1   Equation 3 
         [0000]      FF3 n =D3 n-1 ⊕FF2 n-1   Equation 4 
         [0000]    By rearranging Equations 1-4, Equations 5-8 are yielded. 
         [0000]      D0 n-1 =FF0 n ⊕FF3 n-1   Equation 5 
         [0000]      D1 n-1 =FF1 n ⊕FF0 n-1 ⊕FF3 n-1   Equation 6 
         [0000]      D2 n-1 =FF2 n ⊕FF1 n-1   Equation 7 
         [0000]      D3 n-1 =FF3 n ⊕FF2 n-1   Equation 8 
         [0022]    Therefore, the recovery device in  FIG. 3  is formed according to Equations 5-8. The recovery device comprises four flip-flips FF 0   n -FF 3   n , wherein each one of the flip-flips is coupled to an exclusive- or gate. The encryption device receives input data FF 0   n-1 -FF 3   n-1  in parallel with the exclusive- or gates. Input data FF 0   n-1 -FF 3   n-1  are inputted into the encryption device simultaneously at every clock edge; and flip-flips FF 0   n -FF 3   n  are updated also at every clock edge. Table 2 illustrates the result of the recovery device by inputting the output series of Table 1. 
         [0000]    
       
         
               
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 Input 
                 Output 
               
             
          
           
               
                 Timer 
                 D0 
                 D1 
                 D2 
                 D3 
                 FF0 
                 FF1 
                 FF2 
                 FF3 
               
               
                   
               
             
          
           
               
                 0 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
               
               
                 1 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
                 0 
               
               
                 2 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
               
               
                 3 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 1 
                 0 
               
               
                 4 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 1 
                 1 
               
               
                 5 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
                 1 
               
               
                 6 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
               
               
                 7 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
               
               
                 8 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
                 1 
               
               
                 9 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
               
               
                 10 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 11 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
                 0 
               
               
                 12 
                 1 
                 0 
                 0 
                 0 
                 1 
                 1 
                 0 
                 1 
               
               
                 13 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
               
               
                 14 
                 1 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
                 1 
               
               
                 15 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
               
               
                 16 
                 . . . 
                 . . . 
                 . . . 
                 . . . 
                 1 
                 0 
                 0 
                 0 
               
               
                 17 
                   
                   
                   
                   
                 . . . 
                 . . . 
                 . . . 
                 . . . 
               
               
                   
               
             
          
         
       
     
         [0023]    As shown in Table 2, it is known that the input data series are recovered by the recovery device of  FIG. 3 .  FIG. 3  illustrates the recovery device for 4-bit data for illustration purpose only. Persons skilled in the art should know that the encryption data size can be easily increased by modifying the recovery device. The present invention provides a flexible recovery structure that can be cascaded to facilitate different requirements. For example, two of the recovery device as shown in  FIG. 3  can be cascaded to form a recovery device for 8-bit data. 
         [0024]      FIG. 4  shows a data transfer system according to another embodiment of the invention. The data transfer system solves the problem of prior art as described. The data transfer system comprises a sender and a receiver; wherein the sender comprises a configuration file and an encryption device; and the receiver comprises a recovery device and a configuration file. The configuration file in the sender is the same as the configuration file in the receiver; and the configuration file are stored with information, such as data size. On the basis of the information stored in the configuration file, an appropriate encryption device and a recovery device are selected. Therefore, the data transfer system of the present invention provides an automatic selection of the encryption device and a recovery device, which eliminates manual errors. Furthermore, the data being transferred is encrypted, so that even if the bus is uncovered, the data is safely protected by the encryption. Therefore, the data integrity is ensured. The configuration file also provides easy modification when the condition changes. 
         [0025]    The transfer system illustrated in  FIG. 4  is also modified according to another embodiment of the invention. Referring to  FIG. 5 , which shows a transfer system with multiple receivers. The transfer system as illustrated comprises a sender and three receivers. The encryption device in the sender transfers different data to respective receiver at different time. The data is encrypted with respect to different configuration files and the encrypted data is decrypted with corresponding configuration file at the receiver. For example, a first set of data is encrypted according to the information in configuration file  1 , a second set of data is encrypted according to the information in configuration file  2 , and a third set of data is encrypted according to the information in configuration file  3 . The encrypted data is then transferred via the same bus to the receivers. Receiver  1  receives the encrypted data and decrypts it with configuration file  1  to obtain the first set of data. The encrypted second and third sets of data are also sent to receiver  1 ; however, configuration file  1  provides decryption of the first set of data. Therefore, the second and third sets of data are discarded by receiver  1 . Similarly, receiver  2  obtains the second set of data and discards irrelevant first and third sets of data. With the transfer system, the received information is also protected from being used by other receivers, which is essential for the mobile systems. Therefore, the transfer system as illustrated in  FIG. 5  provides not only data transfer safety, but also prevents data from being read by other receivers when it is sent from the same sender. 
         [0026]    Although the embodiments disclosed above are discussed in the scope of providing solutions in response to a need for encryption device, one of ordinary skill in the art can easily adopt the same circuitry for the providing of other type of purposes. Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and scope of the present invention as claimed. Accordingly, the present invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.