US 20030091193 A1 Abstract Method for the encryption of data as well as a corresponding decryption method are set forth. In order to guarantee a secure transmission of data with relatively little effort, an encryption method is provided in which a key vector with a second length is generated from a secret key information vector with a short length and a public matrix with a size corresponding to the first length times a second length, which is greater than the first size, and in which an encryption vector is formed by means of a first encryption method from a data vector with a third length, which is less than or equal to the second length, and the key vector.
Claims(29) 1. A method for the encryption of data, comprising:
a) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix; and b) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method. 2. Method according to a) the matrix, whose elements are randomly generated bits, has a height and width of the first and second length, respectively, comprising small matrix vectors with the short length and large matrix vectors with the long length. 3. Method according to a) the small matrix vectors are not identical and not equal to zero. 4. Method according to a) the key information vector specifies which of the large matrix vectors is to be used for determining the key vector. 5. Method according to a) the small matrix vectors are multiplied bit by bit with the key information vector and the digits of the key vector are formed from the values created by these multiplications by way of an XOR link. 6. Method according to a) the first encryption method is a symmetric encryption method in which the elements of the key vector and the data vector are interlinked. 7. Method according to a) in the first encryption method one element of the encryption vector is determined from one element of the key vector and one element of the data vector by way of an XOR link. 8. Method according to a) the key information vector is encrypted by means of a second encryption method. 9. A method for decryption of encrypted data, comprising:
a) providing encrypted data, the encrypted data having been encrypted by a method for the encryption of data including encrypting data by:
i) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix; and
ii) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method;
b) forming a key vector with a long second length from a key information vector with a short first length and a public matrix; and c) forming a data vector with the long second length from an encryption vector with the long second length and the key vector by means of the first decryption method. 10. Method according to a) the first decryption method corresponds to the first encryption method and contains a link between the elements of the key vector and the encryption vector by way of an XOR link including the elements of the data vector. 11. A method for the encrypted transmission of data from a transmitter to a receiver, comprising:
a) providing a transmitter which generates encryption vectors from data vectors, a key information vector and a public matrix by way of a method for the encryption of data, the method including:
i) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix;
ii) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by way of the first encryption method;
b) sending the encryption vectors and the key information vector to a receiver; c) the receiver decrypting the encryption vectors from the public matrix and the key information vector by a method for decryption of encrypted data, the method for decryption of encrypted data including:
i) providing encrypted data, the encrypted data having been encrypted by a method for the encryption of data, including encrypting data by:
1) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix;
2) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by use of a first encryption method;
3) forming a key vector with a long second length from a key information vector with a short first length and a public matrix; and
4) forming a data vector with the long second length from an encryption vector with the long second length and the key vector by use of the first decryption method.
12. Method according to a) the key information vector is encrypted by the transmitter by use of a public key; b) the encrypted key information vector is sent to the receiver, and c) the receiver obtains the key information vector from the encrypted key information vector by use of a private key from the encrypted key information signals. 13. Method according to a) the data vectors transmitted contain a second key information vector that is used to calculate a new key by means of the public matrix in a subsequent encryption method of the transmitter and decryption method of the receiver. 14. Device for encryption of data, comprising:
a) a key calculation device configured for calculating a key victor with a long second length from a key information vector with a short first length and a matrix; b) a first encryption device configured for recording the key vector and a data vector with a third length, the third length being less than or equal to the long length; c) the first encryption device configured for supplying an encryption vector with the long length; d) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix; and e) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by use of the first encryption method. 15. Device according to a) a second encryption device configured for encrypting the key information vector is provided. 16. Device according to a) the first encryption device includes a parallel computation device for the parallel calculation of the elements of the key vector; and b) the first encryption method is a symmetric encryption method in which the elements of the key vector and the data vector are interlinked. 17. Device for decryption of encrypted data, comprising:
a) a key calculation device for calculating the key vector with a long second length from a key information vector with a short first length and a matrix; b) a decryption device for recording an encryption vector with the long length and the key vector and for supplying a data vector with the long second length; c) the device forming a key vector with the long second length from a key information vector with the short first length and a public matrix; and d) the device forming the data vector with the long second length from an encryption vector with the long second length and the key vector by use of the first decryption method. 18. Device according to a) a second decryption device for recording a encrypted key information vector and a private key and for supplying the key information vector is provided. 19. An encryption signal, comprising:
a) at least one encryption vector; and b) the at least one encryption vector having been generated by a method including:
i) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix; and
ii) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method.
20. Computer program, comprising:
a) executing at least one of a method for the encryption of data and a method for the decryption of data; b) the method for the encryption of data, comprising:
i) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix; and
ii) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method;
c) the method for the decryption of data, including:
i) providing encrypted data, the encrypted data having been encrypted by a method for the encryption of data including encrypting data by:
1) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix;
2) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method;
ii) forming a key vector with a long second length from a key information vector with a short first length and a public matrix; and
iii) forming a data vector with the long second length from an encryption vector with the long second length and the key vector by means of a first decryption method.
21. Computer-readable medium containing instructions for controlling a computer system to at least one of encrypt and decrypt data, by:
a) executing at least one of a first group of instructions and a second group of instructions; b) the first group of instructions including:
ii) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method;
c) the second group of instructions including:
i) providing encrypted data, the encrypted data having been encrypted by a method for the encryption of data including encrypting data by:
1) generating a key vector with a long second length from a secret key information vector with a short first length and a public matrix;
2) forming an encryption vector from a data vector with a third length, which third length is shorter than or equal to the second length, and the key vector by means of a first encryption method; and
d) forming a key vector with a long second length from a key information vector with a short first length and a public matrix. 22. Method according to a) the large matrix vectors are identical and not equal to zero. 23. Method according to a) the first encryption method includes a stream encryption method. 24. Method according to a) the key information vector is encrypted by use of an asymmetric encryption method. 25. Method according to a) the key information vector is encrypted by use of an RSA method. 26. Method according to a) the first decryption method corresponds to the first encryption method and contains a link between the elements of the key vector and the encryption vector by way of an XOR link including the elements of the data vector. 27. Method according to a) the key information vector is encrypted by the transmitter by use of an asymmetric encryption method. 28. Device according to a) the second encryption device encrypts the key information vector by use of a public key. 29. Device according to a) the first decryption method corresponds to the first encryption method and contains a link between the elements of the key vector and the encryption vector by way of an XOR link including the elements of the data vector. Description [0001] This application claims the priority of German Application No. 101 48 415.1, filed Sep. 29, 2001, and which is incorporated herein by reference. [0002] The invention relates to a method and a device for the encryption as well as decryption of data and a method of transmission making use of such a method. [0003] As a rule, when confidential data are transmitted via insecure channels, the data are encrypted on the transmitter side, the encrypted data transmitted, and the encrypted data decrypted again by the receiver. To do this, various encryption or cryptographic methods are known: [0004] The role of traditional cryptographic methods employing, for example, transposition encryption and simpler or more complex substitutions has now become practically insignificant because methods of attack are generally known for this; therefore, there can be no adequate guarantee of security against decryption by third parties. [0005] In the so-called secret key methods transmitter and receiver employ a secret code that should not be known to attackers. Block encryption, stream encryption and encryption via hash functions are known in this respect. Block encryption methods contain symmetric algorithms that process the original data or the plain text block by block, whereby a fixed block size is specified. [0006] Stream encryption methods are symmetric methods that process the plain text bit by bit or byte by byte, e.g. One-Time-Pad, RC4, SEAL, WAKE, FCSRs. In the One-Time-Pad method the plain text is reproduced by bit vectors of length l, whereby each bit vector is encrypted with a secret key vector of length p>l. In this case every data vector of the plain text is interlinked with the key vector bit by bit by way of XOR so that a bit string of length r is output. Hence, the encrypted text contains a sequence of bit vectors with length r and is sent to the receiver. The receiver can then link the encryption vectors with the key vector again bit by bit by way of XOR and from this obtain the data vectors of the plain text again. In doing so, the mathematical property of the XOR function is exploited such that the duplicated XOR linking of a first Boolean variable with a second Boolean variable leads to the first Boolean variable again, which means that the XOR link is an inversion in itself. [0007] This method of encryption—like other stream encryption methods—is secure when a sufficiently large key vector is used. In this respect, bit vectors of length, for example, r=65 536 bits are normally used. High data rates exceeding 1 MB/s or even 1 GB/s are possible with such secret key methods. [0008] However, one particular problem is the transmission of the secret key that the receiver requires to decrypt the information. The transmission and secure storage of the key is, in cryptographic terms, a weak point with regard to attack by third parties, which means that secret key methods are used only to a limited extent. [0009] Asymmetric methods, also called public key methods, are also known. In these methods there is a public key that can be used by anyone to encrypt a plain text and send the encrypted text to the receiver. The receiver has a private key with which he can decrypt the encrypted information. The private key is known only to the receiver; and when the code is sufficiently long, the private key also cannot be derived from the public key with a feasible computational effort. Examples of asymmetric methods regarded as secure are, in particular, RSA, Rabin, ElGamal, McEliece, cryptosystems based on elliptical curves and probabilistic public key encryption. The latter employs random values for the encryption. [0010] The disadvantage of the public key method, especially the probabilistic public key method, is the high computational effort required on both the transmission and the reception side. Data rates of 1 MB/s, e.g. 1024 bits—regarded these days as a secure key length—for RSA, are only possible at present with special hardware; data rates of 1 GB/s cannot be achieved with the hardware currently available. [0011] It is an object of the invention to supply improvements as compared to the state of the art and, in particular, to create methods for encrypting a plain text, decrypting the encrypted text, suitable devices for doing this and a method of transmission making use of the encryption and decryption method according to the invention in which a high level of security against unauthorized access by third parties is guaranteed but the computational effort is nonetheless not excessive so that even high data rates are possible and, advantageously, processing in real time is made possible. In doing so, it should be regarded as an advantage when the security against unauthorized access is at least as high as with the known methods. [0012] This object is achieved by an inventive encryption method for the encryption of data in which a key vector with a long second length is generated from a secret key information vector with a short first length and a public matrix; and an encryption vector is formed from a data vector with a third length, which is shorter than or equal to the second length, and the key vector by means of a first encryption method. [0013] This object is likewise achieved by an inventive decryption method for decryption of encrypted data, which have been formed by an encryption method according to the invention, in which a key vector with a long second length is formed from a key information vector with a short first length and a public matrix; and a data vector with the long second length is formed from an encryption vector with the long second length and the key vector by means of a first decryption method. [0014] This object is achieved by an inventive method for the encrypted transmission of data from a transmitter to a receiver in which the transmitter generates encryption vectors from data vectors, a key information vector and a public matrix by way of an inventive encryption method, the encryption vectors and the key information vector are sent to a receiver, and the receiver decrypts the encryption vectors from the public matrix and the key information vector by means of an inventive method for the decryption of encryption data. [0015] This object is achieved as well by the inventive devices for performing the inventive encryption and decryption methods according to any of the embodiments of the invention, such as an inventive device for encryption of data by means of an inventive encryption method, the encryption device including a key calculation device for calculating a key vector with a long second length from a key information vector with a short first length and a matrix, and a first encryption device for recording the key vector and a data vector with a third length, which is less than or equal to the long length, and supplying an encryption vector with the long length. [0016] There is likewise an inventive device for decryption of encrypted data by means of one of the inventive decryption methods, the device including a key calculation device for calculating the key vector with a long second length from a key information vector with a short first length and a matrix; and a decryption device for recording an encryption vector with the long length and the key vector and for supplying a data vector with the long second length. [0017] The object is achieved by a computer program for executing the inventive methods and controlling the inventive device. [0018] A computer-readable medium is provided that contains instructions for controlling a computer system to perform any of the inventive methods and to control any of the devices. [0019] A concept behind the invention is to encrypt a plain text making use of a secret key and not to transmit the key itself but instead to send to the receiver only information of minimum length from which the key can be generated. For this purpose, the public key available to both transmitter and receiver is a table or matrix with p rows and r columns (or vice versa) whose elements are randomly determined single bits. [0020] For encryption, in a first step the transmitter generates the key with the greater length from this table using the key information and subsequently applies a first encryption method with the help of the key obtained in this way. This encryption method can be, in particular, stream encryption, e.g. the One-Time-Pad method, that enables a high encryption speed and a high level of security against decryption without knowledge of the key. According to the invention, in order to do this the plain text is subdivided into data vectors with a third length that is less than or equal to the long length and can be encrypted directly using the key with the greater length. As a rule, the third length advantageously corresponds to the long length; however, for example, residual bits can also be placed in smaller data vectors or the data vectors filled up correspondingly with zeros. The subdivision of the data into data vectors and the linking of each one of them with the key vector can, for example, also be achieved by linking the bit string of the data continuously with a bit string from consecutive key vectors without individual data vectors being explicitly formed and temporarily stored. [0021] The relatively small amount of key information can in this case be encrypted by means of a secure second encryption method requiring somewhat more intensive computational effort, e.g. a public key method such as RSA, and transmitted to the receiver. As the key information has a shorter length than the key used for the first encryption method, the computational effort for encrypting and decrypting the key information is not excessive. The receiver again obtains the key from the key information and the public table and can thus retrieve the plain text by using a second decryption method. [0022] In the randomly generated table or matrix, pair-by-pair equality and the occurrence of zero vectors can be excluded as a restrictive criterion in order to increase the level of security. Furthermore, when generating the key information vector a restrictive criterion can be to set the number of zeros and ones to be approximately equal, e.g. by stipulating upper and lower limits for zeros or ones about the middle value (p/2). [0023] According to the invention, compared to a conventional secret key method there is a considerable reduction in computational effort because merely the relatively small amount of key information needs to be transmitted in order to transmit the secret key. The information can therefore be encrypted with a high level of security by using a secure method involving intensive computations. In doing so, for example, key information with 256 bits can be used to identify a key with 65 536 bits. [0024] The generation of the key with the long length r from the key information with short length p and the p×r matrix can be achieved, for example, by the transmitter selecting t integers at random from the integers 0 to p−1, whereby, for example, t=p/2. The rows in the table corresponding to these integers are linked bit by bit by means of XOR to form a bit string r, from which the key vector can be obtained. As an alternative to this method, somewhat modified methods are basically possible in accordance with the invention, e.g. using the inverse function on the key vector obtained in this way. The bit vector that identifies the t integers is encrypted as a key information vector by the second encryption method and sent to the receiver. [0025] The calculations for obtaining the key vector from key information vector and table or matrix can be carried out—at least partly—by means of hardware in particular by calculating the individual digits of the key vector by way of suitable hardware circuitry from the digits of the matrix and the key information vector. The XOR linking of data vector and key vector at the transmitter—or encryption vector and key vector at the receiver—can also be carried out by suitable hardware to create a method that can be carried out fast but still guarantee a high level of security. Consequently, a very secure but slow second encryption method for the key information can be combined with the fast, first encryption method for the plain text. [0026] According to the invention the key information can advantageously be encrypted with and transmitted as part of the plain text in an. Consequently, in the first data transmission from transmitter to receiver merely the key information is encrypted, transmitted and subsequently decrypted again by means of the second encryption method. In the subsequent encryption method the key information transmitted previously in plain text can be used by the receiver to decrypt the encrypted data in order to reduce the effort required to encrypt and decrypt the key information. In doing so, new key information can be provided, in particular successively, by the transmitter every time in plain text from which the receiver can obtain new key information in each case for the decryption of the following encrypted data, whereby in each case the same public table can be used without having to accept drawbacks in terms of security. Therefore, in this preferred further development maximum data rates are possible without having to compromise security. [0027] Relative terms such as up, down, left, right, row, column, height, width, and the like are for convenience only and are not intended to be limiting. [0028] The invention is explained in more detail below by way of a number of embodiments with the help of the accompanying drawings. [0029]FIG. 1 shows an example of a random matrix for the encryption and decryption method according to the invention; [0030]FIG. 2 shows the step for generating a key from the matrix and key information; [0031]FIG. 3 shows the step for encrypting the plain text by means of the key; [0032]FIG. 4 shows the data sent to the receiver; [0033]FIG. 5 shows the step for decrypting the encrypted data at the receiver; [0034]FIG. 6 shows the transmission of new key information according to an embodiment of the invention; [0035]FIG. 7 shows a block diagram of a transmitting device and receiving device according to an embodiment of the invention; and [0036]FIG. 8 shows a block diagram of a transmitting device and receiving device according to a further embodiment of the invention. [0037]FIG. 1 shows a random matrix M whose elements M [0038] According to FIG. 7 a receiver [0039] The key calculation device [0040] According to FIG. 7 the key vector S obtained in this way is input together with a data vector D (consisting of components DR and SI [0041] According to FIG. 7 the key information vector SI is further encrypted in a second encryption device [0042] The receiver first uses his private key K2 to decrypt the encrypted key information vector CSI in a second decryption device [0043] For simplification, FIG. 6 shows the generation of the encryption vector C directly from a linking of the data vector D and the relevant rows of the matrix M without illustrating the key vector S. According to FIG. 6 a second key information vector SI [0044] This is shown in more detail in FIG. 8. The second key information vector SI [0045] The second key information vector SI [0046] This method can be repeated for every data transmission so that the key vector is altered successively, which makes unauthorized decryption more difficult at least. [0047] It will be seen that the invention includes at least the following 21 features: [0048] 1. A method for the encryption of data is provided in which a key vector (S) with a long second length (r) is generated from a secret key information vector (SI) with a short first length (p) and a public matrix (M), and an encryption vector (C) is formed from a data vector (D) with a third length (l), which is shorter than or equal to the second length (r), and the key vector (S) by means of a first encryption method. [0049] 2. Method according to Feature 1, in which the matrix (M), whose elements (M [0050] 3. Method according to Feature 1 or 2, in which the small matrix vectors (V1), preferably also the large matrix vectors (V2), are not identical and not equal to zero. [0051] 4. Method according to one of the above Features, in which the key information vector (SI) specifies which of the large matrix vectors (V2) is to be used for determining the key vector (S). [0052] 5. Method according to Feature 4, in which the small matrix vectors (V1) are multiplied bit by bit with the key information vector (SI) and the digits of the key vector (S) are formed from the values created by these multiplications by way of an XOR link. [0053] 6. Method according to one of the above Features, in which the first encryption method is a symmetric encryption method, preferably a stream encryption method, in which the elements of the key vector (S) and the data vector (D) are interlinked. [0054] 7. Method according to Feature 6, in which in the first encryption method one element of the encryption vector (C) is determined from one element of the key vector (S) and one element of the data vector (D) by way of an XOR link. [0055] 8. Method according to one of the above Features, in which the key information vector (SI) is encrypted by means of a second encryption method, preferably an asymmetric encryption method, e.g. an RSA method. p [0056] 10. Method according to Feature 9, in which the first decryption method corresponds to the first encryption method and contains a link between the elements of the key vector (S) and the encryption vector (C) by way of an XOR link resulting to the elements of the data vector (D). [0057] 11. Method for the encrypted transmission of data from a transmitter ( [0058] 12. Method according to Feature 11, in which the key information vector (SI) is encrypted by the transmitter by means of a public key (K1), e.g. an asymmetric encryption method, and the encrypted key information vector (CSI) is sent to the receiver ( [0059] 13. Method according to Features 11 or 12, in which the data vectors (D) transmitted contain a second key information vector (SI [0060] 14. Device for encryption of data by means of a method according to one of the Features 1-8 with a key calculation device ( [0061] 15. Device according to Feature 14, in which it has a second encryption device ( [0062] 16. Device according to Feature 14 or 15 for executing a method according to Features 6 or 7, in which the first encryption device ( [0063] 17. Device for decryption of encrypted data by means of a method according to Features 9 or 10, with a key calculation device ( [0064] 18. Device according to Feature 17, in which it has a second decryption device ( [0065] 19. Encryption signal comprising one or more encryption vectors (V) produced by a method according to one of the Features 1-8. [0066] 20. Computer program comprising computer-executable instructions for executing a method according to one of the Features 1 to 8 or according to one of the Features 9 to 10 on a computer. [0067] 21. Computer program product or computer-readable medium comprising computer-compatible instructions for carrying out a method according to one of the Features 1 to 8 or according to one of the Features 9 to 10 on a computer. [0068] While this invention has been described as having a preferred design, it is understood that it is capable of further modifications, and uses and/or adaptations of the invention and following in general the principle of the invention and including such departures from the present disclosure as come within the known or customary practice in the art to which the invention pertains, and as may be applied to the central features hereinbefore set forth, and fall within the scope of the invention or limits of the claims appended hereto. Referenced by
Classifications
Legal Events
Rotate |