1. A processor-implemented method of using a public key cryptosystem comprising: representing the public key as a lattice L with O(n log n) bits; determining a selected shortest nonzero vector u of the lattice L as a private key; and using the private key and the public key to encrypt an electronic file.