Patent ID: 8300816

Claim:
An information processing unit, comprising: a storage device; and a processor coupled to the storage device, wherein the storage device stores a program for controlling the processor, and wherein the processor, being operative with the program, is configured to: obtain information associated with a temporary directed graph, the temporary directed graph comprising a plurality of directed edges, the directed edges forming a plurality of directed paths having corresponding path lengths; generate a modified temporary directed graph, based on at least a portion of the obtained information, wherein the processor is further configured to: identify a first one of the directed paths, the first directed path being associated with a maximum of the path lengths; determine a subset of the directed paths that fail to include a portion of the first directed path; and obtain a second directed path from the subset of directed paths, the second directed path being associated with a maximum of the path lengths of the subset; and modify the temporary directed graph by replacing the at least one of the directed edges with a shorter directed edge, the replacement being based on at least the path lengths of the first and second directed paths; establish a directed graph based on at least a portion of the modified temporary directed graph; and calculate at least one of a set key for encrypting or decrypting contents or a contents key, based on intermediate keys associated with the directed graph.