Secure and privacy-preserving data transmission and processing using homomorphic encryption

DefCamp
DefCampDefCamp
Homomorphic Encryption
Secure and privacy-preserving data
transmission and processing
Dr. Razvan Bocu
Transilvania University of Brasov, Romania
History
Julius Ceasar (100-44 BC)
In the beginning, there was symmetric encryption.
Message: ATTACK AT DAWN
History
Julius Ceasar (100-44 BC)
Message: ATTACK AT DAWN
Key: +3
Ciphertext:
↓↓↓↓↓↓ ↓↓ ↓↓↓↓
DWWDFN DW GDZQ
If you had the key, you could encrypt…
DWWDFN DW GDZQ
History
Julius Ceasar (100-44 BC)
Ciphertext: DWWDFN DW GDZQ
Key: -3
Message:
↓↓↓↓↓↓ ↓↓ ↓↓↓↓
ATTACK AT DAWN
If you had the key, you could decrypt…
DWWDFN DW GDZQ
History
Julius Ceasar (100-44 BC)
If you had the key, you could decrypt…
DWWDFN DW GDZQ
Symmetric Encryption:
Encryption and Decryption use the same key
History
Symmetric Encryption:
Encryption and Decryption use the same key
Vigenere Enigma
Claude Shannon and
Information Theory
1900-1950
History
Asymmetric Encryption
Merkle, Hellman and Diffie (1976) Shamir, Rivest and Adleman (1978)
Encryption uses a public key, Decryption uses the secret key
(1970s)
History
Asymmetric Encryption:
The Foundation of E-Commerce
History
RSA: The first and most popular
asymmetric encryption
𝐸 𝑚 = 𝑚 𝑒 (mod 𝑛)
D 𝑐 = 𝑐 𝑑
(mod 𝑛)
YET…
The world was black and white
YET…
The world was black and white
The only thing anyone did with
encrypted data was …
… decrypt it.
YET…
Encryption =
Further possible use cases
Function
f
x
search
query Google
searchSearch results
x
f(x)
Driving force: The need for privacy.
Computations on Encrypted Data
Further possible use cases
Function
f
x
Enc(x)
Enc(f(x))
Driving force: The need for privacy.
Computations on Encrypted Data
The algebraic structure in RSA…
𝐸 𝑚1 = 𝑚1
𝑒
𝐸 𝑚2 = 𝑚2
𝑒
Thus, … 𝐸 𝑚1 × 𝐸 𝑚2
= 𝑚1
𝑒 × 𝑚2
𝑒
= (𝑚1 × 𝑚2) 𝑒
= 𝐸(𝑚1 × 𝑚2)
𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2)
Multiplicative Homomorphism
Computations on Encrypted Data
RSA is multiplicatively homomorphic
𝐸 𝑚1 = 𝑚1
𝑒
𝐸 𝑚2 = 𝑚2
𝑒
Ergo … 𝐸 𝑚1 × 𝐸 𝑚2
= 𝑚1
𝑒 × 𝑚2
𝑒
= (𝑚1 × 𝑚2) 𝑒
= 𝐸(𝑚1 × 𝑚2)
𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2)
Multiplicative Homomorphism
Computations on Encrypted Data
RSA is multiplicatively homomorphic
𝐸 𝑚1 = 𝑚1
𝑒
𝐸 𝑚2 = 𝑚2
𝑒
Ergo … 𝐸 𝑚1 × 𝐸 𝑚2
= 𝑚1
𝑒 × 𝑚2
𝑒
= (𝑚1 × 𝑚2) 𝑒
= 𝐸(𝑚1 × 𝑚2)
𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2)
Multiplicative Homomorphism
(but not additively homomorphic)
Computations on Encrypted Data
Other Encryption systems were additively homomorphic
𝐸 𝑚1 + 𝐸 𝑚2 = 𝐸(𝑚1 + 𝑚2)
Additive Homomorphism
(but not multiplicatively homomorphic)
Computations on Encrypted Data
The ultimate goal: computations over encrypted
data…
… this requires the computation of
both sums and products …
… over the same encrypted data set!
Computations on Encrypted Data
XOR
0 XOR 0
1 XOR 0
0 XOR 1
1 XOR 1
0
1
1
0
AND
0 AND 0
1 AND 0
0 AND 1
1 AND 1
0
0
0
1
Why SUMs and PRODUCTs?
SUM
=
PRODUCT
=
Computations on Encrypted Data
XOR
0 XOR 0
1 XOR 0
0 XOR 1
1 XOR 1
0
1
1
0
AND
0 AND 0
1 AND 0
0 AND 1
1 AND 1
0
0
0
1
Considering the system {XOR,AND} is Turing-complete …
… any function is a combination of XOR and AND gates
Computations on Encrypted Data
Considering the system {XOR,AND} is Turing-complete …
… any function is a combination of XOR and AND gates
Example: Indexing a database
0
1
1
0
DB index
i = i1i0
return DBi
i0 i1
DB3
DB2 DB0 DB1
Corollary
Considering the system {XOR,AND} is Turing-complete …
… if one can compute sums and products on encrypted bits
… one can compute ANY function on encrypted inputs
E(x1) E(x2) E(x3) E(x4)
E(x3 AND x4)E(x1 XOR x2)
E(f(x1,x2,x3,x4))
Fully-Homomorphic Encryption!
Cryptography’s Holy Grail
Fully-Homomorphic Encryption!
Amazing Applications:
Private Cloud Computing
Delegate arbitrary processing of data
without giving away access to it
Fully-Homomorphic Encryption!
Continuous unsucccessful quest for years
… until, in October 2008 …
… Craig Gentry came up with the first
fully homomorphic encryption scheme …
What is the mechanism?
What kind of mathematical models can we use?
What kind of objects can we add and multiply?
Polynomials? (𝑥2
+ 6𝑥 + 1) + 𝑥2
− 6𝑥 = (2𝑥2
+ 1)
(𝑥2
+ 6𝑥 + 1) X 𝑥2
− 6𝑥 = (𝑥4
− 35𝑥2
− 6𝑥)
Polynomials?
Matrices?
(𝑥2
+ 6𝑥 + 1) + 𝑥2
− 6𝑥 = (2𝑥2
+ 1)
(𝑥2 + 6𝑥 + 1) X 𝑥2 − 6𝑥 = (𝑥4 − 35𝑥2 − 6𝑥)
1 0
1 2
+
−1 1
0 1
=
0 1
1 3
1 0
1 2
𝑋
−1 1
0 1
=
−1 1
−1 3
What kind of objects can we add and multiply?
Polynomials?
Matrices?
(𝑥2
+ 6𝑥 + 1) + 𝑥2
− 6𝑥 = (2𝑥2
+ 1)
(𝑥2 + 6𝑥 + 1) X 𝑥2 − 6𝑥 = (𝑥4 − 35𝑥2 − 6𝑥)
Maybe integers?!?
3 + 4 = 7
3 X 4 = 12
1 0
1 2
+
−1 1
0 1
=
0 1
1 3
1 0
1 2
𝑋
−1 1
0 1
=
−1 1
−1 3
What kind of objects can we add and multiply?
Nowadays, in use: Symmetric Encryption
Secret key: large odd number p
0 p 2p 3p-3p -2p -p
Secret key: large odd number p
To Encrypt a bit b:
– choose a (preferably random) “large” multiple of p, say q·p
0 p 2p 3p-3p -2p -p
Secret key: large odd number p
To Encrypt a bit b:
– choose a (preferably random) “large” multiple of p, say q·p
– choose a (preferably random) “small” number 2·r+b
0 p 2p 3p-3p -2p -p
(this is even if b=0, and odd if b=1)
the “noise” = 2·r+b
Secret key: large odd number p
To Encrypt a bit b:
– choose a (preferably random) “large” multiple of p, say q·p
– choose a (preferably random) “small” number 2·r+b
– Resulting ciphertext: c = q·p+2·r+b
0 p 2p 3p-3p -2p -p
(this is even if b=0, and odd if b=1)
the “noise” = 2·r+b
Secret key: large odd number p
To Encrypt a bit b:
– choose a (preferably random) “large” multiple of p, say q·p
– choose a (preferably random) “small” number 2·r+b
– Resulting ciphertext: c = q·p+2·r+b
0 p 2p 3p-3p -2p -p
(this is even if b=0, and odd if b=1)
the “noise” = 2·r+b
To Decrypt a ciphertext c:
Applying the operation c mod p recovers the noise
How safe is this model?
If there was no noise (r=0)
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
… and one provides two encryptions of 0 (q1p & q2p)
… then the secret key p can be recovered
GCD_attack(q1p, q2p)
Greatest common divisor
Coppersmith’s attack
How safe is this model?
If there is noise
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
… the GCD attack doesn’t work
… and neither does any conventional attack
 the approximate GCD assumption
