EP0936776A2

A network system using a threshold secret sharing method

Abstract

In a data encryption/decryption method including an encryption step and a decryption step. In the encryption step (Fig. 2), there are prepared n pairs of secret keys (d1 to d4) and public keys (Q1 to Q4) in a public-key cryptographic scheme, where n is a positive integer. A new key is generated in accordance with at least one of the public keys. Data is encrypted in a common-key cryptographic scheme by use of the new key. There is prepared a (k,n) threshold logic (k is an integer equal to or less than n) having terms associated with the new key and the n public keys. A calculation of the threshold logic is conducted by use of the new key and the n public keys, and encrypted data and a result of the calculation of the threshold logic are stored. In the decryption step (Fig. 3), the new key is restored from k secret keys selected from the n secret keys and the stored result of the threshold logic calculation in accordance with a threshold reverse logic corresponding to the threshold logic and stored data is decrypted by the restored key in the common-key cryptographic scheme.

EP0936776A2, drawing sheet 1
Sheet 1 of 15

Term

Term ended

Projected expiry passed 2 February 2019, 7.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

14 claims: 14 independent, 0 dependent

  1. 1
    A data encryption/decryption method comprising an encryption step (Fig. 2) and a decryption step (Fig. 3), wherein the encryption step includes the following steps of:preparing n pairs of secret keys (d1 to d4) and public keys (Q1 to Q4) in a public-key cryptographic scheme, where n is a positive integer;generating a new key using at least one of the public keys;encrypting data in a common-key cryptographic scheme by use of the new key;preparing a (k,n) threshold logic (k is an integer equal to or less than n) having terms associated with the new key and the n public keys;conducting a calculation of the threshold logic by use of the new key and the n public keys;and storing encrypted data and a result of the calculation of the threshold logic and the decryption step includes the following steps of: restoring the new key from k secret keys selected from the n secret keys and the stored result of the threshold logic calculation in accordance with a threshold reverse logic corresponding to the threshold logic;and decrypting by the restored key the encrypted and stored data in the common-key cryptographic scheme.
  2. 2
    A data encryption/decryption method in accordance with Claim 1, wherein the public-key cryptographic scheme is an elliptic curve cryptosystem in which a constant (R) related to the elliptic curve cryptosystem is stored together with the encrypted data, the constant (R) being used in the decryption step.
  3. 3
    A data encryption/decryption method in accordance with Claim 1, wherein the step of generating the new key using the public key uses a hashing function.
  4. 4
    A data encryption/decryption method in accordance with Claim 2, wherein:the constant (R) is calculated in accordance with a base point (P) of the elliptic curve and a random number;the new key is a hash value of value calculated in accordance with the public key and the random number;and the threshold logic is a simultaneous system of equations having as terms the hash values of values calculated in accordance with the public keys and the random number, and the new key.
  5. 5
    A data encryption/decryption method in accordance with Claim 4, wherein the step of restoring the new key includes the step of inputting hash values of the values resultant from a calculation using the secret keys and the constant into the threshold reverse logic (Fig. 4).
  6. 6
    A data encryption/decryption method in accordance with Claim 1, further including the following steps, which are be executed when (n - k) secret keys or less becomes unavailable, of:decrypting the encrypted and stored data by using at least k remaining secret keys;preparing a new pair of a secret key and a public key for each of the unavailable keys or for each of all keys;and encrypting again the decrypted data by use of the new public key.
  7. 7
    A network system, comprising:n apparatuses (103 to 106) connected to a network (101) for respectively storing therein secret keys in a public-key cryptographic scheme, where n is a positive integer;and a server (102) connected to the network to be accessible from either one of the apparatuses, the server storing therein all public keys corresponding to the secret keys, wherein the apparatus for encrypting data includes: means for generating a new key in accordance with at least one of the public keys;means for encrypting data in a common-key cryptographic scheme by use of the new key;means for conducting a calculation of a (k,n) threshold logic (k is an integer equal to or less than n) having terms associated with the new key and the n public keys using the new key and the n public keys;and means for storing encrypted data and a result of the calculation of the threshold logic in the server and the apparatus for decrypting data includes: means for reading the encrypted data and the result of the calculation of the threshold logic from the server: obtaining from the apparatus k values which are respectively related to the secret keys and which are necessary for a calculation of a threshold reverse logic corresponding to the threshold logic;means for restoring the new key from the result of the threshold logic calculation thus read from the server and the obtained values in accordance with the threshold reverse logic;and means for decrypting by the restored key the encrypted data in the common-key cryptographic scheme.
  8. 8
    A network system in accordance with Claim 7, wherein some of the n apparatuses for storing therein secret keys in a public-key cryptographic scheme are IC cards (105, 106) capable of being connected to the network system via computers (103, 104) or another devices.
  9. 9
    A network system in accordance with Claim 7, wherein:the public-key cryptographic scheme is an elliptic curve cryptosystem;in the encrypting apparatus, the new key generating means sets as a new key a hash value of values calculated using at least one of public keys and a random number, the calculating means conducts the calculation of the threshold logic using as variables the hash values of the values calculated in accordance with the public keys and a random number and the new key, and the storing means of the encrypting apparatus calculates a constant (R) related to the elliptic curve cryptosystem in accordance with a base point(P) of an elliptic curve and the random number and stores the constant (R) together with the encrypted data and in the decrypting apparatus, the reading means reads the constant, and the means for obtaining the k values obtains the hash values as results of calculations using the secret keys and the constant.
  10. 10
    A network system in accordance with Claim 9, wherein the means for obtaining the k values sends the constant to another apparatus having the secret key together with a hashing operation request of the secret key and receives the hash value from the apparatus to which the request has been issued.
  11. 11
    A network system in accordance with Claim 10, wherein each of the apparatuses includes:means for receiving the hashing operation request of the secret key;means for conducting a hashing operation for a result of a calculation between the constant transmitted together with the hashing operation request and the secret key stored in the apparatus;and means for sending the hash value to the transmission source of the hash operation request.
  12. 12
    A data encryption program, comprising instructions for performing the following steps of:preparing n pairs of secret keys (d1 to d4) and public keys (Q1 to Q4) in a public-key cryptographic scheme, where n is a positive integer;generating a new key in accordance with at least one of the public keys;encrypting data in a common-key cryptographic scheme by use of the new key;preparing a (k,n) threshold logic (k is an integer equal to or less than n) having terms associated with the new key and the n public keys;conducting a calculation of the threshold logic by use of the new key and the n public keys;and storing encrypted data and a result of the calculation of the threshold logic (Fig. 2).
  13. 13
    A program for decrypting data encrypted by the program in accordance with Claim 12, comprising instructions for performing the following steps of:restoring a key from k secret keys selected from predetermined n secret keys (n is a positive integer and k is a positive integer equal to or less than n) and the stored result of the threshold logic calculation in accordance with a threshold reverse logic corresponding to the threshold logic;and decrypting by the restored key the encrypted and stored data in the common-key cryptographic scheme (Fig. 3).
  14. 14
    A data encryption/decryption method comprising an encryption step and a descryption step, wherein the encryption step includes the following steps of:preparing n number of secret keys and at least one public key in a public-key cryptographic scheme, where n is a positive integer;generating a new key using at least one of the public key;encrypting data in a common-key cryptographic scheme by use of the new key;and storing the encrypted data, the decryption step includes the following steps of: restoring the new key from k secret keys selected from the n secret keys;and decrypting by the restored key the encrypted and stored data in the common-key cryptographic scheme.