Patent ID: 8307208

Claim:
A confidential communication method in a public key cipher system where a client and a server share a password, wherein the client, embodied as a processor, comprises: a public key cipher system encrypter performing encryption with a public key in the public key cipher system; a client data transmitter/receiver that transmits data to and receives data from a network; a password encrypter performing encryption with the password; and a random number data generator generating random number data, or obtaining random number data from an apparatus other than the client: and the server, embodied as a processor, comprises: a server data transmitter/receiver that transmits data to and receives data from a network; a public key cipher system decrypter decrypting data encrypted by the public key cipher system encrypter; and a password decrypter decrypting data encrypted by the password encrypter, the method comprising: generating or obtaining, by the client, the random number data using the random number data generator, encrypting, by the client, the random number data using the public key cipher system encrypter, further encrypting, by the client, the random number data, which has been encrypted by the public key cipher system encrypter, using the password encrypter, and decrypting, by the server, the random number data, which has been encrypted by the public key cipher system encrypter and the password encrypter, using the public key cipher system decrypter and the password decrypter, wherein both the client and the server comprise a common key encrypter/decrypter performing encryption and decryption with the common key, wherein both the client and the server comprise a back-calculation-difficult calculator that makes back-calculation difficult, the back-calculation difficult calculator processing random authentication data by presenting a remainder resulting from calculation in which the random number data is a divisor and the random authentication data is a dividend when determining whether the client or the server has the password, the method further comprising: performing cryptographic communication over the network between the client data transmitter/receiver of the client and the server data transmitter/receiver of the server by using one of the common key generated from at least a portion of the random number data and the common key generated from at least a portion of the random number data as an original key, in the common key encrypter/decrypter, masking, by the server, the decrypted random number data with a specific bit pattern, masking, by the client, the generated or obtained random number data with the specific bit pattern, comparing, by the client, the masked random number data, which is masked by the client, to the decrypted random number data, which is masked by the server, and determining, by the client, whether or not the server has the password based on the comparison result.