Table 2: Classification of Cryptographic Technologies Technology Data Provider Application Feature Visibility Provider Homomorphic Encrypts data Stores encrypted Capability to Only at Data Encryption data perform Provider computations Functional Encrypts data Stores encrypted Capability to Result of Encryption data perform allowed computations computations visible at Application Provider Encrypts data Stores encrypted No capability to Only for Access Control data perform entities which computations have a secret Policy-Based Encryption key satisfying the access control policy Plaintext data Stores plaintext Collaborative Application Secure data computation Providers do Party Computation among multiple not learn Application others’ inputs. Providers They only learn the jointly computed function. Plaintext or Decentralized Immutable Transaction Blockchain encrypted data decentralized logging in a database decentralized, untrusted environment Encrypts data Stores encrypted Capability to Controllable Hardware data perform visibility at primitives for computations. Application secure computations Verified Provider. execution. Scenario: Data Provider has data to be kept confidential. Application Provider is requested to do computations on the data. Data Provider gets back results from Application Provider. Consider that a client wants to send all its sensitive data to a cloud: photos, medical records, financial records and so on. She could send everything encrypted, but this wouldn't be of much use if she wanted the cloud to perform some computations on them, such as how much did she spend on movies last month? With Fully Homomorphic Encryption (FHE), a cloud can perform any computation on the underlying
Table 2: Classification of Cryptographic Technologies Technology Data Provider Application Provider Feature Visibility Homomorphic Encryption Encrypts data Stores encrypted data Capability to perform computations Only at Data Provider Functional Encryption Encrypts data Stores encrypted data Capability to perform computations Result of allowed computations visible at Application Provider Access Control Policy-Based Encryption Encrypts data Stores encrypted data No capability to perform computations Only for entities which have a secret key satisfying the access control policy Secure Computation Plaintext data Stores plaintext data Collaborative computation among multiple Application Providers Application Providers do not learn others’ inputs. They only learn the jointly computed function. Blockchain Plaintext or encrypted data Decentralized Immutable decentralized database Transaction logging in a decentralized, untrusted environment Hardware primitives for secure computations Encrypts data Stores encrypted data Capability to perform computations. Verified execution. Controllable visibility at Application Provider. Scenario: Data Provider has data to be kept confidential. Application Provider is requested to do computations on the data. Data Provider gets back results from Application Provider. Consider that a client wants to send all its sensitive data to a cloud: photos, medical records, financial records and so on. She could send everything encrypted, but this wouldn't be of much use if she wanted the cloud to perform some computations on them, such as how much did she spend on movies last month? With Fully Homomorphic Encryption (FHE), a cloud can perform any computation on the underlying Party