Академический Документы
Профессиональный Документы
Культура Документы
Homomorphic Cryptography
Deepak Babu Sam
Sushant Mahajan
Nikhil George
IIT Bombay
April 4, 2014
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
SUMMARY
BASICS
Homomorphic Encryption
Applications in Cloud Computing
More Denitions
Simple Schemes can be Homomorphic
PARTIAL HOMOMORPHISM
A Partial Homomorphic Scheme
Parameters
BOOTSTRAPPING
Bootsrappable Encryption
COMPLETE HOMOMORPHISM
Basics
Keys
Cipher
Parameters
Functions
DEMO
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
HOMOMORPHIC ENCRYPTION
Denition
Homomorphic encryption is a form of encryption which allows specic types
of computations to be carried out on ciphertext and generate an encrypted re-
sult which, when decrypted, matches the result of operations performed on the
plaintext.
In simple words!!
f (P
1
, P
2
, ...P
n
) = Decrypt(f (Encrypt(P
1
), Encrypt(P
2
), ..., Encrypt(P
n
)))
P
i
Plain text
f an n-ary function
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
APPLICATIONS IN CLOUD COMPUTING
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
FUNCTIONS
Normal Cryptography
KeyGen()
Encrypt(p, pk)
Decrypt(c, sk)
Homomorphic Cryptography
KeyGen()
Encrypt(p, pk)
Decrypt(c, sk)
Evaluate(< c1, ..cn >, f , pk)
We claim if c
1
= Encrypt(m
1
) and c
2
= Encrypt(m
2
)
Addition between c
1
and c
2
is homomorphic to
Addition(XOR) between m
1
and m
2
Multiplication between c
1
and c
2
is homomorphic to
multiplication(AND) between m
1
and m
2
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
SIMPLE SCHEMES CAN BE HOMOMORPHIC
Lets check addition
Key: p=7
Encrypt m
1
: q = 4, r = 1 c
1
= 30 +m1
Encrypt m
2
: q = 6, r = 1 c
2
= 44 +m2
Addition: c
1
+c
2
= 74 +m1 +m2
iS
i
Cipher Text
) such that
their sum is 1/p
Note that at any point, s.Z gives c/p, this is used for
decryption.
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
PARAMETERS
These are parameters that determine the sizes of the keys
Parameters
, Y) where Y is a bit
vector such that s.Y = 1/p
Encrypt(pk,m): Generate c
, Z) where Z = c
as before.
Output a pair (c
, Z) where Z = c
Decrypt(sk,c): Calculate m = (c
s.Z) mod 2
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
PERFORMANCE WITHOUT BOOTSTRAPPING
Operation Time (Sec)
3 bit addition 0.00849294662476
4 bit addition 0.0148079395294
5 bit addition 0.0200610160828
6 bit addition 0.0252559185028
7 bit addition 0.0328199863434
8 bit addition 0.0364289283752
3 bit multiplication 0.0477869510651
4 bit multiplication 0.102718114853
5 bit multiplication 0.17649102211
6 bit multiplication 0.276554107666
7 bit multiplication 0.386368989944
8 bit multiplication 0.514411211014
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
PERFORMANCE WITH BOOTSTRAPPING
Operation Time (Sec)
3 bit addition 24.0433769226
4 bit addition 39.5260438919
5 bit addition 57.569133997
6 bit addition 71.8706359863
7 bit addition 91.5514998436
8 bit addition 106.403455019
3 bit multiplication 132.176811934
4 bit multiplication 273.399508953
5 bit multiplication 469.853643894
6 bit multiplication 721.54058814
7 bit multiplication 1020.81985712
8 bit multiplication 1361.10715199
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
PERFORMANCE WITH MODERATE BOOTSTRAPPING
Operation Time (Sec)
3 bit addition 4.77270793915
4 bit addition 4.93928003311
5 bit addition 10.1200909615
6 bit addition 20.0205738544
7 bit addition 24.1529259682
8 bit addition 24.2124249935
3 bit multiplication 34.0962469578
4 bit multiplication 69.1047542095
5 bit multiplication 120.915575981
6 bit multiplication 192.994705915
7 bit multiplication 274.399580956
8 bit multiplication 362.931727886
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU
BASICS PARTIAL HOMOMORPHISM BOOTSTRAPPING COMPLETE HOMOMORPHISM DEMO THANK YOU