WO0046954A1

Method and apparatus for generating encryption stream ciphers

Abstract

A method and an apparatus for generating encryption stream ciphers are based on a recurrence relation designed to operate over finite fields larger than GF(2). A non-linear output can be obtained by using one or a combination of non-linear processes to form an output function. The recurrence relation and the output function can be selected to have distinct pair distances such that, as the shift register (52) is shifted, no identical pair of elements of the shift register (2) are used twice in either the recurrence relation or the output function. Under these conditions, the recurrence relation and the output function also can be chosen to optimize cryptographic security or computational efficiency. Moreover, it is another object of the present invention to provide a method of assuring that the delay that results for the encryption process does not exceed predetermined bounds. To this end the ciphering delay is measured and if the estimated delay exceeds a predetermined threshold a second ciphering method is employed to limit the accumulated delay of the ciphering operation.

WO0046954A1, drawing sheet 1
Sheet 1 of 20

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

54 claims: 5 independent, 49 dependent

  1. 1
    CLAIMS 1. An apparatus for encrypting data comprising :first generator for generating a first key stream;second generator for generating a second key stream;combiner for receiving said first key stream and said data and for combining said first key stream and said data to provide encrypted data;and delay measurement means for measuring the delay in the generation of said first key stream by said first generator;wherein said combiner is further for receiving said second key stream and said data and for combining said second key stream and said data to provide encrypted data when said measured delay exceeds a predetermined threshold.
  2. 2
    The apparatus of Claim 1 wherein said first generator generates said first key stream in accordance with a predetermined decimation algorithm.
  3. 3
    The apparatus of Claim 1 wherein said first generator comprises:linear generator means for generating a random sequence of symbols in accordance with a linear generating format;non linear generator for performing a non linear operation on said random sequence of symbols to provide a second random sequence of symbols;and pseudorandom decimator for gating out portions of said second random sequence of symbols.
  4. 4
    The apparatus of Claim 3 wherein said second generator comprises:linear generator means for generating a random sequence of symbols in accordance with a linear generating format;and non linear generator for performing a non linear operation on said random sequence of symbols to provide a second random sequence of symbols.
  5. 7
    The apparatus of Claim 3 wherein said linear generator is implemented with a linear feedback shift register.
  6. 8
    The apparatus of Claim 7 wherein said delay measurement means measures the number of shifts of said linear feedback shift register.
  7. 11
    A method for encrypting data comprising :generating a first key stream;generating a second key stream;combining said first key stream and said data to provide encrypted data;and measuring the delay in the step of said first key stream;combining said second key stream and said data to provide encrypted data when said measured delay exceeds a predetermined threshold.
  8. 12
    The method of Claim 11 wherein said step of generating said first key stream is performed in accordance with a predetermined decimation algorithm.
  9. 13
    The method of Claim 11 wherein said step of generating said first key stream comprises the steps of:generating a random sequence of symbols in accordance with a linear generating format;performing a non linear operation on said random sequence of symbols to provide a second random sequence of symbols;and gating out portions of said second random sequence of symbols.
  10. 14
    The method of Claim 13 wherein said step of generating said second key stream comprises the steps of:generating a random sequence of symbols in accordance with a linear generating format;and performing a non linear operation on said random sequence of symbols to provide a second random sequence of symbols.
  11. 16
    The method of claim wherein said step of generating said first random sequence of symbols in accordance with a linear generating format generates said first random sequence in accordance with the recurrence relation S n+17 = (206 ® S n+15 ) θ S n+4 θ (99 ® S n ), where the operations are defined over Q GF(2 ), _ is the exclusive-OR operation on two bytes, and _ is a polynomial modular multiplication.
  12. 17
    The method of Claim 13 wherein said step of generating said first random sequence is implemented with a linear feedback shift register.
  13. 18
    The method of Claim 17 wherein said step of measuring said delay is performed by counting the number of shifts of said linear feedback shift register.
  14. 21
    A method for generating a stream cipher, comprising :selecting a finite field having an order greater than two;selecting a recurrence relation over said finite field;selecting an output function;and computing said stream cipher in accordance with said recurrence relation and said output function, wherein said recurrence relation and said output function have distinct pair differences, and said recurrence relation and said output function are chosen to optimize a performance criterion based on cryptographic security and computational efficiency.
  15. 46
    47. An apparatus for generating a stream cipher comprising :a processor for receiving instructions for performing a recurrence relation and an output function, said processor performing manipulations on elements in accordance with said instructions, wherein said recurrence relation and said output function have distinct pair differences, and said recurrence relation and said output function are chosen to optimize a performance criterion based on cryptographic security and computational efficiency.