BCSE309L - Cryptography and
Network Security
Module 3
Asymmetric Encryption Algorithm and
Key Exchange
Dr. S. Renuka Devi
Professor
SCOPE
VIT Chennai Campus
1
Module Outline
Diffie-Hellman Key Exchange
Man-in-the-middle attack
Distribution of Public Keys
Elliptic Curve Cryptography
2
Diffie-Hellman Key Exchange
Purpose - to enable two users to securely
exchange a key that can then be used for
subsequent encryption of messages
Limited to the exchange of secret values
It depends for its effectiveness on the difficulty
of computing discrete logarithms
A primitive root of a prime number is defined as
one whose powers modulo p generate all the
integers from 1 to p-1. 3
Diffie-Hellman Key Exchange
That is, if ‘a’ is a primitive root of the prime
number p, then the numbers
a mod p, a2 mod p, …. , ap-1 mod p
are distinct and consist of the integers from 1
through p-1 in some permutation
For any integer ‘b’ and a primitive root ‘a’ of prime
number, we can find a unique exponent such that
b ≡ ai mod p where 0 ≤ i ≤ (p-1)
The exponent ‘i’ is referred to as the discrete
logarithm of b for the base a, mod p. 4
5
6
Diffie-Hellman Key Exchange
The calculations at two parties produce identical
results
7
Diffie-Hellman Key Exchange
The security of the Diffie-Hellman key
exchange lies in the fact that, while it is
relatively easy to calculate exponentials
modulo a prime, it is very difficult to calculate
discrete logarithms
For large primes, the latter task is considered
infeasible
8
Diffie-Hellman Key Exchange
It does not protect against replay attacks
It is insecure against a man-in-the-middle
attack
This vulnerability can be overcome with
the use of digital signatures and public-
key certificates
9
Man-in-the-middle Attack
10
Man-in-the-middle Attack
11
Distribution of Public keys
12
Public Announcement of Public Keys
Any participant can send his or her public key
to any other participant or broadcast the key
to the community at large
Major weakness - Anyone can forge such a
public announcement
13
Publicly Available Directory
Maintaining a publicly available dynamic directory of
public keys by some trusted entity or organization
The authority maintains a directory with a {name, public
key} entry for each participant
Each participant registers a public key with the directory
authority. Registration would have to be in person or by
some form of secure authenticated communication
A participant may replace the existing key with a new
one at any time
Participants could also access the directory electronically
through secure, authenticated communication
14
Publicly Available Directory
15
Public-Key Authority
16
Public-Key Certificates
17
Elliptic Curve Cryptography
18
Elliptic Curve Arithmetic
The principal attraction of ECC, compared to RSA,
is that it appears to offer equal security for a far
smaller key size, thereby reducing processing
overhead
An elliptic curve is defined by an equation in two
variables with coefficients
For cryptography, the variables and coefficients
are restricted to elements in a finite field ( finite
abelian group)
19
Abelian group
An abelian group G, sometimes denoted by {G, . },
is a set of elements with a binary operation,
denoted by ‘.’ , that associates to each ordered
pair (a, b) of elements in G an element (a . b) in G,
such that the following axioms are obeyed:
(A1) Closure: If a and b belong to G, then a . b is
also in G.
(A2) Associative: a . (b . c) = (a . b) . c for all a, b,
c in G.
(A3) Identity element: There is an element e in G
such that a . e = e . a = a for all a in G.
(A4) Inverse element: For each a in G there is an
element a′ in G such that a . a′ = a′ . a = e.
(A5) Commutative: a . b = b . a for all a, b in G 20
Elliptic Curve Arithmetic
Cubic equations for elliptic curves take the
following form
For given values of a and b, the plot consists of
positive and negative values of y for each value of x.
Thus, each curve is symmetric about y=0
21
Elliptic Curve Arithmetic
22
Elliptic Curve Arithmetic
To define the group, we must define an operation, called addition and
denoted by +,for the set E(a,b) where a and b satisfy the following
equation
4a3 + 27b2 ≠ 0
In geometric terms, the rules for addition can be stated as follows: If three
points on an elliptic curve lie on a straight line, their sum is O
ECC makes use of elliptic curves in which the variables and coefficients
are all restricted to elements of a finite field
23
Elliptic Curve Arithmetic
Two families of elliptic curves are used
prime curves over Z
p
Binary curves over GF(2m)
For a prime curve over Zp , we use a cubic equation
in which the variables and coefficients all take on
values in the set of integers from 0 through p – 1
For a binary curve defined over GF(2m), the
variables and coefficients all take on values in
GF(2m) and in calculations are performed over
GF(2m) 24
Elliptic curves over Zp
For elliptic curves over Zp, the euation is
y2 mod p = (x3 + ax + b) mod p
25
Rules for addition over Ep(a, b)
26
ECC Diffie-Hellman Key exchange
* The order n of a point G on an elliptic curve is the smallest positive integer n such that nG = 0 27
ECC Diffie-Hellman Key
exchange
28
Elliptic Curve Encryption
An encryption/decryption system requires a
Point G and an elliptic group Eq(a,b) as
parameters
Each user A selects a private key nA and
generates a public key PA = nA * G.
To encrypt and send a message Pm to B, A
chooses a random positive integer k and
produces the ciphertext Cm consisting of the
pair of points: 29
Elliptic Curve Decryption
To decrypt the ciphertext, B multiplies the first
point in the pair by B’s secret key and
subtracts the result from the second point:
30
Homomorphic Encryption
Homomorphic refers to homomorphism in algebra (a
structure-preserving map between two algebraic
structures of the same type such as two groups, two rings,
or two vector spaces)
The encryption and decryption functions can be thought of
as homomorphisms between plaintext and ciphertext
spaces
Homomorphic encryption is a form of encryption that
allows computations to be performed on encrypted data
without first having to decrypt it
The resulting computations are left in an encrypted form.
When decrypted, result in an output is identical to the
operations been performed on the unencrypted data
31
Homomorphic Encryption
Homomorphic encryption can be either additive or
multiplicative
Enabling an infinite number of additions or multiplications to
encrypted data is difficult. However, homomorphic encryption
can be divided into different types of encryption, depending on
how it's designed
If an algorithm is additively homomorphic, then adding two
ciphertexts together provides the same result as encrypting
the sum of the two plaintexts
Likewise, if an algorithm is multiplicatively homomorphic, then
multiplying two encrypted ciphertexts with the same key is
equivalent to raising the product of plaintexts to the power of a
secret key
32
Types of Homomorphic Encryption
Partially homomorphic encryption - A defined operation can
be performed infinite times on the ciphertext. These
encryption schemes are relatively easy to design
Somewhat homomorphic encryption - A limited number of
addition or multiplication operations are allowed, as
opposed to an infinite number of one operation
Fully homomorphic encryption (FHE) - An infinite number of
additions or multiplications for ciphertexts is enabled
33
Types of Homomorphic Encryption
34
Applications of Homomorphic
Encryption
Homomorphic encryption can be used for
privacy-preserving outsourced storage and
computation
This allows data to be encrypted and out-sourced to
commercial cloud environments for processing
Predictive analytics in health care
E-cash system
Handling of user data in social media
35
References
Cryptography and Network Security Principles
And Practice, William Stallings, 5e , Pearson
Education, 2011
https://www.techtarget.com/searchsecurity/def
inition/homomorphic-encryption
https://www.splunk.com/en_us/blog/learn/hom
omorphic-encryption.html
36
Thank you
37