摘要 |
<p>Provided is a zero-knowledge proof system that allows zero-knowledge proof of discrete logarithms even in devices with small main memory device capacity. The zero-knowledge proof device (10) comprises a temporary memory unit (13) that stores pseudorandom numbers and previously determined hash values, a first processing unit (14a) that calculates multiple pseudorandom numbers and performs multiple iterations of processing to calculate hash values based on the calculated pseudorandom numbers and the information stored in the temporary memory unit, a second processing unit (14b) that determines some of the multiple pseudorandom numbers based on the hash values, and a third processing unit (14c) that re-calculates some of the pseudorandom numbers and sends the hash values obtained to a zero-knowledge verification device. The zero-knowledge verification device (20) comprises a temporary memory region (22), a data-receiving means (23) that sequentially receives new input data, and a processing means (24) that overwrites and refreshes hash values, that include variables and input data, as variables into the temporary memory region each time the input data are received.</p> |