CIPHERING DEVICE

Abstract: Ciphering device for a flow of data bits to be ciphered, comprising a data input (10) for said flow, and a data output (11) for a ciphered flow of data bits, and a mixing unit (13), a first input thereof being connected to said data input (10), an output thereof being connected to said data output (11), and a second input being connected to a code unit (14) for generating code bits, said code unit (14) being operatively connected to said data output (11) and comprising at least one memory (16) including code bits, an output of said memory being operatively connected to said mixing unit (13). An address generating unit (17) is operatively connected to said memory (16) to address said memory, and a pseudo-random generator (18) is operatively connected to a data input of said memory (16) for generating code bits on the basis of a starting value and for transfering code bits to said memory (16) at any address specified by said address generating unit (17).

Description: CIPHERING DEVICE The invention relates to a ciphering device according to the preamble of claim 1. For the transferring of information it has been known for a long time in different applications to use different methods of ciphering the information before the trans¬ ferring thereof. The first reason for ciphering is that the information should not be possible to read for anybody who accesses the information in an improper way during the transfer. In electronic transfer of information according to different methods, which continuously become more frequently used, the problems of improper access to the information have increased rather than decreased. Several different types of ciphering devices and ciphering methods exist according to prior technique. One previously known method is based on so called block ciphering according to which a data format with fixed block lengths is used. To accomplish the deciphering of data sequencies that are shorter than the block size incoming data must be expanded to the block size used, adding redundant data to the information to be transferred. If block ciphering should be used in a total ciphering of a connection, i.e. for both data and a transfer protocol, block synchronization must be implemented so as to identify the start and the end of transferred blocks, further increasing the amount of redundant data that has to be transferred. Whereas the ciphering process is identical each time it is used two identical messages in plain text will always result in two identical cryptograms. Further¬ more, the complete deciphering key must be involved in the process which in practice delimits the size of the key, requiring in turn frequent changes of the key. Bit sequence cihpering includes implementation of internal registers, which are modified and will effect the ciphering process. As a result two identical messages will be ciphered differently from time to time. Accordingly, th most appropriate block size, i.e. 1, can be used in the ciphering process. The bit sequence generated does not hav to be synchronized with respect to the start and the end of the block, and all types of block sizes of the plain text can be ciphered without any data expansion. However, the internal registers have to be synchronized between a transmitter and a receiver so as to balance the ciphering and the dechipering process. The synchronization is accomplished by transmitting separately an initial value to said receiver. To ensure that the algorithms in said transmitter and said receiver remain synchronized either a data expansion or frequent resynchronizations are required. A different type of prior art ciphering device is disclosed in EP-0309447. By such a device the ciphering is performed according a method called "cipher feed back crypto", and aaccording to said method the synchronization is made automatically as a result of the process without any transfer of an initial value, and accordingly the problems -of data expansion and resynchronization have been overcome. The ciphering device is provided with a sequence of bits to be ciphered and comprises a data input for said sequence, a data output for a ciphered bit sequence and a mixing unit, a first input thereof being connected to said data input, an output thereof being connected to said data output, and a second input thereof being connected to a code unit for generating code bits, said code unit comprising at least one shift register, the input thereof being connected to said data output, and at least one memory storing code bits, said memory being addressed from said shift register for outputing code bits into said mixing unit. To accomplish a safety that is satisfactory according to said method a very large key is required in form of a large amount of code bits. As the key has to be large practical problems will arise in handling said key, and therefore the practical use of said method has been delimited. An object of the present invention is to overcome the problems and drawbacks mentioned above and to accomplish a ciphering device that is independent from blocks and that decreases dramatically the size of the key which has to be distributed to said transmitters and said receivers. These objects have been accomplished according to the invention including the features of the characterising part of claim 1 and claim 5, respectively. The invention will now be described in detail by means of practical embodiments, reference being made to the accompanying drawings, in which FIG. 1 is a block diagram showing a basic circuit for a so called cipher feed back crypto according to prior art technique, FIG. 2 is a block diagram showing the basics of the ciphering device according to the invention, FIG. 3 is a block diagram showing the basics of a deciphering device according to the invention, and FIG. 4 is a block diagram showing a further development of the device according to the invention. In the block diagram of FIG. 1 there is shown a ciphering device according to a prior art technique called "cipher feed back crypto". The device comprises a data input into which a sequence of bits to be ciphered is fed, and a data output 11, from which a ciphered bit sequence is taken. Said data input 10 is connected to a first input of a mixing unit 13, and said data output 11 is connected to an output of said mixing unit 13. Said data output 11 is connected also to an input of a shift register 15 forming part of a code unit 14. Said code unit 14 comprises also a memory 16, which is addressed by outputs of said shift register 15 and which stores code bits for the ciphering process. An output of said memory 16 is connected to a second input of said mixing unit 13. Said mixing unit 13 comprises preferably an EXOR gate. The deciphering accor¬ ding to the described method is a completely reversed process compared to the ciphering process, and therefore a deciphering device comprises corresponding units, that is data input 110, a data output 111, a mixing unit 113, a shift register 115, into which incoming ciphered data bits are fed, and a memory 116. The deciphered sequence of data bits is available on the output of said mixing unit 113. The device according to the invention shown in FIG. 2 comprises, in addition to the means included in the device shown in FIG. 1, also an address selecting means 12, which is provided with a first set of inputs 20, which are connected to outputs of said shift register 15, and a second set of inputs 21, which are connected to outputs of an address generating means 17. Said address selecting means 12 is also provided with a set of outputs 22 which are operatively connected to said memory 16 for addressing said memory. Said address generating means 17 is arranged to address all addresses in said memory 16 that are used for code bits. By said address selecting means 12 addresses to said memory are selected either from said shift register 15 or said address generating means 17. During a ciphering process said memory 16 is addressed by said shift register 15, and in a initiating process the addressing is made by said address generating means 17. The code bits that are stored in said memory 16 in the addresses selected by said address generating means 17 are provided by a pseudo-random generator 17, which preferably comprises a feedback shift register 19. In said pseudo-random generator 18 there is stored a start value which constitutes the key in this device. Means that are not shown are provided for inputting said key into said pseudo-random generator 18 at appro¬ priate points of time. As said pseudo-random generator 18 comprises a shift register 19 a feed back polynomial calculates in a conventional manner a feedback value that is entered into the first position of said shift register 19. Preferably the control unit 23 is arranged for the control of said address generating means and said memory 16, said control unit ensuring that an appropriate selec¬ tion and number of generated code bits is stored in all positions utilized in said memory 16. Advantageously some part or parts of the generated code bits sequence are omitted to render the search of said start value more difficult. By means of the device according to the invention it is possible to utilize a very large matrix in said memory 16, despite said key as such is comparatively small, because said key, that is a start value of a pseudo-random generator 18, is expanded to said matrix by the function of said pseudo-random generator 18. A deciphering device according to the invention and shown in FIG. 3 functions in a way completely corresponding to the ciphering device of FIG. 2, one difference being that said shift register 115 is connected directly to said data input 110. Corresponding means and elements of said deciphering device has been given corresponding reference numerals with an addition of 100. FIG. 4 shows a further development of the device according to the invention, further comprising two sets of shift registers 15,15', address generating means 17,17' and memory units 16,16', all in series. In the embodiment shown only one pseudo-random generator is used, but also two can be utilized. Further developments can be made within the scope of the invention, and alternative units having corresponding functions can be used.

