Month: January 2022

Uncategorized

homomorphic encryption

https://www.techtarget.com/searchsecurity/definition/homomorphic-encryption

quote: "

Homomorphic encryption is the conversion of data into ciphertext that can be analyzed and worked with as if it were still in its original form.  

Homomorphic encryptions allow complex mathematical operations to be performed on encrypted data without compromising the encryption. In mathematics, homomorphic describes the transformation of one data set into another while preserving relationships between elements in both sets.  The term is derived from the Greek words for "same structure." Because the data in a homomorphic encryption scheme retains the same structure, identical mathematical operations -- whether they are performed on encrypted or decrypted data --  will yield equivalent results.

Homomorphic encryption is expected to play an important part in cloud computing, allowing companies to store encrypted data in a public cloud and take advantage of the cloud provider’s analytic services.

Here is a very simple example of how a homomorphic encryption scheme might work in cloud computing:

  • Business XYZ has a very important data set (VIDS) that consists of the numbers 5 and 10.  To encrypt the data set, Business XYZ multiplies each element in the set by 2, creating a new set whose members are 10 and 20.
  • Business XYZ sends the encrypted VIDS set to the cloud for safe storage.  A few months later, the government contacts Business XYZ and requests the sum of VIDS elements.   
  • Business XYZ is very busy, so it asks the cloud provider to perform the operation.  The cloud provider, who only has access to the encrypted data set,  finds the sum of 10 + 20 and returns the answer 30.
  • Business XYZ decrypts the cloud provider’s reply and provides the government with the decrypted answer, 15.

"

there is a python lib PySEAL

https://gab41.lab41.org/pyseal-homomorphic-encryption-in-a-user-friendly-python-package-e27547a0b62f

https://blog.openmined.org/build-an-homomorphic-encryption-scheme-from-scratch-with-python/

https://bit-ml.github.io/blog/post/homomorphic-encryption-toy-implementation-in-python/

Uncategorized

Private Information Retrieval

Additive Secret Sharing

Since all shares (except for one) are chosen randomly, every share is indistinguishable from a random
value and no one can learn anything about a by observing at most n − 1 shares.

Shamir Secret Sharing

Drawback of additive secret sharing is that parties can drop out and fail to provide their share.

-

For both sharing methods, holders of the secret shares can compute linear functions on their shares.

PrivaGram

encode index of the chosen image in a bit string using one-hot encoding
XOR

adding robustness

Shamir secret sharing instead of additive secret sharing

  • robust against server dropping out, k-out-of-l PIR
  • at least t+1 servers are required to reconstruct the secret., t-private-l-server PIR

t-private k-out-of-l PIR protocol

adding homomorphic encryption

collude

final protocol

tbd

Uncategorized

Secure Classification

Secure Multiparty Computation like Yao’s Millionaires’ Problem [Yao82]

SPDZ
http://bristolcrypto.blogspot.com/2016/10/what-is-spdz-part-1-mpc-circuit.html

A secret value x is shared amongst n parties, such that the sum of all shares are equal to x.

  • uniformly at random

adding sec

  • in SPDZ MACs are used to authenticate the shares.
  • global MAC key
  • each party knows a share of the global MAC key

sharing an input value

  • sharing masked version of x
  • each party computes <x>

next:

opening a value
partially
output
directional output
MAC check protocol
coin tossing protocol
commitments