A data sharing apparatus shares first data with a communication partner.
The data sharing apparatus obtains second data from third data by using
server-aided computation, and generates fourth data to be used by the
communication partner for obtaining the first data, from the second data
and fifth data. The data sharing apparatus obtains the first data to be
shared with the communication partner by using server-aided computation
from sixth data generated from the third data and seventh data.