Apparatus, method, and program product for producing synthetic fake data
Apparatuses, methods, and program products are disclosed for producing synthetic fake data. One apparatus includes at least one processor and a memory that stores code executable by the at least one processor. The code is executable by the processor to receive, by use of the at least one processor, real data to be protected. The code is executable by the processor to add noise to the real data to produce synthetic fake data. The code is executable by the processor to encrypt the synthetic fake data using an encryption key.
1 . An apparatus comprising:
at least one processor; and
a memory that stores code executable by the at least one processor to:
receive, by use of the at least one processor, real data to be protected;
encode the real data by forming a vector of means and a vector of standard deviations of the real data;
add noise directly to the vector of means and independently add noise to the vector of standard deviations to produce synthetic fake data; and
encrypt the synthetic fake data using an encryption key.
2 . The apparatus of claim 1 , further comprising a transmitter to transmit the encrypted synthetic fake data.
3 . The apparatus of claim 1 , wherein the vector of means and the vector of standard deviations are formed using a variational autoencoder.
4 . The apparatus of claim 1 , wherein the code executable by the at least one processor to add the noise to the real data to produce the synthetic fake data comprises code executable by the at least one processor to add the noise using a random vector.
5 . A method comprising:
receiving, by use of at least one processor, real data to be protected;
encoding the real data by forming a vector of means and a vector of standard deviations of the real data;
adding noise directly to the vector of means and independently add noise to the vector of standard deviations to produce synthetic fake data; and
encrypting the synthetic fake data using an encryption key.
6 . The method of claim 5 , further comprising transmitting the encrypted synthetic fake data.
7 . The method of claim 5 , wherein the noise comprises Gaussian noise.
8 . The method of claim 5 , wherein encrypting the synthetic fake data using the encryption key comprises separately encrypting the vector of means and the vector of standard deviations after the noise is added to the vector of means and the vector of standard deviations.
9 . The method of claim 5 , wherein the vector of means and the vector of standard deviations are formed using a variational autoencoder.
10 . The method of claim 9 , further comprising training the variational autoencoder.
11 . The method of claim 5 , wherein adding the noise to the real data to produce the synthetic fake data comprises adding the noise using a random vector.
12 . The method of claim 5 , wherein the encryption key comprises a private encryption key.
13 . The method of claim 5 , wherein the encryption key comprises a public encryption key.
14 . A method comprising:
receiving, by use of at least one processor, encrypted synthetic fake data;
decrypting the encrypted synthetic fake data to produce decrypted synthetic fake data, wherein the encrypted synthetic fake data comprises a vector of means and a vector of standard deviations of real data formed by encoding the real data; and
removing noise from the decrypted synthetic fake data to produce synthetic fake data, wherein the noise is removed from the vector of means and the vector of standard deviations separately.
15 . The method of claim 14 , wherein the noise comprises Gaussian noise.
16 . The method of claim 14 , further comprising unencoding the synthetic fake data to produce extracted data.
17 . The method of claim 16 , further comprising outputting the extracted data.