Sign In to Follow Application
View All Documents & Correspondence

Cryptographic System And Master Key Update Apparatus

Abstract: A master key update apparatus (400) acquires a master public key mpk including a basis B and a master secret key msk including a basis B* which is different from the basis B included in the master public key mpk.  The master key update apparatus (400) updates the basis B included in the master public key mpk with updating information upk so as to generate a new master public key mpk", and updates the basis B* included in the master secret key msk with the updating information upk so as to generate a new master secret key msk".

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
18 May 2017
Publication Number
24/2017
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2024-03-15
Renewal Date

Applicants

MITSUBISHI ELECTRIC CORPORATION
7-3, Marunouchi 2-chome, Chiyoda-ku, Tokyo 100-8310, Japan

Inventors

1. KAWAI, Yutaka
c/o Mitsubishi Electric Corporation, 7-3, Marunouchi 2-chome, Chiyoda-ku, Tokyo 100-8310

Specification

Title of Invention:
CRYPTOGRAPHIC SYSTEM, MASTER KEY UPDATE APPARATUS, AND MASTER KEY UPDATE PROGRAM Technical Field
[0001] The present invention relates to a technique for updating a master key in a cryptographic system. Background Art
[0002] A master public key serving as the basis of all ciphertexts and a master secret key serving as the basis of all user secret keys exist for ID-based encryption, attribute-based encryption, and functional encryption. The master public key and the master secret key involve a risk of deterioration over time just like a public key in general public key cryptography does, and must therefore be updated periodically.
When the master public key and the master secret key are updated, all ciphertexts and all user secret keys must also be updated.
[0003] Non-Patent Literature 1 describes update of a master public key and master secret key in ID-based encryption. Non-Patent Literature 1 also describes that when the master public key and the master secret key are updated, a user secret key is not reissued but is updated to cope with this.
[0004] Non-Patent Literature 2 describes an encryption scheme that can maintain the security even if information of a master secret key leaks somewhat. Citation List Patent Literature [0005] Patent Literature 1: WO 2011/135895

Non-Patent Literature
[0006] Non-Patent Literature 1: "A Forward Secure Scheme with Master Key Updat" Peng YANG and Kanta MATSUURA in SEISAN KENKYU Vol. 60 (2008) No. 5 P 505-507
Non-Patent Literature 2: "Identity-Based Encryption with Master Key-Dependent Message Security and Applications" David Galindo, Javier Herranz, and Jorge Villar in ESORICS 2012 Summary of Invention Technical Problem
[0007] In Non-Patent Literature 1, when a master public key and a master secret key are updated, a user secret key is not reissued but is updated to cope with this. In Non-Patent Literature 1, however, when the master public key and the master secret key are updated, a ciphertext must be regenerated. Namely, the ciphertext must be restored to a plaintext by decryption, and then must be encrypted again based on a new master public key.
[0008] In Non-Patent Literature 2, if information of a mater secret key leaks exceeding an allowed leak amount, the security cannot be maintained. Therefore, a master public key and a master secret key must be updated sooner or later. [0009] The present invention has as its object to implement a method of updating a master public key and a master secret key with which regeneration of a user secret key and a ciphertext is not necessary. Solution to Problem [0010] A cryptographic system according to the present invention includes
a master key update apparatus to acquire a master public key including a basis and a master secret key including a basis which is different from the basis included in

the master public key, update the basis included in the master public key with updating
information so as to generate a new master public key, and update the basis included in
the master secret key with the updating information so as to generate a new master
secret key.
Advantageous Effects of Invention
[0011] According to the present invention, a master public key and a master secret key
are updated by updating a basis included in the master public key and a basis included
in the master secret key. A user secret key and a ciphertext are enabled to cope with a
new master public key and a new master secret key by updating the basis of the user
secret key and the basis of the ciphertext; the user secret key and the ciphertext need not
be regenerated.
Brief Description of Drawings
[0012] Fig. 1 is an explanatory drawing of an access structure S employed in
functional encryption.
Fig. 2 is an explanatory drawing of a submatrix Mg.
Fig. 3 is an explanatory drawing of a secret value So of secret dispersion.
Fig. 4 is an explanatory drawing of dispersion values s\, ..., SL of secret dispersion.
Fig. 5 is a configuration diagram of a cryptographic system 10 according to Embodiment 1.
Fig. 6 is a configuration diagram of a key generation apparatus 100 according to Embodiment 1.
Fig. 7 is a configuration diagram of an encryption apparatus 200 according to Embodiment 1.
Fig. 8 is a configuration diagram of a decryption apparatus 300 according to

