Abstract:
An object of the present invention is to provide an electronic data encryption and decryption system allowing a privileged user to decrypt all encrypted data without using a plurality of secret keys but only by using a single secret key that the privileged user himself has. An electronic data encryption and decryption system includes: a privileged user device, a user device, and an encrypted data generation device. The privileged user device has: a privileged user key generation means for generating a privileged user secret key x and a privileged user public key x·P (P is a generator); a first session key generation means for generating a session key K; and a first decryption means for decrypting the encrypted data by using the session key K generated by the first session key generation means. The user device has: a user key generation means for generating a user secret key r, a user public key r·P, and a public key rx·P; a second session key generation means for generating the session key K; and a second decryption means for decrypting the encrypted data by using the session key K generated by the second session key generation means. The encrypted data generation device has: a third session key generation means for generating the session key K by using the public key rx·P, session key generation information s, and a random point Q; and a means for encrypting the input electronic data by using the session key K generated by the third session key generation means.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to an electronic data encryption and decryption system and its method. 
       BACKGROUND ART 
       [0002]    At present, electronic data is often encrypted for transmission in order to prevent the content thereof from being leaked. 
         [0003]    For data encryption, two basic encryption methods, a symmetric encryption method (secret key encryption method) and an asymmetric encryption method (public key encryption method), are generally used. 
         [0004]    The symmetric encryption method uses a common secret key for both encryption and decryption. 
         [0005]    The asymmetric encryption method uses a pair of asymmetric keys. 
         [0006]    More specifically, the asymmetric encryption method uses one secret key and one public key. Data encrypted by the public key can be decrypted only by the corresponding secret key. 
         [0007]    Organizations such as companies and public offices retain confidential information and need to manage the confidential information. 
         [0008]    However, there is a danger that an organization insider may encrypt confidential information and transmit it to others. 
         [0009]    In this case, since the data has been encrypted, it is difficult to determine whether the transmitted data is confidential information or not. 
         [0010]    Thus, there is a possibility that the organization may be unaware of the leakage of confidential information, if occurs. 
         [0011]    In order to avoid this, a system needs to be established in which a confidential information manager (hereinafter, referred to as “privileged user”) of an organization can decrypt encrypted data irrespective of the intentions of a transmitter and a receiver and confirm whether the content of transmitted data includes confidential information or not. 
         [0012]    Examples of a conventional method for the privileged user to decrypt encrypted electronic data are disclosed in PTL 1 and PTL 2. 
         [0013]    Use of the method disclosed in PTL 1 allows the privileged user to decrypt encrypted electronic data. 
         [0014]    However, in the method disclosed in PTL 1, it is necessary for the privileged user to retain and manage all information concerning the secret keys of users of the encryption system, making the key management work cumbersome and complicated. 
         [0015]    The reason for the above is that the privileged user needs to mange information of individual secret keys of the users of the encryption system. 
         [0016]    Use of the method disclosed in PTL 2 allows the privileged user to decrypt encrypted electronic data without a need to manage the secret keys of the users of the encryption system. 
         [0017]    However, the privileged user needs to manage his own secret key. In addition, each of the encryption system users needs to manage two secret keys. Further, for electronic data encryption, each of the encryption system users needs to acquire four public keys. 
         [0018]    The reason for the above is that since there does not exist a key for decrypting encrypted data but a pair of secret and public keys, it is necessary to create a pair of secret and public keys every time required. 
       CITATION LIST 
     Patent Literature 
       [0000]    
       
         
           
             {PTL 1} JP-A-11-055244 
             {PTL 2} JP-A-11-085015 
           
         
       
     
       SUMMARY OF INVENTION 
     Technical Problem 
       [0021]    As described above, in order to transmit electronic data without allowing a third party to access the content thereof, a method that encrypts electronic data and then transmits it is effective. 
         [0022]    However, there is a danger that any company insider may encrypt confidential information by using an encryption technique for the wrong purpose and transmit it to others. 
         [0023]    Therefore, a confidential information manager of a company or the like needs to decrypt data encrypted by the company insider so as to confirm the content thereof. 
         [0024]    In this regard, although there is known a method for the privileged user to decrypt the encrypted data, a plurality of encryption and decryption keys are required, making the key management work cumbersome and complicated. 
         [0025]    An object of the present invention is therefore to provide an electronic data encryption and decryption system and its method allowing the privileged user to decrypt all encrypted data without using a plurality of secret keys but only by using a single secret key that the privileged user himself has. 
       Solution to Problem 
       [0026]    According to the present invention, there is provided an electronic data encryption and decryption system that includes: a privileged user device including, a privileged user key generation means for generating a privileged user secret key x and a privileged user public key x·P (P is a generator), a first session key generation means for generating a session key K, and a first decryption means for decrypting encrypted data by using the session key K generated by the first session key generation means; a user device including, a user key generation means for generating a user secret key r, a user public key r·P, and a public key rx·P, a second session key generation means for generating the session key K, and a second decryption means for decrypting the encrypted data by using the session key K generated by the second session key generation means; and an encrypted data generation device including, a third session key generation means for generating a session key K by using the public key rx·P, session key generation information s and a random point Q, and a means for encrypting input electronic data using the session key K generated by the third session key generation means. 
         [0027]    Further, according to the present invention, there is provided a privileged user device that includes: a privileged user key generation means for generating a privileged user secret key x and a privileged user public key x·P (P is a generator); a session key generation means for generating a session key K; and a decryption means for decrypting encrypted data by using the session key K generated by the session key generation means. 
         [0028]    Further, according to the present invention, there is provided a user device that includes: a user key generation means for generating a user secret key r, a user public key r·P (P is a generator), and a public key rx·P (x is a privileged user secret key); a session key generation means for generating a session key K; and a decryption means for decrypting the encrypted data by using the session key K generated by the session key generation means. 
         [0029]    Further, according to the present invention, there is provided an encrypted data generation device that includes: a session key generation means for generating a session key K by using a public key rx·P (r is a user secret key, x is a privileged user secret key, and P is a generator), session key generation information s and a random point Q; and a means for encrypting input electronic data using the session key K generated by the session key generation means. 
         [0030]    Further, according to the present invention, there is provided a program allowing a computer to function as a privileged user device, the privileged user device including: a privileged user key generation means for generating a privileged user secret key x and a privileged user public key x·P (P is a generator); a session key generation means for generating a session key K; and a decryption means for decrypting encrypted data by using the session key K generated by the session key generation means. 
         [0031]    Further, according to the present invention, there is provided a program allowing a computer to function as a user device, the user device including: a user key generation means for generating a user secret key r, a user public key r·P (P is a generator), and a public key rx·P (x is a privileged user secret key); a session key generation means for generating a session key K; and a decryption means for decrypting the encrypted data by using the session key K generated by the session key generation means. 
         [0032]    Further, according to the present invention, there is provided a program allowing a computer to function as an encrypted data generation device, the encrypted data generation device including: a session key generation means for generating a session key K by using a public key rx·P (r is a user secret key, x is a privileged user secret key, and P is a generator), session key generation information s and a random point Q; and a means for encrypting input electronic data using the session key K generated by the session key generation means. 
         [0033]    Further, according to the present invention, there is provided an electronic data encryption and decryption method that includes: a privileged user key generation step of generating a privileged user secret key x and a privileged user public key x·P (P is a generator); a first session key generation step of generating a session key K; a first decryption step of decrypting encrypted data by using the session key K generated by the first session key generation step; a user key generation step of generating a user secret key r, a user public key r·P, and a public key rx·P; a second session key generation step of generating the session key K; a second decryption step of decrypting the encrypted data by using the session key K generated by the second session key generation step; a third session key generation step of generating a session key K by using the public key rx·P, session key generation information s and a random point Q; and a step of encrypting input electronic data using the session key K generated by the third session key generation step. 
       ADVANTAGEOUS EFFECTS OF INVENTION 
       [0034]    According to the present invention, it is possible to allow the privileged user to decrypt all encrypted data without using a plurality of secret keys but only by using a single secret key that the privileged user himself has. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0035]      FIG. 1  A block diagram showing an electronic data encryption and decryption system according to an embodiment of the present invention. 
           [0036]      FIG. 2  A block diagram showing a structure of an encryption system privileged user device shown in  FIG. 1 . 
           [0037]      FIG. 3  A block diagram showing a structure of an encryption system user device shown in  FIG. 1 . 
           [0038]      FIG. 4  A block diagram showing a structure of an encrypted data generation device in  FIG. 1 . 
           [0039]      FIG. 5  A flowchart showing operation of the encryption system privileged user device shown in  FIG. 1 . 
           [0040]      FIG. 6  A flowchart showing operation of the encryption system user device shown in  FIG. 1 . 
           [0041]      FIG. 7  A flowchart showing operation of an encrypted data generation device shown in  FIG. 1 . 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0042]    A preferred embodiment of the present invention will be described in detail below with reference to the accompanying drawings. 
         [0043]    First, a structure of the present embodiment will be described with reference to  FIG. 1 . An electronic data encryption and decryption system according to the embodiment of the present invention includes an encryption system privileged user device  2 , an encryption system user device  3 , and an encrypted data generation device  4 . 
         [0044]    The encryption system privileged user device  2  is a device used by an encryption system privileged user. 
         [0045]    The encryption system privileged user device  2  retains a privileged user secret key x and provides a privileged user public key x·P (P is a generator) to the encryption system user device  3  and encrypted data generation device  4 . 
         [0046]    Further, the encryption system privileged user device  2  decrypts encrypted data generated by the encrypted data generation device  4 . 
         [0047]    The encryption system user device  3  retains a user secret key r, a user public key r·P, a privileged user public key x·P, and a public key rx·P and provides the user public key r·P and public key rx·P to the encrypted data generation device  4 . 
         [0048]    The encryption system user device  3  decrypts encrypted data generated by the encrypted data generation device  4 . 
         [0049]    The encrypted data generation device  4  is a device used by a user who generates encrypted data. 
         [0050]    The encrypted data generation device  4  retains the privileged user public key x·P provided from the encryption system privileged user device  2  and retains the user public key r·P and public key rx·P provided from the encryption system user device  3 . 
         [0051]    The encrypted data generation device  4  generates a session key (temporary key) K and uses the session key K to encrypt electronic data. 
         [0052]    Next, structures of the respective devices will be described with reference to the drawings. 
         [0053]    First, with reference to  FIG. 2 , a structure of the encryption system privileged user device  2  will be described. 
         [0054]    The encryption system privileged user device  2  includes an input/output section  21 , a privileged user key generation section  22 , a key storage section  23 , a session key generation section  24 , and a decryption section  25 . 
         [0055]    The input/output section  21  performs input of encrypted data and output of decrypted data and performs output of the privileged user public key x·P. Further, the input/output section  21  receives information from the privileged user through a keyboard or the like. 
         [0056]    The privileged user key generation section  22  generates the privileged user secret key x and privileged user public key x·P. The privileged user secret key x is selected from one of the elements of a cyclic multiplicative group Zq of an order q. 
         [0057]    A privileged user public key Ppub is one element of a cyclic multiplicative group G of an order q. The cyclic multiplicative group G is an elliptic curve or hyperelliptic curve Jacobian and is generated with a generator set as P. Further, the cyclic multiplicative group G has bilinear pairs e. 
         [0058]    Here, the bilinear pairs e satisfy the following proposition. 
         [0000]        G×G→Zq   [Numeral Expression 1] 
         [0000]    where G is a cyclic multiplicative group, × denotes a direct product, → denotes a mapping, and Zq is a mapping of G×G. 
         [0059]    The privileged user public key Ppub is generated by multiplying the privileged user secret key x and generator P. The generated privileged user secret key x and privileged user public key Ppub are stored in the key storage section  23 . 
         [0060]    Here, the bilinear pairs will be described. 
         [0061]    Weil pairs and Tate pairs, which are algebraic curves, are very important in the study of algebraic geometry. 
         [0062]    The initial application of the bilinear pairs was used for evaluating a discrete logarithm problem in an encryption system. 
         [0063]    For example, MOV attack using the Weil pairs and FR attack using the Tate pairs have reduced a discrete logarithm problem in a specific elliptic curve or hyperelliptic curve to a discrete logarithm problem in a finite field. 
         [0064]    In recent years, it has become clear that the bilinear pairs can be applied variously in cryptography. 
         [0065]    The bilinear pairs e that satisfy the above proposition further satisfy the following conditions. 
         [0000]        e ( P 1 +P 2 ,Q )= e ( P 1 ,Q ) e ( P 2 ,Q )  [Numeral Expression 2] 
         [0000]      and 
         [0000]        e ( P,Q 1+ Q 2)= e ( P,Q 1) e ( P,Q 2)  [Numeral Expression 3] 
         [0000]      or 
         [0000]        e ( aP,bQ )=( eP,Q ) ab   [Numeral Expression 4] 
         [0000]      In addition, 
         [0000]        e ( P,Q )≠1  [Numeral Expression 5] 
         [0000]      PεG,QεG  [Numeral Expression 6] 
         [0000]    (where G is a cyclic multiplicative group)
 
