  The trend towards delegating data processing to a remote party raises major
concerns related to privacy violations for both end-users and service
providers. These concerns have attracted the attention of the research
community, and several techniques have been proposed to protect against
malicious parties by providing secure communication protocols. Most of the
proposed techniques, however, require the involvement of a third party, and
this by itself can be viewed as another security concern. These security
breaches can be avoided by following a new approach that depends on data
sorted, managed, and stored in encrypted form at the remote servers. To realize
such an approach, the encryption cryptosystem must support algebraic operations
over encrypted data. This cryptosystem can be effective in protecting data and
supporting the construction of programs that can process encrypted input and
produce encrypted output. In fact, the latter programs do not decrypt the
input, and therefore, they can be run by an un-trusted party without revealing
their data and internal states. Furthermore, such programs prove to be
practical in situations where we need to outsource private computations,
especially in the context of cloud computing. Homomorphic cryptosystems are
perfectly aligned with these objectives as they are a strong foundation for
schemes that allow a blind processing of encrypted data without the need to
decrypt them. In this dissertation we rely on homomorphic encryption schemes to
secure cloud computing, services and routing protocols. We design several
circuits that allow for the blind processing and management of data such that
malicious parties are denied access to sensitive information. We select five
areas to apply our models to. These models are easily customized for many other
areas. We also provide prototypes that we use to study the performance and
robustness of our models.
