A capability providing method, implemented by a capability providing apparatus, wherein GM and HM are sets of matrices, fM(xM) is a decryption function for decrypting a ciphertext xM which is an element of the set HM with a particular decryption key to obtain an element of the set GM, MX1, and MX2 are random variables having values in the set GM, Mx1 is a realization of the random variable MX1, MX2 is a realization of the random variable MX2, and aM is an element of the set HM, the method comprising:
- receiving, from a computing apparatus, first input information Mτ1 and second input information Mτ2 that correspond to the ciphertext xM and are elements of the set HM,
- using first input information Mτ1 to correctly compute fM(Mτ1) with a probability greater than a certain provability and set an obtained result of the computation as first output information Mz1;
- using the second input information Mτ2 to correctly compute fM(Mτ2) with a probability greater than a certain provability and set an obtained result of the computation as second output information Mz2, and
- transmitting the first output information Mz1 and the second output information Mz2 to the computing apparatus, wherein the computing apparatus includes processing circuitry further configured to implement:
- a first computing unit configured to generate a computation result uM=fM(xM)+Mx1 from the first output information Mz1 and generate a computation result uM′=uM·aM;
- a second computing unit configured to generate a computation result vM=fM(xM)aM+Mx2 from the second output information Mz2;
- a determining unit configured to determine whether or not there are values of uM′ and vM that satisfy uM′=vM after every calculation of uM′ and vM for no more than a predetermined number of iterations of receiving newly calculated values of uM and vM;
- and
- a final output unit configured to output uM when the computation results uM and vM satisfy uM′=vM,
- wherein the determining unit determines that calculation of uM is impossible based on a calculation reliability of the capability providing apparatus being lower than a reference value when there are no values of uM′ and vM that satisfy uM′=vM after the predetermined number of iterations are completed, and the capability providing apparatus provides a computing capability to the computing apparatus, without leaking secret information, and the computing apparatus is configured to utilize the computing capability, via the capability providing apparatus, to obtain a computing result fM(xM) when the calculation reliability of the capability providing apparatus is verified to be above a predetermined level.