XOR operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
– c2 = q2·p + (2·r2 + b2)
XOR operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2)
– c2 = q2·p + (2·r2 + b2)
XOR operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2)
Odd if b1=0, b2=1 (or)
b1=1, b2=0
Even if b1=0, b2=0 (or)
b1=1, b2=1
– c2 = q2·p + (2·r2 + b2)
XOR operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2)
least_significant_bit= b1 XOR b2
– c2 = q2·p + (2·r2 + b2)
AND operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
– c2 = q2·p + (2·r2 + b2)
– c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
AND operations on two encrypted bits:
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
– c1 = q1·p + (2·r1 + b1)
least_significant_bit= b1 AND b2
– c2 = q2·p + (2·r2 + b2)
– c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
The noise increases!
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
The noise increases!
– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2)
noise= 2 * (initial noise)
0 p 2p 3p-3p -2p -p
the “noise” = 2·r+b
The noise increases!
– c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2)
noise= 2 * (initial noise)
noise = (initial noise)2
– c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
0 17 34 51-51 -34 -17
noise=-14
The noise increases!
Why does this matter?
20
0 17 34 51-51 -34 -17
noise=-14
The noise increases!
Why does this matter?
20
decryption will
recover noise’=3
0 17 34 51-51 -34 -17
noise=-14
The noise increases!
Why does this matter?
20
If the |noise| > p/2, then:
Decryption will output an incorrect bit!
decryption will
recover noise’=3
The accomplishment …
Possibility to do lots of additions and
… some multiplications
(= a “somewhat homomorphic” encryption)
The accomplishment …
… we can do lots of additions and
… some multiplications
It is enough to do many useful tasks, such as,
database search, spam filtering etc.
(= a “somewhat homomorphic” encryption)
The accomplishment ...
… we can do lots of additions and
… some multiplications
… enough to do many useful tasks, e.g.,
database search, spam filtering etc.
But, there is much more …
(= a “somewhat homomorphic” encryption)
RSA&friends
MANY mult
ZERO add
Fully homomorphic
MANY additions
MANY multiplications
WE ARE HERE!
Fully homomorphic
MANY add
MANY mult
WE ARE HERE!
[bootstrapping]
How is this possible?
The “bootstrapping method”
Principle: If you can go a (large) part of the way,
then you can go all the way.
RSA&friends
MANY mult
ZERO add
noise=0
noise=p/2
Initial noise
The “bootstrapping method”
Noise after some
sums and products
noise=0
noise=p/2
The “bootstrapping method”
noise=0
noise=p/2
Bootstrapping =
“Valve” at a fixed height
The “bootstrapping method”
noise=0
noise=p/2
Bootstrapping =
“Valve” at a fixed height
The “bootstrapping method”
noise=0
noise=p/2
… repeat until done
The “bootstrapping method”
noise=0
noise=p/2
… repeat until done
The “bootstrapping method”
 Lots of new Encryption Schemes
… simpler, more secure, more efficient
 Dramatic Efficiency Improvements
