Abstract:
The present invention relates to a network encryption system and method, and particularly, to a network encryption system and method involving the encryption and/or decryption of user data using random number generation. Even more particularly, the present invention relates to encryption and/or decryption of user data using random numbers that are generated using a portion of the user data discriminated from the data frame or the data packet.

Description:
BACKGROUND 
     1. Technical Field 
     The present invention relates to a network encryption system, and particularly to a network encryption system for encrypting or decrypting user data at every data frame or data packet by using a general random number generator in different ways. 
     2. Background 
     Generally, a network encryption apparatus uses a block encryption algorithm like a DES(Data Encryption Standard) in US because a data packet or a data frame requiring a limited data size is inputted as a unit. 
     A block encryption algorithm is an encryption method for making it impossible to decrypt data having a fixed length by changing the data with use of an encrypting key according to predetermined rules and tables. For decrypting the data, the predetermined rules and the tables are used inversely by using the decrypting key. Accordingly, the block encryption algorithm is suitable for encrypting the data having a fixed length discontinuously and repeatedly. 
     But, because it is difficult to design the block encryption algorithm, the number of the verified algorithm is limited. Actually, the algorithm for export has a low security level and it is exported to other countries except US. That&#39;s why the other countries except US may not encrypt information to such a desired level because of having a lower security level than US&#39;s even though having the encryption apparatus. 
     FIG. 1A shows a flowchart indicating an encryption method of a network encryption apparatus using a conventional block encryption algorithm. FIG. 1B shows a flowchart indicating a decryption method of a network encryption apparatus using a conventional block decryption algorithm. 
     Referring to FIGS. 1A and 1B, the network encryption apparatus using a conventional block encryption/or decryption algorithm divides a received data frame or a data packet into 64 bit units, in case of using a 64 bit-block encryption/or decryption algorithm. And then, the apparatus encrypts or decrypts the divided data through encryption/or decryption algorithm by using a predetermined 64 bit-encrypting/or decrypting key, respectively. 
     In case that the data frame or the data packet is shorter than 64 bits, encryption is processed after inserting “0” as many as required to make 64 bits. And the decryption is processed after erasing “0” as many as inserted during encrypting. Consequently, the data size before encryption is the same as one after decryption. 
     The network encryption apparatus using the conventional block encryption algorithm is operated as described below. After receiving the data frame or the data packet from a DTE(Data Terminal Equipment) receiving terminal, the data frame or the data packet is stored in the DTE receiving buffer. A protocol header of the data frame or the data packet stored in the DTE receiving buffer is copied in the DCE(Data Circuit-terminating Equipment) sending buffer. 
     And then, user data of the data frame or the data packet stored in the DTE receiving buffer is block-encrypted by using a 64 bit-encrypting key into every 64 bits. In case that it is shorter than 64 bits, the data frame or the data packet is block-encrypted after inserting “0”, so called Zero Padding, as many as required to make 64 bits. And the block-encrypted 64 bit encrypting data is stored in the DCE sending buffer. The data frame or the data packet stored in the DCE sending buffer is sent to a DCE sending terminal. 
     Contrarily, for decrypting data the data frame or the data packet is stored in the DCE receiving buffer after receiving the data frame or the data packet from the DCE receiving terminal. And then a protocol header of the data frame or the data packet stored in the DCE receiving buffer is copied in the DTE sending buffer. 
     And user data of the data frame or the data packet stored in the DCE receiving buffer is block-decrypted by using the 64 bit-decrypting key into every 64 bits. The block-decrypted, 64 bit data is stored in the DTE sending buffer. The inserted “0” is erased in case that the data frame or the data packet is shorter than 64 bits. Therefore, the data is stored in the DTE sending buffer by being made into 64 bit-data frame or packet. 
     The data having a fixed length is encrypted/and decrypted in encryption and decryption method of the network encryption apparatus using the conventional block encryption/and decryption algorithm. Therefore, it should have zero padding process in case that the data size is smaller than the block size and padded, “0” should be erased after decryption. 
     In addition, hardware elements employing the block encryption algorithm are supplied with a lowered security level because of exporting limitation of US, and it is difficult to verify the security level with the block algorithm. 
     SUMMARY 
     Accordingly, in order to solve the problems in the prior art it is an object of the present invention to provide network encryption system, particularly, for encrypting or decrypting user data at every data frame or data packet by using a general random number generator in different ways. 
     One embodiment to achieve above object is to provide a network encryption apparatus, comprising encrypting means for generating random numbers by using a part of user data discriminated from data frame or data packet and encrypting the user data by logical operation with the random numbers, and decrypting means for generating random numbers by using a part of decrypted user data and decrypting the user data by logical operation with random numbers. 
     Another embodiment to achieve above object is to provide a network encryption apparatus, comprising encrypting means for generating random numbers at every data frame or data packet by using a part of user data discriminated from the data frame or the data packet and encrypting the user data by logical operation of the part of the user data with the random numbers, and of remaining part of the user data with an encrypting key having a fixed length, and decrypting means for decrypting part of user data discriminated from the data frame or the data packet by logical operation with a decrypting key having a fixed length, generating random numbers by using the part of the decrypted user data and decrypting the user data by logical operation with the random numbers. 
     The other embodiment to achieve above object is to provide a network encryption method, comprising encrypting process of generating random numbers by using a part of user data discriminated from data frame or data packet and encrypting the user data by logical operation with the random numbers, and decrypting process of generating random numbers by using a part of decrypted user data and decrypting the user data by logical operation with the random numbers. 
    
    
     BRIEF DESCRIPTION 
     Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which: 
     FIG. 1A shows a flowchart indicating an encryption method of a network encryption apparatus using a conventional block encryption algorithm. 
     FIG. 1B shows a flowchart indicating a decryption method of the network encryption apparatus using a conventional block decryption algorithm. 
     FIG. 2 shows a block diagram indicating a network encryption apparatus according to the present invention. 
     FIG. 3A shows a flowchart indicating encrypting steps in the network encryption method according to the present invention. 
     FIG. 3B shows a flowchart indicating decrypting steps in the network decryption method according to the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Embodiments of the invention will be described with reference to the accompanying drawings. 
     FIG. 2 shows a block diagram indicating the network encryption apparatus according to the present invention. 
     Referring to FIG. 2, the network encryption apparatus according to the present invention includes an encryption unit  100  and a decryption unit  200 . The encryption unit  100  generates random numbers by using a part of user data discriminated from the data frame or the data packet. And the encryption unit  100  encrypts the part of user data by logical operation with the random numbers and remaining part of the user data with an encrypting key having a predetermined length, respectively. The decryption unit  200  decrypts a part of the user data discriminated from the data frame or the data packet by logical operation with a decrypting key. And the decrypting unit  200  generates random numbers using the part of the decrypted user data, and carries out logical operation of the random numbers and the user data. 
     The encryption unit  100  includes a DTE receiving buffer  120  for discriminating protocol data and user data from the data frame or the data packet, respectively, and dividing first N bytes from the user data, and an encrypting key unit  130  for storing N byte-encrypting key. And the encryption unit  100  includes a random number generator  140  for generating (M−N+1) byte-random numbers by using the first N byte of the user data, a first logical operating unit  150  for encrypting the first N byte of the user data by logical operation with the encrypting key. And the encryption unit  100  includes a second logical operating unit  160  for encrypting remaining user data with the random numbers, and a DCE sending buffer  170  for generating the data frame or the data packet by coupling protocol data with the encrypted user data. 
     The decryption unit  200  includes a DCE receiving buffer  220  for discriminating protocol data and user data from the data frame or the data packet, respectively, and dividing first N bytes from the user data, and a decrypting key unit  230  of storing an N byte-decrypting key. And the decryption unit  200  includes a first logical operating unit  240  for decrypting the first N byte of the user data by logical operation with the decrypting key, and a random number generator  250  for generating (M−N+1) byte-random numbers by using the N byte of the decrypted user data. And the decryption unit  200  includes a second logical operator  260  for decrypting remaining part of the user data by logical operation with the random numbers, and a DTE sending buffer  270  for generating the data frame and the data packet by coupling protocol data with the decrypted user data. 
     FIG. 3A shows a flowchart indicating encrypting steps in the network encryption method according to the present invention. FIG. 3B shows a flowchart indicating decrypting steps in the network decryption method according to the present invention. 
     Referring to FIGS. 3A and 3B, network encryption method according to the present invention includes processes of generating random numbers by using a part of user data and encrypted or decrypted user data at every data frame or data packet according to the random numbers in different ways. 
     The encryption of the user data includes the steps of storing an encrypting key having a fixed length(S 1 ), discriminating protocol data and user data from data frame or data packet, respectively and dividing first N bytes from the user data(S 2 ), generating (M−N+1) byte-random numbers by using the first N byte of the user data in which the random numbers are different from each data frame or data packet (S 3 ), first encrypting the first N byte of the user data by logical operation with the encrypting key(S 4 ), second encrypting remaining part of the user data by logical operation with the random numbers(S 5 ) and generating data frame or data packet by coupling protocol data with the encrypted user data(S 6 ). 
     The decrypting processes of the user data include the steps of storing a decrypting key having N bytes(T 1 ), discriminating protocol data and user data from data frame or data packet, respectively and dividing first N bytes from the user data(T 2 ), first decrypting the first N byte of the user data by logical operation with the decrypting key(T 3 ), generating (M−N+1) byte-random numbers by using the decrypted data in the step T 1 (T 4 ), second decrypting the remaining part of the user data by logical operation with the random number(T 5 ) and generating data frame or data packet by coupling protocol data with the decrypted user data(T 6 ). 
     Now operation of the network encryption apparatus according to the present invention will be explained in detail hereinafter. And it will be explained with a case that a first N byte of the user data is used for initiating the random number generator. 
     The encryption process of the encryption unit  100  is first described. 
     The data frame or the data packet received from the DTE receiving terminal  110  is stored in the DTE receiving buffer  120 . When storing the data frame or the data packet, a tag field which discriminates protocol part and user data from the data frame or the data packet, respectively, is generated and stored on the DTE receiving buffer  120 . And the protocol part is copied and stored in the DCE sending buffer  170 . 
     First N bytes of the user data having total M bytes, i.e. from 0 to N−1 byte, are used for initiating the random number generator  130 . And then, the first N bytes of the user data are encrypted by exclusive OR(XOR) operation with an encryption key in the first logical operation unit  150  and stored in the DCE sending buffer  170 , in which the encryption key stored in the encryption key unit  140 , is N byte long. The first N bytes of the user data become a seed value of the random number generator  130 . 
     And then, remaining part of the user data, i.e. from N to M−1 byte, is encrypted by XOR operation with the random numbers outputted from the random number generator  130  in the second logical operation unit  160  and stored in the DCE sending buffer  170 . The encrypted data frame or data packet stored in the DCE sending buffer  170  is coupled with the protocol unit and then sent to the DCE sending terminal  180 . 
     The first logical operation unit  150  and the second logical operation unit  160  have a plurality of logical operation units connected in parallel. For example, 1 bit-XOR elements are coupled in parallel, in case that the first logical operation unit  150  is 8 bit-XOR element. 
     Next the decrypting process of the decrypting unit  200  is described. 
     The data frame or the data packet received from the DCE receiving terminal  210  is stored in the DCE receiving buffer  220 . When storing the data frame or the data packet, a tag field which discriminates a protocol part and the user data from the data frame or the data packet, is generated and stored at the same time. And the protocol part is copied and stored in the DTE sending buffer  270 . 
     First N bytes of the user data are decrypted by XOR operation with an N byte-decrypting key stored in the decrypting key unit  230 . The XOR operation is carried out by the first logical operation unit  240 . And the first N bytes of the decrypted user data are used for initiating the random number generator  250  and stored in the DTE sending buffer  270 . The first N bytes of the decrypted user data become a seed value of the random number generator  250 . 
     And then, remaining byte of the user data, i.e. from N to M−1 byte, is decrypted by XOR operation with the random numbers outputted from the random number generator  250  in the second logical operation unit  260  and stored in the DTE sending buffer  270 . The decrypted data frame or the packet stored in the DTE sending buffer  270  is coupled with the protocol unit and then sent to the DTE sending terminal  280 . 
     As explained in the encryption unit  100 , the first logical operation unit  240  and the second logical operation unit  260  have a plurality of logical operation units connected in parallel. For example, 1 bit-XOR elements are coupled in parallel, in case that the first logical operation unit  240  is 8 bit-XOR element. 
     Network encryption system according to the present invention initiates the random number generator by using the first N byte of the user data. Therefore, each of the data frame or the data packet is encrypted or decrypted in different ways, therefore having better security level. 
     Additionally, the improved network encryption system may be substituted with the conventional system using the block encryption algorithm with lower security level. And also, various algorithm may be applied to the encryption apparatus by manufacturing random number generator on demand. And it is capable of establishing higher security level because the random number generator is composed by a plurality of logic elements. 
     The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the present invention.