Embodiment 1.
Fig. 9 is a configuration diagram of a master key update apparatus 400 according to Embodiment 1.
Fig. 10 is a configuration diagram of a ciphertext update apparatus 500 according to Embodiment 1.
Fig. 11 is a configuration diagram of a user secret key update apparatus 600 according to Embodiment 1.
Fig. 12 is a flowchart of Setup algorithm according to Embodiment 1.
Fig. 13 is a flowchart of KG algorithm according to Embodiment 1.
Fig. 14 is a flowchart of Enc algorithm according to Embodiment 1.
Fig. 15 is a flowchart of Dec algorithm according to Embodiment 1.
Fig. 16 is a flowchart of ApdMKey algorithm according to Embodiment 1.
Fig. 17 is a flowchart of ApdCT algorithm according to Embodiment 1.
Fig. 18 is a flowchart of ApdSK algorithm according to Embodiment 1.
Fig. 19 is a diagram illustrating an example of a hardware configuration of each of the key generation apparatus 100, encryption apparatus 200, decryption apparatus 300, master key update apparatus 400, ciphertext update apparatus 500, and user secret key update apparatus 600 indicated in Embodiment 1. Description of Embodiments [0013] Embodiment 1.
*** Explanation of Notation ***
The notation in the following description will be explained.
When A is a random variable or distribution, Formula 101 denotes that y is randomly selected from A according to the distribution of A. Namely, in Formula 101 y is a random number.

[Formula 101]
R A
y< A
When A is a set, Formula 102 denotes that y is uniformly selected from A. Namely, in Formula 102, y is a uniform random number. [Formula 102]
y< A
Formula 103 denotes that z is set in y, y is defined by z, or y is substituted b; z. [Formula 103]
y:=z
When a is a fixed value, Formula 104 denotes an event that a machine (algorithm) A outputs a on input x. [Formula 104]
A(x) —» a
For example,
A(x)->1
Formula 105 denotes a field of order q. [Formula 105]
F q
Formula 106 denotes a vector representation over finite field Fq. [Formula 106] X denotes

(xh...,xn)e¥n
Formula 107 denotes the inner-product, indicated by Formula 109, of two vectors x"* and v~* indicated in Formula 108. [Formula 107]
; x- v
[Formula 108]
x = \xl T--ixn) v = (v1,...,v„)
[Formula 109]
E
n
Note that XT denotes the transpose of matrix X.
Note that for bases B and B indicated in Formula 110, Formula 111 is established. [Formula 110]
B:=(^,...,%), B*:=(*T,...,Z&)
[Formula 111]
(x],..., xN )B := ]T .=1 xfy,
(yi,-,yNh* :=ZHrf
Note that e-^ denotes an orthonormal basis vector indicated in Formula 112. [Formula 112]

[0014] * * * Description of Outline * * *
The basics of ciphertext-policy functional encryption will be described, and then the outline of a technique for updating a master public key mpk and a master secret key msk will be described. [0015] The basics of ciphertext-policy functional encryption will be described.
Fig. 1 is an explanatory drawing of an access structure S used in functional encryption.
In functional encryption, a tuple of an L-row, r-column secret dispersion matrix M and a label p of each row of the secret dispersion matrix M is used as the access structure S. The label p of each row is related to one literal of either positive literals {pi, ...,p„} or negative literals {-ipi, ..., -ip„} given by a set of variables {pi, ...
Pn}-
[0016] For an input sequence 8 = 8; e {0, 1} (i = 1, ..., n), a submatrix Ms of the secret dispersion matrix M is defined. The submatrix M5 consists of those rows of the secret dispersion matrix M, whose labels p are related to value "1" by the input sequence 8. Namely, the submatrix M5 consists of the rows of the secret dispersion matrix M which are related to pi with which 8; = 1 and the rows of the secret dispersion matrix M which are related to -.p* with which 8; = 0. [0017] Fig. 2 is an explanatory drawing of the submatrix Ma.
Note that in Fig. 2, n = 7, L = 6, and r = 5. That is, the set of variables is {pi, ..., P7}, and the matrix M has 6 rows and 5 columns. In Fig. 2, assume that the labels p are related such that pi corresponds to -1P2, P2 to pi, P3 to P4, p4 to -.ps, ps to —1P3, and Pe to -ip5.

Assume that in the input sequence 8, 81 = 1, §2 = 0, 83 = 1, 54 = 0, 85 = 0, 86 = 1, and 87 = 1. In this case, the submatrix M§ consists of the rows of the secret dispersion matrix M which are related to literals (pi, p3, p6, P7, -1P2, -1P4, -ips) surrounded by broken lines in Fig. 2. That is, the submatrix M5 consists of the 1st row (Mi), 2nd row (M2), and 4th row (M4) of the secret dispersion matrix M. [0018] When [PQ) = Pi] A [8; = 1] or [p(j) = -Pi] A [8S = 0], then map y(j) = 1; otherwise map y(j) = 0. The former case can be expressed as Ms := (Mj)y(j)=1. Note that Mj is the j-th row of the matrix M.
[0019] In functional encryption, each variable p of the set of variables in the access structure S is defined by a tuple (t, v~*i) of an identifier t and a vector v"*;. When an attribute set T being a tuple (t, x"^) of the identifier t and a vector x^t is given to the access structure S, then for each integer i of i = 1, ..., L, the map y(i) is defined to satisfy y(j) = 1 if [p(i) = (t, v^)] A [(t, x^t) e T] A [v^-x^t = 0] or [p(i) = -.(t, v^)] A [(t, x~\) e T] A [v^j-x^t * 0], and y(j) = 0 otherwise.
Namely, in functional encryption, the map y(i) is calculated based on the inner-product of the vectors v^i and x~V As described above, which row of the secret dispersion matrix M is to be included in the submatrix Ms is determined by the map y(i). [0020] The access structure S accepts the attribute set Y if and only if linear combination of the rows of the submatrix M5 gives 1~* where 1~* is a row vector whose elements are all 1.
For example, in the case of Fig. 2, the access structure S accepts the attribute set r if and only if linear combination of the respective rows of the submatrix M5 consisting of the 1st, 2nd, and 4th rows of the secret dispersion matrix M gives 1~*. That is, if oci, 0C2, and 0,4 exist with which ai(Mi) + a,2(M2) + 0:4^4) = l-*, the access structure M accepts the attribute set F.