1 100 10000 1000000
2011
2010
2009
Time (in millisec) for a basic operation
Gentry’s “bootstrapping method” …
The same principle: if you can go a (large)
part of the way, you probably can go all
the way.
noise=0
noise=p/2
Gentry’s “bootstrapping method” …
The same principle: if you can go a (large)
part of the way, you probably can go all
the way.
noise=0
noise=p/2
Issue to address: Addition and
Multiplication increase noise
(Addition doubles, Multiplication squares
the noise)
Gentry’s “bootstrapping method” …
The same principle: if you can go a (large)
part of the way, you probably can go all
the way.
noise=0
noise=p/2
Issue to address: Addition and
Multiplication increase noise
(Addition doubles, Multiplication squares
the noise)
Goal: noise reduction
noise=0
noise=p/2
Reflection topic
What is the best noise-reduction procedure?
noise=0
noise=p/2
Reflection topic
What is the best noise-reduction procedure?
… To get rid of all the noise.
noise=0
noise=p/2
Reflection topic
What is the best noise-reduction procedure?
… To get rid of all the noise,
… and computationally optimal recover the
original message.
noise=0
noise=p/2
Reflection topic
… What is the best noise-reduction procedure?
… To get rid of all the noise
… and computationally optimal recover the
original message
Direct Decryption!
noise=0
noise=p/2
Reflection topic
… What is the best noise-reduction procedure?
… To get rid of all the noise
… and computational optimal recover the
original message
Direct Decryption!
Ctxt = Enc(b) Secret key
Decrypt
b
noise=0
noise=p/2
Reflection topic
… What is the best noise-reduction procedure?
… To get rid of all the noise
… and computationally optimal recover the
original message
Direct Decryption!
Secret key
Decrypt
bFunction that acts on ciphertext
and eliminates noise
Ctxt = Enc(b)
noise=0
noise=p/2
Reflection topic
… What is the best noise-reduction procedure?
… To get rid of all the noise
… and computationally optimal recover the
message
Decryption!
Secret key
Decrypt
b
Ctxt = Enc(b)
But I can’t
give the
secret key
out for free!
noise=0
noise=p/2
Reflection topic
Secret key
Decrypt
b
But I can’t
give the
secret key
out for free!
Ctxt = Enc(b)
Goal: I want to reduce noise without letting you decrypt
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Secret key
Decrypt
b
Ctxt = Enc(b)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
This is called “Circular Encryption”
Secret key
Decrypt
b
Ctxt = Enc(b)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
This is called “Circular Encryption”
Decrypt
b
Ctxt = Enc(b) Enc(Secret key)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
b
… Homomorphically evaluate the decryption circuit!!!
Ctxt = Enc(b)
In order to reduce noise …
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
… Homomorphically evaluate the decryption circuit!!!
Ctxt = Enc(b)
In order to reduce noise …
Enc(b)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
… Homomorphically evaluate the decryption circuit!!!
Ctxt = Enc(b)
In order to reduce noise …
Enc(b)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
The input Enc(b) and output Enc(b) have
different noise levels.
Ctxt = Enc(b)
KEY OBSERVATION:
Enc(b)
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
Regardless of the noise in the input Enc(b),
Ctxt = Enc(b)
KEY OBSERVATION:
Enc(b)
the noise level in the output Enc(b) is FIXED.
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
Regardless of the noise in the input Enc(b),
Ctxt = Enc(b)
KEY OBSERVATION:
Enc(b)
the noise level in the output Enc(b) is FIXED.
noise=0
noise=p/2
KEY IDEA
I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
Regardless of the noise in the input Enc(b),
Ctxt = Enc(b)
KEY OBSERVATION:
Enc(b)
the noise level in the output Enc(b) is FIXED.
noise=0
noise=p/2
KEY IDEA
… I cannot release the secret key (or else, everyone sees my data)
… but I can release Enc(secret key)
Enc(Secret key)
Decrypt
Regardless of the noise in the input Enc(b),
Ctxt = Enc(b)
KEY OBSERVATION:
Enc(b)
the noise level in the output Enc(b) is FIXED.
Long story short: whenever noise level increases
beyond a limit …
noise=0
noise=p/2
… use bootstrapping to reset it to a fixed level
noise=0
noise=p/2 Bootstrapping requires the homomorphic
evaluation of the decryption circuit.
noise=0
noise=p/2
Thus, Gentry’s “bootstrapping theorem”:
If an enc scheme can evaluate its own
decryption circuit, then it can evaluate
everything
Real world use case
Reference paper:
• R., Bocu, C., Costache, A Homomorphic Encryption-Based System
for Securely Managing Personal Health Metrics Data, IBM Journal of
Research and Development ISSN 0018-8646, Volume 62, Issue 1,
2018, pp. 1:1-1:10.
• Use case: the convenient and full privacy preserving collection,
transportation, processing, analysis, and storage of personal health
information (PHI).
• Software system: SafeBioMetrics – this system addresses the four essential
requirements, the biomedical data collection at the user’s end, its transfer
to the storage and processing backend, the proper and secure storage of
this data, and its privacy-preserving processing.
• Distinctive feature: clear separation between the long-term data storage
and data processing paths. The system can easily accommodate any use
case that involves the data collection through sensors and mobile devices at
the user’s side.
System architecture
System features
• Data privacy assured during all four stages: data collection, data
transmission, data storage, FHE-based data processing.
• Data storage and processing backend is deployed in the cloud (in this case,
IBM Bluemix, but any other cloud platform is fine).
• The collected data is efficiently store in the cloud (in this case, the relevant
service is IBM Cloudant, but any other similar cloud service is fine).
• The FHE computations are performed using Apache Spark, but any other
computing service may be adapted and used.
• The processing events are intercepted, and the proper actions triggered
using a programming service (in this case, IBM OpenWhisk, but any other
similar service may be adapted).
• Advantages
• Any use case that involves the safe (private) processing of sensitive data can benefit from the usage of this
model.
• The approach offloads the expensive processing operations to the cloud infrastructure, while keeping intact
the data privacy.
• The model is fully customizable and adaptable to various use cases and hardware/software infrastructures.
FHE Core Model – Supported Operations
• Homomorphic addition (+h) – It takes as operands two ciphertexts,
which correspond to a slot wise XOR operation of the related
plaintext elements.
• Homomorphic multiplication (Xh) – It takes as operands two
ciphertexts, which correspond to a slot wise AND operation of the
related plaintext elements.
• Homomorphic rotate (<<<h, >>>h) – This essentially provides the
possibility to rotate the data elements’ slots. The concept of slots
refers to the storage bits that determine the data elements
processed by the rotate operation.
• Homomorphic select (selmask) – It has the role to correct the
potentially altered slots (bits) of the data elements after the rotate
operation. It preserves the data consistency during the fully
homomorphic encryption process.
FHE Core Model – The Level
• The level (L) – It must be determined before starting any computation
instruction.
• The level L is calibrated considering the depth of the multiplication
operations to be performed in the given computational context.
• This parameter assures the accuracy of the FHE operations’ results.
• The multiplication increments by 1 the level L of the operation.
• The depth of the multiplication operations determines the value of the
calibrated level L.
• This operation considers a number of NCT ciphertexts, which encrypt an
array with n bits that stores the relevant data (in the case of the
SafeBioMetrics, the cardiac rhythm data).
• The computationally expensive multiplication operations should be
reduced.
• Consequently, the depth of the multiplication operations is reduced, in
order to achieve an optimal calibration of the level L.
Optimized FHE Scheme
Optimized FHE Scheme (cont’d)
• The data storage and processing backend efficiently and safely computes
the received data.
• The efficient incorporation of the FHE routines into the SafeBioMetrics
system relies on the utilization of the communication data path illustrated in
the previous slide (the top data path).
• Each bit of the plaintext data is properly packed into the respective plaintext
message.
• The ciphertext is generated through an FHE model considering the top data
path steps.
• The bottom data path in the figure implies that the input data is translated
into a binary format, which is efficiently understood by the CPU. This is
achieved using the computation (fc(.)) and aggregation (fa(.)) functions from
the bottom data processing path.
• The binary data is processed using a parallel single instruction, multiple data
(SIMD) model.
• The four operations already mentioned are fully supported.
Test Use Case
•The detection of three medical conditions has
been considered: the average heart rate, the
delayed repolarization of the heart, the minimum
and maximum heart rates.
•Outcomes:
• The model performed well considering the detection of all three medical
conditions.
• The resulted performance metrics prove that the system is time and
resources efficient.
• The data privacy can be preserved, even if the hosting (cloud) environment
is affected by a security incident (e.g., unauthorized access by an employee
or hacker, CPU vulnerability issues, etc.).
• The amount of transferred data depends arithmetically on the size of the
encrypted data.
Performance Metrics (1) - Explanation
• Network capacity: XFERIN (the amount of data transferred from the
client devices to the backend), XFEROUT (the amount of data that is
transferred from the backend to the client devices).
• Storage ratio (SR): this assesses the amount of storage that is
necessary to store one byte of plaintext data in a FHE format. As an
example, if SR=500, there are necessary 500 bytes in order to store
one plaintext byte in the FHE format.
• Processing speed (PS): This is defined through the ratio PS=PTO / PIN.
Here, the numerator represents the amount of time to send the data
from the client device to the backend, while the denominator is the
amount of time that is required by the backend to process the
received data.
• NCT: The number of the involved ciphertexts.
• Level L: The value of the calibration parameter.
Performance metrics (2)
Performance metrics (3) – DRHS Condition
Test Use Case - Conclusions
• Flexible and decoupled architecture – the system is capable
of accommodating most of the existing and, with a high
probability, future client-side data collection devices.
• SafeBioMetrics demonstrates that it is perfectly possible to
sustain a completely secure, privacy preserving and resource
efficient data management over large amounts of data.
• This case study demonstrates that fully homomorphic
encryption is useable in order to secure a system like
SafeBioMetrics.
• This model can be adapted to any other use case, which
involves the processing of large amounts of sensitive data.
Thank You!
Questions and Discussion
1 of 102

