WO1997031449A1 - Methode de communication utilisant une cle cryptographique commune - Google Patents

Methode de communication utilisant une cle cryptographique commune Download PDF

Info

Publication number
WO1997031449A1
WO1997031449A1 PCT/JP1997/000433 JP9700433W WO9731449A1 WO 1997031449 A1 WO1997031449 A1 WO 1997031449A1 JP 9700433 W JP9700433 W JP 9700433W WO 9731449 A1 WO9731449 A1 WO 9731449A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
algorithm
identifier
entities
random number
Prior art date
Application number
PCT/JP1997/000433
Other languages
English (en)
French (fr)
Inventor
Yoshimi Baba
Original Assignee
Card Call Service Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Card Call Service Co., Ltd. filed Critical Card Call Service Co., Ltd.
Priority to IL12582997A priority Critical patent/IL125829A0/xx
Priority to AU17325/97A priority patent/AU1732597A/en
Publication of WO1997031449A1 publication Critical patent/WO1997031449A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes

Definitions

  • the present invention relates to a method for sharing a code key for performing cryptographic communication between entities on a network.
  • entity-side communication data plaintext
  • an encryption key sharing method in which an encryption is performed by a key and transmitted to a receiving entity, and the receiving entity decrypts the original communication data using the same encryption key as the transmitting side.
  • the entity means an entity that performs communication, such as a device such as a terminal connected to a network, a user of the device, a software of the device, or a set thereof.
  • a center algorithm established in advance in a center established on a network applies a center algorithm that is unique to each entity and that has a public identifier (name, address, etc.) in secret only by Sendai. Is fixed for each entity It is distributed to each entity as a private key. Then, when communicating between the entities, each of the entities generates a common encryption key between the entities by applying the identifier of the entity at the other end of the communication to the private key held by itself. The communication data is encrypted and decrypted using the common encryption key.
  • each entity merely applies the identifier of the communication partner to its own private key, and can be shared with any other entity without involvement of the center. Since the encryption key can be obtained, the encryption communication system in the network can be simplified.
  • the present invention provides an encryption key sharing method that can increase the security against various attacks while generating a common encryption key for communication, simplifying the encryption communication system on the network.
  • the purpose is to provide. Disclosure of the invention
  • a first aspect of the encryption key sharing method of the present invention is to perform encryption / decryption of communication data between entities performing communication in a network including a plurality of entities and a center.
  • a private key unique to each entity is generated by conversion by a center algorithm including an algorithm, and the private key and the integral conversion algorithm are distributed to each entity, and the entities communicate with each other.
  • the private key of each entity is generated by converting the identifier of each entity by the center algorithm including the integration conversion algorithm in the session.
  • the identifier of each entity Even if the dispersiveness of itself is poor, the integral transform algorithm acts on the identifier, so that the resulting dispersiveness can be enhanced. Therefore, the dispersibility of the private key is enhanced, and the similarity is poor for each entity, and the private key is generated at the sensor, and is distributed to each entity together with the integral conversion algorithm. . Then, when communicating between the entities, each entity applies the integral conversion algorithm and the private key held by itself to the identifier of the entity at the other end of the communication.
  • the private key of each entity includes a component based on the integral transformation algorithm, it is necessary to apply not only the private key but also the integral transformation algorithm to the identifier of the entity on the communication partner side. Then, a common encryption key is generated between the communicating entities by the algorithm part (this part has the above-mentioned symmetry) except for the integral conversion algorithm of the center algorithm.
  • each identifier for generating a common encryption key at the time of communication is converted by converting the identifier of each entity by the sensor algorithm including the integral conversion algorithm. Since a private key unique to the entity is generated, the dispersibility of the private key is enhanced, and as a result, the security against differential attacks and the like is enhanced. At the time of communication, only the identifier of the communication partner is allowed to act on the integral conversion algorithm and the private key held by itself, and a common connection with the entity of the communication partner is obtained without involvement of the center as in the past. An encryption key can be generated.
  • the first aspect of the present invention it is possible to improve the security against attacks such as differential attacks while generating a common encryption key for communication and simplifying the cryptographic communication system on the network. As a result, a simple and reliable cryptographic communication system can be provided.
  • the identifier is fixedly used for each entity, such as a mail address on the network, a domain name, or a combination thereof, in addition to the name and address of each entity, and at least to the communication partner. Anything that is open to the public is acceptable.
  • the integral transform algorithm includes a Fourier transform (including a fast Fourier transform), a Laplace transform, a Miller transform, and a Hilbert transform.
  • the forces that can use any of these integral transformations, and these integral transformations are defined on an analytical infinite interval.
  • the identifier converted by the integral conversion algorithm in the first embodiment of the present invention is represented by a finite interval (for example, a coset on a finite ring).
  • the integral conversion algorithm uses an integral conversion algorithm with a weight function.
  • a weighting function when performing integral conversion on an identifier, the above-described abnormal dispersion can be prevented.
  • the weight function can be set arbitrarily as long as it can prevent anomalous dispersion, the private key obtained by converting an identifier by a center algorithm including an integral conversion algorithm to which the weight function is added is used. , An unknown component based on the weight function is added. As a result, the security of the cryptographic communication system to which the first aspect of the present invention is applied can be further improved.
  • the weight function is basically set so that the value approaches “0” at the end of the data section of the identifier.
  • the weight function is determined to be an unpredictable pattern by the random number data generated in the center, and more preferably, one-time random number data is used as the random number data.
  • the weight function is determined by the random number data by determining the degree of change of the value of the weight function in the section of the identifier data (a form approaching “0” at the end of the section) by the random number data. Is done.
  • One-time random data is random data that has no or very poor reproducibility. The random number data is not correlated. Such random number data can be generated, for example, based on the timing when a human inputs a certain phrase or sentence to a computer.
  • the weight function By determining the weight function in an unpredictable pattern based on the tongue L number data in this way, it becomes difficult for an attacker to predict the weight function, and the cryptographic communication to which the first aspect of the present invention is applied is difficult.
  • the security of the system can be increased. Especially once When the weight function is determined based on the random number data of the sex, the reproducibility of the random number data is eliminated, so that the security of the system is further enhanced.
  • the integral conversion algorithm As described above, various types of the integral conversion algorithm can be applied.
  • the Fourier transform is an integral transform that can be performed quickly and easily using a computer, and generally, the data of the transform result is likely to be dispersed. Therefore, by using such a Fourier transform algorithm as an integral transform algorithm, the private key can be generated quickly and easily from an identifier, and at the same time, the dispersibility of the private key is effectively increased. The security of the cryptographic communication system can be significantly improved.
  • the center further converts the identifier by the center algorithm into one-piece random number data unique to each entity and unknown to each entity.
  • To generate the above-mentioned private key by performing randomization conversion according to the above-mentioned method, and an identifier conversion algorithm comprising the algorithm for canceling the randomization conversion component included in the private key and the indirect conversion algorithm together with the private key.
  • the entities communicate with each other, the entities are shared by applying the identifier conversion algorithm and the private key held by themselves to the identifiers of the communicating parties. Own the encryption key.
  • the randomizing transformation may be performed by changing the value of each bit of a data string representing the identifier converted by the center algorithm by the individual random number data, or Alternatively, they are performed by combining and processing them.
  • the private key includes a component obtained by the randomization transformation.
  • the randomize transform converts the transform into unique random data of one time (unreproducible or extremely poor reproducibility) unique to each entity and unknown to each entity.
  • each individual key of each entity will contain a separate, accidental component.
  • security against various attacks on cryptographic communication systems Can be further strengthened.
  • the private key that acts on the identifier of the entity on the other end contains a component obtained by the randomization transformation for each entity. For this reason, an identifier conversion algorithm including an algorithm for canceling this and the integral conversion algorithm is distributed to each entity together with the private key, and upon communication, the identifier conversion algorithm is assigned to the identifier of the other entity.
  • the randomization conversion is performed, for example, by rearranging and converting a data string representing a result of conversion of the identifier of each of the entities by the sensor algorithm using the one-time individual random number data. This can be done by:
  • a data string representing a result obtained by converting the identifier of each entity by the center algorithm includes a plurality of unnecessary bits, and the randomizing conversion is performed by converting the value of the unnecessary bits to the one-time individual random number data. , And by rearranging the entire data sequence including the unnecessary bits. In this way, the value of the unnecessary bit of the data string representing the result of the conversion of the identifier of each entity by the center algorithm is randomized with the one-time individual random number data, and the entire data string including the unnecessary bit is further randomized.
  • the attacker decryptor of the cryptographic communication system
  • the security of the cryptographic communication system is increased.
  • the one-time individual random number data for performing the randomizing transformation is generated based on the predetermined processing of each entity described above. More specifically, the predetermined processing is performed by each entity. This is an input operation by a human, and the one-time individual tongue number data is generated based on the temporal timing of the input operation.
  • the tongue number data is not reproducible or reproduced. Very poor One-time individual random number data can be generated accurately.
  • a common cipher for performing encryption / decryption of communication data between entities performing communication in a network including a plurality of entities and a center.
  • a randomization transformation is performed by an individual random number data unique to each entity and unknown to each entity to generate a private key unique to each entity, and the private key and the private key are generated.
  • an identifier conversion algorithm including an algorithm for canceling out the components of the randomization transformation included in the
  • the private key of each entity is obtained by using the center algorithm (which includes the above-mentioned symmetric part) in the center to identify each entity. Generated by subjecting the transformed data to randomizing transformation based on unique random data (random data with no or very low reproducibility) unique to each entity and unknown to each entity. Therefore, each individual key of each entity contains a different accidental component. As a result, the security against various attacks of the cryptographic communication system to which the second aspect of the present invention is applied is enhanced. In this case, similarly to the case described in the first aspect, since the private key of each entity includes a component by the randomization transformation for each entity, an algorithm for canceling the component is used.
  • the identifier conversion algorithm including the scheme is distributed to each entity together with the private key. Then, at the time of communication, by applying the identifier conversion algorithm and the private key to the identifier of the entity on the other end, it is possible to generate a common encryption key between the entities performing communication without involvement of the center. You can.
  • the randomizing conversion is performed by converting a data string representing a result obtained by converting the identifier of each entity by the center algorithm to the first algorithm. This can be done by converting the arrangement using the individual random number data of the roundness. More preferably, the data string representing a result of conversion of the identifier of each entity by the center algorithm includes a plurality of unnecessary bits, and the randomizing conversion includes: The randomization is performed by random number data, and the entire data sequence including the unnecessary bits is rearranged and converted. Thereby, the security of the cryptographic communication system to which the second aspect of the present invention is applied can be improved.
  • the one-time individual random number data is generated based on a predetermined process of each entity, and Specifically, the predetermined process is an input operation by a human of each of the entities, and the one-time individual random number data is generated based on a temporal timing of the input operation. Thereby, the one-time individual random number data can be accurately generated.
  • FIG. 1 is a diagram showing the overall configuration of a cryptographic communication system to which an embodiment of the cryptographic key sharing method of the present invention is applied
  • FIG. 2 is a diagram for conceptually explaining the basic structure of the system in FIG. Is a flow chart for explaining the outline of the processing procedure in the system of FIG. 1
  • FIG. 4 is a flowchart showing details of the processing at the time 1 in FIG. 3
  • FIG. 5 is the processing in step 2 of FIG.
  • Fig. 6 is a flowchart showing details of the processing in steps 3 and 4 in Fig. 3
  • Fig. 7 is a flowchart showing details of the processing in steps 3 and 5 in Fig. 3.
  • FIG. 8 is a block diagram showing a configuration of a computer machine for performing the processes of FIGS. 6 and 7. BEST MODE FOR CARRYING OUT THE INVENTION
  • a center 1 which is a basic construction entity of a cryptographic communication system, and a plurality of entities 2 which subscribe to the cryptographic communication system and mutually perform cryptographic communication are connected to the Internet and a personal computer. They can communicate with each other via a network 3 such as a communication network.
  • the center 1 and each entity 2 include a computer machine such as a personal computer for performing actual communication and data processing, and a user of the computer machine.
  • each entity 2 subscribed to the center 1 (in FIG. 2, each entity 2 is indicated by a reference numeral j,...) Each has a unique identifier yi, yj, ... (details will be described later). In this case, if i ⁇ j, then y i ⁇ y j. Each entity 2 (i, j, ...) has a unique identifier for each entity 2 generated by the center 11 based on the respective identifiers yi, yj, ... (hereinafter collectively referred to as identifiers yn as necessary).
  • the private keys Xi, Xj,... (details will be described later.
  • private keys ⁇ when performing cryptographic communication between arbitrary entities i and j, a common encryption key K ij for encrypting (transmitting side) and decrypting (receiving side) the communication data is set for each entity.
  • a private key Xi, Xj of each entity i, j is generated separately for each i, j, and cryptographic communication is performed between the entities i, j using the common encryption key ⁇ .
  • the identifier yn of each entity 2 is unique to each entity 2 such as the name, address, email address, domain name, or a combination thereof of each entity 2.
  • each identifier yn for example, Is treated as a vectorite, formed by coding with cosets of.
  • the center 1 In the preparatory processing by the center 1, when the center 1 is established or when the system is updated, first, the center 1 generates a basic center algorithm for generating the private key Xn of each entity 2 (procedure 1).
  • the center algorithm is composed of a center matrix, a weight function, and an integral transformation algorithm.
  • the integral transformation algorithm is an algorithm for performing integral transformation on the data of the identifier yn of each entity 2.
  • a Fourier transform (more specifically, a fast Fourier transform) is used as the integral transformation algorithm. I do.
  • a Fourier transform more specifically, a fast Fourier transform
  • a plurality of types are known, and one of them is selected at the center 1 to generate a Fourier transform algorithm used in the present embodiment. Is actually represented as a matrix acting on the data of the identifier yn.
  • the weighting function is used to prevent anomalous dispersion (ashiering) when the Fourier transform is performed on the identifier yn, which is the data of the finite interval, and the value is “0” at the end point of the data interval of the identifier yn.
  • the center matrix is a symmetric matrix, more specifically a nonsingular symmetric matrix.
  • the weight function and the center matrix are generated using one-time random number data. That is, referring to FIG. 4, when generating the weight function and the center matrix, the center 11 first generates random number data based on an artificial operation of the computer in the center 1 (step 11). 1). Specifically, for example, Operetu enters appropriate words and phrases into the computer machine of Center 1, and the input timing (eg, the input time of each word and the time interval of input of each word) at this time. Is sequentially measured by a computer machine. And the measured input The random number data is generated in time series based on the data. The random number data generated in this manner is generated based on the timing of an artificial input operation having ambiguity, so that it is practically unreproducible and accidental. A random number is generated.
  • the center 1 determines the weighting function and the sentiment matrix based on the generated one-time random number data (step 1). 1 2).
  • the weight function is determined by determining the degree of change of the value of the weight function in the section of the data with the identifier yn (a form approaching “0” at the end of the section) based on the one-time random number data.
  • the weight function is determined to be a pattern that cannot be predicted.
  • the weight function is actually expressed as a diagonal matrix.
  • the determination of the center matrix is performed by determining the values of the components of the matrix based on the one-time random number data while securing the symmetry and non-singularity.
  • the center algorithm consisting of the weight function and the integral transformation algorithm is kept secret in the center 1.
  • the center matrix and the weight function are used by third parties other than the specific person of the center 1 (including each entity 2 etc.). ) Stored strictly so that it cannot be referenced. These algorithms are common to each entity 2.
  • the center 1 identifies the center algorithm and the identifier of each entity 2 generated and stored as described above.
  • a private key X n unique to each entity 2 and an identifier conversion algorithm for generating a common encryption key ⁇ ⁇ as described later are generated and distributed to each entity 2 as described below. (Step 2).
  • the center 1 applies the aforementioned Fourier transform algorithm and the matrix of the weight function to the data (vector data) of the identifier yn of the entity 2. Then, a weighted high-speed free transform is performed on the identifier yn (step 2-1). Further, the vector data obtained in step 2-1 is multiplied by the center one matrix (step 2-2). In this case, by adding redundancy to the data of the identifier yn, the vector obtained in step 2-2 can be obtained. In the data, there appear a plurality of useful bits obtained by applying the weight function, the integral conversion algorithm and the center matrix to a bit string meaningful as the data of the identifier yn, and a plurality of other unnecessary bits.
  • the center 1 communicates with the entity 2 (for example, communication at the time of recruitment of the entity 2), and has a unique random number unique to the entity 2 and which cannot be recognized by the entity 2.
  • Generate the data (step 2-3). Specifically, in the same way as when generating one-time random number data when determining a weight function or the like as described above, a word or sentence of a user is input on the computer machine of the entity 2 The timing of artificial input operation of the entity 2 is measured by the computer machine of the center 1 by sequentially receiving the data at the center 1. Then, the individual random number data is generated based on the measured timing of the input operation.
  • the individual random number data becomes accidental with no reproducibility, like the random number data at the time of generation of the weight function, etc.
  • one-time individual random number data can be obtained. Since the entity 2 does not know what kind of input operation timing and what kind of random number data is generated, and cannot control the artificial input operation timing accurately, the entity 2 Entity 2 cannot know the random number data.
  • Sen-ichi 1 uses the one-time individual random number data obtained in Step 2-3 to convert each bit value of the unnecessary bits in the vector data obtained in Step 2-2 above. Randomization (steps 2-4). Further, the vector data obtained by combining the randomized unnecessary bits and the useful bits is randomly rearranged and converted using the one-time individual random number data (the arrangement of the vector data components is changed. 2-5) The randomizing transformation is performed on the vector data obtained by this in step 2-2 (the identifier yn is converted by the Senyuichi algorithm). Then, the vector obtained by the randomizing transformation is generated as the private key Xn of the entity 2.
  • the randomizing transformation is actually represented by a matrix (not necessarily a symmetric matrix), and more specifically, a matrix such that the transposed matrix and the inverse matrix of the matrix are equal.
  • the center 1 generates the identifier conversion algorithm from the one-time individual random number data, the Fourier transform algorithm, and the weight function (step 2-6).
  • the identifier conversion algorithm includes an algorithm for canceling the randomized transformation component reflected in the private key Xn (this is represented by an inverse matrix of a matrix representing the randomized transformation), the Fourier transformation algorithm, It is the result of combining the two functions with each other (multiplying the matrices representing each of them).
  • the personal key Xn and the identifier conversion algorithm corresponding to each entity 2 generated by the center 11 are distributed to each entity 2 in advance by communication or the like (see step 2 in FIG. 3).
  • the contents described above are details of the advance preparation processing in the center 1.
  • the center 1 After generating the private key Xn and the identifier conversion algorithm of each entity 2 as described above, the center 1 obtains the one-time individual random number data corresponding to the entity 2 and the matrix representing the randomization conversion. Erase without storage. In addition, each entity 2 that has received its own private key Xn and identifier conversion algorithm keeps them secretly in an appropriate storage device of its own computer machine.
  • communication between arbitrary entities 2 is performed as follows.
  • the communication is performed with the entity i as the transmitting side and the entity j as the receiving side.
  • the transmitting entity i first obtains a common encryption key K ij with the entity j from the private key X i and the identifier conversion algorithm held by the transmitting entity i and the identifier y j of the receiving entity j. Generate (Step 3).
  • the identifier conversion algorithm of the entity i is applied to the identifier yj of the entity j on the receiving side on the computer machine of the entity i of the transmitting side (the vector In the evening, multiply by the matrix of the identifier conversion algorithm Step 3-1).
  • a common encryption key Ki j with the entity j is generated by calculating the inner product of the vector data obtained in this step 3-1 and the private key X i of the transmitting entity i (vector e).
  • the receiving entity j applies its identifier conversion algorithm to the identifier yi of the transmitting entity i on its combi- ter machine as shown in Fig. 7 (step 3-1).
  • a common encryption key Kji with entity i is generated.
  • the common encryption key KU uniquely generated by the transmitting entity i and the common encryption key Kji uniquely generated by the receiving entity j are the same.
  • the transmitting side and receiving side entities i and j, and the private keys Xi and Xj held respectively, are respectively assigned to the identifiers yi and yj of the entities i and j by the Fourier transform algorithm with the weight function described above.
  • a vector matrix obtained by applying a center matrix and a randomizing transformation, and when each entity i, j generates a common encryption key ⁇ , Kji, the identifier yj of the entity j, i on the other side , yi, the identifier conversion algorithm is a combination of a Fourier transform algorithm with a weighting function and an algorithm that cancels out the components of the randomization transform for each entity i, j reflected in each private key Xi, Xj. Things.
  • each common encryption key Kij, Kji obtained as a result of the inner product operation is calculated for each entity i, j , j, which are obtained by applying a Fourier transform algorithm with a weighting function to the identifiers yi, yj, and by further applying a center matrix (vector data processing), and the identifiers yj,
  • a Fourier transform algorithm with a weighting function to the identifiers yi, yj
  • vector data processing the identifiers yj
  • the vector data obtained by applying the Fourier transform algorithm with the weighting function to the identifiers yi and yj are set as yi 'and yj' (where yi 'and yj' are vertical vectors), and the sensor matrix is C
  • the transmitting entity i that has generated K ij generates an encrypted communication message from the common encryption key Ki j and the plaintext (text, program, etc.) to be transmitted to the receiving entity j (step 4).
  • the # communication message a one-time random number is used in addition to the common encryption key K ij.
  • the transmitting entity i uses its own computer machine to generate words, sentences, etc. in the same manner as in the preparatory processing in the center 1 described above.
  • One-time random number data (hereinafter referred to as “random number for cryptographic communication”) is generated based on the temporal timing of the input operation (step 4-1), and the random number data for one-time cryptographic communication is generated.
  • the encryption is performed by, for example, a three-stage DES (Data Encryption Standard).
  • step 41 Is used as a key to encrypt the plaintext (steps 4-3). This encryption is performed, for example, in step 41
  • step 4-2 by combining the encrypted random number data obtained in step 4-2 with the ciphertext obtained in step 4-1 (to form one set), an encrypted communication message to be transmitted to the receiving entity j is obtained. Is generated. The encrypted communication message thus generated is transmitted from the computer machine of the entity i to the computer machine of the entity j.
  • the random number data for encrypted communication is preferably generated and updated every time encrypted communication is performed, but every time encrypted communication is performed several times, the random number data for encrypted communication is updated (for several times). The same ⁇ ⁇ ! Credit random number data is used in encrypted communication).
  • each entity 2 that performs the process for signal communication as described above is configured as shown in, for example, a block diagram of FIG.
  • the computer machine of each entity 2 includes a keyboard 4, a main unit 5 composed of a CPU, a RAM, a ROM, etc. (not shown), the private key Xn and an identifier conversion algorithm, plain text such as text and programs, and encryption.
  • a database 6 configured by a hard disk or the like that stores and holds communication messages and the like.
  • the main unit 5 includes, as its functional components, a common key generation unit 7 for generating a common encryption key, an encryption / decryption processing unit 8 for performing encryption / decryption processing of communication data, and a random number for encryption communication.
  • a random number generation unit 9 for generating data, and a common encryption key generated by the common key generation unit 7 during encryption communication and a cryptographic key generated by the random number generation unit 9!
  • a data storage memory 10 for storing data such as credit random number data is provided.
  • the computer machine of each entity 2 having such a configuration performs the above-described processing for encrypted communication by the following operation.
  • Step 3 when generating the common encryption key (Step 3), first, the personal key Xn and the identifier conversion algorithm to be used are transmitted from the keyboard 4 to the main body.
  • the specified private key Xn and the identifier conversion algorithm are fetched from the database 6 into the common key generation unit 7 of the main unit 5.
  • an identifier yn of the communication partner is input to the main unit 5 through the keyboard 4.
  • the common key generation unit 7 of the main unit 5 generates a common encryption key by applying the identifier conversion algorithm and the private key Xn to the input data of the identifier yn as described above (see the procedure 3- 1, 3— 2), the raw The generated common encryption key is stored in the data storage memory 10.
  • the keyboard 4 inputs data (input operation data such as words and sentences) for generating the random number data for encrypted communication to the main body unit 5. Then, based on the input data, the random number generation unit 9 of the main unit 5 generates the one-time random number data for cryptographic communication as described above (the above-described procedure 4-1). The random number data is stored in the data storage memory 10. Further, in the transmitting computer machine, the plaintext to be transmitted in the database 6 is determined from the keyboard 4 to the main unit 5, and at this time, the designated plaintext is taken into the decoding unit 8 from the database 6. .
  • the encryption / decryption processing unit 8 encrypts the random number data for encrypted communication stored in the data storage memory 10 using the common encryption key also stored in the data storage memory 10 (the procedure described above). Along with 4-2), the plaintext is encrypted using the encrypted random number data as a key (the above-mentioned procedure 4-1-3).
  • the random number data and plaintext for encrypted communication encrypted by the encryption / decryption processing unit 8 in this way are stored in the database 6 as an encrypted communication message composed of the encrypted data, and then separately transmitted to the computer machine of the communication partner. Sent to.
  • the encrypted communication message is stored in the database 6 and is taken into the encryption / decryption processing unit 8. Then, the decryption processing unit 8 uses the common encryption key stored in the data storage memory 10 to convert the encrypted random number data in the encrypted communication message into the random number data for encrypted communication.
  • the encrypted plaintext in the encrypted communication message is decrypted into the original plaintext using the decrypted random number data for encrypted communication as a key (the above-described procedure 5-2).
  • the plaintext encrypted by the symbol decoding processing unit 8 in this way is stored in the database 6.
  • the center 1 when generating the private key Xn of each entity 2 in the center 1 (preparation processing), the center 1 integrates the identifier yn such as the name of each entity 2.
  • the identifier yn such as the name of each entity 2.
  • the dispersiveness of the data obtained by Fourier transforming it is improved, and the center matrix etc. is added to the data.
  • the dispersibility of the private key Xn can be enhanced. As a result, the so-called difference It is difficult to decipher the center algorithm such as the center matrix of center 1 by an attack or the like.
  • a Laplace transform, a Mirai transform, a Hilbert transform, and the like can be used as the integral transform.
  • the Fourier transform (more specifically, the fast Fourier transform) is used.
  • a weight function is added as a center algorithm, so that anomalous dispersion of data obtained by Fourier transforming the data of the identifier yn on the finite interval can be prevented, and the center
  • the decimation of the Senyuichi algorithm can be made more difficult because the number of unknown algorithm elements, such as the center matrix and the Fourier transform algorithm, and the weight function increase.
  • the weight function is generated in an unpredictable shape based on one-time random number data, it is possible to more reliably secure the above-mentioned difficulty in decoding.
  • each entity 2 includes a component based on a randomizing transformation that has no correlation with each other. For this reason, for example, even if a plurality of entities 2 collude and attempt to decrypt the center algorithm or the like from the private key Xn held by each, it becomes extremely difficult to decrypt the center algorithm.
  • the value of the unnecessary bit in the data obtained by applying the Fourier transform, the weight function, and the Sendei-matrix to the identifier yn is randomized by the one-time individual random number data.
  • any part of the data of the private key Xn obtained by the randomization conversion includes the data corresponding to the unnecessary bit. It is not known whether or not they have been deciphered, making the above decipherment even more difficult.
  • the identifier conversion algorithm including an algorithm for canceling the randomized transformation component reflected in the private key Xn is used. It must be distributed to each entity 2 together with the private key Xn.
  • the identifier conversion algorithm is a combination of the algorithm for canceling the components by the randomization transform, the Fourier transform algorithm, and the weighting function, the randomization that constitutes the center algorithm of the center 11 from the identifier conversion algorithm is performed. Algorithm of transformation ⁇ It is extremely difficult to decipher the weight function and Fourier transform algorithm individually.
  • the plaintext is once and has no biased characteristic.
  • the encryption random number data for encryption is used as a key, and the random number for encryption communication as a key for decrypting the encrypted plaintext is encrypted using a common encryption key K ij.
  • K ij the random number for encryption communication as a key for decrypting the encrypted plaintext
  • the subscripted is a variable indicating an arbitrary identifier.
  • the above linear transformation can be found such that the kernel of the f-input symmetric transformation g follows a multiple linear mapping (f-fold linear mapping), and this linear transformation is basically defined by a linear space on a finite field. And generalized to the coset on the ring.
  • the set of entities belonging to the center 1 is E
  • the set of identifiers is I
  • the set of common encryption keys is K (see Figure i).
  • Q be a commutative ring with a unit element
  • J be a coset of order m on Q
  • K be a coset of order h on Q
  • the elements of J and K be m-vertical vectors, h- Let it be a vertical vector. If Q is a field, J and K are linear spaces of dimensions m and h, respectively.
  • the order m is equal to the total number of identifiers.
  • R is a linear transformation forming a mapping from I to J, and is hereinafter referred to as identity transformation.
  • identity transformation is compatible with the system of the above-described embodiment. This basically corresponds to a transform in which a Fourier transform (integral transform) with a weighting function is applied to the data of the identifier, and further extended to a transform including the randomizing transform as described later. .
  • a symmetric Q-order multiple linear mapping (a two-input symmetric transformation) from J 2 (a set consisting of two element sets of J as elements) to a set K of common ⁇ keys is g: J 2 ⁇ K is arbitrarily selected and determined. This g is equivalent to the conversion for generating a common encryption key corresponding to those two identifiers from the result of identity conversion of any two identifiers.
  • ? 7 is an arbitrary m-longitudinal vector on Q, which is an element of J (hereinafter the same).
  • ⁇ (h ⁇ ⁇ ) [Q—operation] means the order of h ⁇ m on the commutative ring Q, and this value is approximately 0 (w 2 ) [bit conversion], that is, w It can be evaluated by order 2 .
  • C e (Vi) becomes low.
  • the description complexity Cd (Xi) and the evaluation complexity Ce (Xi) of the transformation Xi depend largely on the description complexity Cd (R) and the evaluation complexity Ce (R) of the identity transformation R. Les ,.
  • the set B of j can easily know the private key Xi of another entity i.
  • the identity transformation R is individualized, since the transformation R is unique to each entity, it can decrypt another private key Xi for a given set B of entities j.
  • Finding an entity i with such an identifier yi is not easy.
  • the entity j of the set B cannot know which entity i's private key Xi can be decrypted from the information such as the private key Xj possessed by them.
  • the latter method of randomizing the identity conversion R individually for each entity is a method realized by the randomization conversion in the above-described embodiment, and according to this method, the total number of identifiers m ( In this system, this is equal to the total number n of entities.)
  • the total number of identifiers m In this system, this is equal to the total number n of entities.
  • the above inequality specifies the limit on the total number b of entities j required to break the system, and means that the system cannot be broken with the number b of entities for which this inequality does not hold.
  • identity conversion R such that even if at most b entities j collude, the private key Xi of another entity i cannot be deciphered. Is derived. Also, it can be seen that individual randomization of the identity transformation R often results in a good linearly independent structure while satisfying the above conditions.
  • this system can provide a highly secure system by individually randomizing the identity conversion R.
  • the present system increases the description complexity Cd (R) and the evaluation complexity C e (R) of the identity transformation R by individual randomization of the identity transformation R, and consequently the private key Xi
  • the system is secured by increasing the description complexity Cd (Xi) and the evaluation complexity Ce (Xi).
  • Q GF [2].
  • cryptographic communication can be performed between any two entities on the system including up to 11020 entities using the common encryption key of 16 Ob it.
  • each personal key can be calculated within 20 ms.
  • the system cannot be completely broken unless 8 192 entities collude, and the individual randomization of each entity requires that 256 or more entities collude without collusion. No information is available on the entity's private key.
  • a center matrix is set as the center algorithm in addition to the weight function and the Fourier transform algorithm.
  • the weight function itself can be used as the center matrix.
  • the Fourier transform is used as the integral transform.
  • another form of integral transform such as Laplace transform, Miller transform, and Hilbert transform may be used.
  • the present invention is useful as a method for easily and securely performing cryptographic communication using a common key method in a network such as the Internet or a personal computer communication network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

