Patent ID: 8416953
Filing Date: 2013-04-09
Classification: G06F,G11B,H04L,H04N

Abstract:
1. A decryption key determining device that determines decryption key groups for use in decryption to be individually assigned to at least three terminals that obtain encrypted data and decrypt the obtained encrypted data, the decryption key determining device comprising: a non-transitory storage device storing a program, the program being executable by at least one processor; a decryption key setting unit configured for: (a) determining two or more terminal groups, which are groups having two or more terminals as members, so that each of the terminals is a member of at least one of the terminal groups, and any one of the terminal groups that shares a terminal as a member with another one of the terminal groups does not completely include the other one of the terminal groups sharing the terminal as a member and is not completely included in the other one of the terminal groups sharing the terminal as a member, (b) determining a correspondence between an individual decryption key and each terminal and each determined terminal group, (c) determining the terminal groups so that at least one terminal group exists that completely includes the two or more terminal groups, and so that any one of the terminal groups within the two or more terminal groups that shares a same terminal group as a member with another one of the terminal groups does not completely include the other one of the terminal groups that shares the same terminal group as a member and is not completely included in the other one of the terminal groups that shares the same terminal group as a member, (d) determining the terminal groups so that each terminal group includes three or more terminals as members, and so that a terminal group exists that contains three or more terminal groups, and when each terminal is corresponding with a node on a lowest level in an N-ary tree structure having a plurality of hierarchies, where N is a natural number equal to or greater than three, (e) determining, for each node other than the nodes on the lowest level, a plurality of combination patterns, for each one of N nodes that are reached from each node constituting a parent node of the one of the N nodes, that are combinations of two or more of the N nodes including the one of the N nodes, and that include a combination of all of the N nodes, (f) determining an individual decryption key for each determined combination pattern and storing the determined decryption key in correspondence with the parent node, (g) storing an individual decryption key in correspondence with each node in the lowest level, (h) determining the plurality of combination patterns for each node excluding the nodes on the lowest level in the N-ary tree structure by prescribing combination patterns so that each combination pattern corresponds to one of all combinations of two or more of the N nodes that are one level below and are reached from the each node constituting a parent node of the N nodes, and (i) storing, in correspondence with the parent node, all combination patterns determined for the parent node as invalidation pattern information that is made by connecting values in a predetermined order, each value showing whether or not one of the N nodes that are reached from the parent node is a target of combination, deciding an individual decryption key for each invalidation pattern information, and storing the individual decryption key in correspondence with the parent node and the invalidation information for which the individual decryption key has been determined; and a decryption key group assignment unit configured for: (a) determining, for each terminal, a decryption key group based on the corresponding decryption key and the decryption keys corresponding with each terminal group in which the terminal is included, as a decryption key group to be assigned to the terminal, respectively, (b) determining, for each terminal, the corresponding decryption key and all decryption keys corresponding with all terminal groups that include the terminal, as a decryption key group to be assigned to the terminal, and (c) determining decryption keys to be assigned to each terminal, the decryption keys being (1) decryption keys selected from among the decryption keys stored in the decryption key setting unit in correspondence with each node on a same path, which is a path from the node corresponding to the terminal on the lowest level to a node on a highest level, excluding the node that corresponds to the terminal, and corresponding with all of the combination patterns that include a node that is one level below each node on the same path, and (2) the decryption key stored in the decryption key setting unit in correspondence with the terminal, wherein the terminal groups have a one-to-one correspondence with the combination patterns, and each terminal group is a group whose members are all the terminals that correspond to all nodes on the lowest level that are reached from all the combined nodes in the corresponding combination pattern.