Cryptosystem
First Claim
1. A method for encrypting information characters of a message using encryption keys and for decrypting a message so encrypted, using the same keys, comprising the steps of:
- (A) encrypting a plaintext message by the steps of(a) partitioning the characters of the plaintext message into blocks of binary digits;
(b) partitioning each block into subblocks, the number of subblocks being the square of a natural number, the binary content of each subblock corresponding to an element of a Galois-field, the elements of the Galois-field corresponding to the different elements of a square plaintext matrix having an order equal to the natural number;
(c) generating by means of a first encryption key applied to a first matrix generator a first key matrix belonging to a prescribed matrix group over the Galois-field;
(d) multiplying, in a first matrix multiplier, the plaintext matrix by the first key matrix to form an output;
(e) generating by means of a second encryption key applied to a second matrix generator a second key matrix belonging to the same matrix group as the first key matrix;
(f) multiplying, in a second matrix multiplier, the output of the first matrix multiplier left by the second key matrix to form an output constituting an encrypted plaintext block;
(B) transmitting to a receiver the encrypted plaintext block;
(C) decrypting the received encrypted plaintext block by the steps of(g) generating by means of the second encryption key applied to a third matrix generator a third key matrix(h) multiplying the received encrypted plaintext block, in a third matrix multiplier by the third key matrix to form an output;
(i) generating by means of the first encryption key applied to a fourth matrix generator a fourth key matrix;
(j) multiplying the output of the third matrix multiplier in a fourth matrix multiplier by the fourth key matrix to form an output constituting a restored original plaintext matrix; and
(k) decoding the restored original plaintext matrix to provide a restored original plaintext block.
0 Assignments
0 Petitions
Accused Products
Abstract
Encryption and decryption of information of a message is performed by partitioning a plaintext message into blocks of binary digits and by further partitioning said blocks into subblocks which are interpreted as elements in a Galois-field. A plaintext matrix (M) of said elements is multiplied by a first key matrix (A) of a group over said Galois-field, the resulting product M·A) being multiplied by a second key matrix (B) of the same group over said Galois-field. The final product (B·M·A) thus received constitutes the encrypted message block (K). Decryption is performed by multiplying the transmitted product (B·M·A) by inverse key matrices (A-1, B-1) generated by the same keys (a, b) as used for decryption and taken in the proper order. (FIG. 2)
82 Citations
9 Claims
-
1. A method for encrypting information characters of a message using encryption keys and for decrypting a message so encrypted, using the same keys, comprising the steps of:
-
(A) encrypting a plaintext message by the steps of (a) partitioning the characters of the plaintext message into blocks of binary digits; (b) partitioning each block into subblocks, the number of subblocks being the square of a natural number, the binary content of each subblock corresponding to an element of a Galois-field, the elements of the Galois-field corresponding to the different elements of a square plaintext matrix having an order equal to the natural number; (c) generating by means of a first encryption key applied to a first matrix generator a first key matrix belonging to a prescribed matrix group over the Galois-field; (d) multiplying, in a first matrix multiplier, the plaintext matrix by the first key matrix to form an output; (e) generating by means of a second encryption key applied to a second matrix generator a second key matrix belonging to the same matrix group as the first key matrix; (f) multiplying, in a second matrix multiplier, the output of the first matrix multiplier left by the second key matrix to form an output constituting an encrypted plaintext block; (B) transmitting to a receiver the encrypted plaintext block; (C) decrypting the received encrypted plaintext block by the steps of (g) generating by means of the second encryption key applied to a third matrix generator a third key matrix (h) multiplying the received encrypted plaintext block, in a third matrix multiplier by the third key matrix to form an output; (i) generating by means of the first encryption key applied to a fourth matrix generator a fourth key matrix; (j) multiplying the output of the third matrix multiplier in a fourth matrix multiplier by the fourth key matrix to form an output constituting a restored original plaintext matrix; and (k) decoding the restored original plaintext matrix to provide a restored original plaintext block. - View Dependent Claims (2)
-
-
3. Apparatus for encrypting information characters of a message using encryption keys and decryting a message so encrypted using the same keys comprising:
-
(A) means for encrypting a plaintext message including (a) means for partitioning the characters of the plaintext message into blocks of binary digits; (b) means for partitioning each block into subblocks, the number of subblocks being the square of a natural number and the binary content of each subblock corresponding to an element of a Galois-field, the elements of the Galois-field corresponding to the different elements of a square plaintext matrix having an order equal to the natural number; (c) means for generating using a first encryption key applied to a first matrix generator, a first key matrix belonging to a prescribed matrix group over the Galois-field; (d) means for multiplying in a first matrix multiplier the plaintext matrix by the first key matrix to form an output; (e) means for generating with a second encryption key applied to a second matrix generator, a second key matrix belonging to the same matrix group as the first key matrix; (f) means for multiplying in a second matrix multiplier, the output of the first matrix multiplier by the second key matrix to form an output constituting an encrypted plaintext block; (B) means for transmitting the encrypted plaintext block to a receiver; (C) means for decrypting the received encrypted plaintext block including (g) means for generating by a second encryption key applied to a third matrix generator, a third key matrix; (h) means for multiplying the received encrypted plaintext block in a third matrix multiplier from the left by the third key matrix to form an output; (i) means for generating using the first encryption key applied to a fourth matrix generator, a fourth key matrix; (j) means for multiplying the output of the third matrix multiplier in a fourth matrix multiplier by the fourth key matrix to form an output constituting a restored original plaintext matrix; and (k) means for decoding the restored original plaintext matrix to provide a restored original plaintext block.
-
-
4. Apparatus for encrypting information characters of a message using encryption keys and for decrypting a message so encrypted, comprising:
-
(a) means for partitioning the characters of a plaintext message into blocks of binary digits; (b) means for partitioning the blocks of binary digits into subblocks of binary digits, the number of subblocks being equal to the square of a natural number and the binary content of each subblock corresponding to an element of a Galois-field, the elements of the Galois-field corresponding to the different elements of a square plaintext matrix having an order equal to the natural number; (c) first and second encryption keys; (d) a first matrix generator adapted to receive the first encryption key, for generating a first key matrix belonging to a prescribed matrix group over the Galois-field; (e) a second matrix generator adapted to receive the second encryption key, for generating a second key matrix belonging to the prescribed matrix groups; (f) a first matrix multiplier for multiplying the plaintext message by the first key matrix to form an output; (g) a second matrix multiplier for multiplying the output of said first matrix multiplier by the second key matrix to generate an output constituting an encrypted plaintext block; (h) means for transmitting to a receiver the encrypted plaintext block; (i) a third matrix generator adapted to receive the second encryption key for generating a third key matrix; (j) a fourth matrix generator adapted to receive the first encryption key, for generating a fourth key matrix, the third and fourth key matrices being the inverse of the second and first key matrices, respectively; (k) a third matrix multiplier for multiplying the received encrypted plaintext block by the third key matrix to form an output; (1) a fourth matrix multiplier for multiplying the output of the third matrix multiplier by the fourth key matrix to form a restored original plaintext matrix; (m) means for decoding the restored original plaintext matrix to provide a restored original plaintext block. - View Dependent Claims (5, 6, 7, 8, 9)
-
Specification