1. A method for encrypting a set of objects in a format to create an encrypted set of objects in the format, the method comprising: receiving the set of objects in the format, wherein the format is associated with one or more conditions that the set of objects satisfy; encoding each of the objects in the set of objects as an integer in a set of integers, the encoding generates an encoded set of objects; selecting one or more first disjoint subsets of the encoded set of objects; encrypting each of the selected one or more first disjoint subsets to create a partially-encrypted set of objects that comprises the encrypted one or more first disjoint subsets and one or more unencrypted subsets; permuting the partially-encrypted set of objects; selecting one or more second disjoint subsets of the permuted partially-encrypted set of objects; encrypting each of the selected one or more second disjoint subsets to create an encrypted set of objects that comprises the encrypted one or more second disjoint subsets; and decoding the encrypted set of objects to form a set of encrypted decoded objects, the encrypted decoded set of objects in the same format that the set of objects were received.