existence of Numeral Expression 6 that satisfies Numeral Expression 5 is required.
 
         [0066]    The session key generation section  24  uses session key information sr·P (to be described later) added to encrypted data, a privileged user secret key x, and a random point Q (to be described later) to generate a session key K. The generated session key is provided to the decryption section  25 . 
         [0067]    The decryption section  25  uses the session key K provided from the session key generation section  24  to decrypt encrypted data. 
         [0068]    Next, with reference to  FIG. 3 , a structure of the encryption system user device  3  will be described. 
         [0069]    As shown in  FIG. 3 , the encryption system user device  3  includes an input/output section  31 , a user key generation section  32 , a key storage section  33 , a session key generation section  34 , and a decryption section  35 . 
         [0070]    The input/output section  31  performs input of encrypted data, output of decrypted data, output of the user public key r·P, input of the privileged user public key x·P, and output of the public key rx·P. Further, the input/output section  31  receives information from the user through a keyboard or the like. 
         [0071]    The user key generation section  32  generates the user secret key r and user public key r·P. As is the case with the privileged user secret key x, the user secret key r is selected from one of the elements of a cyclic multiplicative group Zq of an order q. 
         [0072]    A broadly-defined user public key Upub is an element of a cyclic multiplicative group G of an order q and is generated as a set of a narrowly-defined user public key r·P and public key rx·P. r denotes a user secret key, P denotes a generator, and x denotes a privileged user secret key. rx·P can be obtained by multiplying the privileged user public key x·P by r from the left. Since the values of rx and x have been multiplied by “·P”, they cannot be decrypted by the encrypted data generation device  4 . 
         [0073]    The generated user secret key r and user public key Upub are provided to the key storage section  33 . 
         [0074]    The key storage section  33  stores the user secret key r and broadly-defined user public key Upub (a set of the narrowly-defined user public key r·P and public key rx·P) that has been generated by the user key generation section  32 . 
         [0075]    The session key generation section  34  uses session key information sx·P (to be described later) added to encrypted data, a user secret key r, and a random point Q (to be described later) to generate a session key K. The generated session key K is provided to the decryption section  35 . 
         [0076]    The decryption section  35  uses the session key K provided from the session key generation section  34  to decrypt encrypted data. 
         [0077]    Next, with reference to  FIG. 4 , a structure of the encrypted data generation device  4  will be described. 
         [0078]    The encrypted data generation device  4  includes an input/output section  41 , an electronic data storage section  42 , a key storage section  43 , a session key generation section  44 , and an encryption section  45 . 
         [0079]    The input/output section  41  performs input of electronic data, output of decrypted data, input of the broadly-defined user public key Upub, and input of the privileged user public key x·P. Further, the input/output section  41  receives information from the user through a keyboard or the like. 
         [0080]    The electronic data storage section  42  stores electronic data provided from the input/output section  41 . Further, the electronic data storage section  42  provides the stored electronic data to the encryption section  45 . 
         [0081]    The key storage section  43  has session key generation information s and a random point Q. The session key generation information s is an element of a cyclic multiplicative group Zq, and random point Q is an element of a cyclic group G. The session key generation information s and random point Q are provided to the session key generation section  44 . 
         [0082]    Further, the key storage section  43  stores the privileged user public key Ppub (=x·P) and broadly-defined user public key Upub (a set of the narrowly-defined user public key r·P and public key rx·P) that have been provided from the input/output section  41 . 
         [0083]    The session key generation section  44  uses the session key generation information s, random point Q, and public key rx·P that have been provided from the key storage section  43  to generate a session key K. The generated session key K is provided to the encryption section  45 . 
         [0084]    The encryption section  45  uses the session key K provided from the session key generation section  44  to encrypt the electronic data provided from the electronic data storage section  42 . 
         [0085]    The encrypted data is provided to the input/output section  41 . 
       Operation of Embodiment 
       [0086]    With reference to  FIGS. 2 to 7 , operation of the present embodiment will be described in detail. 
         [0087]    First, with reference to  FIGS. 4 and 5 , electronic data encryption operation performed by the encrypted data generation device  4  will be described in detail. 
         [0088]    The input/output section  41  inputs therein electronic data (step S 201 ). 
         [0089]    The input/output section  41  stores the input electronic data in the electronic data storage section  42  (step S 203 ). 
         [0090]    The input/output section  41  inputs therein the privileged user public key Ppub and broadly-defined user public key Upub (step S 205 ). 
         [0091]    The input/output section  41  stores the input privileged user public key Ppub and broadly-defined user public key Upub in the key storage section  43  (step S 207 ). 
         [0092]    The key storage section  43  provides the session key generation information s, random point Q, privileged user public key Ppub and broadly-defined user public key Upub to the session key generation section  44  (step S 209 ). 
         [0093]    The session key generation section  44  uses the provided session key generation information s, random point Q, privileged user public key Ppub and user public key Upub to generate a session key K (step S 211 ). The session key K is generated according to the following expression. 
         [0000]        K=e ( rx·P,s·Q )  [Numeral Expression 7] 
         [0000]    where e denotes bilinear pairs, r denotes a user secret key, x denotes a privileged user secret key, P denotes a generator of the above-mentioned privileged user public key Ppub, s is session key generation information, and Q is a random point. 
         [0094]    The encryption section  45  acquires the electronic data from the electronic data storage section  42 , acquires the session key K from the session key generation section  44 , and encrypts the acquired electronic data using the acquired session key K (step S 213 ). 
         [0095]    The encryption section  45  calculates sx·P and sr·P as session key information from the session key generation information s, user public key r·P, and privileged user public key x·P (step S 215 ). 
         [0096]    The encryption section  45  provides encrypted data to which the session key information sx·P and sr·P and random point Q have been added to the input/output section  41  (step S 217 ). 
         [0097]    The input/output section  41  provides the encrypted data to which the session key information sx·P and sr·P and random point Q have been added to the input/output sections  21  and  31  of the encryption system user device  3  and encryption system privileged user device  2  (step S 219 ). 
         [0098]    Next, with reference to  FIGS. 3 and 6 , encrypted data decryption operation performed by the encryption system user device  3  will be described in detail. 
         [0099]    The input/output section  31  inputs therein the encrypted data to which the session key information sx·P and sr·P and random point Q have been added from the input/output section  41  and provides them to the decryption section  35  (step S 231 ). 
         [0100]    The decryption section  35  extracts the session key information sx·P and sr·P and random point Q from the encrypted data to which the session key information sx·P and sr·P and random point Q have been added (step S 233 ). 
         [0101]    The extracted session key information sx·P and sr·P and random point Q are provided to the session key generation section  34 . 
         [0102]    The session key generation section  34  acquires the user secret key r from the key storage section  33  and uses the user secret key r, session key information sx·P and sr·P, and random point Q to generate a session key K (step S 235 ). 
         [0103]    K is generated according to the following expression. 
         [0000]        K=e ( sx·P,r·Q )  [Numeral Expression 8] 
         [0000]    where e denotes bilinear pairs, s is session key generation information, x denotes a privileged user secret key, P denotes a generator of the above-mentioned privileged user public key Ppub, r denotes a user secret key, and Q is a random point. 
         [0104]    The session key generation section  34  provides the generated session key K to the decryption section  35 . 
         [0105]    The decryption section  35  uses the provided session key K to decrypt encrypted data (step S 237 ). The decrypted electronic data is provided to the input/output section  31 . 
         [0106]    Next, with reference to  FIGS. 2 and 7 , encrypted data decryption operation performed by the encryption system privileged user device  2  will be described in detail. 
         [0107]    The input/output section  21  inputs therein the encrypted data to which the session key information sx·P and sr·P and random point Q have been added from the input/output section  41  and provides them to the decryption section  25  (step S 261 ). 
         [0108]    The decryption section  25  extracts the session key information sx·P and sr·P and random point Q from the provided encrypted data (step S 263 ). 
         [0109]    The extracted session key information sx·P and sr·P and random point Q are provided to the session key generation section  24 . 
         [0110]    The session key generation section  24  acquires the privileged user secret key x from the key storage section  23  and uses the privileged user secret key x, session key information sx·P and sr·P, and random point Q to generate a session key K (step S 265 ). 
         [0111]    K is generated according to the following expression. 
         [0000]        K=e ( sr·P,x·Q )  [Numeral Expression 9] 
         [0000]    where e denotes bilinear pairs, s is session key generation information, r denotes a user secret key, P denotes a generator of the above-mentioned privileged user public key Ppub, x denotes a privileged user secret key, and Q is a random point. 
         [0112]    The session key generation section  24  provides the generated session key K to the decryption section  25 . 
         [0113]    The decryption section  25  uses the provided session key K to decrypt encrypted data (step S 267 ). The decrypted electronic data is provided to the input/output section  21 . 
         [0114]    The encryption system privileged user device  2 , encryption system user device  3 , and encrypted data generation device  4  each can be realized by hardware, software or a combination thereof. 
         [0115]    Further, as another embodiment, the encryption system user device  3  and encrypted data generation device  4  may be embodied as one device. 
       EFFECTS 
       [0116]    The first effect is that the privileged user can decrypt encrypted data. 
         [0117]    The reason is that the public key of the privileged user and public key of a receiver of encrypted data are generated using a bilinear pairing technique, so that the secret key of the privileged user used for decryption can decrypt data that has been encrypted in any encrypted data generation device. 
         [0118]    The second effect is to facilitate key management. 
         [0119]    The encrypted data receiver can decrypt encrypted data only by using his secret key. Further, the privileged user can decrypt all encrypted data only by using his secret key. 
         [0120]    Thus, the encrypted data receiver and privileged user each only need to manage one secret key for decryption. 
         [0121]    This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2007-160193 (filed Jun. 18, 2007) under the Paris Convention, the entire contents of which are incorporated in the present specification by reference. 
         [0122]    Although the representative embodiment of the present invention has been described in detail, it should be understood that various changes, substitutions and alternatives can be made therein without departing from the sprit and scope of the invention as defined by the appended claims. Further, it is the inventor&#39;s intent to retain all equivalents of the claimed invention even if the claims are amended during prosecution. 
       INDUSTRIAL APPLICABILITY 
       [0123]    The present invention can be applied for internal control of a company. In the case where an employee in a company transmits encrypted electronic data by mail, there is a possibility that he may encrypt confidential information of the company and improperly transmits it to others. In view of this, it is necessary to detect such an improper act of the employee of the company and prevent it. To this end, the encryption system according to the present invention has allowed all encrypted data to be decrypted with simple key management. 
       REFERENCE SIGNS LIST 
       [0000]    
       
           2 : Encryption system privileged user device 
           3 : Encryption system user device 
           4 : Encrypted data generation device 
           21 : Input/output section 
           22 : Privileged user key generation section 
           23 : Key storage section 
           24 : Session key generation section 
           25 : Decryption section 
           31 : Input/output section 
           32 : User key generation section 
           33 : Key storage section 
           34 : Session key generation section 
           35 : Decryption section 
           41 : Input/output section 
           42 : electronic data storage section 
           43 : Key storage section 
           44 : Session key generation section 
           45 : Encryption section