Patent ID: 8223973
Filing Date: 2012-07-17
Classification: H04L

Abstract:
1. A substitution/decryption apparatus, comprising: a processor that divides an input data sequence into elements comprising a secret key of secret key cryptography that is encrypted by a public key, data encrypted by the secret key, and a hash value encrypted by the public key; a secret key decryption unit that decrypts the encrypted secret key using a private key corresponding to the public key; a data decryption unit that decrypts the encrypted data using the decrypted secret key to generate output data; a hash value decryption unit that outputs a decrypted hash value obtained by decrypting the encrypted hash value using the private key; a hash value verification unit that compares the decrypted hash value with a generated hash value of the generated output data, wherein the hash value verification unit outputs a hash value acceptance if the decrypted hash value matches the generated hash value, or a hash value unacceptance if the decrypted hash value does not match the generated hash value; an output data sequence generator that generates an output data sequence that comprises, as sequence elements, only the output data for which acceptance is output by said hash value verification unit when processing the input data sequence comprising the encrypted data used to generate the output data, wherein the sequence elements are uniformly shuffled at random to form the output data sequence; a hash value decryption authenticity proof unit that generates a hash value decryption authenticity proof text that proves the hash value of each element of the output data sequence is always a value obtained by decrypting the encrypted hash value contained in a corresponding element of the input data sequence; a hash value unacceptance authenticity proof unit that generates a hash value unacceptance authenticity proof text that proves, when said hash value verification unit outputs unacceptance, that the output unacceptance from said hash value verification unit is authentic; and an authenticity proof text unit that generates an authenticity proof text from the hash value decryption authenticity proof text and the hash value unacceptance authenticity proof text and outputs the authenticity proof text and the output data sequence.