More specifically, assuming that the set of row numbers of a secret dispersion matrix included in the submatrix Mg is defined as I, the access structure S accepts the attribute set F if a coefficient a; satisfying ZiEiaiMj = 1~* exists. [0021] In ciphertext-policy functional encryption, a key element k*t in which the vector x~*t is set is generated for the identifier t included in the attribute set F representing the user attribute. Then, a user secret key skr including the key element k*t for the identifier t included in the attribute set T and for t = 0 is generated.
The key element k*t for each identifier t of the identifier t included in the attribute set T and of t = 0 is a vector on the basis B* whose subbasis B*A is included in the master secret key msk.
The identifier t corresponds to an attribute category. The attribute value of the attribute category corresponding to the identifier t is set in the vector x~*t. The attribute category is a classification of an attribute such as the affiliated department, sex, age, and so on. For example, if the identifier t corresponds to the affiliated department. a value representing the affiliated department of the user of the user secret key skr is set in the vector x~*t.
[0022] In ciphertext policy-functional encryption, for each integer i of i = 1, ..., L, a dispersion value s; of secret dispersion is assigned to the i-th row of the secret dispersion matrix M of the access structure S. For the i-th row of the secret dispersion matrix M, a cipher element c; in which the assigned dispersion value s; and the vector x~*t are set is generated. A cipher element Co in which a secret value so calculated from the set of dispersion value Sj satisfying a condition is set is generated. A cipher element ca+i encrypted from a message m with using a session key K is generated. A ciphertext cts including the cipher element c; for each integer i of i = 0, ..., L, d+1 and the access structure S is generated.

The cipher element c; for each integer i of i = 0, ..., L is a vector on the basis B
whose subbasis BA is included in the master public key mpk.
[0023] In the ciphertext-policy functional encryption, the key element k*t for the
identifier t included in the attribute set F and the cipher element c; identified by a label i p(i) having the identifier t are pairing-operated. By the pairing operation, the inner
product of the vector v"^t and the vector x~*t is calculated, and the map y(i) is calculated.
Then, it is determined which row of the secret dispersion matrix M is to be included in
the submatrix Mg.
If the access structure S accepts the attribute set F, a set of dispersion values s, ) satisfying the condition is extracted, and the secret value So is calculated. The session
key K is generated from a key element k*o, the cipher element Co, and the secret value So-
The message m is calculated with using the session key K.
[0024] Fig. 3 is an explanatory drawing of the secret value So of secret dispersion.
The secret value so is the sum of elements of the product of a row vector whose i r of elements are all 1 and a column vector f having r of elements fi, ..., fr. The
elements of the row vector fare uniform random numbers.
[0025] Fig. 4 is an explanatory drawing of the dispersion values Sj, ..., SL of secret
dispersion.
The dispersion values s\, ..., sL are the products of the secret dispersion matrix i M and the column vector f. A column vector s~*T is a vector consisting of the
dispersion values Si, ..., Sj. as elements.
[0026] As described above, if the the access structure M accepts the attribute set T,
then the coefficient a; satisfying £jeia.jMj = 1"* exists. The coefficient a; can be
computed in polynomial time in the size of the secret dispersion matrix M. Using the i coefficient a*, Zjeia,jMj = so is established from the definitions of the secret value so and

the dispersion values s i, ..., SL.
[0027] The outline of the technique for updating the master public key mpk and the
master secret key msk will be described.
As described above, the master public key mpk includes the subbasis BA of the basis B, and the master secret key msk includes the subbasis B*A of the basis B*. The cipher element q included in the ciphertext cts is a vector on the basis B, and a key element k*j included in the user secret key skr is a vector on the basis B*. [0028] In this respect, in Embodiment 1, using a random matrix as updating information upk, the subbasis BA included in the master public key mpk and the subbasis B*A included in the master secret key msk are updated with the updating information upk. Hence, the master public key mpk and master secret key msk are updated.
The basis B of the cipher element q included in the ciphertext cts and the basis B* of the key element k*; included in the user secret key skr are also updated with the updating information upk. Hence, the ciphertext cts and the user secret key skr are made to cope with update of the master public key mpk and master secret key msk. [0029] *** Description of Configuration ***
Fig. 5 is a configuration diagram of a cryptographic system 10 according to Embodiment 1.
The cryptographic system 10 is provided with a key generation apparatus 100, an encryption apparatus 200, a decryption apparatus 300, a master key update apparatus 400, a ciphertext update apparatus 500, and a user secret key update apparatus 600. [0030] The key generation apparatus 100 takes as input an attribute format n~* and a security parameter X and executes Setup algorithm, to generate the master public key mpk including the basis B and the master secret key msk including the basis B* which

