# Are there any practical use cases for performing homomorphic operations on encrypted Strings?

Does anybody know which practical use cases there are to operate on encrypted strings? Even niche problems that can be solved using homomorphic encryption on strings are interesting to me, but not academic ones.

• I'm not sure what you're asking. Are you referring to homomorphic encryption? – forest Dec 20 '18 at 7:47
• Yes, Homomorphic Encryption given its ability to operated directly on cipher text without decrypting first. I'm specifically interested in use cases. Not the generic, highly academic ones found in research papers, but real, practical ones. – teritoh Dec 20 '18 at 7:48
• Another solution looking for problem. Such process can serendipitously lead to great things, but that's the exception rather then the norm. – fgrieu Dec 20 '18 at 8:01
• Yep. thats true to be honest. Trying to do both. Courting serendipity and also some real use cases that we are aware of. Hence the community outreach. – teritoh Dec 20 '18 at 10:59

I believe you're talking about homomorphic encryption. It allows to have operations on encrypted data.

A simple use-case example:

Sometimes data has to be kept confidential (i.e. names, address, ... ). It could be that you want to perform computing on data but you're missing the computational power to do so. So you're outsourcing this computation to someone else (cloud computing), but now you have a problem with privacy and confidentiality, because in this case the data has to be handled confidentional.

That's where homomorphic encryption is useful. You encrypt the data and afterwards an untrusted server can perform computation on this data. After the computation you can decrypt the data again and a third party has not gained any knowledge of the data.

Examples in the case of strings:

• You have a database with tables and you would like to add a new row with data. The database can be encrypted and hosted by an untrusted server (we're looking over the fact that this is maybe a bad practice). You can encrypt the data and add it to the database.

• You want to compare a lot of data (strings), for example you want to be sure that database A ($$D_a$$) has exactly the same data as the database B ($$D_b$$). You can compare the data with homomorphic encryption by an untrusted third party. After the comparison you know if $$D_a = D_b$$.