A data processing device for utilizing a digital work (1120; 2120; 4120) recorded on a disk (1500; 5500), the disk (1500; 5500) having recorded thereon: the digital work (1120; 2120; 4120) that is constituted from a plurality of data blocks; a plurality of record digest values generated with use of all of the plurality of data blocks, each data block corresponding to any one of the record digest values; and record signature data (1570; 5570) generated based on all of the plurality of record digest values recorded on the disk (1500; 5500), and the data processing device comprising: a reading unit operable to read data on the disk (1500; 5500) with use of a head radially movable on the disk (1500; 5500); a using unit operable to use the digital work (1120; 2120; 4120); a selecting unit (1511; 5511) operable to pseudo-randomly select a predetermined number of data blocks from all of the plurality of data blocks each time the digital work (1120; 2120; 4120) is used; an order determining unit operable to determine an order of reading the selected data blocks based on a current position of the head and a position on the disk (1500; 5500), where each of the selected data blocks is recorded; a reading control unit operable to control the reading unit so as to read the selected data blocks according to the determined order; a calculating unit operable to calculate calculation digest values based on the selected data blocks; a signature verifying unit (1611; 5611) operable to verify whether the digital work (1120; 2120; 4120) is valid by using (i) all of remaining record digest values, which are all of the plurality of record digest values except those record digest values corresponding to any of the calculated digest values, (ii) the record signature data (1570; 5570), and (iii) all of the calculation digest values, and a use controlling unit operable to stop the using unit from using the digital work (1120; 2120; 4120) when the signature verifying unit (1611; 5611) determines that the digital work (1120; 2120; 4120) is not valid. the digital work (1120; 2120; 4120) that is constituted from a plurality of data blocks; a plurality of record digest values generated with use of all of the plurality of data blocks, each data block corresponding to any one of the record digest values; and record signature data (1570; 5570) generated based on all of the plurality of record digest values recorded on the disk (1500; 5500), and the data processing device comprising: a reading unit operable to read data on the disk (1500; 5500) with use of a head radially movable on the disk (1500; 5500); a using unit operable to use the digital work (1120; 2120; 4120); a selecting unit (1511; 5511) operable to pseudo-randomly select a predetermined number of data blocks from all of the plurality of data blocks each time the digital work (1120; 2120; 4120) is used; an order determining unit operable to determine an order of reading the selected data blocks based on a current position of the head and a position on the disk (1500; 5500), where each of the selected data blocks is recorded; a reading control unit operable to control the reading unit so as to read the selected data blocks according to the determined order; a calculating unit operable to calculate calculation digest values based on the selected data blocks; a signature verifying unit (1611; 5611) operable to verify whether the digital work (1120; 2120; 4120) is valid by using (i) all of remaining record digest values, which are all of the plurality of record digest values except those record digest values corresponding to any of the calculated digest values, (ii) the record signature data (1570; 5570), and (iii) all of the calculation digest values, and a use controlling unit operable to stop the using unit from using the digital work (1120; 2120; 4120) when the signature verifying unit (1611; 5611) determines that the digital work (1120; 2120; 4120) is not valid. a reading unit operable to read data on the disk (1500; 5500) with use of a head radially movable on the disk (1500; 5500); a using unit operable to use the digital work (1120; 2120; 4120); a selecting unit (1511; 5511) operable to pseudo-randomly select a predetermined number of data blocks from all of the plurality of data blocks each time the digital work (1120; 2120; 4120) is used; an order determining unit operable to determine an order of reading the selected data blocks based on a current position of the head and a position on the disk (1500; 5500), where each of the selected data blocks is recorded; a reading control unit operable to control the reading unit so as to read the selected data blocks according to the determined order; a calculating unit operable to calculate calculation digest values based on the selected data blocks; a signature verifying unit (1611; 5611) operable to verify whether the digital work (1120; 2120; 4120) is valid by using (i) all of remaining record digest values, which are all of the plurality of record digest values except those record digest values corresponding to any of the calculated digest values, (ii) the record signature data (1570; 5570), and (iii) all of the calculation digest values, and a use controlling unit operable to stop the using unit from using the digital work (1120; 2120; 4120) when the signature verifying unit (1611; 5611) determines that the digital work (1120; 2120; 4120) is not valid.