is different from the basis B included in the master public key mpk. The key generation apparatus 100 also takes as input the master public key mpk, the master secret key msk, and the user attribute set T and executes KG algorithm, to generate the user secret key skr including a key element being a vector on the basis B* included in the master secret key msk.
The key generation apparatus 100 publishes the master public key mpk. In response to a request from the master key update apparatus 400, the key generation apparatus 100 outputs the master secret key msk to the master key update apparatus 400 in secrecy. The key generation apparatus 100 also outputs the user secret key skr to the user secret key update apparatus 600 in secrecy.
[0031] The encryption apparatus 200 takes as input the master public key mpk, the access structure S, and the message m and executes Enc algorithm, to generate the ciphertext cts encrypted from the message m and including a cipher element being a vector on the basis B included in the master public key mpk. The encryption apparatus 200 outputs the ciphertext cts to the ciphertext update apparatus 500. [0032] The decryption apparatus 300 takes as input the master public key mpk, the user secret key skr, and the ciphertext cts or an updated ciphertext ctS', executes Dec algorithm, and outputs the message m or a symbol _L representing a decryption failure. [0033] The master key update apparatus 400 takes as input the master public key mpk and the master secret key msk and executes ApdMKey algorithm, to generate a new master public key mpk', a new master secret key msk', and the updating information upk. More specifically, the master key update apparatus 400 updates the basis B included in the master public key mpk generated by the key generation apparatus 100, with the updating information upk, thereby generating the new master public key mpk'. The master key update apparatus 400 also updates the basis B* included in the master secret

key msk generated by the key generation apparatus 100, with the updating information upk, thereby generating the new master secret key msk'.
The master key update apparatus 400 outputs the new master public key mpk' and the new master secret key msk' to the key generation apparatus 100 in secrecy and outputs the updating information upk to the ciphertext update apparatus 500 and the user secret key update apparatus 600 in secrecy.
[0034] The ciphertext update apparatus 500 stores the ciphertext cts and outputs the ciphertext cts to the decryption apparatus 300 in response to a request from the decryption apparatus 300.
When the new master public key mpk' and the new master secret key msk' are generated, the ciphertext update apparatus 500 takes the updating information upk and the ciphertext cts as input and executes ApdCT algorithm, to generate the new ciphertext cts- updated from the ciphertext cts. More specifically, the ciphertext update apparatus 500 updates a cipher element included in the ciphertext cts generated by the encryption apparatus 200, with the updating information upk, thereby generating the new ciphertext cts..
The ciphertext update apparatus 500 deletes the ciphertext cts it manages, and stores the generated new ciphertext ctS' as the ciphertext cts.
[0035] The user secret key update apparatus 600 stores the user secret key skr and outputs the stored user secret key skp to the decryption apparatus 300 in secrecy.
The user secret key update apparatus 600 takes as input the updating information upk and the user secret key skp and executes ApdSK algorithm, to generate a new user secret key skr updated from the user secret key skp. More specifically, the user secret key update apparatus 600 updates a key element included in the user secret key skr, with the updating information upk, thereby generating the new user secret key

skp.
The user secret key update apparatus 600 deletes the user secret key skp it manages, and stores the generated new user secret key skp as the user secret key skr. [0036] Fig. 6 is a configuration diagram of the key generation apparatus 100 according to Embodiment 1.
The key generation apparatus 100 is provided with an information acquisition part 110, a master key generation part 120, a user secret key generation part 130, and a key output part 140.
[0037] The information acquisition part 110 acquires the attribute format rf*, security parameter %, and attribute set F inputted by the administrator of the cryptographic system 10.
[0038] Based on the attribute format n^ and security parameter A, acquired by the information acquisition part 110, the master key generation part 120 generates the master public key mpk including the basis B and the master secret key msk including the basis B* which is different from the basis B included in the master public key mpk. [0039] Based on the attribute set F acquired by the information acquisition part 110 and the master public key mpk and master secret key msk generated by the master key generation part 120, the user secret key generation part 130 generates the user secret key skr including a key element being a vector on the basis B* included in the master secret key msk.
[0040] The key output part 140 outputs the master public key mpk to a publication server or the like so as to publish the master public key mpk, and outputs the user secret key skp to the user secret key update apparatus 600 in secrecy. The key output part 140 also outputs the master secret key msk to the master key update apparatus 400 in secrecy.

