Method of generating a chaos-based pseudo-random sequence and a hardware generator of chaos-based pseudo random bit sequences
First Claim
1. A computer-implemented method for generating a chaos-based pseudo-random sequence (Xn) comprising the steps of:
- defining a chaotic map for generating a pseudo-random sequence of integer numbers (xn) comprised in a certain interval ([0, q]);
defining a function (H(x)) on a first interval (x [0, q]) whose inverse has a plurality of branches;
choosing a seed (x0) of said pseudo-random sequence of integer numbers (xn) comprised in said interval ([0, q]);
generating numbers of said pseudo-random sequence (xn);
calculating numbers of a chaos-based pseudo-random sequence (Xn) by applying said function (H(x)) to corresponding integer numbers of said pseudo-random sequence (xn);
storing said chaos-based pseudo-random sequence (Xn) in a circuit; and
generating encrypted data, using a computer-implemented data generator, on a computer-readable medium by utilizing said chaos-based pseudo-random sequence (Xn) in an encryption application executing on a computer;
wherein said chaotic map is a linear congruential generator defined by;
choosing a first integer number (m);
choosing a second odd integer number (p) greater than the power of 2 raised to said first integer number (2m);
choosing a third integer number (M) much greater than said first integer number (m);
said chaotic map being defined by the following equation;
1 Assignment
0 Petitions
Accused Products
Abstract
A method for generating cryptographically secure (or unpredictable) pseudo-random numbers uses simple functions whose inverse is not a well-defined function and has a large number of branches, although the inverse could be easily computed on each particular branch. In this way the sequence of numbers is practically unpredictable and at the same time may be generated using very simple functions. A generator of such a pseudo-random bit sequence comprises circuit means for storing bit strings representing integer numbers of the pseudo-random sequence; a shift register coupled to the circuit means; a command circuit generating shift commands for the shift register; second circuit means for storing the bits output by the shift register; an adder modulo 2 summing the bits stored in the second circuit means, generating a bit of the chaos-based pseudo-random bit sequence; a second adder summing up the bit strings currently stored in the shift register and in the first circuit means, generating a bit string representing a successive number of the pseudo-random sequence.
56 Citations
12 Claims
-
1. A computer-implemented method for generating a chaos-based pseudo-random sequence (Xn) comprising the steps of:
-
defining a chaotic map for generating a pseudo-random sequence of integer numbers (xn) comprised in a certain interval ([0, q]); defining a function (H(x)) on a first interval (x [0, q]) whose inverse has a plurality of branches; choosing a seed (x0) of said pseudo-random sequence of integer numbers (xn) comprised in said interval ([0, q]); generating numbers of said pseudo-random sequence (xn); calculating numbers of a chaos-based pseudo-random sequence (Xn) by applying said function (H(x)) to corresponding integer numbers of said pseudo-random sequence (xn); storing said chaos-based pseudo-random sequence (Xn) in a circuit; and generating encrypted data, using a computer-implemented data generator, on a computer-readable medium by utilizing said chaos-based pseudo-random sequence (Xn) in an encryption application executing on a computer; wherein said chaotic map is a linear congruential generator defined by; choosing a first integer number (m); choosing a second odd integer number (p) greater than the power of 2 raised to said first integer number (2m); choosing a third integer number (M) much greater than said first integer number (m); said chaotic map being defined by the following equation; - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
9. The method of claim 7, wherein said linear congruential generator is defined by:
-
choosing a first integer number (m); choosing a second odd integer number (p) greater than the power of 2 raised to said first integer number (2m); choosing a third integer number (M) much greater than said first integer number (m); said chaotic map being defined by the following equations;
-
-
10. The method according to claim 1 wherein said third integer number (M) is greater than or equal to 64.
-
11. A generator of chaos-based pseudo-random bit sequences operable in an encryption application, comprising:
-
circuit means for storing bit strings representing integer numbers (xn) of said pseudo-random sequence; a register coupled to said circuit means; an adder modulo 2 summing the k least significant bits of the of the bit string stored in said register, generating a bit (Xn) of said chaos-based pseudo-random bit sequence; a second adder summing up the bit string representing said current number (xn) and the bit string obtained eliminating the k least significant bits of the bit string stored in said register; and a data generator for generating encrypted data on a computer-readable medium based on said pseudo-random sequence.
-
-
12. A generator of chaos-based pseudo-random bit sequences operable in an encryption application, comprising:
-
circuit means for storing bit strings representing integer numbers (xn) of said pseudo-random sequence; a shift register coupled to said circuit means; a command circuit generating shift commands for said shift register; second circuit means for storing the bits output by said shift register; an adder modulo 2 summing the bits stored in said second circuit means, generating a bit (Xn) of said chaos-based pseudo-random bit sequence; a second adder summing up the bit strings currently stored in said shift register and in said first circuit means, generating a bit string representing a successive number (xn+1) of said pseudo-random sequence; and a data generator for generating encrypted data on a computer-readable medium based on said pseudo-random sequence.
-
Specification