摘要 |
A zero-knowledge proving system includes a proving mechanism for proving equality or inequality of two discrete logarithms and a verifying mechanism for verifying said equality or inequality. The proving mechanism stores public information including a designated operation scheme, two input numbers alpha and beta, and two predetermined bases g and h, private information x which is a discrete logarithm of alpha to the base g. After converting alpha, beta and h to produce alpha', beta' and gamma' as follows: alpha'=alpha<SUP>r</SUP>; beta'=beta<SUP>r</SUP>; and gamma'=h<SUP>xr</SUP>, the equality of a log<SUB>alpha</SUB>alpha' and log<SUB>beta</SUB>beta' and the equality of log<SUB>g</SUB>alpha' and log<SUB>h</SUB>gamma' are proved. The verifying mechanism verifies the equality of a log<SUB>alpha</SUB>alpha' and log<SUB>beta</SUB>beta' and the equality of log<SUB>g</SUB>alpha' and log<SUB>h</SUB>gamma'. Then, the received beta' and gamma' are checked to determine the equality or inequality thereof, and it is determined whether the proof is acceptable, depending on the verification and the check results.
|