To output in secrecy means, for example, to transmit through encryption in accordance with an existing cryptography.
[0041] Fig. 7 is a configuration diagram of the encryption apparatus 200 according to Embodiment 1.
The encryption apparatus 200 is provided with an information acquisition part 210, a ciphertext generation part 220, and a ciphertext output part 230. [0042] The information acquisition part 210 acquires the master public key mpk generated by the key generation apparatus 100, and the access structure S and message m inputted by the user of the encryption apparatus 200.
[0043] Based on the master public key mpk, access structure, S, and message m acquired by the information acquisition part 210, the ciphertext generation part 220 generates the ciphertext cts encrypted from the message m and including a cipher element being a vector on the basis B included in the master public key mpk. [0044] The ciphertext output part 230 outputs the ciphertext cts generated by the ciphertext generation part 220 to the ciphertext update apparatus 500. [0045] Fig. 8 is a configuration diagram of the decryption apparatus 300 according to Embodiment 1.
The decryption apparatus 300 is provided with an information acquisition part 310, a ciphertext determination part 320, a decryption part 330, and a result output part 340.
[0046] The information acquisition part 310 acquires the master public key mpk from the key generation apparatus 100, the ciphertext cts from the ciphertext update apparatus 500, and the user secret key sk] from the user secret key update apparatus 600. [0047] The ciphertext determination part 320 determines whether or not the ciphertext cts acquired by the information acquisition part 310 is decryptable with using the user

secret key skr.
[0048] If the ciphertext determination part 320 determines the ciphertext cts as
decryptable, the decryption part 330 decrypts the ciphertext acquired by the information
acquisition part 310, with using the the user secret key skr based on the master public
key mpk.
[0049] If the ciphertext determination part 320 determines the ciphertext as
decryptable, the result output part 340 outputs the decryption result of the decryption
part 330. If the ciphertext determination part 320 determines the ciphertext as not
decryptable, the result output part 340 outputs the symbol JL representing a decryption
failure.
[0050] Fig. 9 is a configuration diagram of the master key update apparatus 400
according to Embodiment 1.
The master key update apparatus 400 is provided with a master key acquisition part 410, an updating information generation part 420, a master key update part 430, and an updating information output part 440.
[0051] The master key acquisition part 410 acquires the master public key mpk including the basis B and the master secret key msk including the basis B* which is different from the basis B included in the master public key mpk. [0052] The updating information generation part 420 generates the updating information upk for updating the master public key mpk and master secret key msk. [0053] The master key update part 430 updates the basis B included in the master public key mpk acquired by the master key acquisition part 410, with the updating information upk generated by the updating information generation part 420, to generate the new master public key mpk'. The master key update part 430 also updates the basis B* included in the master secret key msk acquired by the master key acquisition

part 410, with the updating information upk generated by the updating information
generation part 420, to generate the new master secret key msk'.
[0054] The updating information output part 440 outputs the new master public key
mpk' and new master secret key msk' generated by the master key update part 430 to the
key generation apparatus 100 in secrecy. The updating information output part 440
also outputs the updating information upk generated by the updating information
generation part 420 to the ciphertext update apparatus 500 and user secret key update
apparatus 600 in secrecy.
[0055] Fig. 10 is a configuration diagram of the ciphertext update apparatus 500
according to Embodiment 1.
The ciphertext update apparatus 500 is provided with a ciphertext acquisition part 510, a ciphertext storage part 520, an updating information acquisition part 530, a ciphertext update part 540, and a ciphertext output part 550.
[0056] The ciphertext acquisition part 510 acquires the ciphertext cts generated by the encryption apparatus 200.
[0057] The ciphertext storage part 520 is a storage device to store the ciphertext cts acquired by the ciphertext acquisition part 510.
[0058] The updating information acquisition part 530 acquires the updating information upk generated by the master key update apparatus 400. [0059] The ciphertext update part 540 updates a cipher element included in the ciphertext cts generated by the encryption apparatus 200, with the updating information upk, to generate the new ciphertext cts>. More specifically, the ciphertext update apparatus 500 updates the cipher element included in the ciphertext cts generated by the encryption apparatus 200, with the updating information upk, to generate the new ciphertext ctS'.

The ciphertext update part 540 deletes the pre-update ciphertext cts stored in the ciphertext storage part 520 and stores the generated new ciphertext ctS' as the ciphertext cts.
[0060] In response to the request from the decryption apparatus 300, the ciphertext output part 550 outputs the ciphertext cts stored in the ciphertext storage part 520 to the decryption apparatus 300.
[0061] Fig. 11 is a configuration diagram of the user secret key update apparatus 600 according to Embodiment 1.
The user secret key update apparatus 600 is provided with a user secret key acquisition part 610, a user secret key storage part 620, an updating information acquisition part 630, a user secret key update part 640, and a user secret key output part 650.
[0062] The user secret key acquisition part 610 acquires the user secret key skr generated by the key generation apparatus 100.
[0063] The user secret key storage part 620 is a storage device to store the user secret key skr acquired by the user secret key acquisition part 610. [0064] The updating information acquisition part 630 acquires the updating information upk generated by the master key update apparatus 400. [0065] The user secret key update part 640 updates a key element included in the user secret key skr with the updating information upk, to generate the new user secret key skp. More specifically, the user secret key update apparatus 600 updates the key element included in the user secret key skr with the updating information upk, to generate the new user secret key skr.
The user secret key update part 640 deletes the pre-update user secret key skr stored in the user secret key storage part 620, and stores the generated new user secret

