Abstract:
A method for data privacy in a VoIP system includes: generating a private key for an additive homomorphic encryption scheme; sending the private key to a plurality of client terminals to be used by each of the plurality of client terminals to encrypt a respective VoIP streaming data; receiving an encrypted VoIP streaming data from each of the plurality of client terminals, wherein each of the VoIP streaming data is encrypted using the same private key; performing an encrypted homomorphic addition on the encrypted VoIP streaming data to generate a mixed encrypted VoIP data stream; and sending the mixed encrypted VoIP data stream to the plurality of client terminals to be played back.
Abstract:
A method for encoding encrypted data for further processing includes: receiving an input data vector of length m; splitting the input data vector to k multiple vectors; multiplying each of the multiple vectors by a power of 2 to obtain k number of intermediate vectors; summing the k number of intermediate vectors to obtain a single summed vector; encrypting the single summed vector to obtain an encrypted vector; sending the encrypted vector to an operational unit to have the encrypted vector operated on to obtain a processed encrypted vector; receiving the processed encrypted vector; decrypting the received encrypted vector; dividing the processed decrypted vector by a power of 2, modulus a power of 2 to obtain multiple transitional vectors of the same dynamic range and the same length; and concatenating the multiple transitional vectors to obtain a recovered vector of length m.
Abstract:
A system and method for secure substring search, using fully homomorphic encryption, or somewhat homomorphic encryption. In one embodiment, a first string is homomorphically compared to trial substrings of a second string, each comparison producing a ciphertext containing an encrypted indication of whether the first string matches the trial substrings. These ciphertexts are then combined in a homomorphic logical OR operation to produce a ciphertext which contains an encrypted indication of whether the first string matches any of the trial substrings, i.e., whether the first string is contained in the second string.
Abstract:
A method for data privacy in a VoIP system includes: generating a private key for an additive homomorphic encryption scheme; sending the private key to a plurality of client terminals to be used by each of the plurality of client terminals to encrypt a respective VoIP streaming data; receiving an encrypted VoIP streaming data from each of the plurality of client terminals, wherein each of the VoIP streaming data is encrypted using the same private key; performing an encrypted homomorphic addition on the encrypted VoIP streaming data to generate a mixed encrypted VoIP data stream; and sending the mixed encrypted VoIP data stream to the plurality of client terminals to be played back.
Abstract:
A method for secure comparison of encrypted symbols. According to one embodiment, a user may encrypt two symbols, share the encrypted symbols with an untrusted third party that can compute algorithms on these symbols without access the original data or encryption keys such that the result of running the algorithm on the encrypted data can be decrypted to a result which is equivalent to the result of running the algorithm on the original unencrypted data. In one embodiment the untrusted third party may perform a sequence of operations on the encrypted symbols to produce an encrypted result which, when decrypted by a trusted party, indicates whether the two symbols are the same.
Abstract:
A method for encoding encrypted data for further processing includes: receiving an input data vector of length m; splitting the input data vector to k multiple vectors; multiplying each of the multiple vectors by a power of 2 to obtain k number of intermediate vectors; summing the k number of intermediate vectors to obtain a single summed vector; encrypting the single summed vector to obtain an encrypted vector; sending the encrypted vector to an operational unit to have the encrypted vector operated on to obtain a processed encrypted vector; receiving the processed encrypted vector; decrypting the received encrypted vector; dividing the processed decrypted vector by a power of 2, modulus a power of 2 to obtain multiple transitional vectors of the same dynamic range and the same length; and concatenating the multiple transitional vectors to obtain a recovered vector of length m.
Abstract:
A method for secure comparison of encrypted symbols. According to one embodiment, a user may encrypt two symbols, share the encrypted symbols with an untrusted third party that can compute algorithms on these symbols without access the original data or encryption keys such that the result of running the algorithm on the encrypted data can be decrypted to a result which is equivalent to the result of running the algorithm on the original unencrypted data. In one embodiment the untrusted third party may perform a sequence of operations on the encrypted symbols to produce an encrypted result which, when decrypted by a trusted party, indicates whether the two symbols are the same.