Recommended

Introduction to Homomorphic Encryption by
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionChristoph Matthies
13.5K views69 slides
Homomorphic Encryption by
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionVictor Pereira
4.3K views20 slides
Computing on Encrypted Data by
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted DataNew York Technology Council
6K views38 slides
A survey on Fully Homomorphic Encryption by
A survey on Fully Homomorphic EncryptionA survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic Encryptioniosrjce
670 views5 slides
Partial Homomorphic Encryption by
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryptionsecurityxploded
2.5K views13 slides
Homomorphic Encryption by
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionGöktuğ Serez
2.5K views58 slides

More Related Content

What's hot

Let’s talk about microbenchmarking by
Let’s talk about microbenchmarkingLet’s talk about microbenchmarking
Let’s talk about microbenchmarkingAndrey Akinshin
598 views41 slides
ZK Study Club: Sumcheck Arguments and Their Applications by
ZK Study Club: Sumcheck Arguments and Their ApplicationsZK Study Club: Sumcheck Arguments and Their Applications
ZK Study Club: Sumcheck Arguments and Their ApplicationsAlex Pruden
190 views44 slides
Distributed Machine Learning with Apache Mahout by
Distributed Machine Learning with Apache MahoutDistributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache MahoutSuneel Marthi
530 views65 slides
Asssignment2 by
Asssignment2 Asssignment2
Asssignment2 AnnamalikAnnamalik
56 views9 slides
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ... by
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...Alex Pruden
790 views48 slides
NTHU AI Reading Group: Improved Training of Wasserstein GANs by
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsMark Chang
2.2K views37 slides

What's hot(19)

Let’s talk about microbenchmarking by Andrey Akinshin
Let’s talk about microbenchmarkingLet’s talk about microbenchmarking
Let’s talk about microbenchmarking
Andrey Akinshin598 views
ZK Study Club: Sumcheck Arguments and Their Applications by Alex Pruden
ZK Study Club: Sumcheck Arguments and Their ApplicationsZK Study Club: Sumcheck Arguments and Their Applications
ZK Study Club: Sumcheck Arguments and Their Applications
Alex Pruden190 views
Distributed Machine Learning with Apache Mahout by Suneel Marthi
Distributed Machine Learning with Apache MahoutDistributed Machine Learning with Apache Mahout
Distributed Machine Learning with Apache Mahout
Suneel Marthi530 views
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ... by Alex Pruden
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
Alex Pruden790 views
NTHU AI Reading Group: Improved Training of Wasserstein GANs by Mark Chang
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANs
Mark Chang2.2K views
How To Crack RSA Netrek Binary Verification System by Jay Corrales
How To Crack RSA Netrek Binary Verification SystemHow To Crack RSA Netrek Binary Verification System
How To Crack RSA Netrek Binary Verification System
Jay Corrales85 views
NTU ML TENSORFLOW by Mark Chang
NTU ML TENSORFLOWNTU ML TENSORFLOW
NTU ML TENSORFLOW
Mark Chang4.9K views
Cryptocurrency Jeopardy! by David Evans
Cryptocurrency Jeopardy!Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!
David Evans16.9K views
Computational Linguistics week 5 by Mark Chang
Computational Linguistics  week 5Computational Linguistics  week 5
Computational Linguistics week 5
Mark Chang926 views
Digital Signatures: Reassessing security of randomizable signatures by Priyanka Aash
Digital Signatures: Reassessing security of randomizable signaturesDigital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signatures
Priyanka Aash343 views
Gems of GameplayKit. UA Mobile 2017. by UA Mobile
Gems of GameplayKit. UA Mobile 2017.Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.
UA Mobile239 views
Machine Learning Introduction by Akira Sosa
Machine Learning IntroductionMachine Learning Introduction
Machine Learning Introduction
Akira Sosa244 views
Introduction to Cryptography by David Evans
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
David Evans1.3K views
Bitcoin Script by David Evans
Bitcoin ScriptBitcoin Script
Bitcoin Script
David Evans20.2K views

Similar to Secure and privacy-preserving data transmission and processing using homomorphic encryption

Introduction to Homomorphic Encryption by
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryptionhubx
682 views69 slides
Demystifying Zero Knowledge Proofs [FINAL].pptx by
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxRedWhite12
70 views128 slides
Crypto lecture PDF by
Crypto lecture PDFCrypto lecture PDF
Crypto lecture PDFNedia Hamoudi
509 views29 slides
Reed solomon Encoder and Decoder by
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and DecoderAmeer H Ali
367 views31 slides
PyCon2009_AI_Alt by
PyCon2009_AI_AltPyCon2009_AI_Alt
PyCon2009_AI_AltHiroshi Ono
370 views96 slides
Succesive differntiation by
Succesive differntiationSuccesive differntiation
Succesive differntiationJaydevVadachhak
4.7K views14 slides

Similar to Secure and privacy-preserving data transmission and processing using homomorphic encryption(20)

Introduction to Homomorphic Encryption by hubx
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
hubx682 views
Demystifying Zero Knowledge Proofs [FINAL].pptx by RedWhite12
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptx
RedWhite1270 views
Reed solomon Encoder and Decoder by Ameer H Ali
Reed solomon Encoder and DecoderReed solomon Encoder and Decoder
Reed solomon Encoder and Decoder
Ameer H Ali367 views
PyCon2009_AI_Alt by Hiroshi Ono
PyCon2009_AI_AltPyCon2009_AI_Alt
PyCon2009_AI_Alt
Hiroshi Ono370 views
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un... by Mozaic Works
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Mozaic Works643 views
Alice & bob public key cryptography 101 by Joshua Thijssen
Alice & bob  public key cryptography 101Alice & bob  public key cryptography 101
Alice & bob public key cryptography 101
Joshua Thijssen16.6K views
Cryptography - Discrete Mathematics by ACM-KU
Cryptography - Discrete MathematicsCryptography - Discrete Mathematics
Cryptography - Discrete Mathematics
ACM-KU15.2K views
There are two types of ciphers - Block and Stream. Block is used to .docx by relaine1
There are two types of ciphers - Block and Stream. Block is used to .docxThere are two types of ciphers - Block and Stream. Block is used to .docx
There are two types of ciphers - Block and Stream. Block is used to .docx
relaine13 views
Hash - A probabilistic approach for big data by Luca Mastrostefano
Hash - A probabilistic approach for big dataHash - A probabilistic approach for big data
Hash - A probabilistic approach for big data
Luca Mastrostefano970 views
Advanced Data Visualization in R- Somes Examples. by Dr. Volkan OBAN
Advanced Data Visualization in R- Somes Examples.Advanced Data Visualization in R- Somes Examples.
Advanced Data Visualization in R- Somes Examples.
Dr. Volkan OBAN442 views
Truth, deduction, computation lecture g by Vlad Patryshev
Truth, deduction, computation   lecture gTruth, deduction, computation   lecture g
Truth, deduction, computation lecture g
Vlad Patryshev464 views