key skp as the user secret key skr.
[0066] The user secret key output part 650 outputs the user secret key skr stored in the
user secret key storage part 620 to the decryption apparatus 300 in secrecy when the
user secret key acquisition part 610 acquires the user secret key skr and when the user
secret key update part 640 generates the new user secret key skr.
[0067] *** Description of Operation ***
Fig. 12 is a flowchart of Setup algorithm according to Embodiment 1.
Setup algorithm is executed by the key generation apparatus 100. [0068] (S101: Information Acquisition Process)
The information acquisition part 110 acquires the attribute format n~* := (d; nj, ..., nt:=MtWt fort = 0,...,d
The master key update part 430 substitutes the new subbasis BA't for the subbasis BAt of the master public key mpk acquired in S501, to generate the new master public key mpk'. [0095] (S504: Master Secret Key Update Process)
For each integer t of t = 0, ..., d, the master key update part 430 multiplies the subbasis B*At of the master secret key msk acquired in S501 by a transformation matrix (WtT)"' transformed from the transformation matrix Wt of the updating information upk generated in S502, to update the subbasis B*At of the basis B*t, thereby generating a new subbasis B*A't, as indicated in Formula 125. [Formula 125]
M'*:=M*(WtT)-1 fort = 0,...,d
The master key update part 430 substitutes the new subbasis B*A't for the subbasis B*At of the master public key mpk acquired in S501, to generate the new master secret key msk'. [0096] (S505: Updating Information Output Process)
The updating information output part 440 outputs the new master public key mpk' generated in S503 and the new master secret key msk' generated in S504 to the key generation apparatus 100 in secrecy. The updating information output part 440 also outputs the updating information upk generated in S502 to the ciphertext update apparatus 500 and user secret key update apparatus 600 in secrecy. [0097] Fig. 17 is a flowchart of ApdCT algorithm according to Embodiment 1.

ApdCT algorithm is executed by the ciphertext update apparatus 500. [0098] (S601: Ciphertext Acquisition Process)
The ciphertext acquisition part 510 acquires the ciphertext cts generated by the encryption apparatus 200. The ciphertext acquisition part 510 stores in the ciphertext storage part 520 the acquired ciphertext cts. [0099] (S602: Updating Information Acquisition Process)
The updating information acquisition part 530 acquires the updating information upk generated by the master key update apparatus 400. [0100] (S603: Ciphertext Update Process)
For each integer i of i = 0, ..., L, the ciphertext update part 540 multiplies the cipher element c; included in the ciphertext cts stored in the ciphertext storage part 520 by the transformation matrix Wt of the updating information upk acquired in S602, to generate a new cipher element q', as indicated in Formula 126. [Formula 126]
c\ ■= ctWt p(i) = (t,vt) or p{i) = -,(*,vz-)
The ciphertext update part 540 deletes the pre-update ciphertext cts stored in the ciphertext storage part 520 and stores in the ciphertext storage part 520 the new ciphertext cts> in which the cipher element q is replaced by the new cipher element c;', as the ciphertext cts. [0101] (S604: Ciphertext Output Process)
In response to the request from the decryption apparatus 300, the ciphertext output part 550 outputs the ciphertext cts stored in the ciphertext storage part 520 to the decryption apparatus 300. [0102] Fig. 18 is a flowchart of ApdSK algorithm according to Embodiment 1.

ApdSk algorithm is executed by the user secret key update apparatus 600. [0103] (S701: User Secret Key Acquisition Process)
The user secret key acquisition part 610 acquires the user secret key skr generated by the key generation apparatus 100. The user secret key acquisition part 610 stores in the user secret key storage part 620 the acquired user secret key skr. [0104] (S702: Updating Information Acquisition Process)
The updating information acquisition part 630 acquires the updating information upk generated by the master key update apparatus 400. [0105] (S703: User Secret Key Update Process)
For t = 0 and each identifier t included in the attribute set F, the user secret key update part 640 multiplies the key element k*t included in the user secret key skr stored in the user secret key storage part 620 by the transformation matrix (Wt )"' transformed from the transformation matrix Wt of the updating information upk acquired in S702, to update the key element k *t', thereby generating a new key element k *t', as indicated in Formula 127. [Formula 127]
£;*:=/t(W)-lfor (t,xt).<=T
The user secret key update part 640 deletes the pre-update user secret key skr stored in the user secret key storage part 620, and stores in the user secret key storage part 620 the new secret key skr' in which the new key element k *t' replaces the key element k*t, as the user secret key skp. [0106] (S704: User Secret Key Output Process)
The user secret key output part 650 outputs the user secret key skr stored in the user secret key storage part 620 to the decryption apparatus 300.

[0107] *** Effect of Invention ***
As described above, in the cryptographic system 10 according to Embodiment 1, the ciphertext update apparatus 500 updates the ciphertext cts with using the updating information upk employed when updating the master public key mpk and master secret key msk, so that the ciphertext cts can cope with the updated master public key mpk and master secret key msk.
Therefore, in the cryptographic system 10 according to Embodiment 1, when the master public key mpk and master secret key msk are updated, it is not necessary to temporarily decrypt and then encrypt the ciphertext cts. Hence, there is no risk of information leakage resulting from temporarily decrypting the ciphertext cts. Also, a high-load process of temporarily decrypting and then encrypting the ciphertext cts need not be executed.
[0108] Likewise, in the cryptographic system 10 according to Embodiment 1, the user secret key update apparatus 600 updates the user secret key skr with using the updating information upk employed when updating the master public key mpk and master secret key msk, so that the user secret key skr can cope with the updated master public key mpk and master secret key msk.
Therefore, in the cryptographic system 10 according to Embodiment 1, when the master public key mpk and master secret key msk are updated, it is not necessary to regenerate the user secret key skr based on the updated master secret key msk . Hence a high-load process of generating the user secret key skr need not be executed. [0109] In the above description, the key generation apparatus 100, master key update apparatus 400, ciphertext update apparatus 500, and user secret key update apparatus 600 are different apparatuses. This does not necessarily mean that the key generation apparatus 100, master key update apparatus 400, ciphertext update apparatus 500, and

user secret key update apparatus 600 must be accommodated in separate housings. Two or more out of the key generation apparatus 100, master key update apparatus 400, ciphertext update apparatus 500, and user secret key update apparatus 600 may be accommodated in one housing to constitute one apparatus.
[0110] In the above description, a method of updating the master public key mpk, master secret key msk, ciphertext cts, and user secret key skr in ciphertext-policy functional encryption has been described.
The updating method described above is a method of transforming the bases of the master public key mpk, master secret key msk, ciphertext cts, and user secret key skr Thus, the updating method described above can be applied to key-policy functional encryption by changing it only formally.
[0111] Fig. 19 is a diagram illustrating an example of a hardware configuration of each of the key generation apparatus 100, encryption apparatus 200, decryption apparatus 300, master key update apparatus 400, ciphertext update apparatus 500, and user secret key update apparatus 600 indicated in Embodiment 1.
Each apparatus is a computer. A data display program can be configured by implementing each element of each apparatus as a program.
Each apparatus has a hardware configuration in which a computing device 901, an external storage device 902, a main storage device 903, a communication device 904, and an input/output device 905 are connected to a bus.
[0112] The computing device 901 is a CPU (Central Processing Unit) or the like which executes a program. The external storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, a hard disk device, or the like. The main storage device 903 is, for example, a RAM (Random Access Memory) or the like. The communication device 904 is, for example, a communication board or the like. The

input/output device 905 is, for example, a mouse, a keyboard, a display device, or the
like.
[0113] Programs are normally stored in the external storage device 902. The
programs are loaded to the main storage device 903 and are sequentially read and
executed by the computing device 901.
Each program is a program that implements a function explained as a "part".
Furthermore, the external storage device 902 stores an operating system (OS) as well. The OS is loaded to the main storage device 903 at least partly. The computing device 901 executes the program while executing the OS.
In the description of Embodiment 1, information and so on that are described as being acquired, generated, outputted, and so on by a "part" are stored as files in the main storage device 903.
[0114] The configuration of Fig. 19 merely illustrates an example of the hardware configuration of each apparatus. The hardware configuration of each apparatus is not limited to the configuration illustrated in Fig. 19. Each apparatus may have another hardware configuration. Reference Signs List
[0115] 10: cryptographic system; 100: key generation apparatus; 110: information acquisition part; 120: master key generation part; 130: user secret key generation part; 140: key output part; 200: encryption apparatus; 210: information acquisition part; 220: ciphertext generation part; 230: ciphertext output part; 300: decryption apparatus; 310: information acquisition part; 320: ciphertext determination part; 330: decryption part; 340: result output part; 400: master key update apparatus; 410: master key acquisition part; 420: updating information generation part; 430: master key update part; 440: updating information output part; 500: ciphertext update apparatus; 510: ciphertext

acquisition part; 520: ciphertext storage part; 530: updating information acquisition part; 540: ciphertext update part; 550: ciphertext output part; 600: user secret key update apparatus; 610: user secret key acquisition part; 620: user secret key storage part; 630: updating information acquisition part; 640: user secret key update part; 650: user secret
5 key output part; A: canonical basis; B, B*: basis; BA, B*A: subbasis; msk: master secret key; mpk: master public key; T: attribute set; S: access structure; m: message; skp: user secret key; skp: new user secret key; cts: ciphertext; ctS': new ciphertext; upk: updating information; t: identifier; k*t: key element; CJ: cipher element; X, W: transformation matrix
0

Claims
[Claim 1] A cryptographic system comprising
a master key update apparatus to acquire a master public key including a basis
and a master secret key including a basis which is different from the basis included in
the master public key, update the basis included in the master public key with updating
information so as to generate a new master public key, and update the basis included in
the master secret key with the updating information so as to generate a new master
secret key.
[Claim 2] The cryptographic system according to claim 1, further comprising
a ciphertext update apparatus to acquire a ciphertext including a cipher element being a vector on the basis included in the master public key, and update the cipher element included in the ciphertext with the updating information so as to generate a new ciphertext.
[Claim 3] The cryptographic system according to claim 1 or 2, further
comprising
a user secret key update apparatus to acquire a user secret key including a key
element being a vector on the basis included in the master secret key, and update the
key element included in the user secret key with the updating information so as to
generate a new user secret key.
[Claim 4] The cryptographic system according to claim 1,
wherein the master public key includes a subbasis of a basis B transformed from a canonical basis A by a transformation matrix X,
wherein the master secret key includes a subbasis of a basis B* transformed from the basis B by a transformation matrix (X1)"1 generated from the transformation matrix X, and

wherein the master key update apparatus multiplies the subbasis of the basis B by a transformation matrix W being the updating information, so as to update the subbasis of the basis B, and multiplies the subbasis of the basis B* by a transformation
T 1
matrix (W )" generated from the transformation matrix W, so as to update the subbasis
of the basis B*.
[Claim 5] The cryptographic system according to claim 4, further comprising
a ciphertext update apparatus to acquire a ciphertext including a cipher element
being a vector on the basis B, and multiply the cipher element included in the ciphertext
by the transformation matrix W, so as to update the cipher element.
[Claim 6] The cryptographic system according to claim 4 or 5, further
comprising
a user secret key update apparatus to acquire a user secret key including a key
element being a vector on the basis B*, and multiply the key element included in the
user secret key by the transformation matrix (W1)"1, so as to update the key element.
[Claim 7] A master key update apparatus comprising:
a master key acquisition part to acquire a master public key including a basis and a master secret key including a basis which is different from the basis included in the master public key; and
a master key update part to update the basis included in the master public key
acquired by the master key acquisition part with updating information, so as to generate
a new master public key, and update the basis included in the master secret key acquired
by the master key acquisition part with the updating information, so as to generate a
new master secret key.
[Claim 8] A master key update program which causes a computer to execute
a master key acquisition process to acquire a master public key including a

basis and a master secret key including a basis which is different from the basis included in the master public key; and
a master key update process to update the basis included in the master public key acquired by the master key acquisition process with updating information, so as to generate a new master public key, and update the basis included in the master secret key acquired by the master key acquisition process with the updating information, so as to generate a new master secret key.

Documents

Application Documents

# Name Date
1 Translated Copy of Priority Document [18-05-2017(online)].pdf 2017-05-18
2 PROOF OF RIGHT [18-05-2017(online)].pdf 2017-05-18
3 Power of Attorney [18-05-2017(online)].pdf 2017-05-18
4 Form 5 [18-05-2017(online)].pdf 2017-05-18
5 Form 3 [18-05-2017(online)].pdf 2017-05-18
6 Form 18 [18-05-2017(online)].pdf_38.pdf 2017-05-18
7 Form 18 [18-05-2017(online)].pdf 2017-05-18
8 Form 1 [18-05-2017(online)].pdf 2017-05-18
9 Drawing [18-05-2017(online)].pdf 2017-05-18
10 Description(Complete) [18-05-2017(online)].pdf_39.pdf 2017-05-18
11 Description(Complete) [18-05-2017(online)].pdf 2017-05-18
12 CLAIMS UNDER RULE 1 (PROVISIO) OF RULE 20 [18-05-2017(online)].pdf 2017-05-18
13 Correspondence by Agent_Form 1_01-06-2017.pdf 2017-06-01
14 Other Document [07-06-2017(online)].pdf 2017-06-07
15 Marked Copy [07-06-2017(online)].pdf 2017-06-07
16 Form 13 [07-06-2017(online)].pdf 2017-06-07
17 Description(Complete) [07-06-2017(online)].pdf_78.pdf 2017-06-07
18 Description(Complete) [07-06-2017(online)].pdf 2017-06-07
19 201747017423-FORM 3 [27-10-2017(online)].pdf 2017-10-27
20 201747017423-FORM 3 [29-11-2019(online)].pdf 2019-11-29
21 201747017423-OTHERS [24-12-2020(online)].pdf 2020-12-24
22 201747017423-MARKED COPY [24-12-2020(online)].pdf 2020-12-24
23 201747017423-FORM-26 [24-12-2020(online)].pdf 2020-12-24
24 201747017423-FORM 3 [24-12-2020(online)].pdf 2020-12-24
25 201747017423-FER_SER_REPLY [24-12-2020(online)].pdf 2020-12-24
26 201747017423-DRAWING [24-12-2020(online)].pdf 2020-12-24
27 201747017423-COMPLETE SPECIFICATION [24-12-2020(online)].pdf 2020-12-24
28 201747017423-CLAIMS [24-12-2020(online)].pdf 2020-12-24
29 201747017423-ABSTRACT [24-12-2020(online)].pdf 2020-12-24
30 201747017423-FER.pdf 2021-10-17
31 201747017423-US(14)-HearingNotice-(HearingDate-25-05-2023).pdf 2023-05-17
32 201747017423-FORM-26 [23-05-2023(online)].pdf 2023-05-23
33 201747017423-Correspondence to notify the Controller [23-05-2023(online)].pdf 2023-05-23
34 201747017423-Written submissions and relevant documents [08-06-2023(online)].pdf 2023-06-08
35 201747017423-Retyped Pages under Rule 14(1) [08-06-2023(online)].pdf 2023-06-08
36 201747017423-2. Marked Copy under Rule 14(2) [08-06-2023(online)].pdf 2023-06-08
37 201747017423-PatentCertificate15-03-2024.pdf 2024-03-15
38 201747017423-IntimationOfGrant15-03-2024.pdf 2024-03-15

Search Strategy

1 Searchstrategy_201747017423E_05-09-2020.pdf

ERegister / Renewals