1. A method of preserving privacy of data in a dataset in a database with a number n of entries, comprising: forming a random matrix of dimension m by n, wherein m is less than n; operating on said dataset with said random matrix to produce a compressed dataset; forming a pseudoinverse of said random matrix; and operating on said dataset with said pseudoinverse of said random matrix to produce a decompressed dataset.