More from DefCamp

Remote Yacht Hacking by
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht HackingDefCamp
1.7K views89 slides
Mobile, IoT, Clouds… It’s time to hire your own risk manager! by
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!DefCamp
974 views167 slides
The Charter of Trust by
The Charter of TrustThe Charter of Trust
The Charter of TrustDefCamp
558 views24 slides
Internet Balkanization: Why Are We Raising Borders Online? by
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?DefCamp
309 views22 slides
Bridging the gap between CyberSecurity R&D and UX by
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UXDefCamp
260 views13 slides
Drupalgeddon 2 – Yet Another Weapon for the Attacker by
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDefCamp
269 views35 slides

More from DefCamp(20)

Remote Yacht Hacking by DefCamp
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht Hacking
DefCamp1.7K views
Mobile, IoT, Clouds… It’s time to hire your own risk manager! by DefCamp
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
DefCamp974 views
The Charter of Trust by DefCamp
The Charter of TrustThe Charter of Trust
The Charter of Trust
DefCamp558 views
Internet Balkanization: Why Are We Raising Borders Online? by DefCamp
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?
DefCamp309 views
Bridging the gap between CyberSecurity R&D and UX by DefCamp
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UX
DefCamp260 views
Drupalgeddon 2 – Yet Another Weapon for the Attacker by DefCamp
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
DefCamp269 views
Economical Denial of Sustainability in the Cloud (EDOS) by DefCamp
Economical Denial of Sustainability in the Cloud (EDOS)Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)
DefCamp254 views
Trust, but verify – Bypassing MFA by DefCamp
Trust, but verify – Bypassing MFATrust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFA
DefCamp323 views
Threat Hunting: From Platitudes to Practical Application by DefCamp
Threat Hunting: From Platitudes to Practical ApplicationThreat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical Application
DefCamp218 views
Building application security with 0 money down by DefCamp
Building application security with 0 money downBuilding application security with 0 money down
Building application security with 0 money down
DefCamp179 views
Implementation of information security techniques on modern android based Kio... by DefCamp
Implementation of information security techniques on modern android based Kio...Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...
DefCamp215 views
Lattice based Merkle for post-quantum epoch by DefCamp
Lattice based Merkle for post-quantum epochLattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epoch
DefCamp241 views
The challenge of building a secure and safe digital environment in healthcare by DefCamp
The challenge of building a secure and safe digital environment in healthcareThe challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcare
DefCamp323 views
Timing attacks against web applications: Are they still practical? by DefCamp
Timing attacks against web applications: Are they still practical?Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?
DefCamp258 views
Tor .onions: The Good, The Rotten and The Misconfigured by DefCamp
Tor .onions: The Good, The Rotten and The Misconfigured Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured
DefCamp816 views
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t... by DefCamp
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
DefCamp294 views
We will charge you. How to [b]reach vendor’s network using EV charging station. by DefCamp
We will charge you. How to [b]reach vendor’s network using EV charging station.We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.
DefCamp442 views
Connect & Inspire Cyber Security by DefCamp
Connect & Inspire Cyber SecurityConnect & Inspire Cyber Security
Connect & Inspire Cyber Security
DefCamp290 views
The lions and the watering hole by DefCamp
The lions and the watering holeThe lions and the watering hole
The lions and the watering hole
DefCamp225 views
Catch Me If You Can - Finding APTs in your network by DefCamp
Catch Me If You Can - Finding APTs in your networkCatch Me If You Can - Finding APTs in your network
Catch Me If You Can - Finding APTs in your network
DefCamp304 views

Recently uploaded

Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
225 views86 slides
The Importance of Cybersecurity for Digital Transformation by
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
27 views26 slides
AI: mind, matter, meaning, metaphors, being, becoming, life values by
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life valuesTwain Liu 刘秋艳
35 views16 slides
Empathic Computing: Delivering the Potential of the Metaverse by
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
470 views80 slides
Perth MeetUp November 2023 by
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023 Michael Price
15 views44 slides
Web Dev - 1 PPT.pdf by
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdfgdsczhcet
55 views45 slides

Recently uploaded(20)

Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 views
The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS27 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst470 views
Perth MeetUp November 2023 by Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet55 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab15 views
Future of Learning - Yap Aye Wee.pdf by NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS41 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi120 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Understanding GenAI/LLM and What is Google Offering - Felix Goh by NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS41 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS33 views
Black and White Modern Science Presentation.pptx by maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291614 views

Secure and privacy-preserving data transmission and processing using homomorphic encryption

  • 1. Homomorphic Encryption Secure and privacy-preserving data transmission and processing Dr. Razvan Bocu Transilvania University of Brasov, Romania
  • 2. History Julius Ceasar (100-44 BC) In the beginning, there was symmetric encryption. Message: ATTACK AT DAWN
  • 3. History Julius Ceasar (100-44 BC) Message: ATTACK AT DAWN Key: +3 Ciphertext: ↓↓↓↓↓↓ ↓↓ ↓↓↓↓ DWWDFN DW GDZQ If you had the key, you could encrypt… DWWDFN DW GDZQ
  • 4. History Julius Ceasar (100-44 BC) Ciphertext: DWWDFN DW GDZQ Key: -3 Message: ↓↓↓↓↓↓ ↓↓ ↓↓↓↓ ATTACK AT DAWN If you had the key, you could decrypt… DWWDFN DW GDZQ
  • 5. History Julius Ceasar (100-44 BC) If you had the key, you could decrypt… DWWDFN DW GDZQ Symmetric Encryption: Encryption and Decryption use the same key
  • 6. History Symmetric Encryption: Encryption and Decryption use the same key Vigenere Enigma Claude Shannon and Information Theory 1900-1950
  • 7. History Asymmetric Encryption Merkle, Hellman and Diffie (1976) Shamir, Rivest and Adleman (1978) Encryption uses a public key, Decryption uses the secret key (1970s)
  • 9. History RSA: The first and most popular asymmetric encryption 𝐸 𝑚 = 𝑚 𝑒 (mod 𝑛) D 𝑐 = 𝑐 𝑑 (mod 𝑛)
  • 10. YET… The world was black and white
  • 11. YET… The world was black and white The only thing anyone did with encrypted data was … … decrypt it.
  • 13. Further possible use cases Function f x search query Google searchSearch results x f(x) Driving force: The need for privacy.
  • 14. Computations on Encrypted Data Further possible use cases Function f x Enc(x) Enc(f(x)) Driving force: The need for privacy.
  • 15. Computations on Encrypted Data The algebraic structure in RSA… 𝐸 𝑚1 = 𝑚1 𝑒 𝐸 𝑚2 = 𝑚2 𝑒 Thus, … 𝐸 𝑚1 × 𝐸 𝑚2 = 𝑚1 𝑒 × 𝑚2 𝑒 = (𝑚1 × 𝑚2) 𝑒 = 𝐸(𝑚1 × 𝑚2) 𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2) Multiplicative Homomorphism
  • 16. Computations on Encrypted Data RSA is multiplicatively homomorphic 𝐸 𝑚1 = 𝑚1 𝑒 𝐸 𝑚2 = 𝑚2 𝑒 Ergo … 𝐸 𝑚1 × 𝐸 𝑚2 = 𝑚1 𝑒 × 𝑚2 𝑒 = (𝑚1 × 𝑚2) 𝑒 = 𝐸(𝑚1 × 𝑚2) 𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2) Multiplicative Homomorphism
  • 17. Computations on Encrypted Data RSA is multiplicatively homomorphic 𝐸 𝑚1 = 𝑚1 𝑒 𝐸 𝑚2 = 𝑚2 𝑒 Ergo … 𝐸 𝑚1 × 𝐸 𝑚2 = 𝑚1 𝑒 × 𝑚2 𝑒 = (𝑚1 × 𝑚2) 𝑒 = 𝐸(𝑚1 × 𝑚2) 𝐸 𝑚1 × 𝐸 𝑚2 = 𝐸(𝑚1 × 𝑚2) Multiplicative Homomorphism (but not additively homomorphic)
  • 18. Computations on Encrypted Data Other Encryption systems were additively homomorphic 𝐸 𝑚1 + 𝐸 𝑚2 = 𝐸(𝑚1 + 𝑚2) Additive Homomorphism (but not multiplicatively homomorphic)
  • 19. Computations on Encrypted Data The ultimate goal: computations over encrypted data… … this requires the computation of both sums and products … … over the same encrypted data set!
  • 20. Computations on Encrypted Data XOR 0 XOR 0 1 XOR 0 0 XOR 1 1 XOR 1 0 1 1 0 AND 0 AND 0 1 AND 0 0 AND 1 1 AND 1 0 0 0 1 Why SUMs and PRODUCTs? SUM = PRODUCT =
  • 21. Computations on Encrypted Data XOR 0 XOR 0 1 XOR 0 0 XOR 1 1 XOR 1 0 1 1 0 AND 0 AND 0 1 AND 0 0 AND 1 1 AND 1 0 0 0 1 Considering the system {XOR,AND} is Turing-complete … … any function is a combination of XOR and AND gates
  • 22. Computations on Encrypted Data Considering the system {XOR,AND} is Turing-complete … … any function is a combination of XOR and AND gates Example: Indexing a database 0 1 1 0 DB index i = i1i0 return DBi i0 i1 DB3 DB2 DB0 DB1
  • 23. Corollary Considering the system {XOR,AND} is Turing-complete … … if one can compute sums and products on encrypted bits … one can compute ANY function on encrypted inputs E(x1) E(x2) E(x3) E(x4) E(x3 AND x4)E(x1 XOR x2) E(f(x1,x2,x3,x4))
  • 25. Fully-Homomorphic Encryption! Amazing Applications: Private Cloud Computing Delegate arbitrary processing of data without giving away access to it
  • 27. … until, in October 2008 … … Craig Gentry came up with the first fully homomorphic encryption scheme …
  • 28. What is the mechanism?
  • 29. What kind of mathematical models can we use?
  • 30. What kind of objects can we add and multiply? Polynomials? (𝑥2 + 6𝑥 + 1) + 𝑥2 − 6𝑥 = (2𝑥2 + 1) (𝑥2 + 6𝑥 + 1) X 𝑥2 − 6𝑥 = (𝑥4 − 35𝑥2 − 6𝑥)
  • 31. Polynomials? Matrices? (𝑥2 + 6𝑥 + 1) + 𝑥2 − 6𝑥 = (2𝑥2 + 1) (𝑥2 + 6𝑥 + 1) X 𝑥2 − 6𝑥 = (𝑥4 − 35𝑥2 − 6𝑥) 1 0 1 2 + −1 1 0 1 = 0 1 1 3 1 0 1 2 𝑋 −1 1 0 1 = −1 1 −1 3 What kind of objects can we add and multiply?
  • 32. Polynomials? Matrices? (𝑥2 + 6𝑥 + 1) + 𝑥2 − 6𝑥 = (2𝑥2 + 1) (𝑥2 + 6𝑥 + 1) X 𝑥2 − 6𝑥 = (𝑥4 − 35𝑥2 − 6𝑥) Maybe integers?!? 3 + 4 = 7 3 X 4 = 12 1 0 1 2 + −1 1 0 1 = 0 1 1 3 1 0 1 2 𝑋 −1 1 0 1 = −1 1 −1 3 What kind of objects can we add and multiply?
  • 33. Nowadays, in use: Symmetric Encryption
  • 34. Secret key: large odd number p 0 p 2p 3p-3p -2p -p
  • 35. Secret key: large odd number p To Encrypt a bit b: – choose a (preferably random) “large” multiple of p, say q·p 0 p 2p 3p-3p -2p -p
  • 36. Secret key: large odd number p To Encrypt a bit b: – choose a (preferably random) “large” multiple of p, say q·p – choose a (preferably random) “small” number 2·r+b 0 p 2p 3p-3p -2p -p (this is even if b=0, and odd if b=1) the “noise” = 2·r+b
  • 37. Secret key: large odd number p To Encrypt a bit b: – choose a (preferably random) “large” multiple of p, say q·p – choose a (preferably random) “small” number 2·r+b – Resulting ciphertext: c = q·p+2·r+b 0 p 2p 3p-3p -2p -p (this is even if b=0, and odd if b=1) the “noise” = 2·r+b
  • 38. Secret key: large odd number p To Encrypt a bit b: – choose a (preferably random) “large” multiple of p, say q·p – choose a (preferably random) “small” number 2·r+b – Resulting ciphertext: c = q·p+2·r+b 0 p 2p 3p-3p -2p -p (this is even if b=0, and odd if b=1) the “noise” = 2·r+b To Decrypt a ciphertext c: Applying the operation c mod p recovers the noise
  • 39. How safe is this model? If there was no noise (r=0) 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b … and one provides two encryptions of 0 (q1p & q2p) … then the secret key p can be recovered GCD_attack(q1p, q2p) Greatest common divisor Coppersmith’s attack
  • 40. How safe is this model? If there is noise 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b … the GCD attack doesn’t work … and neither does any conventional attack  the approximate GCD assumption
  • 41. XOR operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) – c2 = q2·p + (2·r2 + b2)
  • 42. XOR operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) – c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) – c2 = q2·p + (2·r2 + b2)
  • 43. XOR operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) – c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) Odd if b1=0, b2=1 (or) b1=1, b2=0 Even if b1=0, b2=0 (or) b1=1, b2=1 – c2 = q2·p + (2·r2 + b2)
  • 44. XOR operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) – c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) least_significant_bit= b1 XOR b2 – c2 = q2·p + (2·r2 + b2)
  • 45. AND operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) – c2 = q2·p + (2·r2 + b2) – c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
  • 46. AND operations on two encrypted bits: 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b – c1 = q1·p + (2·r1 + b1) least_significant_bit= b1 AND b2 – c2 = q2·p + (2·r2 + b2) – c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
  • 47. 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b The noise increases!
  • 48. 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b The noise increases! – c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) noise= 2 * (initial noise)
  • 49. 0 p 2p 3p-3p -2p -p the “noise” = 2·r+b The noise increases! – c1+c2 = p·(q1 + q2) + 2·(r1+r2) + (b1+b2) noise= 2 * (initial noise) noise = (initial noise)2 – c1c2 = p·(c2·q1+c1·q2-q1·q2) + 2·(r1r2+r1b2+r2b1) + b1b2
  • 50. 0 17 34 51-51 -34 -17 noise=-14 The noise increases! Why does this matter? 20
  • 51. 0 17 34 51-51 -34 -17 noise=-14 The noise increases! Why does this matter? 20 decryption will recover noise’=3
  • 52. 0 17 34 51-51 -34 -17 noise=-14 The noise increases! Why does this matter? 20 If the |noise| > p/2, then: Decryption will output an incorrect bit! decryption will recover noise’=3
  • 53. The accomplishment … Possibility to do lots of additions and … some multiplications (= a “somewhat homomorphic” encryption)
  • 54. The accomplishment … … we can do lots of additions and … some multiplications It is enough to do many useful tasks, such as, database search, spam filtering etc. (= a “somewhat homomorphic” encryption)
  • 55. The accomplishment ... … we can do lots of additions and … some multiplications … enough to do many useful tasks, e.g., database search, spam filtering etc. But, there is much more … (= a “somewhat homomorphic” encryption)
  • 56. RSA&friends MANY mult ZERO add Fully homomorphic MANY additions MANY multiplications WE ARE HERE!
  • 57. Fully homomorphic MANY add MANY mult WE ARE HERE! [bootstrapping] How is this possible? The “bootstrapping method” Principle: If you can go a (large) part of the way, then you can go all the way. RSA&friends MANY mult ZERO add
  • 59. Noise after some sums and products noise=0 noise=p/2 The “bootstrapping method”
  • 60. noise=0 noise=p/2 Bootstrapping = “Valve” at a fixed height The “bootstrapping method”
  • 61. noise=0 noise=p/2 Bootstrapping = “Valve” at a fixed height The “bootstrapping method”
  • 62. noise=0 noise=p/2 … repeat until done The “bootstrapping method”
  • 63. noise=0 noise=p/2 … repeat until done The “bootstrapping method”
  • 64.  Lots of new Encryption Schemes … simpler, more secure, more efficient  Dramatic Efficiency Improvements 1 100 10000 1000000 2011 2010 2009 Time (in millisec) for a basic operation
  • 65. Gentry’s “bootstrapping method” … The same principle: if you can go a (large) part of the way, you probably can go all the way. noise=0 noise=p/2
  • 66. Gentry’s “bootstrapping method” … The same principle: if you can go a (large) part of the way, you probably can go all the way. noise=0 noise=p/2 Issue to address: Addition and Multiplication increase noise (Addition doubles, Multiplication squares the noise)
  • 67. Gentry’s “bootstrapping method” … The same principle: if you can go a (large) part of the way, you probably can go all the way. noise=0 noise=p/2 Issue to address: Addition and Multiplication increase noise (Addition doubles, Multiplication squares the noise) Goal: noise reduction
  • 68. noise=0 noise=p/2 Reflection topic What is the best noise-reduction procedure?
  • 69. noise=0 noise=p/2 Reflection topic What is the best noise-reduction procedure? … To get rid of all the noise.
  • 70. noise=0 noise=p/2 Reflection topic What is the best noise-reduction procedure? … To get rid of all the noise, … and computationally optimal recover the original message.
  • 71. noise=0 noise=p/2 Reflection topic … What is the best noise-reduction procedure? … To get rid of all the noise … and computationally optimal recover the original message Direct Decryption!
  • 72. noise=0 noise=p/2 Reflection topic … What is the best noise-reduction procedure? … To get rid of all the noise … and computational optimal recover the original message Direct Decryption! Ctxt = Enc(b) Secret key Decrypt b
  • 73. noise=0 noise=p/2 Reflection topic … What is the best noise-reduction procedure? … To get rid of all the noise … and computationally optimal recover the original message Direct Decryption! Secret key Decrypt bFunction that acts on ciphertext and eliminates noise Ctxt = Enc(b)
  • 74. noise=0 noise=p/2 Reflection topic … What is the best noise-reduction procedure? … To get rid of all the noise … and computationally optimal recover the message Decryption! Secret key Decrypt b Ctxt = Enc(b) But I can’t give the secret key out for free!
  • 75. noise=0 noise=p/2 Reflection topic Secret key Decrypt b But I can’t give the secret key out for free! Ctxt = Enc(b) Goal: I want to reduce noise without letting you decrypt
  • 76. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Secret key Decrypt b Ctxt = Enc(b)
  • 77. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) This is called “Circular Encryption” Secret key Decrypt b Ctxt = Enc(b)
  • 78. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) This is called “Circular Encryption” Decrypt b Ctxt = Enc(b) Enc(Secret key)
  • 79. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt b … Homomorphically evaluate the decryption circuit!!! Ctxt = Enc(b) In order to reduce noise …
  • 80. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt … Homomorphically evaluate the decryption circuit!!! Ctxt = Enc(b) In order to reduce noise … Enc(b)
  • 81. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt … Homomorphically evaluate the decryption circuit!!! Ctxt = Enc(b) In order to reduce noise … Enc(b)
  • 82. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt The input Enc(b) and output Enc(b) have different noise levels. Ctxt = Enc(b) KEY OBSERVATION: Enc(b)
  • 83. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt Regardless of the noise in the input Enc(b), Ctxt = Enc(b) KEY OBSERVATION: Enc(b) the noise level in the output Enc(b) is FIXED.
  • 84. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt Regardless of the noise in the input Enc(b), Ctxt = Enc(b) KEY OBSERVATION: Enc(b) the noise level in the output Enc(b) is FIXED.
  • 85. noise=0 noise=p/2 KEY IDEA I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt Regardless of the noise in the input Enc(b), Ctxt = Enc(b) KEY OBSERVATION: Enc(b) the noise level in the output Enc(b) is FIXED.
  • 86. noise=0 noise=p/2 KEY IDEA … I cannot release the secret key (or else, everyone sees my data) … but I can release Enc(secret key) Enc(Secret key) Decrypt Regardless of the noise in the input Enc(b), Ctxt = Enc(b) KEY OBSERVATION: Enc(b) the noise level in the output Enc(b) is FIXED.
  • 87. Long story short: whenever noise level increases beyond a limit … noise=0 noise=p/2 … use bootstrapping to reset it to a fixed level
  • 88. noise=0 noise=p/2 Bootstrapping requires the homomorphic evaluation of the decryption circuit.
  • 89. noise=0 noise=p/2 Thus, Gentry’s “bootstrapping theorem”: If an enc scheme can evaluate its own decryption circuit, then it can evaluate everything
  • 90. Real world use case Reference paper: • R., Bocu, C., Costache, A Homomorphic Encryption-Based System for Securely Managing Personal Health Metrics Data, IBM Journal of Research and Development ISSN 0018-8646, Volume 62, Issue 1, 2018, pp. 1:1-1:10. • Use case: the convenient and full privacy preserving collection, transportation, processing, analysis, and storage of personal health information (PHI). • Software system: SafeBioMetrics – this system addresses the four essential requirements, the biomedical data collection at the user’s end, its transfer to the storage and processing backend, the proper and secure storage of this data, and its privacy-preserving processing. • Distinctive feature: clear separation between the long-term data storage and data processing paths. The system can easily accommodate any use case that involves the data collection through sensors and mobile devices at the user’s side.
  • 92. System features • Data privacy assured during all four stages: data collection, data transmission, data storage, FHE-based data processing. • Data storage and processing backend is deployed in the cloud (in this case, IBM Bluemix, but any other cloud platform is fine). • The collected data is efficiently store in the cloud (in this case, the relevant service is IBM Cloudant, but any other similar cloud service is fine). • The FHE computations are performed using Apache Spark, but any other computing service may be adapted and used. • The processing events are intercepted, and the proper actions triggered using a programming service (in this case, IBM OpenWhisk, but any other similar service may be adapted). • Advantages • Any use case that involves the safe (private) processing of sensitive data can benefit from the usage of this model. • The approach offloads the expensive processing operations to the cloud infrastructure, while keeping intact the data privacy. • The model is fully customizable and adaptable to various use cases and hardware/software infrastructures.
  • 93. FHE Core Model – Supported Operations • Homomorphic addition (+h) – It takes as operands two ciphertexts, which correspond to a slot wise XOR operation of the related plaintext elements. • Homomorphic multiplication (Xh) – It takes as operands two ciphertexts, which correspond to a slot wise AND operation of the related plaintext elements. • Homomorphic rotate (<<<h, >>>h) – This essentially provides the possibility to rotate the data elements’ slots. The concept of slots refers to the storage bits that determine the data elements processed by the rotate operation. • Homomorphic select (selmask) – It has the role to correct the potentially altered slots (bits) of the data elements after the rotate operation. It preserves the data consistency during the fully homomorphic encryption process.
  • 94. FHE Core Model – The Level • The level (L) – It must be determined before starting any computation instruction. • The level L is calibrated considering the depth of the multiplication operations to be performed in the given computational context. • This parameter assures the accuracy of the FHE operations’ results. • The multiplication increments by 1 the level L of the operation. • The depth of the multiplication operations determines the value of the calibrated level L. • This operation considers a number of NCT ciphertexts, which encrypt an array with n bits that stores the relevant data (in the case of the SafeBioMetrics, the cardiac rhythm data). • The computationally expensive multiplication operations should be reduced. • Consequently, the depth of the multiplication operations is reduced, in order to achieve an optimal calibration of the level L.
  • 96. Optimized FHE Scheme (cont’d) • The data storage and processing backend efficiently and safely computes the received data. • The efficient incorporation of the FHE routines into the SafeBioMetrics system relies on the utilization of the communication data path illustrated in the previous slide (the top data path). • Each bit of the plaintext data is properly packed into the respective plaintext message. • The ciphertext is generated through an FHE model considering the top data path steps. • The bottom data path in the figure implies that the input data is translated into a binary format, which is efficiently understood by the CPU. This is achieved using the computation (fc(.)) and aggregation (fa(.)) functions from the bottom data processing path. • The binary data is processed using a parallel single instruction, multiple data (SIMD) model. • The four operations already mentioned are fully supported.
  • 97. Test Use Case •The detection of three medical conditions has been considered: the average heart rate, the delayed repolarization of the heart, the minimum and maximum heart rates. •Outcomes: • The model performed well considering the detection of all three medical conditions. • The resulted performance metrics prove that the system is time and resources efficient. • The data privacy can be preserved, even if the hosting (cloud) environment is affected by a security incident (e.g., unauthorized access by an employee or hacker, CPU vulnerability issues, etc.). • The amount of transferred data depends arithmetically on the size of the encrypted data.
  • 98. Performance Metrics (1) - Explanation • Network capacity: XFERIN (the amount of data transferred from the client devices to the backend), XFEROUT (the amount of data that is transferred from the backend to the client devices). • Storage ratio (SR): this assesses the amount of storage that is necessary to store one byte of plaintext data in a FHE format. As an example, if SR=500, there are necessary 500 bytes in order to store one plaintext byte in the FHE format. • Processing speed (PS): This is defined through the ratio PS=PTO / PIN. Here, the numerator represents the amount of time to send the data from the client device to the backend, while the denominator is the amount of time that is required by the backend to process the received data. • NCT: The number of the involved ciphertexts. • Level L: The value of the calibration parameter.
  • 100. Performance metrics (3) – DRHS Condition
  • 101. Test Use Case - Conclusions • Flexible and decoupled architecture – the system is capable of accommodating most of the existing and, with a high probability, future client-side data collection devices. • SafeBioMetrics demonstrates that it is perfectly possible to sustain a completely secure, privacy preserving and resource efficient data management over large amounts of data. • This case study demonstrates that fully homomorphic encryption is useable in order to secure a system like SafeBioMetrics. • This model can be adapted to any other use case, which involves the processing of large amounts of sensitive data.

Editor's Notes

  1. Timeline – add, already gives voting, …. Quadratic formulas, gives more efficient PIR …. That’s where we were stuck…. Gallant attempts – Fellows and Koblitz (People believed this was impossible. … ) Show all kinds of newspaper clips.. Ref Gentry… also refer to later works. What it is – And what it is not – but we are getting there.
  2. What is the simplest object that we can both add and mult?
  3. What is the simplest object that we can both add and mult?
  4. What is the simplest object that we can both add and mult?
  5. How do you add and multiply?
  6. How do you add and multiply?
  7. How do you add and multiply?
  8. How do you add and multiply?
  9. How do you add and multiply?
  10. How do you add and multiply?
  11. How do you add and multiply?
  12. How do you add and multiply?
  13. How do you add and multiply?
  14. How do you add and multiply?
  15. How do you add and multiply?
  16. How do you add and multiply?
  17. How do you add and multiply?
  18. How do you add and multiply?
  19. How do you add and multiply?
  20. How do you add and multiply?
  21. How do you add and multiply?
  22. How do you add and multiply?
  23. How do you add and multiply?
  24. How do you add and multiply?
  25. How do you add and multiply?
  26. How do you add and multiply?
  27. How do you add and multiply?
  28. How do you add and multiply?
  29. How do you add and multiply?
  30. How do you add and multiply?
  31. How do you add and multiply?
  32. How do you add and multiply?
  33. How do you add and multiply?
  34. How do you add and multiply?
  35. How do you add and multiply?
  36. How do you add and multiply?
  37. How do you add and multiply?