Cipher mixer with random number generator
First Claim
Patent Images
1. An encryption device comprising:
- a random number generator;
a first block cipher mechanism which takes a plaintext input and which produces a first enciphered output based on the plaintext and on a first key;
an exclusive-or mechanism which takes as input the first enciphered output from the first block cipher and the output of the random number generator and which produces a combined output being an exclusive-or combination of the two inputs;
a second block cipher mechanism which takes as input the output of the exclusive-or mechanism and which produces a second enciphered output based on the output of the exclusive-or mechanism and on a second key; and
a third block cipher mechanism which takes as input the output of the random number generator and which produces a third enciphered output based on the output of the random number generator and on a third key, wherein the first and second block cipher mechanisms differ from each other.
1 Assignment
0 Petitions
Accused Products
Abstract
An encryption device has a random number generator whose output is combined by exclusive-or with plaintext input which has been encrypted by a first block cipher. The combined exclusive-or output is encrypted with a second block cipher mechanism which produces a second enciphered output. The output of the random number generator is also encrypted by a third block cipher mechanism which produces a third enciphered output. The first and second block cipher mechanisms differ from each other.
66 Citations
29 Claims
-
1. An encryption device comprising:
-
a random number generator;
a first block cipher mechanism which takes a plaintext input and which produces a first enciphered output based on the plaintext and on a first key;
an exclusive-or mechanism which takes as input the first enciphered output from the first block cipher and the output of the random number generator and which produces a combined output being an exclusive-or combination of the two inputs;
a second block cipher mechanism which takes as input the output of the exclusive-or mechanism and which produces a second enciphered output based on the output of the exclusive-or mechanism and on a second key; and
a third block cipher mechanism which takes as input the output of the random number generator and which produces a third enciphered output based on the output of the random number generator and on a third key, wherein the first and second block cipher mechanisms differ from each other.
-
-
2. A device as in claim I wherein the first, second and third block cipher mechanisms are selected from the group comprising:
- an IDEA block cipher and a Blowfish block cipher.
- View Dependent Claims (3, 4, 5)
-
6. A device as in claim I wherein the random number generator is a true random number generator.
-
7. An encryption device comprising:
-
a true random number generator which generates a sequence of 64-bit random values;
a first block cipher mechanism implementing a Blowfish block cipher which takes a 64-bit plaintext input and which produces a first enciphered output based on the plaintext and on a 128-bit first key;
an exclusive-or mechanism which takes as input the first enciphered output from the first block cipher and the output of the true random number generator and which produces a combined output being an exclusive-or combination of the two inputs;
a second block cipher mechanism implementing an IDEA block cipher which takes as input the output of the exclusive-or mechanism and which produces a second enciphered output based on the output of the exclusive-or mechanism and on a second 128-bit key; and
a third block cipher mechanism implementing the Blowfish block cipher which takes as input the output of the random number generator and which produces a third enciphered output based on the output of the random number generator and on a 256-bit key.
-
-
8. A device for decrypting an input stream comprising encrypted data, the data including plaintext, the device comprising:
-
a demultiplexer for splitting the input stream into a first and a second stream;
a first block cipher mechanism for decrypting the first stream based on a first key to produce a third stream;
a second block cipher mechanism for decrypting the second stream based on a second key to produce a fourth stream;
an exclusive-or mechanism to combining the third and fourth streams into a fifth stream; and
a third block cipher mechanism for decrypting the fifth stream based on a third key to produce the plaintext, wherein the first and third block cipher mechanisms differ from each other. - View Dependent Claims (9, 10, 11)
-
-
12. A method of encrypting plaintext data comprising:
-
encrypting the plaintext data with a first block cipher mechanism to produce first encrypted data;
producing a sequence of random values;
combining the first encrypted data with the sequence of random values;
encrypting, with a second block cipher mechanism, the combined first encrypted data and the random values to produce second encrypted data;
encrypting the sequence of random values with a third block cipher mechanism to produce encrypted random values; and
combining the encrypted random values with the second encrypted data to produce the encrypted plaintext data, wherein the first and second block cipher mechanisms differ from each other. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method for decrypting an input stream comprising encrypted data, the data including plaintext, the method comprising:
-
splitting the input stream into a first and a second stream;
decrypting, using a first block cipher mechanism, the first stream based on a first key to produce a third stream;
decrypting, using a second block cipher mechanism, the second stream based on a second key to produce a fourth stream;
combining the third and fourth streams into a fifth stream; and
decrypting, using a third block cipher mechanism, the fifth stream based on a third key to produce the plaintext, wherein the first and third block cipher mechanisms differ from each other. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A data processing method for communicating data between a first and a second computers, the method comprising:
-
(A) on the first computer;
(a) encrypting plaintext data with a first block cipher mechanism to produce first encrypted data;
(b) producing a sequence of random values;
(c) combining the first encrypted data with the sequence of random values;
(d) encrypting, with a second block cipher mechanism, the combined first encrypted data and the random values to produce second encrypted data;
(e) encrypting the sequence of random values with a third block cipher mechanism to produce encrypted random values;
(f) combining the encrypted random values with the second encrypted data to produce the encrypted plaintext data; and
(g) transmitting the combined data to the second computer, wherein the first and second block cipher mechanisms differ from each other, (B) on the second computer;
(a) obtaining as an input stream the transmitted combined data from the first computer;
(b) splitting the input stream into a first and a second stream;
(c) decrypting, using a fourth block cipher mechanism, the first stream to produce a third decrypted stream;
(d) decrypting, using a fifth block cipher mechanism, the second stream to produce a fourth decrypted stream;
(e) combining the third a nd fourth decrypted streams into a fifth decrypted stream; and
(f) decrypting, using a sixth block cipher mechanism, the fifth decrypted stream to produce the plaintext. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification