Variable-length key cryptosystem
First Claim
1. A variable-length key cryptosystem performing stream cryptographic processing in which, in an encryption of plain text, a plain text and a cryptographic key are added to each other by considering respective characters as numerical values, a string obtained by the addition is used as an encrypted text, and in a decryption, values of the cryptographic key obtained by considering respective characters as numerical values are subtracted from values of the encrypted text by considering respective characters thereof as numerical values, the cryptosystem comprising:
- a computer including a variable-length key generation processing part generating a cryptographic key having a first length; and
a data string length detection part detecting a length of a character string, wherein the variable-length key generation processing part further comprises;
a storage storing an initial character string and a set of conversion rules of converting a first character string to a second character string that has a length exceeding a length of the first character string, anda generation processor repeating a character conversion by using the set of conversion rules from the initial character string, and generating a new character string,wherein,in the encryption of the plain text;
the data string length detection part detects a length of the plain text, andthe variable-length key generation processing part generates a character string having the same length as the detected length of the plain text by using the initial character string and the conversion rule, and generates a cryptographic key based on the generated character string, the generated cryptographic key being stored in the computer and used to encrypt the plain text in stream encryption processing, andin the decryption of the encrypted text;
the data string length detection part detects a length of the encrypted text, andthe variable-length key generation processing part generates a cryptographic key that is the same as the cryptographic key used in the encryption of the plain text by using the same initial character string and the set of conversion rules as those used in the encryption of the plain text, and based on the detected length of the encrypted text, the generated cryptographic key being used to decrypt the encrypted text in stream decryption processing, andupon a length of a generated converted character string reaching a length of a plain text that is a length that has already been used in generating a cryptographic key used in encryption, the generation processor;
continues character conversion to generate a converted character string with a length that has not been used in generating a cryptographic key by;
adopting a portion of the converted character string that has a length equal to that of a plain text, anddiscarding a remaining portion thereof, the decrypted text being stored on the computer.
1 Assignment
0 Petitions
Accused Products
Abstract
A variable-length key cryptosystem is provided, in which the amount of parameters for generating a key to be shared is small, security is high, and calculation cost is small.
The length of a plain text inputted from a data input part 10 is detected by a data string length detection processing part 20. A variable-length key generation processing part 30 generates an encryption key with a required arbitrary length, using an initial character string and a conversion rule, based on the length of a plain text. A conversion character string generation processing part 32 generates a converted character string from an initial character string by applying a conversion rule of increasing the length of a character string. Conversion is conducted until the length of a plain text is reached. An encryption key is not used twice. Therefore, an unused conversion character string is searched for, and a stream code processing part 40 generates an encrypted text by using a generated encrypted string. A receiver system 200 generates a converted character string from an initial character string by the same conversion, based on the length of an encrypted text, thereby obtaining the same encryption key.
-
Citations
11 Claims
-
1. A variable-length key cryptosystem performing stream cryptographic processing in which, in an encryption of plain text, a plain text and a cryptographic key are added to each other by considering respective characters as numerical values, a string obtained by the addition is used as an encrypted text, and in a decryption, values of the cryptographic key obtained by considering respective characters as numerical values are subtracted from values of the encrypted text by considering respective characters thereof as numerical values, the cryptosystem comprising:
-
a computer including a variable-length key generation processing part generating a cryptographic key having a first length; and a data string length detection part detecting a length of a character string, wherein the variable-length key generation processing part further comprises; a storage storing an initial character string and a set of conversion rules of converting a first character string to a second character string that has a length exceeding a length of the first character string, and a generation processor repeating a character conversion by using the set of conversion rules from the initial character string, and generating a new character string, wherein, in the encryption of the plain text; the data string length detection part detects a length of the plain text, and the variable-length key generation processing part generates a character string having the same length as the detected length of the plain text by using the initial character string and the conversion rule, and generates a cryptographic key based on the generated character string, the generated cryptographic key being stored in the computer and used to encrypt the plain text in stream encryption processing, and in the decryption of the encrypted text; the data string length detection part detects a length of the encrypted text, and the variable-length key generation processing part generates a cryptographic key that is the same as the cryptographic key used in the encryption of the plain text by using the same initial character string and the set of conversion rules as those used in the encryption of the plain text, and based on the detected length of the encrypted text, the generated cryptographic key being used to decrypt the encrypted text in stream decryption processing, and upon a length of a generated converted character string reaching a length of a plain text that is a length that has already been used in generating a cryptographic key used in encryption, the generation processor; continues character conversion to generate a converted character string with a length that has not been used in generating a cryptographic key by; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding a remaining portion thereof, the decrypted text being stored on the computer. - View Dependent Claims (2, 3)
-
-
4. A variable-length key cryptosystem performing stream cryptographic processing in which, in an encryption of plain text, a plain text and a cryptographic key are added to each other by considering respective characters as numerical values, a string obtained by the addition is used as an encrypted text, and in a decryption, values of the cryptographic key obtained by considering respective characters as numerical values are subtracted from values of the encrypted text by considering respective characters thereof as numerical values, the cryptosystem comprising:
-
a computer including a variable-length key generation processing part generating a cryptographic key having a first length; and a data string length detection part detecting a length of a character string, wherein the variable-length key generation processing part further comprises; a storage storing an initial character string and a plurality of sets of conversion rules of converting a first character string to a second character string that has a length exceeding a length of the character or the first character string; a generation processor repeating character conversion from the initial character string using the sets of conversion rules and, generating a plurality of new character strings that have the same length as a plain text in which the plurality depends only on the sets of rules and does not depend on the plain text, and then the generation processor selects one character string from the plurality of character strings using a stochastic process, and a hash-function processor obtaining a hash value from the character string generated by the generation processor using a hash function, wherein, in the encryption of the plain text; the data string length detection part detects a length of the plain text, and the variable-length key generation processing part; generates a character string with the same length as the detected length of the plain text, using the initial character string and sets of conversion rules, generates a cryptographic key based on the generated character string, used in stream encryption processing, and the hash function, generates a hash value of the cryptographic key used to encrypt the plain text in the stream encryption processing, and sends the hash value together with generated encrypted text from the computer, and in the decryption of the encrypted text, the data string length detection part detects a length of the encrypted text, and the variable-length key generation processing part; generates a plurality of number of cryptographic keys with the same length as the detected length of the encrypted text, using the same initial character string as that used in the encryption of the plain text and the plurality of sets of conversion rules, generates a hash value with respect to each of the generated plurality of number of cryptographic keys, and uses a cryptographic key having a hash value equal to the sent hash value used to decrypt the encrypted text in stream decryption processing, and upon a length of a generated converted character string reaching a length of a plain text that has already been used in generating a cryptographic key, the generation processor; continues character conversion to generate a converted character string with a length that has not been used in generating a cryptographic key; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding the remaining portion thereof, the decrypted text being stored on the computer. - View Dependent Claims (5, 6, 7)
-
-
8. A computer readable recording medium storing a processing program that causes a first computer to perform encryption processing in a variable-length key cryptosystem that performs stream cryptographic processing comprising the first computer adding a plain text and a cryptographic key to each other by considering respective characters as numerical values and setting a string obtained by the addition as an encrypted text and a second computer subtracting values of the cryptographic key obtained by considering respective characters as numerical values from values of the encrypted text sent from the first computer by considering respective characters thereof as numerical values, thereby obtaining an original plain text, the processing program causing the first computer to perform:
-
a data string length detection processing operation of detecting a length of a plain text inputted to the first computer; a cryptographic key generation processing operation comprising; referring to a conversion rule storage of the first computer, which stores a set of conversion rules of converting a first character string to a second character string With a length exceeding a length of the first character string, and an initial character string, repeating character conversion using the set of conversion rules from the initial character string to generate a character string having the same length as the detected length of the plain text in the data string length detection processing operation, generating a cryptographic key based on the generated character string, and storing the cryptographic key in a memory of the first computer; a stream code generation processing operation comprising; generating a stream code by reading the cryptographic key from the memory, and adding the cryptographic key to the plain text; and a sending operation of sending the stream code encrypted text to the second computer, wherein, in the cryptographic key generation processing operation, the processing program causes the second computer to perform an operation comprising; generating the cryptographic key from a character string that is obtained by; upon a length of a generated converted character string reaching a length of a plain text that is a length that has already been used in generating a cryptographic key in the first computer, continuing character conversion to generate a converted character string with a length that has not been used in generating a cryptographic key, by; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding the remaining portion thereof, and using the generated cryptographic key to decrypt the encrypted text, the decrypted text being stored on the second computer.
-
-
9. A computer readable recording medium storing a processing program that causes a second computer to perform decryption processing in a variable-length key cryptosystem that performs stream cryptographic processing comprising a first computer adding a plain text and a cryptographic key to each other by considering respective characters as numerical values and setting a string obtained by the addition as an encrypted text and the second computer subtracting values of the cryptographic key obtained by considering respective characters as numerical values from values of the encrypted text sent from the first computer by considering respective characters thereof as numerical values, thereby obtaining an original plain text, the processing program causing the second computer to perform:
-
a data string length detection processing operation of detecting a length of an encrypted text received from the first computer; a cryptographic key generation processing operation comprising; referring to a conversion rule storage of the second computer that holds a set of conversion rules, which converts a first character string to a second character string with a length exceeding a length of the first character string and which is the same as that used in encryption in the first computer, and an initial character string which is the same as that used in encryption in the first computer, generating a cryptographic key used in decryption that is the same as the encryption key used in the encryption of the plain text, using the initial character string and the conversion rule, based on the detected length of the encrypted text; and a stream code decryption processing operation of decrypting the encrypted text by reading the cryptographic key from a memory and subtracting the cryptographic key from the encrypted text, the decrypted text being stored on the second computer, wherein, in the cryptographic key generation processing operation, the processing program causes the second computer to perform an operation comprising; generating a cryptographic key that is the same as the cryptographic key used in the encryption of the plain text from a character string obtained by; upon a length of a generated converted character string reaching a length of a plain text that has already been used in generating an cryptographic key in the second computer, continuing character conversion to generate a converted character string with a length that has not been used in generating an cryptographic key, by; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding the remaining portion thereof.
-
-
10. A computer readable recording medium storing a processing program that causes a first computer to perform encryption processing in a variable-length key cryptosystem that performs stream cryptographic processing comprising the first computer adding a plain text and a cryptographic key to each other by considering respective characters as numerical values and setting a string obtained by the addition as an encrypted text and a second computer subtracting values of the cryptographic key obtained by considering respective characters as numerical values from values of the encrypted text sent from the first computer by considering respective characters thereof as numerical values, thereby obtaining an original plain text, the processing program causing the first computer to perform:
-
a data string length detection processing operation of detecting a length of a plain text inputted to the first computer; a conversion rule selection function processing operation comprising; referring to a storage of the first computer that stores sets of conversion rules of converting a first character string to a second character string with a length exceeding a length of the first character string, and an initial character string, and selecting one set of conversion rules from a plurality of sets of conversion rules based on a length of a character string to be converted; a cryptographic key generation processing operation comprising; repeating character conversion from the initial character string using the sets of conversion rules selected in the conversion rule selection function processing operation, thereby generating a character string having the same length as the length of the plain text detected in the data string length detection processing operation, generating a cryptographic key used in encryption based on the generated character string, and storing the cryptographic key in a memory of the first computer; a stream code generation processing operation comprising; generating a stream code by reading the cryptographic key stored in the memory, and adding the cryptographic key to the plain text; and a code sending processing operation comprising; generating a hash value of a cryptographic key stored in the memory with a hash function, and sending the generated hash value to the second computer together with the generated stream code, wherein, in the cryptographic key generation processing operation, the processing program causes the first computer to perform an operation comprising; generating the cryptographic key used in encryption from a character string obtained by, when a length of a generated converted character string reaching a length of a plain text is a length that has already been used in generating an cryptographic key in the first computer, continuing character conversion to generate a converted character string with a length that has not been used in generating an cryptographic key, by; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding the remaining portion thereof.
-
-
11. A computer readable recording medium storing a processing program that causes a second computer to perform decryption processing in a variable-length key cryptosystem that performs stream cryptographic processing comprising a first computer performing encryption by adding a plain text and a cryptographic key to each other by considering respective characters as numerical values and setting a string obtained by the addition as an encrypted text and the second computer subtracting values of the cryptographic key obtained by considering respective characters as numerical values from values of the encrypted text sent from the first computer by considering respective characters thereof as numerical values, thereby obtaining an original plain text, the processing program causing the second computer to perform:
-
a receiving operation of receiving an encrypted text and a hash value from the first computer; a data string length detection processing operation of detecting a length of an encrypted text received from the first computer; a cryptographic key generation processing operation comprising; referring to a storage of the second computer, the storage storing; a plurality of sets of conversion rules, which convert a first character string to a second character string having a length exceeding a length of the first character string and which are the same as those used in encryption in the first computer, and an initial character string which is the same as that used in encryption in the first computer, generating a plurality of number of cryptographic keys used in decryption having the same length as the length of the encrypted text detected in the data string length detection processing operation, using the initial character string and the plurality of sets of conversion rules, and storing the plurality of number of cryptographic keys used in decryption in the memory of the second computer; and a stream code decryption processing operation of; decrypting the encrypted text by generating a hash value with respect to each of the plurality of number of cryptographic keys used in decryption, reading a cryptographic key having a hash value equal to the hash value received from the first computer, subtracting the cryptographic key from the encrypted text, thereby decrypting the encrypted text, the decrypted text being stored on the second computer, wherein, in the cryptographic key generation processing operation, the processing program causes the second computer to perform an operation comprising; generating a cryptographic key that is the same as the cryptographic key used in the encryption of the plain text from a character string obtained by, upon a length of a generated converted character string reaching a length of a plain text is a length that has already been used in generating a cryptographic key in the second computer, continuing character conversion to; generate a converted character string with a length that has not been used in generating a cryptographic key, by; adopting a portion of the converted character string that has a length equal to that of a plain text, and discarding the remaining portion thereof.
-
Specification