Exclusive encryption
First Claim
1. One or more computer-readable media having stored thereon a plurality of instructions that, when executed by one or more processors of a computer, causes the one or more processors to perform acts comprising:
- receiving an identifier;
generating, based on the identifier, a mapped identifier;
encoding the mapped identifier, wherein encoding the mapped identifier comprises;
reversing an order of characters in the mapped identifier;
removing, from a reversed mapped identifier, all trailing characters of a particular type;
initializing the encoded identifier with a string of one bits equal in number to a number of trailing characters removed from the reversed mapped identifier followed by a zero bit;
selecting a first character from the reversed mapped identifier;
encoding the first character using a first coding table;
adding, to the encoded identifier, a series of zero bits followed by the encoded first character;
for each additional character in the reversed mapped identifier,selecting a next character in the reversed mapped identifier,encoding the next character using a second coding table,adding, to the encoded identifier, a series of zero bits followed by the encoded next character; and
removing any trailing zero bits and the one bit preceding the trailing zero bits from the encoded identifier; and
encrypting the encoded mapped identifier.
1 Assignment
0 Petitions
Accused Products
Abstract
An exclusive encryption system is established using multiple computing devices. The exclusive encryption system allows for the exclusion of certain plaintext (e.g., by one of the computing devices) and ciphertext (e.g., by another of the computing devices) while at the same time maintaining the privacy created by the encryption (e.g., so the other computing device cannot see the plaintext). The exclusive encryption system may be implemented as part of a serverless distributed file system with directory entries (e.g., file names or folder names) being the plaintext, or alternatively as part of other systems.
-
Citations
20 Claims
-
1. One or more computer-readable media having stored thereon a plurality of instructions that, when executed by one or more processors of a computer, causes the one or more processors to perform acts comprising:
-
receiving an identifier; generating, based on the identifier, a mapped identifier; encoding the mapped identifier, wherein encoding the mapped identifier comprises; reversing an order of characters in the mapped identifier; removing, from a reversed mapped identifier, all trailing characters of a particular type; initializing the encoded identifier with a string of one bits equal in number to a number of trailing characters removed from the reversed mapped identifier followed by a zero bit; selecting a first character from the reversed mapped identifier; encoding the first character using a first coding table; adding, to the encoded identifier, a series of zero bits followed by the encoded first character; for each additional character in the reversed mapped identifier, selecting a next character in the reversed mapped identifier, encoding the next character using a second coding table, adding, to the encoded identifier, a series of zero bits followed by the encoded next character; and removing any trailing zero bits and the one bit preceding the trailing zero bits from the encoded identifier; and encrypting the encoded mapped identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer comprising:
-
a processor; a computer storage media, coupled to the processor, to store instructions that, when executed by the processor, cause the processor to perform acts comprising; receiving an identifier; generating, based on the identifier, a mapped identifier; encoding the mapped identifier, wherein encoding the mapped identifier comprises; reversing an order of characters in the mapped identifier; removing, from a reversed mapped identifier, all trailing characters of a particular type; initializing the encoded identifier with a string of one bits equal in number to a number of trailing characters removed from the reversed mapped identifier followed by a zero bit; selecting a first character from the reversed mapped identifier; encoding the first character using a first coding table; adding, to the encoded identifier, a series of zero bits followed by the encoded first character; for each additional character in the reversed mapped identifier, selecting a next character in the reversed mapped identifier, encoding the next character using a second coding table, adding, to the encoded identifier, a series of zero bits followed by the encoded next character; and removing any trailing zero bits and the one bit preceding the trailing zero bits from the encoded identifier; and encrypting the encoded mapped identifier. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
means for receiving an identifier; means for generating, based on the identifier, a mapped identifier; means for encoding the mapped identifier, wherein the means for encoding the mapped identifier comprises; means for reversing an order of characters in a reverse mapped identifier; means for removing, from the reversed mapped identifier, all trailing characters of a particular type; means for initializing the encoded identifier with a string of one bits equal in number to a number of trailing characters removed from the reversed mapped identifier followed by a zero bit; means for selecting a first character from the reversed mapped identifier; means for encoding the first character using a first coding table;
a means for adding, to the encoded identifier, a series of zero bits followed by the encoded first character;means for, for each additional character in the reversed mapped identifier, selecting a next character in the reversed mapped identifier, encoding the next character using a second coding table, adding, to the encoded identifier, a series of zero bits followed by the encoded next character; and means for removing any trailing zero bits and the one bit preceding the trailing zero bits from the encoded identifier; and
means for encrypting the encoded mapped identifier. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification