Abstract:
To achieve both information confidentiality management and early discovery of information leak. 
     A file encrypting/decrypting program makes a computer execute a process including a step of creating a session key (a1); a step of encrypting a file (f1) with the key (a1), thereby creating a file (f2); a step of encrypting the key (a1) with a public key (b1), thereby creating a key (a2); a step of encrypting the key (a1) with a public key (c1), thereby creating a key (a3); and a step of creating a combined file (f3) including the file (f2) and the keys (a2, a3); and a process including a step of separating the file(f3) into the file (f2) and the keys (a2, a3); a decrypting step of decrypting the file (f2) into the file (f1) with the key (a1); a step of decrypting the key (a2) into the key (a1) with a private key (b2) corresponding to the key (b1) and then proceeding to the decrypting step; and a step of decrypting the key (a3) into the key (a1) with a private key (c2) corresponding to the key (c1) and then proceeding to the decrypting step.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the benefit of priority to International Patent Application PCT/JP2005/023328, filed Dec. 20, 2005, which claims priority from Japanese Patent Application No. 2005-21359 filed on Jan. 28, 2005, which is herein incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Technical Field 
         [0003]    The present invention relates to technology of encrypting and decrypting files by use of a computer. 
         [0004]    2. Background Art 
         [0005]    File encryption is necessary to restrict readers of a confidential document or the like and to prevent the leak of information when transmitting via a network. The following encrypting methods are known: symmetric-key cryptography that uses an identical key (symmetric key) for both encryption and decryption; and public-key cryptography that uses a pair of different keys—a public key and a private key. Also, there are various encryption/decryption algorithms. The encryption and decryption is described in detail in the following non-patent literature: 
         [0006]    Non-patent Literature 1: S. Nishio, et al., “Iwanami Lecture Series, Multimedia Information Science 7, Sharing and Integrating Information”, Iwanami Shoten Co., First edition, Dec. 6, 1999, pp. 143-158 
       SUMMARY OF THE INVENTION 
       [0007]    Problems to be Solved by the Invention 
         [0008]    In recent years, multiple incidents where confidential information of a business company was leaked outside the company have happened, and in many of them, serious damage has been inflicted on business operation. Accordingly, as a countermeasure against the leak of confidential information, files need to be encrypted and managed. Furthermore, software for encrypting and decrypting files needs to be installed uniformly in personal computers that employees use in the business company. 
         [0009]    However, to encrypt a file means that only the persons having the key to decrypt the encrypted file can confirm the contents of the file. Hence, even where encryption software is made uniform throughout a business company, if a person allowed to access confidential information encrypts the information and takes the encrypted information outside the company, another person cannot easily confirm and check the contents of the encrypted file, and thus the discovery of the leak of the confidential information would be delayed, resulting in the spread of damage. 
         [0010]    A solution to this problem is, for example, a system where, with encryption software being made uniform throughout a business company, all keys for encryption and decryption are registered and arranged to be managed by a person having predetermined authority. However, in this case, the number of keys to be managed is large, and hence it is not practical. It is actually impossible to manage keys created confidentially. 
         [0011]    Means for Solving the Problems 
         [0012]    In view of the above problems, the inventors have come up with the present invention by considering the functions that an encryption/decryption program to be used uniformly in a business company is to include. An object of the present invention is to provide a file encrypting/decrypting method, an apparatus, and a program wherein a key for encryption can be freely created and a file encrypted using the key can be decrypted with a “master key” that is managed by a supervisor higher in rank than the creator of the file and wherein the master key itself can be managed strictly. 
         [0013]    An aspect of the invention is a file encrypting/decrypting method with which a computer executes a file encrypting process of encrypting a file and a file decrypting process of decrypting the encrypted file, 
         [0014]    the file encrypting process including: 
         [0015]    a session key creating step of creating a session key (a 1 ) of a symmetric-key cryptography type; 
         [0016]    a file encrypting step of encrypting a plain text file (f 1 ) with the session key, to create an encrypted file (f 2 ); 
         [0017]    a first encrypting step of encrypting the session key (a 1 ) with a public key (b 1 ) of a public-key cryptography type, to create an encrypted session key (a 2 ); 
         [0018]    a second encrypting step of encrypting the session key (a 1 ) with a public key (c 1 ) of the public-key cryptography type, to create an encrypted session key (a 3 ); and 
         [0019]    a combined file creating step of creating a combined file including the encrypted file (f 2 ) and the encrypted session keys ( 2 , a 3 ); 
         [0020]    the file decrypting process including: 
         [0021]    a file separating step of separating the combined file into the encrypted file (f 2 ) and the encrypted session keys (a 2 , a 3 ); 
         [0022]    a plain text file decrypting step of, if the computer stores the session key (a 1 ), decrypting the encrypted file (f 2 ) into the plain text file (f 1 ) with use of the session key (a 1 ); 
         [0023]    a first decrypting step of, if the computer has a private key (b 2 ) corresponding to the public key (b 1 ), decrypting the encrypted session key (a 2 ) into the session key (a 1 ) with use of the private key (b 2 ) and then performing the plain text file decrypting step; and 
         [0024]    a second decrypting step of, if the computer has a private key (c 2 ) corresponding to the public key (c 1 ), decrypting the encrypted session key (a 3 ) into the session key (a 1 ) with use of the private key (c 2 ) and then performing the plain text file decrypting step. 
         [0025]    The file encrypting/decrypting method may be arranged such that 
         [0026]    the file encrypting process includes: 
         [0027]    a password input step of receiving a password (p 1 ) through user input; 
         [0028]    a session key creating step of creating a session key (a 1 ) of a symmetric-key cryptography type; 
         [0029]    a file encrypting step of encrypting a plain text file (f 1 ) with the session key, to create an encrypted file (f 2 ); 
         [0030]    a session key modifying step of associating the session key (a 1 ) with the password (p 1 ) and creating a modified session key (a 4 ) obtained by modifying the session key (a 1 ) according to a predetermined algorithm; 
         [0031]    a first encrypting step of encrypting the password (p 1 ) with a public key (b 1 ) of a public-key cryptography type, to create an encrypted password (p 2 ); 
         [0032]    a second encrypting step of encrypting the password (p 1 ) with a public key (c 1 ) of the public-key cryptography type, to create an encrypted password (p 3 ); and 
         [0033]    a combined file creating step of creating a combined file including the encrypted file (f 2 ), the modified session key (a 3 ), and the encrypted passwords (p 2 , p 3 ); and 
         [0034]    the file decrypting process includes: 
         [0035]    a file separating step of separating the combined file into the encrypted file (f 2 ), the modified session key (a 4 ), and the encrypted passwords (p 2 , p 3 ); 
         [0036]    a password input step of receiving a password through user input; 
         [0037]    a plain text file decrypting step of, if the password inputted matches the password (p 1 ), restoring the modified session key (a 4 ) to the session key (a 1 ) according to the algorithm, and decrypting the encrypted file (f 2 ) into the plain text file (f 1 ) with use of the session key (a 1 ); 
         [0038]    a first decrypting step of, if the computer has a private key (b 2 ) corresponding to the public key (b 1 ), decrypting the encrypted password (p 2 ) into the password (p 1 ) with use of the private key (b 2 ) and providing the password (p 1 ) as the password inputted to the plain text file decrypting step; and 
         [0039]    a second decrypting step of, if the computer has a private key (c 2 ) corresponding to the public key (c 1 ), decrypting the encrypted password (p 3 ) into the password (p 1 ) with use of the private key (c 2 ) and providing the password (p 1 ) as the password inputted to the plain text file decrypting step. 
         [0040]    Alternatively, the file encrypting/decrypting method may be arranged such that 
         [0041]    the file encrypting process includes: 
         [0042]    a password input step of receiving a password (p 1 ) through user input; 
         [0043]    a modified session key creating step of modifying, according to a predetermined algorithm, the password (p 1 ) into a session key (p 4 ) of a symmetric-key cryptography type; 
         [0044]    a session key creating step of creating a session key (a 1 ) of the symmetric-key cryptography type; 
         [0045]    a file encrypting step of encrypting a plain text file (f 1 ) with the session key (a 1 ), to create an encrypted file (f 2 ); 
         [0046]    a verifying data creating step of creating verifying data (d 1 ) for the session key based on the session key (a 1 ); 
         [0047]    a first encrypting step of encrypting the session key (a 1 ) with a public key (b 1 ) of a public-key cryptography type, to create an encrypted session key (a 2 ); 
         [0048]    a second encrypting step of encrypting the session key (a 1 ) with a public key (c 1 ) of the public-key cryptography type, to create an encrypted session key (a 3 ); 
         [0049]    a third encrypting step of encrypting the session key (a 1 ) with the session key (d 1 ), to create an encrypted session key (a 5 ); and 
         [0050]    a combined file creating step of creating a combined file including the encrypted file (f 2 ), the verifying data (d 1 ), and the three encrypted session keys (a 2 , a 3 , a 5 ); and the file decrypting process includes: 
         [0051]    a file separating step of separating the combined file into the encrypted file (f 2 ), the verifying data (d 1 ), and the three encrypted session keys (a 2 , a 3 , a 5 ); 
         [0052]    the password input step; 
         [0053]    the modified session key creating step; 
         [0054]    a plain text file decrypting step of decrypting the encrypted file (f 2 ) into the plain text file (f 1 ) with use of the session key (a 1 ); 
         [0055]    a first decrypting step of, if the computer has a private key (b 2 ) corresponding to the public key (b 1 ), decrypting the encrypted session key (a 2 ) into the session key (a 1 ) with use of the private key (b 2 ), verifying the session key (a 1 ) against the verifying data (d 1 ), and then performing the plain text file decrypting step; 
         [0056]    a second decrypting step of, if the computer has a private key (c 2 ) corresponding to the public key (c 1 ), decrypting the encrypted session key (a 3 ) into the session key (a 1 ) with use of the private key (c 2 ), verifying the session key (a 1 ) against the verifying data (d 1 ), and then performing the plain text file decrypting step; and 
         [0057]    a third decrypting step of decrypting the encrypted session key (a 5 ) into the session key (a 1 ) with use of the session key (p 4 ) created in the modified session key creating step, verifying the session key (a 1 ) against the verifying data (d 1 ), and then performing the plain text file decrypting step. 
         [0058]    In the file encrypting/decrypting method, the private key (c 2 ) may be digitally-certificated with a private key (e 2 ) of the public-key cryptography type, and in the file decrypting process, only if a private key (x) in the computer is verified against a public key (e 1 ) corresponding to the private key (e 2 ) and the private key (x) is certified as the private key (c 2 ), the second decrypting step may be executed. 
         [0059]    Further, the file encrypting/decrypting method may be arranged such that the public key (c 1 ) is digitally-certificated with a private key (e 2 ) of the public-key cryptography type, and in the file encrypting process, only if a public key (y) in the computer is verified against a public key (e 1 ) corresponding to the private key (e 2 ) and the public key (y) is certified as the public key (c 1 ), the other steps of the file encrypting process are validated. 
         [0060]    According to the present invention, there are also provided an apparatus and program that execute the file encrypting/decrypting method and a computer-readable recording medium storing the program. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0061]      FIG. 1  is a schematic diagram showing a case where a file encrypting/decrypting program according to an embodiment of the present invention is stored in a recording medium; 
           [0062]      FIG. 2  is a schematic diagram showing an encrypting process according to the program; 
           [0063]      FIG. 3  is a schematic diagram showing a decrypting process according to the program; 
           [0064]      FIG. 4  shows the flow of the encrypting process (A) and the flow of the decrypting process (B); 
           [0065]      FIG. 5  is a schematic diagram showing an encrypting process according to a first processing method of a modified example of the program; 
           [0066]      FIG. 6  is a schematic diagram showing a decrypting process according to the first processing method; 
           [0067]      FIG. 7  is a schematic diagram showing an encrypting process according to a second processing method of a modified example of the program; and 
           [0068]      FIG. 8  is a schematic diagram showing a decrypting process according to the second processing method. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0069]    &lt;Explanation of Reference Numerals&gt; 
         [0070]      1  Product public key;  2  Product private key;  11  Company public key;  13  Company private key;  15  Group public key;  16  Group private key;  21  Session key;  31  Plain text file;  32  Encrypted file;  41 - 43  Combined files;  51  Password 
       Best Mode for Carrying Out the Invention 
       [0071]    A file encrypting/decrypting program according to an embodiment of the present invention is stored in a medium such as a CD-ROM to be provided and installed in a computer. In this embodiment, a distributor of the program manages business companies, which are in a license agreement with the distributor, using unique license codes. The distributor creates a public key and a private key for each license code, and stores the created public key (company public key) and private key (company private key) and the program body in a CD-ROM and delivers it to each business company. Specifically, the distributor creates and manages a public key (product public key) and a private key (product private key) of the public-key cryptography type, the product private key and the product public key being common among the same programs, which serve as the products. The program includes the company public key encrypted with the product private key (an encrypted company public key) and codes corresponding to the body of the program that is installed in a computer to perform various processes. The distributor delivers CD-ROMs storing these keys and the code compiled to the business company in concern. Note that the product public key may be made available for being downloaded from a Web site of a certification organization or the distributor or in the same CD-ROM storing the program. 
         [0072]      FIG. 1  shows schematically the state where the program is stored in a CD-ROM. Delivered to the business company are a CD-ROM  4  storing an encrypted company public key  12  into which a company public key  11  has been encrypted with a product private key  1  and codes  3  describing the program, and a CD-ROM  5  storing a signed product private key  14  obtained by signing a digital signature on the company private key  13  using the product private key  1 . Note that encrypting the company public key  11  with the product private key  1  is substantially equal in meaning to signing a digital signature on the company public key  11  with use of the product private key  1 . Furthermore, the digital signature of the company private key  13  may be achieved by encrypting the company private key  13  itself with the product private key  1  like the company public key  11 , or by encrypting, with the product private key  1 , a digest of the company private key  13  created according to a predetermined algorithm such as a hash function. Where the digest has been encrypted, the company private key  13  itself may be stored in the CD-ROM  5  along with the signature. Note that if the company private key  13  can be strictly managed, the company private key  13  need not be digitally-certificated and may be stored and saved in the manager&#39;s computer. Likewise, the company public key  11  may be stored in the CD-ROM  4  without being encrypted. 
         [0073]    ===Usage in the Business Company=== 
         [0074]    In the present embodiment, it is assumed that the program from the CD-ROM  4  is installed in all computers that the employees use in the business company and other encrypting/decrypting programs are prohibited from being used. In addition, the program includes a function of creating a public key and a private key of the public-key cryptography type, and for each department, its director has created a public key (group public key) and a private key (group private key) on his/her computer and has distributed the public key to the computers of other employees in the department. 
         [0075]    ===Cryptograph Processing System=== 
         [0076]    A computer that encrypts and decrypts files according to the method of the present embodiment (hereinafter called a cryptograph processing system) encrypts a plain text file of interest with a private key (hereinafter called a session key) according to symmetric-key cryptography and uses a known “digital envelope” technique which encrypts the session key with a public key according to public-key cryptography. By this means, file confidentiality management and quick discovery of leaks are both achieved in the business company. 
         [0077]      FIGS. 2 and 3  show schematically the encrypting and decrypting of files using the cryptograph processing system. (A) and (B) in  FIG. 4  show the processing flow of encryption and decryption, respectively. First, a session key  21  is created (s 1 ), and a plain text file  31  of interest is encrypted with the session key  21  into an encrypted file  32  (s 2 ). The session key  21  is encrypted with a group public key  15  into a group encrypted session key  22  (s 3 ). By decrypting the encrypted company public key  12  with the product public key  2 , the company public key  11  is obtained, and the session key  21  is encrypted with the company public key  11  into a company encrypted session key  23  (s 4 →s 5 ). Then, a combined file  41  containing the encrypted file  32 , the group encrypted session key  22 , and the company encrypted session key  23 , which have been made through the above-mentioned process, is created (s 6 ). In this embodiment, the creation of the company encrypted session key  23  without going through the decryption of the company public key  11  (s 4 ) is prohibited. If the company public key  11  is read in without going through the decryption of the company public key  11  (s 4 ), a statement to the effect that the plain text file  31  cannot be encrypted is displayed, and an error processing (s 7 ) such as invalidating the encryption process up to this point is performed and the execution of the program finishes. By this means, a person who has obtained the company public key  11  in an unauthorized manner is prevented from pretending to be the creator of the plain text file  31 . Needless to say, the decryption of the company public key may be performed at the beginning of the encryption process, and whether to proceed to the later processes or to stop may be decided depending on the decrypting result. 
         [0078]    In the decryption, first, the combined file  41  is separated into the encrypted file  32 , the group encrypted session key  22 , and the company encrypted session key  23  (s 11 ). If the cryptograph processing system executing the decryption process has the session key  21 , then the encrypted file  32  obtained by the separation is decrypted with the session key  21  into the plain text file  31  (s 12 &lt;s 15 ). Meanwhile, even if the system does not have the session key  21 , if it has a group private key  16 , the session key  21  is obtained by decrypting the group encrypted session key  22  with the group private key  16 , and the encrypted file  32  is decrypted with the session key  21  into the plain text file  31  (s 12 →s 13 →s 14 →s 15 ). Further, even if the system has neither the session key  21  nor the group private key  16 , if it has a signed company private key  14 , the signed company private key  14  is verified against the product public key  1  (s 12 →s 13 →s 16 ), and using the verified key as the company private key  13 , the company encrypted session key  23  is decrypted into the session key  21  (s 16 →s 17 ). Then, the encrypted file  32  is decrypted with that session key  21  into the plain text file  31  (s 15 ). If the verification fails, it is perceived that the company private key  13  has been obtained in an unauthorized manner, and an error processing (s 18 ) is performed such as displaying a statement to the effect that the encrypted file  32  cannot be decrypted, and the execution of the process finishes. 
         [0079]    The cryptograph processing system can be applied to, for example, a known packet sniffing technique which monitors the files being transmitted from inside the company to the outside via a network. Specifically, by providing a host computer, which monitors the network by use of packet sniffing, with functions of the cryptograph processing system, a group private key, and a company private key, if an employee attempts to encrypt a file with a session key created by the employee and transmit the file to a person outside the company via the network, the contents of the file can be examined quickly without obtaining the session key and performing decrypting. Conventionally, when examining whether a file is for internal use only, it takes a lot of time and work to obtain the session key and perform decryption. 
         [0080]    ===Operational Environment=== 
         [0081]    In the above embodiment, even the creator cannot see the code representing the session key  21 . In such an encryption procedure, the program creates, for each session key  21 , a special folder (management folder) to manage files to be encrypted or decrypted, and when the cryptograph processing system receives a user input to store a plain text file  31  in the management folder, the plain text file  31  is encrypted with the session key  21  for that folder, and a combined file  41  including the encrypted file  32  and an encrypted session key obtained by encrypting the session key  21  with the group public key  15  or the company public key  11  is stored in the management folder. In response to a user input to read out the combined file  41  from the management folder, the plain text file  31  may be obtained from the combined file  41  in the way decided depending on the type of the decrypting key (the session key  21 , the group private key  16 , or the company private key  13 ) being managed by the cryptograph processing system that has received the user input. 
         [0082]    ===Encrypting/Decrypting Process Associated with a Password=== 
         [0083]    The operational environment may configured such that a password is required, for example, when storing a plain text file  31  in the management folder or obtaining the plain text file  31  from a combined file  41  stored in the management folder. In this case, the following two methods—the first and second processing methods—can be considered. 
         [0084]      FIG. 5  shows schematically the encrypting process of the first processing method. In the encrypting process, first, a password  51  inputted by a user is received and stored. The session key  21  of the symmetric-key cryptography type is created, and a modified session key  24  obtained by modifying the session key  21  into such a form that the modified session key cannot be used if the password  51  is not correct is created (s 21 ). For example, the session key  21  is modified according to a predetermined algorithm, and data created by associating the password with the modified session key is managed as a modified session key  24 . 
         [0085]    Next, the plain text file  31  is encrypted with the session key  21  into an encrypted file  32  (s 22 ). Then, the password  51  is encrypted with the group public key  15  and the company public key  11  thereby creating a group encrypted password  52  and a company encrypted password  53  (s 23 , s 24 ), and a combined file  42  including the encrypted file  32 , the modified session key  24 , the group encrypted password  52 , and the company encrypted password  53  is created (s 25 ). 
         [0086]      FIG. 6  shows schematically the decrypting process of the first processing method. In the decrypting process for the encrypted file  32 , first, the combined file  42  is separated into the encrypted file  32 , the modified session key  24 , the group encrypted password  52 , and the company encrypted password  53  (s 31 ). The process beyond this separation varies depending on the decrypting key (the password  51 , the group private key  16 , or the company private key  13 ) being managed by the cryptograph processing system. 
         [0087]    When receiving an appropriate decrypt instruction such as a user input to read out the combined file  42  from the management folder, the cryptograph processing system examines the decrypting key that it manages. If a password is being managed, the cryptograph processing system prompts the user to input the password  51  via its user interface. If the password  51  is correctly entered through user input, the modified session key  24  is restored to the session key  21 , and the encrypted file  32  is decrypted into the plain text file  31  with use of the session key  21  (s 32 →s 33 ). 
         [0088]    If the group private key  16  is being managed, the cryptograph processing system obtains the password  51  by decrypting the group encrypted password  52  with use of the group private key  16  in response to a decrypt instruction. Then, the modified session key  24  is restored to the session key  21  with use of the password  51 , and the encrypted file  32  is decrypted into the plain text file  31  with use of the session key  21  (s 34 →s 32 →s 33 ). In the decrypting process based on the company private key  13 , a certificated company private key is verified against the product public key, and the company encrypted password  53  is decrypted with the company private key  13  to obtain the password  51 . Then, the modified session key is restored to the session key and the encrypted file is decrypted (s 35 →s 32 →s 33 ). 
         [0089]    As to the second processing method of the encrypting/decrypting process associated with a password, its encrypting process is shown schematically in  FIG. 7  and its decrypting process is shown schematically in  FIG. 8 . In the encrypting process, first, a password  51  inputted by a user is received and stored. A session key  21  of the symmetric-key cryptography type is created. Then, a plain text file  31  is encrypted into an encrypted file  32  with use of the session key  21  (s 41 ). Also, a piece of verifying data  62  is created from appropriate data  61  such as the session key  21  (s 42 ). The verifying data  62  may be, for example, a hash value into which the session key  21  is converted by a hash function, or a combination of a random number and an encrypted random number into which the random number is encrypted with the session key  21 . 
         [0090]    Next, a password modified session key  25  into which the password  51  is modified according to a predetermined algorithm is created, the password modified session key  25  being a session key of the symmetric-key cryptography type different from the session key  21  that is used when encrypting the plain text file  31  (s 43 ). Note that the password modified session key  25  may be created according to an appropriate algorithm such as converting the password  51  of a variable length into the password modified session key  25  of a fixed length with use of a hash function. 
         [0091]    Next, the session key  21  is encrypted with the password modified session key  25 , the group public key  15 , and the company public key  11  respectively into a password encrypted session key  26 , a group encrypted session key  22 , and a company encrypted session key  23  (s 44 , s 45 , s 46 ). Then, a combined file  43  including the encrypted file  32 , the verifying data  62 , the password encrypted session key  26 , the group encrypted session key  22 , and the company encrypted session key  23  is created (s 47 ). 
         [0092]    In the decrypting process for the encrypted file  32 , first, the combined file  43  is separated into the encrypted file  32 , the verifying data  62 , the password encrypted session key  26 , the group encrypted session key  22 , and the company encrypted session key  23  (s 51 ). As in the first processing method, the process beyond this separation (s 51 ) also varies depending on the decrypting key ( 13 ,  16 ,  51 ) being managed by the cryptograph processing system. 
         [0093]    If a password  51  is being managed in the cryptograph processing system, the user input of a password is receivable in response to a decrypt instruction. If a correct password  51  is entered, the password modified session key  25  is created from this password  51  according to the above algorithm, and by decrypting the password encrypted session key  26  with the password modified session key  25 , the session key  21  is obtained (s 53 ). 
         [0094]    Note that in the second processing method, the session key (hereinafter, called a key x) obtained in the decrypting process is verified against the verifying data  62  (s 54 ), and if the key x is not the session key  21  obtained in an authorized manner, the encrypted file  32  is not allowed to be decrypted into the plain text file  31 . For example, if the verifying data  62  is the hash value of the session key  21 , the hash values of the key x and of the verifying data  62  are compared. If both the hash values match, the key x is certified as the session key  21 . If the verifying data  62  consists of a random number and an encrypted random number, the random number in the verifying data  62  may be compared to a random number obtained by decrypting the encrypted random number with the key x. If, in the verifying process (s 54 ), the restored key x is certified as the authorized session key  21 , the encrypted file  32  is decrypted into the plain text file  31  with use of the authorized session key  21  (s 55 ). 
         [0095]    If the group private key  16  is being managed in the cryptograph processing system, the group encrypted session key  22  is decrypted with the group private key  16  (s 56 ), and if the key x obtained by this decryption is certified as the session key  21  like the above, the encrypted file  32  is decrypted into the plain text file  31  with use of this session key  21  (s 56 →s 54 →s 55 ). If the company private key  13  is being managed, then by going through the decrypting process of the company encrypted session key  23  with the company private key  13  and the certifying process of the key x obtained by this decryption process, the encrypted file  32  is decrypted into the plain text file  31  (s 57 →s 54 →s 55 ). 
       INDUSTRIAL APPLICABILITY 
       [0096]    According to the file encrypting/decrypting program of the present invention, a key for encrypting files with can be freely created, and a master key for decrypting the files encrypted with the key can also be created. Further, the master key can be managed strictly. Therefore, information confidentiality management and early discovery of leaks can both be achieved.