Encryption/decryption system and method
First Claim
1. A method of encrypting a plain text message that is m characters in length, the method comprising:
- generating a one off random key having a length of m characters, the random key using a character set and modulus that is compatible with the plain text message;
performing a first substitution encryption of the plain text message using the generated random key;
generating a string of random fill characters that is f characters in length, f being a number from zero to infinity;
concatenating the generated random key and the string of random fill characters to the encrypted plain text message to generate an encrypted message string, wherein the encrypted message string has a length 2m+f;
performing one or more additional encryptions, selected from the set of substitution encryptions and transposition encryptions, on the encrypted message string to generate a final message string, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than 2m+f characters, and a subset of the first pseudorandom string having a length of at least 2m+f is selected from a position that is different from a first position of the first pseudorandom string; and
transmitting the final message string to a receiver.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of encrypting a plain text message that is m characters in length is described. A one off random key having a length of m characters is generated. The random key uses a character set and modulus that is compatible with the plain text message. A first substitution encryption of the plain text message is performed using the generated random key. A string of random fill characters that is f characters in length, f being a number between zero and infinity is generated. The generated random key and the string of random fill characters is concatenated to the encrypted plain text message to generate an encrypted message string. The encrypted message string has a length 2m+f. The encrypted message string is transmitted to a receiver.
54 Citations
16 Claims
-
1. A method of encrypting a plain text message that is m characters in length, the method comprising:
-
generating a one off random key having a length of m characters, the random key using a character set and modulus that is compatible with the plain text message; performing a first substitution encryption of the plain text message using the generated random key; generating a string of random fill characters that is f characters in length, f being a number from zero to infinity; concatenating the generated random key and the string of random fill characters to the encrypted plain text message to generate an encrypted message string, wherein the encrypted message string has a length 2m+f; performing one or more additional encryptions, selected from the set of substitution encryptions and transposition encryptions, on the encrypted message string to generate a final message string, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than 2m+f characters, and a subset of the first pseudorandom string having a length of at least 2m+f is selected from a position that is different from a first position of the first pseudorandom string; and transmitting the final message string to a receiver. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of encrypting a plain text message that is m characters in length, including any end of message characters, the method comprising:
-
receiving a setting of two or more parameters, the parameters including a block size b and a plain text segment size p, wherein b is equal to or greater than 2*p; dividing the plain text message into n segments, n being an integer greater than or equal to two, each segment associated with one of n blocks, n being equal to m/p if there is no remainder and equal to the integer quotient+1 if there is a remainder r, wherein in the case where there is a remainder, the last block of the n blocks contains the last r characters of the m character message, and wherein each of the blocks contains a sequential segment of the plain text message; generating, for each of the n blocks, one-off strings of random characters, using a character set and modulus that is compatible with the plain text message; performing a first substitution encryption on each of the n segments using characters from the random string associated with the block associated with the respective segment as an encryption key; performing one or more additional encryptions, selected from the set of substitution encryptions and transposition encryptions on each of the n segments to create encrypted character strings, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than 2*p characters, and a subset of the first pseudorandom string having a length of at least 2*p is selected from a position that is different from a first position of the first pseudorandom string; generating an encrypted message string by concatenating the encrypted character strings of the n blocks such that the encrypted message string is at least 2m characters in length; and transmitting the encrypted message string to a receiver. - View Dependent Claims (7, 8)
-
-
9. A method of encrypting a plain text message that is m characters in length, including any end of message characters, the method comprising:
-
dividing the plain text message into n segments, n being an integer greater than or equal to two, wherein each segment is associated with one of n blocks; generating one off random strings for each of the n blocks, each random string having a length of at least the length of the plain text segment associated with that block, each of the random strings using a character set and modulus that is compatible with the plain text message; performing a first substitution encryption on each of the n plain text segments using characters from the random string associated with the block associated with the respective plain text segment as an encryption key; performing one or more additional encryptions, selected from the set of substitution encryptions and transposition encryptions on each of the n segments to create encrypted character strings, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than 2*(m/n) characters, and a subset of the first pseudorandom string having a length of at least 2*(m/n) is selected from a position that is different from a first position of the first pseudorandom string; generating an encrypted message string by concatenating the encrypted character strings of the n blocks such that the encrypted message string is at least 2m characters in length; and transmitting the encrypted message string to a receiver.
-
- 10. An encryption system comprising an algorithm and a plurality of parameter sets, wherein the encryption system produces an encrypted message from a plain text message having m characters by performing (i) a first substitution encryption of the plain text message with a one off random string, and (ii) one or more additional encryptions on the output of the first substitution encryption, the one or more additional encryptions determined by a selected one of the plurality of parameter sets, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than m characters, and a subset of the first pseudorandom string having a length of at least m is selected from a position that is different from a first position of the first pseudorandom string, the encrypted message containing all of the information needed to decrypt the encrypted message by a decryption system having the same parameter set, wherein the probability of subsequent encryptions of the same plain text message producing a different encrypted message depends on the parameter set used by the encryption system.
-
12. An encryption method comprising:
-
receiving a plain text message; segmenting the plain text message into a plurality of blocks, each block holding a predefined plurality of characters of the plain text message; generating a unique one off random key for each of the plurality of blocks; encrypting each of the plurality of blocks using the corresponding one off random key; and performing one or more additional encryptions on each of the blocks using pseudorandom strings, each of the one or more additional encryptions being selected from the set of substitution encryptions and transposition encryptions, wherein at least one of the one or more additional encryptions are performed using a first pseudorandom string having a length greater than the number of characters in each of the plurality of blocks, and a subset of the first pseudorandom string having a length of at least the number of characters in each of the plurality of blocks is selected from a position that is different from a first position of the first pseudorandom string. - View Dependent Claims (13, 14, 15, 16)
-
Specification