EP0802653A2

Multi-cycle non-parallel data encryption engine

Abstract

A multi-cycle, non-parallel DES encryption scheme that supports CBC, OFB, CFB, and ECB modes of operation. Three independent cipher stages are coupled together in series in order to implement a high-speed DES core. Sixteen cipher operations are required for DES encryption and decryption. Hence, the data is routed through the DES core five times. On the sixth pass, the encrypted/decrypted data is taken from the output of the first cipher stage. This output can then be used to encrypt/decrypt any subsequent input data. A different key is supplied to each of the cipher stages for each cycle.

EP0802653A2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 15 April 2017, 9.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

13 claims: 8 independent, 5 dependent

  1. 1
    A method for safeguarding data transmissions, comprising the steps of:inputting data to a first cipher stage of a plurality of cipher stages that are coupled in series, wherein the data is encrypted by each of the cipher stages and encrypted data generated by one of the cipher stages is input to a following cipher stage;feeding back an output from a last cipher stage of the plurality of cipher stages to the first cipher stage;cycling through the plurality of cipher stage N times;selecting from one of the plurality of cipher stages as a final encrypted data for output.
  2. 2
    A method of encrypting or decrypting data, comprising the steps of:a) inputting the data to an XOR gate;b) XORing the data with an output from a first cipher stage;c) multiplexing an output from the XOR gate with an output from a third cipher stage;d) storing an output signal from the multiplexer in a register;e) encrypting data stored in the register by the first cipher stage to generate a first encrypted block of data;f) generating a second encrypted block of data by a second cipher stage processing the first encrypted block of data;g) generating a third encrypted block of data by the third cipher stage processing the second encrypted block of data;h) repeating steps e-f five times;i) inputting a signal from the third cipher stage after the fifth time and taking the output signal from the first cipher stage such that the data is encrypted through sixteen cycles.
  3. 5
    The method of any one of the preceding claims wherein the cipher stages encrypt the data according to a plurality of keys which are different for each cipher stage of each cycle of the encryption process.
  4. 6
    The method of any one of the preceding claims wherein there are three cipher stages, N equals 5, and the final output is taken from the output from the first cipher stage, such that the data is encrypted sixteen times.
  5. 9
    An apparatus for encoding or decoding data comprising:an XOR gate for XORing the data with previously encrypted data;a multiplexer coupled to the XOR gate, wherein the multiplexer selects between an output from the XOR gate and an output from a last cipher block as an input to a first cipher block;a plurality of cipher blocks coupled in series to the multiplexer, wherein the data is encrypted by each of the cipher stages and encrypted data processes by one cipher stage is input to a following cipher stage;a feedback path coupled from an output of the last cipher stage to an input of the first cipher stage, wherein the data is encrypted N cycles through the plurality of cipher stages;an output register coupled to one of the plurality of cipher stages for storing the encrypted data.
  6. 11
    The apparatus of Claims 9 or 10, wherein the cipher blocks encrypt the data according to a plurality of keys which are different for each cipher stage of each cycle of the encryption process.
  7. 12
    The apparatus of Claims 9, 10 or 11, wherein there are three cipher blocks, N equals 5, and the final output is taken from the output from the first cipher block, such that there are sixteen cipher cycles.
  8. 13
    The apparatus of Claims 9, 10, 11, or 12, wherein the cipher stages include data encryption standard cipher block chaining, output feedback, cipher feedback, and electronic codebook modes of operation.