Claims: CLAIMS 1. a ciphering device for a sequence of data bits to be ciphered, comprising a data input (10) for said sequence, a data output (11) for a ciphered sequence of data bits, and a mixing unit j[13), connected by a first input to said data input (10) , connected by an output to said data output (11), and connected by a second input to a code unit (14) for generating code bits, said code unit (14) being operatively connected to said data output (11) and comprising at least one memory (16) in which code bits are stored, an output of said memory (16) being operatively connected to said mixing unit (13), c h a r a c t e r i s e d in that an address generator means (17) is operatively connected to said memory (16) for addressing said memory, and that a pseudo-random generator (18) is operatively connected to a data input of said memory (16) for generating code bits on the basis of a start value and for transferring said code bits to said memory (16) on the addresses selected by said address generating means (17) . 2. Ciphering device according to claim 1, c h a r a c t e r i s e d in that said address generating means (17) is connected to an input of an address selecting means (12), that outputs of a shift register (15) provided in said code unit (14) are connected to a second input of said address selecting means (12), and that outputs of said address selecting means (12) are operatively connected to said memory (16) for addressing said memory. 3. Ciphering device according to claim 1 or 2, c h a r a c t e r i s e d in that said pseudo-random generator (18) comprises a feedback shif register (19) . 4. Ciphering device according to any of claim 1-3, c h a r a c t e r i s e d in that an output of said memory (16) for code bits is operatively connected to an input of a second shift register (15') , and that said second shift register (15') is operatively connected to at least one second memory (16') for outputting code bits to said mixing unit (13) . 5. Deciphering device for a sequence of data bits to be deciphered, comprising a data input (110) for said sequence, a data output (111) for a deciphered sequence of data bits and a mixing unit (113), a first input thereof being connected to said data input (110), an output thereof being connected to said data output (111), and a second input thereof being connected to a code unit (114) for generating code bits, said code unit being operatively connected to said data input (110) and comprising at least one memory (116) in which code bits are stored, an output of said memory (116) being operatively connected to said mixing unit (113), c h a r a c t e r i s e d in that an address generating means (117) is operatively connected to said memory (116) for addressing said memory, and that a pseudo-random generator (118) is operatively connected to a data input of said memory (116) for generating code bits on the basis of its start value and for the transferring of code bits of said memory (116) in the addresses selected by said address generating means (117). 6. Deciphering device according to claim 5, c h a r a c t e r i s e d in that said address generating means (117) is connected to an input of an address selecting means (112), that outputs of a shift register (115) provided in said code unit (114) are connected to a second input of said address selecting means (112), and that outputs of said address selecting means (112) are operatively connected to said memory (116) for addressing said memory. 7. Ciphering device according to claim 5 or 6, c h a r a c t e r i s e d in that said pseudo-random generator (118) comprises a feedback shift register (119). 8. Deciphering device according to any of claim 5-7, c h a r a c t e r i s e d in that an output for code bits of said memory (116) is operatively connected to an output of a second shift register (15'), and that said second shift register (15') is operatively connected to address inputs of a second memory (16') for outputting code bits to said mixing unit (13) .

Inventors: SANTESSON STEFAN, SANTESSON, STEFAN
Applicants: SECURICRYPTO AB
Application year: 1992
Main classification: G09C1
IPC codes: G09C5