明 細 書 暗号鍵共有方法 技術分野
本発明は、 ネットワーク上のエンティティ間で暗号による通信を行うための喑 号鍵を共有する方法に関する。 背景技術
近年、 イン夕一ネット等のネットワーク上で通信を行う際に、 通信データの機 密保持等のために暗号文による通信技術が望まれている。
この種の通信技術としては、 例えば公開鍵方式としての R S Aが著名であるが 、 この他に、 ネットワークに含まれるエンティティ同士で通信を行う際に、 送信 側のエンティティ力通信データ (平文) を暗号鍵により暗号化して受信側のェン ティティに送信し、 それを受信側のェンティティが送信側の上記暗号鍵と共通の 暗号鍵により元の通信データに復号する暗号鍵共有方法が一般に知られている。 尚、 ここで、 エンティティとは、 ネットワークに接続された端末機等の装置、 そ の装置の使用者、 その装置のソフトゥヱァ、 あるいはそれらの集合等、 通信を行 う主体を意味するものである。
そして、 このような暗号鍵共有方法にあっては、 例えば Rolf Blomによる論文 「匪 - PUBLIC KEY DISTRIBUTION /Advances in Cryptology : Proceedings of CRYPTO ' 82/Plenum Press 1983. pp.231- 236」 、 同じく Rolf Blom による論文 「 An Optimal Class of Symmetric Key Generation Systems /Advances in Crypto logy : E画 CRYPT ' 84 /Springer LNCS 209. 1985, pp. 335-338 J 、 あるいは特公 ¥ 5 - 4 8 9 8 0号公報もしくは米国特許第 5 0 1 6 2 7 6号に見られる技術が 知られている。
これらの技術では、 ネットワーク上に設立されたセンターにおいて、 あらかじ め各エンティティに固有で且つ公開性の識別子(名前、 住所等) に、 セン夕一だ けが秘密に保持するセンターアルゴリズムを施したものが、 各エンティティに固 有の個人鍵として各エンティティに配付される。 そして、 エンティティ同士で通 信を行う際には、 それらの各エンティティは、 互いに通信相手側のエンティティ の識別子を自己が保持する個人鍵に作用させることで、 ェンティティ同士で共通 の暗号鍵を生成し、 その共通暗号鍵を用いて通信データの暗号化 ·復号化を行う。 より詳しくは、 センターアルゴリズムは、 これを例えば任意の二つの識別子を 示す変数 X, yの関数 P (X, y) として表現したとき、 P (x, y) =P (y , x)なる対称性を有するように設定される。 そして、 この関数 P (X, y) の 変数 X, yのうち、 例えば変数 yの値を各エンティティの実際の識別子 iとした 関数 P (X, i) (以下、 これを Pi (x) と表現する) が各エンティティの個 人鍵として各エンティティに配付される。 その後、 識別子 iのエンティティが他 の識別子 jのェンティティと通信を行う場合には、 識別子 iのエンティティ側で は、 自己の個人鍵 P i (X) に相手側の識別子 jを作用 (変数 Xの値を jとする ) させてなる P i (j)が暗号鍵として生成される。 同様に、 識別子 jのェンテ ィティ側では、 自己の個人鍵 P j (x) に相手側の識別子 iを作用させてなる P j (i)が暗号鍵として生成される。 このとき、 前記の対称性によって、 P i ( j) =P j (i) となり、 これにより、 識別子 jのエンティティ同士で共通 の暗号鍵が得られることとなる。
このような暗号鍵共有方法によれば、 各エンティティは、 通信相手側の識別子 を自己の個人鍵に作用させるだけで、 センタ一の関与を伴うことなく他の任意の エンティティとの間での共通の暗号鍵を得ることができるので、 ネットワークに おける暗号通信システムの簡素化を図ることができる。
ところで、 このような暗号鍵共有方法では、 前記センターアルゴリズムを容易 に解読することができないことが暗号通信の機密性を確保する上で重要な課題と なる。
しかるに、 かかる暗号鍵共有方法では、 上記のような利点を有する反面、 各ェ ンティティの個人鍵やこれから生成される暗号鍵、 あるレ、はその暗号鍵により暗 号化された通信データには、 いずれも前記センタ一アルゴリズムに係わる情報が 含まれ、 しかも該センターアルゴリズムは各ェンティティに対して共通であるた め、 例えば松本による論文 「Performance of Linear Schemes for the Keypredi stribution System /IEICE Technical Report on Information Securi ty, May 20. 1988, PP.29-32」 に示されているように、 一般に複数のエンティティの結託等 よる攻撃に対して弱いものとなり易い。
また、 識別子としてエンティティの氏名を用いた場合、 類似の氏名が多く現れ やすいため、 識別子の分散性が悪く (識別子の値の分布の偏りを生じやすい) 、 ひいてはこの識別子に if己センターアルゴリズムを施してなる各エンティティの 個人鍵にも類似のものが多数現れ易い。 このため、 所謂、 差分攻撃を受けやすい ものとなっていた。
従って、 前述のような暗号鍵共有方法では、 種々の攻撃に対する安全性を高め ること力望まれていた。
本発明はかかる背景に鑑み、 通信に際しての共通の暗号鍵の生成ゃネットヮ一 ク上の暗号通信システムの簡素化を図りつつ、 種々の攻撃に対する安全性を高め ることができる暗号鍵共有方法を提供することを目的とする。 発明の開示
本発明の暗号鍵共有方法の第 1の態様はかかる目的を達成するために、 複数の エンティティとセンターとを含むネットワークにおいて、 通信を行うェンティテ ィ間で通信データの暗号 ·復号化を行うための共通の暗号鍵を両エンティティが 所有する方法であって、 あらかじめ前記センターは、 各エンティティに固有で且 つ公開性の識別子を、 該センターのみが保持する各エンティティに共通で且つ少 なくとも積分変換アルゴリズ厶を含むセンターアルゴリズムにより変換して各ェ ンティティに固有の個人鍵を生成すると共にその個人鍵と前記積分変換アルゴリ ズムとを各エンティティに配付しておき、 前記ェンティティ同士が相互に通信を 行うとき、 互いに通信相手側の識別子に自己が保持する前記積分変換アルゴリズ ム及び前記個人鍵を作用させることにより該エンティティ同士が共通の暗号鍵を 所有することを特徴とする。
かかる本発明の第 1の態様によれば、 前記各エンティティの個人鍵は、 前記セ ン夕一において、 各エンティティの識別子を、 前記積分変換アルゴリズムを含む センタ一アルゴリズムにより変換して生成されるので、 各エンティティの識別子 自体の分散性が悪くても、 該識別子に積分変換アルゴリズ厶が作用することで、 その結果に得られるデ一夕の分散性は高まる。 従って、 前記個人鍵の分散性が高 まり、 各エンティティ毎に類似性の乏しレ、個人鍵が前記セン夕ーにおレ、て生成さ れ、 これが前記積分変換アルゴリズムと共に各エンティティに配付される。 そし て、 エンティティ同士の通信に際しては、 各エンティティにおいて、 通信相手側 のエンティティの識別子に自己が保持する前記積分変換アルゴリズ厶及び個人鍵 を作用させる。 このとき、 各エンティティの個人鍵には、 前記積分変換アルゴリ ズムに基づく成分が含まれているので、 通信相手側のェンティティの識別子に前 記個人鍵だけでなく前記積分変換アルゴリズムをも作用させることで、 前記セン タ一ァルゴリズ厶の積分変換アルゴリズ厶を除くァルゴリズム部分 (この部分は 前述の対称性を有するものとする) によって、 通信を行うエンティティ同士で共 通の暗号鍵が生成される。
このように本発明の第 1の態様によれば、 各エンティティの識別子を、 積分変 換ァルゴリズムを含むセン夕ーアルゴリズムにより変換することで、 通信の際の 共通の暗号鍵を生成するための各エンティティに固有の個人鍵を生成するので、 その個人鍵の分散性が高まり、 その結果、 差分攻撃等に対する安全性が高まる。 そして、 通信に際しては、 通信相手側の識別子のみを、 自己が保持する積分変換 アルゴリズム及び個人鍵に作用させるだけで、 従来と同様にセンターの関与を伴 うことなく通信相手のエンティティとの共通の暗号鍵を生成することができる。 よって、 本発明の第 1の態様によれば、 通信に際しての共通の暗号鍵の生成や ネットワーク上の暗号通信システムの簡素化を図りつつ、 差分攻撃等の攻撃に対 する安全性を高めることができ、 ひいては、 簡便で信頼性の高い暗号通信システ ムを提供できる。
尚、 前記識別子は、 各エンティティの氏名、 住所等の他、 ネットワーク上のメ ールアドレス、 ドメイン名、 あるいはそれらを組み合わせたもの等、 各ェンティ ティに対して固定的に用いられ、 且つ少なくとも通信相手に対して公開性のある ものであればよい。
かかる本発明の第 1の態様では、 前記積分変換アルゴリズ厶としては、 フーリ ェ変換 (高速フーリエ変換を含む) 、 ラプラス変換、 ミラー変換、 ヒルベルト変 換等が挙げられ、 これらのいずれの積分変換を用いることも可能である力、 これ らの積分変換は解析学的な無限区間上で定義されたものである。 これに対して、 本発明の第 1の態様において積分変換アルゴリズムで変換する識別子は、 有限区 間上で表されるもの (例えば有限環上の剰余類) であるため、 コンピュータ等を 用いて識別子のデータを積分変換したとき、 変換結果の異常分散(エイシァリン グ) が生じやすい。
そこで、 本発明の第 1の態様では、 好ましくは前記積分変換アルゴリズムは重 み関数付きの積分変換アルゴリズムを用いる。 このように、 識別子に積分変換を 施すに際して、 重み関数を付加することで、 上記の異常分散を防止することがで きる。 さらに、 該重み関数は、 異常分散を防止できるものであれば任意に設定す ることができるので、 この重み関数を付加した積分変換アルゴリズムを含むセン ターアルゴリズムにより識別子を変換して成る前記個人鍵には、 該重み関数に基 づく未知の成分が付加されることとなる。 その結果、 本発明の第 1の態様を適用 した暗号通信システムの安全性をさらに高めることができることとなる。
このように重み関数を付加する場合、 該重み関数は、 基本的には識別子のデー 夕の区間の端側で、 値が 「0」 に近づくように設定するのであるが、 この場合、 本発明の第 1の態様では、 さらに、 該重み関数は前記センタ一において生成され た乱数データにより予想のつかないパターンに決定され、 より好ましくは、 該乱 数データとして一回性の乱数データを用いる。 ここで、 前記乱数データによる重 み関数の決定は、 前記乱数データによって、 識別子のデータの区間における重み 関数の値の変化度合い (区間の端側で 「0」 に近づく形態) を決定することで行 われる。 また、 一回性の乱数データとは、 再現性がなく、 もしくは再現性に極め て乏しい乱数データであり、 さらに詳しくは乱数データを構成する各ビット数値 の出現頻度がレ、ずれの数値でも同等で、 また乱数デー夕の相関がなレ、ものであり 、 このような乱数データは、 例えば人間がある語句もしくは文章をコンピュータ に入力する際のタイミングに基づいて生成することが可能である。
このように重み関数を舌 L数データによって予想のつかないパターンに決定して おくことで、 攻撃者にとっては、 該重み関数を予測しづらくなり、 本発明の第 1 の態様を適用した暗号通信システムの安全性を高めることができる。 特に、 一回 性の乱数デー夕により重み関数を決定したときには、 該乱数デ一夕の再現性が排 除されるので、 さらにシステムの安全性が高まる。
前述の如く、 前記積分変換アルゴリズムは、 各種のものを適用できるが、 特に 、 本発明の第 1の態様では該積分変換アルゴリズムとしてフーリエ変換アルゴリ ズムを用いることが好ましい。 すなわち、 該フ一リエ変換は、 コンピュータを用 いて迅速且つ容易に行うことができる積分変換であり、 また、 一般に変換結果の データの分散化が生じやすい。 従って、 このようなフーリエ変換アルゴリズムを 積分変換アルゴリズムとして用いることで、 識別子から前記個人鍵を迅速且つ容 易に生成することができるようになると同時に、 個人鍵の分散性が効果的に高ま つて、 暗号通信システムの安全性を顕著に高めることができる。
また、 本発明の第 1の態様では、 前記センターは、 前記識別子を前記センター ァルゴリズ厶により変換したものに、 さらに各ェンティティに固有で且つ各ェン ティティには不知の一回性の個別乱数データによりランダマイズ変換を施して前 記個人鍵を生成すると共に、 該個人鍵に含まれる前記ランダマイズ変換の成分を 打ち消すためのァルゴリズムと前記接分変換アルゴリズムとからなる識別子変換 ァルゴリズムを該個人鍵と共に各ェンティティに配付しておき、 前記ェンティテ ィ同士が相互に通信を行うとき、 互いに通信相手側の識別子に自己が保持する前 記識別子変換ァルゴリズム及び前記個人鍵を作用させることにより該ェンティテ ィ同士が共通の暗号鍵を所有する。
ここで、 前記ランダマイズ変換は、 前記識別子を前記センターアルゴリムによ り変換したものを表すデータ列の各ビットの値を前記個別乱数デー夕により変更 し、 あるいは、 該データ列を配置変換し、 もしくは、 それらを組み合わせて処理 することで行われるものである。
これによれば、 前記個人鍵には、 前記センターアルゴリズムに加えて、 前記ラ ンダマイズ変換による成分が含まれることとなる。 そして、 このとき、 該ランダ マイズ変換は、 その変換を各ェンティティに固有で且つ各エンティティには不知 の一回性の個別乱数デー夕 (再現性がなく、 もしくは再現性に極めて乏しい乱数 データ) により行うため、 各エンティティの個人鍵毎に、 各別の偶然的な成分が 含まれることとなる。 その結果、 暗号通信システムの種々の攻撃に対する安全性 をより一層強固なものとすることができる。
尚、 この場合、 通信に際して、 相手側のエンティティの識別子に作用させる個 人鍵には、 各エンティティ毎に各別の前記ランダマイズ変換による成分が含まれ ている。 このため、 それを打ち消すためのアルゴリズムと前記積分変換アルゴリ ズムとからなる識別子変換ァルゴリズムを前記個人鍵と共に各エンティティに配 付しておき、 通信に際しては、 相手側のエンティティの識別子に該識別子変換ァ ルゴリズム及び個人鍵を作用させることで、 通信を行うェンティティ同士で共通 の暗号鍵を生成することができる。
このようにランダマイズ変換を行う場合、 該ランダマイズ変換は、 例えば前記 各エンティティの識別子を前記セン夕一アルゴリズムにより変換したものを表す データ列を前記一回性の個別乱数デ一夕により配置変換することにより行うこと ができる。
さらに好ましくは、 前記各ェンティティの識別子を前記センタ一アルゴリズム により変換したものを表すデータ列は複数の不要ビットを含み、 前記ランダマイ ズ変換は、 該不要ビットの値を前記一回性の個別乱数データによりランダム化し 、 さらに該不要ビットを含む前記データ列の全体を配置変換することにより行う。 このように各ェンティティの識別子を前記センターアルゴリズムにより変換し たものを表すデータ列の不要ビットの値を前記一回性の個別乱数データによりラ ンダム化し、 さらに該不要ビットを含む前記データ列の全体を配置変換すること で、 攻撃者 (暗号通信システムの解読者) にとつては、 獲得したデータのどこに 不要ビットに対応する部分があり、 また、 どこに必要なデータがあるかが判らな くなり、 暗号通信システムの安全性が高まる。
また、 前記ランダマイズ変換を行うための前記一回性の個別乱数デ一夕は、 前 記各エンティティの所定の処理に基づき生成し、 より具体的には、 前記所定の処 理は前記各エンティティの人間による入力操作であり、 その入力操作の時間的夕 ィミングに基づき前記一回性の個別舌し数データを生成する。
このように、 各エンティティの人間による入力操作 (例えばある文章や語句を 入力する操作) の時間的タイミングに基づき乱数データを生成することで、 その 舌し数データは、 再現性がなく、 もしくは再現性に極めて乏しいものとなり、 前記 一回性の個別乱数データを的確に生成することができる。
次に、 本発明の第 2の態様は、 複数のエンティティとセンターとを含むネット ワークにぉレ、て、 通信を行うエンティティ間で通信デ一夕の暗号 ·復号化を行う ための共通の暗号鍵を両ェンティティが所有する方法であって、 あらかじめ前記 セン夕一は、 各エンティティに固有で且つ公開性の識別子を該セン夕ーのみが保 持する各エンティティに共通のセンターアルゴリズムにより変換したものに、 各 エンティティに固有で且つ各ェンティティには不知の一回性の個別乱数デ一夕に よりランダマイズ変換を施して各エンティティに固有の個人鍵を生成すると共に 、 その個人鍵と、 該個人鍵に含まれる前記ランダマイズ変換の成分を打ち消すァ ルゴリズムを含む識別子変換アルゴリズムとを各ェンティティに配付しておき、 前記エンティティ同士が相互に通信を行うとき、 互いに通信相手側の識別子に自 己が保持する前記識別子変換アルゴリズ厶及び個人鍵を作用させることにより該 エンティティ同士が共通の暗号鍵を所有することを特徴とする。
力、かる本発明の第 2の態様によれば、 前記各エンティティの個人鍵は、 前記セ ンターにおいて、 各エンティティの識別子を前記センターアルゴリズム (これは 前述の対称性を有する部分を含むものとする) により変換したものに、 各ェンテ ィティに固有で且つ各ェンティティには不知の一回性の個別乱数データ (再現性 がなく、 もしくは再現性に極めて乏しい乱数データ) に基づくランダマイズ変換 を施して生成されるので、 各エンティティの個人鍵毎に、 各別の偶然的な成分が 含まれることとなる。 その結果、 本発明の第 2の態様を適用した暗号通信システ ムの種々の攻撃に対する安全性が高まる。 この場合、 前記第 1の態様で説明した 場合と同様に、 各エンティティの個人鍵には、 各エンティティ毎に各別の前記ラ ンダマィズ変換による成分が含まれているため、 それを打ち消すためのアルゴリ ズムを含む前記識別子変換アルゴリズムを前記個人鍵と共に各エンティティに配 付しておく。 そして、 通信に際しては、 相手側のエンティティの識別子に、 前記 識別子変換アルゴリズム及び個人鍵を作用させることで、 前記センターの関与を 伴うことなく通信を行うェンティティ同士で共通の暗号鍵を生成することができ 。
よって、 本発明の第 2の態様によっても、 通信に際しての共通の暗号鍵の生成 ゃネットワーク上の暗号通信システムの簡素化を図りつつ、 種々の攻撃に対する 安全性を高めることができ、 ひいては、 簡便で信頼性の高い暗号通信システムを 提供できる。
かかる本発明の第 2の態様では、 前記第 1の態様で説明した場合と同様に、 前 記ランダマイズ変換は、 前記各エンティティの識別子を前記センターアルゴリズ ムにより変換したものを表すデータ列を前記一回性の個別乱数デー夕により配置 変換することにより行うことができる。 そして、 より好ましくは、 前記各ェンテ ィティの識別子を前記センターアルゴリズムにより変換したものを表すデー夕列 は複数の不要ビットを含み、 前記ランダマイズ変換は、 該不要ビットの値を前記 一回性の個別乱数データによりランダム化し、 さらに該不要ビットを含む前記デ 一夕列の全体を配置変換することにより行う。 これにより、 本発明の第 2の態様 を適用した暗号通信システムの安全性を高めることができる。
また、 本発明の第 2の態様では、 前記第 1の態様で説明した場合と同様に、 前 記一回性の個別乱数デ一夕は、 前記各エンティティの所定の処理に基づき生成し 、 より具体的には、 前記所定の処理は前記各エンティティの人間による入力操作 であり、 その入力操作の時間的タイミングに基づき前記一回性の個別乱数データ を生成する。 これにより、 前記一回性の個別乱数データを的確に生成することが できる。 図面の簡単な説明
図 1は本発明の暗号鍵共有方法の一実施形態を適用した暗号通信システムの全 体構成を示す図、 図 2は図 1のシステムの基本構造を概念的に説明するための図 、 図 3は図 1のシステムにおける処理手順の概要を説明するためのフロー図、 図 4は図 3の手 I頃 1における処理の詳細を示すフロ一図、 図 5は図 3の手順 2にお ける処理の詳細を示すフロー図、 図 6は図 3の手順 3及び手順 4における処理の 詳細を示すフ口一図、 図 7は図 3の手順 3及び手順 5における処理の詳細を示す フ口一図、 図 8は図 6及び図 7の処理を行うためのコンピュータマシンの構成を 示すブロック図である。 発明を実施するための最良の実施の形態
本発明の一実施形態を図 1乃至図 8を参照して説明する。 まず、 図 1及び図 2 を参照して本実施形態の暗号鍵共有方法を適用した暗号通信システムの概要を説 明する。
図 1を参照して、 本実施形態では暗号通信システムの基本的な構築主体である センター 1と、 その暗号通信システムに加入して相互に暗号通信を行う複数のェ ンティティ 2とがインターネット、 パソコン通信網等のネットワーク 3を介して 相互に通信可能とされている。 これらのセンター 1及び各エンティティ 2は、 図 示を省略するが、 実際の通信やデータ処理を行うためのパソコン等のコンピュ一 夕マシンや、 該コンピュータマシンの使用者を包含している。
このようなネットワーク 3上で構築された本システムでは、 図 2に示すように 、 センター 1に加入した各エンティティ 2 (図 2では各エンティティ 2を参照符 号 j , …により示している) は、 それぞれに対応した固有の識別子 y i , y j , … (詳細は後述する) を有する。 この場合、 i≠ jならば、 y i ≠y j であ る。 そして、 各エンティティ 2 ( i , j, …) には、 それぞれの識別子 y i , y j , … (以下、 必要に応じて識別子 yn と総称する) に基づきセンタ一 1により 生成された各エンティティ 2に固有の個人鍵 Xi , Xj , … (詳細は後述する。 以下、 必要に応じて個人鍵 Χη と総称する) カ^らかじめセンター 1から与えら れる。 さらに、 任意のエンティティ i, j同士で暗号通信を行う際には、 その通 信データの暗号化 (送信側) 及び復号化 (受信側) を行うための共通の暗号鍵 K i jがそれぞれのエンティティ i, j毎に各別に各エンティティ i , jの個人鍵 X i , X j を用いて生成され、 その共通暗号鍵 Κϋを用いてエンティティ i , j間 での暗号通信が行われる。
ここで、 本実施形態のシステムをさらに詳説する前に、 前記識別子 yn につい て説明しておく。 本実施形態では、 各エンティティ 2の識別子 yn は、 各ェンテ ィティ 2の氏名、 住所、 メールアドレス、 ドメイン名、 あるいはこれらを組み合 わせたもの等、 各エンティティ 2に固有のものであり、 し力、も、 公開性のあるも のを使用する。 尚、 センタ一 1や各エンティティ 2のコンピュータマシンにおけ る識別子 yn の実際の取り扱い上では、 各識別子 yn は、 それを例えば有限環上 の剰余類でコ一ド化してなるべクトルデ一夕として扱われる。
上記のような暗号通信を行うための本実施形態のシステムを、 以下に図 3乃至 図 8を参照して詳説する。
図 3を参照して、 本実施形態のシステムでは、 センタ一 1による前記個人鍵 X n等の生成及び配付等の事前準備処理を経た後、 個々のエンティティ i, j間で の暗号通信が行われる。
前記センター 1による事前準備処理では、 センター 1はその設立時、 あるいは システムの更新時に、 まず、 各エンティティ 2の前記個人鍵 Xn を生成するため の基本となるセンターアルゴリズムを生成する (手順 1 ) 。
このセンターアルゴリズムは、 本実施形態ではセンター行列と、 重み関数と、 積分変換ァルゴリズムとにより構成されてレ、る。
ここで、 前記積分変換アルゴリズムは、 各エンティティ 2の識別子 y n のデ一 夕を積分変換するためのアルゴリズムであり、 本実施形態では、 積分変換アルゴ リズムとしてフーリエ変換 (詳しくは高速フーリエ変換) を使用する。 この種の フーリエ変換としては、 複数種のものが知られており、 そのうちの一種類をセン ター 1で選択して、 本実施形態で使用するフーリエ変換アルゴリズムを生成する □ 尚、 該フーリエ変換アルゴリズムは、 実際上は、 識別子 y n のデ一夕に作用さ せる行列として表現される。
また、 重み関数は、 有限区間のデータである識別子 y n をフーリエ変換する際 の異常分散(エイシァリング) を防止するためのものであり、 識別子 yn のデー 夕の区間の端点側で値が 「0」 に近づくような関数である。 さらに、 センター行 列は、 対称行列であり、 より詳しくは非特異な対称行列である。
この場合、 前記重み関数及びセンター行列は、 一回性の乱数データを用いて生 成する。 すなわち、 図 4を参照して、 重み関数及びセンター行列を生成する際に は、 センタ一 1はまず、 センター 1のコンピュータマシンにおけるオペレー夕の 人為的操作に基づき乱数データを生成する (手順 1一 1 ) 。 具体的には、 例えば ォペレ一夕がセンター 1のコンピュータマシンに対して適当な語句や文章等を入 力し、 この際の入力タイミング(例えば各単語の入力時刻や各単語の入力の時間 間隔) をコンピュータマシンで逐次計測する。 そして、 その計測した入カタイミ ングに基づき乱数データを時系列で生成する。 このようにして生成される乱数デ 一夕は、 あいまいさを有する人為的な入力操作のタイミングに基づいて生成され るため、 事実上、 再現性の無い偶然的なものとなり、 これにより一回性の乱数デ —夕が生成される。
そして、 このように一回性の乱数デ一夕を生成した後、 センター 1は、 その生 成した一回性の乱数データに基づき、 前記重み関数とセン夕一行列とを決定する (手順 1一 2 ) 。 この場合、 重み関数の決定は、 上記の一回性乱数データによつ て、 識別子 yn のデータの区間における重み関数の値の変化度合い (区間の端側 で 「0」 に近づく形態) を決定することで行われ、 これにより該重み関数が予想 のっかないパターンに決定される。 尚、 該重み関数は、 実際上は、 対角行列とし て表現される。 また、 センター行列の決定は、 その対称性及び非特異性を確保し つつ該行列の成分の値を前記一回性の乱数データによって決定することで行われ 以上のように生成されたセンター行列、 重み関数及び積分変換アルゴリズムか ら成るセンターアルゴリズムは、 センター 1において秘密裏に保管され、 特に、 センタ一行列及び重み関数は、 センター 1の特定者以外の第三者 (各ェンティテ ィ 2等を含む) 力参照することができないように厳重に保管される。 尚、 これら のセン夕一アルゴリズムは各ェンティティ 2に対して共通のものである。
図 3に戻って、 次に、 センタ一 1は、 各エンティティ 2 ( i, j…… ) がシス テムに加入したとき、 前述の如く生成されて保管されたセンタ一アルゴリズムや 各エンティティ 2の識別子 y n等を用いて、 各エンティティ 2に固有の個人鍵 X n と、 これと合わせて後述の如く共通暗号鍵 Κ Πを生成するための識別子変換ァ ルゴリズムとを生成して各エンティティ 2に配付する (手順 2 )。
さらに詳細には、 図 5を参照して、 この手順 2では、 センタ一 1は、 ェンティ ティ 2の識別子 y nのデータ (ベクトルデータ) に前記フーリエ変換アルゴリズ ム及び重み関数の行列を作用させることで、 該識別子 y n に重み付き高速フ一リ ェ変換を施す (手順 2— 1 ) 。 さらに、 この手順 2— 1により得られたベクトル データに前記センタ一行列を乗算する (手順 2— 2 ) 。 この場合、 前記識別子 y nのデータに冗長性をもたせておくことで、 手順 2— 2により得られるべクトル データには、 識別子 y n のデータとして意味のあるビッ ト列に前記重み関数、 積 分変換アルゴリズム及びセンタ行列を作用させてなる複数の有用ビットと、 それ 以外の複数の不要ビッ トとが現れる。
一方、 センター 1は、 エンティティ 2との通信 (例えばエンティティ 2の加人 手続き等の際の通信) によって、 該エンティティ 2に固有で、 しかもェンティテ ィ 2には判らないような一回性の個別乱数データを生成する (手順 2— 3 ) 。 具 体的には、 前述の如く重み関数等を決定する際に一回性の乱数データを生成した 場合と同様に、 エンティティ 2のコンピュータマシン上で、 その使用者にある語 句もしくは文章を入力させ、 それをセンター 1側で逐次受信することで、 該ェン ティティ 2の人為的な入力操作のタイミングをセンター 1のコンピュータマシン により計測する。 そして、 その計測した入力操作のタイミングに基づいて前記個 別乱数データを生成する。 このようにして個別乱数データを生成することで、 そ の個別乱数データは、 重み関数等の生成時の乱数データと同様に、 再現性のない 偶然的なものとなると共に、 エンティティ 2に固有のものとなり、 これにより一 回性の個別乱数データが得られる。 尚、 エンティティ 2は、 どのような入力操作 のタイミングでどのような乱数データが生成されるかは判らず、 また、 その人為 的な入力操作のタイミングを正確にコントロールすることはできないので、 前記 個別乱数デ一タをエンティティ 2が知ることはできなレ、。
次いで、 セン夕一 1は、 前記手順 2— 2で得られたベクトルデ一夕のうちの前 記不要ビッ トの各ビット値を手順 2— 3で得られた一回性の個別乱数データによ つてランダム化する (手順 2— 4 ) 。 さらに、 そのランダム化した不要ビットと 前記有用ビッ卜とを合わせたべクトルデータを上記一回性の個別乱数データによ つて、 ランダムに配置変換し (べクトルデータの成分の配列を変更する。 手順 2 - 5 ) 、 これにより手順 2— 2で得られたベクトルデータ (識別子 y n をセン夕 一アルゴリズムにより変換したもの) をランダマイズ変換する。 そして、 このラ ンダマイズ変換により得られたべクトルデ一夕をエンティティ 2の個人鍵 Xn と して生成する。 尚、 上記ランダマイズ変換は、 実際上は行列 (対称行列とは限ら ない) で表され、 より詳しくは該行列の転置行列と逆行列とが等しくなるような 行列で表される。 また、 センター 1は、 前記一回性の個別乱数データと前記フーリエ変換アルゴ リズム及び重み関数とから、 前記識別子変換アルゴリズムを生成する (手順 2— 6 ) 。 この識別子変換アルゴリズムは、 前記個人鍵 Xn に反映されている前記ラ ンダマイズ変換の成分を打ち消すためのァルゴリズム (これはランダマイズ変換 を表す行列の逆行列により表される) と、 前記フーリエ変換アルゴリズム及び重 み関数とを合成(それぞれを表す行列同士を乗算) したものである。
このようにしてセンタ一 1によって生成された各エンティティ 2に対応する個 人鍵 Xn と識別子変換アルゴリムとが各エンティティ 2に通信等により事前に配 付される (図 3の手順 2を参照)。 以上説明した内容がセンター 1における事前 準備処理の詳細である。
尚、 センタ 1は前述のように各エンティティ 2の個人鍵 Xnや識別子変換アル ゴリズムを生成した後には、 そのエンティティ 2に対応する前記一回性の個別乱 数データや前記ランダマイズ変換を表す行列は保管せずに消去する。 また、 自身 の個人鍵 Xn及び識別子変換アルゴリムを受け取った各エンティティ 2は、 それ らを自身のコンピュータマシンの適宜の記憶装置に秘密裏に保管する。
図 3に戻って、 前述のような事前準備処理が行われた後、 任意のエンティティ 2間で、 次のように暗^ τΐ信が行われる。 尚、 ここでは、 各エンティティ 2のう ち、 エンティティ i, j ( i≠ j ) 間で、 エンティティ iを送信側、 ェンティテ ィ jを受信側として暗^!信を行うものとする。
この暗号通信では、 送信側のエンティティ iは、 まず、 自身が保持する前記個 人鍵 X i 及び識別子変換アルゴリズムと、 受信側のエンティティ jの識別子 y j とからエンティティ jとの共通暗号鍵 K i jを生成する (手順 3 )。
さらに詳細には、 図 6を参照して、 まず、 受信側のエンティティ jの識別子 y j に、 送信側エンティティ iのコンピュータマシン上で該エンティティ iの識別 子変換アルゴリズムを作用させる (識別子 y j のベクトルデ一夕に識別子変換ァ ルゴリズムの行列を乗算する。 手順 3 - 1 ) 。 次いで、 この手順 3 - 1により得 られるべクトルデータと、 送信側エンティティ iの個人鍵 X i (べクトルデ一夕 ) との内積を演算することで、 エンティティ jとの共通暗号鍵 Ki jを生成する ( 手順 3— 2 ) o 同様にして、 受信側のエンティティ jは、 図 7に示すように自身のコンビユー タマシン上で自身の識別子変換アルゴリズムを送信側のエンティティ iの識別子 yi に作用させ (手順 3— 1)、 さらにその結果に得られるベクトルデータとェ ンティティ jの個人鍵 Xj との内積を演算する (手順 3— 2) ことで、 ェンティ ティ iとの共通暗号鍵 Kjiを生成する。
このとき、 送信側エンティティ iで独自に生成される共通暗号鍵 KUと受信側 エンティティ jで独自に生成される共通暗号鍵 Kjiとは同一となる。
すなわち、 送信側及び受信側の各エンティティ i, jカ、 それぞれ保持してい る個人鍵 Xi, Xj は、 それぞれ、 各エンティティ i, jの識別子 yi , yj に 、 前述の重み関数付きのフーリエ変換アルゴリズム、 センタ一行列及びランダマ ィズ変換を作用させてなるベクトルデ一夕であり、 また、 各エンティティ i, j がそれぞれ共通暗号鍵 ΚΠ, Kjiを生成するに際して、 相手側のエンティティ j , iの識別子 yj , yi に作用させる前記識別子変換アルゴリズムは、 重み関数 付きのフーリエ変換アルゴリズムと、 各個人鍵 Xi , Xj に反映されている各ェ ンティティ i, j毎のランダマイズ変換の成分を打ち消すアルゴリズムとを合成 したものである。
このため、 前記手順 3— 2で行う内積演算では、 各エンティティ i, j毎のラ ンダマイズ変換の影響が排除され、 該内積演算の結果として得られる各共通暗号 鍵 Kij, Kjiは、 各エンティティ i, jの識別子 yi, yj に重み関数付きのフ 一リエ変換アルゴリズムを施したものに、 さらにセンター行列を作用させたもの (ベクトルデ一夕) と、 通信相手側のエンティティ j, iの識別子 yj , yi に 重み関数付きフーリエ変換アルゴリズムを施したもの (ベクトルデ一夕) との内 積を演算してなる結果に等しい。 すなわち、 識別子 yi, yj に重み関数付きの フーリエ変換アルゴリズムを施してなるベクトルデータをそれぞれ yi', yj' ( 但し yi', yj'は縦ベクトルとする) とおき、 またセン夕一行列を Cとすると、 Kij= (yj') τ · C■ yi\ Kji= (yi') T · C · yj'である (但し、 式中 の添え字 Tは転置を意味する)。
そして、 前述したようにセン夕一行列 Cは対称行列であるから、 明らかに Kij = Kjiとなる。 従って、 各エンティティ i, jでそれぞれ別個に生成される共通 喑号鍵 Ki j, Kjiは一致し、 これにより両エンティティ i, jが共通の暗号鍵を 共有することができることとなる。
—方、 図 3の手順 3において前述の如く受信側エンティティ jとの共通暗号鍵
K i jを生成した送信側エンティティ iは、 その共通暗号鍵 Ki jや受信側ェンティ ティ jに送信しょうとする平文(文章、 プログラム等) 等から暗号通信電文を生 成する (手順 4 ) 。 この場合、 該喑号通信電文の生成に際しては、 共通暗号鍵 K i jの他、 一回性の乱数デ一夕も使用する。
さらに詳細には、 図 6を参照して、 暗号通信電文を生成するに際しては、 前述 したセンター 1における事前準備処理の場合と同様にして、 送信側エンティティ iは自身のコンピュータマシンにおいて語句や文章等の入力操作の時間的タイミ ングに基づき一回性の乱数データ (以下、 暗号通信用乱数デ一夕という) を生成 しておき (手順 4— 1 ) 、 この一回性の暗号通信用乱数データを、 前記共通暗号 鍵 Kijを本来の鍵として暗号化する (手順 4一 2 )。 この場合、 この暗号化は、 例えば 3段構成の D E S (Data Encryption Standard) により行われる。
また、 手順 4一 1で生成した一回性の暗号通信用乱数デ一夕 (暗号化前のもの
) を鍵として平文を暗号化する (手順 4一 3 ) 。 この暗号化は、 例えば手順 4一
2と同様に 3段構成の D E Sにより行う。
そして、 手順 4一 2により得られた暗号化乱数データと手順 4一 3により得ら れた暗号文とを合わせる (1セットにする) ことで、 受信側エンティティ jに送 信すべき暗号通信電文が生成される。 このようにして生成された暗号通信電文は エンティティ iのコンピュータマシンからエンティティ jのコンピュータマシン に送信される。
尚、 前記暗号通信用乱数データは、 暗号通信を行う都度、 生成して更新するこ とが好ましいが、 暗号通信を数回行う毎に、 該暗号通信用乱数データを更新する (該数回分の暗号通信では同じ喑^!信用乱数データを使用する) ようにしても よい。
一方、 上記暗号通信電文を受信した受信側エンティティ jは、 前述の如く生成 したエンティティ iとの共通暗号鍵 Kji ( = Ki j) を用いて暗号通信電文を復号 し、 最終的に前記平文を得る (手順 5 ) 。 すなわち、 図 7を参照して、 まず、 エンティティ iとの共通暗号鍵 Kji ( = K ij) を本来の鍵として使用することで、 エンティティ iから受信した暗号通信電 文のうちの暗号化乱数データを暗号通信用乱数データに復号する (手順 5 — 1 ) 。 次いで、 その復号化された暗号通信用乱数データを鍵として使用することで、 暗号通信電文のうちの^文を平文に復号する (手順 5— 2 ) 。 これにより、 最 終的に受信側エンティティ jはエンティティ iからの所望の平文の内容を知るこ ととなり、 エンティティ i , j間での暗号通信が完結する。
前述のような喑号通信のための処理を行う各エンティティ 2のコンピュータマ シンは、 それを構成的に示すと例えば図 8のブロック図に示すように構成されて いる。
すなわち、 各エンティティ 2のコンピュータマシンは、 キーボード 4と、 図示 しない C P U、 RAM, R OM等により構成された本体部 5と、 前記個人鍵 Xn 及び識別子変換アルゴリズム、 文章、 プログラム等の平文、 並びに暗号通信電文 等を記憶保持するハードディスク等により構成されたデータベース 6とを具備す る。 そして、 本体部 5には、 その機能的構成として、 共通暗号鍵を生成する共通 鍵生成部 7と、 通信データの暗号化 '復号化処理を行う暗号復号処理部 8と、 暗 号通信用乱数データを生成する乱数生成部 9と、 暗号通信に際して共通鍵生成部 7により生成された共通暗号鍵や乱数生成部 9により生成された暗^!信用乱数 データ等のデータを格納するデータ格納メモリ 1 0とが備えられている。
このような構成を具備する各エンティティ 2のコンピュータマシンは、 次のよ うな作動によって、 前述のような暗号通信のための処理が行われる。
すなわち、 送信側及び受信側のいずれのコンピュータマシンにおいても、 共通 暗号鍵を生成する際には (前記手順 3 ) 、 まず、 使用する前記個人鍵 Xn及び識 別子変換アルゴリズ厶がキーボード 4により本体部 5に指定され、 その指定され た個人鍵 Xn及び識別子変換アルゴリズムが前記データベース 6から本体部 5の 共通鍵生成部 7に取り込まれる。 さらに、 キーボード 4により、 通信相手側の識 別子 ynが本体部 5に入力される。 そして、 該本体部 5の共通鍵生成部 7は、 入 力された識別子 yn のデータに前述の如く識別子変換アルゴリズム及び個人鍵 X n を作用させることで共通暗号鍵を生成し (前記手順 3 - 1 , 3— 2 ) 、 その生 成された共通暗号鍵がデータ格納メモリ 1 0に記憶される。
また、 送信側のコンピュータマシンでは、 キーボード 4により、 前記暗号通信 用乱数データを生成するためのデ一夕 (語句や文章等の入力操作データ) が本体 部 5に入力される。 そして、 該本体部 5の乱数生成部 9はその入力されたデータ に基づき、 前述の如く一回性の暗号通信用乱数データを生成し (前記手順 4 - 1 ) 、 その生成された暗号通信用乱数データがデータ格納メモリ 1 0に記憶される。 さらに、 送信側のコンピュータマシンでは、 データベース 6内の送信すべき平 文がキーボード 4から本体部 5に措定され、 このとき、 指定された平文がデータ ベース 6から喑号復号処理部 8に取り込まれる。 そして、 該暗号復号処理部 8は 、 データ格納メモリ 1 0に記憶された暗号通信用乱数データを、 同じくデータ格 納メモリ 1 0に記憶された共通暗号鍵を使用して暗号化する (前記手順 4一 2 ) と共に、 その暗号化乱数データを鍵として前記平文を暗号化する (前記手順 4一 3 ) 。 このようにして暗号復号処理部 8により暗号化された暗号通信用乱数デー 夕及び平文は、 それらを一括して成る暗号通信電文としてデータベース 6に保持 された後、 別途、 通信相手側のコンピュータマシンに送信される。
一方、 上記暗号通信電文を受信した受信側のコンピュータマシンでは、 該暗号 通信電文がデータベース 6に保持され、 それが暗号復号処理部 8に取り込まれる 。 そして、 喑号復号処理部 8は、 デ一夕格納メモリ 1 0に記憶されている共通暗 号鍵を用レ、て暗号通信電文内の暗号化乱数デ一夕を暗号通信用乱数デー夕に復号 し (前記手順 5— 1 ) 、 さらにその復号化した暗号通信用乱数データを鍵として 、 暗号通信電文内の暗号化平文を元の平文に復号する (前記手順 5— 2 ) 。 この ようにして喑号復号処理部 8により暗号化された平文はデータベース 6に保持さ れる。
以上説明したように構築されている本実施形態のシステムでは、 センター 1で 各エンティティ 2の個人鍵 Xn を生成する際 (事前準備処理) には、 各ェンティ ティ 2の名前等の識別子 y n に積分変換としてのフーリエ変換のアルゴリズムを 作用させるため、 識別子 y n 自体に類似のものが多くあっても、 それをフーリエ 変換してなるデ一夕の分散性が良くなり、 ひいてはそのデータにセンター行列等 を施して成る個人鍵 Xn の分散性も高めることができる。 その結果、 所謂、 差分 攻撃等によるセンター 1のセンター行列等のセンターアルゴリズムの解読を困難 なものとすることができる。
この場合、 上記の積分変換としては、 フーリエ変換の他、 ラプラス変換、 ミラ 一変換、 ヒルベルト変換等を使用することも可能であるが、 本実施形態ではフ一 リエ変換 (くわしくは高速フーリエ変換) を使用しているため、 上記のような分 散性の向上を顕著に奏することができると同時に、 識別子 y n にフーリエ変換を 施す演算処理をコンピュータマシンを用レ、て高速で行うことができる。
また、 個人鍵 Xn を生成する際には、 センターアルゴリズムとして重み関数を 付加するため、 有限区間上の識別子 yn のデータをフーリエ変換してなるデータ の異常分散を防止することができると同時に、 センタ一アルゴリズムを解読しよ うとする攻撃者にとっては、 センター行列やフーリェ変換アルゴリズム等の他、 重み関数という未知のァルゴリズム要素が増えるため、 セン夕一アルゴリズムの 解読をさらに困難なものとすることができる。 特に、 該重み関数が、 一回性の乱 数データに基づいて予想のつかない形状に生成されているため、 上記の解読の困 難性をより確実に確保することができる。
さらに、 個人鍵 Xn を生成する際には、 センターアルゴリズムの他、 各ェンテ ィティ 2に固有の一回性の個別乱数データに基づくランダマイズ変換をも付加す るため、 各エンティティ 2の個人鍵 Xn には、 各エンティティ 2毎に各別で、 し かも相互に相関性のないランダマイズ変換に基づく成分が含まれることとなる。 このため、 例えば複数のエンティティ 2が結託して、 各々が保持する個人鍵 Xn からセンターアルゴリズム等を解読しょうとしても、 その解読を行うことは極め て困難なものとなる。 この場合、 特に、 前記ランダマイズ変換では、 識別子 y n にフーリェ変換、 重み関数及びセン夕一行列を作用させてなるデータのうちの、 不要ビットの値を一回性の個別乱数デー夕によりランダム化した上で、 該不要ビ ットと有用ビッ トとを合わせて配置変換を行うので、 このランダマイズ変換によ り得られる個人鍵 Xn のデータのうちのどの部分に不要ビッ 卜に対応するものが 含まれているのかが判らず、 上記の解読がより一層困難なものとなる。 また、 そ の解読者にとっては、 本実施形態のシステムを完全に破るためには、 個人鍵 Xn 等のデータから、 センター行列、 重み関数、 フーリエ変換 (積分変換) 、 及びラ ンダマイズ変換の 4種類ものアルゴリズムを解読しなければならないこととなり
、 このような解読は事実上、 不可能なものとなる。
尚、 本実施形態のシステムでは、 暗号通信の際に共通暗号鍵を生成するために は、 個人鍵 Xn に反映されている前記ランダマイズ変換による成分を打ち消すた めのアルゴリズムを含む前記識別子変換アルゴリズムを個人鍵 Xn と共に各ェン ティティ 2に配付しておく必要がある。 しかるに、 該識別子変換アルゴリズムは 、 ランダマイズ変換による成分を打ち消すためのァルゴリズムとフーリェ変換ァ ルゴリムと重み関数とを合成したものであるため、 該識別子変換アルゴリズムか らセンタ一 1のセンターアルゴリズムを構成するランダマイズ変換のァルゴリズ ムゃ重み関数、 フーリエ変換アルゴリズムを個々に解読することも極めて困難で あな o
従って、 本実施形態のシステムによれば、 そのシステムの安全上、 最も重要な センタ一 1のセンターアルゴリズムを各ェンティティ 2の個人鍵 Xn等から解読 することは事実上、 不可能である。
また、 任意のエンティティ i , j間で暗号通信を行う際には、 平文そのものを 共通暗号鍵 K i jを用いて暗号化するのではなく、 該平文は偏つた特徴性をもたな い一回性の暗号通信用乱数データを鍵として暗号化すると共に、 その暗号化平文 を復号するための鍵としての暗号通信用乱数デ一夕を共通暗号鍵 K i jを用いて喑 号化するようにしたため、 暗号化された通信データを第三者が傍受しても、 その 通信データから共通暗号鍵 Ki jを解読することは困難である。 そして、 該共通暗 ^ Kijを解読することが困難であるため、 該共通暗号鍵 Ki jに含まれる各ェン ティティ 2の個人鍵 Xnの情報、 さらには該個人鍵 Xn に含まれるセン夕一アル ゴリズムの情報を第三者が取得することも困難である。 また、 前記平文にあって は、 暗号通信用乱数データを鍵として暗号化されるので、 該平文の機密性も確保 される。
従って、 本実施形態によれば、 種々の攻撃に対して安全性の高い暗号通信シス テムを提供できる。 そして、 任意のエンティティ i , j間での暗号通信に際して は、 各エンティティ i , jは自己の個人鍵 X i , X j 及び識別子変換アルゴリズ ムを、 相手側の識別子 y j , y i に作用させるだけで、 セン夕一 1の関与ゃェン ティティ i , j同士での事前連絡等を伴うことなく共通暗号鍵 Ki jを生成して共 有することができるので、 安全性が高いだけでなく、 簡易で汎用性の高い喑号通 信システムを提供できる。 尚、 上記のように共通暗号鍵 Ki jを生成する上で、 識 別子 ynが重要な役割を演じる点は、 A. Shamirによる論文 「 Identity - Based Cry ptosystems and Signature Sc eraes/Advances in Cryptology :Proceeding of C RYPTO ' 84 /Springer LNCS 196, 1985, pp.47-53 」 に見られる考え方と同様であ る。
次に、 本実施形態のシステムのより理論的な有効性について説明する。
本システムでは、 各エンティティ 2の個人鍵を演算し、 さらに共通暗号鍵を算 出する演算は線形変換に基づいて行われ、 この線形変換について以下説明する。 まず、 Xifを f人のエンティティ 2間で共通暗号鍵を生成する際にェンティテ ィ iの個人鍵とする。 このとき、 上記の線形変換を構築するための一般的な考え 方は、 ί入力対称変換 g ( f個の変数の関数で、 対称性を有するもの) を任意に 選択し、 エンティティ iの個人鍵 Xifを、 エンティティ iの識別子 y i に対して Xif ( い……, f f— , ) = g ( y i, f …… ' f f— , ) を満たすような f 一 1 入力変換として決定することである。 ここで、 添え字付きの は任意の識別子を 示す変数である。 この場合、 上記線形変換は、 f入力対称変換 gの核が多重線形 写像 (f重線形写像) に従うように見いだすことができ、 この線形変換は、 基本 的には有限体上の線形空間で定義され、 環上の剰余類に一般化される。
本システムは f = 2とした場合のものであり、 上記の線形変換は次のように定 義される。
ここで、 以下の説明において、 センター 1に属するエンティティの集合を E、 識別子の集合を I、 共通暗号鍵の集合を Kとする (図 i参照) 。 また、 Qを単位 元をもつ可換環、 Jを Q上の位数 mの剰余類、 Kを Q上の位数 hの剰余類とし、 J, Kの元はそれぞれ m—縦ベクトル、 h—縦ベクトルとする。 尚、 Qが体であ るならば、 J, Kはそれぞれ次元 m, hの線形空間となる。 また、 位数 mは識別 子の総数に等しい。
また、 Rを Iから Jへの写像を構成する線形変換とし、 以下、 アイデンティテ ィ変換と称する。 このアイデンティティ変換は、 前述の実施形態のシステムに対 応させると、 基本的には識別子のデータに重み関数付きのフーリエ変換 (積分変 換) を施す変換に相当し、 さらには、 後述の如く前記ランダマイズ変換をも含む 変換に拡張されるものである。
以上のことを前提として、 まず、 J2 (Jの二つの元の組を要素とする集合) から共通喑号鍵の集合 Kへの対称 Q階多重線形写像 (2入力対称変換) g : J2 →Kが任意に選択されて決定される。 この gは任意の二つの識別子をそれぞれァ イデンティティ変換したものからそれらの識別子に対応した共通暗号鍵を生成す るための変換に相当する。
また、 ある与えられた識別子 yi (≡ I ) に対して、 Q上の h行 m列の行列 X i が xi · ?? = g (R (yi ) , τ?) を満たすように決定される。 ここで、 ?7は Q上の任意の m -縦ベクトルで、 Jの元である (以下、 同様) 。
さらに、 ある与えられた yi (e i) に対して、 X i (ξ) =xi - R (ξ) (但し、 fは Iの任意の元。 以下、 同様) となるように 1入力変換 X i ( ) を 構成する。
この X i (ξ) が、 エンティティ iに対する個人鍵であり、 該個人鍵 X i (ξ ) は、 1入力変換 Vi を前記行列 xi を用いて Vi (77) =xi · 7?と定義した とき、 次式によって表される。
X i (ξ) =Vi (R (ξ) )
尚、 センタ一が複数存在するとき、 Vi (7?) =xi · 7?における 「xi 」 の 部分は、 各センタ一毎に上記のように決定される行列 xi の総和に置き換えられ このように個人鍵 Xi を定義したとき、 前述したことから容易に判るように、 任意のエンティティ a, beEに対して、 Xa (yb ) =Xb (ya ) となる。 すなわち、 エンティティ a, bがそれぞれの個人鍵 Xa , Xb に相手側の識別子 yb , ya を入力すれば、 共通の暗号鍵 Xa (yb ) =Xb (ya ) が得られる。 尚、 前記多重線形写像 gの代わりに、 多変数多項式を選択したとしても、 本シ ステムの線形変換の適用範囲に含まれる。 この理由は、 任意の多項式が未知数の 集合の適当な変換によって線形多項式に書き換えられるという事と、 そのような 変換は前記アイデンティティ変換 Rの中に吸収することができるという事とによ る。 更に、 レ、くつかの変換は、 線形変換と、 指数関数のような演算との合成と見 なすことができる。
次に、 本システムの線形変換の実行性能とアイデンティティ変換 Rの役割とに ついて述べる。
任意の変換 Aに対して、 Cd (A)、 C e (A) をそれぞれ変換 Aの記述の複 雑さ、 及び変換 Aの評価の複雑さとする。 このとき、 前述の変換 Xi, R, Vi に対して、 次の関係式が成り立つ。
Cd (Xi ) =Cd (R) +Cd (Vi )
C e (Xi ) ≤C e (R) +C e (Vi )
この場合、 個人鍵を示す変換 Xi の入力 (識別子) が w [bit ] で記述される とすると、 変換 Vi の記述の複雑さ Cd (Vi ) については
Cd (Vi ) =h - m - w [bit ]
が成り立つ。 また、 変換 Vi の記述の複雑さ C e (Vi ) については
C e (Vi ) =0 (h - m) [Q—演算]
力成り立つ。 ここで、 〇 (h · πι) [Q—演算] は可換環 Q上での h · mのォ一 ダーを意味し、 この値は、 概ね 0 (w2 ) [bit 変換] 、 すなわち、 w2 のォー ダ一によって評価できる。 そして、 小さい可換環 Q (例えばガロア体 GF [2] ) を選んだとき、 C e (Vi ) は低いものとなる。
従って、 変換 Xi の記述の複雑さ Cd (Xi )及び評価の複雑さ Ce (Xi ) は、 アイデンティティ変換 Rの記述の複雑さ Cd (R) 及び評価の複雑さ C e ( R) に負うところが大きレ、。
ここで、 システムを破ろうとする 3もしくは複数のエンティティ j力、 それ それの個人鍵 Xj を利用する場合について考察する。
明らかに、 本システムを完璧に破ることは、 前述の多重線形写像 g : J 2 →K を決定することである。 この場合、 システムを完全に破るためには、 センターが 協力するか、 あるいは、 多重線形写像 gの位数と同じ数 (これは概ね、 識別子の 総数 m (二 Jの位数) に等しい) のエンティティの協力が必要であり、 実際上は 、 不可能である。
さらに、 一部のエンティティ jによる、 他のエンティティ iの個人鍵 Xi の決 定の可能性について考察する。 この問題については、 以下に述べるようにアイデ ンティティ変換 Rが重要な役割を担う。
まず、 「エンティティ全体の集合 Eの部分集合 Bの全てのエンティティ jが協 力して、 それらのエンティティ j EBがそれぞれの個人鍵 Xj の全体 {Xj I j ≡B) を使ったとしても、 集合 E— B内の任意のエンティティ iの個人鍵 Xi を 決定するために有用などのような情報も得ることができない」 ということは、 「 E— B内の各エンティティ iにとつて、 アイデンティティ変換 R (yi ) 力 \ B 内のエンティティ jのそれぞれのアイデンティティ変換 R (yj ) の全体 {R ( yj ) I j≡B} から線形独立である」 ということと同値であることが容易に導 かれる。 従って、 本システムの線形変換の情報理論的安全性は、 集合 {R (y i ) I i≡E} の任意の部分集合 Uが線形独立であることに帰着させられる。 よつ て、 線形変換と線形代数学的な順列組み合わせとの間には強い関係があり、 線形 変換の安全性を評価する上では、 特に、 m行 n列 (ここで n = #E = eェンティ ティ Eの総数である) のパリティチェック行列 H= (R (yl ) , ……, R (y n ) ) によって定義される線形符号 LR = {zEQn | Η · ζ = 0} 、 すなわち 、 パリティチヱック行列 Ηとの積が零べクトルとなるような可換環 Q上の η—縦 べクトルで表される符号語 ζの集合を考察することが重要である。 所謂、 ハミン グ(Ha薩 ing ) 重率 sの符号語 z (E LR ) が存在するということと、 s— 1個 のエンティティ jの協力によって、 特定のエンティティ iの個人鍵 Xi を導くこ とができるということと同値であることは容易に導かれる。
一方、 以下のようにアイデンティティ変換 Rを個別化する (アイデンティティ 変換 Rを各エンティティに固有のものとする) ことによって、 多数のェンティテ ィが結託しても、 システムを破ることは難しくなる。 すなわち、 仮にシステムを 破ろうとする各エンティティ j ( jeB) のアイデンティティ変換 R (yj ) の 集合 {R (yj ) I j EB} に対し、 他のエンティティ iのアイデンティティ変 換 R (yi ) が線形従属で、 R (yi ) =∑Cj · R (yj ) (但し、 Cj は適 当な係数) であるならば、 前述した個人鍵の定義から明らかなように、 ェンティ ティ iの個人鍵 Xi 及びエンティティ j ( j eB) の個人鍵 Xj について、 Xi =∑Cj ' Xj が成り立つ。 このため、 システムを破ろうとする各エンティティ jの集合 Bは容易に他のエンティティ iの個人鍵 Xi を知ることができることと なる。 ところ力、 アイデンティティ変換 Rを個別化した場合には、 該変換 Rは各 エンティティに固有のものであるので、 与えられたエンティティ jの集合 Bに対 して、 他の個人鍵 Xi を解読し得るような識別子 yi を有するエンティティ iを 見いだすことは容易なことではない。 換言すれば、 集合 Bのエンティティ jは、 それらが所持する個人鍵 Xj等の情報からどのエンティティ iの個人鍵 Xi を解 読し得るのかを知ることができない。 また、 逆に、 与えられた識別子 yi を有す るエンティティ iに対し、 その個人鍵 Xi を解読し得るような識別子 yj を含む 集合 Bを見いだすことも容易ではない。 換言すれば、 解読しょうとする個人鍵 X i を有するエンティティ iを特定しても、 その個人鍵 Xi を解読するためにどの エンティティ同士が結託すればよいのかを知ることができない。 このように、 ァ イデンティティ変換 Rを個別化することは、 システムの複雑さ理論的な安全性を 高める上で本質的に重要なことである。
このようにアイデンティティ変換 Rを個別化する場合、 種々の線形変換を選択 することが可能であるが、 それらは、 基本的には二つの範醻に大別される。
その一つは、 対応する線形符号 LRがよく知られた代数学的または代数幾何学 的な符号になるようなアイデンティティ変換 Rを用いる場合であり、 他の一つは 、 アイデンティティ変換 Rをエンティティ毎に個別にランダム化する場合である。 この場合、 前者の手法では、 安全性のために識別子の総数 mを大きなものとす ると、 なデータ量が大規模なものとなる傾向がある。 例えば、 原始要素がひ で Q = GF (q) :ガロア体とし、 また、 h=l、 をひの f乗 (l
Figure imgf000027_0001
• 10 ga) とし、 さらに R (ξ) = [1, β, β2 , ···, ySra1 ] τ とし、 I が {0, 1, 2, ·■·, n- 1 } と符号化されたとする。 このアイデンティティ変 換 Rは一方向性を有さないので、 厳密な線形変換ではないが、 前述の R.Blomの論 文 「An Optimal Class of Symmetric Key Generation Systems] 中に提案された 線形変換に相当し、 線形符号 LRは所謂、 リード—ソロモン (Reed-Solomon) 符 号に相当する。 そして、 この手法では、 ネットワーク内のエンティティの総数 n はガロア体<3 = 0? (q) における qよりも小さいことが必要であり、 例えば n =1012の場合に、 この手法を適用すると、 最小の Qは GF ( 240) となって、 極めて大規模なデ一夕量が必要となる。
これに対して、 アイデンティティ変換 Rをエンティティ毎に個別にランダム化 する後者の手法は、 前述の実施形態で、 前記ランダマイズ変換によって実現化し た手法であり、 この手法によれば、 識別子の総数 m (本システムではこれはェン ティティの総数 nに等しい) カ きくとも、 高速な処理が可能で且つ小規模なデ 一夕量で済む多数のァイデンティティ変換 Rが存在する。
他方、 周知の漸近的バルシャモフ 'ギルバート (Varshamov- Gilbert ) の限界 式を導くのと同様の手法によって、 該限界式に対応する次の関係式が得られる。
Figure imgf000028_0001
但し、 r =m · 1 o g。 (q— 1 )
ここで、 Φは
Φ (u) =u · 1 o gq ( q - 1 ) 一 ιι · l o go υ
- (1 -υ) 1 o g。 ( 1一 u) によって定義される関数である。 また、 上記の不等式中の bはシステムを破ろう とするエンティティ jの総数 (=#B) である。
上記の不等式は、 システムを破るために必要なエンティティ jの総数 bの限界 を規定するものであり、 この不等式が成立しないエンティティ数 bではシステム を破ることができないことを意味する。
そして、 この不等式に基づいて、 任意の m及び bに対して、 高々 b個のェンテ ィティ jが共謀しても、 他のエンティティ iの個人鍵 Xi を解読することができ ないようなアイデンティティ変換 Rが存在することが導かれる。 また、 アイデン ティ変換 Rの個別のランダム化は、 多くの場合、 上記のような条件を満たしつつ 良好な線形独立な構造をもたらすことも判る。
従って、 本システムは、 アイデンティティ変換 Rの個別的なランダム化によつ て、 安全性の高いシステムを提供することができるものである。 言い換えれば、 本システムは、 アイデンティティ変換 Rの個別的なランダム化によって、 該変換 Rの記述の複雑さ Cd (R) 及び評価の複雑さ C e (R) を高め、 ひいては、 個 人鍵 Xi の記述の複雑さ Cd (Xi ) 及び評価の複雑さ C e (Xi ) を高めてシ ステムの安全性を確保したものである。 実際、 例えば Q = GF [2] . m= 8 1 92、 h=64とした場合、 Cd (X i ) = 64 [Kby t e] となる。 この場合、 1 6 Ob i tの共通暗号鍵によつ て、 最大で 1 0 1 20個のエンティティまでを含むシステム上の任意の二つのェ ンティティ間で暗号通信を行うことができる。 そして、 例えばクロック 200 M Hzで 32 b i tの CPUと 64 OKby t eのメモリを使用した場合、 20m s以内に各個人鍵を算出することができる。 さらに、 このシステムは 8 1 92個 のエンティティが結託しなければシステムを完全に破ることはできず、 また、 各 エンティティ毎の個別のランダム化によって、 256個以上のエンティティが結 託しなければ、 他のェンティティの個人鍵に対するいかなる情報も得ることがで きない。
尚、 前述の実施形態では、 センターアルゴリズムとして、 重み関数及びフーリ ェ変換アルゴリズムの他、 センタ一行列を設定したが、 重み関数自体をセンター 行列として用いることも可能である。
また、 前記実施形態では、 積分変換としてフーリエ変換を用いたが、 ラプラス 変換、 ミラー変換、 ヒルベルト変換等、 他の形式の積分変換を用いてもよい。 産業上の利用可能性
本発明はインタ一ネット、 パソコン通信網等のネットワークにおいて、 共通鍵 方式による暗号通信を簡便且つ安全に行うことができる手法として有用である。

Claims

請 求 の 範 囲
1 . 複数のエンティティとセンターとを含むネットワークにおいて、 通信を行 うエンティティ間で通信データの暗号 ·復号化を行うための共通の暗号鍵を両ェ ンティティが所有する方法であつて、
あらかじめ前記センターは、 各エンティティに固有で且つ公開性の識別子を、 該センターのみが保持する各エンティティに共通で且つ少なくとも積分変換アル ゴリズムを含むセンターアルゴリズムにより変換して各エンティティに固有の個 人鍵を生成すると共にその個人鍵と前記積分変換アルゴリズムとを各ェンティテ ィに配付しておき、
前記エンティティ同士が相互に通信を行うとき、 互いに通信相手側の識別子に 自己が保持する前記積分変換アルゴリズム及び前記個人鍵を作用させることによ り該エンティティ同士が共通の暗号鍵を所有することを特徴とする暗号鍵共有方
2 . 前記積分変換アルゴリズムは重み関数付きの積分変換アルゴリズムである ことを特徴とする請求の範囲第 1項記載の暗号鍵共有方法。
3 . 前記重み関数は前記セン夕一におレ、て生成された乱数デー夕により予想の つかないパターンに決定されていることを特徴とする請求の範囲第 2項記載の暗 号鍵共有方法。
4 . 前記乱数デ一夕は一回性の乱数データであることを特徴とする請求の範囲 第 3項記載の暗号鍵共有方法。
5 . 前記積分変換アルゴリズムはフーリェ変換アルゴリズ厶であることを特徴 とする請求の範囲第 1項又は第 2項記載の暗号鍵共有方法。
6 . 前記センターは、 前記識別子を前記セン夕一アルゴリズムにより変換した ものに、 さらに各エンティティに固有で且つ各エンティティには不知の一回性の 個別乱数デー夕によりランダマィズ変換を施して前記個人鍵を生成すると共に、 該個人鍵に含まれる前記ランダマイズ変換の成分を打ち消すためのアルゴリズム と前記積分変換アルゴリズ厶とからなる識別子変換アルゴリズ厶を該個人鍵と共 に各エンティティに配付しておき、 2 θ 前記ェンティティ同士は相互に通信を行うとき、 互いに通信相手側の識別子に 自己が保持する前記識別子変換アルゴリズム及び前記個人鍵を作用させることに より該エンティティ同士が共通の暗号鍵を所有することを特徴とする請求の範囲 第 1項に記載の暗号鍵共有方法。
7 . 前記ランダマイズ変換は、 前記各エンティティの識別子を前記センタ一ァ ルゴリズムにより変換したものを表すデータ列を前記一回性の個別乱数デ一夕に より配置変換することにより行うことを特徴とする請求の範囲第 6項記載の暗号 鍵共有方法。
8 . 前記各ェンティティの識別子を前記セン夕ーアルゴリズムにより変換した ものを表すデ一夕列は複数の不要ビットを含み、 前記ランダマイズ変換は、 該不 要ビットの値を前記一回性の個別乱数データによりランダム化し、 さらに該不要 ビットを含む前記データ列の全体を配置変換することにより行うことを特徴とす る請求の範囲第 7項記載の暗号鍵共有方法。
9 . 前記一回性の個別乱数データは、 前記各エンティティの所定の処理に基づ き生成することを特徴とする請求の範囲第 6項記載の暗号鍵共有方法。
1 0 . 前記所定の処理は前記各エンティティの人間による入力操作であり、 そ の入力操作の時間的タイミングに基づき前記一回性の個別乱数データを生成する ことを特徴とする請求の範囲第 9項記載の暗号鍵共有方法。
1 1 . 複数のエンティティとセンターとを含むネットワークにおいて、 通信を 行うェンティティ間で通信データの暗号 ·復号化を行うための共通の暗号鍵を両 エンティティが所有する方法であつて、
あらかじめ前記セン夕一は、 各エンティティに固有で且つ公開性の識別子を該 センターのみが保持する各エンティティに共通のセン夕一アルゴリズムにより変 換したものに、 各エンティティに固有で且つ各エンティティには不知の一回性の 個別乱数デ一夕によりランダマイズ変換を施して各ェンティティに固有の個人鍵 を生成すると共に、 その個人鍵と、 該個人鍵に含まれる前記ランダマイズ変換の 成分を打ち消すァルゴリズムを含む識別子変換ァルゴリズムとを各ェンティティ に配付しておき、
前記エンティティ同士が相互に通信を行うとき、 互いに通信相手側の識別子に 自己が保持する前記識別子変換アルゴリズム及び個人鍵を作用させることにより 該ェンティティ同士が共通の暗号鍵を所有することを特徴とする暗号鍵共有方法。
1 2 . 前記ランダマイズ変換は、 前記各エンティティの識別子を前記センタ一 アルゴリズ厶により変換したものを表すデータ列を前記一回性の個別乱数データ により配置変換することにより行うことを特徴とする請求の範囲第 1 1項記載の 暗号鍵共有方法。
1 3 . 前記各エンティティの識別子を前記センターアルゴリズムにより変換し たものを表すデータ列は複数の不要ビットを含み、 前記ランダマイズ変換は、 該 不要ビッ卜の値を前記一回性の個別乱数データによりランダム化し、 さらに該不 要ビットを含む前記データ列の全体を配置変換することにより行うことを特徴と する請求の範囲第 1 2項記載の暗号鍵共有方法。
1 4 . 前記一回性の個別乱数データは、 前記各エンティティの所定の処理に基 づき生成することを特徴とする請求の範囲第 1 1項記載の暗号鍵共有方法。
1 5 . 前記所定の処理は前記各エンティティの人間による入力操作であり、 そ の入力操作の時間的タイミングに基づき前記一回性の個別乱数デ一夕を生成する ことを特徴とする請求の範囲第 1 4項記載の暗号鍵共有方法。
PCT/JP1997/000433 1996-02-21 1997-02-19 Methode de communication utilisant une cle cryptographique commune WO1997031449A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IL12582997A IL125829A0 (en) 1996-02-21 1997-02-19 Method of sharing cryptokey
AU17325/97A AU1732597A (en) 1996-02-21 1997-02-19 Communication method using common cryptographic key

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP7083596 1996-02-21
JP8/70832 1996-02-21
JP7083296 1996-02-21
JP8/70835 1996-02-21
JP8/210376 1996-07-08
JP21037696 1996-07-08

Publications (1)

Publication Number Publication Date
WO1997031449A1 true WO1997031449A1 (fr) 1997-08-28

Family

ID=27300451

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP1997/000432 WO1997031448A1 (fr) 1996-02-21 1997-02-19 Methode de communication utilisant une cle commune
PCT/JP1997/000433 WO1997031449A1 (fr) 1996-02-21 1997-02-19 Methode de communication utilisant une cle cryptographique commune

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/000432 WO1997031448A1 (fr) 1996-02-21 1997-02-19 Methode de communication utilisant une cle commune

Country Status (9)

Country Link
US (2) US5987129A (ja)
EP (2) EP0792042A3 (ja)
KR (2) KR19990087103A (ja)
CN (2) CN1211362A (ja)
AU (2) AU1732597A (ja)
CA (2) CA2247478A1 (ja)
IL (2) IL125832A0 (ja)
TW (2) TW395103B (ja)
WO (2) WO1997031448A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788788B1 (en) * 1998-09-16 2004-09-07 Murata Kikai Kabushiki Kaisha Cryptographic communication method, encryption method, and cryptographic communication system
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
US7065210B1 (en) * 1999-01-25 2006-06-20 Murata Kikai Kabushiki Kaisha Secret key generation method, encryption method, cryptographic communications method, common key generator, cryptographic communications system, and recording media
US6907034B1 (en) * 1999-04-08 2005-06-14 Intel Corporation Out-of-band signaling for network based computer session synchronization
US7080255B1 (en) * 1999-05-19 2006-07-18 Murata Kikai Kabushiki Kaisha Secret key generation method, encryption method, and cryptographic communications method and system
US6694025B1 (en) 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
US7203834B1 (en) * 1999-12-02 2007-04-10 International Business Machines Corporation Method of updating encryption keys in a data communication system
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
US20010054147A1 (en) * 2000-04-04 2001-12-20 Richards Ernest S. Electronic identifier
US6718038B1 (en) * 2000-07-27 2004-04-06 The United States Of America As Represented By The National Security Agency Cryptographic method using modified fractional fourier transform kernel
US7031468B2 (en) * 2000-08-29 2006-04-18 Ntru Cryptosystems, Inc. Speed enhanced cryptographic method and apparatus
EP1329051A2 (en) * 2000-10-18 2003-07-23 Koninklijke Philips Electronics N.V. Generation of a common encryption key
EP1233570A1 (en) * 2001-02-16 2002-08-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method and system for establishing a wireless communications link
US20020146127A1 (en) * 2001-04-05 2002-10-10 Marcus Wong System and method for providing secure communications between wireless units using a common key
ATE293334T1 (de) * 2001-06-12 2005-04-15 Ibm France Verfahren zum authentifizieren mehrerer mit einem textdokument verbundener dateien
US9210137B2 (en) * 2001-08-24 2015-12-08 Thomson Licensing Local digital network, methods for installing new devices and data broadcast and reception methods in such a network
WO2004010584A2 (en) * 2002-07-24 2004-01-29 Congruence Llc. Code for object identification
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
CA2458123C (en) * 2003-03-13 2012-05-15 Synodon Inc. Remote sensing of gas leaks
WO2004107651A1 (en) * 2003-05-29 2004-12-09 Telecom Italia S.P.A. Method, system and computer program for the secured management of network devices
WO2005032201A1 (en) * 2003-09-26 2005-04-07 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced security design for cryptography in mobile communication systems
KR100561846B1 (ko) * 2003-10-08 2006-03-16 삼성전자주식회사 가중된 비밀 공유 및 복원 방법
CN100421372C (zh) * 2003-11-18 2008-09-24 华为技术有限公司 一种安全发送传输密钥的方法
EP1533971A1 (en) * 2003-11-18 2005-05-25 STMicroelectronics S.r.l. Method and system for establishing secure communication
DE60315853D1 (de) 2003-12-24 2007-10-04 St Microelectronics Srl Verfahren zur Entschlüsselung einer Nachricht
JP4567603B2 (ja) 2003-12-26 2010-10-20 三菱電機株式会社 被認証装置及び認証装置及び認証方法
JP2005210193A (ja) * 2004-01-20 2005-08-04 Matsushita Electric Works Ltd 共通秘密鍵生成装置
CN100459492C (zh) * 2004-12-09 2009-02-04 中国电子科技集团公司第三十研究所 一种适用于同步数字系列的加密方法
CN100446016C (zh) * 2005-11-17 2008-12-24 北京兆维电子(集团)有限责任公司 一种实现数据安全保护的系统
ES2392854T3 (es) * 2006-02-10 2012-12-14 Qualcomm Incorporated Ocultación de identidades temporales de equipos de usuario
US8332635B2 (en) * 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
US8433927B2 (en) * 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays
US8422674B2 (en) * 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
DE102007058163A1 (de) 2007-09-28 2009-04-23 Continental Automotive Gmbh Tachograph, Maut-On-Board-Unit, Anzeigeinstrument und System
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
CN101183938B (zh) * 2007-10-22 2011-11-23 华中科技大学 一种无线网络安全传输方法、系统及设备
KR20100134745A (ko) * 2008-04-14 2010-12-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 분산형 아이덴티피케이션을 위한 방법, 네트워크 내의 스테이션
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
CN101807997B (zh) * 2010-04-28 2012-08-22 中国工商银行股份有限公司 一种生成传输密钥的装置及方法
CN102279908B (zh) * 2010-06-08 2014-03-12 安凯(广州)微电子技术有限公司 一种数字内容的保护方法及系统
CN103004129B (zh) * 2010-07-23 2015-04-08 日本电信电话株式会社 加密装置、解密装置、加密方法、解密方法、程序及记录介质
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
US10797879B2 (en) * 2018-07-03 2020-10-06 Lawrence Liu Methods and systems to facilitate authentication of a user
CN110351084B (zh) * 2019-07-17 2022-02-08 伟志股份公司 一种城市基础测绘数据保密处理方法
CN111355645A (zh) * 2020-03-06 2020-06-30 海信(广东)空调有限公司 家用电器、云端服务器及其对应的传输数据的方法
CN113162896A (zh) * 2020-12-23 2021-07-23 哈尔滨工业大学 基于三项加权分数傅里叶变换的物理层安全发射方法
CN114363858A (zh) * 2022-03-21 2022-04-15 苏州浪潮智能科技有限公司 蜂窝车联网协同通信的会话及注册方法、系统及相关组件

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314585A (ja) * 1987-06-17 1988-12-22 日本電気株式会社 順序変換表作成装置
JPH07175411A (ja) * 1993-12-20 1995-07-14 Csk Corp 暗号システム
JPH07311673A (ja) * 1990-03-30 1995-11-28 Gao Ges Autom Org Mbh 乱数発生方法及び乱数発生回路配置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798605A (en) * 1971-06-30 1974-03-19 Ibm Centralized verification system
US4238853A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic communication security for single domain networks
WO1988001120A1 (en) * 1986-07-31 1988-02-11 Kabushiki Kaisya Advance System for generating a shared cryptographic key and a communication system using the shared cryptographic key
US5202921A (en) * 1991-04-01 1993-04-13 International Business Machines Corporation Method and apparatus for authenticating users of a communication system to each other
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
FR2719925B1 (fr) * 1994-05-10 1996-06-07 Bull Cp8 Procédé pour produire une clé commune dans deux dispositifs en vue de mettre en Óoeuvre une procédure cryptographique commune, et appareil associé.
US5606615A (en) * 1995-05-16 1997-02-25 Lapointe; Brian K. Computer security system
US5778069A (en) * 1996-04-10 1998-07-07 Microsoft Corporation Non-biased pseudo random number generator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314585A (ja) * 1987-06-17 1988-12-22 日本電気株式会社 順序変換表作成装置
JPH07311673A (ja) * 1990-03-30 1995-11-28 Gao Ges Autom Org Mbh 乱数発生方法及び乱数発生回路配置
JPH07175411A (ja) * 1993-12-20 1995-07-14 Csk Corp 暗号システム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ADVANCES IN CRYPTOLOGY: PROCEEDINGS OF CRYPTO94, SPRINGER VERLAG, 1994, JAMES L. MASSEY and SHIRLEI SERCONEK, "A Fourier Transform Approach to the Linear Complexity of Nonlinearly Filtered Sequences", pages 332-340. *
Authors, HIDEKI IMAI, "Coding Theory", 5th Edition, IEICE, 10 June 1994, pages 158-161. *
Authors, MASAAKI MITANI, SHIGEO TSUJII, "Digital Signal Processing Series Vol. 3 Digital Filter Design", SHOKODO, 20 April 1987, pages 75-78. *
IEICE TECHNICAL REPORT ISEC88-5, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS OF JAPAN, Vol. 88, No. 33, 20 May 1988, MATSUMOTO T. and IMAI H., "Performance of Linear Schemes for the Key Predistribution System", pages 29-32. *
THE TRANSACTION OF IEICE, Vol. J71-A, No. 11, 25 November 1988, TSUTOMU MATSUMOTO, HIDEKI IMAI, "A Method for Sharing Cryptography Key Without Communication: Key Predistribution System", pages 2046-2053. *

Also Published As

Publication number Publication date
KR19990082665A (ko) 1999-11-25
IL125829A0 (en) 1999-04-11
KR19990087103A (ko) 1999-12-15
TW395103B (en) 2000-06-21
IL125832A0 (en) 1999-04-11
EP0792043A3 (en) 2000-12-20
AU1732497A (en) 1997-09-10
CA2247509A1 (en) 1997-08-28
US5987129A (en) 1999-11-16
EP0792042A3 (en) 2000-12-27
EP0792043A2 (en) 1997-08-27
WO1997031448A1 (fr) 1997-08-28
CN1211362A (zh) 1999-03-17
CN1211363A (zh) 1999-03-17
CA2247478A1 (en) 1997-08-28
US5987128A (en) 1999-11-16
EP0792042A2 (en) 1997-08-27
TW395104B (en) 2000-06-21
AU1732597A (en) 1997-09-10

Similar Documents

Publication Publication Date Title
WO1997031449A1 (fr) Methode de communication utilisant une cle cryptographique commune
Lee et al. Public key encryption with equality test in the standard model
US7260215B2 (en) Method for encryption in an un-trusted environment
CN111510281B (zh) 一种同态加密方法及装置
US8892881B2 (en) Split key secure access system
US5764766A (en) System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same
JP2001211153A (ja) 秘密鍵生成方法
CN101202623A (zh) 消息验证码产生方法、验证/加密和验证/解密方法
CN115688167A (zh) 匿踪查询方法、装置和系统及存储介质
Marzan et al. An enhanced key security of Playfair cipher algorithm
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
JP2001211154A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
Faust et al. Chosen-ciphertext security from subset sum
Joseph et al. A Novel Algorithm for secured data sharing in cloud using GWOA-DNA cryptography
CN115642999A (zh) 一种用于私有信息高效检索的方法及系统
Kumar et al. Hybridization of Cryptography for Security of Cloud Data
JP2886517B2 (ja) 共通鍵通信システム
JP2886516B2 (ja) 暗号鍵共有システム
Yang et al. Identity‐Based Unidirectional Collusion‐Resistant Proxy Re‐Encryption from U‐LWE
Blundo et al. Randomness in Multi-Secret Sharing Schemes.
CN114500006B (zh) 查询请求的处理方法及装置
Oguntunde et al. A comparative study of some traditional and modern cryptographic techniques
D'Arco et al. Anonymous protocols: Notions and equivalence
Bhat et al. A secure two-party PIR for privacy applications
Singh et al. Enhanced Honey Encryption Algorithm on e-mail with Increased Message Space

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97192326.4

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AU BG BR CA CN CU CZ HU IL KR LT MX NO NZ PL RO RU SG SK TR UA VN

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2247509

Country of ref document: CA

Ref document number: 2247509

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019980706491

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1019980706491

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1019980706491

Country of ref document: KR